@symerian/symi 2.6.30 → 2.6.32

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 (175) hide show
  1. package/dist/{accounts-dRUMQQrB.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-D1r2dq1t.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-wSphH5gv.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{active-listener-DFUTUjxt.js → active-listener-CfHHV2SU.js} +1 -1
  5. package/dist/{agent-scope-D68_xfTL.js → agent-scope-CpEJ0B88.js} +3 -3
  6. package/dist/{agents-F62kqpkn.js → agents-BIAaMNSb.js} +4 -4
  7. package/dist/{agents.config-CQ90zDyI.js → agents.config-BDtgUDFp.js} +1 -1
  8. package/dist/{agents.config-Bra6UznM.js → agents.config-BKjYekzK.js} +1 -1
  9. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  10. package/dist/{audio-preflight-Bdbm4htn.js → audio-preflight-DHTaS5U1.js} +29 -29
  11. package/dist/{auth-choice-X1P4E-3Z.js → auth-choice-C7BrC95t.js} +1 -1
  12. package/dist/{auth-choice-D1uIw27C.js → auth-choice-Cw2rldnf.js} +1 -1
  13. package/dist/{auth-profiles-Bl9aU7fc.js → auth-profiles-DdK1Hxaa.js} +17 -17
  14. package/dist/{banner-BabW0wLs.js → banner-DCF8IifK.js} +1 -1
  15. package/dist/{bindings-Bat2RnAR.js → bindings-BsHoBLIE.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +53 -53
  18. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  19. package/dist/bundled/command-logger/handler.js +1 -1
  20. package/dist/bundled/session-memory/handler.js +53 -53
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-DK0AV-r9.js → channel-activity-B6G1jnQT.js} +1 -1
  23. package/dist/{channel-options-CX-LE2dk.js → channel-options-BaC3G5sc.js} +1 -1
  24. package/dist/{channel-options-C64unDdQ.js → channel-options-DHSRuD2s.js} +1 -1
  25. package/dist/{channel-web-GzdyP40j.js → channel-web-YXrZZHRE.js} +1 -1
  26. package/dist/{channels-cli-CQrhnixR.js → channels-cli-CfMJGgBp.js} +4 -4
  27. package/dist/{channels-cli-OymBYTkK.js → channels-cli-DODlfOu4.js} +4 -4
  28. package/dist/{chrome-BdQhP7bg.js → chrome-CDJYxX5a.js} +23 -23
  29. package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
  30. package/dist/{chunk-DR8ukp6r.js → chunk-09egQapi.js} +1 -1
  31. package/dist/{cli-zchCoTxI.js → cli-CSlDsUKl.js} +1 -1
  32. package/dist/{cli-C1RjRVMT.js → cli-CVqXnzze.js} +1 -1
  33. package/dist/{command-registry-D9xmmn9v.js → command-registry-ajP42kpE.js} +9 -9
  34. package/dist/{commands-registry-DIakZUZb.js → commands-registry-Bfc7Uz0o.js} +4 -4
  35. package/dist/{completion-cli-CfhJhArh.js → completion-cli-Dui7LK9s.js} +1 -1
  36. package/dist/{completion-cli-CdMbiAwX.js → completion-cli-zokW-yVf.js} +2 -2
  37. package/dist/{config-CvmE3Yx1.js → config-5SdHIcHU.js} +12 -12
  38. package/dist/{config-cli-BWhToRSW.js → config-cli-BjXnB1c7.js} +1 -1
  39. package/dist/{config-cli-De0w9QFu.js → config-cli-BxSBpwuL.js} +1 -1
  40. package/dist/{configure-iCtE2gdv.js → configure-CIFt3G-c.js} +3 -3
  41. package/dist/{configure-DBPxwVXT.js → configure-De-0b4bB.js} +3 -3
  42. package/dist/control-ui/js/models.js +2 -2
  43. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  44. package/dist/{deliver-BD6kFk6p.js → deliver-dODxSv3b.js} +20 -20
  45. package/dist/{diagnostic-spWOtH_g.js → diagnostic-rPhsBoZz.js} +1 -1
  46. package/dist/{doctor-completion-Cuy1NwzL.js → doctor-completion-DaGKVo6p.js} +1 -1
  47. package/dist/{doctor-completion-htc4kMhg.js → doctor-completion-kr-VbXG-.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{env-xmBFQPBP.js → env-BDXYbTKj.js} +1 -1
  50. package/dist/extensionAPI.js +6 -6
  51. package/dist/{frontmatter-CV0YkjoY.js → frontmatter-CTR5f_Ez.js} +2 -2
  52. package/dist/{gateway-cli-DxSUgxx3.js → gateway-cli-7pMi8rn1.js} +9 -9
  53. package/dist/{gateway-cli-pIBNUJhN.js → gateway-cli-DdbomLMt.js} +9 -9
  54. package/dist/{gemini-auth-C6Z-2T42.js → gemini-auth-Dy12ZAH3.js} +1 -1
  55. package/dist/{github-copilot-token-B8B2pmph.js → github-copilot-token-cCYzSU9h.js} +7 -7
  56. package/dist/{glass-ui-ws-B5Iw-tYt.js → glass-ui-ws-vx0iMfPn.js} +7 -7
  57. package/dist/{glass-ui-ws-BVcaUJ4x.js → glass-ui-ws-z-ryIbt7.js} +7 -7
  58. package/dist/{health-qWkLoxz7.js → health-BNxdveY8.js} +1 -1
  59. package/dist/{health-DK1EhshZ.js → health-pFcca1cU.js} +1 -1
  60. package/dist/{hooks-cli-QmJBRt0j.js → hooks-cli-DefzmbZl.js} +2 -2
  61. package/dist/{hooks-cli-Bt_pfMq8.js → hooks-cli-Dqe7WVzD.js} +2 -2
  62. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  63. package/dist/{image-CE0mENPo.js → image-CXu8W39c.js} +4 -4
  64. package/dist/{image-ops-M5agStZn.js → image-ops-C7CauEK8.js} +16 -16
  65. package/dist/index.js +6 -6
  66. package/dist/{ir-B-XXcYFe.js → ir-CTiz95Vb.js} +4 -4
  67. package/dist/llm-slug-generator.js +53 -53
  68. package/dist/{local-roots-CdXg5-Cx.js → local-roots-DhZz0Ybs.js} +5 -5
  69. package/dist/{login-qr-BKIOHn1V.js → login-qr-AP9agO-i.js} +12 -12
  70. package/dist/{login-BHUrERYo.js → login-ul8zaw_S.js} +7 -7
  71. package/dist/{manager-DW3JqFpY.js → manager-PprhCvO_.js} +22 -22
  72. package/dist/{manifest-registry-0J48biqr.js → manifest-registry-yb7sAlu4.js} +19 -19
  73. package/dist/{markdown-tables-tW9bGjLM.js → markdown-tables-C-BmIap8.js} +1 -1
  74. package/dist/{message-channel-DwDSKGn4.js → message-channel-OlFBYAw8.js} +1 -1
  75. package/dist/{models-CBAKijCe.js → models-c9cOxxrP.js} +2 -2
  76. package/dist/{models-cli-CtWHHvR0.js → models-cli-BhOA86hd.js} +3 -3
  77. package/dist/{models-cli-DkNjxGZ8.js → models-cli-Cosjljgg.js} +2 -2
  78. package/dist/{onboard-BmK2-tfb.js → onboard-C4DXGi07.js} +2 -2
  79. package/dist/{onboard-wJCi24zf.js → onboard-Dadg5mWZ.js} +2 -2
  80. package/dist/{onboard-channels-CnNA3U8_.js → onboard-channels-BAEFSSqU.js} +1 -1
  81. package/dist/{onboard-channels-CcoMVcOs.js → onboard-channels-BjUx6cZ7.js} +1 -1
  82. package/dist/{onboarding-GGE9UgcE.js → onboarding-Be8-Muma.js} +3 -3
  83. package/dist/{onboarding-Cs7XncoX.js → onboarding-BesMJD5M.js} +3 -3
  84. package/dist/{onboarding.finalize-BEMefoBu.js → onboarding.finalize-BdFKvepX.js} +6 -6
  85. package/dist/{onboarding.finalize-CawqY9YT.js → onboarding.finalize-Cbo7t2w6.js} +5 -5
  86. package/dist/{outbound-CIVsLpJK.js → outbound-CtMCmwxR.js} +7 -7
  87. package/dist/{outbound-attachment-CHcmlip8.js → outbound-attachment-DJldbweZ.js} +2 -2
  88. package/dist/{paths-DEuVuViW.js → paths-CbQV9WEg.js} +1 -1
  89. package/dist/{pi-auth-json-BYuCWAs0.js → pi-auth-json-Bk8ERadJ.js} +8 -8
  90. package/dist/{pi-embedded-eCY-k0yS.js → pi-embedded-CziuxRtW.js} +19 -19
  91. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  92. package/dist/{pi-embedded-helpers-Pnxzi8V5.js → pi-embedded-helpers-pubKo8HQ.js} +73 -73
  93. package/dist/{plugin-registry-C-RHl6z7.js → plugin-registry-BkFixq63.js} +1 -1
  94. package/dist/{plugin-registry-BqSezGzv.js → plugin-registry-Ls_YGsWz.js} +1 -1
  95. package/dist/plugin-sdk/{channel-web-BOFr3AaP.js → channel-web-D4P9MkFu.js} +1 -1
  96. package/dist/plugin-sdk/index.js +2 -2
  97. package/dist/plugin-sdk/{reply-B7rSYofo.js → reply-BVs4oalQ.js} +5 -5
  98. package/dist/plugin-sdk/{web-iaHlqNQD.js → web-DiQTcviv.js} +2 -2
  99. package/dist/{plugins-Bkr5ZdYs.js → plugins-BzmbgY7s.js} +9 -9
  100. package/dist/{plugins-cli-D5l8DCUo.js → plugins-cli-CJLJsr_L.js} +2 -2
  101. package/dist/{plugins-cli-DIKVN1j-.js → plugins-cli-DXiakDnC.js} +2 -2
  102. package/dist/{program-DKp_gWvH.js → program-CqxmOFY5.js} +7 -7
  103. package/dist/{program-context-CJO5zWl7.js → program-context-CWoc-4O6.js} +17 -17
  104. package/dist/{prompt-select-styled-Drbf4MLf.js → prompt-select-styled-C5YCowXp.js} +4 -4
  105. package/dist/{prompt-select-styled-CuDVrio_.js → prompt-select-styled-DKTE77Rw.js} +4 -4
  106. package/dist/{provider-auth-helpers-ku70HLId.js → provider-auth-helpers-B_Rtgt-w.js} +1 -1
  107. package/dist/{provider-auth-helpers-D0JrH_QE.js → provider-auth-helpers-Bi5oeREh.js} +1 -1
  108. package/dist/{push-apns-DZvXSHuB.js → push-apns-Bmd6SdxC.js} +1 -1
  109. package/dist/{push-apns-DWLiMsGQ.js → push-apns-BzIW-JHE.js} +1 -1
  110. package/dist/{pw-ai-BA-fJnJc.js → pw-ai-B5asscAD.js} +11 -11
  111. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  112. package/dist/{qmd-manager-BKu9rOuB.js → qmd-manager-iDLSiI4Z.js} +7 -7
  113. package/dist/{register.agent-CW-Jt26a.js → register.agent-Vc2Bu3J4.js} +5 -5
  114. package/dist/{register.agent-Dr-AvNVj.js → register.agent-kKtKgmcO.js} +6 -6
  115. package/dist/{register.configure-D3_5DZTq.js → register.configure-BnNPTLBI.js} +6 -6
  116. package/dist/{register.configure-CPykN4LB.js → register.configure-D-o-geWg.js} +6 -6
  117. package/dist/{register.maintenance-BOxfAudK.js → register.maintenance-BhhUMTAr.js} +7 -7
  118. package/dist/{register.maintenance-BValTiSe.js → register.maintenance-Ea70NNls.js} +8 -8
  119. package/dist/{register.message-lbfcALgz.js → register.message-C9zVQOWl.js} +2 -2
  120. package/dist/{register.message-BzVaP85q.js → register.message-CdCHhVND.js} +2 -2
  121. package/dist/{register.onboard-B_CORRMq.js → register.onboard-1HGg8A_B.js} +4 -4
  122. package/dist/{register.onboard-CxhJjGFr.js → register.onboard-CbGEztLT.js} +4 -4
  123. package/dist/{register.setup-DeT-WyJj.js → register.setup-8LYTLZMG.js} +4 -4
  124. package/dist/{register.setup-CYeKu0ru.js → register.setup-BRKstpuL.js} +4 -4
  125. package/dist/{register.status-health-sessions-BrNEfd3r.js → register.status-health-sessions-BLA4yUC4.js} +3 -3
  126. package/dist/{register.status-health-sessions-CYwrV6QO.js → register.status-health-sessions-BtGRpngz.js} +3 -3
  127. package/dist/{register.subclis-BCcY1GJC.js → register.subclis-FAdASegj.js} +9 -9
  128. package/dist/{registry-UkL38jvt.js → registry-DYq1AYOv.js} +17 -17
  129. package/dist/{replies-mfnbLu2p.js → replies-LSmuwOhA.js} +3 -3
  130. package/dist/{reply-BNLTgD0A.js → reply-C68F3IMq.js} +5 -5
  131. package/dist/{reply-prefix-DkGsdyBm.js → reply-prefix-DpqZu44Z.js} +1 -1
  132. package/dist/{resolve-route-q8AFnU5c.js → resolve-route-C4_I4GFI.js} +4 -4
  133. package/dist/{retry-CqMeDhyp.js → retry-BBVXkKBV.js} +1 -1
  134. package/dist/{run-main-BVSVpxZ3.js → run-main-DqKSUzps.js} +14 -14
  135. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  136. package/dist/{runner-BnAUcMiq.js → runner-WAG0M5s9.js} +22 -22
  137. package/dist/{send-Cd81AY_Z.js → send-CQAKg_12.js} +7 -7
  138. package/dist/{send-qItpAHcI.js → send-CVMyYPQw.js} +6 -6
  139. package/dist/{send-D3zDmQim.js → send-CvhXrdgS.js} +10 -10
  140. package/dist/{send-XRUYukww.js → send-DAN9hA5h.js} +6 -6
  141. package/dist/{send-B7z8CDbr.js → send-DYj_o4_F.js} +18 -18
  142. package/dist/{server-methods-BhRjuKEM.js → server-methods-B4IR7jcD.js} +7 -7
  143. package/dist/{server-methods-BYcfPp30.js → server-methods-n5oCz2e0.js} +7 -7
  144. package/dist/{server-node-events-BEzZn2VI.js → server-node-events---jWWBKN.js} +2 -2
  145. package/dist/{server-node-events-BsPi-QDx.js → server-node-events-C3hHerD3.js} +2 -2
  146. package/dist/{session-Dh2wWQkD.js → session-DSU1vxxi.js} +8 -8
  147. package/dist/{skill-commands-B_f8uGi7.js → skill-commands-DcVwOafC.js} +16 -16
  148. package/dist/{skills-CGHRETGF.js → skills-Bs0AW1g3.js} +24 -24
  149. package/dist/{sqlite-Bv87EXeg.js → sqlite-D_mz1_-y.js} +16 -16
  150. package/dist/{status-BZgA_AUW.js → status-8CbQSAEF.js} +1 -1
  151. package/dist/{status-C7VswIJF.js → status-ClvXAaHZ.js} +1 -1
  152. package/dist/{status-BB7l5YGy.js → status-CwhHbhUv.js} +2 -2
  153. package/dist/{status-D9MVzUtM.js → status-ITRlj7e_.js} +2 -2
  154. package/dist/{store-Ea3zM6xK.js → store-01F_JM7O.js} +6 -6
  155. package/dist/{subagent-registry-CT87UyVy.js → subagent-registry-BXI3DyAX.js} +5 -5
  156. package/dist/{subsystem-DN75fnEF.js → subsystem-BjyjJF-d.js} +1 -1
  157. package/dist/{tables-BX7_aBvN.js → tables-qMwbq29u.js} +1 -1
  158. package/dist/{target-errors-7KhTCTdS.js → target-errors-Bbr9rlzN.js} +2 -2
  159. package/dist/{thinking-C9-JAUzD.js → thinking-BprCy23Z.js} +5 -5
  160. package/dist/{tokens-BZGy4v--.js → tokens-Bux9Y_xD.js} +1 -1
  161. package/dist/{tool-images-B1qVCntj.js → tool-images-SqqWIT22.js} +2 -2
  162. package/dist/{tool-loop-detection-C8FBZVVx.js → tool-loop-detection-DR_rrIA1.js} +3 -3
  163. package/dist/{unified-runner-LSPKHmvx.js → unified-runner-Dy2eq7ZO.js} +223 -223
  164. package/dist/{update-cli-DEbsukOW.js → update-cli-0aSAmmmj.js} +8 -8
  165. package/dist/{update-cli-Dyg_WetV.js → update-cli-CfKfjAnO.js} +7 -7
  166. package/dist/{update-runner-3-pTGczW.js → update-runner-C17bqGvO.js} +1 -1
  167. package/dist/{update-runner-DYuIPErv.js → update-runner-e_ChofHM.js} +1 -1
  168. package/dist/{web-Bu_faeV-.js → web-BTiGD3po.js} +6 -6
  169. package/dist/{web-DyvSF1Pu.js → web-CP9nUIj0.js} +57 -57
  170. package/dist/{web-Q47zU0qb.js → web-Cih6rPbV.js} +2 -2
  171. package/dist/{web-CB7FYstW.js → web-Dr9gUjHz.js} +1 -1
  172. package/dist/{whatsapp-actions-SXenaJIn.js → whatsapp-actions-BIeSWsCF.js} +23 -23
  173. package/dist/{workspace-DqJ5h-ZB.js → workspace-DscDraUb.js} +27 -27
  174. package/package.json +1 -1
  175. package/dist/paths-CYmyCDsE.js +0 -212
@@ -1,8 +1,8 @@
1
- import { _ as runExec } from "./workspace-DqJ5h-ZB.js";
1
+ import { _ as runExec } from "./workspace-DscDraUb.js";
2
2
  import path from "node:path";
3
3
  import { constants } from "node:fs";
4
4
  import os from "node:os";
5
- import fs from "node:fs/promises";
5
+ import fs$1 from "node:fs/promises";
6
6
  import { fileTypeFromBuffer } from "file-type";
7
7
 
8
8
  //#region src/infra/fs-safe.ts
@@ -23,19 +23,19 @@ const isSymlinkOpenError = (err) => isNodeError(err) && (err.code === "ELOOP" ||
23
23
  async function openVerifiedLocalFile(filePath) {
24
24
  let handle;
25
25
  try {
26
- handle = await fs.open(filePath, OPEN_READ_FLAGS);
26
+ handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
27
27
  } catch (err) {
28
28
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "file not found");
29
29
  if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
30
30
  throw err;
31
31
  }
32
32
  try {
33
- const [stat, lstat] = await Promise.all([handle.stat(), fs.lstat(filePath)]);
33
+ const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
34
34
  if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
35
35
  if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
36
36
  if (stat.ino !== lstat.ino || stat.dev !== lstat.dev) throw new SafeOpenError("path-mismatch", "path changed during read");
37
- const realPath = await fs.realpath(filePath);
38
- const realStat = await fs.stat(realPath);
37
+ const realPath = await fs$1.realpath(filePath);
38
+ const realStat = await fs$1.stat(realPath);
39
39
  if (stat.ino !== realStat.ino || stat.dev !== realStat.dev) throw new SafeOpenError("path-mismatch", "path mismatch");
40
40
  return {
41
41
  handle,
@@ -52,7 +52,7 @@ async function openVerifiedLocalFile(filePath) {
52
52
  async function openFileWithinRoot(params) {
53
53
  let rootReal;
54
54
  try {
55
- rootReal = await fs.realpath(params.rootDir);
55
+ rootReal = await fs$1.realpath(params.rootDir);
56
56
  } catch (err) {
57
57
  if (isNotFoundError(err)) throw new SafeOpenError("not-found", "root dir not found");
58
58
  throw err;
@@ -321,11 +321,11 @@ function readJpegExifOrientation(buffer) {
321
321
  return null;
322
322
  }
323
323
  async function withTempDir(fn) {
324
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
324
+ const dir = await fs$1.mkdtemp(path.join(os.tmpdir(), "symi-img-"));
325
325
  try {
326
326
  return await fn(dir);
327
327
  } finally {
328
- await fs.rm(dir, {
328
+ await fs$1.rm(dir, {
329
329
  recursive: true,
330
330
  force: true
331
331
  }).catch(() => {});
@@ -334,7 +334,7 @@ async function withTempDir(fn) {
334
334
  async function sipsMetadataFromBuffer(buffer) {
335
335
  return await withTempDir(async (dir) => {
336
336
  const input = path.join(dir, "in.img");
337
- await fs.writeFile(input, buffer);
337
+ await fs$1.writeFile(input, buffer);
338
338
  const { stdout } = await runExec("/usr/bin/sips", [
339
339
  "-g",
340
340
  "pixelWidth",
@@ -362,7 +362,7 @@ async function sipsResizeToJpeg(params) {
362
362
  return await withTempDir(async (dir) => {
363
363
  const input = path.join(dir, "in.img");
364
364
  const output = path.join(dir, "out.jpg");
365
- await fs.writeFile(input, params.buffer);
365
+ await fs$1.writeFile(input, params.buffer);
366
366
  await runExec("/usr/bin/sips", [
367
367
  "-Z",
368
368
  String(Math.max(1, Math.round(params.maxSide))),
@@ -379,14 +379,14 @@ async function sipsResizeToJpeg(params) {
379
379
  timeoutMs: 2e4,
380
380
  maxBuffer: 1024 * 1024
381
381
  });
382
- return await fs.readFile(output);
382
+ return await fs$1.readFile(output);
383
383
  });
384
384
  }
385
385
  async function sipsConvertToJpeg(buffer) {
386
386
  return await withTempDir(async (dir) => {
387
387
  const input = path.join(dir, "in.heic");
388
388
  const output = path.join(dir, "out.jpg");
389
- await fs.writeFile(input, buffer);
389
+ await fs$1.writeFile(input, buffer);
390
390
  await runExec("/usr/bin/sips", [
391
391
  "-s",
392
392
  "format",
@@ -398,7 +398,7 @@ async function sipsConvertToJpeg(buffer) {
398
398
  timeoutMs: 2e4,
399
399
  maxBuffer: 1024 * 1024
400
400
  });
401
- return await fs.readFile(output);
401
+ return await fs$1.readFile(output);
402
402
  });
403
403
  }
404
404
  async function getImageMetadata(buffer) {
@@ -449,7 +449,7 @@ async function sipsApplyOrientation(buffer, orientation) {
449
449
  return await withTempDir(async (dir) => {
450
450
  const input = path.join(dir, "in.jpg");
451
451
  const output = path.join(dir, "out.jpg");
452
- await fs.writeFile(input, buffer);
452
+ await fs$1.writeFile(input, buffer);
453
453
  await runExec("/usr/bin/sips", [
454
454
  ...ops,
455
455
  input,
@@ -459,7 +459,7 @@ async function sipsApplyOrientation(buffer, orientation) {
459
459
  timeoutMs: 2e4,
460
460
  maxBuffer: 1024 * 1024
461
461
  });
462
- return await fs.readFile(output);
462
+ return await fs$1.readFile(output);
463
463
  });
464
464
  }
465
465
  async function resizeToJpeg(params) {
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import "./paths-Cqn-zk3M.js";
3
3
  import { B as theme, P as setVerbose, T as toWhatsappJid, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-B-0b9bGM.js";
4
4
  import "./thinking-EAliFiVK.js";
5
- import { Lt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-BNLTgD0A.js";
5
+ import { Lt as createDefaultDeps, bt as resolveCommitHash, t as getReplyFromConfig } from "./reply-C68F3IMq.js";
6
6
  import "./registry-Cja8eT7G.js";
7
7
  import { f as defaultRuntime, r as enableConsoleCapture, u as visibleWidth } from "./subsystem-D9vIQve0.js";
8
8
  import { n as runExec, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
@@ -103,7 +103,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
103
103
  import "./control-service-Bz7rxLWq.js";
104
104
  import "./stagger-BUClb97_.js";
105
105
  import "./channel-selection-DuWs0Aak.js";
106
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-GzdyP40j.js";
106
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-YXrZZHRE.js";
107
107
  import "./outbound-DB5Zus0-.js";
108
108
  import "./session-DIBTkyvE.js";
109
109
  import "./login-dIlDkG4X.js";
@@ -112,10 +112,10 @@ import { t as ensureSymiCliOnPath } from "./path-env-MnzRq6nD.js";
112
112
  import { t as assertSupportedRuntime } from "./runtime-guard-B37eizu-.js";
113
113
  import "./ports-BX0kKI0g.js";
114
114
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-C6ovOie2.js";
115
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-CJO5zWl7.js";
115
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-CWoc-4O6.js";
116
116
  import "./catalog-RiADx7MA.js";
117
- import "./plugin-registry-BqSezGzv.js";
118
- import { n as resolveCliChannelOptions } from "./channel-options-CX-LE2dk.js";
117
+ import "./plugin-registry-Ls_YGsWz.js";
118
+ import { n as resolveCliChannelOptions } from "./channel-options-BaC3G5sc.js";
119
119
  import process$1 from "node:process";
120
120
  import { fileURLToPath } from "node:url";
121
121
  import { Command } from "commander";
@@ -515,7 +515,7 @@ function registerPreActionHooks(program, programVersion) {
515
515
  commandPath
516
516
  });
517
517
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
518
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BqSezGzv.js").then((n) => n.n);
518
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-Ls_YGsWz.js").then((n) => n.n);
519
519
  ensurePluginRegistryLoaded();
520
520
  }
521
521
  });
@@ -1,7 +1,7 @@
1
- import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-UkL38jvt.js";
2
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime, x as readLocalFileSafely, y as SafeOpenError } from "./image-ops-M5agStZn.js";
3
- import { a as chunkText } from "./chunk-DR8ukp6r.js";
4
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-CdXg5-Cx.js";
1
+ import { I as resolveUserPath, J as logVerbose, Z as shouldLogVerbose } from "./registry-DYq1AYOv.js";
2
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime, x as readLocalFileSafely, y as SafeOpenError } from "./image-ops-C7CauEK8.js";
3
+ import { a as chunkText } from "./chunk-09egQapi.js";
4
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs/promises";
7
7
  import { fileURLToPath } from "node:url";
@@ -1,65 +1,65 @@
1
- import "./paths-CYmyCDsE.js";
2
- import "./registry-UkL38jvt.js";
3
- import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-D68_xfTL.js";
4
- import "./subsystem-DN75fnEF.js";
5
- import "./workspace-DqJ5h-ZB.js";
6
- import { t as runAgentTurn } from "./unified-runner-LSPKHmvx.js";
7
- import "./paths-DEuVuViW.js";
8
- import "./auth-profiles-Bl9aU7fc.js";
9
- import "./env-xmBFQPBP.js";
10
- import "./github-copilot-token-B8B2pmph.js";
1
+ import "./paths-CE7eVGHg.js";
2
+ import "./registry-DYq1AYOv.js";
3
+ import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-CpEJ0B88.js";
4
+ import "./subsystem-BjyjJF-d.js";
5
+ import "./workspace-DscDraUb.js";
6
+ import { t as runAgentTurn } from "./unified-runner-Dy2eq7ZO.js";
7
+ import "./paths-CbQV9WEg.js";
8
+ import "./auth-profiles-DdK1Hxaa.js";
9
+ import "./env-BDXYbTKj.js";
10
+ import "./github-copilot-token-cCYzSU9h.js";
11
11
  import "./boolean-CE7i9tBR.js";
12
- import "./pi-embedded-helpers-Pnxzi8V5.js";
13
- import "./config-CvmE3Yx1.js";
14
- import "./manifest-registry-0J48biqr.js";
15
- import "./chrome-BdQhP7bg.js";
16
- import "./frontmatter-CV0YkjoY.js";
17
- import "./skills-CGHRETGF.js";
12
+ import "./pi-embedded-helpers-pubKo8HQ.js";
13
+ import "./config-5SdHIcHU.js";
14
+ import "./manifest-registry-yb7sAlu4.js";
15
+ import "./chrome-DYZwl5Gv.js";
16
+ import "./frontmatter-CTR5f_Ez.js";
17
+ import "./skills-Bs0AW1g3.js";
18
18
  import "./redact-BDMXB06K.js";
19
19
  import "./errors-XIsvXeC-.js";
20
- import "./image-ops-M5agStZn.js";
20
+ import "./image-ops-C7CauEK8.js";
21
21
  import "./ssrf-DpUUUgkK.js";
22
- import "./store-Ea3zM6xK.js";
23
- import "./thinking-C9-JAUzD.js";
24
- import "./message-channel-DwDSKGn4.js";
25
- import "./plugins-Bkr5ZdYs.js";
26
- import "./accounts-D1r2dq1t.js";
27
- import "./accounts-dRUMQQrB.js";
28
- import "./accounts-wSphH5gv.js";
29
- import "./bindings-Bat2RnAR.js";
30
- import "./send-qItpAHcI.js";
31
- import "./send-D3zDmQim.js";
32
- import "./tool-images-B1qVCntj.js";
33
- import "./deliver-BD6kFk6p.js";
34
- import "./diagnostic-spWOtH_g.js";
22
+ import "./store-01F_JM7O.js";
23
+ import "./thinking-BprCy23Z.js";
24
+ import "./message-channel-OlFBYAw8.js";
25
+ import "./plugins-BzmbgY7s.js";
26
+ import "./accounts-BRw8yhIW.js";
27
+ import "./accounts-3dCrO3oZ.js";
28
+ import "./accounts-BuZxOb3B.js";
29
+ import "./bindings-BsHoBLIE.js";
30
+ import "./send-CVMyYPQw.js";
31
+ import "./send-CvhXrdgS.js";
32
+ import "./tool-images-SqqWIT22.js";
33
+ import "./deliver-dODxSv3b.js";
34
+ import "./diagnostic-rPhsBoZz.js";
35
35
  import "./diagnostic-session-state-Zw87xFym.js";
36
- import "./image-CE0mENPo.js";
37
- import "./tokens-BZGy4v--.js";
38
- import "./send-B7z8CDbr.js";
36
+ import "./image-CXu8W39c.js";
37
+ import "./tokens-Bux9Y_xD.js";
38
+ import "./send-DYj_o4_F.js";
39
39
  import "./pi-model-discovery-Bv5YDJc8.js";
40
- import "./reply-prefix-DkGsdyBm.js";
41
- import "./manager-DW3JqFpY.js";
42
- import "./gemini-auth-C6Z-2T42.js";
43
- import "./sqlite-Bv87EXeg.js";
44
- import "./retry-CqMeDhyp.js";
45
- import "./target-errors-7KhTCTdS.js";
46
- import "./chunk-DR8ukp6r.js";
47
- import "./markdown-tables-tW9bGjLM.js";
48
- import "./local-roots-CdXg5-Cx.js";
49
- import "./ir-B-XXcYFe.js";
40
+ import "./reply-prefix-DpqZu44Z.js";
41
+ import "./manager-PprhCvO_.js";
42
+ import "./gemini-auth-Dy12ZAH3.js";
43
+ import "./sqlite-D_mz1_-y.js";
44
+ import "./retry-BBVXkKBV.js";
45
+ import "./target-errors-Bbr9rlzN.js";
46
+ import "./chunk-09egQapi.js";
47
+ import "./markdown-tables-C-BmIap8.js";
48
+ import "./local-roots-DhZz0Ybs.js";
49
+ import "./ir-CTiz95Vb.js";
50
50
  import "./render-CDCvpfhh.js";
51
- import "./commands-registry-DIakZUZb.js";
52
- import "./runner-BnAUcMiq.js";
53
- import "./skill-commands-B_f8uGi7.js";
51
+ import "./commands-registry-Bfc7Uz0o.js";
52
+ import "./runner-WAG0M5s9.js";
53
+ import "./skill-commands-DcVwOafC.js";
54
54
  import "./fetch-Bso4i15F.js";
55
- import "./channel-activity-DK0AV-r9.js";
56
- import "./tables-BX7_aBvN.js";
57
- import "./send-XRUYukww.js";
58
- import "./outbound-attachment-CHcmlip8.js";
59
- import "./send-Cd81AY_Z.js";
60
- import "./resolve-route-q8AFnU5c.js";
55
+ import "./channel-activity-B6G1jnQT.js";
56
+ import "./tables-qMwbq29u.js";
57
+ import "./send-DAN9hA5h.js";
58
+ import "./outbound-attachment-DJldbweZ.js";
59
+ import "./send-CQAKg_12.js";
60
+ import "./resolve-route-C4_I4GFI.js";
61
61
  import "./proxy-CBJ1upuz.js";
62
- import "./replies-mfnbLu2p.js";
62
+ import "./replies-LSmuwOhA.js";
63
63
 
64
64
  //#region src/hooks/llm-slug-generator.ts
65
65
  /**
@@ -1,8 +1,8 @@
1
- import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
2
- import { dt as resolvePreferredSymiTmpDir } from "./registry-UkL38jvt.js";
3
- import { s as resolveAgentWorkspaceDir } from "./agent-scope-D68_xfTL.js";
4
- import { S as logWarn } from "./workspace-DqJ5h-ZB.js";
5
- import { c as detectMime, l as extensionForMime } from "./image-ops-M5agStZn.js";
1
+ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
2
+ import { dt as resolvePreferredSymiTmpDir } from "./registry-DYq1AYOv.js";
3
+ import { s as resolveAgentWorkspaceDir } from "./agent-scope-CpEJ0B88.js";
4
+ import { S as logWarn } from "./workspace-DscDraUb.js";
5
+ import { c as detectMime, l as extensionForMime } from "./image-ops-C7CauEK8.js";
6
6
  import { a as resolvePinnedHostnameWithPolicy, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-DpUUUgkK.js";
7
7
  import { t as bindAbortRelay } from "./fetch-timeout-DL3f_O53.js";
8
8
  import path from "node:path";
@@ -1,16 +1,16 @@
1
- import "./paths-CYmyCDsE.js";
2
- import { G as danger, K as info, Q as success } from "./registry-UkL38jvt.js";
3
- import "./agent-scope-D68_xfTL.js";
4
- import { r as defaultRuntime } from "./subsystem-DN75fnEF.js";
5
- import { x as logInfo } from "./workspace-DqJ5h-ZB.js";
6
- import "./auth-profiles-Bl9aU7fc.js";
7
- import "./env-xmBFQPBP.js";
8
- import "./github-copilot-token-B8B2pmph.js";
1
+ import "./paths-CE7eVGHg.js";
2
+ import { G as danger, K as info, Q as success } from "./registry-DYq1AYOv.js";
3
+ import "./agent-scope-CpEJ0B88.js";
4
+ import { r as defaultRuntime } from "./subsystem-BjyjJF-d.js";
5
+ import { x as logInfo } from "./workspace-DscDraUb.js";
6
+ import "./auth-profiles-DdK1Hxaa.js";
7
+ import "./env-BDXYbTKj.js";
8
+ import "./github-copilot-token-cCYzSU9h.js";
9
9
  import "./boolean-CE7i9tBR.js";
10
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
11
- import "./manifest-registry-0J48biqr.js";
12
- import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-D1r2dq1t.js";
13
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-Dh2wWQkD.js";
10
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
11
+ import "./manifest-registry-yb7sAlu4.js";
12
+ import { a as logoutWeb, l as readWebSelfId, p as webAuthExists, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
13
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DSU1vxxi.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,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-UkL38jvt.js";
3
- import { r as defaultRuntime } from "./subsystem-DN75fnEF.js";
4
- import { x as logInfo } from "./workspace-DqJ5h-ZB.js";
5
- import { n as formatCliCommand } from "./env-xmBFQPBP.js";
6
- import { n as loadConfig } from "./config-CvmE3Yx1.js";
7
- import { a as logoutWeb, t as resolveWhatsAppAccount } from "./accounts-D1r2dq1t.js";
8
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-Dh2wWQkD.js";
2
+ import { G as danger, K as info, Q as success } from "./registry-DYq1AYOv.js";
3
+ import { r as defaultRuntime } from "./subsystem-BjyjJF-d.js";
4
+ import { x as logInfo } from "./workspace-DscDraUb.js";
5
+ import { n as formatCliCommand } from "./env-BDXYbTKj.js";
6
+ import { n as loadConfig } from "./config-5SdHIcHU.js";
7
+ import { a as logoutWeb, t as resolveWhatsAppAccount } from "./accounts-BRw8yhIW.js";
8
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-DSU1vxxi.js";
9
9
  import { DisconnectReason } from "@whiskeysockets/baileys";
10
10
 
11
11
  //#region src/web/login.ts
@@ -1,20 +1,20 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { s as resolveStateDir } from "./paths-CYmyCDsE.js";
3
- import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-UkL38jvt.js";
4
- import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-D68_xfTL.js";
5
- import { t as createSubsystemLogger } from "./subsystem-DN75fnEF.js";
6
- import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DEuVuViW.js";
7
- import { B as resolveApiKeyForProvider, z as requireApiKey } from "./auth-profiles-Bl9aU7fc.js";
8
- import { t as isTruthyEnvValue } from "./env-xmBFQPBP.js";
2
+ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
+ import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as clampInt } from "./registry-DYq1AYOv.js";
4
+ import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-CpEJ0B88.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
+ import { o as resolveSessionTranscriptsDirForAgent } from "./paths-CbQV9WEg.js";
7
+ import { B as resolveApiKeyForProvider, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
8
+ import { t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
9
9
  import { n as formatErrorMessage } from "./errors-XIsvXeC-.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
11
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-C6Z-2T42.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-Bv87EXeg.js";
13
- import { n as retryAsync } from "./retry-CqMeDhyp.js";
11
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.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-D_mz1_-y.js";
13
+ import { n as retryAsync } from "./retry-BBVXkKBV.js";
14
14
  import path from "node:path";
15
- import fsSync from "node:fs";
15
+ import fs from "node:fs";
16
16
  import os from "node:os";
17
- import fs from "node:fs/promises";
17
+ import fs$1 from "node:fs/promises";
18
18
  import { randomUUID } from "node:crypto";
19
19
  import { createInterface } from "node:readline";
20
20
  import { Readable } from "node:stream";
@@ -614,7 +614,7 @@ function canAutoSelectLocal(options) {
614
614
  if (/^(hf:|https?:)/i.test(modelPath)) return false;
615
615
  const resolved = resolveUserPath(modelPath);
616
616
  try {
617
- return fsSync.statSync(resolved).isFile();
617
+ return fs.statSync(resolved).isFile();
618
618
  } catch {
619
619
  return false;
620
620
  }
@@ -936,7 +936,7 @@ async function extractTimestamp(params) {
936
936
  if (!params.workspaceDir) return null;
937
937
  const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
938
938
  try {
939
- const stat = await fs.stat(absolutePath);
939
+ const stat = await fs$1.stat(absolutePath);
940
940
  if (!Number.isFinite(stat.mtimeMs)) return null;
941
941
  return new Date(stat.mtimeMs);
942
942
  } catch {
@@ -2038,7 +2038,7 @@ var MemoryManagerSyncOps = class {
2038
2038
  const source = `${sourceBase}${suffix}`;
2039
2039
  const target = `${targetBase}${suffix}`;
2040
2040
  try {
2041
- await fs.rename(source, target);
2041
+ await fs$1.rename(source, target);
2042
2042
  } catch (err) {
2043
2043
  if (err.code !== "ENOENT") throw err;
2044
2044
  }
@@ -2049,7 +2049,7 @@ var MemoryManagerSyncOps = class {
2049
2049
  "",
2050
2050
  "-wal",
2051
2051
  "-shm"
2052
- ].map((suffix) => fs.rm(`${basePath}${suffix}`, { force: true })));
2052
+ ].map((suffix) => fs$1.rm(`${basePath}${suffix}`, { force: true })));
2053
2053
  }
2054
2054
  ensureSchema() {
2055
2055
  const result = ensureMemoryIndexSchema({
@@ -2073,7 +2073,7 @@ var MemoryManagerSyncOps = class {
2073
2073
  ]);
2074
2074
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
2075
2075
  for (const entry of additionalPaths) try {
2076
- const stat = fsSync.lstatSync(entry);
2076
+ const stat = fs.lstatSync(entry);
2077
2077
  if (stat.isSymbolicLink()) continue;
2078
2078
  if (stat.isDirectory()) {
2079
2079
  watchPaths.add(path.join(entry, "**", "*.md"));
@@ -2144,7 +2144,7 @@ var MemoryManagerSyncOps = class {
2144
2144
  if (!thresholds) return null;
2145
2145
  let stat;
2146
2146
  try {
2147
- stat = await fs.stat(sessionFile);
2147
+ stat = await fs$1.stat(sessionFile);
2148
2148
  } catch {
2149
2149
  return null;
2150
2150
  }
@@ -2186,7 +2186,7 @@ var MemoryManagerSyncOps = class {
2186
2186
  if (end <= start) return 0;
2187
2187
  let handle;
2188
2188
  try {
2189
- handle = await fs.open(absPath, "r");
2189
+ handle = await fs$1.open(absPath, "r");
2190
2190
  } catch (err) {
2191
2191
  if (isFileMissingError(err)) return 0;
2192
2192
  throw err;
@@ -3118,7 +3118,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
3118
3118
  });
3119
3119
  return;
3120
3120
  }
3121
- const content = options.content ?? await fs.readFile(entry.absPath, "utf-8");
3121
+ const content = options.content ?? await fs$1.readFile(entry.absPath, "utf-8");
3122
3122
  const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0));
3123
3123
  if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
3124
3124
  const embeddings = this.batch.enabled ? await this.embedChunksWithBatch(chunks, entry, options.source) : await this.embedChunksInBatches(chunks);
@@ -3732,7 +3732,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3732
3732
  if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
3733
3733
  const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
3734
3734
  for (const additionalPath of additionalPaths) try {
3735
- const stat = await fs.lstat(additionalPath);
3735
+ const stat = await fs$1.lstat(additionalPath);
3736
3736
  if (stat.isSymbolicLink()) continue;
3737
3737
  if (stat.isDirectory()) {
3738
3738
  if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
@@ -3757,7 +3757,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
3757
3757
  };
3758
3758
  let content;
3759
3759
  try {
3760
- content = await fs.readFile(absPath, "utf-8");
3760
+ content = await fs$1.readFile(absPath, "utf-8");
3761
3761
  } catch (err) {
3762
3762
  if (isFileMissingError(err)) return {
3763
3763
  text: "",
@@ -1,7 +1,7 @@
1
- import { I as resolveUserPath, P as resolveConfigDir, k as isRecord } from "./registry-UkL38jvt.js";
1
+ import { I as resolveUserPath, P as resolveConfigDir, k as isRecord } from "./registry-DYq1AYOv.js";
2
2
  import { n as MANIFEST_KEY } from "./legacy-names-CePMUvus.js";
3
3
  import path from "node:path";
4
- import fsSync from "node:fs";
4
+ import fs from "node:fs";
5
5
  import { fileURLToPath } from "node:url";
6
6
 
7
7
  //#region src/infra/host-env-security-policy.json
@@ -59,7 +59,7 @@ function isPathInside$1(basePath, candidatePath) {
59
59
  }
60
60
  function safeRealpathSync$1(filePath) {
61
61
  try {
62
- return fsSync.realpathSync(filePath);
62
+ return fs.realpathSync(filePath);
63
63
  } catch {
64
64
  return null;
65
65
  }
@@ -226,13 +226,13 @@ function resolveBundledPluginsDir() {
226
226
  try {
227
227
  const execDir = path.dirname(process.execPath);
228
228
  const sibling = path.join(execDir, "extensions");
229
- if (fsSync.existsSync(sibling)) return sibling;
229
+ if (fs.existsSync(sibling)) return sibling;
230
230
  } catch {}
231
231
  try {
232
232
  let cursor = path.dirname(fileURLToPath(import.meta.url));
233
233
  for (let i = 0; i < 6; i += 1) {
234
234
  const candidate = path.join(cursor, "extensions");
235
- if (fsSync.existsSync(candidate)) return candidate;
235
+ if (fs.existsSync(candidate)) return candidate;
236
236
  const parent = path.dirname(cursor);
237
237
  if (parent === cursor) break;
238
238
  cursor = parent;
@@ -251,20 +251,20 @@ function normalizeStringList(value) {
251
251
  function resolvePluginManifestPath(rootDir) {
252
252
  for (const filename of PLUGIN_MANIFEST_FILENAMES) {
253
253
  const candidate = path.join(rootDir, filename);
254
- if (fsSync.existsSync(candidate)) return candidate;
254
+ if (fs.existsSync(candidate)) return candidate;
255
255
  }
256
256
  return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
257
257
  }
258
258
  function loadPluginManifest(rootDir) {
259
259
  const manifestPath = resolvePluginManifestPath(rootDir);
260
- if (!fsSync.existsSync(manifestPath)) return {
260
+ if (!fs.existsSync(manifestPath)) return {
261
261
  ok: false,
262
262
  error: `plugin manifest not found: ${manifestPath}`,
263
263
  manifestPath
264
264
  };
265
265
  let raw;
266
266
  try {
267
- raw = JSON.parse(fsSync.readFileSync(manifestPath, "utf-8"));
267
+ raw = JSON.parse(fs.readFileSync(manifestPath, "utf-8"));
268
268
  } catch (err) {
269
269
  return {
270
270
  ok: false,
@@ -331,7 +331,7 @@ function safeRealpathSync(targetPath, cache) {
331
331
  const cached = cache?.get(targetPath);
332
332
  if (cached) return cached;
333
333
  try {
334
- const resolved = fsSync.realpathSync(targetPath);
334
+ const resolved = fs.realpathSync(targetPath);
335
335
  cache?.set(targetPath, resolved);
336
336
  return resolved;
337
337
  } catch {
@@ -340,7 +340,7 @@ function safeRealpathSync(targetPath, cache) {
340
340
  }
341
341
  function safeStatSync(targetPath) {
342
342
  try {
343
- return fsSync.statSync(targetPath);
343
+ return fs.statSync(targetPath);
344
344
  } catch {
345
345
  return null;
346
346
  }
@@ -454,9 +454,9 @@ function isExtensionFile(filePath) {
454
454
  }
455
455
  function readPackageManifest(dir) {
456
456
  const manifestPath = path.join(dir, "package.json");
457
- if (!fsSync.existsSync(manifestPath)) return null;
457
+ if (!fs.existsSync(manifestPath)) return null;
458
458
  try {
459
- const raw = fsSync.readFileSync(manifestPath, "utf-8");
459
+ const raw = fs.readFileSync(manifestPath, "utf-8");
460
460
  return JSON.parse(raw);
461
461
  } catch {
462
462
  return null;
@@ -514,10 +514,10 @@ function resolvePackageEntrySource(params) {
514
514
  return source;
515
515
  }
516
516
  function discoverInDirectory(params) {
517
- if (!fsSync.existsSync(params.dir)) return;
517
+ if (!fs.existsSync(params.dir)) return;
518
518
  let entries = [];
519
519
  try {
520
- entries = fsSync.readdirSync(params.dir, { withFileTypes: true });
520
+ entries = fs.readdirSync(params.dir, { withFileTypes: true });
521
521
  } catch (err) {
522
522
  params.diagnostics.push({
523
523
  level: "warn",
@@ -579,7 +579,7 @@ function discoverInDirectory(params) {
579
579
  "index.js",
580
580
  "index.mjs",
581
581
  "index.cjs"
582
- ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fsSync.existsSync(candidate));
582
+ ].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs.existsSync(candidate));
583
583
  if (indexFile && isExtensionFile(indexFile)) addCandidate({
584
584
  candidates: params.candidates,
585
585
  diagnostics: params.diagnostics,
@@ -597,7 +597,7 @@ function discoverInDirectory(params) {
597
597
  }
598
598
  function discoverFromPath(params) {
599
599
  const resolved = resolveUserPath(params.rawPath);
600
- if (!fsSync.existsSync(resolved)) {
600
+ if (!fs.existsSync(resolved)) {
601
601
  params.diagnostics.push({
602
602
  level: "error",
603
603
  message: `plugin path not found: ${resolved}`,
@@ -605,7 +605,7 @@ function discoverFromPath(params) {
605
605
  });
606
606
  return;
607
607
  }
608
- const stat = fsSync.statSync(resolved);
608
+ const stat = fs.statSync(resolved);
609
609
  if (stat.isFile()) {
610
610
  if (!isExtensionFile(resolved)) {
611
611
  params.diagnostics.push({
@@ -665,7 +665,7 @@ function discoverFromPath(params) {
665
665
  "index.js",
666
666
  "index.mjs",
667
667
  "index.cjs"
668
- ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fsSync.existsSync(candidate));
668
+ ].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs.existsSync(candidate));
669
669
  if (indexFile && isExtensionFile(indexFile)) {
670
670
  addCandidate({
671
671
  candidates: params.candidates,
@@ -779,7 +779,7 @@ function buildCacheKey(params) {
779
779
  }
780
780
  function safeStatMtimeMs(filePath) {
781
781
  try {
782
- return fsSync.statSync(filePath).mtimeMs;
782
+ return fs.statSync(filePath).mtimeMs;
783
783
  } catch {
784
784
  return null;
785
785
  }
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
3
- import { r as normalizeChannelId } from "./plugins-Bkr5ZdYs.js";
3
+ import { r as normalizeChannelId } from "./plugins-BzmbgY7s.js";
4
4
 
5
5
  //#region src/config/markdown-tables.ts
6
6
  var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });
@@ -1,4 +1,4 @@
1
- import { c as getActivePluginRegistry, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-UkL38jvt.js";
1
+ import { c as getActivePluginRegistry, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-DYq1AYOv.js";
2
2
 
3
3
  //#region src/gateway/protocol/client-info.ts
4
4
  const GATEWAY_CLIENT_IDS = {