wednesdayai 0.5.0 → 0.5.1-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/{agent-scope-DaYoimRo.js → agent-scope-VTjBKG-0.js} +3 -3
  2. package/dist/{agent-turn-runner-B9ZpICYG.js → agent-turn-runner-CZilDjoa.js} +4 -4
  3. package/dist/{agent-turn-runner-D17nO0vK.js → agent-turn-runner-DGW1XTSZ.js} +6 -6
  4. package/dist/{api-key-rotation-CFBqEjJo.js → api-key-rotation-C7Uer3wX.js} +2 -2
  5. package/dist/{audio-preflight-IAvClu-y.js → audio-preflight-5kfGz36M.js} +29 -29
  6. package/dist/{audio-preflight-0IORdIpv.js → audio-preflight-CyoX7lif.js} +5 -5
  7. package/dist/{audio-transcription-runner-XF9vtq2K.js → audio-transcription-runner-6owLZL6w.js} +1 -1
  8. package/dist/{audio-transcription-runner-DO37G4ea.js → audio-transcription-runner-CBRRwnRT.js} +26 -26
  9. package/dist/build-info.json +4 -4
  10. package/dist/bundled/boot-md/handler.js +60 -60
  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-journal/handler.js +60 -60
  14. package/dist/bundled/session-memory/handler.js +60 -60
  15. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  16. package/dist/{channel-activity-osbmoIZV.js → channel-activity-CgARXGuN.js} +3 -3
  17. package/dist/{chat-content-D9t717tu.js → chat-content-CjKyPXfO.js} +34 -34
  18. package/dist/{chat-content-CF94bdqd.js → chat-content-Dp_TK_pI.js} +3 -3
  19. package/dist/{chrome-Bz--jRWP.js → chrome-C9hAxf3E.js} +5 -5
  20. package/dist/{chrome-Cb_eHwXe.js → chrome-DKYaSdXE.js} +23 -23
  21. package/dist/{chunk-BGAIfwvG.js → chunk-CmQRdRrT.js} +3 -3
  22. package/dist/{command-queue-Blj57uZh.js → command-queue-DiOM6aJb.js} +1 -1
  23. package/dist/{command-queue-CHDYFklA.js → command-queue-arMRWvX5.js} +1 -1
  24. package/dist/{commands-registry-CHyanyMK.js → commands-registry-Bpqy7T_m.js} +2 -2
  25. package/dist/{deliver-ItqNbpAj.js → deliver-DGxrgy4y.js} +1 -1
  26. package/dist/{deliver-B1z53DPr.js → deliver-hdhBsluU.js} +29 -29
  27. package/dist/{diagnostic-DHSjiKQ1.js → diagnostic-DWnW43D8.js} +5 -5
  28. package/dist/{diagnostic-BsxoGiFO.js → diagnostic-f8CKHXWb.js} +1 -1
  29. package/dist/{errors-CCOle-CH.js → errors-h4QgDEJU.js} +1 -1
  30. package/dist/extensionAPI.js +12 -12
  31. package/dist/{fetch-CJta9EH3.js → fetch-BkWHUyJz.js} +8 -8
  32. package/dist/{fetch-guard-CnaMeBGo.js → fetch-guard-BUJnD_0T.js} +3 -3
  33. package/dist/{frontmatter-DlRD-Jnx.js → frontmatter-IfoWyoLV.js} +3 -3
  34. package/dist/{fs-safe-DpdLT3fB.js → fs-safe-joAzTKB9.js} +26 -26
  35. package/dist/{image-ops-YU6OONEl.js → image-ops-d6AhYSNh.js} +1 -1
  36. package/dist/{ir-BdHn6F6Y.js → ir-B0cUtyev.js} +5 -5
  37. package/dist/{legacy-names-me5dD9PP.js → legacy-names-Dh4RlQMQ.js} +1 -1
  38. package/dist/llm-slug-generator.js +60 -60
  39. package/dist/{logger-BrQxLcMY.js → logger-vVASmiVr.js} +1 -1
  40. package/dist/{manager-xwMosvyt.js → manager-SEkHJEk4.js} +18 -18
  41. package/dist/{markdown-tables-BVgH365V.js → markdown-tables-pw9wiTpN.js} +2 -2
  42. package/dist/{model-selection-CYypdqr8.js → model-selection-BTxcwzNF.js} +83 -83
  43. package/dist/{models-config-D7vsT5RL.js → models-config-CrYtS7l_.js} +2 -2
  44. package/dist/{outbound-attachment-C_QOYkXN.js → outbound-attachment-ecpn937X.js} +2 -2
  45. package/dist/{outbound-message-hooks-BYTh0d2Q.js → outbound-message-hooks-BA0MXlRL.js} +5 -5
  46. package/dist/{path-alias-guards-BdGLz9X0.js → path-alias-guards-BzCkdlOk.js} +1 -1
  47. package/dist/{pi-embedded-BtqsPDuE.js → pi-embedded-C3a3mJgO.js} +272 -272
  48. package/dist/{pi-embedded-D6nR71l7.js → pi-embedded-cc9FvjV6.js} +28 -28
  49. package/dist/{pi-embedded-utils-C-iiawNt.js → pi-embedded-utils-Bu-pLHgt.js} +3 -3
  50. package/dist/{pi-embedded-utils-Bb82klSc.js → pi-embedded-utils-DKfjTsdf.js} +1 -1
  51. package/dist/{pi-model-discovery-fTAJjO1L.js → pi-model-discovery-BHTeo1nC.js} +7 -7
  52. package/dist/plugin-sdk/{agent-turn-execute-R1HDfkzv.js → agent-turn-execute-5UY7VtoM.js} +12 -12
  53. package/dist/plugin-sdk/{agent-turn-runner-BJKm0xiy.js → agent-turn-runner-Cn8kBLTA.js} +4 -4
  54. package/dist/plugin-sdk/{audio-preflight-BB1yTgKL.js → audio-preflight-DmcETAqz.js} +5 -5
  55. package/dist/plugin-sdk/{audio-transcription-runner-reKaz0zD.js → audio-transcription-runner-CmY7S8fK.js} +1 -1
  56. package/dist/plugin-sdk/{chrome-WLpY6l2E.js → chrome-6h5M_drY.js} +8 -8
  57. package/dist/plugin-sdk/{command-queue-CAp1zb7F.js → command-queue-DIuk1L2E.js} +1 -1
  58. package/dist/plugin-sdk/{deliver-DlvbM-qn.js → deliver-C9GFYFwr.js} +1 -1
  59. package/dist/plugin-sdk/{deliver-BmT0wV-k.js → deliver-DPfI8dVE.js} +3 -3
  60. package/dist/plugin-sdk/{diagnostic-RXIEvDQf.js → diagnostic-DRY8-0JL.js} +1 -1
  61. package/dist/plugin-sdk/{pi-embedded-helpers-21OqohWy.js → pi-embedded-helpers-D5vYvfne.js} +3 -3
  62. package/dist/plugin-sdk/{pi-embedded-utils-BW2p1kKO.js → pi-embedded-utils-CGDgVtzV.js} +1 -1
  63. package/dist/plugin-sdk/{provider-dispatcher-rwnQ0CEc.js → provider-dispatcher-DryAXJsi.js} +12 -12
  64. package/dist/plugin-sdk/{provider-image-3obRwbTZ.js → provider-image-CVcMld07.js} +4 -4
  65. package/dist/plugin-sdk/{provider-image-B68yYRAm.js → provider-image-Df0uD0Oe.js} +1 -1
  66. package/dist/plugin-sdk/{pw-ai-CSRaN1ac.js → pw-ai-DMALp-EA.js} +1 -1
  67. package/dist/plugin-sdk/{runs-5hM5yurH.js → runs-BASRXkuM.js} +3 -3
  68. package/dist/plugin-sdk/{runs-DvLuGamE.js → runs-yMaO6qGS.js} +5 -5
  69. package/dist/plugin-sdk/{send-Zxl5JOn5.js → send-BqbtJqgu.js} +1 -1
  70. package/dist/plugin-sdk/{send-CzwcnXPR.js → send-CmZ4gvBw.js} +2 -2
  71. package/dist/plugin-sdk/{subagent-registry-Y727Of1U.js → subagent-registry-GgT4DYT1.js} +12 -12
  72. package/dist/plugin-sdk/testing.js +12 -12
  73. package/dist/plugin-sdk/{tools-joKDe6rw.js → tools-Bigk4qN-.js} +32 -32
  74. package/dist/{provider-image-Do7qMZhI.js → provider-image-BZgdxPq1.js} +1 -1
  75. package/dist/{provider-image-DEcMOAkN.js → provider-image-BoLaTMGA.js} +6 -6
  76. package/dist/{proxy-DaAwoyLn.js → proxy-CPi-EHQf.js} +1 -1
  77. package/dist/{proxy-env-DbK61KfJ.js → proxy-env-D-BYfN9f.js} +1 -1
  78. package/dist/{proxy-fetch-DfICXirF.js → proxy-fetch-SAeVJOzX.js} +1 -1
  79. package/dist/{pw-ai-BPTONp50.js → pw-ai-BX6tMIuu.js} +14 -14
  80. package/dist/{pw-ai-vX880pfn.js → pw-ai-ZhKSFpfJ.js} +1 -1
  81. package/dist/{qmd-manager-BwE9yS9R.js → qmd-manager-D8ak7kq1.js} +12 -12
  82. package/dist/{query-expansion-D98bVcfg.js → query-expansion-Cfj6kuQN.js} +13 -13
  83. package/dist/{recorder-DsunFllM.js → recorder-9g0HAfTV.js} +2 -2
  84. package/dist/{redact-CO0RqVMz.js → redact-CteA3IBL.js} +1 -1
  85. package/dist/{replies-pB9HCyld.js → replies-BbIj7g9M.js} +5 -5
  86. package/dist/{reply-directives-mulrKdb0.js → reply-directives-DBlsFghT.js} +2 -2
  87. package/dist/{reply-prefix-JmOFNTVH.js → reply-prefix-B4-hQLj2.js} +1 -1
  88. package/dist/{resolve-route-5h1UlQhK.js → resolve-route-BVQQmyE-.js} +5 -5
  89. package/dist/{runs-DEhpITiC.js → runs-Dar4NRlC.js} +3 -3
  90. package/dist/{runs-CYEm5TJX.js → runs-n_IyEnjI.js} +9 -9
  91. package/dist/{send-Bcmcrt2M.js → send-BaBji8OV.js} +6 -6
  92. package/dist/{send-CaxLshmb.js → send-Blzch_-J.js} +6 -6
  93. package/dist/{send-i_w4A0N2.js → send-D3AqPouq.js} +7 -7
  94. package/dist/{send-LdGFidPd.js → send-D4CyRJfb.js} +8 -8
  95. package/dist/{send-mGol3d2c.js → send-Owye3CdT.js} +27 -27
  96. package/dist/{send-C4CkAZXl.js → send-tEYUiTsj.js} +1 -1
  97. package/dist/{session-meta-CmQ6a7H5.js → session-meta-n_Hhzi0B.js} +1 -1
  98. package/dist/{sessions-ZdGPevHF.js → sessions-C8YjZYd5.js} +5 -5
  99. package/dist/{skill-commands-XRDXSro6.js → skill-commands-DyocWgx1.js} +8 -8
  100. package/dist/{skills-CXVcffYI.js → skills-BNWKnQc8.js} +21 -21
  101. package/dist/{store-CYs-lya8.js → store-BkbDrlDX.js} +7 -7
  102. package/dist/{subsystem-Bv4j-uIg.js → subsystem-D_zHSy02.js} +67 -67
  103. package/dist/{tables-BbGV4Ys1.js → tables-B_gp2rXG.js} +1 -1
  104. package/dist/{tokens-BdntrBR4.js → tokens-B3OPeQh5.js} +1 -1
  105. package/dist/{tool-loop-detection-CdZfb_CR.js → tool-loop-detection-ST5jhih3.js} +2 -2
  106. package/dist/{user-run-recording-Dr98Mjnd.js → user-run-recording-CMwTVvoc.js} +2 -2
  107. package/dist/{workspace-yHh5Lf7Z.js → workspace-CkXKTYV4.js} +27 -27
  108. package/extensions/acpx/package.json +1 -1
  109. package/extensions/anthropic/package.json +1 -1
  110. package/extensions/bifrost/package.json +1 -1
  111. package/extensions/bluebubbles/package.json +1 -1
  112. package/extensions/copilot-proxy/package.json +1 -1
  113. package/extensions/deepgram/package.json +1 -1
  114. package/extensions/deepinfra/package.json +1 -1
  115. package/extensions/diagnostics-otel/package.json +1 -1
  116. package/extensions/diffs/package.json +1 -1
  117. package/extensions/discord/package.json +1 -1
  118. package/extensions/dream-cycle/package.json +1 -1
  119. package/extensions/elevenlabs/package.json +1 -1
  120. package/extensions/feishu/package.json +1 -1
  121. package/extensions/gemini-search/package.json +1 -1
  122. package/extensions/google/package.json +1 -1
  123. package/extensions/google-gemini-cli-auth/package.json +1 -1
  124. package/extensions/googlechat/package.json +1 -1
  125. package/extensions/grok-search/package.json +1 -1
  126. package/extensions/groq/package.json +1 -1
  127. package/extensions/imessage/package.json +1 -1
  128. package/extensions/irc/package.json +1 -1
  129. package/extensions/kimi-search/package.json +1 -1
  130. package/extensions/learning-core/package.json +1 -1
  131. package/extensions/line/package.json +1 -1
  132. package/extensions/llm-task/package.json +1 -1
  133. package/extensions/lobster/package.json +1 -1
  134. package/extensions/matrix/CHANGELOG.md +6 -0
  135. package/extensions/matrix/package.json +1 -1
  136. package/extensions/mattermost/package.json +1 -1
  137. package/extensions/memory-core/package.json +1 -1
  138. package/extensions/memory-lancedb/package.json +1 -1
  139. package/extensions/minimax/package.json +1 -1
  140. package/extensions/minimax-portal-auth/package.json +1 -1
  141. package/extensions/mistral/package.json +1 -1
  142. package/extensions/moonshot/package.json +1 -1
  143. package/extensions/msteams/CHANGELOG.md +6 -0
  144. package/extensions/msteams/package.json +1 -1
  145. package/extensions/nextcloud-talk/package.json +1 -1
  146. package/extensions/nostr/CHANGELOG.md +6 -0
  147. package/extensions/nostr/package.json +1 -1
  148. package/extensions/open-prose/package.json +1 -1
  149. package/extensions/openai/package.json +1 -1
  150. package/extensions/openai-realtime/package.json +1 -1
  151. package/extensions/openrouter/package.json +1 -1
  152. package/extensions/perplexity-search/package.json +1 -1
  153. package/extensions/searxng-search/package.json +1 -1
  154. package/extensions/signal/package.json +1 -1
  155. package/extensions/slack/package.json +1 -1
  156. package/extensions/synology-chat/package.json +1 -1
  157. package/extensions/telegram/package.json +1 -1
  158. package/extensions/tlon/package.json +1 -1
  159. package/extensions/twitch/CHANGELOG.md +6 -0
  160. package/extensions/twitch/package.json +1 -1
  161. package/extensions/voice-call/CHANGELOG.md +6 -0
  162. package/extensions/voice-call/package.json +1 -1
  163. package/extensions/whatsapp/package.json +1 -1
  164. package/extensions/zai/package.json +1 -1
  165. package/extensions/zalo/CHANGELOG.md +6 -0
  166. package/extensions/zalo/package.json +1 -1
  167. package/extensions/zalouser/CHANGELOG.md +6 -0
  168. package/extensions/zalouser/package.json +1 -1
  169. package/package.json +1 -1
  170. package/dist/github-copilot-token-DYYKoDuV.js +0 -106
  171. package/dist/paths-BIDPYPVC.js +0 -233
@@ -1,11 +1,11 @@
1
- import { u as expandHomePrefix } from "./paths-BIDPYPVC.js";
2
- import { B as hasNodeErrorCode, H as isPathInside, I as sameFileIdentity, U as isSymlinkOpenError, V as isNotFoundPathError } from "./subsystem-Bv4j-uIg.js";
3
- import { i as logWarn } from "./logger-BrQxLcMY.js";
4
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BdGLz9X0.js";
1
+ import { u as expandHomePrefix } from "./paths-B_gs59ga.js";
2
+ import { B as hasNodeErrorCode, H as isPathInside, I as sameFileIdentity, U as isSymlinkOpenError, V as isNotFoundPathError } from "./subsystem-D_zHSy02.js";
3
+ import { i as logWarn } from "./logger-vVASmiVr.js";
4
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BzCkdlOk.js";
5
5
  import path from "node:path";
6
6
  import { constants } from "node:fs";
7
7
  import os from "node:os";
8
- import fs$1 from "node:fs/promises";
8
+ import fs from "node:fs/promises";
9
9
  import { randomUUID } from "node:crypto";
10
10
  import { pipeline } from "node:stream/promises";
11
11
 
@@ -25,19 +25,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
25
25
  async function expandRelativePathWithHome(relativePath) {
26
26
  let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
27
27
  try {
28
- home = await fs$1.realpath(home);
28
+ home = await fs.realpath(home);
29
29
  } catch {}
30
30
  return expandHomePrefix(relativePath, { home });
31
31
  }
32
32
  async function openVerifiedLocalFile(filePath, options) {
33
33
  try {
34
- if ((await fs$1.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
34
+ if ((await fs.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
35
35
  } catch (err) {
36
36
  if (err instanceof SafeOpenError) throw err;
37
37
  }
38
38
  let handle;
39
39
  try {
40
- handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
40
+ handle = await fs.open(filePath, OPEN_READ_FLAGS);
41
41
  } catch (err) {
42
42
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
43
43
  if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
@@ -45,13 +45,13 @@ async function openVerifiedLocalFile(filePath, options) {
45
45
  throw err;
46
46
  }
47
47
  try {
48
- const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
48
+ const [stat, lstat] = await Promise.all([handle.stat(), fs.lstat(filePath)]);
49
49
  if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
50
50
  if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
51
51
  if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
52
52
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
53
- const realPath = await fs$1.realpath(filePath);
54
- const realStat = await fs$1.stat(realPath);
53
+ const realPath = await fs.realpath(filePath);
54
+ const realStat = await fs.stat(realPath);
55
55
  if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
56
56
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
57
57
  return {
@@ -69,7 +69,7 @@ async function openVerifiedLocalFile(filePath, options) {
69
69
  async function resolvePathWithinRoot(params) {
70
70
  let rootReal;
71
71
  try {
72
- rootReal = await fs$1.realpath(params.rootDir);
72
+ rootReal = await fs.realpath(params.rootDir);
73
73
  } catch (err) {
74
74
  if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
75
75
  throw err;
@@ -170,7 +170,7 @@ function buildAtomicWriteTempPath(targetPath) {
170
170
  return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
171
171
  }
172
172
  async function writeTempFileForAtomicReplace(params) {
173
- const tempHandle = await fs$1.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
173
+ const tempHandle = await fs.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
174
174
  try {
175
175
  if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
176
176
  else await tempHandle.writeFile(params.data);
@@ -180,7 +180,7 @@ async function writeTempFileForAtomicReplace(params) {
180
180
  }
181
181
  }
182
182
  async function verifyAtomicWriteResult(params) {
183
- const rootWithSep = ensureTrailingSep(await fs$1.realpath(params.rootDir));
183
+ const rootWithSep = ensureTrailingSep(await fs.realpath(params.rootDir));
184
184
  const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
185
185
  try {
186
186
  if (!sameFileIdentity(opened.stat, params.expectedStat)) throw new SafeOpenError("path-mismatch", "path changed during write");
@@ -191,13 +191,13 @@ async function verifyAtomicWriteResult(params) {
191
191
  }
192
192
  async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
193
193
  try {
194
- return await fs$1.realpath(ioPath);
194
+ return await fs.realpath(ioPath);
195
195
  } catch (err) {
196
196
  if (!isNotFoundPathError(err)) throw err;
197
197
  }
198
198
  const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
199
199
  for (const fdPath of fdCandidates) try {
200
- return await fs$1.realpath(fdPath);
200
+ return await fs.realpath(fdPath);
201
201
  } catch {}
202
202
  throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
203
203
  }
@@ -212,10 +212,10 @@ async function openWritableFileWithinRoot(params) {
212
212
  } catch (err) {
213
213
  throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
214
214
  }
215
- if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
215
+ if (params.mkdir !== false) await fs.mkdir(path.dirname(resolved), { recursive: true });
216
216
  let ioPath = resolved;
217
217
  try {
218
- const resolvedRealPath = await fs$1.realpath(resolved);
218
+ const resolvedRealPath = await fs.realpath(resolved);
219
219
  if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
220
220
  ioPath = resolvedRealPath;
221
221
  } catch (err) {
@@ -227,10 +227,10 @@ async function openWritableFileWithinRoot(params) {
227
227
  let createdForWrite = false;
228
228
  try {
229
229
  try {
230
- handle = await fs$1.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
230
+ handle = await fs.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
231
231
  } catch (err) {
232
232
  if (!isNotFoundPathError(err)) throw err;
233
- handle = await fs$1.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
233
+ handle = await fs.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
234
234
  createdForWrite = true;
235
235
  }
236
236
  } catch (err) {
@@ -244,7 +244,7 @@ async function openWritableFileWithinRoot(params) {
244
244
  if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
245
245
  if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
246
246
  try {
247
- const lstat = await fs$1.lstat(ioPath);
247
+ const lstat = await fs.lstat(ioPath);
248
248
  if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
249
249
  if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
250
250
  } catch (err) {
@@ -252,7 +252,7 @@ async function openWritableFileWithinRoot(params) {
252
252
  }
253
253
  const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
254
254
  openedRealPath = realPath;
255
- const realStat = await fs$1.stat(realPath);
255
+ const realStat = await fs.stat(realPath);
256
256
  if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
257
257
  if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
258
258
  if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
@@ -267,7 +267,7 @@ async function openWritableFileWithinRoot(params) {
267
267
  const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
268
268
  const cleanupPath = openedRealPath ?? ioPath;
269
269
  await handle.close().catch(() => {});
270
- if (cleanupCreatedPath) await fs$1.rm(cleanupPath, { force: true }).catch(() => {});
270
+ if (cleanupCreatedPath) await fs.rm(cleanupPath, { force: true }).catch(() => {});
271
271
  throw err;
272
272
  }
273
273
  }
@@ -290,7 +290,7 @@ async function writeFileWithinRoot(params) {
290
290
  encoding: params.encoding,
291
291
  mode: targetMode || 384
292
292
  });
293
- await fs$1.rename(tempPath, destinationPath);
293
+ await fs.rename(tempPath, destinationPath);
294
294
  tempPath = null;
295
295
  try {
296
296
  await verifyAtomicWriteResult({
@@ -303,7 +303,7 @@ async function writeFileWithinRoot(params) {
303
303
  throw err;
304
304
  }
305
305
  } finally {
306
- if (tempPath) await fs$1.rm(tempPath, { force: true }).catch(() => {});
306
+ if (tempPath) await fs.rm(tempPath, { force: true }).catch(() => {});
307
307
  }
308
308
  }
309
309
  async function copyFileWithinRoot(params) {
@@ -331,7 +331,7 @@ async function copyFileWithinRoot(params) {
331
331
  });
332
332
  await pipeline(sourceStream, targetStream);
333
333
  } catch (err) {
334
- if (target?.createdForWrite) await fs$1.rm(target.openedRealPath, { force: true }).catch(() => {});
334
+ if (target?.createdForWrite) await fs.rm(target.openedRealPath, { force: true }).catch(() => {});
335
335
  throw err;
336
336
  } finally {
337
337
  if (!sourceClosedByStream) await source.handle.close().catch(() => {});
@@ -1,4 +1,4 @@
1
- import { _ as runExec } from "./workspace-yHh5Lf7Z.js";
1
+ import { _ as runExec } from "./workspace-CkXKTYV4.js";
2
2
  import path from "node:path";
3
3
  import os from "node:os";
4
4
  import fs from "node:fs/promises";
@@ -1,8 +1,8 @@
1
- import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-Bv4j-uIg.js";
2
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-YU6OONEl.js";
3
- import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DpdLT3fB.js";
4
- import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-CJta9EH3.js";
5
- import { a as chunkText } from "./chunk-BGAIfwvG.js";
1
+ import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-D_zHSy02.js";
2
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-d6AhYSNh.js";
3
+ import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-joAzTKB9.js";
4
+ import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-BkWHUyJz.js";
5
+ import { a as chunkText } from "./chunk-CmQRdRrT.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
8
8
  import { fileURLToPath } from "node:url";
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-Bv4j-uIg.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-D_zHSy02.js";
2
2
 
3
3
  //#region src/utils/boolean.ts
4
4
  const DEFAULT_TRUTHY = [
@@ -1,68 +1,68 @@
1
- import { a as resolveAgentEffectiveModelPrimary, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId } from "./agent-scope-DaYoimRo.js";
2
- import "./paths-BIDPYPVC.js";
3
- import { t as createSubsystemLogger } from "./subsystem-Bv4j-uIg.js";
4
- import "./workspace-yHh5Lf7Z.js";
5
- import "./logger-BrQxLcMY.js";
6
- import { Aa as DEFAULT_PROVIDER, ka as DEFAULT_MODEL, l as parseModelRef } from "./model-selection-CYypdqr8.js";
7
- import "./github-copilot-token-DYYKoDuV.js";
8
- import "./legacy-names-me5dD9PP.js";
9
- import "./send-i_w4A0N2.js";
10
- import "./send-LdGFidPd.js";
11
- import { t as runEmbeddedPiAgent } from "./pi-embedded-BtqsPDuE.js";
12
- import "./tokens-BdntrBR4.js";
13
- import "./sessions-ZdGPevHF.js";
1
+ import { a as resolveAgentEffectiveModelPrimary, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId } from "./agent-scope-VTjBKG-0.js";
2
+ import "./paths-B_gs59ga.js";
3
+ import { t as createSubsystemLogger } from "./subsystem-D_zHSy02.js";
4
+ import "./workspace-CkXKTYV4.js";
5
+ import "./logger-vVASmiVr.js";
6
+ import { Aa as DEFAULT_PROVIDER, ka as DEFAULT_MODEL, l as parseModelRef } from "./model-selection-BTxcwzNF.js";
7
+ import "./github-copilot-token-DHoyZ4I0.js";
8
+ import "./legacy-names-Dh4RlQMQ.js";
9
+ import "./send-D3AqPouq.js";
10
+ import "./send-D4CyRJfb.js";
11
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-C3a3mJgO.js";
12
+ import "./tokens-B3OPeQh5.js";
13
+ import "./sessions-C8YjZYd5.js";
14
14
  import "./diagnostic-events-DGRcTqIH.js";
15
- import "./diagnostic-DHSjiKQ1.js";
15
+ import "./diagnostic-DWnW43D8.js";
16
16
  import "./diagnostic-session-state-Bnyx-w0F.js";
17
- import "./redact-CO0RqVMz.js";
18
- import "./command-queue-Blj57uZh.js";
19
- import "./send-mGol3d2c.js";
20
- import "./image-ops-YU6OONEl.js";
21
- import "./pi-model-discovery-fTAJjO1L.js";
22
- import "./chat-content-D9t717tu.js";
23
- import "./chrome-Cb_eHwXe.js";
24
- import "./frontmatter-DlRD-Jnx.js";
25
- import "./skills-CXVcffYI.js";
26
- import "./path-alias-guards-BdGLz9X0.js";
27
- import "./errors-CCOle-CH.js";
28
- import "./fs-safe-DpdLT3fB.js";
29
- import "./proxy-env-DbK61KfJ.js";
30
- import "./store-CYs-lya8.js";
17
+ import "./redact-CteA3IBL.js";
18
+ import "./command-queue-DiOM6aJb.js";
19
+ import "./send-Owye3CdT.js";
20
+ import "./image-ops-d6AhYSNh.js";
21
+ import "./pi-model-discovery-BHTeo1nC.js";
22
+ import "./chat-content-CjKyPXfO.js";
23
+ import "./chrome-C9hAxf3E.js";
24
+ import "./frontmatter-IfoWyoLV.js";
25
+ import "./skills-BNWKnQc8.js";
26
+ import "./path-alias-guards-BzCkdlOk.js";
27
+ import "./errors-h4QgDEJU.js";
28
+ import "./fs-safe-joAzTKB9.js";
29
+ import "./proxy-env-D-BYfN9f.js";
30
+ import "./store-BkbDrlDX.js";
31
31
  import "./thinking-CcoiS9V4.js";
32
- import "./models-config-D7vsT5RL.js";
33
- import "./audio-transcription-runner-DO37G4ea.js";
34
- import "./pi-embedded-utils-C-iiawNt.js";
35
- import "./provider-image-DEcMOAkN.js";
36
- import "./fetch-CJta9EH3.js";
37
- import "./fetch-guard-CnaMeBGo.js";
38
- import "./proxy-fetch-DfICXirF.js";
39
- import "./api-key-rotation-CFBqEjJo.js";
40
- import "./reply-prefix-JmOFNTVH.js";
41
- import "./chunk-BGAIfwvG.js";
42
- import "./markdown-tables-BVgH365V.js";
43
- import "./ir-BdHn6F6Y.js";
32
+ import "./models-config-CrYtS7l_.js";
33
+ import "./audio-transcription-runner-CBRRwnRT.js";
34
+ import "./pi-embedded-utils-Bu-pLHgt.js";
35
+ import "./provider-image-BoLaTMGA.js";
36
+ import "./fetch-BkWHUyJz.js";
37
+ import "./fetch-guard-BUJnD_0T.js";
38
+ import "./proxy-fetch-SAeVJOzX.js";
39
+ import "./api-key-rotation-C7Uer3wX.js";
40
+ import "./reply-prefix-B4-hQLj2.js";
41
+ import "./chunk-CmQRdRrT.js";
42
+ import "./markdown-tables-pw9wiTpN.js";
43
+ import "./ir-B0cUtyev.js";
44
44
  import "./render-2Ztmr_V0.js";
45
- import "./commands-registry-CHyanyMK.js";
46
- import "./user-run-recording-Dr98Mjnd.js";
47
- import "./recorder-DsunFllM.js";
48
- import "./agent-turn-runner-D17nO0vK.js";
49
- import "./skill-commands-XRDXSro6.js";
50
- import "./runs-CYEm5TJX.js";
51
- import "./outbound-message-hooks-BYTh0d2Q.js";
52
- import "./deliver-B1z53DPr.js";
45
+ import "./commands-registry-Bpqy7T_m.js";
46
+ import "./user-run-recording-CMwTVvoc.js";
47
+ import "./recorder-9g0HAfTV.js";
48
+ import "./agent-turn-runner-DGW1XTSZ.js";
49
+ import "./skill-commands-DyocWgx1.js";
50
+ import "./runs-n_IyEnjI.js";
51
+ import "./outbound-message-hooks-BA0MXlRL.js";
52
+ import "./deliver-hdhBsluU.js";
53
53
  import "./fetch-BVyUaG_D.js";
54
- import "./channel-activity-osbmoIZV.js";
55
- import "./tables-BbGV4Ys1.js";
56
- import "./reply-directives-mulrKdb0.js";
57
- import "./send-Bcmcrt2M.js";
58
- import "./outbound-attachment-C_QOYkXN.js";
59
- import "./send-CaxLshmb.js";
60
- import "./resolve-route-5h1UlQhK.js";
61
- import "./proxy-DaAwoyLn.js";
62
- import "./replies-pB9HCyld.js";
63
- import "./session-meta-CmQ6a7H5.js";
64
- import "./manager-xwMosvyt.js";
65
- import "./query-expansion-D98bVcfg.js";
54
+ import "./channel-activity-CgARXGuN.js";
55
+ import "./tables-B_gp2rXG.js";
56
+ import "./reply-directives-DBlsFghT.js";
57
+ import "./send-BaBji8OV.js";
58
+ import "./outbound-attachment-ecpn937X.js";
59
+ import "./send-Blzch_-J.js";
60
+ import "./resolve-route-BVQQmyE-.js";
61
+ import "./proxy-CPi-EHQf.js";
62
+ import "./replies-BbIj7g9M.js";
63
+ import "./session-meta-n_Hhzi0B.js";
64
+ import "./manager-SEkHJEk4.js";
65
+ import "./query-expansion-Cfj6kuQN.js";
66
66
 
67
67
  //#region src/hooks/llm-slug-generator.ts
68
68
  /**
@@ -1,4 +1,4 @@
1
- import { d as info, g as warn, o as defaultRuntime, p as logVerboseConsole, t as createSubsystemLogger, u as danger, x as getLogger } from "./subsystem-Bv4j-uIg.js";
1
+ import { d as info, g as warn, o as defaultRuntime, p as logVerboseConsole, t as createSubsystemLogger, u as danger, x as getLogger } from "./subsystem-D_zHSy02.js";
2
2
 
3
3
  //#region src/logger.ts
4
4
  const subsystemPrefixRe = /^([a-z][a-z0-9-]{1,20}):\s+(.*)$/i;
@@ -1,18 +1,18 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, r as resolveAgentConfig } from "./agent-scope-DaYoimRo.js";
3
- import { l as resolveStateDir } from "./paths-BIDPYPVC.js";
4
- import { $ as clampNumber, Q as clampInt, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-Bv4j-uIg.js";
5
- import { A as requireApiKey, Hn as resolveSessionTranscriptsDirForAgent, M as resolveEnvApiKey, Ta as normalizeResolvedSecretInputString, U as loadConfig, ca as isTruthyEnvValue, j as resolveApiKeyForProvider, x as retryAsync, xa as normalizeOptionalSecretInput } from "./model-selection-CYypdqr8.js";
2
+ import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, r as resolveAgentConfig } from "./agent-scope-VTjBKG-0.js";
3
+ import { l as resolveStateDir } from "./paths-B_gs59ga.js";
4
+ import { $ as clampNumber, Q as clampInt, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-D_zHSy02.js";
5
+ import { A as requireApiKey, Hn as resolveSessionTranscriptsDirForAgent, M as resolveEnvApiKey, Ta as normalizeResolvedSecretInputString, U as loadConfig, ca as isTruthyEnvValue, j as resolveApiKeyForProvider, x as retryAsync, xa as normalizeOptionalSecretInput } from "./model-selection-BTxcwzNF.js";
6
6
  import { n as onSessionTranscriptUpdate } from "./transcript-events-C9cNWasT.js";
7
- import { i as formatErrorMessage } from "./errors-CCOle-CH.js";
7
+ import { i as formatErrorMessage } from "./errors-h4QgDEJU.js";
8
8
  import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-Cj-XaaTu.js";
9
- import { t as fetchWithSsrFGuard } from "./fetch-guard-CnaMeBGo.js";
10
- import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CFBqEjJo.js";
11
- import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-D98bVcfg.js";
9
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-BUJnD_0T.js";
10
+ import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-C7Uer3wX.js";
11
+ import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-Cfj6kuQN.js";
12
12
  import path from "node:path";
13
- import fs from "node:fs";
13
+ import syncFs from "node:fs";
14
14
  import os from "node:os";
15
- import fs$1 from "node:fs/promises";
15
+ import fs from "node:fs/promises";
16
16
  import { randomUUID } from "node:crypto";
17
17
  import chokidar from "chokidar";
18
18
  import { createInterface } from "node:readline";
@@ -748,7 +748,7 @@ function canAutoSelectLocal(options) {
748
748
  if (/^(hf:|https?:)/i.test(modelPath)) return false;
749
749
  const resolved = resolveUserPath(modelPath);
750
750
  try {
751
- return fs.statSync(resolved).isFile();
751
+ return syncFs.statSync(resolved).isFile();
752
752
  } catch {
753
753
  return false;
754
754
  }
@@ -1076,7 +1076,7 @@ async function extractTimestamp(params) {
1076
1076
  if (!params.workspaceDir) return null;
1077
1077
  const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
1078
1078
  try {
1079
- const stat = await fs$1.stat(absolutePath);
1079
+ const stat = await fs.stat(absolutePath);
1080
1080
  if (!Number.isFinite(stat.mtimeMs)) return null;
1081
1081
  return new Date(stat.mtimeMs);
1082
1082
  } catch {
@@ -2247,7 +2247,7 @@ var MemoryManagerSyncOps = class {
2247
2247
  const source = `${sourceBase}${suffix}`;
2248
2248
  const target = `${targetBase}${suffix}`;
2249
2249
  try {
2250
- await fs$1.rename(source, target);
2250
+ await fs.rename(source, target);
2251
2251
  } catch (err) {
2252
2252
  if (err.code !== "ENOENT") throw err;
2253
2253
  }
@@ -2258,7 +2258,7 @@ var MemoryManagerSyncOps = class {
2258
2258
  "",
2259
2259
  "-wal",
2260
2260
  "-shm"
2261
- ].map((suffix) => fs$1.rm(`${basePath}${suffix}`, { force: true })));
2261
+ ].map((suffix) => fs.rm(`${basePath}${suffix}`, { force: true })));
2262
2262
  }
2263
2263
  ensureSchema() {
2264
2264
  const result = ensureMemoryIndexSchema({
@@ -2282,7 +2282,7 @@ var MemoryManagerSyncOps = class {
2282
2282
  ]);
2283
2283
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
2284
2284
  for (const entry of additionalPaths) try {
2285
- const stat = fs.lstatSync(entry);
2285
+ const stat = syncFs.lstatSync(entry);
2286
2286
  if (stat.isSymbolicLink()) continue;
2287
2287
  if (stat.isDirectory()) {
2288
2288
  watchPaths.add(path.join(entry, "**", "*.md"));
@@ -3305,7 +3305,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
3305
3305
  });
3306
3306
  return;
3307
3307
  }
3308
- const content = options.content ?? ("absPath" in entry ? await fs$1.readFile(entry.absPath, "utf-8") : void 0);
3308
+ const content = options.content ?? ("absPath" in entry ? await fs.readFile(entry.absPath, "utf-8") : void 0);
3309
3309
  if (content === void 0) throw new Error(`memory index: session source ${entry.path} produced no content`);
3310
3310
  const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
3311
3311
  if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
@@ -3745,7 +3745,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3745
3745
  if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
3746
3746
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
3747
3747
  for (const additionalPath of additionalPaths) try {
3748
- const stat = await fs$1.lstat(additionalPath);
3748
+ const stat = await fs.lstat(additionalPath);
3749
3749
  if (stat.isSymbolicLink()) continue;
3750
3750
  if (stat.isDirectory()) {
3751
3751
  if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
@@ -3770,7 +3770,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3770
3770
  };
3771
3771
  let content;
3772
3772
  try {
3773
- content = await fs$1.readFile(absPath, "utf-8");
3773
+ content = await fs.readFile(absPath, "utf-8");
3774
3774
  } catch (err) {
3775
3775
  if (isFileMissingError(err)) return {
3776
3776
  text: "",
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { V as normalizeAccountId } from "./workspace-yHh5Lf7Z.js";
3
- import { Jn as normalizeChannelId, kr as resolveAccountEntry } from "./model-selection-CYypdqr8.js";
2
+ import { V as normalizeAccountId } from "./workspace-CkXKTYV4.js";
3
+ import { Jn as normalizeChannelId, kr as resolveAccountEntry } from "./model-selection-BTxcwzNF.js";
4
4
 
5
5
  //#region src/config/markdown-tables.ts
6
6
  var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });