kumarabhirup
045b73f42e
fix(web): subagent tool events — live streaming + persisted enrichment
...
Subagent sessions were missing tool call displays because the gateway's
passive subscribe mode (agent.subscribe unsupported) only broadcasts
assistant + lifecycle events, not tool events.
Three fixes:
- Use start-mode GatewayProcessHandle for subagent follow-up messages
so the agent RPC streams all events (including tools) on the same
WebSocket connection
- Enrich persisted subagent JSONL at load time from the gateway's
on-disk session transcript when tool-invocation parts are missing
- Best-effort enrichment at finalization time from gateway transcript
for subscribe-only runs that didn't receive tool events
2026-03-03 16:26:34 -08:00
kumarabhirup
775e0e99f8
chore(web): update TypeScript build info for improved module resolution
...
This commit updates the tsconfig.tsbuildinfo file to reflect changes in TypeScript module paths, ensuring accurate resolution of dependencies across the web application.
2026-03-03 15:56:07 -08:00
kumarabhirup
f6f9a5b157
refactor(web): eliminate SubagentPanel, unify into ChatPanel subagent mode
...
Delete subagent-panel.tsx (~670 lines) and its test. The SubagentPanel
bypassed the AI SDK's useChat pipeline with a manual createStreamParser,
causing tool events to never render. Instead, add a lightweight subagent
mode to ChatPanel via sessionKey/subagentTask/onBack props that reuses
the same DefaultChatTransport + useChat pipeline, fixing tool event
rendering and persisted message loading for completed subagent sessions.
2026-03-03 15:55:37 -08:00
kumarabhirup
477daad4ff
feat(gateway): migrate chat transport to WebSocket and enforce single ironclaw profile
...
This commit introduces a new plan to transition the chat transport from CLI processes to Gateway WebSocket, while maintaining the existing SSE API contract. It locks the web to a single `ironclaw` profile, disables workspace/profile switching, and updates relevant tests. Key changes include the implementation of a WebSocket-backed adapter, API lockdown with 403 responses for profile mutations, and UI adjustments to remove profile switching controls.
2026-03-03 15:39:27 -08:00
kumarabhirup
72d5204e52
test: update tests for dench-to-crm rename and IDENTITY.md visibility
...
All test assertions updated to reference crm instead of dench, and IDENTITY.md is now expected to be visible in the workspace tree.
2026-03-03 15:38:46 -08:00
kumarabhirup
70ca59a66d
refactor(web): show IDENTITY.md in workspace, filter managed skills, hide bootstrap toggle
...
IDENTITY.md is now user-editable (no longer a system file). Managed skill filter updated from dench to crm/browser. Bootstrap seed toggle hidden from create-workspace dialog.
2026-03-03 15:38:41 -08:00
kumarabhirup
1398e556a1
feat(api): register default agent in config on workspace switch
...
Call setDefaultAgentInConfig when switching workspaces so the gateway picks up the active workspace agent.
2026-03-03 15:38:07 -08:00
kumarabhirup
38f3cb6efe
feat(web): use workspace-aware agent IDs for gateway sessions
...
Replace hardcoded agent:main: session keys with resolveActiveAgentId() so each workspace routes to its own gateway agent.
2026-03-03 15:38:00 -08:00
kumarabhirup
74b3b23e26
feat(web): add multi-workspace agent config management
...
Add ensureAgentInConfig, setDefaultAgentInConfig, and resolveActiveAgentId to manage per-workspace agent entries in openclaw.json so the gateway routes to the correct workspace.
2026-03-03 15:37:54 -08:00
kumarabhirup
bf6a0abe48
refactor(api): deduplicate workspace init using shared workspace-seed
...
Remove ~200 lines of duplicated CRM seed objects, DuckDB seeding, and identity generation from the init route by importing from @repo/cli/workspace-seed.
2026-03-03 15:37:49 -08:00
kumarabhirup
61f0313895
chore(web): add @repo/* tsconfig path alias for cross-package imports
...
Allows the web app to import shared CLI modules like workspace-seed directly.
2026-03-03 15:37:44 -08:00
kumarabhirup
8eb25cfcb7
chore: update tsconfig and vitest config
...
Exclude extensions and test from tsconfig; remove extensions from vitest include.
2026-03-03 13:48:10 -08:00
kumarabhirup
365e1650bc
fix(test): resolve lint errors in workspace and init route tests
...
Remove unused useEnvWorkspace; fix base-to-string in identity content assertion.
2026-03-03 13:48:05 -08:00
kumarabhirup
f6eee0b398
refactor(cli): update workspace-seed with dynamic identity and dench skill
...
Build identity template with workspace path; add seedDenchSkill for skills/dench.
2026-03-03 13:47:38 -08:00
kumarabhirup
aec4e9d89a
refactor(web): update workspace page and hooks
...
Use workspace model in page and use-workspace-watcher.
2026-03-03 13:47:18 -08:00
kumarabhirup
3c2138e4bd
feat(web): add workspace-switch component
...
New workspace-switch component and tests for workspace selection UI.
2026-03-03 13:47:02 -08:00
kumarabhirup
1adb7b926b
refactor(web): update workspace components for workspace model
...
ProfileSwitcher uses workspaces; create-workspace-dialog, empty-state, sidebar updated.
2026-03-03 13:46:54 -08:00
kumarabhirup
974ba61b48
refactor(api): update workspace tree and virtual-file routes
...
Use workspace lib for path resolution.
2026-03-03 13:46:49 -08:00
kumarabhirup
6084381346
refactor(api): update workspace delete for workspace model
...
Use workspace lib helpers instead of profile-based paths.
2026-03-03 13:46:44 -08:00
kumarabhirup
4f0f7af622
refactor(api): update workspace init for workspace model
...
Use discoverWorkspaces, setUIActiveWorkspace, resolveWorkspaceDir; remove inline spawn logic.
2026-03-03 13:46:39 -08:00
kumarabhirup
9b505e9ae6
refactor(api): update profiles API for workspace model
...
Use discoverWorkspaces and getActiveWorkspaceName; keep backward-compat response fields.
2026-03-03 13:46:34 -08:00
kumarabhirup
232d6640ba
feat(api): add workspace list and switch API routes
...
New /api/workspace/list and /api/workspace/switch for workspace discovery and switching.
2026-03-03 13:46:30 -08:00
kumarabhirup
796a2fcb34
refactor(workspace): profile to workspace model in web lib
...
Replace profile terminology with workspace; pin to .openclaw-ironclaw state dir.
2026-03-03 13:46:25 -08:00
kumarabhirup
ba01abdcd9
docs(web): add testing interaction ledger
2026-03-02 18:36:54 -08:00
kumarabhirup
ba65d0b4e8
test(web): add workspace-profiles tests
2026-03-02 18:36:26 -08:00
kumarabhirup
693811ccb2
test(web): add profile-switcher, object-filter-bar, stream-parser, and subagent-panel message tests
2026-03-02 18:36:19 -08:00
kumarabhirup
a61aedd51d
refactor(web): update workspace page layout and profile integration
2026-03-02 18:35:48 -08:00
kumarabhirup
a7a89a990e
feat(web): add object-view-active-view module for workspace page
2026-03-02 18:35:41 -08:00
kumarabhirup
3ed8872f16
refactor(web): move profile management to workspace-sidebar
2026-03-02 18:35:34 -08:00
kumarabhirup
e7bdd45be1
feat(web): add IDENTITY.md to system file patterns in file-manager-tree
2026-03-02 18:35:27 -08:00
kumarabhirup
440e7063e2
refactor(web): simplify empty-state to remove inline workspace creation
2026-03-02 18:35:20 -08:00
kumarabhirup
f0135da82e
feat(web): add copyConfigAuth option to create-workspace-dialog
2026-03-02 18:35:13 -08:00
kumarabhirup
9542c60f66
feat(web): add workspace delete and profile discovery to profile-switcher
2026-03-02 18:35:03 -08:00
kumarabhirup
af0d34b5db
feat(web): add message queue UI with edit/send/remove to subagent-panel
2026-03-02 18:34:56 -08:00
kumarabhirup
e3fb54880a
feat(web): add subagent status labels to chat-message component
2026-03-02 18:34:49 -08:00
kumarabhirup
7309d649dd
test(web): add workspace file-ops, objects, and tree-browse tests
2026-03-02 18:34:41 -08:00
kumarabhirup
f23b7133cb
feat(web): improve suggest-files and tree route with better error handling
2026-03-02 18:34:34 -08:00
kumarabhirup
f3fffec97f
fix(web): guard system files in file write route and allow aborting waiting-for-subagents runs
2026-03-02 18:34:27 -08:00
kumarabhirup
67812f0de6
feat(web): add workspace delete API route
2026-03-02 18:34:19 -08:00
kumarabhirup
efbeacff54
test(web): update workspace init tests for new profile-based flow
2026-03-02 18:34:12 -08:00
kumarabhirup
3568779912
feat(web): overhaul workspace init with profile creation, onboarding, and port allocation
2026-03-02 18:34:06 -08:00
kumarabhirup
d8e2d455b8
test(web): update profiles API tests for gateway metadata and switch validation
2026-03-02 18:33:59 -08:00
kumarabhirup
d4a2e445ca
feat(web): harden profile switch with validation, existence check, and env override detection
2026-03-02 18:33:52 -08:00
kumarabhirup
6f6b841d92
feat(web): enrich profiles API with gateway metadata
2026-03-02 18:33:44 -08:00
kumarabhirup
910d0521e2
test(web): add subagent-runs tests
2026-03-02 18:33:38 -08:00
kumarabhirup
2723352028
feat(web): extend subagent-runs with status reasoning and media URL support
2026-03-02 18:33:31 -08:00
kumarabhirup
14feec10af
test(web): add active-runs tests with retry and lifecycle coverage
2026-03-02 18:33:24 -08:00
kumarabhirup
0d219413a8
feat(web): enhance active-runs with WS RPC, subscribe retry, and chat event support
2026-03-02 18:33:17 -08:00
kumarabhirup
f6769d3e05
test(web): add comprehensive agent-runner tests
2026-03-02 18:33:09 -08:00
kumarabhirup
7bd6583697
feat(web): add WebSocket gateway client and RPC support to agent-runner
2026-03-02 18:33:01 -08:00