clawbrah 1.0.1 → 1.0.2

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 (74) hide show
  1. package/README.md +8 -0
  2. package/dist/{acp-cli-BnKXNti3.js → acp-cli-CcucTH3-.js} +2 -2
  3. package/dist/{agent-BIxLfYkv.js → agent-Dtt33y4K.js} +5 -5
  4. package/dist/{audit-DK1NXsUR.js → audit-XCSjij3p.js} +5 -5
  5. package/dist/build-info.json +2 -2
  6. package/dist/{call-B0EB11Hz.js → call-BCKAcENU.js} +1 -1
  7. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  8. package/dist/{channel-options-DLVRytYw.js → channel-options-CtT-DYGS.js} +1 -1
  9. package/dist/{channel-summary-ECvQTB5n.js → channel-summary-DdBFUMut.js} +2 -2
  10. package/dist/{channels-cli-NW8TfhTG.js → channels-cli-BpWN37TL.js} +16 -16
  11. package/dist/{chrome-4hKxr5KT.js → chrome-YyXlpRHF.js} +7 -7
  12. package/dist/cli/daemon-cli.js +1 -1
  13. package/dist/{cli-CBWZx_9K.js → cli-CBRgCv0e.js} +14 -14
  14. package/dist/{client-to8eMV2s.js → client-B0XbrmGE.js} +3 -3
  15. package/dist/{completion-cli-BO3ziRR1.js → completion-cli-AvBp6AtM.js} +20 -20
  16. package/dist/{completion-cli-xQqLK_Ni.js → completion-cli-BJDSqY7E.js} +1 -1
  17. package/dist/{config-guard-CKr985of.js → config-guard-CZUUTZtP.js} +3 -3
  18. package/dist/{configure-tZw988ro.js → configure-D4Ol2sJ7.js} +4 -4
  19. package/dist/{control-service-Dssk9Kaa.js → control-service-CcBK8tVJ.js} +3 -3
  20. package/dist/control-ui/assets/{index-Dm6g1E26.js → index-D0ToVTL2.js} +73 -73
  21. package/dist/control-ui/assets/index-D0ToVTL2.js.map +1 -0
  22. package/dist/control-ui/index.html +2 -2
  23. package/dist/{cron-cli-B-LWRLK-.js → cron-cli-oVmbA9m3.js} +3 -3
  24. package/dist/{daemon-cli-CatDQvXp.js → daemon-cli-BTUVzdFV.js} +5 -5
  25. package/dist/{deliver-BBwjenkx.js → deliver-BL3iTzV7.js} +3 -3
  26. package/dist/{deps-NlR-vxlh.js → deps-DwFGYEfo.js} +2 -2
  27. package/dist/{devices-cli-_rugjRme.js → devices-cli-Dh1zQEai.js} +2 -2
  28. package/dist/{dispatcher-DOZGzrqb.js → dispatcher-BxDtNwSF.js} +1 -1
  29. package/dist/{doctor-CdqmZxrK.js → doctor-Cd7vdP5c.js} +1 -1
  30. package/dist/{doctor-DdHvLQSW.js → doctor-CxJU9o8E.js} +7 -7
  31. package/dist/entry.js +1 -1
  32. package/dist/{exec-approvals-cli-BGB1TyrS.js → exec-approvals-cli-cNZ2kj5G.js} +4 -4
  33. package/dist/{gateway-cli-Dm6fyKOW.js → gateway-cli-BNemVjwo.js} +19 -12
  34. package/dist/{gateway-cli-Ctozr1Nr.js → gateway-cli-BqqJby05.js} +43 -36
  35. package/dist/{gateway-rpc-DIBI9dZU.js → gateway-rpc-Cr07mZlu.js} +1 -1
  36. package/dist/{github-copilot-auth-CWMgcPFb.js → github-copilot-auth-CrVdsllh.js} +2 -2
  37. package/dist/{health-format-rvKQDZAe.js → health-format-DnQrmi90.js} +5 -5
  38. package/dist/{hooks-cli-Dk70ZlpQ.js → hooks-cli-DWEqzkp9.js} +15 -15
  39. package/dist/{image-fscCHaO2.js → image-D_5DXfCx.js} +1 -1
  40. package/dist/index.js +30 -30
  41. package/dist/{logs-cli-GIy-ReUJ.js → logs-cli-y18fKF21.js} +3 -3
  42. package/dist/{models-cli-BD-etPw9.js → models-cli-DanWmMCK.js} +15 -15
  43. package/dist/{node-cli-nnREUTNh.js → node-cli-DFGB6c29.js} +6 -6
  44. package/dist/{nodes-cli-C1KLCUgY.js → nodes-cli-B-CYGxk4.js} +3 -3
  45. package/dist/{onboard-channels--6mZlRdm.js → onboard-channels-BXvAgRr8.js} +1 -1
  46. package/dist/{onboard-skills-CKh0otKb.js → onboard-skills-Bi8vfuv9.js} +4 -4
  47. package/dist/{onboarding-C9T4fYdo.js → onboarding-gM1r4cd0.js} +12 -12
  48. package/dist/{pi-embedded-helpers-R5an9K5m.js → pi-embedded-helpers-C3JoQd_r.js} +2 -2
  49. package/dist/{pi-tools.policy-6uFIt3Ju.js → pi-tools.policy-UzfyMWa2.js} +1 -1
  50. package/dist/{plugins-cli-FsBHhKXs.js → plugins-cli-BEi-kDPv.js} +15 -15
  51. package/dist/{program-Tlz-_XHE.js → program-yY-4nnFP.js} +6 -6
  52. package/dist/{pw-ai-DRdnHJHd.js → pw-ai-C2z1o0vq.js} +1 -1
  53. package/dist/{register.subclis-Buhb02qd.js → register.subclis-CrzjDv0H.js} +3 -3
  54. package/dist/{reply-E1ga4GXi.js → reply-CuxaWVob.js} +15 -15
  55. package/dist/{routes-f7Edit7G.js → routes-D9Iafxku.js} +2 -2
  56. package/dist/{rpc-CGmdslK7.js → rpc-CCNQAZlJ.js} +1 -1
  57. package/dist/{run-main-7eydAwGv.js → run-main-CAI5BiMw.js} +8 -8
  58. package/dist/{sandbox-B4M0ryQ9.js → sandbox-AKDe5dkQ.js} +3 -3
  59. package/dist/{sandbox-cli-CoTcXRmo.js → sandbox-cli-DCLF09ZP.js} +4 -4
  60. package/dist/{security-cli-B_s4Rfs1.js → security-cli-CwgI6uQv.js} +8 -8
  61. package/dist/{server-context-BqWI0WDa.js → server-context-Cnep00Hq.js} +4 -4
  62. package/dist/{server-node-events-DXWeo9KB.js → server-node-events-Cb8AP2Lo.js} +16 -16
  63. package/dist/{status-BH22yQwC.js → status-PDg9fMff.js} +1 -1
  64. package/dist/{status-C09l2YXY.js → status-pc_aNqHa.js} +2 -2
  65. package/dist/{system-cli-DEm78jPM.js → system-cli-CHu5cmH5.js} +3 -3
  66. package/dist/{tui-M4SDqVBr.js → tui-B2ZEdepW.js} +4 -4
  67. package/dist/{tui-cli-DM2GolnA.js → tui-cli-DuluR3sM.js} +9 -9
  68. package/dist/{update-cli-Bfsx9UKw.js → update-cli-CRhNpoV5.js} +4 -4
  69. package/dist/{update-cli-DoiUKlNw.js → update-cli-DuendAEY.js} +20 -20
  70. package/dist/{update-runner-LPAHTmXu.js → update-runner-CXRmW-Uy.js} +1 -1
  71. package/dist/{update-runner-_TG-7dl6.js → update-runner-sVyFnQ5i.js} +3 -3
  72. package/extensions/brah-sync/index.ts +5 -4
  73. package/package.json +2 -2
  74. package/dist/control-ui/assets/index-Dm6g1E26.js.map +0 -1
@@ -3,12 +3,12 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>OpenClaw Control</title>
6
+ <title>Control</title>
7
7
  <meta name="color-scheme" content="dark light" />
8
8
  <link rel="icon" type="image/svg+xml" href="./favicon.svg" />
9
9
  <link rel="icon" type="image/png" sizes="32x32" href="./favicon-32.png" />
10
10
  <link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png" />
11
- <script type="module" crossorigin src="./assets/index-Dm6g1E26.js"></script>
11
+ <script type="module" crossorigin src="./assets/index-D0ToVTL2.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="./assets/index-BoXosYY6.css">
13
13
  </head>
14
14
  <body>
@@ -17,12 +17,12 @@ import { n as listChannelPlugins } from "./plugins-09ktk12_.js";
17
17
  import "./message-channel-C0Y-pfV3.js";
18
18
  import "./logging-BzvBIA3Y.js";
19
19
  import "./accounts-CjPkmYhF.js";
20
- import "./client-to8eMV2s.js";
21
- import "./call-B0EB11Hz.js";
20
+ import "./client-B0XbrmGE.js";
21
+ import "./call-BCKAcENU.js";
22
22
  import { t as formatDocsLink } from "./links-DPN-zsft.js";
23
23
  import "./progress-DsH6InCn.js";
24
24
  import { t as parseAbsoluteTimeMs } from "./parse-87ybtYW1.js";
25
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-DIBI9dZU.js";
25
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-Cr07mZlu.js";
26
26
  import { n as parsePositiveIntOrUndefined } from "./helpers-8O7IVGO-.js";
27
27
 
28
28
  //#region src/cli/cron-cli/shared.ts
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Tt as resolveControlUiLinks } from "./reply-E1ga4GXi.js";
2
+ import { Tt as resolveControlUiLinks } from "./reply-CuxaWVob.js";
3
3
  import { d as resolveIsNixMode, g as resolveStateDir, o as resolveConfigPath, u as resolveGatewayPort } from "./paths-scjhy7N2.js";
4
4
  import { P as getResolvedLoggerSettings, s as defaultRuntime } from "./subsystem-MZJ7YwGv.js";
5
5
  import { c as theme, o as colorize, s as isRich } from "./ansi-Dslhk-pR.js";
6
6
  import { _ as shortenHomePath } from "./utils-DZrCbm8I.js";
7
7
  import { t as formatCliCommand } from "./command-format-B96YFpq4.js";
8
8
  import { i as loadConfig, r as createConfigIO } from "./config-JJ_qstMV.js";
9
- import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-4hKxr5KT.js";
9
+ import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-YyXlpRHF.js";
10
10
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C0Y-pfV3.js";
11
- import { n as isWSL, r as isWSLEnv } from "./dispatcher-DOZGzrqb.js";
11
+ import { n as isWSL, r as isWSLEnv } from "./dispatcher-BxDtNwSF.js";
12
12
  import { t as pickPrimaryTailnetIPv4 } from "./tailnet-PJSFUYzh.js";
13
- import { n as callGateway } from "./call-B0EB11Hz.js";
13
+ import { n as callGateway } from "./call-BCKAcENU.js";
14
14
  import { t as formatDocsLink } from "./links-DPN-zsft.js";
15
15
  import { n as withProgress } from "./progress-DsH6InCn.js";
16
16
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-AeetkqWc.js";
17
- import { t as createDefaultDeps } from "./deps-NlR-vxlh.js";
17
+ import { t as createDefaultDeps } from "./deps-DwFGYEfo.js";
18
18
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Bfpf-iTt.js";
19
19
  import { a as resolveGatewayBindHost } from "./net-D2zciGj5.js";
20
20
  import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BmhixqmA.js";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-R5an9K5m.js";
2
+ import { i as isMessagingToolDuplicate } from "./pi-embedded-helpers-C3JoQd_r.js";
3
3
  import { s as normalizeAccountId$1 } from "./session-key-Dm2EOhrH.js";
4
4
  import { E as logVerbose, k as shouldLogVerbose, y as getActivePluginRegistry } from "./subsystem-MZJ7YwGv.js";
5
5
  import { h as resolveUserPath } from "./utils-DZrCbm8I.js";
6
6
  import { i as loadConfig } from "./config-JJ_qstMV.js";
7
7
  import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-09ktk12_.js";
8
- import { V as getChannelDock, l as appendAssistantMessageToSessionTranscript, q as resolveSignalAccount, u as resolveMirroredTranscriptText } from "./sandbox-B4M0ryQ9.js";
9
- import { C as resolvePinnedHostnameWithPolicy, S as resolvePinnedHostname, _ as maxBytesForKind, a as optimizeImageToPng, b as closeDispatcher, c as saveMediaBuffer, i as hasAlphaChannel, l as detectMime, n as convertHeicToJpeg, o as resizeToJpeg, u as extensionForMime, v as mediaKindFromMime, x as createPinnedDispatcher } from "./routes-f7Edit7G.js";
8
+ import { V as getChannelDock, l as appendAssistantMessageToSessionTranscript, q as resolveSignalAccount, u as resolveMirroredTranscriptText } from "./sandbox-AKDe5dkQ.js";
9
+ import { C as resolvePinnedHostnameWithPolicy, S as resolvePinnedHostname, _ as maxBytesForKind, a as optimizeImageToPng, b as closeDispatcher, c as saveMediaBuffer, i as hasAlphaChannel, l as detectMime, n as convertHeicToJpeg, o as resizeToJpeg, u as extensionForMime, v as mediaKindFromMime, x as createPinnedDispatcher } from "./routes-D9Iafxku.js";
10
10
  import { t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C0Y-pfV3.js";
11
11
  import { fileURLToPath } from "node:url";
12
12
  import path from "node:path";
@@ -1,5 +1,5 @@
1
- import { fn as sendMessageTelegram, jn as sendMessageSlack, kn as sendMessageWhatsApp, pn as sendMessageDiscord, ut as sendMessageIMessage } from "./reply-E1ga4GXi.js";
2
- import { b as sendMessageSignal } from "./deliver-BBwjenkx.js";
1
+ import { fn as sendMessageTelegram, jn as sendMessageSlack, kn as sendMessageWhatsApp, pn as sendMessageDiscord, ut as sendMessageIMessage } from "./reply-CuxaWVob.js";
2
+ import { b as sendMessageSignal } from "./deliver-BL3iTzV7.js";
3
3
 
4
4
  //#region src/cli/deps.ts
5
5
  function createDefaultDeps() {
@@ -13,8 +13,8 @@ import "./env-YhBsuZYR.js";
13
13
  import "./config-JJ_qstMV.js";
14
14
  import "./manifest-registry-CWVhL1Tp.js";
15
15
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C0Y-pfV3.js";
16
- import "./client-to8eMV2s.js";
17
- import { n as callGateway } from "./call-B0EB11Hz.js";
16
+ import "./client-B0XbrmGE.js";
17
+ import { n as callGateway } from "./call-BCKAcENU.js";
18
18
  import { n as withProgress } from "./progress-DsH6InCn.js";
19
19
  import { t as renderTable } from "./table-Br4x1U8t.js";
20
20
 
@@ -1,4 +1,4 @@
1
- import { t as registerBrowserRoutes } from "./routes-f7Edit7G.js";
1
+ import { t as registerBrowserRoutes } from "./routes-D9Iafxku.js";
2
2
  import os from "node:os";
3
3
  import fs from "node:fs/promises";
4
4
  import { execFile } from "node:child_process";
@@ -29,7 +29,7 @@ import { r as isSystemdUserServiceAvailable } from "./systemd-DSVtqGOg.js";
29
29
  import { n as renderSystemdUnavailableHints, t as isSystemdUnavailableDetail } from "./systemd-hints-Bm58h2q6.js";
30
30
  import { a as renderGatewayServiceCleanupHints, i as findExtraGatewayServices, n as auditGatewayServiceConfig, o as readLastGatewayErrorLine, r as needsNodeRuntimeMigration, t as SERVICE_AUDIT_CODES } from "./service-audit-BaAmsSA_.js";
31
31
  import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DZpQiSPr.js";
32
- import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-LPAHTmXu.js";
32
+ import { f as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-CXRmW-Uy.js";
33
33
  import { n as logConfigUpdated } from "./logging-C-XFUtHZ.js";
34
34
  import { t as buildWorkspaceSkillStatus } from "./skills-status-B6Hjszph.js";
35
35
  import { n as buildAuthHealthSummary, r as formatRemainingShort, t as DEFAULT_OAUTH_WARN_MS } from "./auth-health-DO7finG2.js";
@@ -1,4 +1,4 @@
1
- import { St as printWizardHeader, _t as guardCancel, ft as applyWizardMetadata, rt as loadOpenClawPlugins, wt as randomToken, xr as loadModelCatalog } from "./reply-E1ga4GXi.js";
1
+ import { St as printWizardHeader, _t as guardCancel, ft as applyWizardMetadata, rt as loadOpenClawPlugins, wt as randomToken, xr as loadModelCatalog } from "./reply-CuxaWVob.js";
2
2
  import { d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-scjhy7N2.js";
3
3
  import { c as normalizeAgentId, i as buildAgentMainSessionKey, r as DEFAULT_MAIN_KEY, t as DEFAULT_ACCOUNT_ID } from "./session-key-Dm2EOhrH.js";
4
4
  import { P as getResolvedLoggerSettings, s as defaultRuntime } from "./subsystem-MZJ7YwGv.js";
@@ -11,11 +11,11 @@ import { t as formatCliCommand } from "./command-format-B96YFpq4.js";
11
11
  import { t as isTruthyEnvValue } from "./env-YhBsuZYR.js";
12
12
  import { c as writeConfigFile, n as migrateLegacyConfig, o as readConfigFileSnapshot, u as OpenClawSchema } from "./config-JJ_qstMV.js";
13
13
  import { n as listChannelPlugins } from "./plugins-09ktk12_.js";
14
- import { L as resolveMainSessionKey, P as canonicalizeMainSessionAlias, Q as resolveSandboxScope, ct as DEFAULT_SANDBOX_BROWSER_IMAGE, d as loadSessionStore, lt as DEFAULT_SANDBOX_COMMON_IMAGE, m as saveSessionStore, ut as DEFAULT_SANDBOX_IMAGE } from "./sandbox-B4M0ryQ9.js";
15
- import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-4hKxr5KT.js";
14
+ import { L as resolveMainSessionKey, P as canonicalizeMainSessionAlias, Q as resolveSandboxScope, ct as DEFAULT_SANDBOX_BROWSER_IMAGE, d as loadSessionStore, lt as DEFAULT_SANDBOX_COMMON_IMAGE, m as saveSessionStore, ut as DEFAULT_SANDBOX_IMAGE } from "./sandbox-AKDe5dkQ.js";
15
+ import { d as inspectPortUsage, p as formatPortDiagnostics } from "./chrome-YyXlpRHF.js";
16
16
  import { a as resolveSessionTranscriptsDirForAgent, n as resolveSessionFilePath, o as resolveStorePath } from "./paths-DoU2wF-8.js";
17
- import { n as isWSL, r as isWSLEnv } from "./dispatcher-DOZGzrqb.js";
18
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-B0EB11Hz.js";
17
+ import { n as isWSL, r as isWSLEnv } from "./dispatcher-BxDtNwSF.js";
18
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BCKAcENU.js";
19
19
  import { i as readChannelAllowFromStore } from "./pairing-store-DfYWlf47.js";
20
20
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-XexlH5fB.js";
21
21
  import { d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName, l as resolveGatewayLaunchAgentLabel, m as resolveNodeLaunchAgentLabel } from "./constants-AeetkqWc.js";
@@ -24,8 +24,8 @@ import { t as resolveChannelDefaultAccountId } from "./helpers-CcHGV820.js";
24
24
  import { n as logConfigUpdated } from "./logging-BggTN-OA.js";
25
25
  import { t as note$1 } from "./note-DGwSQRou.js";
26
26
  import { t as applyPluginAutoEnable } from "./plugin-auto-enable-C5fXErMQ.js";
27
- import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-rvKQDZAe.js";
28
- import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-_TG-7dl6.js";
27
+ import { i as resolveControlUiDistIndexPathForRoot, l as healthCommand, r as resolveControlUiDistIndexHealth, t as formatHealthCheckFailure } from "./health-format-DnQrmi90.js";
28
+ import { c as doctorShellCompletion, t as runGatewayUpdate } from "./update-runner-sVyFnQ5i.js";
29
29
  import { a as resolveGatewayBindHost, n as isLoopbackHost } from "./net-D2zciGj5.js";
30
30
  import { i as resolveGatewayAuth } from "./auth-BPnkbfof.js";
31
31
  import { t as buildWorkspaceSkillStatus } from "./skills-status-B9teTTgu.js";
package/dist/entry.js CHANGED
@@ -1320,7 +1320,7 @@ if (!ensureExperimentalWarningSuppressed()) {
1320
1320
  applyCliProfileEnv({ profile: parsed.profile });
1321
1321
  process$1.argv = parsed.argv;
1322
1322
  }
1323
- import("./run-main-7eydAwGv.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1323
+ import("./run-main-CAI5BiMw.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
1324
1324
  console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
1325
1325
  process$1.exitCode = 1;
1326
1326
  });
@@ -13,8 +13,8 @@ import "./env-YhBsuZYR.js";
13
13
  import "./config-JJ_qstMV.js";
14
14
  import "./manifest-registry-CWVhL1Tp.js";
15
15
  import "./message-channel-C0Y-pfV3.js";
16
- import "./client-to8eMV2s.js";
17
- import "./call-B0EB11Hz.js";
16
+ import "./client-B0XbrmGE.js";
17
+ import "./call-BCKAcENU.js";
18
18
  import { t as formatDocsLink } from "./links-DPN-zsft.js";
19
19
  import "./progress-DsH6InCn.js";
20
20
  import { g as saveExecApprovals, l as readExecApprovalsSnapshot } from "./exec-approvals-iOoxTSaW.js";
@@ -22,9 +22,9 @@ import "./constants-AeetkqWc.js";
22
22
  import { t as renderTable } from "./table-Br4x1U8t.js";
23
23
  import "./service-BmhixqmA.js";
24
24
  import "./systemd-QeNHBKY_.js";
25
- import { n as callGatewayFromCli } from "./gateway-rpc-DIBI9dZU.js";
25
+ import { n as callGatewayFromCli } from "./gateway-rpc-Cr07mZlu.js";
26
26
  import { t as describeUnknownError } from "./shared-Oinouexg.js";
27
- import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-CGmdslK7.js";
27
+ import { n as nodesCallOpts, r as resolveNodeId } from "./rpc-CCNQAZlJ.js";
28
28
  import JSON5 from "json5";
29
29
  import fs from "node:fs/promises";
30
30
 
@@ -65,8 +65,8 @@ import { r as runCommandWithRuntime } from "./cli-utils-EpvLL-7H.js";
65
65
  import "./pairing-labels-BjA6wnhH.js";
66
66
  import { t as buildChannelAccountSnapshot } from "./status-CoAy6bEC.js";
67
67
  import "./channels-status-issues-CIiu_Xxf.js";
68
- import "./register.subclis-Buhb02qd.js";
69
- import "./completion-cli-xQqLK_Ni.js";
68
+ import "./register.subclis-CrzjDv0H.js";
69
+ import "./completion-cli-BJDSqY7E.js";
70
70
  import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-CwIHF5Kq.js";
71
71
  import "./daemon-runtime-Bof4EAty.js";
72
72
  import "./service-CkduwhWU.js";
@@ -81,11 +81,11 @@ import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as
81
81
  import { i as probeGateway } from "./audit-XFpWISrQ.js";
82
82
  import { g as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-DFX908cv.js";
83
83
  import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-DZpQiSPr.js";
84
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-LPAHTmXu.js";
84
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-CXRmW-Uy.js";
85
85
  import "./github-copilot-auth-DBciFmic.js";
86
86
  import "./logging-C-XFUtHZ.js";
87
87
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-BKToL6h7.js";
88
- import { f as runOnboardingWizard, n as getStatusSummary, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-C09l2YXY.js";
88
+ import { f as runOnboardingWizard, n as getStatusSummary, s as loadAgentIdentity, u as loadAgentIdentityFromWorkspace } from "./status-pc_aNqHa.js";
89
89
  import { t as buildWorkspaceSkillStatus } from "./skills-status-B6Hjszph.js";
90
90
  import "./tui-DpSIQB-L.js";
91
91
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-CDRetW_w.js";
@@ -12888,15 +12888,17 @@ function serveFile(res, filePath) {
12888
12888
  res.end(fs.readFileSync(filePath));
12889
12889
  }
12890
12890
  function injectControlUiConfig(html, opts) {
12891
- const { basePath, assistantName, assistantAvatar } = opts;
12892
- const script = `<script>window.__OPENCLAW_CONTROL_UI_BASE_PATH__=${JSON.stringify(basePath)};window.__OPENCLAW_ASSISTANT_NAME__=${JSON.stringify(assistantName ?? DEFAULT_ASSISTANT_IDENTITY.name)};window.__OPENCLAW_ASSISTANT_AVATAR__=${JSON.stringify(assistantAvatar ?? DEFAULT_ASSISTANT_IDENTITY.avatar)};<\/script>`;
12891
+ const { basePath, assistantName, assistantAvatar, gatewayToken } = opts;
12892
+ let script = `<script>window.__OPENCLAW_CONTROL_UI_BASE_PATH__=${JSON.stringify(basePath)};window.__OPENCLAW_ASSISTANT_NAME__=${JSON.stringify(assistantName ?? DEFAULT_ASSISTANT_IDENTITY.name)};window.__OPENCLAW_ASSISTANT_AVATAR__=${JSON.stringify(assistantAvatar ?? DEFAULT_ASSISTANT_IDENTITY.avatar)};`;
12893
+ if (typeof gatewayToken === "string" && gatewayToken.trim()) script += `window.__OPENCLAW_GATEWAY_TOKEN__=${JSON.stringify(gatewayToken.trim())};`;
12894
+ script += `<\/script>`;
12893
12895
  if (html.includes("__OPENCLAW_ASSISTANT_NAME__")) return html;
12894
12896
  const headClose = html.indexOf("</head>");
12895
12897
  if (headClose !== -1) return `${html.slice(0, headClose)}${script}${html.slice(headClose)}`;
12896
12898
  return `${script}${html}`;
12897
12899
  }
12898
12900
  function serveIndexHtml(res, indexPath, opts) {
12899
- const { basePath, config, agentId } = opts;
12901
+ const { basePath, config, agentId, gatewayToken } = opts;
12900
12902
  const identity = config ? resolveAssistantIdentity({
12901
12903
  cfg: config,
12902
12904
  agentId
@@ -12913,7 +12915,8 @@ function serveIndexHtml(res, indexPath, opts) {
12913
12915
  res.end(injectControlUiConfig(raw, {
12914
12916
  basePath,
12915
12917
  assistantName: identity.name,
12916
- assistantAvatar: avatarValue
12918
+ assistantAvatar: avatarValue,
12919
+ gatewayToken
12917
12920
  }));
12918
12921
  }
12919
12922
  function isSafeRelativePath(relPath) {
@@ -12999,7 +13002,8 @@ function handleControlUiHttpRequest(req, res, opts) {
12999
13002
  serveIndexHtml(res, filePath, {
13000
13003
  basePath,
13001
13004
  config: opts?.config,
13002
- agentId: opts?.agentId
13005
+ agentId: opts?.agentId,
13006
+ gatewayToken: opts?.gatewayToken
13003
13007
  });
13004
13008
  return true;
13005
13009
  }
@@ -13011,7 +13015,8 @@ function handleControlUiHttpRequest(req, res, opts) {
13011
13015
  serveIndexHtml(res, indexPath, {
13012
13016
  basePath,
13013
13017
  config: opts?.config,
13014
- agentId: opts?.agentId
13018
+ agentId: opts?.agentId,
13019
+ gatewayToken: opts?.gatewayToken
13015
13020
  });
13016
13021
  return true;
13017
13022
  }
@@ -14680,11 +14685,13 @@ function createGatewayHttpServer(opts) {
14680
14685
  basePath: controlUiBasePath,
14681
14686
  resolveAvatar: (agentId) => resolveAgentAvatar(configSnapshot, agentId)
14682
14687
  })) return;
14683
- if (handleControlUiHttpRequest(req, res, {
14688
+ const controlUiOpts = {
14684
14689
  basePath: controlUiBasePath,
14685
14690
  config: configSnapshot,
14686
14691
  root: controlUiRoot
14687
- })) return;
14692
+ };
14693
+ if (isLocalDirectRequest(req, trustedProxies) && resolvedAuth.token) controlUiOpts.gatewayToken = resolvedAuth.token;
14694
+ if (handleControlUiHttpRequest(req, res, controlUiOpts)) return;
14688
14695
  }
14689
14696
  res.statusCode = 404;
14690
14697
  res.setHeader("Content-Type", "text/plain; charset=utf-8");
@@ -1,5 +1,5 @@
1
- import { B as normalizeElevatedLevel, H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, U as normalizeUsageDisplay, V as normalizeReasoningLevel, W as normalizeVerboseLevel } from "./pi-embedded-helpers-R5an9K5m.js";
2
- import { $n as setTtsEnabled, A as resolveOutboundTarget, An as normalizePollInput, Ar as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, At as buildControlUiAvatarUrl, B as scheduleGatewaySigusr1Restart, Bn as createInternalHookEvent, Bt as listNodePairing, C as resolveSessionTranscriptCandidates, Cr as DEFAULT_INPUT_FILE_MAX_CHARS, D as resolveOutboundSessionRoute, Dn as onAgentEvent, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as ensureOutboundSessionEntry, En as getAgentRunContext, Er as DEFAULT_INPUT_IMAGE_MIMES, F as runWithModelFallback, Ft as recordRemoteNodeInfo, Gn as getTtsProvider, Gt as verifyNodeToken, H as consumeRestartSentinel, Hn as triggerInternalHook, Ht as renamePairedNode, In as formatUserTime, Ir as resolveAgentTimeoutMs, It as refreshRemoteBinsForConnectedNodes, J as writeRestartSentinel, Jn as resolveTtsApiKey, Jt as buildSafeExternalPrompt, K as summarizeRestartSentinel, Kn as isTtsEnabled, Kt as getSkillsSnapshotVersion, L as authorizeGatewaySigusr1Restart, Ln as resolveUserTimeFormat, Lt as refreshRemoteNodeBins, Mr as extractFileContentFromSource, Mt as resolveAssistantAvatarUrl, N as resetDirectoryCache, Nr as extractImageContentFromSource, Nt as getRemoteSkillEligibility, On as registerAgentRunContext, Or as DEFAULT_INPUT_PDF_MAX_PAGES, Pn as resolveAgentIdentity, Pr as normalizeMimeList, Pt as primeRemoteSkillsCache, Qn as resolveTtsProviderOrder, R as consumeGatewaySigusr1RestartAuthorization, Rn as resolveUserTimezone, Rt as setSkillsRemoteRegistry, S as readSessionPreviewItemsFromTranscript, Sn as initSubagentRegistry, Sr as DEFAULT_INPUT_FILE_MAX_BYTES, Tn as emitAgentEvent, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, U as formatDoctorNonInteractiveHint, Un as OPENAI_TTS_MODELS, Ut as requestNodePairing, V as setGatewaySigusr1RestartPolicy, Vn as registerInternalHook, Vt as rejectNodePairing, W as formatRestartSentinelMessage, Wn as OPENAI_TTS_VOICES, Wt as updatePairedNodeMetadata, X as normalizeCronJobPatch, Xn as resolveTtsConfig, Xt as getHookType, Y as normalizeCronJobCreate, Yn as resolveTtsAutoMode, Yt as detectSuspiciousPatterns, Z as migrateLegacyCronPayload, Zn as resolveTtsPrefsPath, Zt as isExternalHookSession, _ as resolveGatewaySessionStoreTarget, _n as dispatchInboundMessage, _r as parseVerboseOverride, a as normalizeSendPolicy, ar as startDiagnosticHeartbeat, b as capArrayByJsonBytes, bn as isAbortTrigger, c as runEmbeddedPiAgent, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createOpenClawTools, er as setTtsProvider, et as requestHeartbeatNow, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, g as loadSessionEntry, gr as applyVerboseOverride, h as loadCombinedSessionStoreForGateway, hr as applyModelOverrideToSessionEntry, i as runCliAgent, in as registerUnhandledRejectionHandler, ir as CommandLane, it as loadProviderUsageSummary, j as resolveSessionDeliveryTarget, jr as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeControlUiBasePath, kr as DEFAULT_INPUT_PDF_MAX_PIXELS, kt as CONTROL_UI_AVATAR_PREFIX, l as abortEmbeddedPiRun, ln as getLastHeartbeatEvent, lt as handleSlackHttpRequest, m as listSessionsFromStore, mn as getChannelActivity, n as getCliSessionId, nn as normalizeGroupActivation, nt as getPluginToolMeta, o as resolveSendPolicy, on as buildHistoryContextFromEntries, or as stopDiagnosticHeartbeat, p as listAgentsForGateway, pr as lookupContextTokens, qn as isTtsProviderConfigured, qt as registerSkillsChangeListener, r as setCliSessionId, rr as setCommandLaneConcurrency, rt as loadOpenClawPlugins, s as clearSessionQueues, sn as resolveHeartbeatVisibility, sr as isDiagnosticsEnabled, tn as createReplyPrefixOptions, tr as textToSpeech, u as waitForEmbeddedPiRunEnd, un as onHeartbeatEvent, v as resolveSessionModelRef, vn as createReplyDispatcher, vr as enqueueSystemEvent, vt as handleReset, w as stripEnvelopeFromMessages, wn as clearAgentRunContext, wr as DEFAULT_INPUT_FILE_MIMES, x as readSessionMessages, xn as stopSubagentsForRequester, xr as loadModelCatalog, y as archiveFileOnDisk, yn as formatZonedTimestamp, yr as isSystemEventContextChanged, z as isGatewaySigusr1RestartExternallyAllowed, zn as clearInternalHooks, zt as approveNodePairing } from "./reply-E1ga4GXi.js";
1
+ import { B as normalizeElevatedLevel, H as normalizeThinkLevel, I as formatThinkingLevels, K as supportsXHighThinking, L as formatXHighModelHint, U as normalizeUsageDisplay, V as normalizeReasoningLevel, W as normalizeVerboseLevel } from "./pi-embedded-helpers-C3JoQd_r.js";
2
+ import { $n as setTtsEnabled, A as resolveOutboundTarget, An as normalizePollInput, Ar as DEFAULT_INPUT_PDF_MIN_TEXT_CHARS, At as buildControlUiAvatarUrl, B as scheduleGatewaySigusr1Restart, Bn as createInternalHookEvent, Bt as listNodePairing, C as resolveSessionTranscriptCandidates, Cr as DEFAULT_INPUT_FILE_MAX_CHARS, D as resolveOutboundSessionRoute, Dn as onAgentEvent, Dr as DEFAULT_INPUT_MAX_REDIRECTS, E as ensureOutboundSessionEntry, En as getAgentRunContext, Er as DEFAULT_INPUT_IMAGE_MIMES, F as runWithModelFallback, Ft as recordRemoteNodeInfo, Gn as getTtsProvider, Gt as verifyNodeToken, H as consumeRestartSentinel, Hn as triggerInternalHook, Ht as renamePairedNode, In as formatUserTime, Ir as resolveAgentTimeoutMs, It as refreshRemoteBinsForConnectedNodes, J as writeRestartSentinel, Jn as resolveTtsApiKey, Jt as buildSafeExternalPrompt, K as summarizeRestartSentinel, Kn as isTtsEnabled, Kt as getSkillsSnapshotVersion, L as authorizeGatewaySigusr1Restart, Ln as resolveUserTimeFormat, Lt as refreshRemoteNodeBins, Mr as extractFileContentFromSource, Mt as resolveAssistantAvatarUrl, N as resetDirectoryCache, Nr as extractImageContentFromSource, Nt as getRemoteSkillEligibility, On as registerAgentRunContext, Or as DEFAULT_INPUT_PDF_MAX_PAGES, Pn as resolveAgentIdentity, Pr as normalizeMimeList, Pt as primeRemoteSkillsCache, Qn as resolveTtsProviderOrder, R as consumeGatewaySigusr1RestartAuthorization, Rn as resolveUserTimezone, Rt as setSkillsRemoteRegistry, S as readSessionPreviewItemsFromTranscript, Sn as initSubagentRegistry, Sr as DEFAULT_INPUT_FILE_MAX_BYTES, Tn as emitAgentEvent, Tr as DEFAULT_INPUT_IMAGE_MAX_BYTES, U as formatDoctorNonInteractiveHint, Un as OPENAI_TTS_MODELS, Ut as requestNodePairing, V as setGatewaySigusr1RestartPolicy, Vn as registerInternalHook, Vt as rejectNodePairing, W as formatRestartSentinelMessage, Wn as OPENAI_TTS_VOICES, Wt as updatePairedNodeMetadata, X as normalizeCronJobPatch, Xn as resolveTtsConfig, Xt as getHookType, Y as normalizeCronJobCreate, Yn as resolveTtsAutoMode, Yt as detectSuspiciousPatterns, Z as migrateLegacyCronPayload, Zn as resolveTtsPrefsPath, Zt as isExternalHookSession, _ as resolveGatewaySessionStoreTarget, _n as dispatchInboundMessage, _r as parseVerboseOverride, a as normalizeSendPolicy, ar as startDiagnosticHeartbeat, b as capArrayByJsonBytes, bn as isAbortTrigger, c as runEmbeddedPiAgent, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, d as createOpenClawTools, er as setTtsProvider, et as requestHeartbeatNow, f as resolveAnnounceTargetFromKey, fr as stripHeartbeatToken, g as loadSessionEntry, gr as applyVerboseOverride, h as loadCombinedSessionStoreForGateway, hr as applyModelOverrideToSessionEntry, i as runCliAgent, in as registerUnhandledRejectionHandler, ir as CommandLane, it as loadProviderUsageSummary, j as resolveSessionDeliveryTarget, jr as DEFAULT_INPUT_TIMEOUT_MS, jt as normalizeControlUiBasePath, kr as DEFAULT_INPUT_PDF_MAX_PIXELS, kt as CONTROL_UI_AVATAR_PREFIX, l as abortEmbeddedPiRun, ln as getLastHeartbeatEvent, lt as handleSlackHttpRequest, m as listSessionsFromStore, mn as getChannelActivity, n as getCliSessionId, nn as normalizeGroupActivation, nt as getPluginToolMeta, o as resolveSendPolicy, on as buildHistoryContextFromEntries, or as stopDiagnosticHeartbeat, p as listAgentsForGateway, pr as lookupContextTokens, qn as isTtsProviderConfigured, qt as registerSkillsChangeListener, r as setCliSessionId, rr as setCommandLaneConcurrency, rt as loadOpenClawPlugins, s as clearSessionQueues, sn as resolveHeartbeatVisibility, sr as isDiagnosticsEnabled, tn as createReplyPrefixOptions, tr as textToSpeech, u as waitForEmbeddedPiRunEnd, un as onHeartbeatEvent, v as resolveSessionModelRef, vn as createReplyDispatcher, vr as enqueueSystemEvent, vt as handleReset, w as stripEnvelopeFromMessages, wn as clearAgentRunContext, wr as DEFAULT_INPUT_FILE_MIMES, x as readSessionMessages, xn as stopSubagentsForRequester, xr as loadModelCatalog, y as archiveFileOnDisk, yn as formatZonedTimestamp, yr as isSystemEventContextChanged, z as isGatewaySigusr1RestartExternallyAllowed, zn as clearInternalHooks, zt as approveNodePairing } from "./reply-CuxaWVob.js";
3
3
  import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-scjhy7N2.js";
4
4
  import { _ as parseAgentSessionKey, c as normalizeAgentId, g as isSubagentSessionKey, i as buildAgentMainSessionKey, l as normalizeMainKey, p as toAgentRequestSessionKey, t as DEFAULT_ACCOUNT_ID, u as resolveAgentIdFromSessionKey } from "./session-key-Dm2EOhrH.js";
5
5
  import { M as getChildLogger, N as getLogger, O as setVerbose, P as getResolvedLoggerSettings, a as setConsoleTimestampPrefix, d as DEFAULT_CHAT_CHANNEL, i as setConsoleSubsystemFilter, l as CHANNEL_IDS, n as runtimeForLogger, s as defaultRuntime, t as createSubsystemLogger, y as getActivePluginRegistry } from "./subsystem-MZJ7YwGv.js";
@@ -17,13 +17,13 @@ import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-YhBsuZYR
17
17
  import { A as resolveSubagentMaxConcurrent, T as applyLegacyMigrations, a as parseConfigJson5, c as writeConfigFile, i as loadConfig, j as VERSION, k as resolveAgentMaxConcurrent, l as validateConfigObjectWithPlugins, n as migrateLegacyConfig, o as readConfigFileSnapshot, r as createConfigIO, s as resolveConfigSnapshotHash, u as OpenClawSchema } from "./config-JJ_qstMV.js";
18
18
  import { o as isTestDefaultMemorySlotDisabled } from "./manifest-registry-CWVhL1Tp.js";
19
19
  import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-09ktk12_.js";
20
- import { B as snapshotSessionOrigin, F as resolveAgentMainSessionKey, I as resolveExplicitAgentSessionKey, L as resolveMainSessionKey, R as resolveMainSessionKeyFromConfig, S as mergeDeliveryContext, at as normalizeToolName, b as deliveryContextFromSession, d as loadSessionStore, g as updateSessionStore, nt as collectExplicitAllowlist, ot as resolveToolProfilePolicy, rt as expandPolicyWithPluginGroups, st as stripPluginOnlyAllowlist, tt as buildPluginToolGroups, w as normalizeSessionDeliveryFields } from "./sandbox-B4M0ryQ9.js";
21
- import "./image-fscCHaO2.js";
20
+ import { B as snapshotSessionOrigin, F as resolveAgentMainSessionKey, I as resolveExplicitAgentSessionKey, L as resolveMainSessionKey, R as resolveMainSessionKeyFromConfig, S as mergeDeliveryContext, at as normalizeToolName, b as deliveryContextFromSession, d as loadSessionStore, g as updateSessionStore, nt as collectExplicitAllowlist, ot as resolveToolProfilePolicy, rt as expandPolicyWithPluginGroups, st as stripPluginOnlyAllowlist, tt as buildPluginToolGroups, w as normalizeSessionDeliveryFields } from "./sandbox-AKDe5dkQ.js";
21
+ import "./image-D_5DXfCx.js";
22
22
  import "./pi-model-discovery-CmCpGwer.js";
23
- import { T as formatErrorMessage, d as inspectPortUsage, l as ensurePortAvailable, p as formatPortDiagnostics } from "./chrome-4hKxr5KT.js";
23
+ import { T as formatErrorMessage, d as inspectPortUsage, l as ensurePortAvailable, p as formatPortDiagnostics } from "./chrome-YyXlpRHF.js";
24
24
  import { d as hasBinary, i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-iqJKhB3Q.js";
25
- import { c as saveMediaBuffer, l as detectMime } from "./routes-f7Edit7G.js";
26
- import "./server-context-BqWI0WDa.js";
25
+ import { c as saveMediaBuffer, l as detectMime } from "./routes-D9Iafxku.js";
26
+ import "./server-context-Cnep00Hq.js";
27
27
  import { t as rawDataToString } from "./ws-CdWr05vX.js";
28
28
  import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-C0Y-pfV3.js";
29
29
  import "./logging-BzvBIA3Y.js";
@@ -31,51 +31,51 @@ import "./accounts-CjPkmYhF.js";
31
31
  import { n as resolveSessionFilePath, o as resolveStorePath, r as resolveSessionTranscriptPath } from "./paths-DoU2wF-8.js";
32
32
  import "./redact-DAKeu7PA.js";
33
33
  import "./tool-display-B-D4P2Fx.js";
34
- import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BBwjenkx.js";
35
- import { i as getMachineDisplayName, t as createBrowserRouteDispatcher } from "./dispatcher-DOZGzrqb.js";
34
+ import { o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-BL3iTzV7.js";
35
+ import { i as getMachineDisplayName, t as createBrowserRouteDispatcher } from "./dispatcher-BxDtNwSF.js";
36
36
  import "./manager-DYwowaGP.js";
37
37
  import "./sqlite-wME36UET.js";
38
- import "./channel-summary-ECvQTB5n.js";
39
- import { $ as validatePollParams, A as validateDevicePairListParams, At as deriveDeviceIdFromPublicKey, B as validateLogsTailParams, C as validateCronListParams, Ct as PROTOCOL_VERSION, D as validateCronStatusParams, Dt as parseSessionLabel, E as validateCronRunsParams, F as validateExecApprovalResolveParams, G as validateNodeInvokeResultParams, H as validateNodeDescribeParams, I as validateExecApprovalsGetParams, J as validateNodePairListParams, K as validateNodeListParams, L as validateExecApprovalsNodeGetParams, M as validateDeviceTokenRevokeParams, Mt as normalizeDevicePublicKeyBase64Url, N as validateDeviceTokenRotateParams, Nt as verifyDeviceSignature, O as validateCronUpdateParams, Ot as buildDeviceAuthPayload, P as validateExecApprovalRequestParams, Q as validateNodeRenameParams, R as validateExecApprovalsNodeSetParams, S as validateCronAddParams, St as validateWizardStatusParams, T as validateCronRunParams, Tt as errorShape, U as validateNodeEventParams, V as validateModelsListParams, W as validateNodeInvokeParams, X as validateNodePairRequestParams, Y as validateNodePairRejectParams, Z as validateNodePairVerifyParams, _ as validateConfigGetParams, _t as validateWebLoginStartParams, a as validateAgentWaitParams, at as validateSessionsPatchParams, b as validateConfigSetParams, bt as validateWizardNextParams, c as validateAgentsFilesSetParams, ct as validateSessionsResolveParams, d as validateChannelsStatusParams, dt as validateSkillsInstallParams, et as validateRequestFrame, f as validateChatAbortParams, ft as validateSkillsStatusParams, g as validateConfigApplyParams, gt as validateWakeParams, h as validateChatSendParams, ht as validateUpdateRunParams, i as validateAgentParams, it as validateSessionsListParams, j as validateDevicePairRejectParams, k as validateDevicePairApproveParams, l as validateAgentsListParams, lt as validateSessionsUsageParams, m as validateChatInjectParams, mt as validateTalkModeParams, n as formatValidationErrors, nt as validateSessionsCompactParams, o as validateAgentsFilesGetParams, ot as validateSessionsPreviewParams, p as validateChatHistoryParams, pt as validateSkillsUpdateParams, q as validateNodePairApproveParams, r as validateAgentIdentityParams, rt as validateSessionsDeleteParams, s as validateAgentsFilesListParams, st as validateSessionsResetParams, tt as validateSendParams, u as validateChannelsLogoutParams, ut as validateSkillsBinsParams, v as validateConfigPatchParams, vt as validateWebLoginWaitParams, w as validateCronRemoveParams, wt as ErrorCodes, x as validateConnectParams, xt as validateWizardStartParams, y as validateConfigSchemaParams, yt as validateWizardCancelParams, z as validateExecApprovalsSetParams } from "./client-to8eMV2s.js";
38
+ import "./channel-summary-DdBFUMut.js";
39
+ import { $ as validatePollParams, A as validateDevicePairListParams, At as deriveDeviceIdFromPublicKey, B as validateLogsTailParams, C as validateCronListParams, Ct as PROTOCOL_VERSION, D as validateCronStatusParams, Dt as parseSessionLabel, E as validateCronRunsParams, F as validateExecApprovalResolveParams, G as validateNodeInvokeResultParams, H as validateNodeDescribeParams, I as validateExecApprovalsGetParams, J as validateNodePairListParams, K as validateNodeListParams, L as validateExecApprovalsNodeGetParams, M as validateDeviceTokenRevokeParams, Mt as normalizeDevicePublicKeyBase64Url, N as validateDeviceTokenRotateParams, Nt as verifyDeviceSignature, O as validateCronUpdateParams, Ot as buildDeviceAuthPayload, P as validateExecApprovalRequestParams, Q as validateNodeRenameParams, R as validateExecApprovalsNodeSetParams, S as validateCronAddParams, St as validateWizardStatusParams, T as validateCronRunParams, Tt as errorShape, U as validateNodeEventParams, V as validateModelsListParams, W as validateNodeInvokeParams, X as validateNodePairRequestParams, Y as validateNodePairRejectParams, Z as validateNodePairVerifyParams, _ as validateConfigGetParams, _t as validateWebLoginStartParams, a as validateAgentWaitParams, at as validateSessionsPatchParams, b as validateConfigSetParams, bt as validateWizardNextParams, c as validateAgentsFilesSetParams, ct as validateSessionsResolveParams, d as validateChannelsStatusParams, dt as validateSkillsInstallParams, et as validateRequestFrame, f as validateChatAbortParams, ft as validateSkillsStatusParams, g as validateConfigApplyParams, gt as validateWakeParams, h as validateChatSendParams, ht as validateUpdateRunParams, i as validateAgentParams, it as validateSessionsListParams, j as validateDevicePairRejectParams, k as validateDevicePairApproveParams, l as validateAgentsListParams, lt as validateSessionsUsageParams, m as validateChatInjectParams, mt as validateTalkModeParams, n as formatValidationErrors, nt as validateSessionsCompactParams, o as validateAgentsFilesGetParams, ot as validateSessionsPreviewParams, p as validateChatHistoryParams, pt as validateSkillsUpdateParams, q as validateNodePairApproveParams, r as validateAgentIdentityParams, rt as validateSessionsDeleteParams, s as validateAgentsFilesListParams, st as validateSessionsResetParams, tt as validateSendParams, u as validateChannelsLogoutParams, ut as validateSkillsBinsParams, v as validateConfigPatchParams, vt as validateWebLoginWaitParams, w as validateCronRemoveParams, wt as ErrorCodes, x as validateConnectParams, xt as validateWizardStartParams, y as validateConfigSchemaParams, yt as validateWizardCancelParams, z as validateExecApprovalsSetParams } from "./client-B0XbrmGE.js";
40
40
  import { n as pickPrimaryTailnetIPv6, t as pickPrimaryTailnetIPv4 } from "./tailnet-PJSFUYzh.js";
41
- import { n as callGateway, o as loadGatewayTlsRuntime$1 } from "./call-B0EB11Hz.js";
41
+ import { n as callGateway, o as loadGatewayTlsRuntime$1 } from "./call-BCKAcENU.js";
42
42
  import "./login-qr-AehM-U7T.js";
43
43
  import "./pairing-store-DfYWlf47.js";
44
44
  import { t as formatDocsLink } from "./links-DPN-zsft.js";
45
45
  import { r as runCommandWithRuntime } from "./cli-utils-Yv4G3uEz.js";
46
46
  import { n as withProgress } from "./progress-DsH6InCn.js";
47
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-6uFIt3Ju.js";
47
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy, t as filterToolsByPolicy } from "./pi-tools.policy-UzfyMWa2.js";
48
48
  import "./prompt-style-XexlH5fB.js";
49
49
  import "./pairing-labels-uGmG1FM-.js";
50
50
  import { i as loadSessionUsageTimeSeries, l as hasNonzeroUsage, n as loadCostUsageSummary, r as loadSessionCostSummary, t as discoverAllSessions } from "./session-cost-usage-hz41m3rR.js";
51
51
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-C0mOZv3Q.js";
52
52
  import { c as normalizeExecApprovals, g as saveExecApprovals, l as readExecApprovalsSnapshot, m as resolveExecApprovalsSocketPath, r as ensureExecApprovals } from "./exec-approvals-iOoxTSaW.js";
53
53
  import "./nodes-screen-D9YOHKnK.js";
54
- import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-Dssk9Kaa.js";
54
+ import { n as createBrowserControlContext, r as startBrowserControlServiceFromConfig } from "./control-service-CcBK8tVJ.js";
55
55
  import { t as parseAbsoluteTimeMs } from "./parse-87ybtYW1.js";
56
56
  import "./constants-AeetkqWc.js";
57
57
  import { n as resolveMessageChannelSelection } from "./channel-selection-BE7PqmOC.js";
58
- import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-NlR-vxlh.js";
58
+ import { n as createOutboundSendDeps, t as createDefaultDeps } from "./deps-DwFGYEfo.js";
59
59
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-Csps5HaJ.js";
60
60
  import { t as ensureOpenClawCliOnPath } from "./path-env-Dkh275Rh.js";
61
61
  import "./daemon-runtime-Bfpf-iTt.js";
62
- import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, p as forceFreePortAndWait, r as getStatusSummary, t as runOnboardingWizard } from "./onboarding-C9T4fYdo.js";
62
+ import { c as loadAgentIdentity, d as loadAgentIdentityFromWorkspace, p as forceFreePortAndWait, r as getStatusSummary, t as runOnboardingWizard } from "./onboarding-gM1r4cd0.js";
63
63
  import { t as resolveChannelDefaultAccountId } from "./helpers-CcHGV820.js";
64
64
  import "./logging-BggTN-OA.js";
65
65
  import "./note-DGwSQRou.js";
66
66
  import { t as WizardCancelledError } from "./prompts-BaP7USwc.js";
67
- import { i as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-CKh0otKb.js";
68
- import "./github-copilot-auth-CWMgcPFb.js";
69
- import "./onboard-channels--6mZlRdm.js";
67
+ import { i as discoverGatewayBeacons, n as installSkill } from "./onboard-skills-Bi8vfuv9.js";
68
+ import "./github-copilot-auth-CrVdsllh.js";
69
+ import "./onboard-channels-BXvAgRr8.js";
70
70
  import { r as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-C5fXErMQ.js";
71
71
  import "./archive-CCWYT_Aq.js";
72
72
  import "./skill-scanner-BSMluzCy.js";
73
73
  import "./installs-OI3UrTrZ.js";
74
- import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-rvKQDZAe.js";
75
- import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-_TG-7dl6.js";
74
+ import { a as resolveControlUiRootOverrideSync, c as getHealthSnapshot, d as runHeartbeatOnce, f as setHeartbeatsEnabled, n as ensureControlUiAssetsBuilt, o as resolveControlUiRootSync, p as startHeartbeatRunner, s as formatHealthChannelLines } from "./health-format-DnQrmi90.js";
75
+ import { S as normalizeUpdateChannel, _ as resolveNpmChannelTag, h as compareSemverStrings, m as checkUpdateStatus, t as runGatewayUpdate, y as DEFAULT_PACKAGE_CHANNEL } from "./update-runner-sVyFnQ5i.js";
76
76
  import { a as resolveGatewayBindHost, n as isLoopbackHost$2, o as resolveGatewayClientIp, r as isTrustedProxyAddress, s as resolveGatewayListenHosts, t as isLoopbackAddress } from "./net-D2zciGj5.js";
77
77
  import { i as resolveGatewayAuth, n as authorizeGatewayConnect, r as isLocalDirectRequest, t as assertGatewayAuthConfigured } from "./auth-BPnkbfof.js";
78
- import { i as probeGateway } from "./audit-DK1NXsUR.js";
78
+ import { i as probeGateway } from "./audit-XCSjij3p.js";
79
79
  import "./table-Br4x1U8t.js";
80
80
  import { t as buildWorkspaceSkillStatus } from "./skills-status-B9teTTgu.js";
81
81
  import "./service-BmhixqmA.js";
@@ -83,15 +83,15 @@ import "./systemd-QeNHBKY_.js";
83
83
  import "./service-audit-Nmqw1tRw.js";
84
84
  import "./node-service-BF4ipV1g.js";
85
85
  import "./channels-status-issues-BiIcz4nz.js";
86
- import "./completion-cli-BO3ziRR1.js";
87
- import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-BIxLfYkv.js";
86
+ import "./completion-cli-AvBp6AtM.js";
87
+ import { a as createOutboundSendDeps$1, i as resolveAgentOutboundTarget, r as resolveAgentDeliveryPlan, t as agentCommand } from "./agent-Dtt33y4K.js";
88
88
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-pTj59jZd.js";
89
89
  import "./systemd-hints-DpYzxoFm.js";
90
90
  import { i as shouldIncludeHook, n as loadWorkspaceHookEntries, r as resolveHookConfig } from "./hooks-status-DAZqmvvU.js";
91
- import "./tui-M4SDqVBr.js";
91
+ import "./tui-B2ZEdepW.js";
92
92
  import { t as buildChannelAccountSnapshot } from "./status-C_dMhoE0.js";
93
93
  import "./shared-ByqSbw-o.js";
94
- import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-CatDQvXp.js";
94
+ import { a as runDaemonStop, i as runDaemonStart, n as runDaemonStatus, o as runDaemonUninstall, r as runDaemonRestart, s as runDaemonInstall } from "./daemon-cli-BTUVzdFV.js";
95
95
  import { a as toOptionString, i as parsePort$1, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Oinouexg.js";
96
96
  import { i as setGatewayWsLogStyle, n as logWs, r as summarizeAgentEventForWsLog, t as formatForLog } from "./ws-log-Cmu4Hs9k.js";
97
97
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DC0hK-al.js";
@@ -9001,7 +9001,7 @@ const nodeHandlers = {
9001
9001
  const p = params;
9002
9002
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
9003
9003
  await respondUnavailableOnThrow(respond, async () => {
9004
- const { handleNodeEvent } = await import("./server-node-events-DXWeo9KB.js");
9004
+ const { handleNodeEvent } = await import("./server-node-events-Cb8AP2Lo.js");
9005
9005
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
9006
9006
  await handleNodeEvent({
9007
9007
  deps: context.deps,
@@ -11997,7 +11997,7 @@ function normalizeAgentPayload(payload, opts) {
11997
11997
  async function startBrowserControlServerIfEnabled() {
11998
11998
  if (isTruthyEnvValue(process.env.OPENCLAW_SKIP_BROWSER_CONTROL_SERVER)) return null;
11999
11999
  const override = process.env.OPENCLAW_BROWSER_CONTROL_MODULE?.trim();
12000
- const mod = override ? await import(override) : await import("./control-service-Dssk9Kaa.js").then((n) => n.t);
12000
+ const mod = override ? await import(override) : await import("./control-service-CcBK8tVJ.js").then((n) => n.t);
12001
12001
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
12002
12002
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
12003
12003
  if (!start) return null;
@@ -12890,15 +12890,17 @@ function serveFile(res, filePath) {
12890
12890
  res.end(fs.readFileSync(filePath));
12891
12891
  }
12892
12892
  function injectControlUiConfig(html, opts) {
12893
- const { basePath, assistantName, assistantAvatar } = opts;
12894
- const script = `<script>window.__OPENCLAW_CONTROL_UI_BASE_PATH__=${JSON.stringify(basePath)};window.__OPENCLAW_ASSISTANT_NAME__=${JSON.stringify(assistantName ?? DEFAULT_ASSISTANT_IDENTITY.name)};window.__OPENCLAW_ASSISTANT_AVATAR__=${JSON.stringify(assistantAvatar ?? DEFAULT_ASSISTANT_IDENTITY.avatar)};<\/script>`;
12893
+ const { basePath, assistantName, assistantAvatar, gatewayToken } = opts;
12894
+ let script = `<script>window.__OPENCLAW_CONTROL_UI_BASE_PATH__=${JSON.stringify(basePath)};window.__OPENCLAW_ASSISTANT_NAME__=${JSON.stringify(assistantName ?? DEFAULT_ASSISTANT_IDENTITY.name)};window.__OPENCLAW_ASSISTANT_AVATAR__=${JSON.stringify(assistantAvatar ?? DEFAULT_ASSISTANT_IDENTITY.avatar)};`;
12895
+ if (typeof gatewayToken === "string" && gatewayToken.trim()) script += `window.__OPENCLAW_GATEWAY_TOKEN__=${JSON.stringify(gatewayToken.trim())};`;
12896
+ script += `<\/script>`;
12895
12897
  if (html.includes("__OPENCLAW_ASSISTANT_NAME__")) return html;
12896
12898
  const headClose = html.indexOf("</head>");
12897
12899
  if (headClose !== -1) return `${html.slice(0, headClose)}${script}${html.slice(headClose)}`;
12898
12900
  return `${script}${html}`;
12899
12901
  }
12900
12902
  function serveIndexHtml(res, indexPath, opts) {
12901
- const { basePath, config, agentId } = opts;
12903
+ const { basePath, config, agentId, gatewayToken } = opts;
12902
12904
  const identity = config ? resolveAssistantIdentity({
12903
12905
  cfg: config,
12904
12906
  agentId
@@ -12915,7 +12917,8 @@ function serveIndexHtml(res, indexPath, opts) {
12915
12917
  res.end(injectControlUiConfig(raw, {
12916
12918
  basePath,
12917
12919
  assistantName: identity.name,
12918
- assistantAvatar: avatarValue
12920
+ assistantAvatar: avatarValue,
12921
+ gatewayToken
12919
12922
  }));
12920
12923
  }
12921
12924
  function isSafeRelativePath(relPath) {
@@ -13001,7 +13004,8 @@ function handleControlUiHttpRequest(req, res, opts) {
13001
13004
  serveIndexHtml(res, filePath, {
13002
13005
  basePath,
13003
13006
  config: opts?.config,
13004
- agentId: opts?.agentId
13007
+ agentId: opts?.agentId,
13008
+ gatewayToken: opts?.gatewayToken
13005
13009
  });
13006
13010
  return true;
13007
13011
  }
@@ -13013,7 +13017,8 @@ function handleControlUiHttpRequest(req, res, opts) {
13013
13017
  serveIndexHtml(res, indexPath, {
13014
13018
  basePath,
13015
13019
  config: opts?.config,
13016
- agentId: opts?.agentId
13020
+ agentId: opts?.agentId,
13021
+ gatewayToken: opts?.gatewayToken
13017
13022
  });
13018
13023
  return true;
13019
13024
  }
@@ -14682,11 +14687,13 @@ function createGatewayHttpServer(opts) {
14682
14687
  basePath: controlUiBasePath,
14683
14688
  resolveAvatar: (agentId) => resolveAgentAvatar(configSnapshot, agentId)
14684
14689
  })) return;
14685
- if (handleControlUiHttpRequest(req, res, {
14690
+ const controlUiOpts = {
14686
14691
  basePath: controlUiBasePath,
14687
14692
  config: configSnapshot,
14688
14693
  root: controlUiRoot
14689
- })) return;
14694
+ };
14695
+ if (isLocalDirectRequest(req, trustedProxies) && resolvedAuth.token) controlUiOpts.gatewayToken = resolvedAuth.token;
14696
+ if (handleControlUiHttpRequest(req, res, controlUiOpts)) return;
14690
14697
  }
14691
14698
  res.statusCode = 404;
14692
14699
  res.setHeader("Content-Type", "text/plain; charset=utf-8");
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C0Y-pfV3.js";
2
- import { n as callGateway } from "./call-B0EB11Hz.js";
2
+ import { n as callGateway } from "./call-BCKAcENU.js";
3
3
  import { n as withProgress } from "./progress-DsH6InCn.js";
4
4
 
5
5
  //#region src/cli/gateway-rpc.ts
@@ -1,11 +1,11 @@
1
- import { rt as loadOpenClawPlugins } from "./reply-E1ga4GXi.js";
1
+ import { rt as loadOpenClawPlugins } from "./reply-CuxaWVob.js";
2
2
  import { c as normalizeAgentId } from "./session-key-Dm2EOhrH.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-MZJ7YwGv.js";
4
4
  import { t as listAgentIds } from "./agent-scope-BCxtHmMP.js";
5
5
  import { A as buildSyntheticModelDefinition, C as VENICE_BASE_URL, D as SYNTHETIC_BASE_URL, E as buildVeniceModelDefinition, G as buildCloudflareAiGatewayModelDefinition, K as resolveCloudflareAiGatewayBaseUrl, O as SYNTHETIC_DEFAULT_MODEL_REF, T as VENICE_MODEL_CATALOG, W as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, _ as buildXiaomiProvider, bt as DEFAULT_PROVIDER, ct as upsertAuthProfile, g as XIAOMI_DEFAULT_MODEL_ID, k as SYNTHETIC_MODEL_CATALOG, lt as ensureAuthProfileStore, m as resolveModelRefFromString, mt as resolveOpenClawAgentDir, r as buildModelAliasIndex, s as normalizeProviderId, w as VENICE_DEFAULT_MODEL_REF } from "./model-selection-BtrQIp5S.js";
6
6
  import { t as formatCliCommand } from "./command-format-B96YFpq4.js";
7
7
  import { c as writeConfigFile, o as readConfigFileSnapshot } from "./config-JJ_qstMV.js";
8
- import { r as isWSLEnv } from "./dispatcher-DOZGzrqb.js";
8
+ import { r as isWSLEnv } from "./dispatcher-BxDtNwSF.js";
9
9
  import { r as stylePromptTitle } from "./prompt-style-XexlH5fB.js";
10
10
  import { n as logConfigUpdated } from "./logging-BggTN-OA.js";
11
11
  import { intro, note, outro, spinner } from "@clack/prompts";
@@ -1,4 +1,4 @@
1
- import { Fn as resolveEffectiveMessagesConfig, O as resolveHeartbeatDeliveryTarget, Rn as resolveUserTimezone, br as peekSystemEvents, cn as emitHeartbeatEvent, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, dn as resolveIndicatorType, dr as resolveHeartbeatPrompt$1, et as requestHeartbeatNow, fr as stripHeartbeatToken, ir as CommandLane, k as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, nr as getQueueSize, sn as resolveHeartbeatVisibility, t as getReplyFromConfig, tt as setHeartbeatWakeHandler, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-E1ga4GXi.js";
1
+ import { Fn as resolveEffectiveMessagesConfig, O as resolveHeartbeatDeliveryTarget, Rn as resolveUserTimezone, br as peekSystemEvents, cn as emitHeartbeatEvent, cr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, dn as resolveIndicatorType, dr as resolveHeartbeatPrompt$1, et as requestHeartbeatNow, fr as stripHeartbeatToken, ir as CommandLane, k as resolveHeartbeatSenderContext, lr as DEFAULT_HEARTBEAT_EVERY, nr as getQueueSize, sn as resolveHeartbeatVisibility, t as getReplyFromConfig, tt as setHeartbeatWakeHandler, ur as isHeartbeatContentEffectivelyEmpty } from "./reply-CuxaWVob.js";
2
2
  import { c as normalizeAgentId, m as toAgentStoreSessionKey, u as resolveAgentIdFromSessionKey } from "./session-key-Dm2EOhrH.js";
3
3
  import { C as info, s as defaultRuntime, t as createSubsystemLogger } from "./subsystem-MZJ7YwGv.js";
4
4
  import { c as theme, o as colorize, s as isRich } from "./ansi-Dslhk-pR.js";
@@ -8,11 +8,11 @@ import { c as resolveDefaultAgentId, m as DEFAULT_HEARTBEAT_FILENAME, n as resol
8
8
  import { t as isTruthyEnvValue } from "./env-YhBsuZYR.js";
9
9
  import { h as parseDurationMs, i as loadConfig } from "./config-JJ_qstMV.js";
10
10
  import { f as resolvePreferredAccountId, n as listChannelPlugins, t as getChannelPlugin, u as buildChannelAccountBindings } from "./plugins-09ktk12_.js";
11
- import { F as resolveAgentMainSessionKey, P as canonicalizeMainSessionAlias, d as loadSessionStore, g as updateSessionStore, m as saveSessionStore } from "./sandbox-B4M0ryQ9.js";
12
- import { T as formatErrorMessage } from "./chrome-4hKxr5KT.js";
11
+ import { F as resolveAgentMainSessionKey, P as canonicalizeMainSessionAlias, d as loadSessionStore, g as updateSessionStore, m as saveSessionStore } from "./sandbox-AKDe5dkQ.js";
12
+ import { T as formatErrorMessage } from "./chrome-YyXlpRHF.js";
13
13
  import { o as resolveStorePath } from "./paths-DoU2wF-8.js";
14
- import { W as HEARTBEAT_TOKEN, t as deliverOutboundPayloads } from "./deliver-BBwjenkx.js";
15
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-B0EB11Hz.js";
14
+ import { W as HEARTBEAT_TOKEN, t as deliverOutboundPayloads } from "./deliver-BL3iTzV7.js";
15
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BCKAcENU.js";
16
16
  import { n as withProgress } from "./progress-DsH6InCn.js";
17
17
  import { t as resolveChannelDefaultAccountId } from "./helpers-CcHGV820.js";
18
18
  import { fileURLToPath } from "node:url";