Tak Hoffman
8a352c8f9d
Web UI: add token usage dashboard ( #10072 )
...
* feat(ui): Token Usage dashboard with session analytics
Adds a comprehensive Token Usage view to the dashboard:
Backend:
- Extended session-cost-usage.ts with per-session daily breakdown
- Added date range filtering (startMs/endMs) to API endpoints
- New sessions.usage, sessions.usage.timeseries, sessions.usage.logs endpoints
- Cost breakdown by token type (input/output/cache read/write)
Frontend:
- Two-column layout: Daily chart + breakdown | Sessions list
- Interactive daily bar chart with click-to-filter and shift-click range select
- Session detail panel with usage timeline, conversation logs, context weight
- Filter chips for active day/session selections
- Toggle between tokens/cost view modes (default: cost)
- Responsive design for smaller screens
UX improvements:
- 21-day default date range
- Debounced date input (400ms)
- Session list shows filtered totals when days selected
- Context weight breakdown shows skills, tools, files contribution
* fix(ui): restore gatewayUrl validation and syncUrlWithSessionKey signature
- Restore normalizeGatewayUrl() to validate ws:/wss: protocol
- Restore isTopLevelWindow() guard for iframe security
- Revert syncUrlWithSessionKey signature (host param was unused)
* feat(ui): Token Usage dashboard with session analytics
Adds a comprehensive Token Usage view to the dashboard:
Backend:
- Extended session-cost-usage.ts with per-session daily breakdown
- Added date range filtering (startMs/endMs) to API endpoints
- New sessions.usage, sessions.usage.timeseries, sessions.usage.logs endpoints
- Cost breakdown by token type (input/output/cache read/write)
Frontend:
- Two-column layout: Daily chart + breakdown | Sessions list
- Interactive daily bar chart with click-to-filter and shift-click range select
- Session detail panel with usage timeline, conversation logs, context weight
- Filter chips for active day/session selections
- Toggle between tokens/cost view modes (default: cost)
- Responsive design for smaller screens
UX improvements:
- 21-day default date range
- Debounced date input (400ms)
- Session list shows filtered totals when days selected
- Context weight breakdown shows skills, tools, files contribution
* fix: usage dashboard data + cost handling (#8462 ) (thanks @mcinteerj)
* Usage: enrich metrics dashboard
* Usage: add latency + model trends
* Gateway: improve usage log parsing
* UI: add usage query helpers
* UI: client-side usage filter + debounce
* Build: harden write-cli-compat timing
* UI: add conversation log filters
* UI: fix usage dashboard lint + state
* Web UI: default usage dates to local day
* Protocol: sync session usage params (#8462 ) (thanks @mcinteerj, @TakHoffman)
---------
Co-authored-by: Jake McInteer <mcinteerj@gmail.com >
2026-02-05 22:35:46 -06:00
Gustavo Madeira Santana
4629054403
chore: apply local workspace updates ( #9911 )
...
* chore: apply local workspace updates
* fix: resolve prep findings after rebase (#9898 ) (thanks @gumadeiras)
* refactor: centralize model allowlist normalization (#9898 ) (thanks @gumadeiras)
* fix: guard model allowlist initialization (#9911 )
* docs: update changelog scope for #9911
* docs: remove model names from changelog entry (#9911 )
* fix: satisfy type-aware lint in model allowlist (#9911 )
2026-02-05 16:54:44 -05:00
Peter Steinberger
5031b283a5
chore: bump version to 2026.2.4
2026-02-05 00:38:50 -08:00
Peter Steinberger
cfdc551346
fix(mac): resolve cron schedule formatters
2026-02-04 17:55:13 -08:00
Tyler Yust
f8d2534062
fix(cron): fix test failures and regenerate protocol files
...
- Add forceReload option to ensureLoaded to avoid stat I/O in normal
paths while still detecting cross-service writes in the timer path
- Post isolated job summary back to main session (restores the old
isolation.postToMainPrefix behavior via delivery model)
- Update legacy migration tests to check delivery.channel instead of
payload.channel (normalization now moves delivery fields to top-level)
- Remove legacy deliver/channel/to/bestEffortDeliver from payload schema
- Update protocol conformance test for delivery modes
- Regenerate GatewayModels.swift (isolation -> delivery)
2026-02-04 01:03:59 -08:00
Tyler Yust
246896d64b
refactor(cron): improve delivery configuration handling in CronJobEditor and CLI
...
- Enhanced the delivery configuration logic in CronJobEditor to explicitly set the bestEffort property based on job settings.
- Refactored the CLI command to streamline delivery object creation, ensuring proper handling of optional fields like channel and to.
- Improved code readability and maintainability by restructuring delivery assignment logic.
This update clarifies the delivery configuration process, enhancing the reliability of job settings in both the editor and CLI.
2026-02-04 01:03:59 -08:00
Tyler Yust
3f82daefd8
feat(cron): enhance delivery modes and job configuration
...
- Updated isolated cron jobs to support new delivery modes: `announce` and `none`, improving output management.
- Refactored job configuration to remove legacy fields and streamline delivery settings.
- Enhanced the `CronJobEditor` UI to reflect changes in delivery options, including a new segmented control for delivery mode selection.
- Updated documentation to clarify the new delivery configurations and their implications for job execution.
- Improved tests to validate the new delivery behavior and ensure backward compatibility with legacy settings.
This update provides users with greater flexibility in managing how isolated jobs deliver their outputs, enhancing overall usability and clarity in job configurations.
2026-02-04 01:03:59 -08:00
Peter Steinberger
e4b084c762
chore: bump version to 2026.2.3
2026-02-03 18:33:27 -08:00
Peter Steinberger
1c4db91593
chore: prepare 2026.2.2 release
2026-02-03 10:02:01 -08:00
Gustavo Madeira Santana
ac2b71f240
chore: fix CI
2026-02-02 21:44:31 -05:00
Mariano Belinky
4ab814fd50
Revert "iOS: wire node services and tests"
...
This reverts commit 7b0a0f3dac .
2026-02-02 17:36:49 +00:00
Mariano Belinky
37eaca719a
Core: update shared gateway models
2026-02-02 16:42:18 +00:00
Peter Steinberger
85cd55e22b
chore: bump to 2026.2.1
2026-02-02 08:51:54 +00:00
Peter Steinberger
4f2166c503
chore: update appcast for 2026.1.30
2026-01-31 14:31:00 +01:00
Peter Steinberger
b9b94715fa
fix: avoid stderr backpressure in macOS discovery ( #3304 ) (thanks @abhijeet117)
2026-01-31 12:03:30 +01:00
abhijeet117
efb93d18cf
Fix potential subprocess hang by discarding stderr pipe
2026-01-31 12:03:30 +01:00
Peter Steinberger
247fab47ca
chore: bump version to 2026.1.30
2026-01-31 11:37:36 +01:00
cpojer
76361ae3ab
revert: Switch back to tsc for compiling.
2026-01-31 18:31:49 +09:00
cpojer
67945e8d62
chore: Switch from TypeScript to build with tsdown, speeds up pnpm build by 5-10x.
2026-01-31 15:25:37 +09:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
cb4b3f74b5
chore(release): bump versions to 2026.1.29
2026-01-29 16:48:13 +00:00
Peter Steinberger
8d07955f2c
chore: bump beta version to 2026.1.27-beta.1
2026-01-28 01:28:16 +01:00
Alex Fallah
cf5ed4b5a4
chore: update Package.resolved after dependency resolution
2026-01-27 14:17:20 -06:00
Alex Fallah
d33cd45061
fix(macOS): rename Clawdbot directories to Moltbot for naming consistency
...
Directory renames:
- apps/macos/Sources/Clawdbot → Moltbot
- apps/macos/Sources/ClawdbotDiscovery → MoltbotDiscovery
- apps/macos/Sources/ClawdbotIPC → MoltbotIPC
- apps/macos/Sources/ClawdbotMacCLI → MoltbotMacCLI
- apps/macos/Sources/ClawdbotProtocol → MoltbotProtocol
- apps/macos/Tests/ClawdbotIPCTests → MoltbotIPCTests
- apps/shared/ClawdbotKit → MoltbotKit
- apps/shared/MoltbotKit/Sources/Clawdbot* → Moltbot*
- apps/shared/MoltbotKit/Tests/ClawdbotKitTests → MoltbotKitTests
Resource renames:
- Clawdbot.icns → Moltbot.icns
Code fixes:
- Update Package.swift paths to reference Moltbot* directories
- Fix clawdbot* → moltbot* symbol references in Swift code:
- clawdbotManagedPaths → moltbotManagedPaths
- clawdbotExecutable → moltbotExecutable
- clawdbotCommand → moltbotCommand
- clawdbotNodeCommand → moltbotNodeCommand
- clawdbotOAuthDirEnv → moltbotOAuthDirEnv
- clawdbotSelectSettingsTab → moltbotSelectSettingsTab
2026-01-27 14:17:20 -06:00
Shadow
c1a7917de7
Mac: finish Moltbot rename (paths)
2026-01-27 14:12:47 -06:00
Shadow
cc72498b46
Mac: finish Moltbot rename
2026-01-27 14:12:17 -06:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
83460df96f
chore: update molt.bot domains
2026-01-27 12:21:01 +00:00
Peter Steinberger
72fea5e305
chore: bump version to 2026.1.26
2026-01-27 09:10:47 +00:00
Peter Steinberger
1b219cc5cb
fix(macos): gate project-local node_modules bins to DEBUG
2026-01-27 04:17:40 +00:00
Peter Steinberger
fb14146033
fix: harden ssh target handling
2026-01-26 21:11:48 +00:00
Shadow
8b91ceb7c9
macOS: preserve custom SSH usernames ( #2046 )
...
Co-authored-by: Alexis Gallagher <algal@users.noreply.github.com >
2026-01-25 21:46:15 -06:00
Shadow
159f6bfddd
macOS: bump Textual to 0.3.1 ( #2033 )
...
Co-authored-by: Garric G. Nahapetian <garricn@users.noreply.github.com >
2026-01-25 21:02:18 -06:00
Peter Steinberger
8f6542409a
chore: bump versions for 2026.1.25
2026-01-25 22:13:04 +00:00
Dan Guido
48aea87028
feat: add prek pre-commit hooks and dependabot ( #1720 )
...
* feat: add prek pre-commit hooks and dependabot
Pre-commit hooks (via prek):
- Basic hygiene: trailing-whitespace, end-of-file-fixer, check-yaml, check-added-large-files, check-merge-conflict
- Security: detect-secrets, zizmor (GitHub Actions audit)
- Linting: shellcheck, actionlint, oxlint, swiftlint
- Formatting: oxfmt, swiftformat
Dependabot:
- npm and GitHub Actions ecosystems
- Grouped updates (production/development/actions)
- 7-day cooldown for supply chain protection
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
* docs: add prek install instruction to AGENTS.md
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-25 10:53:23 +00:00
Peter Steinberger
0163f53f5d
fix: regenerate protocol models
2026-01-25 01:12:49 +00:00
iHildy
b76cd6695d
feat: add beta googlechat channel
2026-01-24 23:30:45 +00:00
Peter Steinberger
9f8e66359e
fix: default direct gateway port + docs ( #1603 ) (thanks @ngutman)
2026-01-24 21:10:54 +00:00
Nimrod Gutman
5330595a5a
feat(macos): add direct gateway transport
2026-01-24 21:02:13 +00:00
Peter Steinberger
bcedeb4e1f
chore: bump 2026.1.24
2026-01-24 15:00:00 +00:00
Peter Steinberger
eaeb52f70a
chore: update protocol artifacts
2026-01-24 11:28:24 +00:00
Peter Steinberger
795b592286
fix: sync protocol swift models
2026-01-24 06:01:19 +00:00
Peter Steinberger
e51bf46abe
fix: regenerate protocol swift models
2026-01-24 05:41:00 +00:00
Peter Steinberger
d2bfcd70e7
fix: stabilize tests and sync protocol models
2026-01-24 00:25:58 +00:00
Peter Steinberger
69f645c662
fix: auto-save voice wake words across apps
2026-01-23 23:59:08 +00:00
Peter Steinberger
4ee70be690
chore: bump version to 2026.1.23
2026-01-23 22:14:56 +00:00
Shiva Prasad
fdbaae6a33
macOS: fix trigger word input disappearing when typing and on add ( #1506 )
...
Fixed issue where trigger words would disappear when typing or when adding new trigger words. The problem was that `swabbleTriggerWords` changes were triggering `VoiceWakeRuntime.refresh()` which sanitized the array by removing empty strings in real-time.
Solution: Introduced local `@State` buffer `triggerEntries` with stable UUID identifiers for each trigger word entry. User edits now only affect the local state buffer and are synced back to `AppState` on explicit actions (submit, remove, disappear). This prevents premature sanitization during editing.
The local state is loaded on view appear and when the view becomes active, ensuring it stays in sync with `AppState`.
2026-01-23 20:08:12 +00:00
Peter Steinberger
cad7ed1cb8
fix(exec-approvals): stabilize allowlist ids ( #1521 )
2026-01-23 19:00:45 +00:00
Peter Steinberger
9f6ea67415
fix: gateway summary lookup + test browser opens
2026-01-23 05:54:51 +00:00
Peter Steinberger
279f799388
fix: harden Mattermost plugin gating ( #1428 ) (thanks @damoahdominic)
2026-01-23 01:23:23 +00:00