squidclaw 3.0.21 → 3.0.23

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 (107) hide show
  1. package/dist/{accounts-DwGoZKGm.js → accounts-B6F_XCgS.js} +17 -17
  2. package/dist/{accounts-DjhBQg_8.js → accounts-Bkb-J8V6.js} +2 -2
  3. package/dist/{accounts-C7pGQPcS.js → accounts-s5e9zidf.js} +2 -2
  4. package/dist/{active-listener-DPc_PGsA.js → active-listener-6-Svu8Dx.js} +2 -2
  5. package/dist/{api-key-rotation-DVyYtQxC.js → api-key-rotation-TRwuCWbu.js} +2 -2
  6. package/dist/{audio-preflight-BUCBED7N.js → audio-preflight-1KULThhV.js} +32 -32
  7. package/dist/{audio-transcription-runner-Cv0Q47cM.js → audio-transcription-runner-C3N9eAGM.js} +12 -12
  8. package/dist/{audit-membership-runtime-DyLj-uhz.js → audit-membership-runtime-w23FnNAN.js} +4 -4
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +51 -51
  11. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  12. package/dist/bundled/command-logger/handler.js +2 -2
  13. package/dist/bundled/session-memory/handler.js +53 -53
  14. package/dist/{channel-activity-CPpt4XaL.js → channel-activity-CxJbx4sD.js} +3 -3
  15. package/dist/{chrome-OgCChbC_.js → chrome-Qbvnl6so.js} +18 -18
  16. package/dist/{commands-registry-BJjv8_oR.js → commands-registry-B44COZFz.js} +4 -4
  17. package/dist/{deliver-DMTUTpTM.js → deliver-BC5egJvm.js} +21 -21
  18. package/dist/deliver-runtime-B6NtHUuv.js +36 -0
  19. package/dist/deps-send-discord.runtime-CUTAK2hy.js +26 -0
  20. package/dist/deps-send-imessage.runtime-CQOiEIuA.js +25 -0
  21. package/dist/deps-send-signal.runtime-wN7MkzLw.js +24 -0
  22. package/dist/deps-send-slack.runtime-HEEwW4uU.js +22 -0
  23. package/dist/deps-send-telegram.runtime-DHlcnjQO.js +27 -0
  24. package/dist/deps-send-whatsapp.runtime-C2x2R2Ow.js +60 -0
  25. package/dist/{diagnostic-CnVwZNbm.js → diagnostic-C2lklhkn.js} +2 -2
  26. package/dist/{errors-kkRuS2Cs.js → errors-DfgAh2Ml.js} +1 -1
  27. package/dist/{fetch-DP-JjB6Z.js → fetch-b8tSR7_e.js} +5 -5
  28. package/dist/{fetch-guard-BDy975wP.js → fetch-guard-D16tjNsZ.js} +2 -2
  29. package/dist/{frontmatter-Cq1TcIQ2.js → frontmatter-CjKtFduT.js} +3 -3
  30. package/dist/{fs-safe-BoB4X3GD.js → fs-safe-CwHbZdFH.js} +4 -4
  31. package/dist/{github-copilot-token-B5cPlwaz.js → github-copilot-token-Cw3tAXM9.js} +7 -7
  32. package/dist/{image-kKMG59st.js → image-ByqExb8z.js} +6 -6
  33. package/dist/{image-ops-Dg8iraUV.js → image-ops-BoN1E_WZ.js} +2 -2
  34. package/dist/image-runtime-BSVF52oe.js +29 -0
  35. package/dist/{ir-CKK03mBV.js → ir-Dut0zXyS.js} +8 -8
  36. package/dist/{legacy-names-aGJJuzM_.js → legacy-names-B0wgIP0Q.js} +1 -1
  37. package/dist/llm-slug-generator.js +51 -51
  38. package/dist/{logger-CnTSBL7T.js → logger-oGKcCLZ5.js} +7 -7
  39. package/dist/{login-CeKDrz6_.js → login-DJ357UQV.js} +5 -5
  40. package/dist/{login-qr-KbOpR0GQ.js → login-qr-C0fDBnpM.js} +10 -10
  41. package/dist/{manager-DINhLnMi.js → manager-BPGhs30n.js} +13 -13
  42. package/dist/manager-runtime-BB9lcoFR.js +18 -0
  43. package/dist/{model-selection-DuNLFQPR.js → model-selection-CHnojCCK.js} +43 -43
  44. package/dist/{outbound-attachment-DwupUxYF.js → outbound-attachment-rlW7G5df.js} +2 -2
  45. package/dist/{outbound-C9svt6RH.js → outbound-qTioiTJg.js} +6 -6
  46. package/dist/{path-alias-guards-DORgbZ1w.js → path-alias-guards-Cpsiv2KL.js} +1 -1
  47. package/dist/{paths-DA5srn0U.js → paths-CSdAWKDO.js} +5 -5
  48. package/dist/{paths-DSd911Oe.js → paths-CXClY8zC.js} +4 -4
  49. package/dist/{pi-embedded-BiC4tIJ8.js → pi-embedded-DUtpCH0X.js} +162 -162
  50. package/dist/{pi-embedded-helpers-Di58J7Eh.js → pi-embedded-helpers-CYR1UemI.js} +52 -52
  51. package/dist/{pi-model-discovery-V-InbjOM.js → pi-model-discovery-o-WX5w2t.js} +7 -7
  52. package/dist/pi-model-discovery-runtime-DBkQoIJw.js +11 -0
  53. package/dist/{pi-tools.before-tool-call.runtime-Bpk4qTgV.js → pi-tools.before-tool-call.runtime-B_LUttg1.js} +9 -9
  54. package/dist/plugin-sdk/mattermost.js +3 -3
  55. package/dist/plugin-sdk/signal.js +2 -2
  56. package/dist/{plugins-DvejjZnJ.js → plugins-AqsVZZk3.js} +11 -11
  57. package/dist/{proxy-env-D-fike7s.js → proxy-env-DXXfs2WL.js} +1 -1
  58. package/dist/{proxy-fetch-lH6RsRTE.js → proxy-fetch-C2v-Utgg.js} +1 -1
  59. package/dist/{pw-ai-B8ymIYub.js → pw-ai-1NQPuno2.js} +14 -14
  60. package/dist/{qmd-manager-BN0siR2Z.js → qmd-manager-CO-shcLU.js} +10 -10
  61. package/dist/{query-expansion-Dzxt6kXo.js → query-expansion-DlQOkf-g.js} +6 -6
  62. package/dist/{redact-DvzicBMu.js → redact-NmPEVjIo.js} +1 -1
  63. package/dist/{run-with-concurrency-BFR3ReeF.js → run-with-concurrency-FczpX8ng.js} +4 -4
  64. package/dist/runtime-whatsapp-login.runtime-DumUjKRz.js +13 -0
  65. package/dist/runtime-whatsapp-outbound.runtime-Cgu2MfqR.js +22 -0
  66. package/dist/{send-dTQd-IyJ.js → send-B5QEmMJ4.js} +5 -5
  67. package/dist/{send-DdBbRpTP.js → send-B9H0BkfO.js} +6 -6
  68. package/dist/{send-4nRsZJXH.js → send-Bx9CqcZr.js} +7 -7
  69. package/dist/{send-BGlcHjUD.js → send-D5D0ZGht.js} +26 -26
  70. package/dist/{send-BTUU1jWM.js → send-DtHQ7_6Z.js} +8 -8
  71. package/dist/{session-CnCwDJke.js → session-DLTCuoUD.js} +8 -8
  72. package/dist/{skill-commands-Cz45_nme.js → skill-commands-BwTLQRR8.js} +9 -9
  73. package/dist/{skills-CdCS1HeL.js → skills-B9N2bqKU.js} +22 -22
  74. package/dist/slash-commands.runtime-CjBXruwG.js +16 -0
  75. package/dist/slash-dispatch.runtime-CGd3HarH.js +56 -0
  76. package/dist/slash-skill-commands.runtime-DYK20Lxf.js +20 -0
  77. package/dist/{store-D9z0dn7D.js → store-CvQ41zCV.js} +2 -2
  78. package/dist/subagent-registry-runtime-m9bFJFix.js +56 -0
  79. package/dist/{subsystem-6v7sWnAD.js → subsystem-BaLYRf7D.js} +14 -14
  80. package/dist/{tables-BTFiZyRU.js → tables-BRYYxYs7.js} +1 -1
  81. package/dist/{target-errors-DgNRx3Nr.js → target-errors-D0ZJUbbf.js} +2 -2
  82. package/dist/{thinking-B75CXkTT.js → thinking-B-A99X3F.js} +7 -7
  83. package/dist/{tokens-DfbMVF9y.js → tokens-D2XhLqIz.js} +1 -1
  84. package/dist/{tool-images-Dp5OiXeA.js → tool-images-Zn6jVmkX.js} +2 -2
  85. package/dist/{web-QsxgXbNK.js → web-CEdWU_u3.js} +55 -55
  86. package/dist/{whatsapp-actions-CzqsuSGx.js → whatsapp-actions-Cuy0qeQK.js} +21 -21
  87. package/dist/{workspace-kVMIaBrV.js → workspace-TqfVSQuO.js} +20 -20
  88. package/docs/reference/templates/IDENTITY.md +14 -0
  89. package/docs/reference/templates/MEMORY.md +3 -0
  90. package/docs/reference/templates/USER.md +9 -0
  91. package/package.json +1 -1
  92. package/dist/deliver-runtime-B80olQwJ.js +0 -36
  93. package/dist/deps-send-discord.runtime-GIuvX7Xw.js +0 -26
  94. package/dist/deps-send-imessage.runtime-B3TC7G80.js +0 -25
  95. package/dist/deps-send-signal.runtime-CuVJyw7n.js +0 -24
  96. package/dist/deps-send-slack.runtime-cbfFoLZ4.js +0 -22
  97. package/dist/deps-send-telegram.runtime-CRyP-xDQ.js +0 -27
  98. package/dist/deps-send-whatsapp.runtime-4aOUBP2J.js +0 -60
  99. package/dist/image-runtime-BqIv7p_K.js +0 -29
  100. package/dist/manager-runtime-D6ckUNSs.js +0 -18
  101. package/dist/pi-model-discovery-runtime--t6tAlar.js +0 -11
  102. package/dist/runtime-whatsapp-login.runtime-DxV9iv6l.js +0 -13
  103. package/dist/runtime-whatsapp-outbound.runtime-DQqIlwhS.js +0 -22
  104. package/dist/slash-commands.runtime-CZz6v6b3.js +0 -16
  105. package/dist/slash-dispatch.runtime-SO7HOe8q.js +0 -56
  106. package/dist/slash-skill-commands.runtime-Bawt7j0r.js +0 -20
  107. package/dist/subagent-registry-runtime-D2rUxU5J.js +0 -56
@@ -1,29 +1,29 @@
1
- import { f as resolveSessionAgentId, i as resolveAgentConfig } from "./run-with-concurrency-BFR3ReeF.js";
2
- import { a as resolveGatewayPort, d as resolveRequiredHomeDir, n as STATE_DIR } from "./paths-DA5srn0U.js";
3
- import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
4
- import { B as resolveAgentIdFromSessionKey, K as normalizeOptionalAccountId, N as buildAgentMainSessionKey, R as normalizeAgentId, T as resolvePathViaExistingAncestorSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, z as normalizeMainKey } from "./workspace-kVMIaBrV.js";
5
- import { E as truncateUtf16Safe, h as normalizeE164, y as resolveUserPath } from "./logger-CnTSBL7T.js";
6
- import { Vt as CHANNEL_IDS, W as resolveSecretRefValues, X as loadConfig, Y as createConfigIO, _r as resolveSecretInputRef, cr as isPidAlive, et as writeConfigFile, ft as secretRefKey, ht as parseByteSize, lr as formatCliCommand, mt as parseDurationMs, or as resolveProcessScopedMap, pt as getBlockedNetworkModeReason, sr as getProcessStartTime } from "./model-selection-DuNLFQPR.js";
7
- import { c as parseBooleanValue } from "./legacy-names-aGJJuzM_.js";
8
- import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-B75CXkTT.js";
9
- import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-DvejjZnJ.js";
1
+ import { f as resolveSessionAgentId, i as resolveAgentConfig } from "./run-with-concurrency-FczpX8ng.js";
2
+ import { a as resolveGatewayPort, d as resolveRequiredHomeDir, n as STATE_DIR } from "./paths-CSdAWKDO.js";
3
+ import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
4
+ import { B as resolveAgentIdFromSessionKey, K as normalizeOptionalAccountId, N as buildAgentMainSessionKey, R as normalizeAgentId, T as resolvePathViaExistingAncestorSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, z as normalizeMainKey } from "./workspace-TqfVSQuO.js";
5
+ import { E as truncateUtf16Safe, h as normalizeE164, y as resolveUserPath } from "./logger-oGKcCLZ5.js";
6
+ import { Vt as CHANNEL_IDS, W as resolveSecretRefValues, X as loadConfig, Y as createConfigIO, _r as resolveSecretInputRef, cr as isPidAlive, et as writeConfigFile, ft as secretRefKey, ht as parseByteSize, lr as formatCliCommand, mt as parseDurationMs, or as resolveProcessScopedMap, pt as getBlockedNetworkModeReason, sr as getProcessStartTime } from "./model-selection-CHnojCCK.js";
7
+ import { c as parseBooleanValue } from "./legacy-names-B0wgIP0Q.js";
8
+ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-B-A99X3F.js";
9
+ import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-AqsVZZk3.js";
10
10
  import { t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
11
- import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-Dg8iraUV.js";
12
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-OgCChbC_.js";
13
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-CdCS1HeL.js";
14
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DORgbZ1w.js";
15
- import { n as extractErrorCode, r as formatErrorMessage } from "./errors-kkRuS2Cs.js";
16
- import { n as SsrFBlockedError } from "./proxy-env-D-fike7s.js";
17
- import { i as saveMediaBuffer, n as ensureMediaDir } from "./store-D9z0dn7D.js";
11
+ import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BoN1E_WZ.js";
12
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-Qbvnl6so.js";
13
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-B9N2bqKU.js";
14
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cpsiv2KL.js";
15
+ import { n as extractErrorCode, r as formatErrorMessage } from "./errors-DfgAh2Ml.js";
16
+ import { n as SsrFBlockedError } from "./proxy-env-DXXfs2WL.js";
17
+ import { i as saveMediaBuffer, n as ensureMediaDir } from "./store-CvQ41zCV.js";
18
18
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-B89VigUN.js";
19
19
  import { i as writeTextAtomic, r as writeJsonAtomic } from "./json-files-D7-rxoSr.js";
20
- import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DSd911Oe.js";
20
+ import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CXClY8zC.js";
21
21
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-uYL2gEou.js";
22
- import { t as sanitizeContentBlocksImages } from "./tool-images-Dp5OiXeA.js";
22
+ import { t as sanitizeContentBlocksImages } from "./tool-images-Zn6jVmkX.js";
23
23
  import fs from "node:fs/promises";
24
24
  import os from "node:os";
25
25
  import path, { posix } from "node:path";
26
- import syncFs, { existsSync } from "node:fs";
26
+ import fs$1, { existsSync } from "node:fs";
27
27
  import { spawn } from "node:child_process";
28
28
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
29
29
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
@@ -1278,7 +1278,7 @@ function isModuleNotFoundError(err) {
1278
1278
  }
1279
1279
  async function loadPwAiModule(mode) {
1280
1280
  try {
1281
- return await import("./pw-ai-B8ymIYub.js");
1281
+ return await import("./pw-ai-1NQPuno2.js");
1282
1282
  } catch (err) {
1283
1283
  if (mode === "soft") return null;
1284
1284
  if (isModuleNotFoundError(err)) return null;
@@ -3055,11 +3055,11 @@ async function movePathToTrash(targetPath) {
3055
3055
  return targetPath;
3056
3056
  } catch {
3057
3057
  const trashDir = path.join(os.homedir(), ".Trash");
3058
- syncFs.mkdirSync(trashDir, { recursive: true });
3058
+ fs$1.mkdirSync(trashDir, { recursive: true });
3059
3059
  const base = path.basename(targetPath);
3060
3060
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
3061
- if (syncFs.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
3062
- syncFs.renameSync(targetPath, dest);
3061
+ if (fs$1.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${generateSecureToken(6)}`);
3062
+ fs$1.renameSync(targetPath, dest);
3063
3063
  return dest;
3064
3064
  }
3065
3065
  }
@@ -3146,7 +3146,7 @@ function createBrowserProfilesService(ctx) {
3146
3146
  } catch {}
3147
3147
  const userDataDir = resolveSquidClawUserDataDir(name);
3148
3148
  const profileDir = path.dirname(userDataDir);
3149
- if (syncFs.existsSync(profileDir)) {
3149
+ if (fs$1.existsSync(profileDir)) {
3150
3150
  await movePathToTrash(profileDir);
3151
3151
  deleted = true;
3152
3152
  }
@@ -3644,7 +3644,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3644
3644
  //#region src/browser/server-context.reset.ts
3645
3645
  async function closePlaywrightBrowserConnection() {
3646
3646
  try {
3647
- await (await import("./pw-ai-B8ymIYub.js")).closePlaywrightBrowserConnection();
3647
+ await (await import("./pw-ai-1NQPuno2.js")).closePlaywrightBrowserConnection();
3648
3648
  } catch {}
3649
3649
  }
3650
3650
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveSquidClawUserDataDir }) {
@@ -3662,7 +3662,7 @@ function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, i
3662
3662
  if (await isHttpReachable(300) && !profileState.running) await closePlaywrightBrowserConnection();
3663
3663
  if (profileState.running) await stopRunningBrowser();
3664
3664
  await closePlaywrightBrowserConnection();
3665
- if (!syncFs.existsSync(userDataDir)) return {
3665
+ if (!fs$1.existsSync(userDataDir)) return {
3666
3666
  moved: false,
3667
3667
  from: userDataDir
3668
3668
  };
@@ -4410,7 +4410,7 @@ function releaseAllLocksSync() {
4410
4410
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
4411
4411
  } catch {}
4412
4412
  try {
4413
- syncFs.rmSync(held.lockPath, { force: true });
4413
+ fs$1.rmSync(held.lockPath, { force: true });
4414
4414
  } catch {}
4415
4415
  HELD_LOCKS.delete(sessionFile);
4416
4416
  }
@@ -6008,7 +6008,7 @@ var SandboxFsBridgeImpl = class {
6008
6008
  if (guarded.reason !== "path") {
6009
6009
  if (!(options.allowedType === "directory" && this.pathIsExistingDirectory(target.hostPath))) throw guarded.error instanceof Error ? guarded.error : /* @__PURE__ */ new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
6010
6010
  }
6011
- } else syncFs.closeSync(guarded.fd);
6011
+ } else fs$1.closeSync(guarded.fd);
6012
6012
  const canonicalContainerPath = await this.resolveCanonicalContainerPath({
6013
6013
  containerPath: target.containerPath,
6014
6014
  allowFinalSymlinkForUnlink: options.aliasPolicy?.allowFinalSymlinkForUnlink === true
@@ -6019,7 +6019,7 @@ var SandboxFsBridgeImpl = class {
6019
6019
  }
6020
6020
  pathIsExistingDirectory(hostPath) {
6021
6021
  try {
6022
- return syncFs.statSync(hostPath).isDirectory();
6022
+ return fs$1.statSync(hostPath).isDirectory();
6023
6023
  } catch {
6024
6024
  return false;
6025
6025
  }
@@ -6820,14 +6820,14 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
6820
6820
  function canonicalizePathForComparison$1(filePath) {
6821
6821
  const resolved = path.resolve(filePath);
6822
6822
  try {
6823
- return syncFs.realpathSync(resolved);
6823
+ return fs$1.realpathSync(resolved);
6824
6824
  } catch {
6825
6825
  return resolved;
6826
6826
  }
6827
6827
  }
6828
6828
  function archiveFileOnDisk(filePath, reason) {
6829
6829
  const archived = `${filePath}.${reason}.${formatSessionArchiveTimestamp()}`;
6830
- syncFs.renameSync(filePath, archived);
6830
+ fs$1.renameSync(filePath, archived);
6831
6831
  return archived;
6832
6832
  }
6833
6833
  /**
@@ -6843,7 +6843,7 @@ function archiveSessionTranscripts(opts) {
6843
6843
  const relative = path.relative(storeDir, candidatePath);
6844
6844
  if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) continue;
6845
6845
  }
6846
- if (!syncFs.existsSync(candidatePath)) continue;
6846
+ if (!fs$1.existsSync(candidatePath)) continue;
6847
6847
  try {
6848
6848
  archived.push(archiveFileOnDisk(candidatePath, opts.reason));
6849
6849
  } catch {}
@@ -6861,15 +6861,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
6861
6861
  let removed = 0;
6862
6862
  let scanned = 0;
6863
6863
  for (const dir of directories) {
6864
- const entries = await syncFs.promises.readdir(dir).catch(() => []);
6864
+ const entries = await fs$1.promises.readdir(dir).catch(() => []);
6865
6865
  for (const entry of entries) {
6866
6866
  const timestamp = parseSessionArchiveTimestamp(entry, reason);
6867
6867
  if (timestamp == null) continue;
6868
6868
  scanned += 1;
6869
6869
  if (now - timestamp <= opts.olderThanMs) continue;
6870
6870
  const fullPath = path.join(dir, entry);
6871
- if (!(await syncFs.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
6872
- await syncFs.promises.rm(fullPath).catch(() => void 0);
6871
+ if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
6872
+ await fs$1.promises.rm(fullPath).catch(() => void 0);
6873
6873
  removed += 1;
6874
6874
  }
6875
6875
  }
@@ -6999,7 +6999,7 @@ function isCacheEnabled(ttlMs) {
6999
6999
  }
7000
7000
  function getFileStatSnapshot(filePath) {
7001
7001
  try {
7002
- const stats = syncFs.statSync(filePath);
7002
+ const stats = fs$1.statSync(filePath);
7003
7003
  return {
7004
7004
  mtimeMs: stats.mtimeMs,
7005
7005
  sizeBytes: stats.size
@@ -7018,7 +7018,7 @@ const NOOP_LOGGER = {
7018
7018
  function canonicalizePathForComparison(filePath) {
7019
7019
  const resolved = path.resolve(filePath);
7020
7020
  try {
7021
- return syncFs.realpathSync(resolved);
7021
+ return fs$1.realpathSync(resolved);
7022
7022
  } catch {
7023
7023
  return resolved;
7024
7024
  }
@@ -7076,12 +7076,12 @@ function resolveReferencedSessionTranscriptPaths(params) {
7076
7076
  return referenced;
7077
7077
  }
7078
7078
  async function readSessionsDirFiles(sessionsDir) {
7079
- const dirEntries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
7079
+ const dirEntries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
7080
7080
  const files = [];
7081
7081
  for (const dirent of dirEntries) {
7082
7082
  if (!dirent.isFile()) continue;
7083
7083
  const filePath = path.join(sessionsDir, dirent.name);
7084
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
7084
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
7085
7085
  if (!stat?.isFile()) continue;
7086
7086
  files.push({
7087
7087
  path: filePath,
@@ -7094,9 +7094,9 @@ async function readSessionsDirFiles(sessionsDir) {
7094
7094
  return files;
7095
7095
  }
7096
7096
  async function removeFileIfExists(filePath) {
7097
- const stat = await syncFs.promises.stat(filePath).catch(() => null);
7097
+ const stat = await fs$1.promises.stat(filePath).catch(() => null);
7098
7098
  if (!stat?.isFile()) return 0;
7099
- await syncFs.promises.rm(filePath, { force: true }).catch(() => void 0);
7099
+ await fs$1.promises.rm(filePath, { force: true }).catch(() => void 0);
7100
7100
  return stat.size;
7101
7101
  }
7102
7102
  async function removeFileForBudget(params) {
@@ -7455,7 +7455,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
7455
7455
  }
7456
7456
  async function getSessionFileSize(storePath) {
7457
7457
  try {
7458
- return (await syncFs.promises.stat(storePath)).size;
7458
+ return (await fs$1.promises.stat(storePath)).size;
7459
7459
  } catch {
7460
7460
  return null;
7461
7461
  }
@@ -7472,7 +7472,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
7472
7472
  if (fileSize <= maxBytes) return false;
7473
7473
  const backupPath = `${storePath}.bak.${Date.now()}`;
7474
7474
  try {
7475
- await syncFs.promises.rename(storePath, backupPath);
7475
+ await fs$1.promises.rename(storePath, backupPath);
7476
7476
  log$2.info("rotated session store file", {
7477
7477
  backupPath: path.basename(backupPath),
7478
7478
  sizeBytes: fileSize
@@ -7483,11 +7483,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
7483
7483
  try {
7484
7484
  const dir = path.dirname(storePath);
7485
7485
  const baseName = path.basename(storePath);
7486
- const backups = (await syncFs.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
7486
+ const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
7487
7487
  const maxBackups = 3;
7488
7488
  if (backups.length > maxBackups) {
7489
7489
  const toDelete = backups.slice(maxBackups);
7490
- for (const old of toDelete) await syncFs.promises.unlink(path.join(dir, old)).catch(() => void 0);
7490
+ for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
7491
7491
  log$2.info("cleaned up old session store backups", { deleted: toDelete.length });
7492
7492
  }
7493
7493
  } catch {}
@@ -7610,7 +7610,7 @@ function loadSessionStore(storePath, opts = {}) {
7610
7610
  const maxReadAttempts = process.platform === "win32" ? 3 : 1;
7611
7611
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
7612
7612
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
7613
- const raw = syncFs.readFileSync(storePath, "utf-8");
7613
+ const raw = fs$1.readFileSync(storePath, "utf-8");
7614
7614
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
7615
7615
  Atomics.wait(retryBuf, 0, 0, 50);
7616
7616
  continue;
@@ -7764,7 +7764,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
7764
7764
  });
7765
7765
  }
7766
7766
  }
7767
- await syncFs.promises.mkdir(path.dirname(storePath), { recursive: true });
7767
+ await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
7768
7768
  const json = JSON.stringify(store, null, 2);
7769
7769
  if (getSerializedSessionStore(storePath) === json) {
7770
7770
  updateSessionStoreWriteCaches({
@@ -8101,8 +8101,8 @@ function resolveMirroredTranscriptText(params) {
8101
8101
  return trimmed ? trimmed : null;
8102
8102
  }
8103
8103
  async function ensureSessionHeader(params) {
8104
- if (syncFs.existsSync(params.sessionFile)) return;
8105
- await syncFs.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
8104
+ if (fs$1.existsSync(params.sessionFile)) return;
8105
+ await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
8106
8106
  const header = {
8107
8107
  type: "session",
8108
8108
  version: CURRENT_SESSION_VERSION,
@@ -8110,7 +8110,7 @@ async function ensureSessionHeader(params) {
8110
8110
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
8111
8111
  cwd: process.cwd()
8112
8112
  };
8113
- await syncFs.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
8113
+ await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
8114
8114
  encoding: "utf-8",
8115
8115
  mode: 384
8116
8116
  });
@@ -8345,13 +8345,13 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
8345
8345
  });
8346
8346
  if (!opened.ok) continue;
8347
8347
  try {
8348
- const content = syncFs.readFileSync(opened.fd, "utf-8");
8348
+ const content = fs$1.readFileSync(opened.fd, "utf-8");
8349
8349
  await fs.writeFile(dest, content, {
8350
8350
  encoding: "utf-8",
8351
8351
  flag: "wx"
8352
8352
  });
8353
8353
  } finally {
8354
- syncFs.closeSync(opened.fd);
8354
+ fs$1.closeSync(opened.fd);
8355
8355
  }
8356
8356
  } catch {}
8357
8357
  }
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as normalizeProviderId, nr as ensureAuthProfileStore } from "./model-selection-DuNLFQPR.js";
2
+ import { c as normalizeProviderId, nr as ensureAuthProfileStore } from "./model-selection-CHnojCCK.js";
3
3
  import path from "node:path";
4
- import syncFs from "node:fs";
4
+ import fs from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
6
6
 
7
7
  //#region src/agents/pi-auth-credentials.ts
@@ -70,10 +70,10 @@ function isRecord(value) {
70
70
  }
71
71
  function scrubLegacyStaticAuthJsonEntries(pathname) {
72
72
  if (process.env.SQUIDCLAW_AUTH_STORE_READONLY === "1") return;
73
- if (!syncFs.existsSync(pathname)) return;
73
+ if (!fs.existsSync(pathname)) return;
74
74
  let parsed;
75
75
  try {
76
- parsed = JSON.parse(syncFs.readFileSync(pathname, "utf8"));
76
+ parsed = JSON.parse(fs.readFileSync(pathname, "utf8"));
77
77
  } catch {
78
78
  return;
79
79
  }
@@ -87,11 +87,11 @@ function scrubLegacyStaticAuthJsonEntries(pathname) {
87
87
  }
88
88
  if (!changed) return;
89
89
  if (Object.keys(parsed).length === 0) {
90
- syncFs.rmSync(pathname, { force: true });
90
+ fs.rmSync(pathname, { force: true });
91
91
  return;
92
92
  }
93
- syncFs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
- syncFs.chmodSync(pathname, 384);
93
+ fs.writeFileSync(pathname, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
94
+ fs.chmodSync(pathname, 384);
95
95
  }
96
96
  function createAuthStorage(AuthStorageLike, path, creds) {
97
97
  const withInMemory = AuthStorageLike;
@@ -0,0 +1,11 @@
1
+ import "./run-with-concurrency-FczpX8ng.js";
2
+ import "./paths-CSdAWKDO.js";
3
+ import "./subsystem-BaLYRf7D.js";
4
+ import "./workspace-TqfVSQuO.js";
5
+ import "./logger-oGKcCLZ5.js";
6
+ import "./model-selection-CHnojCCK.js";
7
+ import "./github-copilot-token-Cw3tAXM9.js";
8
+ import "./legacy-names-B0wgIP0Q.js";
9
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-o-WX5w2t.js";
10
+
11
+ export { discoverAuthStorage, discoverModels };
@@ -1,12 +1,12 @@
1
- import "./run-with-concurrency-BFR3ReeF.js";
2
- import "./paths-DA5srn0U.js";
3
- import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
4
- import "./workspace-kVMIaBrV.js";
5
- import { D as isPlainObject } from "./logger-CnTSBL7T.js";
6
- import "./model-selection-DuNLFQPR.js";
7
- import "./github-copilot-token-B5cPlwaz.js";
8
- import "./legacy-names-aGJJuzM_.js";
9
- import { p as getDiagnosticSessionState, s as logToolLoopAction } from "./diagnostic-CnVwZNbm.js";
1
+ import "./run-with-concurrency-FczpX8ng.js";
2
+ import "./paths-CSdAWKDO.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
4
+ import "./workspace-TqfVSQuO.js";
5
+ import { D as isPlainObject } from "./logger-oGKcCLZ5.js";
6
+ import "./model-selection-CHnojCCK.js";
7
+ import "./github-copilot-token-Cw3tAXM9.js";
8
+ import "./legacy-names-B0wgIP0Q.js";
9
+ import { p as getDiagnosticSessionState, s as logToolLoopAction } from "./diagnostic-C2lklhkn.js";
10
10
  import { createHash } from "node:crypto";
11
11
 
12
12
  //#region src/agents/tool-loop-detection.ts
@@ -5,7 +5,7 @@ import fs, { constants } from "node:fs";
5
5
  import os from "node:os";
6
6
  import chalk, { Chalk } from "chalk";
7
7
  import { Logger } from "tslog";
8
- import JSON5 from "json5";
8
+ import json5 from "json5";
9
9
  import util, { promisify } from "node:util";
10
10
  import fs$1 from "node:fs/promises";
11
11
  import process$1 from "node:process";
@@ -400,7 +400,7 @@ function readLoggingConfig() {
400
400
  try {
401
401
  if (!fs.existsSync(configPath)) return;
402
402
  const raw = fs.readFileSync(configPath, "utf-8");
403
- const logging = JSON5.parse(raw)?.logging;
403
+ const logging = json5.parse(raw)?.logging;
404
404
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
405
405
  return logging;
406
406
  } catch {
@@ -4481,7 +4481,7 @@ function resolveSquidClawManifestBlock(params) {
4481
4481
  const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
4482
4482
  if (!raw) return;
4483
4483
  try {
4484
- const parsed = JSON5.parse(raw);
4484
+ const parsed = json5.parse(raw);
4485
4485
  if (!parsed || typeof parsed !== "object") return;
4486
4486
  const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
4487
4487
  for (const key of manifestKeys) {
@@ -4,7 +4,7 @@ import chalk, { Chalk } from "chalk";
4
4
  import fs, { constants, createWriteStream } from "node:fs";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import JSON5 from "json5";
7
+ import json5 from "json5";
8
8
  import { promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import "@clack/prompts";
@@ -766,7 +766,7 @@ function readLoggingConfig() {
766
766
  try {
767
767
  if (!fs.existsSync(configPath)) return;
768
768
  const raw = fs.readFileSync(configPath, "utf-8");
769
- const logging = JSON5.parse(raw)?.logging;
769
+ const logging = json5.parse(raw)?.logging;
770
770
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
771
771
  return logging;
772
772
  } catch {
@@ -1,10 +1,10 @@
1
- import { l as resolveDefaultAgentId } from "./run-with-concurrency-BFR3ReeF.js";
2
- import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
3
- import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-kVMIaBrV.js";
4
- import { h as normalizeE164 } from "./logger-CnTSBL7T.js";
5
- import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-DuNLFQPR.js";
6
- import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-DwGoZKGm.js";
7
- import syncFs from "node:fs";
1
+ import { l as resolveDefaultAgentId } from "./run-with-concurrency-FczpX8ng.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
3
+ import { G as normalizeAccountId, K as normalizeOptionalAccountId, R as normalizeAgentId, W as DEFAULT_ACCOUNT_ID } from "./workspace-TqfVSQuO.js";
4
+ import { h as normalizeE164 } from "./logger-oGKcCLZ5.js";
5
+ import { Gt as normalizeAnyChannelId, Ht as CHAT_CHANNEL_ORDER, Xt as getActivePluginRegistryVersion, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, gr as normalizeResolvedSecretInputString, qt as normalizeChatChannelId } from "./model-selection-CHnojCCK.js";
6
+ import { g as createAccountListHelpers, h as resolveAccountEntry } from "./accounts-B6F_XCgS.js";
7
+ import fs from "node:fs";
8
8
  import util from "node:util";
9
9
 
10
10
  //#region src/channels/plugins/account-action-gate.ts
@@ -317,7 +317,7 @@ function resolveTelegramToken(cfg, opts = {}) {
317
317
  const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
318
318
  const accountTokenFile = accountCfg?.tokenFile?.trim();
319
319
  if (accountTokenFile) {
320
- if (!syncFs.existsSync(accountTokenFile)) {
320
+ if (!fs.existsSync(accountTokenFile)) {
321
321
  opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
322
322
  return {
323
323
  token: "",
@@ -325,7 +325,7 @@ function resolveTelegramToken(cfg, opts = {}) {
325
325
  };
326
326
  }
327
327
  try {
328
- const token = syncFs.readFileSync(accountTokenFile, "utf-8").trim();
328
+ const token = fs.readFileSync(accountTokenFile, "utf-8").trim();
329
329
  if (token) return {
330
330
  token,
331
331
  source: "tokenFile"
@@ -353,7 +353,7 @@ function resolveTelegramToken(cfg, opts = {}) {
353
353
  const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
354
354
  const tokenFile = telegramCfg?.tokenFile?.trim();
355
355
  if (tokenFile) {
356
- if (!syncFs.existsSync(tokenFile)) {
356
+ if (!fs.existsSync(tokenFile)) {
357
357
  opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
358
358
  return {
359
359
  token: "",
@@ -361,7 +361,7 @@ function resolveTelegramToken(cfg, opts = {}) {
361
361
  };
362
362
  }
363
363
  try {
364
- const token = syncFs.readFileSync(tokenFile, "utf-8").trim();
364
+ const token = fs.readFileSync(tokenFile, "utf-8").trim();
365
365
  if (token) return {
366
366
  token,
367
367
  source: "tokenFile"
@@ -1,4 +1,4 @@
1
- import { Et as parseLooseIpAddress, Tt as parseCanonicalIpAddress, _t as isBlockedSpecialUseIpv4Address, bt as isIpv4Address, gt as extractEmbeddedIpv4FromIpv6, vt as isBlockedSpecialUseIpv6Address, xt as isLegacyIpv4Literal, yt as isCanonicalDottedDecimalIPv4 } from "./model-selection-DuNLFQPR.js";
1
+ import { Et as parseLooseIpAddress, Tt as parseCanonicalIpAddress, _t as isBlockedSpecialUseIpv4Address, bt as isIpv4Address, gt as extractEmbeddedIpv4FromIpv6, vt as isBlockedSpecialUseIpv6Address, xt as isLegacyIpv4Literal, yt as isCanonicalDottedDecimalIPv4 } from "./model-selection-CHnojCCK.js";
2
2
  import { lookup } from "node:dns";
3
3
  import { lookup as lookup$1 } from "node:dns/promises";
4
4
  import { Agent } from "undici";
@@ -1,4 +1,4 @@
1
- import { i as logWarn } from "./logger-CnTSBL7T.js";
1
+ import { i as logWarn } from "./logger-oGKcCLZ5.js";
2
2
  import { EnvHttpProxyAgent, ProxyAgent, fetch } from "undici";
3
3
 
4
4
  //#region src/infra/net/proxy-fetch.ts
@@ -1,17 +1,17 @@
1
- import "./run-with-concurrency-BFR3ReeF.js";
2
- import "./paths-DA5srn0U.js";
3
- import { w as resolvePreferredSquidClawTmpDir } from "./subsystem-6v7sWnAD.js";
4
- import "./workspace-kVMIaBrV.js";
5
- import "./logger-CnTSBL7T.js";
6
- import { lr as formatCliCommand } from "./model-selection-DuNLFQPR.js";
7
- import "./github-copilot-token-B5cPlwaz.js";
8
- import "./legacy-names-aGJJuzM_.js";
9
- import { F as resolveStrictExistingPathsWithinRoot, L as DEFAULT_FILL_FIELD_TYPE, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, k as withNoProxyForCdpUrl, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-OgCChbC_.js";
10
- import "./path-alias-guards-DORgbZ1w.js";
11
- import "./redact-DvzicBMu.js";
12
- import { r as formatErrorMessage } from "./errors-kkRuS2Cs.js";
13
- import { s as writeFileFromPathWithinRoot } from "./fs-safe-BoB4X3GD.js";
14
- import "./proxy-env-D-fike7s.js";
1
+ import "./run-with-concurrency-FczpX8ng.js";
2
+ import "./paths-CSdAWKDO.js";
3
+ import { w as resolvePreferredSquidClawTmpDir } from "./subsystem-BaLYRf7D.js";
4
+ import "./workspace-TqfVSQuO.js";
5
+ import "./logger-oGKcCLZ5.js";
6
+ import { lr as formatCliCommand } from "./model-selection-CHnojCCK.js";
7
+ import "./github-copilot-token-Cw3tAXM9.js";
8
+ import "./legacy-names-B0wgIP0Q.js";
9
+ import { F as resolveStrictExistingPathsWithinRoot, L as DEFAULT_FILL_FIELD_TYPE, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, S as withCdpSocket, _ as withBrowserNavigationPolicy, d as formatAriaSnapshot, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, k as withNoProxyForCdpUrl, t as getChromeWebSocketUrl, v as appendCdpPath, x as getHeadersWithAuth, y as fetchJson } from "./chrome-Qbvnl6so.js";
10
+ import "./path-alias-guards-Cpsiv2KL.js";
11
+ import "./redact-NmPEVjIo.js";
12
+ import { r as formatErrorMessage } from "./errors-DfgAh2Ml.js";
13
+ import { s as writeFileFromPathWithinRoot } from "./fs-safe-CwHbZdFH.js";
14
+ import "./proxy-env-DXXfs2WL.js";
15
15
  import fs from "node:fs/promises";
16
16
  import path from "node:path";
17
17
  import crypto from "node:crypto";
@@ -1,14 +1,14 @@
1
- import { c as resolveAgentWorkspaceDir } from "./run-with-concurrency-BFR3ReeF.js";
2
- import { c as resolveStateDir } from "./paths-DA5srn0U.js";
3
- import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
4
- import { $ as parseAgentSessionKey } from "./workspace-kVMIaBrV.js";
5
- import "./logger-CnTSBL7T.js";
6
- import "./path-alias-guards-DORgbZ1w.js";
7
- import "./redact-DvzicBMu.js";
8
- import { c as writeFileWithinRoot } from "./fs-safe-BoB4X3GD.js";
1
+ import { c as resolveAgentWorkspaceDir } from "./run-with-concurrency-FczpX8ng.js";
2
+ import { c as resolveStateDir } from "./paths-CSdAWKDO.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
4
+ import { $ as parseAgentSessionKey } from "./workspace-TqfVSQuO.js";
5
+ import "./logger-oGKcCLZ5.js";
6
+ import "./path-alias-guards-Cpsiv2KL.js";
7
+ import "./redact-NmPEVjIo.js";
8
+ import { c as writeFileWithinRoot } from "./fs-safe-CwHbZdFH.js";
9
9
  import { n as resolveWindowsSpawnProgram, t as materializeWindowsSpawnProgram } from "./windows-spawn-B89VigUN.js";
10
- import "./paths-DSd911Oe.js";
11
- import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-Dzxt6kXo.js";
10
+ import "./paths-CXClY8zC.js";
11
+ import { _ as isFileMissingError, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords, v as statRegularFile } from "./query-expansion-DlQOkf-g.js";
12
12
  import fs from "node:fs/promises";
13
13
  import os from "node:os";
14
14
  import path from "node:path";
@@ -1,11 +1,11 @@
1
- import { t as runTasksWithConcurrency } from "./run-with-concurrency-BFR3ReeF.js";
2
- import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
3
- import { t as redactSensitiveText } from "./redact-DvzicBMu.js";
4
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DSd911Oe.js";
1
+ import { t as runTasksWithConcurrency } from "./run-with-concurrency-FczpX8ng.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
3
+ import { t as redactSensitiveText } from "./redact-NmPEVjIo.js";
4
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-CXClY8zC.js";
5
5
  import { createRequire } from "node:module";
6
6
  import fs from "node:fs/promises";
7
7
  import path from "node:path";
8
- import syncFs from "node:fs";
8
+ import fs$1 from "node:fs";
9
9
  import crypto from "node:crypto";
10
10
 
11
11
  //#region src/memory/fs-utils.ts
@@ -31,7 +31,7 @@ async function statRegularFile(absPath) {
31
31
  //#region src/memory/internal.ts
32
32
  function ensureDir(dir) {
33
33
  try {
34
- syncFs.mkdirSync(dir, { recursive: true });
34
+ fs$1.mkdirSync(dir, { recursive: true });
35
35
  } catch {}
36
36
  return dir;
37
37
  }
@@ -1,4 +1,4 @@
1
- import { S as resolveNodeRequireFromMeta } from "./subsystem-6v7sWnAD.js";
1
+ import { S as resolveNodeRequireFromMeta } from "./subsystem-BaLYRf7D.js";
2
2
 
3
3
  //#region src/security/safe-regex.ts
4
4
  const SAFE_REGEX_CACHE_MAX = 256;
@@ -1,7 +1,7 @@
1
- import { c as resolveStateDir } from "./paths-DA5srn0U.js";
2
- import { t as createSubsystemLogger } from "./subsystem-6v7sWnAD.js";
3
- import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-kVMIaBrV.js";
4
- import { y as resolveUserPath } from "./logger-CnTSBL7T.js";
1
+ import { c as resolveStateDir } from "./paths-CSdAWKDO.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BaLYRf7D.js";
3
+ import { $ as parseAgentSessionKey, B as resolveAgentIdFromSessionKey, R as normalizeAgentId, j as DEFAULT_AGENT_ID, p as resolveDefaultAgentWorkspaceDir } from "./workspace-TqfVSQuO.js";
4
+ import { y as resolveUserPath } from "./logger-oGKcCLZ5.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/config/model-input.ts
@@ -0,0 +1,13 @@
1
+ import "./run-with-concurrency-FczpX8ng.js";
2
+ import "./paths-CSdAWKDO.js";
3
+ import "./subsystem-BaLYRf7D.js";
4
+ import "./workspace-TqfVSQuO.js";
5
+ import "./logger-oGKcCLZ5.js";
6
+ import "./model-selection-CHnojCCK.js";
7
+ import "./github-copilot-token-Cw3tAXM9.js";
8
+ import "./legacy-names-B0wgIP0Q.js";
9
+ import "./accounts-B6F_XCgS.js";
10
+ import "./session-DLTCuoUD.js";
11
+ import { t as loginWeb } from "./login-DJ357UQV.js";
12
+
13
+ export { loginWeb };
@@ -0,0 +1,22 @@
1
+ import "./run-with-concurrency-FczpX8ng.js";
2
+ import "./paths-CSdAWKDO.js";
3
+ import "./subsystem-BaLYRf7D.js";
4
+ import "./workspace-TqfVSQuO.js";
5
+ import "./logger-oGKcCLZ5.js";
6
+ import "./model-selection-CHnojCCK.js";
7
+ import "./github-copilot-token-Cw3tAXM9.js";
8
+ import "./legacy-names-B0wgIP0Q.js";
9
+ import "./plugins-AqsVZZk3.js";
10
+ import "./accounts-B6F_XCgS.js";
11
+ import "./image-ops-BoN1E_WZ.js";
12
+ import "./path-alias-guards-Cpsiv2KL.js";
13
+ import "./fs-safe-CwHbZdFH.js";
14
+ import "./proxy-env-DXXfs2WL.js";
15
+ import "./fetch-b8tSR7_e.js";
16
+ import "./fetch-guard-D16tjNsZ.js";
17
+ import "./ir-Dut0zXyS.js";
18
+ import "./render-DW7AcFdD.js";
19
+ import "./tables-BRYYxYs7.js";
20
+ import { n as sendPollWhatsApp, t as sendMessageWhatsApp } from "./outbound-qTioiTJg.js";
21
+
22
+ export { sendMessageWhatsApp, sendPollWhatsApp };