504 Commits

Author SHA1 Message Date
Mark Rachapoom
c38d1281d4 fix: send Origin header in gateway WebSocket connections
The Node.js ws library doesn't send an Origin header by default.
When the client identifies as openclaw-control-ui, the gateway
enforces origin checks and rejects connections with missing origin.

Pass the gateway URL as the Origin header so the gateway's
local-loopback check sees a valid loopback origin and allows it.

Bump to v2.3.20.

Made-with: Cursor
2026-03-20 19:26:09 -07:00
Mark Rachapoom
587dd6ae64 feat: make gateway client ID configurable via OPENCLAW_GATEWAY_CLIENT_ID
The desktop app runs in daemonless mode without device identity files.
The gateway clears operator scopes for "gateway-client" connections
that lack device identity. Allow the client ID to be overridden via
env var so the desktop can identify as "openclaw-control-ui" and
receive operator scopes with dangerouslyDisableDeviceAuth enabled.

Fallback to "gateway-client" preserves existing behavior for CLI
and web users.

Bump to v2.3.19.

Made-with: Cursor
2026-03-20 16:26:25 -07:00
Kumar Abhirup
b78b67aedf
feat(bootstrap): enable elevated commands for webchat on first boot (#113)
Stages elevated tooling config pre-onboard and reapplies via CLI post-onboard so webchat gets host exec from first boot.
2026-03-20 13:13:46 -07:00
kumarabhirup
621c2cc821
🚀 RELEASE: v2.3.17 2026-03-20 12:19:22 -07:00
kumarabhirup
2ee170c347
🚀 RELEASE: v2.3.16 2026-03-20 11:28:10 -07:00
kumarabhirup
ec6415903e
🚀 RELEASE: v2.3.15 2026-03-20 09:53:38 -07:00
kumarabhirup
687b04a963
👌 IMPROVE: automate package releases
Keep GitHub releases and npm publishing aligned with package.json while making deploy.sh the single source of truth for release validation.
2026-03-19 17:41:52 -07:00
kumarabhirup
161d543229
🚀 RELEASE: v2.3.14 2026-03-19 17:26:10 -07:00
kumarabhirup
4f523c74a7
🚀 RELEASE: Mobile Responsiveness 2026-03-19 15:54:20 -07:00
kumarabhirup
f29bd0c5c1
🚀 RELEASE: v2.3.11 2026-03-18 17:12:55 -07:00
kumarabhirup
9a26ab6de1
chore: bump version to 2.3.9
Reflects identity plugin extraction and workspace seed cleanup since v2.3.7.
2026-03-17 16:24:10 -07:00
kumarabhirup
748e46ff9e
🚀 RELEASE: v2.3.7 2026-03-17 14:52:14 -07:00
kumarabhirup
ef72fe29d7
🚀 RELEASE: 2.3.6 2026-03-17 12:42:44 -07:00
kumarabhirup
76f8838362
feat(cli): add daemonless mode for container/cloud environments
Support DENCHCLAW_DAEMONLESS=1 env var and --skip-daemon-install flag
across all commands (bootstrap, update, start, restart, stop) to skip
gateway daemon management and LaunchAgent registration in environments
without systemd/launchd.
2026-03-15 21:25:25 -07:00
kumarabhirup
4436e57d9a
fix(bootstrap): eliminate gateway probe race and pre-onboard config failures
Pre-onboard config (gateway.mode, gateway.port, plugin trust) used to call
`openclaw config set` before `openclaw onboard` created the profile, causing
"Failed to set ..." errors on fresh installs (#101). All pre-onboard config is
now staged via raw JSON writes. Hidden gateway restarts inside syncBundledPlugins
are removed; one explicit restart happens after all post-onboard config, followed
by retried health probes so bootstrap no longer falsely reports "gateway closed"
while the gateway is simply finishing startup.
2026-03-15 17:16:05 -07:00
kumarabhirup
fc04de7eb8
🚀 RELEASE: v2.3.3 2026-03-15 14:52:23 -07:00
kumarabhirup
8fd2fe396a
🚀 RELEASE: v2.3.2 2026-03-15 13:53:53 -07:00
kumarabhirup
94ef2c0288
🚀 RELEASE: v2.3.1 2026-03-15 13:30:11 -07:00
kumarabhirup
3f6fe5f892
🚀 RELEASE: v2.3.0 2026-03-15 04:39:22 -07:00
kumarabhirup
1af869f64b
feat(cli): add dench-cloud model catalog and config helpers
Shared module for Dench Cloud catalog fetching, API key validation, and OpenClaw config patching.
2026-03-15 04:15:29 -07:00
kumarabhirup
ec26a42407
chore: bump version to 2.2.3 in package.json 2026-03-10 18:32:10 -07:00
kumarabhirup
2dba68aa7a
chore: bump version to 2.2.1 for dench and denchclaw in package.json 2026-03-09 09:34:36 -07:00
kumarabhirup
94837ff4cb
chore: bump version to 2.2.0 for dench and denchclaw in package.json 2026-03-09 09:10:25 -07:00
kumarabhirup
bf419cbaeb
chore: bump version to 2.1.5 in package.json 2026-03-08 20:47:46 -07:00
kumarabhirup
039cbe6a43
feat: async I/O, tags field type, rich chat messages, deploy verification
- Convert sync filesystem and DuckDB operations to async across API routes,
  workspace lib, and active-runs to prevent event loop blocking during tree
  discovery, object lookups, and database queries
- Add "tags" field type for free-form string arrays with parse-tags utility,
  TagsBadges/TagsInput UI components, filter operators, and CRM skill docs
- Preserve rich text formatting (bold, italic, code, @mentions) in user chat
  messages by sending HTML alongside plain text through the transport layer
- Detect empty-stream errors, improve agent error emission, and add file
  mutation queues for concurrent write safety in active-runs
- Add pre-publish standalone node_modules verification in deploy script
  checking serverExternalPackages are present
- Extract syncManagedSkills and discoverWorkspaceDirs for multi-workspace
  skill syncing, add ensureSeedAssets for runtime app dir
- Bump version 2.1.1 → 2.1.4
2026-03-08 19:53:18 -07:00
kumarabhirup
870650dbda
chore: bump version to 2.1.1 for denchclaw and dench packages 2026-03-06 23:31:55 -08:00
kumarabhirup
e3eb86c531
chore: bump version to 2.1.0
Major feature additions warrant a minor version bump.
2026-03-05 22:54:11 -08:00
kumarabhirup
ec73141a01
chore: bump version to 2.0.16 and enhance feedback API message handling
Update package versions for denchclaw and dench to 2.0.16. Refactor feedback API to convert chat lines into PostHog-compatible messages, preserving chronological order and including tool calls and results. Improve test cases to reflect changes in message handling.
2026-03-05 21:38:55 -08:00
kumarabhirup
0a2d426834
chore: bump version to 2.0.14
Bump denchclaw and dench alias packages from 2.0.12 to 2.0.14.
2026-03-05 21:19:51 -08:00
kumarabhirup
135fa3608a
chore: bump version to 2.0.12 and add plugin build infra
Add build:plugin-env script to bake the PostHog key into the plugin at pack time.
2026-03-05 19:08:51 -08:00
kumarabhirup
a0aef2c2f8
chore: bump version to 2.0.9
Prepare next release version across root and dench alias package.
2026-03-05 16:09:00 -08:00
kumarabhirup
6ebdb5f851
chore: bump version to 2.0.8
Align root and dench alias package versions for next release.
2026-03-05 15:35:38 -08:00
kumarabhirup
fdd89b4e6f
feat: add PostHog AI observability, feedback UI, and telemetry privacy mode
Integrate PostHog LLM Analytics via a bundled OpenClaw plugin that captures
$ai_generation, $ai_span, and $ai_trace events with configurable privacy
mode (content redaction on by default). Add like/dislike feedback buttons
to the web chat UI backed by a /api/feedback route. Extend the CLI with
`telemetry privacy on|off` subcommands and fix command delegation so
telemetry subcommands aren't forwarded to OpenClaw. Harden the web runtime
installer to auto-flatten pnpm standalone deps and dereference dangling
symlinks, preventing "Cannot find module 'next'" crashes in dev. Move
plugin installation before onboard in bootstrap so the gateway starts
with plugins.allow already configured.
2026-03-05 12:28:08 -08:00
kumarabhirup
b5557fb6dd
👌 IMPROVE: silent deployment 2026-03-04 20:06:38 -08:00
kumarabhirup
0b292411d3
📖 DOC: images 2026-03-04 19:46:13 -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
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
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
2b8a0e2503
chore: add test:evals scripts to root package.json 2026-03-02 18:32:31 -08:00
kumarabhirup
52707f471d
refactor!: IronClaw v2.0 - external OpenClaw runtime
BREAKING CHANGE: Convert repository to IronClaw-only package with strict
external dependency on globally installed `openclaw` runtime.

### Changes

- Remove entire OpenClaw core source from repository (src/agents/*, src/acp/*,
  src/commands/*, and related modules)
- Implement CLI delegation: non-bootstrap commands now delegate to global
  `openclaw` binary via external contract
- Remove local OpenClaw path resolution from web app; always spawn global
  `openclaw` binary instead of local scripts
- Rename package.json scripts: `pnpm openclaw` → `pnpm ironclaw`,
  `openclaw:rpc` → `ironclaw:rpc`
- Update bootstrap flow to verify and install global OpenClaw when missing
- Migrate web workspace/profile logic to align with OpenClaw state paths
- Add migration contract tests for stream-json, session subscribe, and profile
  resolution behaviors
- Update build/release pipeline for IronClaw-only artifacts
- Update documentation for new peer + global installation model

### Architecture

IronClaw is now strictly a frontend/UI/bootstrap layer:
- `npx ironclaw` bootstraps OpenClaw (if missing), runs guided onboarding
- IronClaw UI serves on localhost:3100
- OpenClaw Gateway runs on standard port 18789
- Communication via stable CLI contracts and Gateway WebSocket protocol only

### Migration

Users must have `openclaw` installed globally:
  npm install -g openclaw

Existing IronClaw profiles and sessions remain compatible through gateway
protocol stability.

Refs: bootstrap_dev_testing, ironclaw_frontend_split, strict-external-openclaw
2026-03-01 16:11:40 -08:00
kumarabhirup
38215f08ea
release: v2026.2.22-1.1 2026-02-22 01:40:27 -08:00
kumarabhirup
e96bb0f59e
release: v2026.2.22-1 2026-02-22 01:17:46 -08:00
kumarabhirup
7e894b5199
chore: bump version to 2026.2.22 2026-02-22 00:38:09 -08:00
kumarabhirup
6594de6186
Merge Ironclaw changes onto upstream Openclaw 2026.2.22
Replays all Ironclaw-specific changes (176 commits) onto the latest
upstream Openclaw release (2026.2.22). Conflicts auto-resolved in
favor of Ironclaw to guarantee zero change loss.

Merge base: cbc3de6c9 (2026-02-16)
Upstream: a37e12eab (upstream/main, 2026.2.22)
Ironclaw: 3009566c9 (origin/main, 2026.2.15-1.9)
Backup: ironclaw-backup-pre-sync

Conflict resolutions:
- 6 GitHub workflow files: deleted (Ironclaw intentionally stripped)
- src/sessions/session-key-utils.test.ts: kept (Ironclaw modified)
- Duplicate imports from merge: deduplicated
- Unused imports from upstream code Ironclaw overrode: removed
- Broken test indentation from merge: fixed

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 18:06:01 -08:00
kumarabhirup
729a71b838
release: v2026.2.15-1.9 2026-02-21 16:21:48 -08:00
kumarabhirup
238989cdf7
release: bump version to 2026.2.15-1.8 2026-02-21 15:41:03 -08:00
kumarabhirup
7aadd02313
test: add comprehensive workspace test suite and deploy pre-flight checks
- Profile management: discoverProfiles, getEffectiveProfile precedence,
  setUIActiveProfile, resolveWebChatDir, workspace registry (32 tests)
- Workspace init API: creation, bootstrap seeding, custom paths,
  validation, idempotency (13 tests)
- Profile switch API: GET/POST profiles, validation, default reset (10 tests)
- Chat isolation: profile-scoped chat dirs, session isolation (7 tests)
- LLM context awareness: bootstrap loading, subagent filtering,
  resolveBootstrapContextForRun content isolation (15 unit + 5 live)
- Subagent streaming: registerSubagent, event replay, persistence,
  ensureRegisteredFromDisk, fan-out (24 unit + 5 live)
- deploy.sh: add --skip-tests flag, pnpm test + web:build pre-flight,
  auto git commit/push of version bump after publish
- package.json: add test:workspace and test:workspace:live scripts

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:38:31 -08:00
Peter Steinberger
bdfb97afad chore: prep 2026.2.22 unreleased and publish new npm plugins 2026-02-21 19:05:35 +01:00