@noxsoft/anima 3.0.0 → 3.0.1

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 (132) hide show
  1. package/dist/{accounts-4HFzweNO.js → accounts-ZMhj636e.js} +38 -38
  2. package/dist/{acp-cli-CHsShBeX.js → acp-cli-PhWp41mc.js} +2 -2
  3. package/dist/{agent-rY3gCqJE.js → agent-DvWSUuKy.js} +1 -1
  4. package/dist/{agent-events-BiKKV3wj.js → agent-events-iR_gRjZA.js} +2 -2
  5. package/dist/{agent-scope-BXuH9s05.js → agent-scope-DWKQJUUZ.js} +3 -3
  6. package/dist/{agents-GDJBET4Z.js → agents-DAg3VWr9.js} +1 -1
  7. package/dist/{audit-B_3ewOwt.js → audit-Cm50mcVm.js} +3 -3
  8. package/dist/{auth-choice-BTMheCDo.js → auth-choice-CPDNhDPT.js} +17 -4
  9. package/dist/{auth-profiles-xk_1uopf.js → auth-profiles-BqrAPweI.js} +9 -9
  10. package/dist/{auth-store-Bis9WSLR.js → auth-store-eNVxoq_h.js} +13 -13
  11. package/dist/build-info.json +3 -3
  12. package/dist/bundled/boot-md/handler.js +22 -22
  13. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  14. package/dist/bundled/command-logger/handler.js +1 -1
  15. package/dist/bundled/session-memory/handler.js +8 -8
  16. package/dist/{call-BBzfZU0_.js → call-C0Yk2qNb.js} +1 -1
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{channel-web-BBctXTmi.js → channel-web-Co4IvTdB.js} +5 -5
  19. package/dist/{chrome-CVfcErE4.js → chrome-_87P03u5.js} +7 -7
  20. package/dist/{chrome-C1KpzLwu.js → chrome-s7nTgmbn.js} +12 -12
  21. package/dist/{chunk-Cguey_55.js → chunk-lDG_8LI5.js} +2 -2
  22. package/dist/{clack-prompter-S0pujJNH.js → clack-prompter-DXovYg0Q.js} +1 -1
  23. package/dist/cli/daemon-cli.js +1 -1
  24. package/dist/{cli-B2StCcqh.js → cli-BkI8EYn3.js} +9 -9
  25. package/dist/{client-oEG5cM5Q.js → client-BM5PkIwQ.js} +3 -3
  26. package/dist/{command-registry-D5y3Nn9i.js → command-registry-Cl3Z-qsS.js} +7 -7
  27. package/dist/{common-DgcMt-pi.js → common-DbouukNi.js} +2 -2
  28. package/dist/{completion-cli-CDsbJ-p2.js → completion-cli-BB3_g8w5.js} +1 -1
  29. package/dist/{completion-cli-CqZwlvs2.js → completion-cli-DcTEhrAe.js} +2 -2
  30. package/dist/{config-CrQw7iqE.js → config-H_VHtPeY.js} +27 -27
  31. package/dist/{config-cli-Brwjz25Y.js → config-cli-DCNRWoyW.js} +1 -1
  32. package/dist/{config-cli-CaUpfkTl.js → config-cli-VB37XAkf.js} +1 -1
  33. package/dist/{configure-B_PLPDkP.js → configure-CkmVabju.js} +5 -5
  34. package/dist/{configure-QwZPOdBf.js → configure-Du07BFtQ.js} +1 -1
  35. package/dist/{control-service-DptjbgYI.js → control-service-BpEnt1xS.js} +3 -3
  36. package/dist/{cron-cli-CpzhiW5t.js → cron-cli-BT0i4_jA.js} +3 -3
  37. package/dist/{daemon-cli-CV9nly9k.js → daemon-cli-DlHFi5Gm.js} +2 -2
  38. package/dist/{deliver-Bri9Y1qG.js → deliver-DyQtnfXd.js} +14 -14
  39. package/dist/{deps-DcinYE4_.js → deps-DoPMG4GI.js} +1 -1
  40. package/dist/{dispatcher-CiJKNMU3.js → dispatcher-wmQlHNsm.js} +1 -1
  41. package/dist/{doctor-qFADypWz.js → doctor-BxzkshQH.js} +1 -1
  42. package/dist/{doctor-BDWGCEMG.js → doctor-C3foAiuj.js} +6 -6
  43. package/dist/{doctor-completion-DguJOZqA.js → doctor-completion-CZgNNZVd.js} +1 -1
  44. package/dist/{doctor-completion-BY4djQTY.js → doctor-completion-VtjYTwcS.js} +1 -1
  45. package/dist/entry.js +1 -1
  46. package/dist/{exec-DJTRaYS6.js → exec-CK8CHr7j.js} +7 -7
  47. package/dist/{exec-approvals-cli-ESNXHzjZ.js → exec-approvals-cli-CAwe3fFV.js} +3 -3
  48. package/dist/{frontmatter-DDYuWuK5.js → frontmatter-BBFYH_d2.js} +2 -2
  49. package/dist/{gateway-cli-B091bAD6.js → gateway-cli-BKmCrkp2.js} +26 -26
  50. package/dist/{gateway-cli-CUmQFMSU.js → gateway-cli-D0mD_UV8.js} +6 -6
  51. package/dist/{gateway-rpc-hgK9OB-O.js → gateway-rpc-elmeRwyu.js} +1 -1
  52. package/dist/{health-CH8yZB2L.js → health-Cb_2WS_Z.js} +3 -3
  53. package/dist/{hooks-cli-DBAcPJTk.js → hooks-cli-BkaD_Vnq.js} +10 -10
  54. package/dist/{image-ops-ZMEg1-kE.js → image-ops-DJjERl7d.js} +2 -2
  55. package/dist/index.js +17 -17
  56. package/dist/json-file-Dvrir7_o.js +25 -0
  57. package/dist/llm-slug-generator.js +5 -5
  58. package/dist/{login-Bdyk0es6.js → login-CBsXoiD_.js} +1 -1
  59. package/dist/{login-DP5hIYxG.js → login-CdRss5_H.js} +5 -5
  60. package/dist/{login-qr-DOt_1aAq.js → login-qr-DoNanonP.js} +10 -10
  61. package/dist/{login-qr-DQS-8_PV.js → login-qr-aHN20jEV.js} +1 -1
  62. package/dist/{logs-cli-VAcUvvxS.js → logs-cli-DbdMIph-.js} +3 -3
  63. package/dist/{manager-CHN3-66K.js → manager-BlXVqzLP.js} +14 -14
  64. package/dist/{model-auth-C4Jglp-Y.js → model-auth-ChSwMwh7.js} +3 -3
  65. package/dist/{model-selection-BsVvfxCt.js → model-selection-DPoLkg_t.js} +1 -1
  66. package/dist/{node-cli-BujxFy1-.js → node-cli-Bcrlhaq3.js} +6 -6
  67. package/dist/{onboard-B006xiEP.js → onboard-5GREpC8E.js} +5 -5
  68. package/dist/{onboard-BqpDno7i.js → onboard-D8Khq7CJ.js} +2 -2
  69. package/dist/{onboard-channels-BQ5lwRDU.js → onboard-channels-CuDv5j-L.js} +1 -1
  70. package/dist/{onboard-helpers-K7wUCSoE.js → onboard-helpers-CMW6MSXA.js} +1 -1
  71. package/dist/{onboarding-DXQ0Qtq6.js → onboarding-B_Gs5W53.js} +6 -6
  72. package/dist/{onboarding-BLFJufto.js → onboarding-CGG6jZ0y.js} +3 -3
  73. package/dist/{outbound-DdFghG1N.js → outbound-DK71dddk.js} +6 -6
  74. package/dist/{paths-OaazGgrn.js → paths-CmZenvlb.js} +2 -2
  75. package/dist/{paths-B-AkG5FD.js → paths-D2eokayo.js} +3 -3
  76. package/dist/{pi-auth-json-CYnJfuU-.js → pi-auth-json-BYN-DI5a.js} +7 -7
  77. package/dist/{pi-embedded-helpers-CeMv9QXO.js → pi-embedded-helpers-CvYnWzAn.js} +44 -44
  78. package/dist/{plugin-registry-BsdLXCVX.js → plugin-registry-CIluPn2C.js} +1 -1
  79. package/dist/{plugins-cli-OPa7o4qd.js → plugins-cli-CgSDRx-C.js} +10 -10
  80. package/dist/{program-CzWSwu9I.js → program-Dk1iylK1.js} +2 -2
  81. package/dist/{program-context-C8DYJdS-.js → program-context-r2WimvLs.js} +23 -23
  82. package/dist/{prompts-Cm8eJ-i3.js → prompts-BT5ztuUd.js} +17 -4
  83. package/dist/{pw-ai-DVQKx_ca.js → pw-ai-q5Enhcu7.js} +4 -4
  84. package/dist/{pw-ai-Rz1I4vvf.js → pw-ai-ycVS073z.js} +1 -1
  85. package/dist/{qmd-manager-lcdr9Faq.js → qmd-manager-D_lZFetA.js} +7 -7
  86. package/dist/{register.agent-DY1YeTsP.js → register.agent-BCbrZgZT.js} +15 -15
  87. package/dist/{register.agent-B_gLj3iW.js → register.agent-sq78vQTz.js} +2 -2
  88. package/dist/{register.configure-BHsLGGdB.js → register.configure-CM8ScF9N.js} +15 -15
  89. package/dist/{register.configure-De5ZyOFg.js → register.configure-w6Ptx3C9.js} +2 -2
  90. package/dist/{register.maintenance-DSQmEYe7.js → register.maintenance-B15nWIhc.js} +16 -16
  91. package/dist/{register.maintenance-Bcb2lf7H.js → register.maintenance-Chm2rk_s.js} +5 -5
  92. package/dist/{register.onboard-COEVeozO.js → register.onboard-B7Ozkx53.js} +7 -7
  93. package/dist/{register.onboard-DUWYMOX1.js → register.onboard-k9Rd9qzS.js} +19 -19
  94. package/dist/{register.setup-D__YdHzY.js → register.setup-BId1QGzk.js} +7 -7
  95. package/dist/{register.setup-fJdxj_9G.js → register.setup-CN1yxMOl.js} +19 -19
  96. package/dist/{register.status-health-sessions-BsGFhOsG.js → register.status-health-sessions-CNUs9w8v.js} +13 -13
  97. package/dist/{register.subclis-D2HE_7Rz.js → register.subclis-N7uAMRX_.js} +3 -3
  98. package/dist/{reply-B5IU75jY.js → reply-BJ3jrefM.js} +12 -12
  99. package/dist/{reply-prefix-B90kjTag.js → reply-prefix-DBJU0o4f.js} +2 -2
  100. package/dist/{routes-D7OuiEUz.js → routes-CNqS9gOj.js} +2 -2
  101. package/dist/{run-main-BTol0uPD.js → run-main-DA4rt9qc.js} +6 -6
  102. package/dist/{sandbox-cli-CRzBRQ9r.js → sandbox-cli-BsMjNBFN.js} +3 -3
  103. package/dist/{security-cli-CVkFh9a9.js → security-cli-pupt3tx1.js} +6 -6
  104. package/dist/{semantic-BTp-RtM8.js → semantic-BcioSN1d.js} +1 -1
  105. package/dist/{server-context-CHGGYs6i.js → server-context-CcPmRFx_.js} +4 -4
  106. package/dist/{server-node-events-DMEsGLU8.js → server-node-events-DNDwVJH_.js} +5 -5
  107. package/dist/{session-BpAyGjL3.js → session-D53RZP3i.js} +6 -6
  108. package/dist/{session-CzBccNiw.js → session-DTRcP2Sj.js} +1 -1
  109. package/dist/{shell-env-5vFwNQcz.js → shell-env-BBHdjHEl.js} +1 -1
  110. package/dist/{soul-D4rF0iXu.js → soul-CXGTzaKZ.js} +1 -1
  111. package/dist/{sqlite-B3u2TqVF.js → sqlite-B-dYyac7.js} +4 -4
  112. package/dist/{status-CHuLEuXT.js → status-DNUP2mgR.js} +5 -5
  113. package/dist/{status-CTYln2fY.js → status-DYGeQK4c.js} +1 -1
  114. package/dist/{subagent-registry-jwfG4kCT.js → subagent-registry-D4idxv3D.js} +1 -1
  115. package/dist/{subagent-registry-xUCd2ZX9.js → subagent-registry-DjB3VS5s.js} +28 -28
  116. package/dist/{subsystem-BlEuMJjX.js → subsystem-CJTCKTwb.js} +13 -13
  117. package/dist/{system-cli-C8kg1fwg.js → system-cli-BNhplLHn.js} +3 -3
  118. package/dist/{tool-images-2qKyjXUj.js → tool-images-DBOSl4NL.js} +2 -2
  119. package/dist/{tui-cli-CypnMid4.js → tui-cli-ByERfWnP.js} +6 -6
  120. package/dist/{tui-DBbVe-hW.js → tui-dHcni7fC.js} +2 -2
  121. package/dist/{update-cli-CATjbP1k.js → update-cli-CGVsahIi.js} +5 -5
  122. package/dist/{update-cli-C6zUK6ap.js → update-cli-D7SyNIoQ.js} +17 -17
  123. package/dist/{update-runner-B-JShOyr.js → update-runner-DeNUEGyr.js} +1 -1
  124. package/dist/{usage-kmpmqBES.js → usage-DSZ_juox.js} +20 -20
  125. package/dist/{web-CTS-vEIT.js → web-DY2TrPoD.js} +86 -86
  126. package/dist/{web-EevNfpKp.js → web-DyUoZrMO.js} +13 -13
  127. package/dist/{whatsapp-actions-qDftmVCc.js → whatsapp-actions-B_fglZZt.js} +13 -13
  128. package/dist/{workspace-CZlo4alz.js → workspace-xzxJwPTB.js} +5 -5
  129. package/package.json +2 -1
  130. package/dist/json-file-CZ3ssFR9.js +0 -25
  131. /package/dist/{config-Btt1rkoB.js → config-COtiNNtV.js} +0 -0
  132. /package/dist/{input-provenance-B0pwc6mp.js → input-provenance-MbkIKHHL.js} +0 -0
@@ -8,7 +8,7 @@ import path from "node:path";
8
8
  import { execFileSync, spawn } from "node:child_process";
9
9
  import { randomBytes } from "node:crypto";
10
10
  import { createServer } from "node:http";
11
- import WebSocket, { WebSocketServer } from "ws";
11
+ import WebSocket$1, { WebSocketServer } from "ws";
12
12
 
13
13
  //#region src/browser/constants.ts
14
14
  const DEFAULT_ANIMA_BROWSER_ENABLED = true;
@@ -88,7 +88,7 @@ async function ensureChromeExtensionRelayServer(opts) {
88
88
  let nextExtensionId = 1;
89
89
  const sendToExtension = async (payload) => {
90
90
  const ws = extensionWs;
91
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
91
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
92
92
  ws.send(JSON.stringify(payload));
93
93
  return await new Promise((resolve, reject) => {
94
94
  const timer = setTimeout(() => {
@@ -105,12 +105,12 @@ async function ensureChromeExtensionRelayServer(opts) {
105
105
  const broadcastToCdpClients = (evt) => {
106
106
  const msg = JSON.stringify(evt);
107
107
  for (const ws of cdpClients) {
108
- if (ws.readyState !== WebSocket.OPEN) continue;
108
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
109
109
  ws.send(msg);
110
110
  }
111
111
  };
112
112
  const sendResponseToCdp = (ws, res) => {
113
- if (ws.readyState !== WebSocket.OPEN) return;
113
+ if (ws.readyState !== WebSocket$1.OPEN) return;
114
114
  ws.send(JSON.stringify(res));
115
115
  };
116
116
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -330,7 +330,7 @@ async function ensureChromeExtensionRelayServer(opts) {
330
330
  wssExtension.on("connection", (ws) => {
331
331
  extensionWs = ws;
332
332
  const ping = setInterval(() => {
333
- if (ws.readyState !== WebSocket.OPEN) return;
333
+ if (ws.readyState !== WebSocket$1.OPEN) return;
334
334
  ws.send(JSON.stringify({ method: "ping" }));
335
335
  }, 5e3);
336
336
  ws.on("message", (data) => {
@@ -627,7 +627,7 @@ async function fetchJson(url, timeoutMs = 1500, init) {
627
627
  }
628
628
  async function withCdpSocket(wsUrl, fn, opts) {
629
629
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
630
- const ws = new WebSocket(wsUrl, {
630
+ const ws = new WebSocket$1(wsUrl, {
631
631
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
632
632
  ...Object.keys(headers).length ? { headers } : {}
633
633
  });
@@ -1455,7 +1455,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1455
1455
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1456
1456
  return await new Promise((resolve) => {
1457
1457
  const headers = getHeadersWithAuth(wsUrl);
1458
- const ws = new WebSocket(wsUrl, {
1458
+ const ws = new WebSocket$1(wsUrl, {
1459
1459
  handshakeTimeout: timeoutMs,
1460
1460
  ...Object.keys(headers).length ? { headers } : {}
1461
1461
  });
@@ -1,10 +1,10 @@
1
- import { t as createSubsystemLogger } from "./subsystem-BlEuMJjX.js";
2
- import { l as CONFIG_DIR } from "./exec-DJTRaYS6.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-CJTCKTwb.js";
2
+ import { l as CONFIG_DIR } from "./exec-CK8CHr7j.js";
3
3
  import { r as isErrno } from "./errors-DzK5Mvu0.js";
4
4
  import fs from "node:fs/promises";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
7
- import fs$1 from "node:fs";
7
+ import fsSync from "node:fs";
8
8
  import { execFileSync, spawn } from "node:child_process";
9
9
  import { randomBytes } from "node:crypto";
10
10
  import net from "node:net";
@@ -937,7 +937,7 @@ const CHROMIUM_EXE_NAMES = new Set([
937
937
  ]);
938
938
  function exists$1(filePath) {
939
939
  try {
940
- return fs$1.existsSync(filePath);
940
+ return fsSync.existsSync(filePath);
941
941
  } catch {
942
942
  return false;
943
943
  }
@@ -1080,7 +1080,7 @@ function findDesktopFilePath(desktopId) {
1080
1080
  }
1081
1081
  function readDesktopExecLine(desktopPath) {
1082
1082
  try {
1083
- const lines = fs$1.readFileSync(desktopPath, "utf8").split(/\r?\n/);
1083
+ const lines = fsSync.readFileSync(desktopPath, "utf8").split(/\r?\n/);
1084
1084
  for (const line of lines) if (line.startsWith("Exec=")) return line.slice(5).trim();
1085
1085
  } catch {}
1086
1086
  return null;
@@ -1367,8 +1367,8 @@ function decoratedMarkerPath(userDataDir) {
1367
1367
  }
1368
1368
  function safeReadJson(filePath) {
1369
1369
  try {
1370
- if (!fs$1.existsSync(filePath)) return null;
1371
- const raw = fs$1.readFileSync(filePath, "utf-8");
1370
+ if (!fsSync.existsSync(filePath)) return null;
1371
+ const raw = fsSync.readFileSync(filePath, "utf-8");
1372
1372
  const parsed = JSON.parse(raw);
1373
1373
  if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return null;
1374
1374
  return parsed;
@@ -1377,8 +1377,8 @@ function safeReadJson(filePath) {
1377
1377
  }
1378
1378
  }
1379
1379
  function safeWriteJson(filePath, data) {
1380
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
1381
- fs$1.writeFileSync(filePath, JSON.stringify(data, null, 2));
1380
+ fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
1381
+ fsSync.writeFileSync(filePath, JSON.stringify(data, null, 2));
1382
1382
  }
1383
1383
  function setDeep(obj, keys, value) {
1384
1384
  let node = obj;
@@ -1505,7 +1505,7 @@ function decorateAnimaProfile(userDataDir, opts) {
1505
1505
  }
1506
1506
  safeWriteJson(preferencesPath, prefs);
1507
1507
  try {
1508
- fs$1.writeFileSync(decoratedMarkerPath(userDataDir), `${Date.now()}\n`, "utf-8");
1508
+ fsSync.writeFileSync(decoratedMarkerPath(userDataDir), `${Date.now()}\n`, "utf-8");
1509
1509
  } catch {}
1510
1510
  }
1511
1511
  function ensureProfileCleanExit(userDataDir) {
@@ -1521,7 +1521,7 @@ function ensureProfileCleanExit(userDataDir) {
1521
1521
  const log = createSubsystemLogger("browser").child("chrome");
1522
1522
  function exists(filePath) {
1523
1523
  try {
1524
- return fs$1.existsSync(filePath);
1524
+ return fsSync.existsSync(filePath);
1525
1525
  } catch {
1526
1526
  return false;
1527
1527
  }
@@ -1601,7 +1601,7 @@ async function launchAnimaChrome(resolved, profile) {
1601
1601
  const exe = resolveBrowserExecutable(resolved);
1602
1602
  if (!exe) throw new Error("No supported browser found (Chrome/Brave/Edge/Chromium on macOS, Linux, or Windows).");
1603
1603
  const userDataDir = resolveAnimaUserDataDir(profile.name);
1604
- fs$1.mkdirSync(userDataDir, { recursive: true });
1604
+ fsSync.mkdirSync(userDataDir, { recursive: true });
1605
1605
  const needsDecorate = !isProfileDecorated(userDataDir, profile.name, (profile.color ?? DEFAULT_ANIMA_BROWSER_COLOR).toUpperCase());
1606
1606
  const spawnOnce = () => {
1607
1607
  const args = [
@@ -1,5 +1,5 @@
1
- import { C as normalizeAccountId } from "./workspace-CZlo4alz.js";
2
- import { w as INTERNAL_MESSAGE_CHANNEL } from "./image-ops-ZMEg1-kE.js";
1
+ import { C as normalizeAccountId } from "./workspace-xzxJwPTB.js";
2
+ import { w as INTERNAL_MESSAGE_CHANNEL } from "./image-ops-DJjERl7d.js";
3
3
 
4
4
  //#region src/markdown/fences.ts
5
5
  function parseFenceSpans(buffer) {
@@ -1,7 +1,7 @@
1
1
  import { B as theme } from "./subsystem-BaJ-PqmA.js";
2
2
  import { t as createCliProgress } from "./progress-gdB4V88Q.js";
3
3
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CXrnxWQG.js";
4
- import { t as WizardCancelledError } from "./prompts-Cm8eJ-i3.js";
4
+ import { t as WizardCancelledError } from "./prompts-BT5ztuUd.js";
5
5
  import { t as note$1 } from "./note-CLRVmCnr.js";
6
6
  import { cancel, confirm, intro, isCancel, multiselect, outro, select, spinner, text } from "@clack/prompts";
7
7
 
@@ -1,5 +1,5 @@
1
1
  // Legacy shim for pre-tsdown update-cli imports.
2
- import * as daemonCli from "../daemon-cli-CV9nly9k.js";
2
+ import * as daemonCli from "../daemon-cli-DlHFi5Gm.js";
3
3
  export const registerDaemonCli = daemonCli.t.registerDaemonCli;
4
4
  export const runDaemonInstall = async () => { throw new Error("Legacy daemon CLI export \"runDaemonInstall\" is unavailable in this build. Please upgrade Anima."); };
5
5
  export const runDaemonRestart = daemonCli.r;
@@ -2,8 +2,8 @@ import "./paths-zhVksOvm.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-BaJ-PqmA.js";
3
3
  import "./utils-RdHkpqQp.js";
4
4
  import "./pi-embedded-helpers-6Tb87sgU.js";
5
- import "./subagent-registry-jwfG4kCT.js";
6
- import { K as loadAnimaPlugins } from "./reply-B5IU75jY.js";
5
+ import "./subagent-registry-D4idxv3D.js";
6
+ import { K as loadAnimaPlugins } from "./reply-BJ3jrefM.js";
7
7
  import "./exec-Bsq6vlwp.js";
8
8
  import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-vpVhWds3.js";
9
9
  import "./model-selection-C2dz3AhV.js";
@@ -22,11 +22,11 @@ import "./model-auth-DUHamQTz.js";
22
22
  import "./cli-session-CIhvoVRb.js";
23
23
  import "./tokens-BLOye_TP.js";
24
24
  import "./sandbox-wL61f1WP.js";
25
- import "./chrome-CVfcErE4.js";
25
+ import "./chrome-_87P03u5.js";
26
26
  import "./auth-B8ry4GB_.js";
27
- import "./server-context-CHGGYs6i.js";
27
+ import "./server-context-CcPmRFx_.js";
28
28
  import "./skills-DsdcfeyV.js";
29
- import "./routes-D7OuiEUz.js";
29
+ import "./routes-CNqS9gOj.js";
30
30
  import "./ports-CmAt9mb6.js";
31
31
  import "./message-channel-BbkwF58_.js";
32
32
  import "./plugins-CFb1gJ4N.js";
@@ -36,8 +36,8 @@ import "./parse-timeout-qnHqZvCW.js";
36
36
  import "./chunk-DprzQA5H.js";
37
37
  import "./deliver-tQREYhAr.js";
38
38
  import "./pi-tools.policy-BoWzLBtH.js";
39
- import "./client-oEG5cM5Q.js";
40
- import "./call-BBzfZU0_.js";
39
+ import "./client-BM5PkIwQ.js";
40
+ import "./call-C0Yk2qNb.js";
41
41
  import "./memory-cli-CDMb58Y3.js";
42
42
  import "./manager-1ZMunRXe.js";
43
43
  import "./sqlite-EkbWHNXu.js";
@@ -51,8 +51,8 @@ import "./links-NgE0SEVZ.js";
51
51
  import "./progress-gdB4V88Q.js";
52
52
  import "./logging-1vypRz8h.js";
53
53
  import "./auth-store-DWgI4Vj8.js";
54
- import "./control-service-DptjbgYI.js";
55
- import "./dispatcher-CiJKNMU3.js";
54
+ import "./control-service-BpEnt1xS.js";
55
+ import "./dispatcher-wmQlHNsm.js";
56
56
  import "./pi-model-discovery-HH8RvApN.js";
57
57
  import "./delivery-queue-CdUtwMZr.js";
58
58
  import "./session-cost-usage-CYdqhmt6.js";
@@ -7,7 +7,7 @@ import fs from "node:fs";
7
7
  import path from "node:path";
8
8
  import crypto, { randomUUID } from "node:crypto";
9
9
  import AjvPkg from "ajv";
10
- import { WebSocket as WebSocket$1 } from "ws";
10
+ import { WebSocket } from "ws";
11
11
  import { Type } from "@sinclair/typebox";
12
12
 
13
13
  //#region src/infra/device-identity.ts
@@ -1463,7 +1463,7 @@ var GatewayClient = class {
1463
1463
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("ANIMA Gateway TLS fingerprint mismatch");
1464
1464
  });
1465
1465
  }
1466
- this.ws = new WebSocket$1(url, wsOptions);
1466
+ this.ws = new WebSocket(url, wsOptions);
1467
1467
  this.ws.on("open", () => {
1468
1468
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
1469
1469
  const tlsError = this.validateTlsFingerprint();
@@ -1666,7 +1666,7 @@ var GatewayClient = class {
1666
1666
  return null;
1667
1667
  }
1668
1668
  async request(method, params, opts) {
1669
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("ANIMA Gateway not connected");
1669
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("ANIMA Gateway not connected");
1670
1670
  const id = randomUUID();
1671
1671
  const frame = {
1672
1672
  type: "req",
@@ -1,7 +1,7 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { _t as getPrimaryCommand, bt as hasHelpOrVersion, pt as buildParseArgv } from "./entry.js";
3
3
  import { r as resolveActionArgs } from "./helpers-BJtPtu_2.js";
4
- import { r as registerSubCliCommands } from "./register.subclis-D2HE_7Rz.js";
4
+ import { r as registerSubCliCommands } from "./register.subclis-N7uAMRX_.js";
5
5
 
6
6
  //#region src/cli/program/command-registry.ts
7
7
  var command_registry_exports = /* @__PURE__ */ __exportAll({
@@ -21,7 +21,7 @@ const coreEntries = [
21
21
  description: "Initialize ANIMA config and the agent workspace"
22
22
  }],
23
23
  register: async ({ program }) => {
24
- (await import("./register.setup-D__YdHzY.js")).registerSetupCommand(program);
24
+ (await import("./register.setup-BId1QGzk.js")).registerSetupCommand(program);
25
25
  }
26
26
  },
27
27
  {
@@ -30,7 +30,7 @@ const coreEntries = [
30
30
  description: "Interactive wizard for Gateway, workspace, and skills setup"
31
31
  }],
32
32
  register: async ({ program }) => {
33
- (await import("./register.onboard-COEVeozO.js")).registerOnboardCommand(program);
33
+ (await import("./register.onboard-B7Ozkx53.js")).registerOnboardCommand(program);
34
34
  }
35
35
  },
36
36
  {
@@ -39,7 +39,7 @@ const coreEntries = [
39
39
  description: "Interactive configuration for NoxSoft, memory, heartbeat, and identity"
40
40
  }],
41
41
  register: async ({ program }) => {
42
- (await import("./register.configure-De5ZyOFg.js")).registerConfigureCommand(program);
42
+ (await import("./register.configure-w6Ptx3C9.js")).registerConfigureCommand(program);
43
43
  }
44
44
  },
45
45
  {
@@ -48,7 +48,7 @@ const coreEntries = [
48
48
  description: "Read, write, and manage ANIMA configuration"
49
49
  }],
50
50
  register: async ({ program }) => {
51
- (await import("./config-cli-CaUpfkTl.js")).registerConfigCli(program);
51
+ (await import("./config-cli-VB37XAkf.js")).registerConfigCli(program);
52
52
  }
53
53
  },
54
54
  {
@@ -57,7 +57,7 @@ const coreEntries = [
57
57
  description: "Diagnose and repair Gateway and daemon issues"
58
58
  }],
59
59
  register: async ({ program }) => {
60
- (await import("./register.maintenance-Bcb2lf7H.js")).registerMaintenanceCommands(program);
60
+ (await import("./register.maintenance-Chm2rk_s.js")).registerMaintenanceCommands(program);
61
61
  }
62
62
  },
63
63
  {
@@ -78,7 +78,7 @@ const coreEntries = [
78
78
  description: "Manage isolated agent workspaces, auth, and routing"
79
79
  }],
80
80
  register: async ({ program, ctx }) => {
81
- (await import("./register.agent-B_gLj3iW.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
81
+ (await import("./register.agent-sq78vQTz.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
82
82
  }
83
83
  },
84
84
  {
@@ -1,5 +1,5 @@
1
- import { o as detectMime } from "./image-ops-ZMEg1-kE.js";
2
- import { t as sanitizeToolResultImages } from "./tool-images-2qKyjXUj.js";
1
+ import { o as detectMime } from "./image-ops-DJjERl7d.js";
2
+ import { t as sanitizeToolResultImages } from "./tool-images-DBOSl4NL.js";
3
3
  import fs from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
@@ -2,7 +2,7 @@ import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { m as resolveStateDir } from "./paths-zhVksOvm.js";
3
3
  import { i as routeLogsToStderr } from "./subsystem-BaJ-PqmA.js";
4
4
  import { g as pathExists } from "./utils-RdHkpqQp.js";
5
- import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-C8DYJdS-.js";
5
+ import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-r2WimvLs.js";
6
6
  import os from "node:os";
7
7
  import path from "node:path";
8
8
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { Z as resolveStateDir, l as routeLogsToStderr } from "./entry.js";
3
3
  import { h as pathExists } from "./utils-DwcweD55.js";
4
- import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-D2HE_7Rz.js";
5
- import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-D5y3Nn9i.js";
4
+ import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-N7uAMRX_.js";
5
+ import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-Cl3Z-qsS.js";
6
6
  import { t as getProgramContext } from "./program-context-DItEQSzX.js";
7
7
  import os from "node:os";
8
8
  import path from "node:path";
@@ -1,15 +1,15 @@
1
- import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-B-AkG5FD.js";
2
- import { _ as DEFAULT_AGENT_ID, w as normalizeAgentId } from "./workspace-CZlo4alz.js";
3
- import { f as normalizeChatChannelId, o as CHANNEL_IDS } from "./subsystem-BlEuMJjX.js";
4
- import { S as resolveConfigDir, _ as isRecord, g as isPlainObject$2, w as resolveUserPath } from "./exec-DJTRaYS6.js";
5
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-BXuH9s05.js";
6
- import { c as parseModelRef, p as DEFAULT_CONTEXT_TOKENS } from "./model-selection-BsVvfxCt.js";
7
- import { a as shouldDeferShellEnvFallback, i as resolveShellEnvFallbackTimeoutMs, o as shouldEnableShellEnvFallback, r as loadShellEnvFallback } from "./shell-env-5vFwNQcz.js";
1
+ import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-D2eokayo.js";
2
+ import { _ as DEFAULT_AGENT_ID, w as normalizeAgentId } from "./workspace-xzxJwPTB.js";
3
+ import { f as normalizeChatChannelId, o as CHANNEL_IDS } from "./subsystem-CJTCKTwb.js";
4
+ import { S as resolveConfigDir, _ as isRecord, g as isPlainObject$2, w as resolveUserPath } from "./exec-CK8CHr7j.js";
5
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DWKQJUUZ.js";
6
+ import { c as parseModelRef, p as DEFAULT_CONTEXT_TOKENS } from "./model-selection-DPoLkg_t.js";
7
+ import { a as shouldDeferShellEnvFallback, i as resolveShellEnvFallbackTimeoutMs, o as shouldEnableShellEnvFallback, r as loadShellEnvFallback } from "./shell-env-BBHdjHEl.js";
8
8
  import { n as MANIFEST_KEY } from "./legacy-names-lFRgrQ9g.js";
9
9
  import { createRequire } from "node:module";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
12
- import fs from "node:fs";
12
+ import fsSync from "node:fs";
13
13
  import JSON5 from "json5";
14
14
  import { isDeepStrictEqual } from "node:util";
15
15
  import { fileURLToPath } from "node:url";
@@ -23,7 +23,7 @@ function loadDotEnv(opts) {
23
23
  const quiet = opts?.quiet ?? true;
24
24
  dotenv.config({ quiet });
25
25
  const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
26
- if (!fs.existsSync(globalEnvPath)) return;
26
+ if (!fsSync.existsSync(globalEnvPath)) return;
27
27
  dotenv.config({
28
28
  quiet,
29
29
  path: globalEnvPath,
@@ -153,7 +153,7 @@ const DEFAULT_SUBAGENT_MAX_CONCURRENT = 8;
153
153
  //#endregion
154
154
  //#region src/config/talk.ts
155
155
  function readTalkApiKeyFromProfile(deps = {}) {
156
- const fsImpl = deps.fs ?? fs;
156
+ const fsImpl = deps.fs ?? fsSync;
157
157
  const osImpl = deps.os ?? os;
158
158
  const pathImpl = deps.path ?? path;
159
159
  const home = osImpl.homedir();
@@ -847,7 +847,7 @@ var IncludeProcessor = class IncludeProcessor {
847
847
  }
848
848
  };
849
849
  const defaultResolver = {
850
- readFile: (p) => fs.readFileSync(p, "utf-8"),
850
+ readFile: (p) => fsSync.readFileSync(p, "utf-8"),
851
851
  parseJson: (raw) => JSON5.parse(raw)
852
852
  };
853
853
  /**
@@ -1933,13 +1933,13 @@ function resolveBundledPluginsDir() {
1933
1933
  try {
1934
1934
  const execDir = path.dirname(process.execPath);
1935
1935
  const sibling = path.join(execDir, "extensions");
1936
- if (fs.existsSync(sibling)) return sibling;
1936
+ if (fsSync.existsSync(sibling)) return sibling;
1937
1937
  } catch {}
1938
1938
  try {
1939
1939
  let cursor = path.dirname(fileURLToPath(import.meta.url));
1940
1940
  for (let i = 0; i < 6; i += 1) {
1941
1941
  const candidate = path.join(cursor, "extensions");
1942
- if (fs.existsSync(candidate)) return candidate;
1942
+ if (fsSync.existsSync(candidate)) return candidate;
1943
1943
  const parent = path.dirname(cursor);
1944
1944
  if (parent === cursor) break;
1945
1945
  cursor = parent;
@@ -1958,20 +1958,20 @@ function normalizeStringList(value) {
1958
1958
  function resolvePluginManifestPath(rootDir) {
1959
1959
  for (const filename of PLUGIN_MANIFEST_FILENAMES) {
1960
1960
  const candidate = path.join(rootDir, filename);
1961
- if (fs.existsSync(candidate)) return candidate;
1961
+ if (fsSync.existsSync(candidate)) return candidate;
1962
1962
  }
1963
1963
  return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
1964
1964
  }
1965
1965
  function loadPluginManifest(rootDir) {
1966
1966
  const manifestPath = resolvePluginManifestPath(rootDir);
1967
- if (!fs.existsSync(manifestPath)) return {
1967
+ if (!fsSync.existsSync(manifestPath)) return {
1968
1968
  ok: false,
1969
1969
  error: `plugin manifest not found: ${manifestPath}`,
1970
1970
  manifestPath
1971
1971
  };
1972
1972
  let raw;
1973
1973
  try {
1974
- raw = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
1974
+ raw = JSON.parse(fsSync.readFileSync(manifestPath, "utf-8"));
1975
1975
  } catch (err) {
1976
1976
  return {
1977
1977
  ok: false,
@@ -2044,9 +2044,9 @@ function isExtensionFile(filePath) {
2044
2044
  }
2045
2045
  function readPackageManifest(dir) {
2046
2046
  const manifestPath = path.join(dir, "package.json");
2047
- if (!fs.existsSync(manifestPath)) return null;
2047
+ if (!fsSync.existsSync(manifestPath)) return null;
2048
2048
  try {
2049
- const raw = fs.readFileSync(manifestPath, "utf-8");
2049
+ const raw = fsSync.readFileSync(manifestPath, "utf-8");
2050
2050
  return JSON.parse(raw);
2051
2051
  } catch {
2052
2052
  return null;
@@ -2084,10 +2084,10 @@ function addCandidate(params) {
2084
2084
  });
2085
2085
  }
2086
2086
  function discoverInDirectory(params) {
2087
- if (!fs.existsSync(params.dir)) return;
2087
+ if (!fsSync.existsSync(params.dir)) return;
2088
2088
  let entries = [];
2089
2089
  try {
2090
- entries = fs.readdirSync(params.dir, { withFileTypes: true });
2090
+ entries = fsSync.readdirSync(params.dir, { withFileTypes: true });
2091
2091
  } catch (err) {
2092
2092
  params.diagnostics.push({
2093
2093
  level: "warn",
@@ -2139,7 +2139,7 @@ function discoverInDirectory(params) {
2139
2139
  "index.js",
2140
2140
  "index.mjs",
2141
2141
  "index.cjs"
2142
- ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs.existsSync(candidate));
2142
+ ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fsSync.existsSync(candidate));
2143
2143
  if (indexFile && isExtensionFile(indexFile)) addCandidate({
2144
2144
  candidates: params.candidates,
2145
2145
  seen: params.seen,
@@ -2155,7 +2155,7 @@ function discoverInDirectory(params) {
2155
2155
  }
2156
2156
  function discoverFromPath(params) {
2157
2157
  const resolved = resolveUserPath(params.rawPath);
2158
- if (!fs.existsSync(resolved)) {
2158
+ if (!fsSync.existsSync(resolved)) {
2159
2159
  params.diagnostics.push({
2160
2160
  level: "error",
2161
2161
  message: `plugin path not found: ${resolved}`,
@@ -2163,7 +2163,7 @@ function discoverFromPath(params) {
2163
2163
  });
2164
2164
  return;
2165
2165
  }
2166
- const stat = fs.statSync(resolved);
2166
+ const stat = fsSync.statSync(resolved);
2167
2167
  if (stat.isFile()) {
2168
2168
  if (!isExtensionFile(resolved)) {
2169
2169
  params.diagnostics.push({
@@ -2213,7 +2213,7 @@ function discoverFromPath(params) {
2213
2213
  "index.js",
2214
2214
  "index.mjs",
2215
2215
  "index.cjs"
2216
- ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs.existsSync(candidate));
2216
+ ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fsSync.existsSync(candidate));
2217
2217
  if (indexFile && isExtensionFile(indexFile)) {
2218
2218
  addCandidate({
2219
2219
  candidates: params.candidates,
@@ -2303,7 +2303,7 @@ function safeRealpathSync(rootDir, cache) {
2303
2303
  const cached = cache.get(rootDir);
2304
2304
  if (cached) return cached;
2305
2305
  try {
2306
- const resolved = fs.realpathSync(rootDir);
2306
+ const resolved = fsSync.realpathSync(rootDir);
2307
2307
  cache.set(rootDir, resolved);
2308
2308
  return resolved;
2309
2309
  } catch {
@@ -2329,7 +2329,7 @@ function buildCacheKey(params) {
2329
2329
  }
2330
2330
  function safeStatMtimeMs(filePath) {
2331
2331
  try {
2332
- return fs.statSync(filePath).mtimeMs;
2332
+ return fsSync.statSync(filePath).mtimeMs;
2333
2333
  } catch {
2334
2334
  return null;
2335
2335
  }
@@ -4674,7 +4674,7 @@ function resolveConfigPathForDeps(deps) {
4674
4674
  }
4675
4675
  function normalizeDeps(overrides = {}) {
4676
4676
  return {
4677
- fs: overrides.fs ?? fs,
4677
+ fs: overrides.fs ?? fsSync,
4678
4678
  json5: overrides.json5 ?? JSON5,
4679
4679
  env: overrides.env ?? process.env,
4680
4680
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
@@ -205,7 +205,7 @@ async function runConfigUnset(opts) {
205
205
  }
206
206
  function registerConfigCli(program) {
207
207
  const cmd = program.command("config").description("Read, write, and manage ANIMA configuration").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.noxsoft.net/anima/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
208
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections, parseConfigureWizardSections } = await import("./configure-B_PLPDkP.js").then((n) => n.t);
208
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections, parseConfigureWizardSections } = await import("./configure-CkmVabju.js").then((n) => n.t);
209
209
  const { sections, invalid } = parseConfigureWizardSections(opts.section);
210
210
  if (sections.length === 0) {
211
211
  await configureCommand(defaultRuntime);
@@ -202,7 +202,7 @@ async function runConfigUnset(opts) {
202
202
  }
203
203
  function registerConfigCli(program) {
204
204
  const cmd = program.command("config").description("Read, write, and manage ANIMA configuration").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.noxsoft.net/anima/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
205
- const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections, parseConfigureWizardSections } = await import("./configure-QwZPOdBf.js").then((n) => n.t);
205
+ const { CONFIGURE_WIZARD_SECTIONS, configureCommand, configureCommandWithSections, parseConfigureWizardSections } = await import("./configure-Du07BFtQ.js").then((n) => n.t);
206
206
  const { sections, invalid } = parseConfigureWizardSections(opts.section);
207
207
  if (sections.length === 0) {
208
208
  await configureCommand(defaultRuntime);
@@ -10,19 +10,19 @@ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CFb1gJ
10
10
  import { n as withProgress } from "./progress-gdB4V88Q.js";
11
11
  import { t as buildWorkspaceSkillStatus } from "./skills-status-DeW3dXom.js";
12
12
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DOk9qM0y.js";
13
- import { _ as summarizeExistingConfig, a as ensureWorkspaceAndSessions, f as printWizardHeader, g as resolveNodeManagerOptions, h as resolveControlUiLinks, m as randomToken, n as applyWizardMetadata, p as probeGatewayReachable, r as detectBinary, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as validateGatewayPasswordInput, y as waitForGatewayReachable } from "./onboard-helpers-K7wUCSoE.js";
13
+ import { _ as summarizeExistingConfig, a as ensureWorkspaceAndSessions, f as printWizardHeader, g as resolveNodeManagerOptions, h as resolveControlUiLinks, m as randomToken, n as applyWizardMetadata, p as probeGatewayReachable, r as detectBinary, s as guardCancel, t as DEFAULT_WORKSPACE, u as normalizeGatewayTokenInput, v as validateGatewayPasswordInput, y as waitForGatewayReachable } from "./onboard-helpers-CMW6MSXA.js";
14
14
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-CXrnxWQG.js";
15
15
  import { t as resolveGatewayService } from "./service-H_0E0nOX.js";
16
16
  import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-Cr39lZhK.js";
17
17
  import { n as discoverGatewayBeacons, t as installSkill } from "./skills-install-BVlnMRDh.js";
18
- import { r as healthCommand } from "./health-CH8yZB2L.js";
18
+ import { r as healthCommand } from "./health-Cb_2WS_Z.js";
19
19
  import { n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-BMwPAU53.js";
20
- import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice, s as promptAuthChoiceGrouped, t as WizardCancelledError } from "./prompts-Cm8eJ-i3.js";
20
+ import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice, s as promptAuthChoiceGrouped, t as WizardCancelledError } from "./prompts-BT5ztuUd.js";
21
21
  import { a as promptDefaultModel, i as applyPrimaryModel, n as applyModelAllowlist, o as promptModelAllowlist, r as applyModelFallbacksFromSelection, t as validateIPv4AddressInput } from "./ipv4-sll41DXC.js";
22
22
  import { n as logConfigUpdated } from "./logging-ClHj0gnP.js";
23
23
  import { t as note$1 } from "./note-CLRVmCnr.js";
24
- import { t as createClackPrompter } from "./clack-prompter-S0pujJNH.js";
25
- import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-BQ5lwRDU.js";
24
+ import { t as createClackPrompter } from "./clack-prompter-DXovYg0Q.js";
25
+ import { n as setupChannels, t as noteChannelStatus } from "./onboard-channels-CuDv5j-L.js";
26
26
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-q1hyIpoI.js";
27
27
  import { confirm, intro, outro, select, text } from "@clack/prompts";
28
28
 
@@ -16,7 +16,7 @@ import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-pkKJoCyY.js"
16
16
  import { n as discoverGatewayBeacons, t as installSkill } from "./skills-install-wgdmTfsf.js";
17
17
  import { r as healthCommand } from "./health-27WiwNrh.js";
18
18
  import { n as ensureControlUiAssetsBuilt, t as formatHealthCheckFailure } from "./health-format-Dug5Rbjg.js";
19
- import { i as promptAuthChoiceGrouped, r as applyAuthChoice, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-BTMheCDo.js";
19
+ import { i as promptAuthChoiceGrouped, r as applyAuthChoice, t as resolvePreferredProviderForAuthChoice } from "./auth-choice-CPDNhDPT.js";
20
20
  import { t as WizardCancelledError } from "./prompts-vr_Njtil.js";
21
21
  import { a as promptDefaultModel, i as applyPrimaryModel, n as applyModelAllowlist, o as promptModelAllowlist, r as applyModelFallbacksFromSelection, t as validateIPv4AddressInput } from "./ipv4-yUiIU5CD.js";
22
22
  import { n as logConfigUpdated } from "./logging-B05aEFEO.js";
@@ -1,8 +1,8 @@
1
1
  import { n as __exportAll } from "./chunk-BXK9XSlF.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-BaJ-PqmA.js";
3
3
  import { i as loadConfig } from "./config-9JRRXykP.js";
4
- import { _ as ensureChromeExtensionRelayServer } from "./chrome-CVfcErE4.js";
5
- import { a as resolveBrowserConfig, m as ensureBrowserControlAuth, n as listKnownProfileNames, o as resolveProfile, t as createBrowserRouteContext } from "./server-context-CHGGYs6i.js";
4
+ import { _ as ensureChromeExtensionRelayServer } from "./chrome-_87P03u5.js";
5
+ import { a as resolveBrowserConfig, m as ensureBrowserControlAuth, n as listKnownProfileNames, o as resolveProfile, t as createBrowserRouteContext } from "./server-context-CcPmRFx_.js";
6
6
 
7
7
  //#region src/browser/control-service.ts
8
8
  var control_service_exports = /* @__PURE__ */ __exportAll({
@@ -64,7 +64,7 @@ async function stopBrowserControlService() {
64
64
  }
65
65
  state = null;
66
66
  try {
67
- await (await import("./pw-ai-Rz1I4vvf.js")).closePlaywrightBrowserConnection();
67
+ await (await import("./pw-ai-ycVS073z.js")).closePlaywrightBrowserConnection();
68
68
  } catch {}
69
69
  }
70
70
 
@@ -12,14 +12,14 @@ import "./shell-env-SbFYz02H.js";
12
12
  import "./manifest-registry-DLouWVJe.js";
13
13
  import "./message-channel-BbkwF58_.js";
14
14
  import { n as listChannelPlugins } from "./plugins-CFb1gJ4N.js";
15
- import "./client-oEG5cM5Q.js";
16
- import "./call-BBzfZU0_.js";
15
+ import "./client-BM5PkIwQ.js";
16
+ import "./call-C0Yk2qNb.js";
17
17
  import { n as formatDurationHuman } from "./format-duration-DduItW4_.js";
18
18
  import { t as formatDocsLink } from "./links-NgE0SEVZ.js";
19
19
  import "./progress-gdB4V88Q.js";
20
20
  import { t as parseAbsoluteTimeMs } from "./parse-CY6yxdSO.js";
21
21
  import { n as parsePositiveIntOrUndefined } from "./helpers-9N2Q5aZj.js";
22
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-hgK9OB-O.js";
22
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-elmeRwyu.js";
23
23
 
24
24
  //#region src/cli/cron-cli/shared.ts
25
25
  const getCronChannelOptions = () => ["last", ...listChannelPlugins().map((plugin) => plugin.id)].join("|");
@@ -9,12 +9,12 @@ import { t as pickPrimaryTailnetIPv4 } from "./tailnet-BuAkHZAk.js";
9
9
  import { l as resolveGatewayBindHost } from "./ws-ebl3urqL.js";
10
10
  import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-CmAt9mb6.js";
11
11
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-BbkwF58_.js";
12
- import { n as callGateway } from "./call-BBzfZU0_.js";
12
+ import { n as callGateway } from "./call-C0Yk2qNb.js";
13
13
  import { t as formatDocsLink } from "./links-NgE0SEVZ.js";
14
14
  import { n as withProgress } from "./progress-gdB4V88Q.js";
15
15
  import { d as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel } from "./constants-BCASNbxX.js";
16
16
  import { i as buildGatewayInstallPlan, r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-DOk9qM0y.js";
17
- import { h as resolveControlUiLinks, m as randomToken } from "./onboard-helpers-K7wUCSoE.js";
17
+ import { h as resolveControlUiLinks, m as randomToken } from "./onboard-helpers-CMW6MSXA.js";
18
18
  import { n as isWSLEnv } from "./wsl-cUQTlijg.js";
19
19
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-H_0E0nOX.js";
20
20
  import { a as filterDaemonEnv, c as pickProbeHostForBind, d as safeDaemonEnv, f as buildDaemonServiceSnapshot, i as runServiceUninstall, l as renderGatewayServiceStartHints, n as runServiceStart, o as normalizeListenerAddress, p as createDaemonActionContext, r as runServiceStop, s as parsePortFromArgs, t as runServiceRestart, u as renderRuntimeHints } from "./lifecycle-core-BBpNy0vb.js";