openclaw 2026.4.29-beta.4 → 2026.4.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/cli/run-main.js +5 -5
  3. package/dist/cli-startup-metadata.json +2 -2
  4. package/dist/{command-registry-B0uJzGnK.js → command-registry-DARUwve8.js} +2 -2
  5. package/dist/{command-registry-4zFeahaH.js → command-registry-acvmVSJl.js} +2 -2
  6. package/dist/{command-registry-core-D-mq2fz2.js → command-registry-core-D7ksM5gN.js} +3 -3
  7. package/dist/{completion-cli-CdR7m2hI.js → completion-cli-B8YHQgFP.js} +2 -2
  8. package/dist/{config-cli-D9Xw1yY9.js → config-cli-CJmqioRD.js} +1 -1
  9. package/dist/crestodian/crestodian.js +1 -1
  10. package/dist/crestodian/rescue-message.js +1 -1
  11. package/dist/{crestodian-C_yXECob.js → crestodian-BZcQ3vGp.js} +3 -3
  12. package/dist/{dialogue-33J6ENUj.js → dialogue-QGqgdXIN.js} +1 -1
  13. package/dist/{gateway-cli-BEwyIadN.js → gateway-cli-C2mm4Z0E.js} +1 -1
  14. package/dist/{operations-CI3QuHkz.js → operations-Dv3OdJJA.js} +2 -2
  15. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  16. package/dist/postinstall-inventory.json +24 -24
  17. package/dist/{program-D8LtaElX.js → program-BrS1V7cf.js} +1 -1
  18. package/dist/{register.crestodian-D0gXkGM6.js → register.crestodian-Cq4pz7hq.js} +1 -1
  19. package/dist/{register.subclis-BP-u0NG0.js → register.subclis-6aNnH4u4.js} +2 -2
  20. package/dist/register.subclis-BWb8dmMN.js +3 -0
  21. package/dist/{register.subclis-core-CQMwCAER.js → register.subclis-core-D2waj9Px.js} +2 -2
  22. package/dist/{route-CZYkstbL.js → route-D9raPzjF.js} +1 -1
  23. package/dist/{run-nqrZNRUv.js → run-BIBbmab3.js} +1 -1
  24. package/dist/{run-C8rwWlkL.js → run-BzF59G3q.js} +1 -1
  25. package/dist/{runtime-schema-CRTpn-8J.js → runtime-schema-CmPa3oms.js} +1 -1
  26. package/dist/{server-CARhfUAH.js → server-eOjZMaDe.js} +1 -1
  27. package/dist/{server-methods-Bc5oxH0i.js → server-methods-DSL6KpJ1.js} +1 -1
  28. package/dist/{server-plugin-bootstrap-9cLR4MxX.js → server-plugin-bootstrap-BRC-AHCu.js} +1 -1
  29. package/dist/{server-plugin-bootstrap-CMuR3oQT.js → server-plugin-bootstrap-SWyfRjLE.js} +1 -1
  30. package/dist/{server.impl-BUEY4vnB.js → server.impl-D5mN3W3v.js} +3 -3
  31. package/dist/{tui-backend-jraszqL8.js → tui-backend-WAWHGrNZ.js} +2 -2
  32. package/package.json +1 -1
  33. package/dist/register.subclis-DWMKObO3.js +0 -3
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.4.29-beta.4",
3
- "commit": "f68c23229406ac02860cd539673b6d471bc71bbc",
4
- "builtAt": "2026-04-30T19:54:43.722Z"
2
+ "version": "2026.4.29",
3
+ "commit": "a448042c2edd94a4e8ee86d5ed90a5ed9fe8e4cd",
4
+ "builtAt": "2026-04-30T20:51:12.692Z"
5
5
  }
@@ -150,7 +150,7 @@ async function tryRunGatewayRunFastPath(argv, startupTrace) {
150
150
  if (!isGatewayRunFastPathArgv(argv)) return false;
151
151
  const [{ Command }, { addGatewayRunCommand }, { VERSION }, { emitCliBanner }, { resolveCliStartupPolicy }] = await startupTrace.measure("gateway-run-imports", () => Promise.all([
152
152
  import("commander"),
153
- import("../run-C8rwWlkL.js"),
153
+ import("../run-BzF59G3q.js"),
154
154
  import("../version-CFYXGG_n.js"),
155
155
  import("../banner-NjBv1M_n.js"),
156
156
  import("../command-startup-policy-DmmU6NRZ.js")
@@ -338,7 +338,7 @@ async function runCli(argv = process$1.argv) {
338
338
  if (!bootstrapProxyBeforeFastPath && await tryRunGatewayRunFastPath(normalizedArgv, startupTrace)) return;
339
339
  await bootstrapCliProxyCaptureAndDispatcher(startupTrace);
340
340
  if (bootstrapProxyBeforeFastPath && await tryRunGatewayRunFastPath(normalizedArgv, startupTrace)) return;
341
- const { tryRouteCli } = await startupTrace.measure("route-import", () => import("../route-CZYkstbL.js"));
341
+ const { tryRouteCli } = await startupTrace.measure("route-import", () => import("../route-D9raPzjF.js"));
342
342
  if (await startupTrace.measure("route", () => tryRouteCli(normalizedArgv))) return;
343
343
  const { createCliProgress } = await import("../progress-D6iPLuW-.js");
344
344
  const startupProgress = createCliProgress({
@@ -357,7 +357,7 @@ async function runCli(argv = process$1.argv) {
357
357
  const { enableConsoleCapture } = await import("../logging-BmDSkvm8.js");
358
358
  enableConsoleCapture();
359
359
  const [{ buildProgram }, { formatUncaughtError }, { runFatalErrorHooks }, { installUnhandledRejectionHandler, isBenignUncaughtExceptionError, isUncaughtExceptionHandled }, { restoreTerminalState }] = await startupTrace.measure("core-imports", () => Promise.all([
360
- import("../program-D8LtaElX.js"),
360
+ import("../program-BrS1V7cf.js"),
361
361
  import("../infra/errors.js"),
362
362
  import("../fatal-error-hooks-DxqbkWSf.js"),
363
363
  import("../unhandled-rejections-Jiv9rWoA.js"),
@@ -385,10 +385,10 @@ async function runCli(argv = process$1.argv) {
385
385
  const { getProgramContext } = await import("../program-context-LLlLFuNV.js");
386
386
  const ctx = getProgramContext(program);
387
387
  if (ctx) {
388
- const { registerCoreCliByName } = await import("../command-registry-B0uJzGnK.js");
388
+ const { registerCoreCliByName } = await import("../command-registry-DARUwve8.js");
389
389
  await registerCoreCliByName(program, ctx, primary, parseArgv);
390
390
  }
391
- const { registerSubCliByName } = await import("../register.subclis-DWMKObO3.js");
391
+ const { registerSubCliByName } = await import("../register.subclis-BWb8dmMN.js");
392
392
  await registerSubCliByName(program, primary, parseArgv);
393
393
  });
394
394
  if (!shouldSkipPluginCommandRegistration({
@@ -28,6 +28,6 @@
28
28
  "channelCatalogSignature": "fb0a62c608a96c180073649811e45247ea57f002",
29
29
  "rootHelpBundleSignature": "c6d9b8c870977dc338f3dae8c32843a44aec7ba3",
30
30
  "browserHelpSourceSignature": "73d7fbef53137087880d6a57b6d87366879e7b9c",
31
- "browserHelpText": "\n🦞 OpenClaw 2026.4.29-beta.4 (f68c232) — More integrations than your therapist's intake form.\n\nUsage: openclaw browser [options] [command]\n\nManage OpenClaw's dedicated browser (Chrome/Chromium)\n\nOptions:\n --browser-profile <name> Browser profile name (default from config)\n --expect-final Wait for final response (agent) (default: false)\n -h, --help Display help for command\n --json Output machine-readable JSON (default: false)\n --timeout <ms> Timeout in ms (default: \"30000\")\n --token <token> Gateway token (if required)\n --url <url> Gateway WebSocket URL (defaults to\n gateway.remote.url when configured)\n\nCommands:\n click Click an element by ref from snapshot\n click-coords Click viewport coordinates\n close Close a tab (target id optional)\n console Get recent console messages\n cookies Read/write cookies\n create-profile Create a new browser profile\n delete-profile Delete a browser profile\n dialog Arm the next modal dialog (alert/confirm/prompt)\n doctor Check browser plugin readiness\n download Click a ref and save the resulting download\n drag Drag from one ref to another\n errors Get recent page errors\n evaluate Evaluate a function against the page or a ref\n fill Fill a form with JSON field descriptors\n focus Focus a tab by target id, tab id, label, or unique\n target id prefix\n highlight Highlight an element by ref\n hover Hover an element by ai ref\n navigate Navigate the current tab to a URL\n open Open a URL in a new tab\n pdf Save page as PDF\n press Press a key\n profiles List all browser profiles\n requests Get recent network requests (best-effort)\n reset-profile Reset browser profile (moves it to Trash)\n resize Resize the viewport\n responsebody Wait for a network response and return its body\n screenshot Capture a screenshot (MEDIA:<path>)\n scrollintoview Scroll an element into view by ref from snapshot\n select Select option(s) in a select element\n set Browser environment settings\n snapshot Capture a snapshot (default: ai; aria is the\n accessibility tree)\n start Start the browser (no-op if already running)\n status Show browser status\n stop Stop the browser (best-effort)\n storage Read/write localStorage/sessionStorage\n tab Tab shortcuts (index-based)\n tabs List open tabs\n trace Record a Playwright trace\n type Type into an element by ref from snapshot\n upload Arm file upload for the next file chooser\n wait Wait for time, selector, URL, load state, or JS\n conditions\n waitfordownload Wait for the next download (and save it)\n\nExamples:\n openclaw browser status\n openclaw browser start\n openclaw browser start --headless\n openclaw browser stop\n openclaw browser tabs\n openclaw browser open https://example.com\n openclaw browser focus abcd1234\n openclaw browser close abcd1234\n openclaw browser screenshot\n openclaw browser screenshot --full-page\n openclaw browser screenshot --ref 12\n openclaw browser snapshot\n openclaw browser snapshot --format aria --limit 200\n openclaw browser snapshot --efficient\n openclaw browser snapshot --labels\n openclaw browser navigate https://example.com\n openclaw browser resize 1280 720\n openclaw browser click 12 --double\n openclaw browser click-coords 120 340\n openclaw browser type 23 \"hello\" --submit\n openclaw browser press Enter\n openclaw browser hover 44\n openclaw browser drag 10 11\n openclaw browser select 9 OptionA OptionB\n openclaw browser upload /tmp/openclaw/uploads/file.pdf\n openclaw browser fill --fields '[{\"ref\":\"1\",\"value\":\"Ada\"}]'\n openclaw browser dialog --accept\n openclaw browser wait --text \"Done\"\n openclaw browser evaluate --fn '(el) => el.textContent' --ref 7\n openclaw browser console --level error\n openclaw browser pdf\n\nDocs: https://docs.openclaw.ai/cli/browser\n\n",
32
- "rootHelpText": "\n🦞 OpenClaw 2026.4.29-beta.4 (f68c232)\n I'll do the boring stuff while you dramatically stare at the logs like it's cinema.\n\nUsage: openclaw [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env OPENCLAW_CONTAINER)\n --dev Dev profile: isolate state under ~/.openclaw-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under\n ~/.openclaw-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for OpenClaw\n state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n commitments * List and manage inferred follow-up commitments\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n crestodian Open the ring-zero setup and repair helper\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live OpenClaw docs\n doctor Health checks + quick fixes for the gateway and channels\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage OpenClaw MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate * Import state from another agent system\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage OpenClaw plugins\n proxy * Run the OpenClaw debug proxy and inspect captured traffic\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n terminal Open a local terminal UI (alias for tui --local)\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update OpenClaw and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n openclaw models --help\n Show detailed help for the models command.\n openclaw channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n openclaw message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n openclaw gateway --port 18789\n Run the WebSocket Gateway locally.\n openclaw --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n openclaw gateway --force\n Kill anything bound to the default gateway port, then start it.\n openclaw gateway ...\n Gateway control via WebSocket.\n openclaw agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n openclaw message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.openclaw.ai/cli\n\n"
31
+ "browserHelpText": "\n🦞 OpenClaw 2026.4.29 (a448042) — I'll do the boring stuff while you dramatically stare at the logs like it's cinema.\n\nUsage: openclaw browser [options] [command]\n\nManage OpenClaw's dedicated browser (Chrome/Chromium)\n\nOptions:\n --browser-profile <name> Browser profile name (default from config)\n --expect-final Wait for final response (agent) (default: false)\n -h, --help Display help for command\n --json Output machine-readable JSON (default: false)\n --timeout <ms> Timeout in ms (default: \"30000\")\n --token <token> Gateway token (if required)\n --url <url> Gateway WebSocket URL (defaults to\n gateway.remote.url when configured)\n\nCommands:\n click Click an element by ref from snapshot\n click-coords Click viewport coordinates\n close Close a tab (target id optional)\n console Get recent console messages\n cookies Read/write cookies\n create-profile Create a new browser profile\n delete-profile Delete a browser profile\n dialog Arm the next modal dialog (alert/confirm/prompt)\n doctor Check browser plugin readiness\n download Click a ref and save the resulting download\n drag Drag from one ref to another\n errors Get recent page errors\n evaluate Evaluate a function against the page or a ref\n fill Fill a form with JSON field descriptors\n focus Focus a tab by target id, tab id, label, or unique\n target id prefix\n highlight Highlight an element by ref\n hover Hover an element by ai ref\n navigate Navigate the current tab to a URL\n open Open a URL in a new tab\n pdf Save page as PDF\n press Press a key\n profiles List all browser profiles\n requests Get recent network requests (best-effort)\n reset-profile Reset browser profile (moves it to Trash)\n resize Resize the viewport\n responsebody Wait for a network response and return its body\n screenshot Capture a screenshot (MEDIA:<path>)\n scrollintoview Scroll an element into view by ref from snapshot\n select Select option(s) in a select element\n set Browser environment settings\n snapshot Capture a snapshot (default: ai; aria is the\n accessibility tree)\n start Start the browser (no-op if already running)\n status Show browser status\n stop Stop the browser (best-effort)\n storage Read/write localStorage/sessionStorage\n tab Tab shortcuts (index-based)\n tabs List open tabs\n trace Record a Playwright trace\n type Type into an element by ref from snapshot\n upload Arm file upload for the next file chooser\n wait Wait for time, selector, URL, load state, or JS\n conditions\n waitfordownload Wait for the next download (and save it)\n\nExamples:\n openclaw browser status\n openclaw browser start\n openclaw browser start --headless\n openclaw browser stop\n openclaw browser tabs\n openclaw browser open https://example.com\n openclaw browser focus abcd1234\n openclaw browser close abcd1234\n openclaw browser screenshot\n openclaw browser screenshot --full-page\n openclaw browser screenshot --ref 12\n openclaw browser snapshot\n openclaw browser snapshot --format aria --limit 200\n openclaw browser snapshot --efficient\n openclaw browser snapshot --labels\n openclaw browser navigate https://example.com\n openclaw browser resize 1280 720\n openclaw browser click 12 --double\n openclaw browser click-coords 120 340\n openclaw browser type 23 \"hello\" --submit\n openclaw browser press Enter\n openclaw browser hover 44\n openclaw browser drag 10 11\n openclaw browser select 9 OptionA OptionB\n openclaw browser upload /tmp/openclaw/uploads/file.pdf\n openclaw browser fill --fields '[{\"ref\":\"1\",\"value\":\"Ada\"}]'\n openclaw browser dialog --accept\n openclaw browser wait --text \"Done\"\n openclaw browser evaluate --fn '(el) => el.textContent' --ref 7\n openclaw browser console --level error\n openclaw browser pdf\n\nDocs: https://docs.openclaw.ai/cli/browser\n\n",
32
+ "rootHelpText": "\n🦞 OpenClaw 2026.4.29 (a448042) Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.\n\nUsage: openclaw [options] [command]\n\nOptions:\n --container <name> Run the CLI inside a running Podman/Docker container\n named <name> (default: env OPENCLAW_CONTAINER)\n --dev Dev profile: isolate state under ~/.openclaw-dev, default\n gateway port 19001, and shift derived ports\n (browser/canvas)\n -h, --help Display help for command\n --log-level <level> Global log level override for file + console\n (silent|fatal|error|warn|info|debug|trace)\n --no-color Disable ANSI colors\n --profile <name> Use a named profile (isolates\n OPENCLAW_STATE_DIR/OPENCLAW_CONFIG_PATH under\n ~/.openclaw-<name>)\n -V, --version output the version number\n\nCommands:\n Hint: commands suffixed with * have subcommands. Run <command> --help for details.\n acp * Agent Control Protocol tools\n agent Run one agent turn via the Gateway\n agents * Manage isolated agents (workspaces, auth, routing)\n approvals * Manage exec approvals (gateway or node host)\n backup * Create and verify local backup archives for OpenClaw\n state\n capability * Run provider-backed inference commands (fallback alias:\n infer)\n channels * Manage connected chat channels (Telegram, Discord, etc.)\n chat Open a local terminal UI (alias for tui --local)\n clawbot * Legacy clawbot command aliases\n commitments * List and manage inferred follow-up commitments\n completion Generate shell completion script\n config * Non-interactive config helpers\n (get/set/unset/file/validate). Default: starts guided\n setup.\n configure Interactive configuration for credentials, channels,\n gateway, and agent defaults\n crestodian Open the ring-zero setup and repair helper\n cron * Manage cron jobs via the Gateway scheduler\n daemon * Gateway service (legacy alias)\n dashboard Open the Control UI with your current token\n devices * Device pairing + token management\n directory * Lookup contact and group IDs (self, peers, groups) for\n supported chat channels\n dns * DNS helpers for wide-area discovery (Tailscale + CoreDNS)\n docs Search the live OpenClaw docs\n doctor Health checks + quick fixes for the gateway and channels\n exec-policy * Show or synchronize requested exec policy with host\n approvals\n gateway * Run, inspect, and query the WebSocket Gateway\n health Fetch health from the running gateway\n help Display help for command\n hooks * Manage internal agent hooks\n infer * Run provider-backed inference commands\n logs Tail gateway file logs via RPC\n mcp * Manage OpenClaw MCP config and channel bridge\n memory Search, inspect, and reindex memory files\n message * Send, read, and manage messages\n migrate * Import state from another agent system\n models * Discover, scan, and configure models\n node * Run and manage the headless node host service\n nodes * Manage gateway-owned node pairing and node commands\n onboard Interactive onboarding for gateway, workspace, and skills\n pairing * Secure DM pairing (approve inbound requests)\n plugins * Manage OpenClaw plugins\n proxy * Run the OpenClaw debug proxy and inspect captured traffic\n qr Generate mobile pairing QR/setup code\n reset Reset local config/state (keeps the CLI installed)\n sandbox * Manage sandbox containers for agent isolation\n secrets * Secrets runtime reload controls\n security * Security tools and local config audits\n sessions * List stored conversation sessions\n setup Initialize local config and agent workspace\n skills * List and inspect available skills\n status Show channel health and recent session recipients\n system * System events, heartbeat, and presence\n tasks * Inspect durable background task state\n terminal Open a local terminal UI (alias for tui --local)\n tui Open a terminal UI connected to the Gateway\n uninstall Uninstall the gateway service + local data (CLI remains)\n update * Update OpenClaw and inspect update channel status\n webhooks * Webhook helpers and integrations\n\nExamples:\n openclaw models --help\n Show detailed help for the models command.\n openclaw channels login --verbose\n Link personal WhatsApp Web and show QR + connection logs.\n openclaw message send --target +15555550123 --message \"Hi\" --json\n Send via your web session and print JSON result.\n openclaw gateway --port 18789\n Run the WebSocket Gateway locally.\n openclaw --dev gateway\n Run a dev Gateway (isolated state/config) on ws://127.0.0.1:19001.\n openclaw gateway --force\n Kill anything bound to the default gateway port, then start it.\n openclaw gateway ...\n Gateway control via WebSocket.\n openclaw agent --to +15555550123 --message \"Run summary\" --deliver\n Talk directly to the agent using the Gateway; optionally send the WhatsApp reply.\n openclaw message send --channel telegram --target @mychat --message \"Hi\"\n Send via your Telegram bot.\n\nDocs: https://docs.openclaw.ai/cli\n\n"
33
33
  }
@@ -1,4 +1,4 @@
1
1
  import "./argv-BT86vRPw.js";
2
- import { n as registerCoreCliByName } from "./command-registry-core-D-mq2fz2.js";
3
- import "./command-registry-4zFeahaH.js";
2
+ import { n as registerCoreCliByName } from "./command-registry-core-D7ksM5gN.js";
3
+ import "./command-registry-acvmVSJl.js";
4
4
  export { registerCoreCliByName };
@@ -1,5 +1,5 @@
1
- import { r as registerCoreCliCommands } from "./command-registry-core-D-mq2fz2.js";
2
- import { n as registerSubCliCommands } from "./register.subclis-BP-u0NG0.js";
1
+ import { r as registerCoreCliCommands } from "./command-registry-core-D7ksM5gN.js";
2
+ import { n as registerSubCliCommands } from "./register.subclis-6aNnH4u4.js";
3
3
  //#region src/cli/program/command-registry.ts
4
4
  function registerProgramCommands(program, ctx, argv = process.argv) {
5
5
  registerCoreCliCommands(program, ctx, argv);
@@ -2,7 +2,7 @@ import { _ as getCoreCliCommandDescriptors, v as getCoreCliCommandNames$1 } from
2
2
  import { t as resolveCliArgvInvocation } from "./argv-invocation-CwlsoXUV.js";
3
3
  import { n as shouldRegisterPrimaryCommandOnly } from "./command-registration-policy-JVX17gCM.js";
4
4
  import { i as registerCommandGroups, r as registerCommandGroupByName } from "./register-command-groups-DFPVcDj5.js";
5
- import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-CQMwCAER.js";
5
+ import { a as defineImportedCommandGroupSpec, i as buildCommandGroupEntries, o as defineImportedProgramCommandGroupSpecs } from "./register.subclis-core-D2waj9Px.js";
6
6
  //#region src/cli/program/command-registry-core.ts
7
7
  function withProgramOnlySpecs(specs) {
8
8
  return specs.map((spec) => ({
@@ -16,7 +16,7 @@ const coreEntrySpecs = [
16
16
  ...withProgramOnlySpecs(defineImportedProgramCommandGroupSpecs([
17
17
  {
18
18
  commandNames: ["crestodian"],
19
- loadModule: () => import("./register.crestodian-D0gXkGM6.js"),
19
+ loadModule: () => import("./register.crestodian-Cq4pz7hq.js"),
20
20
  exportName: "registerCrestodianCommand"
21
21
  },
22
22
  {
@@ -36,7 +36,7 @@ const coreEntrySpecs = [
36
36
  },
37
37
  {
38
38
  commandNames: ["config"],
39
- loadModule: () => import("./config-cli-D9Xw1yY9.js"),
39
+ loadModule: () => import("./config-cli-CJmqioRD.js"),
40
40
  exportName: "registerConfigCli"
41
41
  },
42
42
  {
@@ -2,8 +2,8 @@ import { t as formatDocsLink } from "./links-BszRQhGa.js";
2
2
  import { r as theme } from "./theme-B128avno.js";
3
3
  import { a as routeLogsToStderr } from "./console-DHOcTk-M.js";
4
4
  import { c as resolveShellFromEnv, i as installCompletion, o as isCompletionShell, s as resolveCompletionCachePath, t as COMPLETION_SHELLS } from "./completion-runtime-Bf-6jfGH.js";
5
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-CQMwCAER.js";
6
- import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-core-D-mq2fz2.js";
5
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-core-D2waj9Px.js";
6
+ import { n as registerCoreCliByName, t as getCoreCliCommandNames } from "./command-registry-core-D7ksM5gN.js";
7
7
  import { t as getProgramContext } from "./program-context-CD9YUOIg.js";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
@@ -17,7 +17,7 @@ import { r as replaceConfigFile } from "./mutate-DfVitNFo.js";
17
17
  import "./config-DMj91OAB.js";
18
18
  import { a as normalizeConfigIssues, n as formatConfigIssueLines } from "./issue-format-C4PaL3KR.js";
19
19
  import { n as redactConfigObject } from "./redact-snapshot-yy2L2LOA.js";
20
- import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-CRTpn-8J.js";
20
+ import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-CmPa3oms.js";
21
21
  import { n as setCommandJsonMode } from "./json-mode-RgLQNcy2.js";
22
22
  import fs from "node:fs";
23
23
  import JSON5 from "json5";
@@ -1,2 +1,2 @@
1
- import { t as runCrestodian } from "../crestodian-C_yXECob.js";
1
+ import { t as runCrestodian } from "../crestodian-BZcQ3vGp.js";
2
2
  export { runCrestodian };
@@ -1,6 +1,6 @@
1
1
  import { _ as resolveStateDir } from "../paths-B2cMK-wd.js";
2
2
  import { c as normalizeAgentId } from "../session-key-Bd0xquXF.js";
3
- import { a as parseCrestodianOperation, i as isPersistentCrestodianOperation, n as executeCrestodianOperation, r as formatCrestodianPersistentPlan } from "../operations-CI3QuHkz.js";
3
+ import { a as parseCrestodianOperation, i as isPersistentCrestodianOperation, n as executeCrestodianOperation, r as formatCrestodianPersistentPlan } from "../operations-Dv3OdJJA.js";
4
4
  import path from "node:path";
5
5
  import fs from "node:fs/promises";
6
6
  import { createHash, randomUUID } from "node:crypto";
@@ -1,8 +1,8 @@
1
1
  import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-CChwgwyg.js";
2
2
  import { r as withProgress } from "./progress-CmGESScF.js";
3
- import { i as isPersistentCrestodianOperation, n as executeCrestodianOperation } from "./operations-CI3QuHkz.js";
3
+ import { i as isPersistentCrestodianOperation, n as executeCrestodianOperation } from "./operations-Dv3OdJJA.js";
4
4
  import { r as loadCrestodianOverview, t as formatCrestodianOverview } from "./overview-Cz1A8x4x.js";
5
- import { r as resolveCrestodianOperation } from "./dialogue-33J6ENUj.js";
5
+ import { r as resolveCrestodianOperation } from "./dialogue-QGqgdXIN.js";
6
6
  import { stdin, stdout } from "node:process";
7
7
  //#region src/crestodian/crestodian.ts
8
8
  function crestodianCommandDepsFromOptions(opts) {
@@ -46,7 +46,7 @@ async function runCrestodian(opts = {}, runtime = defaultRuntime) {
46
46
  runtime.error("Crestodian needs an interactive TTY. Use --message for one command.");
47
47
  return;
48
48
  }
49
- const runInteractiveTui = opts.runInteractiveTui ?? (await import("./tui-backend-jraszqL8.js")).runCrestodianTui;
49
+ const runInteractiveTui = opts.runInteractiveTui ?? (await import("./tui-backend-WAWHGrNZ.js")).runCrestodianTui;
50
50
  opts.onReady?.();
51
51
  await runInteractiveTui(opts, runtime);
52
52
  }
@@ -1,4 +1,4 @@
1
- import { a as parseCrestodianOperation, t as describeCrestodianPersistentOperation } from "./operations-CI3QuHkz.js";
1
+ import { a as parseCrestodianOperation, t as describeCrestodianPersistentOperation } from "./operations-Dv3OdJJA.js";
2
2
  import { r as loadCrestodianOverview } from "./overview-Cz1A8x4x.js";
3
3
  //#region src/crestodian/dialogue.ts
4
4
  function approvalQuestion(operation) {
@@ -11,7 +11,7 @@ import { r as withProgress } from "./progress-CmGESScF.js";
11
11
  import { n as runCommandWithRuntime } from "./cli-utils-CYzj_K_F.js";
12
12
  import { t as formatHelpExamples } from "./help-format-B4j9ozVX.js";
13
13
  import { n as buildGatewayDiscoveryTarget } from "./gateway-discovery-targets-BU9k64CO.js";
14
- import { n as addGatewayRunCommand } from "./run-nqrZNRUv.js";
14
+ import { n as addGatewayRunCommand } from "./run-BIBbmab3.js";
15
15
  //#region src/cli/gateway-cli/call.ts
16
16
  const gatewayCallOpts = (cmd) => cmd.option("--url <url>", "Gateway WebSocket URL (defaults to gateway.remote.url when configured)").option("--token <token>", "Gateway token (if required)").option("--password <password>", "Gateway password (password auth)").option("--timeout <ms>", "Timeout in ms", "10000").option("--expect-final", "Wait for final response (agent)", false).option("--json", "Output JSON", false);
17
17
  const callGatewayCli = async (method, opts, params) => withProgress({
@@ -387,7 +387,7 @@ async function executeCrestodianOperation(operation, runtime, opts = {}) {
387
387
  const { readConfigFileSnapshot } = await import("./config/config.js");
388
388
  const before = await readConfigFileSnapshot();
389
389
  await (opts.deps?.runConfigSet ?? (async (setOpts) => {
390
- const { runConfigSet: importedRunConfigSet } = await import("./config-cli-D9Xw1yY9.js");
390
+ const { runConfigSet: importedRunConfigSet } = await import("./config-cli-CJmqioRD.js");
391
391
  await importedRunConfigSet({
392
392
  ...setOpts,
393
393
  runtime: createNoExitRuntime(runtime)
@@ -425,7 +425,7 @@ async function executeCrestodianOperation(operation, runtime, opts = {}) {
425
425
  const { readConfigFileSnapshot } = await import("./config/config.js");
426
426
  const before = await readConfigFileSnapshot();
427
427
  await (opts.deps?.runConfigSet ?? (async (setOpts) => {
428
- const { runConfigSet: importedRunConfigSet } = await import("./config-cli-D9Xw1yY9.js");
428
+ const { runConfigSet: importedRunConfigSet } = await import("./config-cli-CJmqioRD.js");
429
429
  await importedRunConfigSet({
430
430
  ...setOpts,
431
431
  runtime: createNoExitRuntime(runtime)
@@ -1 +1 @@
1
- 2026-04-30T19:54:43.273Z
1
+ 2026-04-30T20:51:12.259Z
@@ -519,9 +519,9 @@
519
519
  "dist/command-queue-D7pbcksz.js",
520
520
  "dist/command-registration-B37yWi76.js",
521
521
  "dist/command-registration-policy-JVX17gCM.js",
522
- "dist/command-registry-4zFeahaH.js",
523
- "dist/command-registry-B0uJzGnK.js",
524
- "dist/command-registry-core-D-mq2fz2.js",
522
+ "dist/command-registry-acvmVSJl.js",
523
+ "dist/command-registry-core-D7ksM5gN.js",
524
+ "dist/command-registry-DARUwve8.js",
525
525
  "dist/command-secret-gateway-DPEBq4q4.js",
526
526
  "dist/command-secret-targets-BqlyieXD.js",
527
527
  "dist/command-secret-targets-CUh2BMNg.js",
@@ -572,7 +572,7 @@
572
572
  "dist/compaction-Bb_Xp9TI.js",
573
573
  "dist/compaction-runtime-context-C93NVr6a.js",
574
574
  "dist/compaction-successor-transcript-DQe2lN3x.js",
575
- "dist/completion-cli-CdR7m2hI.js",
575
+ "dist/completion-cli-B8YHQgFP.js",
576
576
  "dist/completion-runtime-Bf-6jfGH.js",
577
577
  "dist/config-acsZsRTx.js",
578
578
  "dist/config-activation-shared-BwJwE1WI.js",
@@ -582,7 +582,7 @@
582
582
  "dist/config-BtkrB-_P.js",
583
583
  "dist/config-BUXinPt_.js",
584
584
  "dist/config-Ckh0cfVg.js",
585
- "dist/config-cli-D9Xw1yY9.js",
585
+ "dist/config-cli-CJmqioRD.js",
586
586
  "dist/config-compat-Bmsn0QeC.js",
587
587
  "dist/config-compat-CTgUW_36.js",
588
588
  "dist/config-compat-DxffjGZP.js",
@@ -714,7 +714,7 @@
714
714
  "dist/credential-planner-DDenZXnc.js",
715
715
  "dist/credentials-BiQRb9SO.js",
716
716
  "dist/credentials-secret-inputs-D8qfd3Na.js",
717
- "dist/crestodian-C_yXECob.js",
717
+ "dist/crestodian-BZcQ3vGp.js",
718
718
  "dist/crestodian/crestodian.js",
719
719
  "dist/crestodian/rescue-message.js",
720
720
  "dist/cron-cli-Che18EQS.js",
@@ -803,7 +803,7 @@
803
803
  "dist/diagnostics-B9mjipT1.js",
804
804
  "dist/diagnostics-Bhj658yc.js",
805
805
  "dist/diagnostics-BMMxJqI0.js",
806
- "dist/dialogue-33J6ENUj.js",
806
+ "dist/dialogue-QGqgdXIN.js",
807
807
  "dist/direct-dm-access-Bl-uAm_P.js",
808
808
  "dist/direct-dm-CT_L-921.js",
809
809
  "dist/direct-dm-guard-policy-C-xDiob-.js",
@@ -2698,7 +2698,7 @@
2698
2698
  "dist/gateway-B0qlF1tf.js",
2699
2699
  "dist/gateway-bindings-C51Q1UoH.js",
2700
2700
  "dist/gateway-C0Qew8Rs.js",
2701
- "dist/gateway-cli-BEwyIadN.js",
2701
+ "dist/gateway-cli-C2mm4Z0E.js",
2702
2702
  "dist/gateway-control-ui-origins-FBVsLzdm.js",
2703
2703
  "dist/gateway-discovery-targets-BU9k64CO.js",
2704
2704
  "dist/gateway-DutsDdiA.js",
@@ -3317,7 +3317,7 @@
3317
3317
  "dist/openclaw.plugin-pC47fKI4.js",
3318
3318
  "dist/openclaw.plugin-yBCnDYY6.js",
3319
3319
  "dist/openresponses-http-Ce_EI34x.js",
3320
- "dist/operations-CI3QuHkz.js",
3320
+ "dist/operations-Dv3OdJJA.js",
3321
3321
  "dist/operator-approvals-client-mfuqWI-p.js",
3322
3322
  "dist/operator-scopes-Cu7VCRx9.js",
3323
3323
  "dist/order-3oYpj8sv.js",
@@ -7548,9 +7548,9 @@
7548
7548
  "dist/profile-list-CAJlbTVn.js",
7549
7549
  "dist/profile-utils-7b3ZHGpe.js",
7550
7550
  "dist/profiles-Scc2yc4z.js",
7551
+ "dist/program-BrS1V7cf.js",
7551
7552
  "dist/program-context-CD9YUOIg.js",
7552
7553
  "dist/program-context-LLlLFuNV.js",
7553
- "dist/program-D8LtaElX.js",
7554
7554
  "dist/progress-CmGESScF.js",
7555
7555
  "dist/progress-D6iPLuW-.js",
7556
7556
  "dist/progress-line-BLlwPNs4.js",
@@ -7762,16 +7762,16 @@
7762
7762
  "dist/register.agent-D263coGf.js",
7763
7763
  "dist/register.backup-CUVeyfdc.js",
7764
7764
  "dist/register.configure-CD27wW_N.js",
7765
- "dist/register.crestodian-D0gXkGM6.js",
7765
+ "dist/register.crestodian-Cq4pz7hq.js",
7766
7766
  "dist/register.maintenance-CGpzvxkD.js",
7767
7767
  "dist/register.message-BUA5UmMq.js",
7768
7768
  "dist/register.migrate-Ba-j84l5.js",
7769
7769
  "dist/register.onboard-D3f3gwSX.js",
7770
7770
  "dist/register.setup-C0hIbv0J.js",
7771
7771
  "dist/register.status-health-sessions-Cpc-NwPE.js",
7772
- "dist/register.subclis-BP-u0NG0.js",
7773
- "dist/register.subclis-core-CQMwCAER.js",
7774
- "dist/register.subclis-DWMKObO3.js",
7772
+ "dist/register.subclis-6aNnH4u4.js",
7773
+ "dist/register.subclis-BWb8dmMN.js",
7774
+ "dist/register.subclis-core-D2waj9Px.js",
7775
7775
  "dist/registry-Bj09X5sS.js",
7776
7776
  "dist/registry-CuF9z5Se.js",
7777
7777
  "dist/registry-CWPwZ76z.js",
@@ -7838,7 +7838,7 @@
7838
7838
  "dist/root-help-metadata-CNF_rdrC.js",
7839
7839
  "dist/root-memory-files-DN_S_J9Z.js",
7840
7840
  "dist/route-auth-BAzwdVeD.js",
7841
- "dist/route-CZYkstbL.js",
7841
+ "dist/route-D9raPzjF.js",
7842
7842
  "dist/route-reply-WtcCeBE3.js",
7843
7843
  "dist/route-reply.runtime-D4PGzijU.js",
7844
7844
  "dist/route-reply.runtime.js",
@@ -7851,7 +7851,8 @@
7851
7851
  "dist/rpc.runtime.js",
7852
7852
  "dist/run-auth-profile.runtime-CuazsEtY.js",
7853
7853
  "dist/run-auth-profile.runtime.js",
7854
- "dist/run-C8rwWlkL.js",
7854
+ "dist/run-BIBbmab3.js",
7855
+ "dist/run-BzF59G3q.js",
7855
7856
  "dist/run-command-BLjDRbh4.js",
7856
7857
  "dist/run-context.runtime-AfDyLemn.js",
7857
7858
  "dist/run-context.runtime.js",
@@ -7869,7 +7870,6 @@
7869
7870
  "dist/run-log-Dk6PeWhx.js",
7870
7871
  "dist/run-model-catalog.runtime-DVqeVXen.js",
7871
7872
  "dist/run-model-catalog.runtime.js",
7872
- "dist/run-nqrZNRUv.js",
7873
7873
  "dist/run-session-state-CllcDXPT.js",
7874
7874
  "dist/run-subagent-registry.runtime-BRN1H9Va.js",
7875
7875
  "dist/run-subagent-registry.runtime.js",
@@ -7950,7 +7950,7 @@
7950
7950
  "dist/runtime-provider-CFJlolx0.js",
7951
7951
  "dist/runtime-registry-loader-DW8FE8ql.js",
7952
7952
  "dist/runtime-registry-loader-DWa5uqxw.js",
7953
- "dist/runtime-schema-CRTpn-8J.js",
7953
+ "dist/runtime-schema-CmPa3oms.js",
7954
7954
  "dist/runtime-shared-B5QAMc3I.js",
7955
7955
  "dist/runtime-shared-BdQkiU9x.js",
7956
7956
  "dist/runtime-sidecar-paths-tSLda2Uf.js",
@@ -8031,20 +8031,20 @@
8031
8031
  "dist/send.runtime-EC4ziJT0.js",
8032
8032
  "dist/send.runtime.js",
8033
8033
  "dist/server-BKQEKrVW.js",
8034
- "dist/server-CARhfUAH.js",
8035
8034
  "dist/server-chat-BoFKptZ_.js",
8036
8035
  "dist/server-chat-state-CA9H9wQk.js",
8037
8036
  "dist/server-close-D1yUo6cN.js",
8038
8037
  "dist/server-constants-Dphr0nk_.js",
8039
8038
  "dist/server-context-C31YeKJB.js",
8040
8039
  "dist/server-context-RLMBuY9e.js",
8040
+ "dist/server-eOjZMaDe.js",
8041
8041
  "dist/server-json-Dx1cWtkN.js",
8042
- "dist/server-methods-Bc5oxH0i.js",
8042
+ "dist/server-methods-DSL6KpJ1.js",
8043
8043
  "dist/server-middleware-sr_kVwZQ.js",
8044
8044
  "dist/server-model-catalog-DkAugHJX.js",
8045
8045
  "dist/server-node-events-Qt7tP_J3.js",
8046
- "dist/server-plugin-bootstrap-9cLR4MxX.js",
8047
- "dist/server-plugin-bootstrap-CMuR3oQT.js",
8046
+ "dist/server-plugin-bootstrap-BRC-AHCu.js",
8047
+ "dist/server-plugin-bootstrap-SWyfRjLE.js",
8048
8048
  "dist/server-reload-handlers-YaqmLQBK.js",
8049
8049
  "dist/server-restart-sentinel-_OFhLVvA.js",
8050
8050
  "dist/server-restart-sentinel-Bcd_Ze5e.js",
@@ -8052,7 +8052,7 @@
8052
8052
  "dist/server-startup-log-CcTt-Yiu.js",
8053
8053
  "dist/server-startup-memory-DGAtB-2g.js",
8054
8054
  "dist/server-tailscale-DhHVFKeK.js",
8055
- "dist/server.impl-BUEY4vnB.js",
8055
+ "dist/server.impl-D5mN3W3v.js",
8056
8056
  "dist/service-audit-B7DL12bi.js",
8057
8057
  "dist/service-audit-C_kYxKF3.js",
8058
8058
  "dist/service-CokojkqE.js",
@@ -8524,7 +8524,7 @@
8524
8524
  "dist/tts.runtime-66taD50M.js",
8525
8525
  "dist/tts.runtime-weK_I-Q8.js",
8526
8526
  "dist/tts.runtime.js",
8527
- "dist/tui-backend-jraszqL8.js",
8527
+ "dist/tui-backend-WAWHGrNZ.js",
8528
8528
  "dist/tui-cli-DcNLae-q.js",
8529
8529
  "dist/tui-CS8NuDEl.js",
8530
8530
  "dist/tui-DN9rW-QU.js",
@@ -10,7 +10,7 @@ import { n as setProgramContext } from "./program-context-CD9YUOIg.js";
10
10
  import { t as isCommandJsonOutputMode } from "./json-mode-RgLQNcy2.js";
11
11
  import { n as resolvePluginInstallPreactionRequest, t as resolvePluginInstallInvalidConfigPolicy } from "./plugin-install-config-policy-gImx6RIW.js";
12
12
  import { t as forceFreePort } from "./ports-C4mTeq9v.js";
13
- import { t as registerProgramCommands } from "./command-registry-4zFeahaH.js";
13
+ import { t as registerProgramCommands } from "./command-registry-acvmVSJl.js";
14
14
  import { t as configureProgramHelp } from "./help-Ds4lLJt3.js";
15
15
  import { n as ensureCliExecutionBootstrap, r as resolveCliExecutionStartupContext, t as applyCliExecutionStartupPresentation } from "./command-execution-startup-BGMPpEWB.js";
16
16
  import process$1 from "node:process";
@@ -1,6 +1,6 @@
1
1
  import { r as theme } from "./theme-B128avno.js";
2
2
  import { n as defaultRuntime } from "./runtime-CChwgwyg.js";
3
- import { t as runCrestodian } from "./crestodian-C_yXECob.js";
3
+ import { t as runCrestodian } from "./crestodian-BZcQ3vGp.js";
4
4
  import { n as runCommandWithRuntime } from "./cli-utils-CYzj_K_F.js";
5
5
  import { t as formatHelpExamples } from "./help-format-B4j9ozVX.js";
6
6
  //#region src/cli/program/register.crestodian.ts
@@ -2,11 +2,11 @@ import { h as getSubCliEntries } from "./argv-BT86vRPw.js";
2
2
  import { t as resolveCliArgvInvocation } from "./argv-invocation-CwlsoXUV.js";
3
3
  import { r as shouldRegisterPrimarySubcommandOnly, t as shouldEagerRegisterSubcommands } from "./command-registration-policy-JVX17gCM.js";
4
4
  import { i as registerCommandGroups, r as registerCommandGroupByName } from "./register-command-groups-DFPVcDj5.js";
5
- import { i as buildCommandGroupEntries, n as registerSubCliByName$1, o as defineImportedProgramCommandGroupSpecs, r as registerSubCliCommands$1 } from "./register.subclis-core-CQMwCAER.js";
5
+ import { i as buildCommandGroupEntries, n as registerSubCliByName$1, o as defineImportedProgramCommandGroupSpecs, r as registerSubCliCommands$1 } from "./register.subclis-core-D2waj9Px.js";
6
6
  //#region src/cli/program/register.subclis.ts
7
7
  const entrySpecs = [...defineImportedProgramCommandGroupSpecs([{
8
8
  commandNames: ["completion"],
9
- loadModule: () => import("./completion-cli-CdR7m2hI.js"),
9
+ loadModule: () => import("./completion-cli-B8YHQgFP.js"),
10
10
  exportName: "registerCompletionCli"
11
11
  }])];
12
12
  function resolveSubCliCommandGroups() {
@@ -0,0 +1,3 @@
1
+ import "./argv-BT86vRPw.js";
2
+ import { t as registerSubCliByName } from "./register.subclis-6aNnH4u4.js";
3
+ export { registerSubCliByName };
@@ -52,7 +52,7 @@ function shouldRegisterGatewayRunOnly(name, argv) {
52
52
  return invocation.commandPath.length === 1 || invocation.commandPath[1] === "run";
53
53
  }
54
54
  async function registerGatewayRunOnly(program) {
55
- const { addGatewayRunCommand } = await import("./run-C8rwWlkL.js");
55
+ const { addGatewayRunCommand } = await import("./run-BzF59G3q.js");
56
56
  removeCommandByName(program, "gateway");
57
57
  addGatewayRunCommand(addGatewayRunCommand(program.command("gateway").description("Run, inspect, and query the WebSocket Gateway")).command("run").description("Run the WebSocket Gateway (foreground)"));
58
58
  }
@@ -73,7 +73,7 @@ const entrySpecs = [
73
73
  },
74
74
  {
75
75
  commandNames: ["gateway"],
76
- loadModule: () => import("./gateway-cli-BEwyIadN.js"),
76
+ loadModule: () => import("./gateway-cli-C2mm4Z0E.js"),
77
77
  exportName: "registerGatewayCli"
78
78
  },
79
79
  {
@@ -232,7 +232,7 @@ let configCliPromise;
232
232
  let modelsListCommandPromise;
233
233
  let modelsStatusCommandPromise;
234
234
  function loadConfigCli() {
235
- configCliPromise ??= import("./config-cli-D9Xw1yY9.js");
235
+ configCliPromise ??= import("./config-cli-CJmqioRD.js");
236
236
  return configCliPromise;
237
237
  }
238
238
  function loadModelsListCommand() {
@@ -632,7 +632,7 @@ async function runGatewayCommand(opts) {
632
632
  const { startGatewayServer } = await startupTrace.measure("cli.server-import", () => withProgress({
633
633
  label: "Loading gateway modules…",
634
634
  indeterminate: true
635
- }, async () => import("./server-CARhfUAH.js")));
635
+ }, async () => import("./server-eOjZMaDe.js")));
636
636
  setConsoleTimestampPrefix(true);
637
637
  if (devMode) {
638
638
  const { ensureDevGatewayConfig } = await import("./dev-C5e5EjLL.js");
@@ -1,2 +1,2 @@
1
- import { n as addGatewayRunCommand, t as __testing } from "./run-nqrZNRUv.js";
1
+ import { n as addGatewayRunCommand, t as __testing } from "./run-BIBbmab3.js";
2
2
  export { __testing, addGatewayRunCommand };
@@ -26795,7 +26795,7 @@ const GENERATED_BASE_CONFIG_SCHEMA = {
26795
26795
  ] },
26796
26796
  "mcp.servers.*.url": { tags: ["advanced", "url-secret"] }
26797
26797
  },
26798
- version: "2026.4.29-beta.4",
26798
+ version: "2026.4.29",
26799
26799
  generatedAt: "2026-03-22T21:17:33.302Z"
26800
26800
  };
26801
26801
  //#endregion
@@ -8,7 +8,7 @@ async function loadServerImpl() {
8
8
  const startupStartedAt = performance.now();
9
9
  const before = performance.now();
10
10
  try {
11
- return await import("./server.impl-BUEY4vnB.js");
11
+ return await import("./server.impl-D5mN3W3v.js");
12
12
  } finally {
13
13
  const now = performance.now();
14
14
  emitStartupTrace("gateway.server-impl-import", now - before, now - startupStartedAt);
@@ -169,7 +169,7 @@ import { n as buildAuthHealthSummary, r as formatRemainingShort } from "./auth-h
169
169
  import { a as performGatewaySessionReset } from "./session-reset-service-CRT9a2Ma.js";
170
170
  import { t as buildChannelUiCatalog } from "./catalog-qA_sTIP2.js";
171
171
  import { c as repairDreamingArtifacts, i as previewRemHarness, l as writeBackfillDiaryEntries, n as dedupeDreamDiaryEntries, o as removeBackfillDiaryEntries, r as previewGroundedRemMarkdown, s as removeGroundedShortTermCandidates } from "./memory-core-bundled-runtime-A6HKJ6p3.js";
172
- import { r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-CRTpn-8J.js";
172
+ import { r as lookupConfigSchema, t as loadGatewayRuntimeConfigSchema } from "./runtime-schema-CmPa3oms.js";
173
173
  import { t as readConfiguredLogTail } from "./log-tail-CrsSDXjP.js";
174
174
  import { n as purgeAgentSessionStoreEntries } from "./agents.command-shared-ebf-8Kl8.js";
175
175
  import { o as pruneAgentConfig, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CbFcOW3u.js";
@@ -292,7 +292,7 @@ async function dispatchGatewayMethod(method, params, options) {
292
292
  const isWebchatConnect = scope?.isWebchatConnect ?? (() => false);
293
293
  if (!context) throw new Error(`Plugin subagent dispatch requires a gateway request scope (method: ${method}). No scope set and no fallback context available.`);
294
294
  let result;
295
- const { handleGatewayRequest } = await import("./server-methods-Bc5oxH0i.js");
295
+ const { handleGatewayRequest } = await import("./server-methods-DSL6KpJ1.js");
296
296
  const pluginRuntimeOwnerId = typeof options?.pluginRuntimeOwnerId === "string" && options.pluginRuntimeOwnerId.trim() ? options.pluginRuntimeOwnerId.trim() : void 0;
297
297
  const syntheticClient = createSyntheticOperatorClient({
298
298
  allowModelOverride: options?.allowSyntheticModelOverride === true,
@@ -1,2 +1,2 @@
1
- import { r as reloadDeferredGatewayPlugins } from "./server-plugin-bootstrap-9cLR4MxX.js";
1
+ import { r as reloadDeferredGatewayPlugins } from "./server-plugin-bootstrap-BRC-AHCu.js";
2
2
  export { reloadDeferredGatewayPlugins };
@@ -119,7 +119,7 @@ import { S as roleCanSkipDeviceIdentity, a as resolveSessionKeyForRun, c as clea
119
119
  import { i as buildGatewayReloadPlan, t as diffConfigPaths } from "./config-reload-L1X8cyxg.js";
120
120
  import { a as resolveApnsAuthConfigFromEnv, c as sendApnsExecApprovalAlert, d as resolveApnsRelayConfigFromEnv, l as sendApnsExecApprovalResolvedWake, n as loadApnsRegistration, t as clearApnsRegistrationIfCurrent, u as shouldClearStoredApnsRegistration } from "./push-apns-Czx5Pfx3.js";
121
121
  import { i as normalizeCanvasScopedUrl, n as buildCanvasScopedHostUrl, r as mintCanvasCapabilityToken, t as CANVAS_CAPABILITY_TTL_MS } from "./canvas-capability-DMM_Pl7c.js";
122
- import { a as loadPluginLookUpTable, i as setFallbackGatewayContextResolver, o as mergeActivationSectionsIntoRuntimeConfig, t as loadGatewayStartupPlugins } from "./server-plugin-bootstrap-9cLR4MxX.js";
122
+ import { a as loadPluginLookUpTable, i as setFallbackGatewayContextResolver, o as mergeActivationSectionsIntoRuntimeConfig, t as loadGatewayStartupPlugins } from "./server-plugin-bootstrap-BRC-AHCu.js";
123
123
  import { a as getRequiredSharedGatewaySessionGeneration, d as DEFAULT_CHANNEL_CONNECT_GRACE_MS, f as DEFAULT_CHANNEL_STALE_EVENT_THRESHOLD_MS, g as enqueueConfigRecoveryNotice, h as buildGatewayCronService, i as enforceSharedGatewaySessionGenerationForConfigWrite, m as applyGatewayLaneConcurrency, n as disconnectAllSharedGatewayAuthClients, o as setCurrentSharedGatewaySessionGeneration, p as evaluateChannelHealth, r as disconnectStaleSharedGatewayAuthClients, s as activateGatewayScheduledServices, t as resolveHookClientIpConfig, u as startGatewayRuntimeServices } from "./hook-client-ip-config-BCNYpeHn.js";
124
124
  import { a as resolvePluginRoutePathContext, i as isProtectedPluginRoutePathFromContext, n as shouldEnforceGatewayAuthForPluginPath } from "./route-auth-BAzwdVeD.js";
125
125
  import "./paths-B5oeO2W0.js";
@@ -7058,7 +7058,7 @@ function attachGatewayWsMessageHandler(params) {
7058
7058
  });
7059
7059
  };
7060
7060
  (async () => {
7061
- const { handleGatewayRequest } = await import("./server-methods-Bc5oxH0i.js");
7061
+ const { handleGatewayRequest } = await import("./server-methods-DSL6KpJ1.js");
7062
7062
  await handleGatewayRequest({
7063
7063
  req,
7064
7064
  respond,
@@ -8167,7 +8167,7 @@ async function startGatewayServer(port = 18789, opts = {}) {
8167
8167
  } : () => {};
8168
8168
  if (!minimalTestGateway) {
8169
8169
  if (deferredConfiguredChannelPluginIds.length > 0) {
8170
- const { reloadDeferredGatewayPlugins } = await import("./server-plugin-bootstrap-CMuR3oQT.js");
8170
+ const { reloadDeferredGatewayPlugins } = await import("./server-plugin-bootstrap-SWyfRjLE.js");
8171
8171
  ({pluginRegistry, gatewayMethods: baseGatewayMethods} = reloadDeferredGatewayPlugins({
8172
8172
  cfg: gatewayPluginConfigAtStart,
8173
8173
  activationSourceConfig: startupActivationSourceConfig,
@@ -1,7 +1,7 @@
1
1
  import { r as buildAgentMainSessionKey } from "./session-key-Bd0xquXF.js";
2
- import { i as isPersistentCrestodianOperation, n as executeCrestodianOperation } from "./operations-CI3QuHkz.js";
2
+ import { i as isPersistentCrestodianOperation, n as executeCrestodianOperation } from "./operations-Dv3OdJJA.js";
3
3
  import { n as formatCrestodianStartupMessage, r as loadCrestodianOverview } from "./overview-Cz1A8x4x.js";
4
- import { n as isYes, r as resolveCrestodianOperation, t as approvalQuestion } from "./dialogue-33J6ENUj.js";
4
+ import { n as isYes, r as resolveCrestodianOperation, t as approvalQuestion } from "./dialogue-QGqgdXIN.js";
5
5
  import { f as runTui } from "./tui-DN9rW-QU.js";
6
6
  import { randomUUID } from "node:crypto";
7
7
  //#region src/crestodian/tui-backend.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw",
3
- "version": "2026.4.29-beta.4",
3
+ "version": "2026.4.29",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/openclaw/openclaw#readme",
@@ -1,3 +0,0 @@
1
- import "./argv-BT86vRPw.js";
2
- import { t as registerSubCliByName } from "./register.subclis-BP-u0NG0.js";
3
- export { registerSubCliByName };