@symerian/symi 2.5.8 → 2.6.1

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 (240) hide show
  1. package/dist/{accounts-qtxJ-6em.js → accounts-3dCrO3oZ.js} +1 -1
  2. package/dist/{accounts-tNElYrCH.js → accounts-BRw8yhIW.js} +21 -21
  3. package/dist/{accounts-CWktKM8a.js → accounts-BuZxOb3B.js} +1 -1
  4. package/dist/{active-listener-C9r8ZB9m.js → active-listener-CfHHV2SU.js} +1 -1
  5. package/dist/{agent-scope-BxoUQqgM.js → agent-scope-CpEJ0B88.js} +3 -3
  6. package/dist/{agents-CXloh6n_.js → agents-DQIz-_on.js} +4 -4
  7. package/dist/{agents.config-BuTzBaXf.js → agents.config-CIJRaVWl.js} +1 -1
  8. package/dist/{agents.config-BhAJXAtA.js → agents.config-D8WPDf-m.js} +1 -1
  9. package/dist/{audio-preflight-O3ASWbaG.js → audio-preflight-BVaaZWkg.js} +34 -34
  10. package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
  11. package/dist/{auth-choice-DvaVrSwn.js → auth-choice-BqFbNDuP.js} +1 -1
  12. package/dist/{auth-choice-Br6zT8iS.js → auth-choice-DTDyJL1r.js} +1 -1
  13. package/dist/{model-auth-DK43VicI.js → auth-profiles-DdK1Hxaa.js} +412 -412
  14. package/dist/{banner-BtqKaQZr.js → banner-DYDCxnDL.js} +1 -1
  15. package/dist/{bindings-B7Ke6LJi.js → bindings-BsHoBLIE.js} +2 -2
  16. package/dist/build-info.json +3 -3
  17. package/dist/bundled/boot-md/handler.js +60 -60
  18. package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
  19. package/dist/bundled/command-logger/handler.js +3 -3
  20. package/dist/bundled/session-memory/handler.js +61 -61
  21. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  22. package/dist/{channel-activity-CsM_hJ_s.js → channel-activity-B6G1jnQT.js} +2 -2
  23. package/dist/{channel-options-CfLxsV76.js → channel-options-CvHSm_Kx.js} +1 -1
  24. package/dist/{channel-options-DFHEgad5.js → channel-options-vBCJhJB7.js} +1 -1
  25. package/dist/{channel-web-D-jDDmWN.js → channel-web-CM2LyWZW.js} +1 -1
  26. package/dist/{channels-cli-BEZORT4N.js → channels-cli-D5H3Wcho.js} +4 -4
  27. package/dist/{channels-cli-CT6wdGT8.js → channels-cli-DzOjNNFn.js} +4 -4
  28. package/dist/{chrome-BFekevcE.js → chrome-D2SKJnR7.js} +24 -24
  29. package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
  30. package/dist/{chunk-BW5f05BR.js → chunk-09egQapi.js} +1 -1
  31. package/dist/{cli-kxxM9xT0.js → cli-8hqssnRJ.js} +1 -1
  32. package/dist/{cli-CkxvN9Cb.js → cli-DNZwCDRe.js} +1 -1
  33. package/dist/{command-registry-DsqA8NDd.js → command-registry-CHtN2HeK.js} +9 -9
  34. package/dist/{commands-registry-D7CTCQPm.js → commands-registry-Bfc7Uz0o.js} +4 -4
  35. package/dist/{completion-cli-mZMiIG7C.js → completion-cli-C8y_J5KC.js} +1 -1
  36. package/dist/{completion-cli-QCrjurdu.js → completion-cli-Cov6N3BO.js} +2 -2
  37. package/dist/{config-DRbjHIwD.js → config-5SdHIcHU.js} +6 -6
  38. package/dist/{config-cli-CS_0o9LY.js → config-cli-B2REEd2l.js} +1 -1
  39. package/dist/{config-cli-DLsLPE4o.js → config-cli-BwO0xAbV.js} +1 -1
  40. package/dist/{configure-T9J4bw0H.js → configure-BWSYSi2-.js} +3 -3
  41. package/dist/{configure-BX4aNf3w.js → configure-C6yNe33U.js} +3 -3
  42. package/dist/{conversation-label-DXUkoKcB.js → conversation-label-Onz2hiJh.js} +1 -1
  43. package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
  44. package/dist/{deliver-CvCK5Mm9.js → deliver-C46-vyqg.js} +11 -11
  45. package/dist/{diagnostic-CI0kRQkt.js → diagnostic-rPhsBoZz.js} +2 -2
  46. package/dist/{doctor-completion-BKydQfCM.js → doctor-completion-BKKzstt6.js} +1 -1
  47. package/dist/{doctor-completion-CTodkFg2.js → doctor-completion-D7CDLFLg.js} +1 -1
  48. package/dist/entry.js +1 -1
  49. package/dist/{command-format-BaxDnULz.js → env-BDXYbTKj.js} +10 -10
  50. package/dist/{errors-BoQgnc8X.js → errors-XIsvXeC-.js} +1 -1
  51. package/dist/extensionAPI.js +6 -6
  52. package/dist/{frontmatter-C_bv_0P8.js → frontmatter-CTR5f_Ez.js} +2 -2
  53. package/dist/{gateway-cli-CZnyhTAu.js → gateway-cli-BhFM4Bkm.js} +20 -18
  54. package/dist/{gateway-cli-DEpU3Bg3.js → gateway-cli-Datohp3m.js} +20 -18
  55. package/dist/{gemini-auth-CdSPHuLl.js → gemini-auth-Dy12ZAH3.js} +2 -2
  56. package/dist/{github-copilot-token-C_qUP7p5.js → github-copilot-token-cCYzSU9h.js} +1 -1
  57. package/dist/{glass-ui-ws-KbKXJGb5.js → glass-ui-ws-BzqfD_wX.js} +7 -7
  58. package/dist/{glass-ui-ws-BdBSYcsf.js → glass-ui-ws-D9yvYULL.js} +7 -7
  59. package/dist/{health-DQmyj-7z.js → health-BjwDRAdd.js} +1 -1
  60. package/dist/{health-z-YCZRhf.js → health-C5XJPwpt.js} +1 -1
  61. package/dist/{hooks-cli-4d-QhgRs.js → hooks-cli-CafMq9Vr.js} +2 -2
  62. package/dist/{hooks-cli-BRehYEXJ.js → hooks-cli-U12oVyLH.js} +2 -2
  63. package/dist/{image-B0wGflxA.js → image-CuzFLQWC.js} +7 -7
  64. package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
  65. package/dist/{image-ops-CvJzsyvE.js → image-ops-C7CauEK8.js} +99 -99
  66. package/dist/{inbound-context-BlHX0H3E.js → inbound-context-DSDTl6Kj.js} +2 -2
  67. package/dist/index.js +6 -6
  68. package/dist/{ir-DccrnjsE.js → ir-CTiz95Vb.js} +5 -5
  69. package/dist/llm-slug-generator.js +64 -84
  70. package/dist/{local-roots-DMwIh5cS.js → local-roots-DhZz0Ybs.js} +6 -6
  71. package/dist/{login-qr-Batf3PT5.js → login-qr-AP9agO-i.js} +13 -13
  72. package/dist/{login-CwCoxapk.js → login-ul8zaw_S.js} +7 -7
  73. package/dist/{manager-D_LwXbc6.js → manager-PprhCvO_.js} +25 -25
  74. package/dist/{manifest-registry-D0IQ3WuX.js → manifest-registry-yb7sAlu4.js} +2 -2
  75. package/dist/{markdown-tables-iMQQZu4Q.js → markdown-tables-C-BmIap8.js} +1 -1
  76. package/dist/{message-channel-Dz5lr5b0.js → message-channel-OlFBYAw8.js} +1 -1
  77. package/dist/{models-CPlSSoV0.js → models-Bo4iHJy-.js} +7 -8
  78. package/dist/{models-cli-BM2RWTmM.js → models-cli-6aNi3eN9.js} +7 -8
  79. package/dist/{models-cli-DDhpJuX3.js → models-cli-B5vh-XK8.js} +3 -3
  80. package/dist/{onboard-DpB21qno.js → onboard-Bm-pmstf.js} +2 -2
  81. package/dist/{onboard-channels-DjfS9mS6.js → onboard-channels-BRd1cXye.js} +1 -1
  82. package/dist/{onboard-channels-S0FbC25u.js → onboard-channels-CUl5U8kV.js} +1 -1
  83. package/dist/{onboard-BczLOUCW.js → onboard-f-GJ26Ix.js} +2 -2
  84. package/dist/{onboarding-CyPkawbg.js → onboarding-CvBDWlBJ.js} +3 -3
  85. package/dist/{onboarding--mrKZtpR.js → onboarding-DIVKvosg.js} +3 -3
  86. package/dist/{onboarding.finalize-0XoI3wLH.js → onboarding.finalize-DJX6mSLa.js} +6 -6
  87. package/dist/{onboarding.finalize-C0ijhYbg.js → onboarding.finalize-WSac-JKd.js} +5 -5
  88. package/dist/{outbound-D4fN_ZlE.js → outbound-CtMCmwxR.js} +7 -7
  89. package/dist/{outbound-attachment-DjNDa3zn.js → outbound-attachment-DJldbweZ.js} +2 -2
  90. package/dist/{paths-DLyHUt31.js → paths-CbQV9WEg.js} +2 -2
  91. package/dist/{pi-auth-json-0SYBFZTt.js → pi-auth-json-Bk8ERadJ.js} +10 -10
  92. package/dist/{pi-embedded-Cg70pjmm.js → pi-embedded-BmbbC1Sb.js} +20275 -20070
  93. package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
  94. package/dist/{pi-embedded-helpers-DLFjnVBb.js → pi-embedded-helpers-CfqDGQ9J.js} +81 -81
  95. package/dist/{plugin-registry-VhRGXCLQ.js → plugin-registry-2zUJMasm.js} +1 -1
  96. package/dist/{plugin-registry-Dxo1iUfJ.js → plugin-registry-5yf-hu_W.js} +1 -1
  97. package/dist/plugin-sdk/agents/model-token-filter.d.ts +10 -0
  98. package/dist/plugin-sdk/agents/pi-embedded-runner.d.ts +1 -1
  99. package/dist/plugin-sdk/agents/pi-tools.validate-wrapper.d.ts +23 -0
  100. package/dist/plugin-sdk/agents/pi-tools.validate.d.ts +26 -0
  101. package/dist/plugin-sdk/agents/tool-loop-detection.d.ts +3 -1
  102. package/dist/plugin-sdk/agents/unified-runner.d.ts +69 -1
  103. package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +2 -2
  104. package/dist/plugin-sdk/{channel-web-DKo2tOO-.js → channel-web-DPyyTvFo.js} +1 -1
  105. package/dist/plugin-sdk/config/model-profiles.d.ts +2 -0
  106. package/dist/plugin-sdk/index.js +2 -2
  107. package/dist/plugin-sdk/infra/diagnostic-events.d.ts +1 -1
  108. package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +2 -0
  109. package/dist/plugin-sdk/logging/diagnostic.d.ts +1 -1
  110. package/dist/plugin-sdk/{reply-Ch4_18FZ.js → reply-QAcAd9ev.js} +536 -331
  111. package/dist/plugin-sdk/{tool-loop-detection-edmW8ZiF.js → tool-loop-detection-DU5sTIKg.js} +53 -3
  112. package/dist/plugin-sdk/{web-Dz2oyzw_.js → web-DaTTL9M0.js} +2 -2
  113. package/dist/{plugins-DQYI3Fr-.js → plugins-BzmbgY7s.js} +5 -5
  114. package/dist/{plugins-cli-zNr1ThAO.js → plugins-cli-D4eRESV2.js} +2 -2
  115. package/dist/{plugins-cli-DeDSnKlr.js → plugins-cli-DksVl33N.js} +2 -2
  116. package/dist/{program-COEKTv5u.js → program-BjORH7Cc.js} +7 -7
  117. package/dist/{program-context-CbM3x8lT.js → program-context-DaNGrTOm.js} +17 -17
  118. package/dist/{prompt-select-styled-d18_XWTb.js → prompt-select-styled-QaS2zul_.js} +4 -4
  119. package/dist/{prompt-select-styled-C6JLWNMU.js → prompt-select-styled-YOj4xigd.js} +4 -4
  120. package/dist/{provider-auth-helpers-BmH4oHwJ.js → provider-auth-helpers-BAGT_RXV.js} +1 -1
  121. package/dist/{provider-auth-helpers-C8cO9DLi.js → provider-auth-helpers-DCEbm2hz.js} +1 -1
  122. package/dist/{push-apns-CoqskfCc.js → push-apns-BECodU1i.js} +1 -1
  123. package/dist/{push-apns-CJtWrkQV.js → push-apns-Bek3ANJa.js} +1 -1
  124. package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
  125. package/dist/{pw-ai-BnAKvSuw.js → pw-ai-m0mj2KWK.js} +16 -16
  126. package/dist/{qmd-manager-QHUP-_em.js → qmd-manager-iDLSiI4Z.js} +10 -10
  127. package/dist/{register.agent-C1Is84Q1.js → register.agent-B34lxx7F.js} +5 -5
  128. package/dist/{register.agent-fK3vOCU5.js → register.agent-DJHQo-Iq.js} +6 -6
  129. package/dist/{register.configure-CIwwqqt9.js → register.configure-BdhhIzb0.js} +6 -6
  130. package/dist/{register.configure-DFJeKFFK.js → register.configure-DC_-t5kj.js} +6 -6
  131. package/dist/{register.maintenance-BwTFd3Ax.js → register.maintenance-CITur3O_.js} +8 -8
  132. package/dist/{register.maintenance-DKDqruW6.js → register.maintenance-cs-A4kHF.js} +7 -7
  133. package/dist/{register.message-DYnXMP4c.js → register.message--RhtnEYn.js} +2 -2
  134. package/dist/{register.message-Ce57RPK8.js → register.message-PIaHm2pZ.js} +2 -2
  135. package/dist/{register.onboard-9glf-j43.js → register.onboard-CTJQoDcK.js} +4 -4
  136. package/dist/{register.onboard-Dj-_AJQr.js → register.onboard-DucZgrF7.js} +4 -4
  137. package/dist/{register.setup-C0CXUMFE.js → register.setup-2ZiUN7ui.js} +4 -4
  138. package/dist/{register.setup-Cp3DBI6D.js → register.setup-DD4Rgkt9.js} +4 -4
  139. package/dist/{register.status-health-sessions-DBXMyrNP.js → register.status-health-sessions-BqD7L8XL.js} +3 -3
  140. package/dist/{register.status-health-sessions-BncpB9Vw.js → register.status-health-sessions-sLgA92t7.js} +3 -3
  141. package/dist/{register.subclis-D6PmKJll.js → register.subclis-B2dGWFur.js} +9 -9
  142. package/dist/{registry-CK4e9hn8.js → registry-DYq1AYOv.js} +2 -2
  143. package/dist/{replies-BIX_isV7.js → replies-LSmuwOhA.js} +3 -3
  144. package/dist/{reply-BfZzgC9H.js → reply-DYnTEYoa.js} +537 -332
  145. package/dist/{reply-prefix-XlyuyChD.js → reply-prefix-DpqZu44Z.js} +1 -1
  146. package/dist/{resolve-route-CZ-1eqw0.js → resolve-route-C4_I4GFI.js} +5 -5
  147. package/dist/{retry-Cly39XZB.js → retry-BBVXkKBV.js} +1 -1
  148. package/dist/{run-main-wm3s04Xh.js → run-main-DWmu2b6D.js} +14 -14
  149. package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
  150. package/dist/{runner-odEv83vv.js → runner-CU9l0uJh.js} +46 -46
  151. package/dist/{send-WyRqb4WD.js → send-CQAKg_12.js} +7 -7
  152. package/dist/{send-DeFniOjh.js → send-CVMyYPQw.js} +7 -7
  153. package/dist/{send-CiTGOvEc.js → send-CvhXrdgS.js} +12 -12
  154. package/dist/{send-DW96zgDL.js → send-DAN9hA5h.js} +6 -6
  155. package/dist/{send-B1u-LrcS.js → send-DYj_o4_F.js} +14 -14
  156. package/dist/{server-methods-D5zcFhng.js → server-methods-C8EWZt2g.js} +7 -7
  157. package/dist/{server-methods-xXv4ObXK.js → server-methods-vDGoM3xL.js} +7 -7
  158. package/dist/{server-node-events-BN7H6wBM.js → server-node-events-CKi12bol.js} +2 -2
  159. package/dist/{server-node-events-D4At7-pe.js → server-node-events-DFwGbkcO.js} +2 -2
  160. package/dist/{session-SM36BTsl.js → session-DSU1vxxi.js} +4 -4
  161. package/dist/{skill-commands-BJMb_psG.js → skill-commands-DcVwOafC.js} +17 -17
  162. package/dist/{skills-BFekKL7i.js → skills-Bs0AW1g3.js} +25 -25
  163. package/dist/{sqlite-DRbx2dhW.js → sqlite-D_mz1_-y.js} +17 -17
  164. package/dist/{status-XJTqV-CC.js → status--iNVOTMO.js} +2 -2
  165. package/dist/{status-PbQwO8SV.js → status-B1_iHrOg.js} +2 -2
  166. package/dist/{status-Nhvf_TEN.js → status-BQcdARV4.js} +1 -1
  167. package/dist/{status-C5rGEkur.js → status-DiX0DAtH.js} +1 -1
  168. package/dist/{store-C0wvOkae.js → store-01F_JM7O.js} +6 -6
  169. package/dist/{subagent-registry-DvCrN2PQ.js → subagent-registry-CXrOOgPW.js} +19438 -19233
  170. package/dist/{subsystem-Bs9YvKLa.js → subsystem-BjyjJF-d.js} +1 -1
  171. package/dist/{tables-DuZspiBu.js → tables-qMwbq29u.js} +1 -1
  172. package/dist/{target-errors-Be1SwYlW.js → target-errors-Bbr9rlzN.js} +2 -2
  173. package/dist/{thinking-CdlENGRW.js → thinking-BprCy23Z.js} +5 -5
  174. package/dist/{tokens-H1H1LiSQ.js → tokens-Bux9Y_xD.js} +1 -1
  175. package/dist/{tool-images-DXB7tqWi.js → tool-images-SqqWIT22.js} +2 -2
  176. package/dist/{tool-loop-detection-BgbtzUGc.js → tool-loop-detection-C7TCF2V2.js} +53 -3
  177. package/dist/{tool-loop-detection-BU3fbtCd.js → tool-loop-detection-D7qjFnRh.js} +53 -3
  178. package/dist/{tool-loop-detection-B6j1r-Wk.js → tool-loop-detection-DPVtQOfM.js} +53 -3
  179. package/dist/{tool-loop-detection-Cs8_HCsx.js → tool-loop-detection-DR_rrIA1.js} +56 -6
  180. package/dist/{pi-embedded-CTBkDXkV.js → unified-runner-CulJZMxc.js} +69924 -69719
  181. package/dist/{update-cli-BHxqriaA.js → update-cli-560gprSp.js} +7 -7
  182. package/dist/{update-cli-IqwjBYS0.js → update-cli-D1pLX3eo.js} +8 -8
  183. package/dist/{update-runner-BuoOzUcX.js → update-runner-BQxFFCGc.js} +1 -1
  184. package/dist/{update-runner-BFwirE1P.js → update-runner-CLKHrONW.js} +1 -1
  185. package/dist/{web-C4CDNJmR.js → web-Bqrgp43v.js} +1 -1
  186. package/dist/{web-OSVyyJa9.js → web-D4qJ9XKP.js} +6 -6
  187. package/dist/{web-Cr6E8Ych.js → web-Dr5cOn-1.js} +2 -2
  188. package/dist/{web-Dti17mxB.js → web-hHX9a9YO.js} +64 -64
  189. package/dist/{whatsapp-actions-D1RsnX7P.js → whatsapp-actions-BIeSWsCF.js} +25 -25
  190. package/dist/{workspace-wAaHI8-5.js → workspace-DscDraUb.js} +28 -28
  191. package/extensions/bluebubbles/node_modules/.bin/symi +0 -0
  192. package/extensions/copilot-proxy/node_modules/.bin/symi +0 -0
  193. package/extensions/diagnostics-otel/node_modules/.bin/acorn +0 -0
  194. package/extensions/diagnostics-otel/node_modules/.bin/symi +0 -0
  195. package/extensions/discord/node_modules/.bin/symi +0 -0
  196. package/extensions/feishu/node_modules/.bin/symi +0 -0
  197. package/extensions/google-antigravity-auth/node_modules/.bin/symi +0 -0
  198. package/extensions/google-gemini-cli-auth/node_modules/.bin/symi +0 -0
  199. package/extensions/googlechat/node_modules/.bin/symi +0 -0
  200. package/extensions/imessage/node_modules/.bin/symi +0 -0
  201. package/extensions/irc/node_modules/.bin/symi +0 -0
  202. package/extensions/learning-loop/node_modules/.bin/symi +0 -0
  203. package/extensions/line/node_modules/.bin/symi +0 -0
  204. package/extensions/matrix/node_modules/.bin/markdown-it +0 -0
  205. package/extensions/matrix/node_modules/.bin/symi +0 -0
  206. package/extensions/mattermost/node_modules/.bin/symi +0 -0
  207. package/extensions/memory-core/node_modules/.bin/symi +0 -0
  208. package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +0 -0
  209. package/extensions/memory-lancedb/node_modules/.bin/openai +0 -0
  210. package/extensions/memory-lancedb/node_modules/.bin/symi +0 -0
  211. package/extensions/minimax-portal-auth/node_modules/.bin/symi +0 -0
  212. package/extensions/msteams/node_modules/.bin/symi +0 -0
  213. package/extensions/nextcloud-talk/node_modules/.bin/symi +0 -0
  214. package/extensions/nostr/node_modules/.bin/symi +0 -0
  215. package/extensions/nostr/node_modules/.bin/tsc +0 -0
  216. package/extensions/nostr/node_modules/.bin/tsserver +0 -0
  217. package/extensions/signal/node_modules/.bin/symi +0 -0
  218. package/extensions/slack/node_modules/.bin/symi +0 -0
  219. package/extensions/telegram/node_modules/.bin/symi +0 -0
  220. package/extensions/tlon/node_modules/.bin/symi +0 -0
  221. package/extensions/twitch/node_modules/.bin/symi +0 -0
  222. package/extensions/voice-call/node_modules/.bin/symi +0 -0
  223. package/extensions/whatsapp/node_modules/.bin/symi +0 -0
  224. package/extensions/zalo/node_modules/.bin/symi +0 -0
  225. package/extensions/zalouser/node_modules/.bin/symi +0 -0
  226. package/package.json +83 -113
  227. package/skills/nano-banana-pro/scripts/generate_image.py +0 -0
  228. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -0
  229. package/skills/tmux/scripts/find-sessions.sh +0 -0
  230. package/skills/tmux/scripts/wait-for-text.sh +0 -0
  231. package/dist/paths-Cce4PUkG.js +0 -212
  232. /package/dist/{boolean-B8-BqKGQ.js → boolean-CE7i9tBR.js} +0 -0
  233. /package/dist/{chat-type-C_KiWNAH.js → chat-type-3FRbbjbq.js} +0 -0
  234. /package/dist/{diagnostic-session-state-Bxo4UHOL.js → diagnostic-session-state-Zw87xFym.js} +0 -0
  235. /package/dist/{legacy-names-BHV4AoFT.js → legacy-names-CePMUvus.js} +0 -0
  236. /package/dist/{pi-model-discovery-DaNAekda.js → pi-model-discovery-Bv5YDJc8.js} +0 -0
  237. /package/dist/{redact-jSxx6Ep2.js → redact-BDMXB06K.js} +0 -0
  238. /package/dist/{ssrf-BTMDZjHT.js → ssrf-DpUUUgkK.js} +0 -0
  239. /package/dist/{targets-CFovdgJI.js → targets-DGkXkFPj.js} +0 -0
  240. /package/dist/{transcript-events-DDYvbmRV.js → transcript-events-BBh3Gsrx.js} +0 -0
@@ -14,11 +14,16 @@
14
14
  * @module
15
15
  */
16
16
  import type { ImageContent } from "@mariozechner/pi-ai";
17
- import type { ReasoningLevel, ThinkLevel } from "../auto-reply/thinking.js";
17
+ import type { ReasoningLevel, ThinkLevel, VerboseLevel } from "../auto-reply/thinking.js";
18
+ import type { AgentStreamParams } from "../commands/agent/types.js";
18
19
  import type { SymiConfig } from "../config/config.js";
19
20
  import type { ModelProfile } from "../config/model-profiles.js";
21
+ import type { ExecElevatedDefaults, ExecToolDefaults } from "./bash-tools.exec-types.js";
22
+ import type { BlockReplyChunking } from "./pi-embedded-block-chunker.js";
23
+ import type { BlockReplyPayload } from "./pi-embedded-payloads.js";
20
24
  import type { ClientToolDefinition } from "./pi-embedded-runner/run/params.js";
21
25
  import type { EmbeddedPiRunResult } from "./pi-embedded-runner/types.js";
26
+ import type { ToolResultFormat } from "./pi-embedded-subscribe.types.js";
22
27
  import type { SkillSnapshot } from "./skills.js";
23
28
  export interface AgentTurnParams {
24
29
  sessionId: string;
@@ -42,6 +47,40 @@ export interface AgentTurnParams {
42
47
  reasoningLevel?: ReasoningLevel;
43
48
  timeoutMs: number;
44
49
  abortSignal?: AbortSignal;
50
+ /** Fallback models to try if primary fails. Runner handles rotation. */
51
+ fallbackModels?: string[];
52
+ /** Post-run hooks (verification, memory flush). Run after main turn completes. */
53
+ postRunHooks?: PostRunHook[];
54
+ /** Execution lane for concurrency control (e.g. "cron", "voice"). */
55
+ lane?: string;
56
+ /** Tool result format (markdown or plain, based on channel). */
57
+ toolResultFormat?: ToolResultFormat;
58
+ /** Verbose level for logging/diagnostics. */
59
+ verboseLevel?: VerboseLevel;
60
+ /** Owner phone numbers for owner-only tools. */
61
+ ownerNumbers?: string[];
62
+ /** Enforce final tag on reasoning output. */
63
+ enforceFinalTag?: boolean;
64
+ /** Exec tool overrides (host, security, ask, node). */
65
+ execOverrides?: Pick<ExecToolDefaults, "host" | "security" | "ask" | "node">;
66
+ /** Bash elevated mode defaults. */
67
+ bashElevated?: ExecElevatedDefaults;
68
+ /** Suppress tool error warning payloads. */
69
+ suppressToolErrorWarnings?: boolean;
70
+ /** Provider stream params override (temperature, maxTokens). */
71
+ streamParams?: AgentStreamParams;
72
+ /** Block reply break mode (text_end or message_end). */
73
+ blockReplyBreak?: "text_end" | "message_end";
74
+ /** Block reply chunking configuration. */
75
+ blockReplyChunking?: BlockReplyChunking;
76
+ /** Require explicit message tool targets (no implicit sends). */
77
+ requireExplicitMessageTarget?: boolean;
78
+ /** Omit the message tool from the tool list. */
79
+ disableMessageTool?: boolean;
80
+ /** Symipulse inactivity timeout in milliseconds. */
81
+ symipulseMs?: number;
82
+ /** Retry once on transient HTTP errors (502/521) with 2.5s delay. */
83
+ retryOnTransientError?: boolean;
45
84
  channel?: ChannelContext;
46
85
  callbacks?: AgentTurnCallbacks;
47
86
  }
@@ -87,6 +126,23 @@ export interface AgentTurnCallbacks {
87
126
  stream: string;
88
127
  data: Record<string, unknown>;
89
128
  }) => void;
129
+ /** Block streaming: called with chunk text when a block break is reached. */
130
+ onBlockReply?: (payload: BlockReplyPayload & {
131
+ isFinal: boolean;
132
+ }) => void | Promise<void>;
133
+ /** Block streaming: flush pending buffer (e.g. before tool execution). */
134
+ onBlockReplyFlush?: () => void | Promise<void>;
135
+ /** Typing: signal that the agent is actively working. */
136
+ onTypingStart?: () => void | Promise<void>;
137
+ /** Typing: signal that the agent has paused/completed. */
138
+ onTypingStop?: () => void | Promise<void>;
139
+ /** Compaction: context window was compressed. */
140
+ onCompaction?: (result: {
141
+ tokensBefore: number;
142
+ tokensAfter: number;
143
+ }) => void | Promise<void>;
144
+ /** Model fallback: primary model failed, trying fallback. */
145
+ onFallback?: (from: string, to: string, reason: string) => void | Promise<void>;
90
146
  }
91
147
  export interface ResponseMetadata {
92
148
  provider: string;
@@ -111,6 +167,18 @@ export interface AgentTurnResult {
111
167
  /** The raw result from the internal runner (for callers that need full detail). */
112
168
  rawResult: EmbeddedPiRunResult;
113
169
  }
170
+ /**
171
+ * Post-run hook — runs after the main agent turn completes.
172
+ * Used for verification prompts, memory flush, and other post-processing.
173
+ */
174
+ export interface PostRunHook {
175
+ /** Hook name for logging. */
176
+ name: string;
177
+ /** Whether this hook should run given the turn result. */
178
+ shouldRun: (result: AgentTurnResult) => boolean;
179
+ /** The hook body — receives the turn result and original params. */
180
+ execute: (result: AgentTurnResult, params: AgentTurnParams) => Promise<void>;
181
+ }
114
182
  /**
115
183
  * Execute a single agent turn. This is the unified entry point.
116
184
  *
@@ -1,4 +1,4 @@
1
- import { runEmbeddedPiAgent } from "../../agents/pi-embedded.js";
1
+ import type { EmbeddedPiRunResult } from "../../agents/pi-embedded-runner/types.js";
2
2
  import { type SessionEntry } from "../../config/sessions.js";
3
3
  import type { TemplateContext } from "../templating.js";
4
4
  import type { VerboseLevel } from "../thinking.js";
@@ -17,7 +17,7 @@ export type RuntimeFallbackAttempt = {
17
17
  export type AgentRunLoopResult = {
18
18
  kind: "success";
19
19
  runId: string;
20
- runResult: Awaited<ReturnType<typeof runEmbeddedPiAgent>>;
20
+ runResult: EmbeddedPiRunResult;
21
21
  fallbackProvider?: string;
22
22
  fallbackModel?: string;
23
23
  fallbackAttempts: RuntimeFallbackAttempt[];
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-Ch4_18FZ.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-QAcAd9ev.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-DDkdiUOR.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -22,6 +22,8 @@ export interface ModelProfileFilters {
22
22
  suppressMonologue: boolean;
23
23
  /** If true, the model produces structured thinking blocks (Claude-style). */
24
24
  hasStructuredThinking: boolean;
25
+ /** If true, validate tool arguments (exec commands) before execution. Default false. */
26
+ validateToolArgs?: boolean;
25
27
  }
26
28
  export interface ModelProfileUi {
27
29
  /** Badge text shown next to model name in Glass UI header. */
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-Ch4_18FZ.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-QAcAd9ev.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-mFf4i4G9.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DKo2tOO-.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-DPyyTvFo.js";
51
51
  import "./image-BOYy0Ump.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-CVBMpnPc.js";
@@ -126,7 +126,7 @@ export type DiagnosticToolLoopEvent = DiagnosticBaseEvent & {
126
126
  toolName: string;
127
127
  level: "warning" | "critical";
128
128
  action: "warn" | "block";
129
- detector: "generic_repeat" | "known_poll_no_progress" | "global_circuit_breaker" | "ping_pong";
129
+ detector: "generic_repeat" | "known_poll_no_progress" | "global_circuit_breaker" | "ping_pong" | "consecutive_failure";
130
130
  count: number;
131
131
  message: string;
132
132
  pairedToolName?: string;
@@ -17,6 +17,8 @@ export type ToolCallRecord = {
17
17
  argsHash: string;
18
18
  toolCallId?: string;
19
19
  resultHash?: string;
20
+ /** Whether this tool call resulted in an error. Used by consecutive failure detection. */
21
+ isError?: boolean;
20
22
  timestamp: number;
21
23
  };
22
24
  export type SessionRef = {
@@ -52,7 +52,7 @@ export declare function logToolLoopAction(params: SessionRef & {
52
52
  toolName: string;
53
53
  level: "warning" | "critical";
54
54
  action: "warn" | "block";
55
- detector: "generic_repeat" | "known_poll_no_progress" | "global_circuit_breaker" | "ping_pong";
55
+ detector: "generic_repeat" | "known_poll_no_progress" | "global_circuit_breaker" | "ping_pong" | "consecutive_failure";
56
56
  count: number;
57
57
  message: string;
58
58
  pairedToolName?: string;