@lawpath-tech/openclaw 2026.2.21-26 → 2026.2.21-27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/{accounts-CQT5u65w.js → accounts-CJEDkyd7.js} +1 -1
  2. package/dist/{accounts-DFrH9IVU.js → accounts-CaJg9v7D.js} +1 -1
  3. package/dist/{accounts-C8m4ADkw.js → accounts-DQo5uGA3.js} +14 -14
  4. package/dist/{active-listener-BKTctYlH.js → active-listener-Bhmh-BBe.js} +1 -1
  5. package/dist/{agent-scope-DSUeV7-g.js → agent-scope-DiO1KimT.js} +3 -3
  6. package/dist/{audio-preflight-omzaYFGD.js → audio-preflight-PCEdzoV0.js} +29 -29
  7. package/dist/{bindings-BKEEBdsb.js → bindings-CEJk9Gww.js} +2 -2
  8. package/dist/build-info.json +3 -3
  9. package/dist/bundled/boot-md/handler.js +53 -53
  10. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  11. package/dist/bundled/command-logger/handler.js +1 -1
  12. package/dist/bundled/session-memory/handler.js +53 -53
  13. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  14. package/dist/{channel-activity-BgsTqLau.js → channel-activity-pOw1s-fe.js} +1 -1
  15. package/dist/{chrome-BAv9fEiv.js → chrome-DcmLXeT1.js} +13 -13
  16. package/dist/{chunk-fZrBDWYg.js → chunk-BkGjWi6P.js} +1 -1
  17. package/dist/{command-format-BOHIfoCX.js → command-format-CM0AxuCk.js} +1 -1
  18. package/dist/{commands-registry-BzlB3qtZ.js → commands-registry-C0QzohKU.js} +4 -4
  19. package/dist/{config-Du_-inxH.js → config-7ClJ9IDt.js} +12 -12
  20. package/dist/{deliver-CLJRPnfx.js → deliver-RhV3c93M.js} +20 -20
  21. package/dist/{diagnostic-DriDPU6M.js → diagnostic-DTfVTKJM.js} +1 -1
  22. package/dist/{frontmatter-CdkBcBAo.js → frontmatter-Dab6NVCF.js} +2 -2
  23. package/dist/{gemini-auth-A2JaRMHH.js → gemini-auth-CnEqRhSo.js} +1 -1
  24. package/dist/{github-copilot-token-Dgb9dAHW.js → github-copilot-token-DAycnoAs.js} +7 -7
  25. package/dist/{image-Ci28h-op.js → image-COCyG_gz.js} +4 -4
  26. package/dist/{image-ops-BGmpOcey.js → image-ops-D-bh1BTN.js} +1 -1
  27. package/dist/{ir-DJPm0a4k.js → ir-j1Xb0PNv.js} +4 -4
  28. package/dist/llm-slug-generator.js +53 -53
  29. package/dist/{local-roots-JqlMsAYY.js → local-roots-Dx32AY60.js} +5 -5
  30. package/dist/{login-DXtAIVXy.js → login-CLQskGt7.js} +7 -7
  31. package/dist/{login-qr-D0A3WDBN.js → login-qr-CxZVehrh.js} +12 -12
  32. package/dist/{manager-D7SRrHxT.js → manager-C6KdjXEH.js} +13 -13
  33. package/dist/{manifest-registry-Dhk4A5vb.js → manifest-registry-D31TP66o.js} +19 -19
  34. package/dist/{markdown-tables-DpVJE0eA.js → markdown-tables-BOmw5zkp.js} +1 -1
  35. package/dist/{message-channel-CHYSjmbr.js → message-channel-BckS8bQ9.js} +1 -1
  36. package/dist/{model-auth-vtNH8C4P.js → model-auth-C-Vzzybi.js} +9 -9
  37. package/dist/{outbound-BWgFha97.js → outbound-Bk0PGZ1q.js} +7 -7
  38. package/dist/{outbound-attachment-B8WHzsCX.js → outbound-attachment-CHLSsIj_.js} +2 -2
  39. package/dist/{paths-CyR9Pa1R.js → paths-CkkDESQ2.js} +5 -5
  40. package/dist/{paths-BEAbheM8.js → paths-Cv2Q0cX2.js} +1 -1
  41. package/dist/{pi-auth-json-BiwfFswL.js → pi-auth-json-DzcwV2uo.js} +8 -8
  42. package/dist/{pi-embedded-CoxlOLW5.js → pi-embedded-13CLN75T.js} +158 -158
  43. package/dist/{pi-embedded-helpers-Ll4Lztu1.js → pi-embedded-helpers-HpusHn6J.js} +52 -52
  44. package/dist/{plugins-DIrNa311.js → plugins-Bf_qBfZ7.js} +9 -9
  45. package/dist/{pw-ai-KrN0mqVH.js → pw-ai-B4NkhpRH.js} +11 -11
  46. package/dist/{qmd-manager-DePh-PT0.js → qmd-manager-DVrv2Huu.js} +7 -7
  47. package/dist/{registry-DpeZG5fo.js → registry-wimgwqAA.js} +18 -18
  48. package/dist/{replies-CSVWkVda.js → replies-DuQ9MtQM.js} +3 -3
  49. package/dist/{reply-prefix-DZrS3Kf7.js → reply-prefix-B_1VtLm5.js} +1 -1
  50. package/dist/{resolve-route-1ar2IrQt.js → resolve-route-CSE9DZsB.js} +4 -4
  51. package/dist/{retry-Bdu4_ZcT.js → retry-DwLEH9x4.js} +1 -1
  52. package/dist/{runner-ChBxge-W.js → runner-BjLlUYe1.js} +9 -9
  53. package/dist/{send-DPVf5tQ4.js → send-BCt1G0xY.js} +6 -6
  54. package/dist/{send-BeWYOs1x.js → send-CEP4RX_l.js} +7 -7
  55. package/dist/{send-Byt_wJDK.js → send-CMeyW_Bu.js} +6 -6
  56. package/dist/{send-CWtaJF1G.js → send-CdIaqNP6.js} +18 -18
  57. package/dist/{send-BEFzSOoD.js → send-DrfA4RxA.js} +10 -10
  58. package/dist/{session-Bnp7PC7f.js → session-CQ9JJgSo.js} +8 -8
  59. package/dist/{skill-commands-CqyVDpti.js → skill-commands-CwFNOYqC.js} +9 -9
  60. package/dist/{skills-DSZuhFx9.js → skills-C8xf0p1B.js} +21 -21
  61. package/dist/{sqlite-C3XxSzBN.js → sqlite-B6SD9PTM.js} +4 -4
  62. package/dist/{store-BrNiRjgB.js → store-VFVAfYgh.js} +2 -2
  63. package/dist/{subsystem-BF9jT_Nw.js → subsystem-BEdh_1O5.js} +1 -1
  64. package/dist/{tables-C3clT_iA.js → tables-QNO5uMcm.js} +1 -1
  65. package/dist/{target-errors-ChHV8dPI.js → target-errors-DD2466Y6.js} +2 -2
  66. package/dist/{thinking-Dg8vKjw_.js → thinking-BZFf1juV.js} +5 -5
  67. package/dist/{tokens-B-c56SkM.js → tokens-GCiqN5mi.js} +1 -1
  68. package/dist/{tool-images-C1rdDr34.js → tool-images-D0sBSASn.js} +2 -2
  69. package/dist/{tool-loop-detection-Bu3OGskw.js → tool-loop-detection-BPAeTbUj.js} +3 -3
  70. package/dist/{web-Crj4x6uL.js → web-5rulK8WV.js} +57 -57
  71. package/dist/{whatsapp-actions-DFZYzkBp.js → whatsapp-actions-kX73ghOz.js} +23 -23
  72. package/dist/{workspace-DYx5Dxtw.js → workspace-CH9k4Qgz.js} +6 -6
  73. package/extensions/voice-call/src/webhook.ts +12 -3
  74. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
- import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
1
+ import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
2
2
  import { s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
- import { I as resolveUserPath, P as resolveConfigDir, W as isPlainObject$1, k as isRecord, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-DpeZG5fo.js";
4
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DSUeV7-g.js";
5
- import { $ as shouldEnableShellEnvFallback, Q as shouldDeferShellEnvFallback, W as DEFAULT_CONTEXT_TOKENS, X as loadShellEnvFallback, Z as resolveShellEnvFallbackTimeoutMs, j as parseModelRef } from "./model-auth-vtNH8C4P.js";
6
- import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-Dhk4A5vb.js";
3
+ import { I as resolveUserPath, P as resolveConfigDir, W as isPlainObject$1, k as isRecord, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-wimgwqAA.js";
4
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-DiO1KimT.js";
5
+ import { $ as shouldEnableShellEnvFallback, Q as shouldDeferShellEnvFallback, W as DEFAULT_CONTEXT_TOKENS, X as loadShellEnvFallback, Z as resolveShellEnvFallbackTimeoutMs, j as parseModelRef } from "./model-auth-C-Vzzybi.js";
6
+ import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-D31TP66o.js";
7
7
  import { createRequire } from "node:module";
8
8
  import os from "node:os";
9
9
  import path from "node:path";
10
- import fs from "node:fs";
10
+ import fsSync from "node:fs";
11
11
  import JSON5 from "json5";
12
12
  import { isDeepStrictEqual } from "node:util";
13
13
  import crypto from "node:crypto";
@@ -20,7 +20,7 @@ function loadDotEnv(opts) {
20
20
  const quiet = opts?.quiet ?? true;
21
21
  dotenv.config({ quiet });
22
22
  const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
23
- if (!fs.existsSync(globalEnvPath)) return;
23
+ if (!fsSync.existsSync(globalEnvPath)) return;
24
24
  dotenv.config({
25
25
  quiet,
26
26
  path: globalEnvPath,
@@ -156,7 +156,7 @@ function resolveAgentMaxConcurrent(cfg) {
156
156
  //#endregion
157
157
  //#region src/config/talk.ts
158
158
  function readTalkApiKeyFromProfile(deps = {}) {
159
- const fsImpl = deps.fs ?? fs;
159
+ const fsImpl = deps.fs ?? fsSync;
160
160
  const osImpl = deps.os ?? os;
161
161
  const pathImpl = deps.path ?? path;
162
162
  const home = osImpl.homedir();
@@ -849,7 +849,7 @@ var IncludeProcessor = class IncludeProcessor {
849
849
  const normalized = path.normalize(resolved);
850
850
  if (!isPathInside(this.rootDir, normalized)) throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
851
851
  try {
852
- const real = fs.realpathSync(normalized);
852
+ const real = fsSync.realpathSync(normalized);
853
853
  if (!isPathInside(this.rootRealDir, real)) throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
854
854
  } catch (err) {
855
855
  if (err instanceof ConfigIncludeError) throw err;
@@ -885,13 +885,13 @@ var IncludeProcessor = class IncludeProcessor {
885
885
  };
886
886
  function safeRealpath(target) {
887
887
  try {
888
- return fs.realpathSync(target);
888
+ return fsSync.realpathSync(target);
889
889
  } catch {
890
890
  return target;
891
891
  }
892
892
  }
893
893
  const defaultResolver = {
894
- readFile: (p) => fs.readFileSync(p, "utf-8"),
894
+ readFile: (p) => fsSync.readFileSync(p, "utf-8"),
895
895
  parseJson: (raw) => JSON5.parse(raw)
896
896
  };
897
897
  /**
@@ -5545,7 +5545,7 @@ function resolveConfigPathForDeps(deps) {
5545
5545
  }
5546
5546
  function normalizeDeps(overrides = {}) {
5547
5547
  return {
5548
- fs: overrides.fs ?? fs,
5548
+ fs: overrides.fs ?? fsSync,
5549
5549
  json5: overrides.json5 ?? JSON5,
5550
5550
  env: overrides.env ?? process.env,
5551
5551
  homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
@@ -1,18 +1,18 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
2
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
3
3
  import { m as normalizeOptionalAccountId, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
4
- import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-DpeZG5fo.js";
5
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-B-c56SkM.js";
7
- import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-DIrNa311.js";
8
- import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-Ll4Lztu1.js";
9
- import { d as getChannelDock } from "./thinking-Dg8vKjw_.js";
10
- import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-fZrBDWYg.js";
11
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DpVJE0eA.js";
12
- import { t as getAgentScopedMediaLocalRoots } from "./local-roots-JqlMsAYY.js";
13
- import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-DPVf5tQ4.js";
4
+ import { c as getActivePluginRegistry, v as createInternalHookEvent, x as triggerInternalHook } from "./registry-wimgwqAA.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
6
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-GCiqN5mi.js";
7
+ import { r as normalizeChannelId, t as getChannelPlugin } from "./plugins-Bf_qBfZ7.js";
8
+ import { B as resolveMirroredTranscriptText, i as isMessagingToolDuplicate, z as appendAssistantMessageToSessionTranscript } from "./pi-embedded-helpers-HpusHn6J.js";
9
+ import { d as getChannelDock } from "./thinking-BZFf1juV.js";
10
+ import { c as resolveChunkMode, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph } from "./chunk-BkGjWi6P.js";
11
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BOmw5zkp.js";
12
+ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-Dx32AY60.js";
13
+ import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-BCt1G0xY.js";
14
14
  import path from "node:path";
15
- import fs from "node:fs";
15
+ import fsSync from "node:fs";
16
16
  import crypto from "node:crypto";
17
17
 
18
18
  //#region src/plugins/hooks.ts
@@ -726,11 +726,11 @@ function resolveFailedDir(stateDir) {
726
726
  /** Ensure the queue directory (and failed/ subdirectory) exist. */
727
727
  async function ensureQueueDir(stateDir) {
728
728
  const queueDir = resolveQueueDir(stateDir);
729
- await fs.promises.mkdir(queueDir, {
729
+ await fsSync.promises.mkdir(queueDir, {
730
730
  recursive: true,
731
731
  mode: 448
732
732
  });
733
- await fs.promises.mkdir(resolveFailedDir(stateDir), {
733
+ await fsSync.promises.mkdir(resolveFailedDir(stateDir), {
734
734
  recursive: true,
735
735
  mode: 448
736
736
  });
@@ -757,18 +757,18 @@ async function enqueueDelivery(params, stateDir) {
757
757
  const filePath = path.join(queueDir, `${id}.json`);
758
758
  const tmp = `${filePath}.${process.pid}.tmp`;
759
759
  const json = JSON.stringify(entry, null, 2);
760
- await fs.promises.writeFile(tmp, json, {
760
+ await fsSync.promises.writeFile(tmp, json, {
761
761
  encoding: "utf-8",
762
762
  mode: 384
763
763
  });
764
- await fs.promises.rename(tmp, filePath);
764
+ await fsSync.promises.rename(tmp, filePath);
765
765
  return id;
766
766
  }
767
767
  /** Remove a successfully delivered entry from the queue. */
768
768
  async function ackDelivery(id, stateDir) {
769
769
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
770
770
  try {
771
- await fs.promises.unlink(filePath);
771
+ await fsSync.promises.unlink(filePath);
772
772
  } catch (err) {
773
773
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
774
774
  }
@@ -776,16 +776,16 @@ async function ackDelivery(id, stateDir) {
776
776
  /** Update a queue entry after a failed delivery attempt. */
777
777
  async function failDelivery(id, error, stateDir) {
778
778
  const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
779
- const raw = await fs.promises.readFile(filePath, "utf-8");
779
+ const raw = await fsSync.promises.readFile(filePath, "utf-8");
780
780
  const entry = JSON.parse(raw);
781
781
  entry.retryCount += 1;
782
782
  entry.lastError = error;
783
783
  const tmp = `${filePath}.${process.pid}.tmp`;
784
- await fs.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
784
+ await fsSync.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
785
785
  encoding: "utf-8",
786
786
  mode: 384
787
787
  });
788
- await fs.promises.rename(tmp, filePath);
788
+ await fsSync.promises.rename(tmp, filePath);
789
789
  }
790
790
 
791
791
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
2
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
3
3
  import { i as pruneDiagnosticSessionStates, r as getDiagnosticSessionState, t as diagnosticSessionStates } from "./diagnostic-session-state-Bxo4UHOL.js";
4
4
 
5
5
  //#region src/infra/diagnostic-events.ts
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
2
2
  import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-Bn-k7U5-.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
 
@@ -79,7 +79,7 @@ function hasBinary(bin) {
79
79
  for (const part of parts) for (const ext of extensions) {
80
80
  const candidate = path.join(part, bin + ext);
81
81
  try {
82
- fs.accessSync(candidate, fs.constants.X_OK);
82
+ fsSync.accessSync(candidate, fsSync.constants.X_OK);
83
83
  hasBinaryCache.set(bin, true);
84
84
  return true;
85
85
  } catch {}
@@ -1,4 +1,4 @@
1
- import { A as normalizeProviderId } from "./model-auth-vtNH8C4P.js";
1
+ import { A as normalizeProviderId } from "./model-auth-C-Vzzybi.js";
2
2
  import { n as formatErrorMessage } from "./errors-BoQgnc8X.js";
3
3
 
4
4
  //#region src/agents/live-auth-keys.ts
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
2
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import fsSync from "node:fs";
5
5
 
6
6
  //#region src/infra/json-file.ts
7
7
  function loadJsonFile(pathname) {
8
8
  try {
9
- if (!fs.existsSync(pathname)) return;
10
- const raw = fs.readFileSync(pathname, "utf8");
9
+ if (!fsSync.existsSync(pathname)) return;
10
+ const raw = fsSync.readFileSync(pathname, "utf8");
11
11
  return JSON.parse(raw);
12
12
  } catch {
13
13
  return;
@@ -15,12 +15,12 @@ function loadJsonFile(pathname) {
15
15
  }
16
16
  function saveJsonFile(pathname, data) {
17
17
  const dir = path.dirname(pathname);
18
- if (!fs.existsSync(dir)) fs.mkdirSync(dir, {
18
+ if (!fsSync.existsSync(dir)) fsSync.mkdirSync(dir, {
19
19
  recursive: true,
20
20
  mode: 448
21
21
  });
22
- fs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
- fs.chmodSync(pathname, 384);
22
+ fsSync.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
+ fsSync.chmodSync(pathname, 384);
24
24
  }
25
25
 
26
26
  //#endregion
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { R as shortenHomeInString, k as isRecord } from "./registry-DpeZG5fo.js";
3
- import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveOpenClawAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-vtNH8C4P.js";
2
+ import { R as shortenHomeInString, k as isRecord } from "./registry-wimgwqAA.js";
3
+ import { B as resolveImplicitCopilotProvider, J as normalizeSecretInput, R as normalizeProviders, V as resolveImplicitProviders, r as requireApiKey, t as getApiKeyForModel, y as resolveOpenClawAgentDir, z as resolveImplicitBedrockProvider } from "./model-auth-C-Vzzybi.js";
4
4
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
5
- import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-Ll4Lztu1.js";
6
- import { n as loadConfig } from "./config-Du_-inxH.js";
5
+ import { N as sanitizeUserFacingText } from "./pi-embedded-helpers-HpusHn6J.js";
6
+ import { n as loadConfig } from "./config-7ClJ9IDt.js";
7
7
  import { n as redactToolDetail } from "./redact-jSxx6Ep2.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
@@ -1,4 +1,4 @@
1
- import { _ as runExec } from "./workspace-DYx5Dxtw.js";
1
+ import { _ as runExec } from "./workspace-CH9k4Qgz.js";
2
2
  import fs from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
@@ -1,7 +1,7 @@
1
- import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-DpeZG5fo.js";
2
- import { a as hasAlphaChannel, b as maxBytesForKind, c as SafeOpenError, d as detectMime, f as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, u as readLocalFileSafely, x as mediaKindFromMime } from "./image-ops-BGmpOcey.js";
3
- import { a as chunkText } from "./chunk-fZrBDWYg.js";
4
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-JqlMsAYY.js";
1
+ import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-wimgwqAA.js";
2
+ import { a as hasAlphaChannel, b as maxBytesForKind, c as SafeOpenError, d as detectMime, f as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, u as readLocalFileSafely, x as mediaKindFromMime } from "./image-ops-D-bh1BTN.js";
3
+ import { a as chunkText } from "./chunk-BkGjWi6P.js";
4
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-Dx32AY60.js";
5
5
  import fs from "node:fs/promises";
6
6
  import path from "node:path";
7
7
  import { fileURLToPath } from "node:url";
@@ -1,65 +1,65 @@
1
- import "./paths-CyR9Pa1R.js";
2
- import "./registry-DpeZG5fo.js";
3
- import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-DSUeV7-g.js";
4
- import "./subsystem-BF9jT_Nw.js";
5
- import "./workspace-DYx5Dxtw.js";
6
- import "./tokens-B-c56SkM.js";
7
- import { t as runEmbeddedPiAgent } from "./pi-embedded-CoxlOLW5.js";
8
- import "./plugins-DIrNa311.js";
9
- import "./accounts-C8m4ADkw.js";
1
+ import "./paths-CkkDESQ2.js";
2
+ import "./registry-wimgwqAA.js";
3
+ import { c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-DiO1KimT.js";
4
+ import "./subsystem-BEdh_1O5.js";
5
+ import "./workspace-CH9k4Qgz.js";
6
+ import "./tokens-GCiqN5mi.js";
7
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-13CLN75T.js";
8
+ import "./plugins-Bf_qBfZ7.js";
9
+ import "./accounts-DQo5uGA3.js";
10
10
  import "./boolean-B8-BqKGQ.js";
11
- import "./command-format-BOHIfoCX.js";
12
- import "./bindings-BKEEBdsb.js";
13
- import "./send-Byt_wJDK.js";
14
- import "./send-BEFzSOoD.js";
15
- import "./deliver-CLJRPnfx.js";
16
- import "./diagnostic-DriDPU6M.js";
11
+ import "./command-format-CM0AxuCk.js";
12
+ import "./bindings-CEJk9Gww.js";
13
+ import "./send-CMeyW_Bu.js";
14
+ import "./send-DrfA4RxA.js";
15
+ import "./deliver-RhV3c93M.js";
16
+ import "./diagnostic-DTfVTKJM.js";
17
17
  import "./diagnostic-session-state-Bxo4UHOL.js";
18
- import "./accounts-CQT5u65w.js";
19
- import "./send-CWtaJF1G.js";
20
- import "./image-ops-BGmpOcey.js";
21
- import "./model-auth-vtNH8C4P.js";
22
- import "./github-copilot-token-Dgb9dAHW.js";
18
+ import "./accounts-CJEDkyd7.js";
19
+ import "./send-CdIaqNP6.js";
20
+ import "./image-ops-D-bh1BTN.js";
21
+ import "./model-auth-C-Vzzybi.js";
22
+ import "./github-copilot-token-DAycnoAs.js";
23
23
  import "./pi-model-discovery-DaNAekda.js";
24
- import "./message-channel-CHYSjmbr.js";
25
- import "./pi-embedded-helpers-Ll4Lztu1.js";
26
- import "./config-Du_-inxH.js";
27
- import "./manifest-registry-Dhk4A5vb.js";
28
- import "./chrome-BAv9fEiv.js";
29
- import "./frontmatter-CdkBcBAo.js";
30
- import "./skills-DSZuhFx9.js";
24
+ import "./message-channel-BckS8bQ9.js";
25
+ import "./pi-embedded-helpers-HpusHn6J.js";
26
+ import "./config-7ClJ9IDt.js";
27
+ import "./manifest-registry-D31TP66o.js";
28
+ import "./chrome-DcmLXeT1.js";
29
+ import "./frontmatter-Dab6NVCF.js";
30
+ import "./skills-C8xf0p1B.js";
31
31
  import "./redact-jSxx6Ep2.js";
32
32
  import "./errors-BoQgnc8X.js";
33
33
  import "./ssrf-BTMDZjHT.js";
34
- import "./store-BrNiRjgB.js";
35
- import "./thinking-Dg8vKjw_.js";
36
- import "./accounts-DFrH9IVU.js";
37
- import "./paths-BEAbheM8.js";
38
- import "./tool-images-C1rdDr34.js";
39
- import "./image-Ci28h-op.js";
40
- import "./reply-prefix-DZrS3Kf7.js";
41
- import "./manager-D7SRrHxT.js";
42
- import "./gemini-auth-A2JaRMHH.js";
43
- import "./sqlite-C3XxSzBN.js";
44
- import "./retry-Bdu4_ZcT.js";
45
- import "./target-errors-ChHV8dPI.js";
46
- import "./chunk-fZrBDWYg.js";
47
- import "./markdown-tables-DpVJE0eA.js";
48
- import "./local-roots-JqlMsAYY.js";
49
- import "./ir-DJPm0a4k.js";
34
+ import "./store-VFVAfYgh.js";
35
+ import "./thinking-BZFf1juV.js";
36
+ import "./accounts-CaJg9v7D.js";
37
+ import "./paths-Cv2Q0cX2.js";
38
+ import "./tool-images-D0sBSASn.js";
39
+ import "./image-COCyG_gz.js";
40
+ import "./reply-prefix-B_1VtLm5.js";
41
+ import "./manager-C6KdjXEH.js";
42
+ import "./gemini-auth-CnEqRhSo.js";
43
+ import "./sqlite-B6SD9PTM.js";
44
+ import "./retry-DwLEH9x4.js";
45
+ import "./target-errors-DD2466Y6.js";
46
+ import "./chunk-BkGjWi6P.js";
47
+ import "./markdown-tables-BOmw5zkp.js";
48
+ import "./local-roots-Dx32AY60.js";
49
+ import "./ir-j1Xb0PNv.js";
50
50
  import "./render-CDCvpfhh.js";
51
- import "./commands-registry-BzlB3qtZ.js";
52
- import "./skill-commands-CqyVDpti.js";
53
- import "./runner-ChBxge-W.js";
51
+ import "./commands-registry-C0QzohKU.js";
52
+ import "./skill-commands-CwFNOYqC.js";
53
+ import "./runner-BjLlUYe1.js";
54
54
  import "./fetch-DtI0mtzx.js";
55
- import "./channel-activity-BgsTqLau.js";
56
- import "./tables-C3clT_iA.js";
57
- import "./send-DPVf5tQ4.js";
58
- import "./outbound-attachment-B8WHzsCX.js";
59
- import "./send-BeWYOs1x.js";
60
- import "./resolve-route-1ar2IrQt.js";
55
+ import "./channel-activity-pOw1s-fe.js";
56
+ import "./tables-QNO5uMcm.js";
57
+ import "./send-BCt1G0xY.js";
58
+ import "./outbound-attachment-CHLSsIj_.js";
59
+ import "./send-CEP4RX_l.js";
60
+ import "./resolve-route-CSE9DZsB.js";
61
61
  import "./proxy-CBJ1upuz.js";
62
- import "./replies-CSVWkVda.js";
62
+ import "./replies-DuQ9MtQM.js";
63
63
  import fs from "node:fs/promises";
64
64
  import os from "node:os";
65
65
  import path from "node:path";
@@ -1,8 +1,8 @@
1
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
2
- import { dt as resolvePreferredOpenClawTmpDir } from "./registry-DpeZG5fo.js";
3
- import { s as resolveAgentWorkspaceDir } from "./agent-scope-DSUeV7-g.js";
4
- import { S as logWarn } from "./workspace-DYx5Dxtw.js";
5
- import { d as detectMime, f as extensionForMime } from "./image-ops-BGmpOcey.js";
1
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
2
+ import { dt as resolvePreferredOpenClawTmpDir } from "./registry-wimgwqAA.js";
3
+ import { s as resolveAgentWorkspaceDir } from "./agent-scope-DiO1KimT.js";
4
+ import { S as logWarn } from "./workspace-CH9k4Qgz.js";
5
+ import { d as detectMime, f as extensionForMime } from "./image-ops-D-bh1BTN.js";
6
6
  import { a as resolvePinnedHostnameWithPolicy, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
7
7
  import { t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
8
8
  import path from "node:path";
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { G as danger, K as info, Q as success } from "./registry-DpeZG5fo.js";
3
- import { r as defaultRuntime } from "./subsystem-BF9jT_Nw.js";
4
- import { x as logInfo } from "./workspace-DYx5Dxtw.js";
5
- import { a as logoutWeb, t as resolveWhatsAppAccount } from "./accounts-C8m4ADkw.js";
6
- import { t as formatCliCommand } from "./command-format-BOHIfoCX.js";
7
- import { n as loadConfig } from "./config-Du_-inxH.js";
8
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-Bnp7PC7f.js";
2
+ import { G as danger, K as info, Q as success } from "./registry-wimgwqAA.js";
3
+ import { r as defaultRuntime } from "./subsystem-BEdh_1O5.js";
4
+ import { x as logInfo } from "./workspace-CH9k4Qgz.js";
5
+ import { a as logoutWeb, t as resolveWhatsAppAccount } from "./accounts-DQo5uGA3.js";
6
+ import { t as formatCliCommand } from "./command-format-CM0AxuCk.js";
7
+ import { n as loadConfig } from "./config-7ClJ9IDt.js";
8
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-CQ9JJgSo.js";
9
9
  import { DisconnectReason } from "@whiskeysockets/baileys";
10
10
 
11
11
  //#region src/web/login.ts
@@ -1,16 +1,16 @@
1
- import "./paths-CyR9Pa1R.js";
2
- import { G as danger, K as info, Q as success } from "./registry-DpeZG5fo.js";
3
- import "./agent-scope-DSUeV7-g.js";
4
- import { r as defaultRuntime } from "./subsystem-BF9jT_Nw.js";
5
- import { x as logInfo } from "./workspace-DYx5Dxtw.js";
6
- import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-C8m4ADkw.js";
1
+ import "./paths-CkkDESQ2.js";
2
+ import { G as danger, K as info, Q as success } from "./registry-wimgwqAA.js";
3
+ import "./agent-scope-DiO1KimT.js";
4
+ import { r as defaultRuntime } from "./subsystem-BEdh_1O5.js";
5
+ import { x as logInfo } from "./workspace-CH9k4Qgz.js";
6
+ import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-DQo5uGA3.js";
7
7
  import "./boolean-B8-BqKGQ.js";
8
- import "./command-format-BOHIfoCX.js";
9
- import "./model-auth-vtNH8C4P.js";
10
- import "./github-copilot-token-Dgb9dAHW.js";
11
- import { n as loadConfig } from "./config-Du_-inxH.js";
12
- import "./manifest-registry-Dhk4A5vb.js";
13
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-Bnp7PC7f.js";
8
+ import "./command-format-CM0AxuCk.js";
9
+ import "./model-auth-C-Vzzybi.js";
10
+ import "./github-copilot-token-DAycnoAs.js";
11
+ import { n as loadConfig } from "./config-7ClJ9IDt.js";
12
+ import "./manifest-registry-D31TP66o.js";
13
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CQ9JJgSo.js";
14
14
  import { randomUUID } from "node:crypto";
15
15
  import { DisconnectReason } from "@whiskeysockets/baileys";
16
16
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
3
- import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-DpeZG5fo.js";
4
- import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-DSUeV7-g.js";
5
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
- import { r as isTruthyEnvValue } from "./command-format-BOHIfoCX.js";
7
- import { i as resolveApiKeyForProvider, r as requireApiKey } from "./model-auth-vtNH8C4P.js";
2
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
3
+ import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-wimgwqAA.js";
4
+ import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-DiO1KimT.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
6
+ import { r as isTruthyEnvValue } from "./command-format-CM0AxuCk.js";
7
+ import { i as resolveApiKeyForProvider, r as requireApiKey } from "./model-auth-C-Vzzybi.js";
8
8
  import { n as formatErrorMessage } from "./errors-BoQgnc8X.js";
9
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-BEAbheM8.js";
9
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-Cv2Q0cX2.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
11
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-A2JaRMHH.js";
12
- import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-C3XxSzBN.js";
13
- import { n as retryAsync } from "./retry-Bdu4_ZcT.js";
11
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CnEqRhSo.js";
12
+ import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-B6SD9PTM.js";
13
+ import { n as retryAsync } from "./retry-DwLEH9x4.js";
14
14
  import fs from "node:fs/promises";
15
15
  import os from "node:os";
16
16
  import path from "node:path";
17
- import fs$1 from "node:fs";
17
+ import fsSync from "node:fs";
18
18
  import { randomUUID } from "node:crypto";
19
19
  import { createInterface } from "node:readline";
20
20
  import { Readable } from "node:stream";
@@ -511,7 +511,7 @@ function canAutoSelectLocal(options) {
511
511
  if (/^(hf:|https?:)/i.test(modelPath)) return false;
512
512
  const resolved = resolveUserPath(modelPath);
513
513
  try {
514
- return fs$1.statSync(resolved).isFile();
514
+ return fsSync.statSync(resolved).isFile();
515
515
  } catch {
516
516
  return false;
517
517
  }
@@ -1939,7 +1939,7 @@ var MemoryManagerSyncOps = class {
1939
1939
  ]);
1940
1940
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
1941
1941
  for (const entry of additionalPaths) try {
1942
- const stat = fs$1.lstatSync(entry);
1942
+ const stat = fsSync.lstatSync(entry);
1943
1943
  if (stat.isSymbolicLink()) continue;
1944
1944
  if (stat.isDirectory()) {
1945
1945
  watchPaths.add(path.join(entry, "**", "*.md"));