@symerian/symi 3.0.17 → 3.0.19

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 (259) hide show
  1. package/dist/{audio-preflight-CBDFctZN.js → audio-preflight-BfmZbg4Y.js} +4 -4
  2. package/dist/{audio-preflight-gsZSpG-6.js → audio-preflight-DcuC-liM.js} +4 -4
  3. package/dist/build-info.json +3 -3
  4. package/dist/bundled/boot-md/handler.js +8 -8
  5. package/dist/bundled/session-memory/handler.js +7 -7
  6. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  7. package/dist/{chrome-nPMY1XTJ.js → chrome-Bo7cbvFK.js} +5 -5
  8. package/dist/{chrome-BjVab8gM.js → chrome-DYp18Q0t.js} +5 -5
  9. package/dist/{deliver-D-QFqm31.js → deliver-ChSIbiMM.js} +1 -1
  10. package/dist/{deliver-B4-bcot9.js → deliver-DEgRQM4J.js} +1 -1
  11. package/dist/extensionAPI.js +7 -7
  12. package/dist/{image-CDwtQjmt.js → image-Bx-hvoNJ.js} +1 -1
  13. package/dist/{image-CcS-vzTA.js → image-CQl_mjWk.js} +1 -1
  14. package/dist/llm-slug-generator.js +7 -7
  15. package/dist/{manager-BnEdHzmO.js → manager-D_pn0urG.js} +1 -1
  16. package/dist/{manager-09r0qPze.js → manager-YQxK2t0C.js} +1 -1
  17. package/dist/{pi-embedded-CWsY69-4.js → pi-embedded-CLw_ZzEZ.js} +16 -16
  18. package/dist/{pi-embedded-helpers-BBMy-lqr.js → pi-embedded-helpers-B5I53aw6.js} +4 -4
  19. package/dist/{pi-embedded-helpers-ChEYbgVj.js → pi-embedded-helpers-sUAEIC9X.js} +4 -4
  20. package/dist/plugin-sdk/{accounts-BfyWsC_i.js → accounts-CWFytwbR.js} +3 -3
  21. package/dist/plugin-sdk/{active-listener-DcJW7xAT.js → active-listener-BkZ4jHrL.js} +2 -2
  22. package/dist/plugin-sdk/{agent-scope-ChbGV6of.js → agent-scope-C9gfY_Gk.js} +2 -2
  23. package/dist/plugin-sdk/{audio-preflight-D3GtNLqW.js → audio-preflight-HKbdzXLZ.js} +21 -21
  24. package/dist/plugin-sdk/{bindings-CN2Qmefj.js → bindings-BaKIqPPy.js} +2 -2
  25. package/dist/plugin-sdk/{channel-web-DTyqujjA.js → channel-web-D5nWiTH1.js} +18 -18
  26. package/dist/plugin-sdk/{chrome-BKzAKr3K.js → chrome-klTSnz-9.js} +3 -3
  27. package/dist/plugin-sdk/{chunk-DhDkBujV.js → chunk-BbrYSny_.js} +1 -1
  28. package/dist/plugin-sdk/{command-format-CVrYFyZS.js → command-format-BN6tyZt6.js} +1 -1
  29. package/dist/plugin-sdk/{commands-registry-17yfZkHZ.js → commands-registry-CTzKKtY6.js} +4 -4
  30. package/dist/plugin-sdk/{config-7wk65zKC.js → config-Crv2qEdJ.js} +9 -9
  31. package/dist/plugin-sdk/{consolidate-exbAW0ml.js → consolidate-DT1QH65Q.js} +2 -2
  32. package/dist/plugin-sdk/{deliver-TxAcw7J5.js → deliver-7rOvAlrc.js} +12 -12
  33. package/dist/plugin-sdk/{diagnostic-Debx4frd.js → diagnostic-0nsxhWp7.js} +1 -1
  34. package/dist/plugin-sdk/{fs-safe-wBYbAkJF.js → fs-safe-DfWYBeWF.js} +1 -1
  35. package/dist/plugin-sdk/{gemini-auth-7U2pm2Ky.js → gemini-auth-C0N0_u49.js} +1 -1
  36. package/dist/plugin-sdk/{image-BtDVmYA5.js → image-WOSl2apK.js} +4 -4
  37. package/dist/plugin-sdk/index.js +43 -43
  38. package/dist/plugin-sdk/{ir-CKMvRrGW.js → ir-9J84MTls.js} +4 -4
  39. package/dist/plugin-sdk/{local-roots-c_gaPs01.js → local-roots-OLRDbvyY.js} +3 -3
  40. package/dist/plugin-sdk/{login-DUym1Jy0.js → login-C7x4q0i2.js} +7 -7
  41. package/dist/plugin-sdk/{login-qr-B-WBdvrX.js → login-qr-Dv5_MoAW.js} +9 -9
  42. package/dist/plugin-sdk/{manager-B71SCzos.js → manager-C83tK17x.js} +8 -8
  43. package/dist/plugin-sdk/{manifest-registry-Dnic6Chh.js → manifest-registry-CJMV-PI7.js} +1 -1
  44. package/dist/plugin-sdk/{markdown-tables-Dur7OTlM.js → markdown-tables-DXNKz5y_.js} +1 -1
  45. package/dist/plugin-sdk/{message-channel-BrAhJJV_.js → message-channel-aGy1HbQQ.js} +1 -1
  46. package/dist/plugin-sdk/{model-selection-B9qaVQSJ.js → model-selection-C-3-tpe7.js} +4 -4
  47. package/dist/plugin-sdk/{outbound-DB1wDM8b.js → outbound-DquCeSy5.js} +6 -6
  48. package/dist/plugin-sdk/{pi-auth-json-ZO118hoy.js → pi-auth-json-D9PDCXGn.js} +1 -1
  49. package/dist/plugin-sdk/{pi-embedded-helpers-s_U0Un7j.js → pi-embedded-helpers-D3ygfH7l.js} +16 -16
  50. package/dist/plugin-sdk/{plugins-DF81oSaI.js → plugins-DOwnSg9D.js} +4 -4
  51. package/dist/plugin-sdk/{pw-ai-CTwP02uv.js → pw-ai-rlengLjb.js} +8 -8
  52. package/dist/plugin-sdk/{qmd-manager-CBaSGant.js → qmd-manager-BzxFjRFa.js} +4 -4
  53. package/dist/plugin-sdk/{registry-CZVURNhF.js → registry-5iFfixlB.js} +2 -2
  54. package/dist/plugin-sdk/{replies-hwRbkU3z.js → replies-BXOzO_H5.js} +7 -7
  55. package/dist/plugin-sdk/{reply-prefix-CaXmzZlx.js → reply-prefix-INAKTqCU.js} +1 -1
  56. package/dist/plugin-sdk/{resolve-outbound-target-fxVSOBmk.js → resolve-outbound-target-DvbxHtqp.js} +2 -2
  57. package/dist/plugin-sdk/{resolve-route-ClCyiOeu.js → resolve-route-URXlY3AK.js} +3 -3
  58. package/dist/plugin-sdk/{runner-Cq5jvwQ7.js → runner-Bv0_DWoH.js} +9 -9
  59. package/dist/plugin-sdk/{session-B_TkB65Y.js → session-C3r8l7ou.js} +4 -4
  60. package/dist/plugin-sdk/{skill-commands-0LF9HTGr.js → skill-commands-KjLUGIdZ.js} +5 -5
  61. package/dist/plugin-sdk/{skills-BIT_O7J0.js → skills-BrsD4L5c.js} +7 -7
  62. package/dist/plugin-sdk/{sqlite-Bx5Y5U5X.js → sqlite-CjW7ME1H.js} +1 -1
  63. package/dist/plugin-sdk/{subsystem-CXqYeDy-.js → subsystem-DcOg1xJr.js} +1 -1
  64. package/dist/plugin-sdk/{synthesis-DtsYAj1E.js → synthesis-CY7YAasV.js} +38 -38
  65. package/dist/plugin-sdk/{target-errors-B8mokOeH.js → target-errors-BVWJGWFq.js} +2 -2
  66. package/dist/plugin-sdk/{thinking-Ca0DhqzO.js → thinking-CtsTDPOi.js} +3 -3
  67. package/dist/plugin-sdk/{tokens-CvlONEqh.js → tokens-8lqOTZCB.js} +1 -1
  68. package/dist/plugin-sdk/{tool-images-DpBaWEHT.js → tool-images-Cl_rGIUZ.js} +2 -2
  69. package/dist/plugin-sdk/{tool-loop-detection-BOvUFa0f.js → tool-loop-detection-Da4WUT_P.js} +2 -2
  70. package/dist/plugin-sdk/{unified-runner-CnM7lyNd.js → unified-runner-nwMnsZyj.js} +60 -60
  71. package/dist/plugin-sdk/web-BlweOZDp.js +54 -0
  72. package/dist/plugin-sdk/{whatsapp-actions-CvnfsFJm.js → whatsapp-actions-DpfaGYs7.js} +21 -21
  73. package/dist/{pw-ai-BW8_KeDf.js → pw-ai-BqxJG-Wh.js} +1 -1
  74. package/dist/{pw-ai-j9IE1K0-.js → pw-ai-C-NSGye0.js} +1 -1
  75. package/dist/{runner-8ALr2UII.js → runner-COGFTeDw.js} +1 -1
  76. package/dist/{runner-C4-9kFdR.js → runner-DhCi2lT1.js} +1 -1
  77. package/dist/{synthesis-Cph3LhA1.js → synthesis-CXZu24Vx.js} +7 -7
  78. package/dist/{synthesis-Cus0A2dL.js → synthesis-DrPxcMlQ.js} +7 -7
  79. package/dist/{unified-runner-CX80YMTk.js → unified-runner-iByUazvW.js} +16 -16
  80. package/dist/{web-ChozvJ7I.js → web-EsMQBIYf.js} +7 -7
  81. package/dist/{web-DFlsbXmQ.js → web-PPg5y6xI.js} +7 -7
  82. package/package.json +1 -1
  83. package/dist/plugin-sdk/web-CIPJBHAU.js +0 -54
  84. package/extensions/copilot-proxy/README.md +0 -24
  85. package/extensions/copilot-proxy/index.ts +0 -154
  86. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -21
  87. package/extensions/copilot-proxy/package.json +0 -15
  88. package/extensions/copilot-proxy/symi.plugin.json +0 -9
  89. package/extensions/device-pair/index.ts +0 -642
  90. package/extensions/device-pair/symi.plugin.json +0 -20
  91. package/extensions/diagnostics-otel/index.ts +0 -15
  92. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -21
  93. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -21
  94. package/extensions/diagnostics-otel/package.json +0 -27
  95. package/extensions/diagnostics-otel/src/service.test.ts +0 -290
  96. package/extensions/diagnostics-otel/src/service.ts +0 -666
  97. package/extensions/diagnostics-otel/symi.plugin.json +0 -8
  98. package/extensions/google-antigravity-auth/README.md +0 -24
  99. package/extensions/google-antigravity-auth/index.ts +0 -424
  100. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -21
  101. package/extensions/google-antigravity-auth/package.json +0 -15
  102. package/extensions/google-antigravity-auth/symi.plugin.json +0 -9
  103. package/extensions/google-gemini-cli-auth/README.md +0 -35
  104. package/extensions/google-gemini-cli-auth/index.ts +0 -75
  105. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -21
  106. package/extensions/google-gemini-cli-auth/oauth.test.ts +0 -162
  107. package/extensions/google-gemini-cli-auth/oauth.ts +0 -636
  108. package/extensions/google-gemini-cli-auth/package.json +0 -15
  109. package/extensions/google-gemini-cli-auth/symi.plugin.json +0 -9
  110. package/extensions/learning-loop/index.ts +0 -159
  111. package/extensions/learning-loop/node_modules/.bin/symi +0 -21
  112. package/extensions/learning-loop/package.json +0 -18
  113. package/extensions/learning-loop/src/analytics/gateway-methods.ts +0 -230
  114. package/extensions/learning-loop/src/analytics/metrics-aggregator.ts +0 -153
  115. package/extensions/learning-loop/src/capture/run-tracker.ts +0 -181
  116. package/extensions/learning-loop/src/capture/serializer.ts +0 -74
  117. package/extensions/learning-loop/src/db.ts +0 -583
  118. package/extensions/learning-loop/src/feedback/explicit-feedback.ts +0 -58
  119. package/extensions/learning-loop/src/feedback/implicit-signals.ts +0 -89
  120. package/extensions/learning-loop/src/graph/edge-inference.ts +0 -189
  121. package/extensions/learning-loop/src/graph/graph-retrieval.ts +0 -144
  122. package/extensions/learning-loop/src/graph/graph-store.ts +0 -183
  123. package/extensions/learning-loop/src/hooks.ts +0 -244
  124. package/extensions/learning-loop/src/injection/cache.ts +0 -73
  125. package/extensions/learning-loop/src/injection/context-injector.ts +0 -104
  126. package/extensions/learning-loop/src/injection/prompt-builder.ts +0 -43
  127. package/extensions/learning-loop/src/learning/embedding-bridge.ts +0 -54
  128. package/extensions/learning-loop/src/learning/learning-extractor.ts +0 -217
  129. package/extensions/learning-loop/src/learning/learning-store.ts +0 -158
  130. package/extensions/learning-loop/src/learning/retrieval.ts +0 -87
  131. package/extensions/learning-loop/src/math/confidence-intervals.ts +0 -62
  132. package/extensions/learning-loop/src/math/ewma.ts +0 -51
  133. package/extensions/learning-loop/src/math/weighted-scorer.ts +0 -42
  134. package/extensions/learning-loop/src/schema.ts +0 -176
  135. package/extensions/learning-loop/src/scoring/normalization.ts +0 -32
  136. package/extensions/learning-loop/src/scoring/quality-engine.ts +0 -78
  137. package/extensions/learning-loop/src/scoring/signal-extractors.ts +0 -155
  138. package/extensions/learning-loop/src/test/context-injector.test.ts +0 -142
  139. package/extensions/learning-loop/src/test/fixes.test.ts +0 -1286
  140. package/extensions/learning-loop/src/test/graph.test.ts +0 -711
  141. package/extensions/learning-loop/src/test/integration.test.ts +0 -312
  142. package/extensions/learning-loop/src/test/learning-store.test.ts +0 -191
  143. package/extensions/learning-loop/src/test/math.test.ts +0 -148
  144. package/extensions/learning-loop/src/test/quality-engine.test.ts +0 -231
  145. package/extensions/learning-loop/src/test/run-tracker.test.ts +0 -143
  146. package/extensions/learning-loop/src/types.ts +0 -281
  147. package/extensions/learning-loop/symi.plugin.json +0 -46
  148. package/extensions/llm-task/README.md +0 -97
  149. package/extensions/llm-task/index.ts +0 -6
  150. package/extensions/llm-task/package.json +0 -12
  151. package/extensions/llm-task/src/llm-task-tool.test.ts +0 -138
  152. package/extensions/llm-task/src/llm-task-tool.ts +0 -249
  153. package/extensions/llm-task/symi.plugin.json +0 -21
  154. package/extensions/memory-lancedb/config.ts +0 -161
  155. package/extensions/memory-lancedb/index.test.ts +0 -330
  156. package/extensions/memory-lancedb/index.ts +0 -670
  157. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -21
  158. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -21
  159. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -21
  160. package/extensions/memory-lancedb/package.json +0 -20
  161. package/extensions/memory-lancedb/symi.plugin.json +0 -71
  162. package/extensions/minimax-portal-auth/README.md +0 -33
  163. package/extensions/minimax-portal-auth/index.ts +0 -161
  164. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -21
  165. package/extensions/minimax-portal-auth/oauth.ts +0 -247
  166. package/extensions/minimax-portal-auth/package.json +0 -15
  167. package/extensions/minimax-portal-auth/symi.plugin.json +0 -9
  168. package/extensions/model-equalizer/index.ts +0 -80
  169. package/extensions/model-equalizer/skills/model-equalizer/SKILL.md +0 -58
  170. package/extensions/model-equalizer/src/detection.ts +0 -62
  171. package/extensions/model-equalizer/src/enhancer.ts +0 -63
  172. package/extensions/model-equalizer/src/test/detection.test.ts +0 -218
  173. package/extensions/model-equalizer/src/test/enhancer.test.ts +0 -137
  174. package/extensions/model-equalizer/src/test/integration.test.ts +0 -185
  175. package/extensions/model-equalizer/src/types.ts +0 -24
  176. package/extensions/model-equalizer/symi.plugin.json +0 -12
  177. package/extensions/phone-control/index.ts +0 -421
  178. package/extensions/phone-control/symi.plugin.json +0 -10
  179. package/extensions/pipeline/README.md +0 -75
  180. package/extensions/pipeline/SKILL.md +0 -97
  181. package/extensions/pipeline/index.ts +0 -18
  182. package/extensions/pipeline/package.json +0 -11
  183. package/extensions/pipeline/src/pipeline-tool.test.ts +0 -345
  184. package/extensions/pipeline/src/pipeline-tool.ts +0 -266
  185. package/extensions/pipeline/src/windows-spawn.test.ts +0 -148
  186. package/extensions/pipeline/src/windows-spawn.ts +0 -193
  187. package/extensions/pipeline/symi.plugin.json +0 -10
  188. package/extensions/qwen-portal-auth/README.md +0 -24
  189. package/extensions/qwen-portal-auth/index.ts +0 -134
  190. package/extensions/qwen-portal-auth/oauth.ts +0 -190
  191. package/extensions/qwen-portal-auth/symi.plugin.json +0 -9
  192. package/extensions/talk-voice/index.ts +0 -150
  193. package/extensions/talk-voice/symi.plugin.json +0 -10
  194. package/extensions/thread-ownership/index.test.ts +0 -180
  195. package/extensions/thread-ownership/index.ts +0 -133
  196. package/extensions/thread-ownership/symi.plugin.json +0 -28
  197. package/skills/1password/SKILL.md +0 -71
  198. package/skills/1password/references/cli-examples.md +0 -29
  199. package/skills/1password/references/get-started.md +0 -17
  200. package/skills/apple-notes/SKILL.md +0 -78
  201. package/skills/apple-reminders/SKILL.md +0 -119
  202. package/skills/bear-notes/SKILL.md +0 -108
  203. package/skills/blogwatcher/SKILL.md +0 -70
  204. package/skills/blucli/SKILL.md +0 -48
  205. package/skills/bluebubbles/SKILL.md +0 -132
  206. package/skills/camsnap/SKILL.md +0 -46
  207. package/skills/canvas/SKILL.md +0 -204
  208. package/skills/connect-email/SKILL.md +0 -142
  209. package/skills/document-generation/SKILL.md +0 -83
  210. package/skills/eightctl/SKILL.md +0 -51
  211. package/skills/food-order/SKILL.md +0 -49
  212. package/skills/gemini/SKILL.md +0 -44
  213. package/skills/gh-issues/SKILL.md +0 -865
  214. package/skills/gifgrep/SKILL.md +0 -80
  215. package/skills/github/SKILL.md +0 -164
  216. package/skills/gog/SKILL.md +0 -117
  217. package/skills/goplaces/SKILL.md +0 -53
  218. package/skills/healthcheck/SKILL.md +0 -246
  219. package/skills/himalaya/SKILL.md +0 -258
  220. package/skills/himalaya/references/configuration.md +0 -184
  221. package/skills/himalaya/references/message-composition.md +0 -199
  222. package/skills/imsg/SKILL.md +0 -122
  223. package/skills/long-task/SKILL.md +0 -58
  224. package/skills/long-task/scripts/detach-task.sh +0 -187
  225. package/skills/nano-banana-pro/SKILL.md +0 -59
  226. package/skills/nano-banana-pro/scripts/generate_image.py +0 -184
  227. package/skills/nano-pdf/SKILL.md +0 -39
  228. package/skills/notion/SKILL.md +0 -173
  229. package/skills/obsidian/SKILL.md +0 -82
  230. package/skills/openai-image-gen/SKILL.md +0 -90
  231. package/skills/openai-image-gen/scripts/gen.py +0 -240
  232. package/skills/openai-whisper/SKILL.md +0 -39
  233. package/skills/openai-whisper-api/SKILL.md +0 -53
  234. package/skills/openai-whisper-api/scripts/transcribe.sh +0 -85
  235. package/skills/openhue/SKILL.md +0 -113
  236. package/skills/oracle/SKILL.md +0 -126
  237. package/skills/ordercli/SKILL.md +0 -79
  238. package/skills/peekaboo/SKILL.md +0 -191
  239. package/skills/reactions-extensive/SKILL.md +0 -30
  240. package/skills/reactions-minimal/SKILL.md +0 -31
  241. package/skills/safe-edit/SKILL.md +0 -51
  242. package/skills/sag/SKILL.md +0 -88
  243. package/skills/sherpa-onnx-tts/SKILL.md +0 -104
  244. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  245. package/skills/songsee/SKILL.md +0 -50
  246. package/skills/sonoscli/SKILL.md +0 -66
  247. package/skills/spotify-player/SKILL.md +0 -65
  248. package/skills/symihub/SKILL.md +0 -78
  249. package/skills/things-mac/SKILL.md +0 -87
  250. package/skills/tmux/SKILL.md +0 -153
  251. package/skills/tmux/scripts/find-sessions.sh +0 -112
  252. package/skills/tmux/scripts/wait-for-text.sh +0 -83
  253. package/skills/trello/SKILL.md +0 -96
  254. package/skills/video-frames/SKILL.md +0 -47
  255. package/skills/video-frames/scripts/frame.sh +0 -81
  256. package/skills/voice-call/SKILL.md +0 -46
  257. package/skills/wacli/SKILL.md +0 -73
  258. package/skills/weather/SKILL.md +0 -113
  259. package/skills/xurl/SKILL.md +0 -462
@@ -10,10 +10,10 @@ import { $ as DEFAULT_PROVIDER, A as resolveThinkingDefault, B as requireApiKey,
10
10
  import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BevtqzD_.js";
11
11
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-BBMy-lqr.js";
13
+ import { $ as normalizeSessionDeliveryFields, A as parseImageDimensionError, At as resolveExistingPathsWithinRoot, B as resolveAndPersistSessionFile, Bt as normalizeToolName, C as isFailoverAssistantError, Ct as acquireSessionWriteLock, D as isRawApiErrorPayload, Dt as resolveBrowserConfig, E as isRateLimitAssistantError, Et as registerBrowserRoutes, F as resolveSandboxRuntimeStatus, Ft as buildPluginToolGroups, G as updateSessionStore, Gt as buildBootstrapContextFiles, H as readSessionUpdatedAt, Ht as stripPluginOnlyAllowlist, I as extractDeliveryInfo, It as collectExplicitAllowlist, J as resolveCacheTtlMs$1, Jt as resolveBootstrapTotalMaxChars, K as updateSessionStoreEntry, Kt as ensureSessionHeader, Lt as expandPolicyWithPluginGroups, M as sanitizeUserFacingText, Mt as ensureBrowserControlAuth, N as ensureSandboxWorkspaceForSession, Nt as resolveBrowserControlAuth, O as isTimeoutErrorMessage, Ot as resolveProfile, P as resolveSandboxContext, Pt as applyOwnerOnlyToolPolicy, Q as normalizeDeliveryContext, R as appendAssistantMessageToSessionTranscript, Rt as expandToolGroups, S as isContextOverflowError, St as resolveGroupSessionKey, T as isLikelyContextOverflowError, Tt as createBrowserRouteContext, U as recordSessionMetaFromInbound, Ut as compileGlobPatterns, V as loadSessionStore, Vt as resolveToolProfilePolicy, W as updateLastRoute, Wt as matchesAnyGlobPattern, X as deliveryContextKey, Y as deliveryContextFromSession, Yt as sanitizeGoogleTurnOrdering, Z as mergeDeliveryContext, _ as getApiErrorPayloadFingerprint, _t as canonicalizeMainSessionAlias, a as normalizeTextForComparison, at as INPUT_PROVENANCE_KIND_VALUES, b as isCloudCodeAssistFormatError, bt as resolveMainSessionKey, c as extractToolResultId, ct as normalizeInputProvenance, d as isGoogleModelApi, dt as resolveChannelResetConfig, f as BILLING_ERROR_USER_MESSAGE, ft as resolveSessionResetPolicy, g as formatRawAssistantErrorForUi, gt as resolveFreshSessionTotalTokens, h as formatBillingErrorMessage, ht as DEFAULT_RESET_TRIGGERS, i as isMessagingToolDuplicateNormalized, it as extractToolCallNames, j as parseImageSizeError, jt as getBridgeAuthForPort, k as isTransientHttpError, kt as DEFAULT_UPLOAD_DIR, l as downgradeOpenAIReasoningBlocks, lt as resolveSessionKey, m as formatAssistantErrorText, mt as resolveThreadFlag, n as validateGeminiTurns, nt as capArrayByJsonBytes, o as sanitizeSessionMessagesImages, ot as applyInputProvenanceToUserMessage, p as classifyFailoverReason, pt as resolveSessionResetType, q as isCacheEnabled, qt as resolveBootstrapMaxChars, r as pickFallbackThinkingLevel, rt as countToolResults, s as extractToolCallsFromAssistant, st as hasInterSessionUserProvenance, t as validateAnthropicTurns, tt as archiveSessionTranscripts, u as isAntigravityClaude, ut as evaluateSessionFreshness, v as isAuthAssistantError, w as isFailoverErrorMessage, wt as resolveSessionLockMaxHoldFromTimeout, x as isCompactionFailureError, xt as deriveSessionMetaPatch, y as isBillingAssistantError, zt as mergeAlsoAllowPolicy } from "./pi-embedded-helpers-B5I53aw6.js";
14
14
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-CmwJ3rLZ.js";
15
15
  import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-Dqmu7CGB.js";
16
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-BjVab8gM.js";
16
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-Bo7cbvFK.js";
17
17
  import { l as parseFrontmatterBlock } from "./frontmatter-CTR5f_Ez.js";
18
18
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-B7JO0ASH.js";
19
19
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
@@ -32,15 +32,15 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
32
32
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-D457mxXH.js";
33
33
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-hbz-cy7j.js";
34
34
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-Dli0kbyH.js";
35
- import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-D-QFqm31.js";
35
+ import { c as normalizeChannelTargetInput, d as parseReplyDirectives, f as MEDIA_TOKEN_RE, g as initializeGlobalHookRunner, h as getGlobalHookRunner, l as normalizeTargetForProvider, m as parseInlineDirectives$1, o as normalizeReplyPayloadsForDelivery, p as splitMediaFromOutput, s as buildTargetResolverSignature, t as deliverOutboundPayloads, u as throwIfAborted } from "./deliver-ChSIbiMM.js";
36
36
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, o as logMessageQueued, p as isDiagnosticsEnabled, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-Dz2XLFpJ.js";
37
37
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-DPIgjnIW.js";
38
- import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CcS-vzTA.js";
38
+ import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CQl_mjWk.js";
39
39
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-Df3d9-jY.js";
40
40
  import { $ as getPairingAdapter, A as describeReplyTarget, B as resolveTelegramThreadSpec, C as buildSenderLabel, D as buildTelegramParentPeer, E as buildTelegramGroupPeerId, F as resolveTelegramForumThreadId, G as isSenderIdAllowed, H as normalizeAllowFromWithStore$1, I as resolveTelegramGroupAllowFromContext, J as toLocationContext, K as mergeAllowFromSources, L as resolveTelegramMediaPlaceholder, M as extractTelegramLocation, N as hasBotMention, O as buildTelegramThreadParams, P as normalizeForwardedContext, Q as upsertChannelPairingRequest, R as resolveTelegramReplyId, S as buildGroupLabel, T as buildTelegramGroupFrom, U as resolveSenderAllowMatch, V as isSenderAllowed$1, W as firstDefined$1, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, b as getChannelActivity, c as sendStickerTelegram, d as wasSentByBot, et as listPairingChannels, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as expandTextLinks, k as buildTypingThreadParams, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as parseTelegramTarget, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as resolveTelegramTargetChatType, s as sendPollTelegram, t as buildInlineKeyboard, tt as isVoiceCompatibleAudio, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildSenderName, x as recordChannelActivity, y as withTelegramApiErrorLogging, z as resolveTelegramStreamMode } from "./send-BCZh3xVc.js";
41
41
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
42
42
  import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-DqV_Oetb.js";
43
- import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-BnEdHzmO.js";
43
+ import { i as resolveMemorySearchConfig, n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-D_pn0urG.js";
44
44
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-sLQSTKz4.js";
45
45
  import { n as retryAsync } from "./retry-BimTxCOW.js";
46
46
  import { a as createActionGate, c as jsonResult, d as readStringArrayParam, f as readStringOrNumberParam, l as readNumberParam, n as missingTargetError, o as imageResult, p as readStringParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readReactionParams } from "./target-errors-C9ZKwX6T.js";
@@ -50,7 +50,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-B7YM
50
50
  import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DcPP289R.js";
51
51
  import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-ZDAGNleN.js";
52
52
  import { a as listChatCommandsForConfig, c as normalizeCommandBody, d as shouldHandleTextCommands, f as isCommandFlagEnabled, g as resolveNativeSkillsEnabled, h as resolveNativeCommandsEnabled, i as listChatCommands, l as parseCommandArgs, m as isRestartEnabled, o as listNativeCommandSpecs, p as isNativeCommandsExplicitlyDisabled, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgMenu } from "./commands-registry-DMyd-Yup.js";
53
- import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-C4-9kFdR.js";
53
+ import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-DhCi2lT1.js";
54
54
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-LTOrAZRN.js";
55
55
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DjlU6iBR.js";
56
56
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
@@ -79,7 +79,7 @@ import { complete, completeSimple, createAssistantMessageEventStream, streamSimp
79
79
  import AjvPkg from "ajv";
80
80
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
81
81
  import { createServer } from "node:http";
82
- import { WebSocket as WebSocket$1 } from "ws";
82
+ import { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { EdgeTTS } from "node-edge-tts";
85
85
  import { createJiti } from "jiti";
@@ -4712,7 +4712,7 @@ async function getMemorySearchManager(params) {
4712
4712
  const wrapper = new FallbackMemoryManager({
4713
4713
  primary,
4714
4714
  fallbackFactory: async () => {
4715
- const { MemoryIndexManager } = await import("./manager-BnEdHzmO.js").then((n) => n.t);
4715
+ const { MemoryIndexManager } = await import("./manager-D_pn0urG.js").then((n) => n.t);
4716
4716
  return await MemoryIndexManager.get(params);
4717
4717
  }
4718
4718
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4725,7 +4725,7 @@ async function getMemorySearchManager(params) {
4725
4725
  }
4726
4726
  }
4727
4727
  try {
4728
- const { MemoryIndexManager } = await import("./manager-BnEdHzmO.js").then((n) => n.t);
4728
+ const { MemoryIndexManager } = await import("./manager-D_pn0urG.js").then((n) => n.t);
4729
4729
  return { manager: await MemoryIndexManager.get(params) };
4730
4730
  } catch (err) {
4731
4731
  return {
@@ -9733,7 +9733,7 @@ var GatewayClient = class {
9733
9733
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
9734
9734
  });
9735
9735
  }
9736
- this.ws = new WebSocket$1(url, wsOptions);
9736
+ this.ws = new WebSocket(url, wsOptions);
9737
9737
  this.ws.on("open", () => {
9738
9738
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
9739
9739
  const tlsError = this.validateTlsFingerprint();
@@ -9952,7 +9952,7 @@ var GatewayClient = class {
9952
9952
  return null;
9953
9953
  }
9954
9954
  async request(method, params, opts) {
9955
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9955
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9956
9956
  const id = randomUUID();
9957
9957
  const frame = {
9958
9958
  type: "req",
@@ -11151,7 +11151,7 @@ async function routeReply(params) {
11151
11151
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
11152
11152
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
11153
11153
  try {
11154
- const { deliverOutboundPayloads } = await import("./deliver-D-QFqm31.js").then((n) => n.n);
11154
+ const { deliverOutboundPayloads } = await import("./deliver-ChSIbiMM.js").then((n) => n.n);
11155
11155
  return {
11156
11156
  ok: true,
11157
11157
  messageId: (await deliverOutboundPayloads({
@@ -40598,7 +40598,7 @@ async function deliverSessionMaintenanceWarning(params) {
40598
40598
  return;
40599
40599
  }
40600
40600
  try {
40601
- const { deliverOutboundPayloads } = await import("./deliver-D-QFqm31.js").then((n) => n.n);
40601
+ const { deliverOutboundPayloads } = await import("./deliver-ChSIbiMM.js").then((n) => n.n);
40602
40602
  await deliverOutboundPayloads({
40603
40603
  cfg: params.cfg,
40604
40604
  channel,
@@ -43244,7 +43244,7 @@ async function describeStickerImage(params) {
43244
43244
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
43245
43245
  try {
43246
43246
  const buffer = await fs$1.readFile(imagePath);
43247
- const { describeImageWithModel } = await import("./image-CcS-vzTA.js").then((n) => n.n);
43247
+ const { describeImageWithModel } = await import("./image-CQl_mjWk.js").then((n) => n.n);
43248
43248
  return (await describeImageWithModel({
43249
43249
  buffer,
43250
43250
  fileName: "sticker.webp",
@@ -54467,7 +54467,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
54467
54467
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
54468
54468
  let preflightTranscript;
54469
54469
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
54470
- const { transcribeFirstAudio } = await import("./audio-preflight-CBDFctZN.js");
54470
+ const { transcribeFirstAudio } = await import("./audio-preflight-BfmZbg4Y.js");
54471
54471
  preflightTranscript = await transcribeFirstAudio({
54472
54472
  ctx: {
54473
54473
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -56624,7 +56624,7 @@ function loadWebLoginQr() {
56624
56624
  return webLoginQrPromise;
56625
56625
  }
56626
56626
  function loadWebChannel() {
56627
- webChannelPromise ??= import("./web-ChozvJ7I.js");
56627
+ webChannelPromise ??= import("./web-EsMQBIYf.js");
56628
56628
  return webChannelPromise;
56629
56629
  }
56630
56630
  function loadWhatsAppActions() {
@@ -5,15 +5,15 @@ import "./agent-scope-BjwlzIx9.js";
5
5
  import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-cuZLebhx.js";
6
6
  import "./workspace-DtomnOme.js";
7
7
  import "./tokens-DA7lUq9l.js";
8
- import { A as resolveEnvelopeFormatOptions, C as enqueueSystemEvent, D as createInboundDebouncer, M as shouldComputeCommandAuthorized, N as buildMentionRegexes, O as resolveInboundDebounceMs, P as normalizeMentionText, T as parseActivationCommand, a as sleepWithAbort, c as recordPendingHistoryEntryIfEnabled, f as createDedupeCache, g as formatDurationPrecise, i as computeBackoff, j as hasControlCommand, k as formatInboundEnvelope, l as shouldAckReactionForWhatsApp, n as resolveMentionGating, o as DEFAULT_GROUP_HISTORY_LIMIT, r as buildPairingReply, s as buildHistoryContextFromEntries, u as dispatchReplyWithBufferedBlockDispatcher, w as normalizeGroupActivation } from "./unified-runner-CX80YMTk.js";
8
+ import { A as resolveEnvelopeFormatOptions, C as enqueueSystemEvent, D as createInboundDebouncer, M as shouldComputeCommandAuthorized, N as buildMentionRegexes, O as resolveInboundDebounceMs, P as normalizeMentionText, T as parseActivationCommand, a as sleepWithAbort, c as recordPendingHistoryEntryIfEnabled, f as createDedupeCache, g as formatDurationPrecise, i as computeBackoff, j as hasControlCommand, k as formatInboundEnvelope, l as shouldAckReactionForWhatsApp, n as resolveMentionGating, o as DEFAULT_GROUP_HISTORY_LIMIT, r as buildPairingReply, s as buildHistoryContextFromEntries, u as dispatchReplyWithBufferedBlockDispatcher, w as normalizeGroupActivation } from "./unified-runner-iByUazvW.js";
9
9
  import "./auth-profiles-CcmUp4KB.js";
10
10
  import { n as formatCliCommand } from "./env-BevtqzD_.js";
11
11
  import "./github-copilot-token-cCYzSU9h.js";
12
12
  import "./boolean-CE7i9tBR.js";
13
- import { H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore, W as updateLastRoute } from "./pi-embedded-helpers-BBMy-lqr.js";
13
+ import { H as readSessionUpdatedAt, St as resolveGroupSessionKey, U as recordSessionMetaFromInbound, V as loadSessionStore, W as updateLastRoute } from "./pi-embedded-helpers-B5I53aw6.js";
14
14
  import { n as loadConfig } from "./config-CmwJ3rLZ.js";
15
15
  import "./manifest-registry-Dqmu7CGB.js";
16
- import "./chrome-BjVab8gM.js";
16
+ import "./chrome-Bo7cbvFK.js";
17
17
  import "./frontmatter-CTR5f_Ez.js";
18
18
  import "./skills-B7JO0ASH.js";
19
19
  import "./redact-BDMXB06K.js";
@@ -31,15 +31,15 @@ import "./bindings-CWfvNWzb.js";
31
31
  import "./send-CJCwdFt2.js";
32
32
  import { s as resolveStorePath } from "./paths-D457mxXH.js";
33
33
  import "./tool-images-Dli0kbyH.js";
34
- import "./deliver-D-QFqm31.js";
34
+ import "./deliver-ChSIbiMM.js";
35
35
  import "./diagnostic-Dz2XLFpJ.js";
36
36
  import "./diagnostic-session-state-DPIgjnIW.js";
37
- import "./image-CcS-vzTA.js";
37
+ import "./image-CQl_mjWk.js";
38
38
  import "./pi-auth-json-Df3d9-jY.js";
39
39
  import { J as toLocationContext, Q as upsertChannelPairingRequest, X as readChannelAllowFromStore, q as formatLocationText, x as recordChannelActivity } from "./send-BCZh3xVc.js";
40
40
  import "./pi-model-discovery-Bv5YDJc8.js";
41
41
  import { c as resolveMessagePrefix, s as resolveIdentityNamePrefix, t as createReplyPrefixOptions } from "./reply-prefix-DqV_Oetb.js";
42
- import "./manager-BnEdHzmO.js";
42
+ import "./manager-D_pn0urG.js";
43
43
  import "./gemini-auth-DUyW_oaE.js";
44
44
  import "./retry-BimTxCOW.js";
45
45
  import "./sqlite-BY0p7qhs.js";
@@ -50,7 +50,7 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-DcPP289R.js";
50
50
  import { a as loadWebMedia } from "./ir-ZDAGNleN.js";
51
51
  import "./render-BhKzKdV0.js";
52
52
  import "./commands-registry-DMyd-Yup.js";
53
- import { y as registerUnhandledRejectionHandler } from "./runner-C4-9kFdR.js";
53
+ import { y as registerUnhandledRejectionHandler } from "./runner-DhCi2lT1.js";
54
54
  import "./skill-commands-LTOrAZRN.js";
55
55
  import { t as finalizeInboundContext } from "./inbound-context-DjlU6iBR.js";
56
56
  import "./fetch-Bn4GCTGl.js";
@@ -8,30 +8,30 @@ import { c as resolveIdentityNamePrefix, l as resolveMessagePrefix, t as createR
8
8
  import "./github-copilot-token-BbsJ0Qbo.js";
9
9
  import { r as formatCliCommand } from "./env-CVhxRaxk.js";
10
10
  import "./tokens-W53xiM4v.js";
11
- import { A as normalizeMentionText, C as createInboundDebouncer, D as hasControlCommand, E as resolveEnvelopeFormatOptions, O as shouldComputeCommandAuthorized, S as parseActivationCommand, T as formatInboundEnvelope, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as enqueueSystemEvent, c as recordChannelActivity, f as createDedupeCache, g as toLocationContext, h as formatLocationText, i as sleepWithAbort, k as buildMentionRegexes, l as shouldAckReactionForWhatsApp, n as buildPairingReply, o as buildHistoryContextFromEntries, r as computeBackoff, s as recordPendingHistoryEntryIfEnabled, t as resolveMentionGating, u as dispatchReplyWithBufferedBlockDispatcher, v as readChannelAllowFromStore, w as resolveInboundDebounceMs, x as normalizeGroupActivation, y as upsertChannelPairingRequest } from "./pi-embedded-CWsY69-4.js";
11
+ import { A as normalizeMentionText, C as createInboundDebouncer, D as hasControlCommand, E as resolveEnvelopeFormatOptions, O as shouldComputeCommandAuthorized, S as parseActivationCommand, T as formatInboundEnvelope, _ as formatDurationPrecise, a as DEFAULT_GROUP_HISTORY_LIMIT, b as enqueueSystemEvent, c as recordChannelActivity, f as createDedupeCache, g as toLocationContext, h as formatLocationText, i as sleepWithAbort, k as buildMentionRegexes, l as shouldAckReactionForWhatsApp, n as buildPairingReply, o as buildHistoryContextFromEntries, r as computeBackoff, s as recordPendingHistoryEntryIfEnabled, t as resolveMentionGating, u as dispatchReplyWithBufferedBlockDispatcher, v as readChannelAllowFromStore, w as resolveInboundDebounceMs, x as normalizeGroupActivation, y as upsertChannelPairingRequest } from "./pi-embedded-CLw_ZzEZ.js";
12
12
  import { i as logWebSelfId, l as readWebSelfId, n as WA_WEB_AUTH_DIR, p as webAuthExists, r as getWebAuthAgeMs, s as pickWebChannel, t as resolveWhatsAppAccount } from "./accounts-DhrbJeGC.js";
13
13
  import "./plugins-BubU3QyP.js";
14
14
  import "./bindings-BXUZYJ9y.js";
15
15
  import "./replies-6QoHWaww.js";
16
- import "./deliver-B4-bcot9.js";
16
+ import "./deliver-DEgRQM4J.js";
17
17
  import "./diagnostic-ClKr4DnF.js";
18
18
  import "./diagnostic-session-state-DmrztgHU.js";
19
19
  import { g as resolveChannelGroupRequireMention, h as resolveChannelGroupPolicy } from "./thinking-CuOvs-Ey.js";
20
20
  import "./image-ops-B_RhmJoE.js";
21
21
  import "./pi-model-discovery-DZrt2PIy.js";
22
22
  import "./message-channel-CPEGgWpF.js";
23
- import { B as loadSessionStore, Dt as saveMediaBuffer, H as recordSessionMetaFromInbound, V as readSessionUpdatedAt, W as updateLastRoute, yt as resolveGroupSessionKey } from "./pi-embedded-helpers-ChEYbgVj.js";
23
+ import { B as loadSessionStore, Dt as saveMediaBuffer, H as recordSessionMetaFromInbound, V as readSessionUpdatedAt, W as updateLastRoute, yt as resolveGroupSessionKey } from "./pi-embedded-helpers-sUAEIC9X.js";
24
24
  import { n as loadConfig } from "./config-BrEmT6tv.js";
25
25
  import "./manifest-registry-B51J8ZWx.js";
26
- import "./chrome-nPMY1XTJ.js";
26
+ import "./chrome-DYp18Q0t.js";
27
27
  import "./skills-t4ZOwJM2.js";
28
28
  import "./redact-Bcq1snj9.js";
29
29
  import "./errors-C2nBLmDT.js";
30
30
  import "./ssrf-CQMi5Tnq.js";
31
31
  import { s as resolveStorePath } from "./paths-CM0XImQQ.js";
32
32
  import "./tool-images-BwyT-V2q.js";
33
- import "./image-CDwtQjmt.js";
34
- import "./manager-09r0qPze.js";
33
+ import "./image-Bx-hvoNJ.js";
34
+ import "./manager-YQxK2t0C.js";
35
35
  import "./gemini-auth-B4V7QI4Y.js";
36
36
  import "./sqlite-D1y8Y46G.js";
37
37
  import "./target-errors-BjoQKl76.js";
@@ -43,7 +43,7 @@ import "./render-2Ztmr_V0.js";
43
43
  import "./commands-registry-B19Mna74.js";
44
44
  import "./skill-commands-CAGUvBqy.js";
45
45
  import { t as finalizeInboundContext } from "./inbound-context-D8AKttSx.js";
46
- import { p as registerUnhandledRejectionHandler } from "./runner-8ALr2UII.js";
46
+ import { p as registerUnhandledRejectionHandler } from "./runner-COGFTeDw.js";
47
47
  import { i as convertMarkdownTables, r as setActiveWebListener } from "./active-listener-UTJr_K1e.js";
48
48
  import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DWXhDXTs.js";
49
49
  import "./pi-auth-json-DYImz-_r.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "3.0.17",
3
+ "version": "3.0.19",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",
@@ -1,54 +0,0 @@
1
- import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-BfyWsC_i.js";
2
- import "./unified-runner-CnM7lyNd.js";
3
- import "./registry-CZVURNhF.js";
4
- import "./paths-DAMyaxr7.js";
5
- import "./model-selection-B9qaVQSJ.js";
6
- import "./config-7wk65zKC.js";
7
- import "./fs-safe-wBYbAkJF.js";
8
- import "./subsystem-CXqYeDy-.js";
9
- import "./agent-scope-ChbGV6of.js";
10
- import "./tool-images-DpBaWEHT.js";
11
- import "./target-errors-B8mokOeH.js";
12
- import "./replies-hwRbkU3z.js";
13
- import "./chunk-DhDkBujV.js";
14
- import "./runner-Cq5jvwQ7.js";
15
- import "./reply-prefix-CaXmzZlx.js";
16
- import "./tokens-CvlONEqh.js";
17
- import "./skill-commands-0LF9HTGr.js";
18
- import "./skills-BIT_O7J0.js";
19
- import "./redact-Dd8jrogi.js";
20
- import "./errors-C4A6pz-b.js";
21
- import "./ssrf-BgY65jh5.js";
22
- import "./local-roots-c_gaPs01.js";
23
- import "./chrome-BKzAKr3K.js";
24
- import "./command-format-CVrYFyZS.js";
25
- import "./thinking-Ca0DhqzO.js";
26
- import "./plugins-DF81oSaI.js";
27
- import "./bindings-CN2Qmefj.js";
28
- import "./deliver-TxAcw7J5.js";
29
- import "./message-channel-BrAhJJV_.js";
30
- import "./pi-embedded-helpers-s_U0Un7j.js";
31
- import "./github-copilot-token-BbOxnzZ-.js";
32
- import "./manifest-registry-Dnic6Chh.js";
33
- import "./paths-DP1ngpUU.js";
34
- import "./diagnostic-Debx4frd.js";
35
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-DTyqujjA.js";
36
- import "./diagnostic-session-state-BORFVz7h.js";
37
- import "./image-BtDVmYA5.js";
38
- import "./pi-auth-json-ZO118hoy.js";
39
- import "./pi-model-discovery-Cvbykdeu.js";
40
- import "./manager-B71SCzos.js";
41
- import "./gemini-auth-7U2pm2Ky.js";
42
- import "./sqlite-Bx5Y5U5X.js";
43
- import "./markdown-tables-Dur7OTlM.js";
44
- import "./ir-CKMvRrGW.js";
45
- import "./render-qcqmrHse.js";
46
- import "./commands-registry-17yfZkHZ.js";
47
- import "./active-listener-DcJW7xAT.js";
48
- import "./resolve-route-ClCyiOeu.js";
49
- import "./proxy-DOYns4nT.js";
50
- import { n as sendMessageWhatsApp } from "./outbound-DB1wDM8b.js";
51
- import { i as waitForWaConnection, t as createWaSocket } from "./session-B_TkB65Y.js";
52
- import { t as loginWeb } from "./login-DUym1Jy0.js";
53
-
54
- export { WA_WEB_AUTH_DIR, createWaSocket, logWebSelfId, loginWeb, monitorWebChannel, monitorWebInbox, pickWebChannel, sendMessageWhatsApp, waitForWaConnection, webAuthExists };
@@ -1,24 +0,0 @@
1
- # Copilot Proxy (Symi plugin)
2
-
3
- Provider plugin for the **Copilot Proxy** VS Code extension.
4
-
5
- ## Enable
6
-
7
- Bundled plugins are disabled by default. Enable this one:
8
-
9
- ```bash
10
- symi plugins enable copilot-proxy
11
- ```
12
-
13
- Restart the Gateway after enabling.
14
-
15
- ## Authenticate
16
-
17
- ```bash
18
- symi models auth login --provider copilot-proxy --set-default
19
- ```
20
-
21
- ## Notes
22
-
23
- - Copilot Proxy must be running in VS Code.
24
- - Base URL must include `/v1`.
@@ -1,154 +0,0 @@
1
- import {
2
- emptyPluginConfigSchema,
3
- type SymiPluginApi,
4
- type ProviderAuthContext,
5
- type ProviderAuthResult,
6
- } from "symi/plugin-sdk";
7
-
8
- const DEFAULT_BASE_URL = "http://localhost:3000/v1";
9
- const DEFAULT_API_KEY = "n/a";
10
- const DEFAULT_CONTEXT_WINDOW = 128_000;
11
- const DEFAULT_MAX_TOKENS = 8192;
12
- const DEFAULT_MODEL_IDS = [
13
- "gpt-5.2",
14
- "gpt-5.2-codex",
15
- "gpt-5.1",
16
- "gpt-5.1-codex",
17
- "gpt-5.1-codex-max",
18
- "gpt-5-mini",
19
- "claude-opus-4.6",
20
- "claude-opus-4.5",
21
- "claude-sonnet-4.5",
22
- "claude-haiku-4.5",
23
- "gemini-3-pro",
24
- "gemini-3-flash",
25
- "grok-code-fast-1",
26
- ] as const;
27
-
28
- function normalizeBaseUrl(value: string): string {
29
- const trimmed = value.trim();
30
- if (!trimmed) {
31
- return DEFAULT_BASE_URL;
32
- }
33
- let normalized = trimmed;
34
- while (normalized.endsWith("/")) {
35
- normalized = normalized.slice(0, -1);
36
- }
37
- if (!normalized.endsWith("/v1")) {
38
- normalized = `${normalized}/v1`;
39
- }
40
- return normalized;
41
- }
42
-
43
- function validateBaseUrl(value: string): string | undefined {
44
- const normalized = normalizeBaseUrl(value);
45
- try {
46
- new URL(normalized);
47
- } catch {
48
- return "Enter a valid URL";
49
- }
50
- return undefined;
51
- }
52
-
53
- function parseModelIds(input: string): string[] {
54
- const parsed = input
55
- .split(/[\n,]/)
56
- .map((model) => model.trim())
57
- .filter(Boolean);
58
- return Array.from(new Set(parsed));
59
- }
60
-
61
- function buildModelDefinition(modelId: string) {
62
- return {
63
- id: modelId,
64
- name: modelId,
65
- api: "openai-completions" as const,
66
- reasoning: false,
67
- input: ["text", "image"] as Array<"text" | "image">,
68
- cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
69
- contextWindow: DEFAULT_CONTEXT_WINDOW,
70
- maxTokens: DEFAULT_MAX_TOKENS,
71
- };
72
- }
73
-
74
- const copilotProxyPlugin = {
75
- id: "copilot-proxy",
76
- name: "Copilot Proxy",
77
- description: "Local Copilot Proxy (VS Code LM) provider plugin",
78
- configSchema: emptyPluginConfigSchema(),
79
- register(api: SymiPluginApi) {
80
- api.registerProvider({
81
- id: "copilot-proxy",
82
- label: "Copilot Proxy",
83
- docsPath: "/providers/models",
84
- auth: [
85
- {
86
- id: "local",
87
- label: "Local proxy",
88
- hint: "Configure base URL + models for the Copilot Proxy server",
89
- kind: "custom",
90
- run: async (ctx: ProviderAuthContext): Promise<ProviderAuthResult> => {
91
- const baseUrlInput = await ctx.prompter.text({
92
- message: "Copilot Proxy base URL",
93
- initialValue: DEFAULT_BASE_URL,
94
- validate: validateBaseUrl,
95
- });
96
-
97
- const modelInput = await ctx.prompter.text({
98
- message: "Model IDs (comma-separated)",
99
- initialValue: DEFAULT_MODEL_IDS.join(", "),
100
- validate: (value: string) =>
101
- parseModelIds(value).length > 0 ? undefined : "Enter at least one model id",
102
- });
103
-
104
- const baseUrl = normalizeBaseUrl(baseUrlInput);
105
- const modelIds = parseModelIds(modelInput);
106
- const defaultModelId = modelIds[0] ?? DEFAULT_MODEL_IDS[0];
107
- const defaultModelRef = `copilot-proxy/${defaultModelId}`;
108
-
109
- return {
110
- profiles: [
111
- {
112
- profileId: "copilot-proxy:local",
113
- credential: {
114
- type: "token",
115
- provider: "copilot-proxy",
116
- token: DEFAULT_API_KEY,
117
- },
118
- },
119
- ],
120
- configPatch: {
121
- models: {
122
- providers: {
123
- "copilot-proxy": {
124
- baseUrl,
125
- apiKey: DEFAULT_API_KEY,
126
- api: "openai-completions",
127
- authHeader: false,
128
- models: modelIds.map((modelId) => buildModelDefinition(modelId)),
129
- },
130
- },
131
- },
132
- agents: {
133
- defaults: {
134
- models: Object.fromEntries(
135
- modelIds.map((modelId) => [`copilot-proxy/${modelId}`, {}]),
136
- ),
137
- },
138
- },
139
- },
140
- defaultModel: defaultModelRef,
141
- notes: [
142
- "Start the Copilot Proxy VS Code extension before using these models.",
143
- "Copilot Proxy serves /v1/chat/completions; base URL must include /v1.",
144
- "Model availability depends on your Copilot plan; edit models.providers.copilot-proxy if needed.",
145
- ],
146
- };
147
- },
148
- },
149
- ],
150
- });
151
- },
152
- };
153
-
154
- export default copilotProxyPlugin;
@@ -1,21 +0,0 @@
1
- #!/bin/sh
2
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
-
4
- case `uname` in
5
- *CYGWIN*|*MINGW*|*MSYS*)
6
- if command -v cygpath > /dev/null 2>&1; then
7
- basedir=`cygpath -w "$basedir"`
8
- fi
9
- ;;
10
- esac
11
-
12
- if [ -z "$NODE_PATH" ]; then
13
- export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules"
14
- else
15
- export NODE_PATH="/home/symi/projects/symi/node_modules:/home/symi/projects/node_modules:/home/symi/node_modules:/home/node_modules:/node_modules:/home/symi/projects/symi/node_modules/.pnpm/node_modules:$NODE_PATH"
16
- fi
17
- if [ -x "$basedir/node" ]; then
18
- exec "$basedir/node" "$basedir/../@symerian/symi/symi.mjs" "$@"
19
- else
20
- exec node "$basedir/../@symerian/symi/symi.mjs" "$@"
21
- fi
@@ -1,15 +0,0 @@
1
- {
2
- "name": "@symi/copilot-proxy",
3
- "version": "3.0.9",
4
- "private": true,
5
- "description": "Symi Copilot Proxy provider plugin",
6
- "type": "module",
7
- "devDependencies": {
8
- "@symerian/symi": "workspace:*"
9
- },
10
- "symi": {
11
- "extensions": [
12
- "./index.ts"
13
- ]
14
- }
15
- }
@@ -1,9 +0,0 @@
1
- {
2
- "id": "copilot-proxy",
3
- "providers": ["copilot-proxy"],
4
- "configSchema": {
5
- "type": "object",
6
- "additionalProperties": false,
7
- "properties": {}
8
- }
9
- }