13681 Commits

Author SHA1 Message Date
kumarabhirup
eb1e3a638c
Merge branch 'kumareth/ironclaw-v2.0' of https://github.com/denchHQ/ironclaw 2026-03-04 19:47:05 -08:00
kumarabhirup
0b292411d3
📖 DOC: images 2026-03-04 19:46:13 -08:00
Kumar Abhirup
c4c73e1296
DenchClaw v2.0 - External OpenClaw Runtime from DenchHQ/kumareth/ironclaw-v2.0
Merge pull request #81
2026-03-04 19:15:29 -08:00
kumarabhirup
cceeccb900
chore: bump to v2.0.5 with deploy scripts and prepack integration
Adds deploy convenience scripts, wires flatten-standalone-deps into web:prepack, and updates test:cli to include the new test file.
2026-03-04 19:06:56 -08:00
kumarabhirup
8847e44854
feat(cli): add flatten-standalone-deps for pnpm standalone builds
pnpm's standalone output uses symlinks that npm pack silently drops, breaking require('next') on user machines. This flattens the virtual store into a standard node_modules layout.
2026-03-04 19:06:50 -08:00
kumarabhirup
ec973f40d3
fix(cli): update bootstrap onboard test for accept-risk and skip-ui flags
Onboard command now passes --accept-risk and --skip-ui by default; align test expectations.
2026-03-04 19:06:44 -08:00
kumarabhirup
b4b644a726
fix(cli): dereference symlinks during web runtime installation
pnpm standalone output contains symlinks that break after npm pack; dereference ensures real files are copied.
2026-03-04 19:06:40 -08:00
kumarabhirup
ec326fb34d
chore: add env examples for development setup
Documents required environment variables so new contributors can onboard without guessing.
2026-03-04 19:06:35 -08:00
kumarabhirup
78e04e20b8
fix(cli): improve bootstrap onboard UX and fix command references
Always pass --skip-ui and --accept-risk to openclaw onboard so the
wizard never prompts for TUI/Web UI selection — bootstrap manages the
web UI lifecycle itself. Add a post-onboard spinner to eliminate the
silent gap while config-set calls, gateway probing, and web runtime
startup run. Fix remediation messages to use `npx denchclaw`.
2026-03-04 18:33:17 -08:00
kumarabhirup
912e7711bb
fix tests, add telemetry, deploy v2.0.4
- Fix bootstrap-command test: mock ensureManagedWebRuntime to probe
  directly instead of requiring standalone build on disk
- Add PostHog telemetry to CLI and web app with opt-out support
- Add dench alias package (npm rejects name; kept for future use)
- Bump version to 2.0.4 and publish to npm
2026-03-04 17:33:27 -08:00
kumarabhirup
ee6f3c6df3
chore: update package versions and add posthog dependencies
- Bump version of denchclaw to 2.0.2 in package.json.
- Add posthog-node and posthog-js dependencies with specified versions.
- Update chokidar dependency in web package.json.
- Modify deploy script to publish an alias package (dench) alongside denchclaw.
2026-03-04 17:09:22 -08:00
kumarabhirup
286d0fdb48
delete em all 2026-03-04 16:34:45 -08:00
kumarabhirup
af45d4d17b
CLI: add managed web runtime with start/stop/update commands and major-version gating
Refactor bootstrap to use a managed web runtime lifecycle instead of
ad-hoc standalone server spawning. The managed runtime copies packaged
Next.js assets into ~/.openclaw-dench/web-runtime/, tracks deployment
state via manifest/process metadata, and cleanly separates Dench-owned
processes from foreign listeners on the target port.

- Fix false-negative web readiness when /api/profiles returns null
  activeProfile (first-run regression).
- Add `dench start` (start without updating assets), `dench stop`
  (terminate only Dench-managed web server), and `dench update`
  (refresh web runtime with major-version OpenClaw update gate).
- Major-version transitions (e.g. v2->v3) require mandatory OpenClaw
  update; non-interactive mode fails closed without --yes.
- All lifecycle commands show the ASCII banner/logo animation.
- Deploy smoke checks now verify update/stop/start --help paths.
2026-03-04 16:32:58 -08:00
kumarabhirup
4d6eec741d
npx denchclaw 2026-03-04 13:23:34 -08:00
kumarabhirup
1c93a3b525
fix(cli): enforce full tool profile in dench bootstrap 2026-03-04 13:18:39 -08:00
kumarabhirup
2c5e5a8ac1
chore(web): refresh tsbuildinfo 2026-03-04 11:15:17 -08:00
kumarabhirup
bd859a52ef
test(web): add rich document editor interaction coverage 2026-03-04 11:15:04 -08:00
kumarabhirup
f98fb75e81
test(web): cover workspace binary write API 2026-03-04 11:14:56 -08:00
kumarabhirup
aaad832cc6
feat(web): add rich DOCX/TXT workspace editor 2026-03-04 11:14:48 -08:00
kumarabhirup
da440735d4
feat(web): add workspace binary write API endpoint 2026-03-04 11:14:14 -08:00
kumarabhirup
601d5231fb
feat(web): extract workspace editor toolbar primitives 2026-03-04 11:14:08 -08:00
kumarabhirup
c2fc170ac7
test(web): add exhaustive spreadsheet utility coverage 2026-03-04 11:09:18 -08:00
kumarabhirup
9890cd9d71
test(web): add raw-file binary write route coverage 2026-03-04 11:09:10 -08:00
kumarabhirup
3f3ed89f49
feat(web): add editable spreadsheet workspace component 2026-03-04 11:09:02 -08:00
kumarabhirup
19dffeabd4
feat(web): add binary workspace file write endpoint 2026-03-04 11:08:35 -08:00
kumarabhirup
9012a6e658
test(web): add monaco code editor behavior coverage 2026-03-04 11:08:33 -08:00
kumarabhirup
ffda566fd3
feat(web): add spreadsheet data transform utilities 2026-03-04 11:08:23 -08:00
kumarabhirup
14d8df2bec
docs(crm): add created_at and updated_at date fallback guidance 2026-03-04 11:08:02 -08:00
kumarabhirup
1651b95886
chore(web): document client fallback rationale in webpack config
Clarify why browser bundles stub Node-only html-to-docx dependencies in Next.js.
2026-03-04 11:07:58 -08:00
kumarabhirup
b2c946b08d
test(web): cover multi-view resolution and scheduling interactions 2026-03-04 11:07:54 -08:00
kumarabhirup
afab67a38b
fix(web): add encoding fallback for html-to-docx bundle
Prevent client webpack warnings from node-fetch optional encoding resolution in html-to-docx.
2026-03-04 11:07:47 -08:00
kumarabhirup
bc6a4d5a37
fix(web): add browser fs fallback in Next webpack config
Prevent client builds from resolving Node's fs module when loading html-to-docx in workspace editors.
2026-03-04 11:07:31 -08:00
kumarabhirup
cd7ea43a91
feat(web): add calendar timeline gallery and list object views 2026-03-04 11:07:10 -08:00
kumarabhirup
3f6f181552
feat(web): add monaco workspace code editor 2026-03-04 11:06:40 -08:00
kumarabhirup
8513b9a9b9
chore(web): add monaco editor dependencies 2026-03-04 11:06:39 -08:00
kumarabhirup
b5987e931c
feat(web): add multi-view schema and settings persistence 2026-03-04 11:03:27 -08:00
kumarabhirup
68015d6c14
refactor(web): enhance entry detail and object table components for improved data handling
This commit introduces several enhancements across the EntryDetailModal and ObjectTable components. Key changes include the addition of a FormattedFieldValue component for consistent display of various field types, improved handling of entry metadata, and the introduction of input type resolution for fields. Additionally, navigation callbacks for entries have been refined to support better interaction within the object table. These updates aim to streamline data presentation and enhance user experience.
2026-03-03 22:54:12 -08:00
kumarabhirup
ad41e74205
fix(web): stabilize object table row ordering
Add deterministic entry ID tie-breakers to object entry sorting so rows with identical creation timestamps do not reorder across auto-refresh cycles.
2026-03-03 20:30:56 -08:00
kumarabhirup
0820d7211f
fix(web): fall back to profile gateway WS target 2026-03-03 20:30:29 -08:00
kumarabhirup
8542f07783
refactor(web): improve data handling in DataTable and ObjectTable components
This commit refactors the DataTable and ObjectTable components to enhance state management. In DataTable, the column visibility state is now set more efficiently by defaulting to an empty object when no initial visibility is provided. In ObjectTable, local entries are introduced to maintain alignment with server updates, and a new callback for local value changes is added to EditableCell, improving the responsiveness of the UI during data edits. Additionally, the handling of row selection during bulk delete operations is updated to use local entries, ensuring consistency across the component's state.
2026-03-03 17:58:45 -08:00
kumarabhirup
a1cb0b8372
refactor(web): streamline subagent session enrichment and tool event handling
This commit refactors the handling of subagent sessions by removing the enrichSubagentMessages function and integrating its functionality into the GET request handler. It also introduces the enrichSubagentSessionFromTranscript function to enhance session data retrieval. Additionally, the persistSubscribeUserMessage function is updated to ensure user messages are saved to the session JSONL file, improving message persistence across page reloads. These changes enhance the clarity and efficiency of subagent session management.
2026-03-03 17:35:34 -08:00
kumarabhirup
7fa49f58ce
feat(cli): add ensureSubagentDefaults function to set default subagent configurations
This commit introduces the ensureSubagentDefaults function, which sets various default configurations for subagents, including max concurrent agents, max spawn depth, and run timeout settings. The function is called during the bootstrap process to ensure these defaults are applied for the specified profile.
2026-03-03 16:34:03 -08:00
kumarabhirup
33589ca5ca
delete: remove debug log file and update Ironclaw identity in workspace seed
This commit deletes the debug.log file, which contained subagent session logs, and updates the Ironclaw identity in workspace-seed.ts to reflect the new author, changing from Kumar Abhirup to Dench.
2026-03-03 16:29:12 -08:00
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