@nikolasp98/minion 2026.6.14-dev.20260616061802 → 2026.6.16-dev

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 (393) hide show
  1. package/dist/{acp-cli-Du7NWZu3.js → acp-cli-2xKZfd6v.js} +3 -3
  2. package/dist/{acp-cli-BmKOFno7.js → acp-cli-q8e4aJoa.js} +3 -3
  3. package/dist/{agent-6dzad4Vk.js → agent-CZq9c4BW.js} +13 -13
  4. package/dist/{agent-step-C3wXb9Cx.js → agent-step-D5w2xNfi.js} +2 -2
  5. package/dist/{agent-step-Bf1GImWB.js → agent-step-DnVo1ws9.js} +2 -2
  6. package/dist/{agents-Dw2xlB7X.js → agents-3owoMugG.js} +7 -7
  7. package/dist/{agents-list-tool-Dq0lIpTn.js → agents-list-tool-Bjcc4I_6.js} +3 -3
  8. package/dist/{agents-list-tool-D9mHFLLa.js → agents-list-tool-CzUTgXov.js} +3 -3
  9. package/dist/{agents.config-1imA1H12.js → agents.config-Di1Fb5KI.js} +12 -12
  10. package/dist/{audit-DmbpL3cv.js → audit-B8L_aShb.js} +10 -10
  11. package/dist/{audit-DmJGMt0j.js → audit-Ck6MCUxx.js} +10 -10
  12. package/dist/{auth-choice-neer30p3.js → auth-choice-B6U5biA7.js} +4 -4
  13. package/dist/{auth-choice-CAmZkQLg.js → auth-choice-DmpOyRlb.js} +4 -4
  14. package/dist/{banner-DpI_geg3.js → banner-Be2ToLay.js} +1 -1
  15. package/dist/{browser-cli-z39mB4Us.js → browser-cli-BvtSNPci.js} +3 -3
  16. package/dist/{browser-cli-DDHEGwdS.js → browser-cli-De-S5eSp.js} +3 -3
  17. package/dist/{browser-tool-CWG74LXa.js → browser-tool-BVAlCkv9.js} +7 -7
  18. package/dist/{browser-tool-CZsdYOyF.js → browser-tool-CTNhVzit.js} +7 -7
  19. package/dist/build-info.json +3 -3
  20. package/dist/bundled/boot-md/handler.js +489 -42
  21. package/dist/bundled/kg-message-sync/handler.js +6 -2
  22. package/dist/bundled/session-memory/handler.js +47 -1
  23. package/dist/{call-DkT-xA-u.js → call-BrDNyQiZ.js} +2 -2
  24. package/dist/{call-COjGFB_A.js → call-Di0NGY7s.js} +2 -2
  25. package/dist/{call-BKa0221r.js → call-QNmBuec5.js} +1 -1
  26. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  27. package/dist/{canvas-tool-yqzOmVk8.js → canvas-tool-C8kJ8X6t.js} +2 -2
  28. package/dist/{canvas-tool-D7utVUj9.js → canvas-tool-v_tDod0l.js} +2 -2
  29. package/dist/{channel-options-DDJR7t6c.js → channel-options-BgB_XE_R.js} +1 -1
  30. package/dist/{channel-options-wAeX19Sd.js → channel-options-C3G3uvc8.js} +1 -1
  31. package/dist/{channel-web-B731iz_S.js → channel-web-C7erWB8c.js} +7 -7
  32. package/dist/{channels-cli-DyZ1QjyT.js → channels-cli-CWL9_dUC.js} +9 -9
  33. package/dist/{channels-cli-B2lgO976.js → channels-cli-D0WU7aEW.js} +9 -9
  34. package/dist/{chrome-BYfNS8BB.js → chrome-BUH9jMtc.js} +1 -1
  35. package/dist/{chrome-DKRiholg.js → chrome-WqxB18cs.js} +2 -2
  36. package/dist/{chrome-C3MXJRdA.js → chrome-xmfH0ICu.js} +2 -2
  37. package/dist/{clawbot-cli-ByrTjcjf.js → clawbot-cli-BqvWmOf2.js} +1 -1
  38. package/dist/{clawbot-cli-C-8EFRKv.js → clawbot-cli-Cy4xxEwA.js} +1 -1
  39. package/dist/cli/daemon-cli.js +1 -1
  40. package/dist/{cli-DNiohgQu.js → cli-C6-qelzK.js} +3 -3
  41. package/dist/{cli-D-m3umOT.js → cli-COPy2u3N.js} +3 -3
  42. package/dist/{client-D2hf2jQ7.js → client-BIS2Uayk.js} +4 -4
  43. package/dist/{client-BQN-LuPk.js → client-BoM5FwV4.js} +4 -4
  44. package/dist/{client-xu3whbFC.js → client-CTr2olAS.js} +4 -4
  45. package/dist/{command-registry-CB0tYTNA.js → command-registry-BSAY6wdm.js} +14 -14
  46. package/dist/{commands-registry-PW7IInMR.js → commands-registry-SXjoCA7i.js} +2 -2
  47. package/dist/{commands-registry-dia3m7-M.js → commands-registry-UnBqSA67.js} +2 -2
  48. package/dist/{completion-cli-Dg5pvBMY.js → completion-cli--3eqgAwK.js} +1 -1
  49. package/dist/{completion-cli-CSzxM5wY.js → completion-cli-RDTl_9qR.js} +2 -2
  50. package/dist/{config-BBoAK0dA.js → config-CkMQunWU.js} +6 -2
  51. package/dist/{config-ClkrcdId.js → config-DHYot764.js} +2 -2
  52. package/dist/{config-BgqD6SVw.js → config-DJTLRK5S.js} +2 -2
  53. package/dist/{config-cli-Denu0eEu.js → config-cli-BUCeVfP_.js} +4 -4
  54. package/dist/{config-cli-DtAjejub.js → config-cli-C1RrXpz0.js} +4 -4
  55. package/dist/{config-guard-DF1WNs2e.js → config-guard-CVx36OOi.js} +3 -3
  56. package/dist/config-guard-Csz0-uEX.js +2 -0
  57. package/dist/{config-validation-mmyHFUrK.js → config-validation-BVN3OEOd.js} +2 -2
  58. package/dist/{config-validation-lm5BwYiy.js → config-validation-C3jULSMI.js} +2 -2
  59. package/dist/{configure-CxrB1V4C.js → configure-CQEz5KQ3.js} +15 -15
  60. package/dist/{configure-CroxylRT.js → configure-akx6bWAt.js} +15 -15
  61. package/dist/{cron-cli-CYFkAl-f.js → cron-cli-BoMJUHUX.js} +2 -2
  62. package/dist/{cron-cli-CMjG3iLg.js → cron-cli-DvtMDSN2.js} +1 -1
  63. package/dist/{cron-tool-B3ffaxAO.js → cron-tool-Dcr3QMih.js} +5 -5
  64. package/dist/{cron-tool-BnUUPLV3.js → cron-tool-DllqQBKI.js} +5 -5
  65. package/dist/{daemon-cli-Bs0GD5xF.js → daemon-cli-CHfZAu4w.js} +9 -9
  66. package/dist/{daemon-cli-dauqwBcE.js → daemon-cli-D7K6zRR6.js} +9 -9
  67. package/dist/daemon-cli.js +6 -2
  68. package/dist/daemon-install-helpers-Ls_foXgf.js +2 -0
  69. package/dist/daemon-install-helpers-VzSaKa-j.js +2 -0
  70. package/dist/{daemon-runtime-C-XyxJRT.js → daemon-runtime--L-FasK6.js} +1 -1
  71. package/dist/{daemon-runtime-BLp3uThx.js → daemon-runtime-DKTkFmdZ.js} +1 -1
  72. package/dist/{deliver-C40KRMzm.js → deliver-BCijF1xe.js} +4 -4
  73. package/dist/{deliver-C5vVViLg.js → deliver-DiDYkpmh.js} +5 -5
  74. package/dist/{deliver-Dhut24vc.js → deliver-Ds0o_rCY.js} +3 -3
  75. package/dist/{deps-DRyTOIPO.js → deps-DFeGFeii.js} +6 -6
  76. package/dist/{devices-cli-DFPiK0W5.js → devices-cli-C9OvVBEs.js} +1 -1
  77. package/dist/{devices-cli-BfwxECLu.js → devices-cli-D4YJarjz.js} +1 -1
  78. package/dist/{diagnostic-Bzd3eHBU.js → diagnostic-CVAiT8Yi.js} +2 -2
  79. package/dist/{diagnostic-session-state-C8e7GxAm.js → diagnostic-session-state-Cj5nMvNL.js} +1 -1
  80. package/dist/{directory-cli-BX_a06o7.js → directory-cli--LuldZqc.js} +2 -2
  81. package/dist/{directory-cli-BQlGeeQK.js → directory-cli-DHpksyLI.js} +2 -2
  82. package/dist/{dispatcher-BWcYLowQ.js → dispatcher-D46WCdTe.js} +7 -7
  83. package/dist/{dispatcher-DefEQC4n.js → dispatcher-D8fgAnwH.js} +7 -7
  84. package/dist/{dm-policy-shared-Dm70u4Yr.js → dm-policy-shared-CEUsAI0F.js} +1 -1
  85. package/dist/{dm-policy-shared-DeX6SUMT.js → dm-policy-shared-DZglJJMa.js} +1 -1
  86. package/dist/{dns-cli-CxMaD4cI.js → dns-cli-C4L7EzEY.js} +2 -2
  87. package/dist/{dns-cli-DAdvx6qq.js → dns-cli-wSFONc42.js} +2 -2
  88. package/dist/{docs-cli-BR1YXIH4.js → docs-cli-4Dzg7LrJ.js} +1 -1
  89. package/dist/{docs-cli-BR8IKtP3.js → docs-cli-BWUGypxO.js} +1 -1
  90. package/dist/doctor-completion-B4bzzPyA.js +2 -0
  91. package/dist/doctor-completion-CE9xjPcf.js +2 -0
  92. package/dist/{doctor-completion-C3YAoPkP.js → doctor-completion-COKl8-PU.js} +1 -1
  93. package/dist/{doctor-completion-CkIy7FpB.js → doctor-completion-DPjvm1G7.js} +1 -1
  94. package/dist/{doctor-config-flow-CsP66Ij5.js → doctor-config-flow-CCqETtju.js} +4 -4
  95. package/dist/{doctor-config-flow-D_WRZLT3.js → doctor-config-flow-CRibe33c.js} +4 -4
  96. package/dist/entry.js +1 -1
  97. package/dist/{exec-approvals-cli-CLIzgYS8.js → exec-approvals-cli-CCqVDSOe.js} +2 -2
  98. package/dist/{exec-approvals-cli-DW2-7TEV.js → exec-approvals-cli-RRZ5wIP0.js} +2 -2
  99. package/dist/extensionAPI.d.ts +36 -2
  100. package/dist/extensionAPI.js +263 -20
  101. package/dist/{gateway-Duqy39t3.js → gateway-Bvd5CqY4.js} +3 -3
  102. package/dist/{gateway-CqhiWZQd.js → gateway-D_kwhuup.js} +3 -3
  103. package/dist/{gateway-cli-CUrxOlB4.js → gateway-cli-BbuSOWKq.js} +328 -244
  104. package/dist/{gateway-cli-BrM4d8E7.js → gateway-cli-C-AMSwgo.js} +324 -240
  105. package/dist/{gateway-0sVK3Rjy.js → gateway-q_fM0u-m.js} +2 -2
  106. package/dist/{gateway-rpc-BGgh3mTl.js → gateway-rpc-Ed0F1N_m.js} +1 -1
  107. package/dist/{gateway-rpc-9WQJwkTJ.js → gateway-rpc-J14XBNuM.js} +1 -1
  108. package/dist/{gateway-tool-DtlbDV6N.js → gateway-tool-Bi96OPGe.js} +3 -3
  109. package/dist/{gateway-tool-CMd3r3O5.js → gateway-tool-CNaxsMbd.js} +3 -3
  110. package/dist/{github-copilot-auth-Dh5sombA.js → github-copilot-auth-BmlL3P7c.js} +2 -2
  111. package/dist/{github-copilot-auth-ClDHXpfT.js → github-copilot-auth-DhjScF3O.js} +2 -2
  112. package/dist/{gmail-Dkq3kngs.js → gmail-BuCz-KEp.js} +1 -1
  113. package/dist/{gmail-DpPYd91j.js → gmail-C1O6grHu.js} +1 -1
  114. package/dist/{health-BlZEOPXK.js → health-6TTjEZoo.js} +8 -8
  115. package/dist/{health-BJ-Irw3K.js → health-BJbAa4df.js} +8 -8
  116. package/dist/{hooks-cli-Bqd1BR2r.js → hooks-cli-C0Z9dRtP.js} +2 -2
  117. package/dist/{hooks-cli-CR_bwhdf.js → hooks-cli-DFrRHJ1j.js} +2 -2
  118. package/dist/{host-D3VZGype.js → host-C8oRBLB6.js} +1 -1
  119. package/dist/{host-CafVbu36.js → host-DCfZcVR_.js} +1 -1
  120. package/dist/{image-tool-CwCxITcF.js → image-tool-D_dhIXLT.js} +2 -2
  121. package/dist/{image-tool-BY8NbIQs.js → image-tool-y-FDf6-M.js} +2 -2
  122. package/dist/index.d.ts +36 -2
  123. package/dist/index.js +10 -10
  124. package/dist/{io-TKYkFbcF.js → io-C_Q6AU5E.js} +2 -2
  125. package/dist/{io-oiyyZuuG.js → io-CpUiX-Lv.js} +2 -2
  126. package/dist/{ir-CP9ltYx0.js → ir-D0vxg3iM.js} +2 -2
  127. package/dist/{knowledge-graph-Dd0rSl0Q.js → knowledge-graph-BFnL_feN.js} +1 -1
  128. package/dist/{lifecycle-core-C7W7YZwn.js → lifecycle-core-CCUOBmZs.js} +3 -3
  129. package/dist/{lifecycle-core-BQztQGrv.js → lifecycle-core-CX37YE4Z.js} +3 -3
  130. package/dist/llm-slug-generator.js +47 -1
  131. package/dist/{logs-cli-CdAJHTuP.js → logs-cli-BYdqoMkJ.js} +2 -2
  132. package/dist/{logs-cli-lcuW5kPv.js → logs-cli-Comxq7pP.js} +2 -2
  133. package/dist/{manager-DeR0znMP.js → manager-DvUEsXx3.js} +1 -1
  134. package/dist/{memory-cli-BxVGlaEm.js → memory-cli-Bz--RMDo.js} +3 -3
  135. package/dist/{memory-cli-Y_w-AsVt.js → memory-cli-ilkHc_D4.js} +3 -3
  136. package/dist/{message-action-runner-CE4bDq6V.js → message-action-runner-BZQOV03k.js} +9 -9
  137. package/dist/{message-action-runner-BdclEzxx.js → message-action-runner-J8W9BPhj.js} +9 -9
  138. package/dist/{message-tool-BpFLUe6E.js → message-tool-BHJpugQ6.js} +6 -6
  139. package/dist/{message-tool-_MODnjgC.js → message-tool-GTRrYMuR.js} +6 -6
  140. package/dist/{model-catalog-AiXYmm_2.js → model-catalog-7Ew4iFgU.js} +3 -3
  141. package/dist/{model-catalog-CIgjk707.js → model-catalog-B1R3eepi.js} +3 -3
  142. package/dist/{model-fallback-DsefSc26.js → model-fallback--afWtYyY.js} +2 -2
  143. package/dist/{model-fallback-C92G-WUW.js → model-fallback-DXR7ZbvM.js} +2 -2
  144. package/dist/{model-fallback-Dwkt7imi.js → model-fallback-GSMox3YK.js} +3 -3
  145. package/dist/{model-picker-B_SEgewv.js → model-picker--bqpbxbC.js} +2 -2
  146. package/dist/{model-picker-DLr3xagY.js → model-picker-DJpEjKZT.js} +2 -2
  147. package/dist/{models-YFKEQsfy.js → models-CETV4zZ3.js} +12 -12
  148. package/dist/{models-cli-DuHCNW7r.js → models-cli-B5caj79x.js} +2 -2
  149. package/dist/{models-cli-yoQKaR0X.js → models-cli-DPT6gYJm.js} +12 -12
  150. package/dist/{models-config-BWzVL4DK.js → models-config-CX3wpMrd.js} +2 -2
  151. package/dist/{models-config-Df7nRCU-.js → models-config-ChIAfklN.js} +2 -2
  152. package/dist/{node-cli-D4pCYQMW.js → node-cli-4VRhz_1P.js} +7 -7
  153. package/dist/{node-cli-DzvdQBVp.js → node-cli-DyoQqYo1.js} +7 -7
  154. package/dist/{nodes-cli-CHWJMLm6.js → nodes-cli-CNQ633Hz.js} +5 -5
  155. package/dist/{nodes-cli-cjiOPFLH.js → nodes-cli-Dl3KtKoX.js} +5 -5
  156. package/dist/{nodes-tool-CR8MmpTZ.js → nodes-tool-BkgixWxk.js} +3 -3
  157. package/dist/{nodes-tool-DxMgloLr.js → nodes-tool-BmT8LWTt.js} +3 -3
  158. package/dist/{nodes-utils-BHrOJOWk.js → nodes-utils-B1jr4oHE.js} +1 -1
  159. package/dist/{nodes-utils-BRFzmJmB.js → nodes-utils-CVaBTJ5V.js} +1 -1
  160. package/dist/{nodes-utils-Eo4ilZ36.js → nodes-utils-DVNKajNN.js} +1 -1
  161. package/dist/{onboard-D3EkmOs0.js → onboard-BSb-bXtw.js} +9 -9
  162. package/dist/{onboard-DdguleAq.js → onboard-DHzBfhN9.js} +9 -9
  163. package/dist/{onboard-channels-DBltNYY2.js → onboard-channels-BP5oQVqD.js} +1 -1
  164. package/dist/{onboard-channels-cSzxNqaz.js → onboard-channels-CNmc5fTo.js} +1 -1
  165. package/dist/{onboard-channels-CeAsHBgW.js → onboard-channels-DHeOj8d6.js} +1 -1
  166. package/dist/{onboard-channels-ZDMAODeW.js → onboard-channels-DqoegMtk.js} +1 -1
  167. package/dist/{onboard-custom-DqkrqRdv.js → onboard-custom-B7OO328d.js} +2 -2
  168. package/dist/{onboard-custom-DMHUJH5-.js → onboard-custom-BODmfSpC.js} +1 -1
  169. package/dist/{onboard-custom-Vb7K9679.js → onboard-custom-BZv_tJxB.js} +1 -1
  170. package/dist/{onboard-custom-DOEx3xcN.js → onboard-custom-D7LvDFdH.js} +2 -2
  171. package/dist/{onboard-helpers-D60Qp1ne.js → onboard-helpers-B9IGa3vx.js} +5 -5
  172. package/dist/{onboard-helpers-7fbTU2tq.js → onboard-helpers-BKca3qU4.js} +1 -1
  173. package/dist/{onboard-helpers-DCve32jF.js → onboard-helpers-DP2LE5Oh.js} +5 -5
  174. package/dist/{onboard-helpers-xGGsG9to.js → onboard-helpers-HkYz_NGi.js} +1 -1
  175. package/dist/{onboard-remote-B13DRLJa.js → onboard-remote-DQrtJWPJ.js} +1 -1
  176. package/dist/{onboard-remote-C6s3bR7X.js → onboard-remote-kBPMv7zo.js} +1 -1
  177. package/dist/{onboard-skills-BU0OKpqj.js → onboard-skills-Cd2WeuBn.js} +3 -3
  178. package/dist/{onboard-skills-CKzdl2Ph.js → onboard-skills-KRXxu17b.js} +3 -3
  179. package/dist/{onboarding-BkiZ3JkU.js → onboarding-Cg42Uf0E.js} +11 -11
  180. package/dist/{onboarding-C--TfoeE.js → onboarding-nPyIyp8f.js} +11 -11
  181. package/dist/{onboarding.finalize-CUkOVH_E.js → onboarding.finalize-B8gctARP.js} +9 -9
  182. package/dist/{onboarding.finalize-Damz4ET-.js → onboarding.finalize-BoMhnz3U.js} +9 -9
  183. package/dist/{onboarding.gateway-config-BA3PQJBL.js → onboarding.gateway-config-Co5c5Jsj.js} +2 -2
  184. package/dist/{onboarding.gateway-config-4wtmgfdq.js → onboarding.gateway-config-DkkPCpUx.js} +2 -2
  185. package/dist/{outbound-send-deps-BmDpImVK.js → outbound-send-deps-Dg8cSoFv.js} +6 -6
  186. package/dist/{outbound-session-B9B7Vsxm.js → outbound-session-BCNTkSVV.js} +3 -3
  187. package/dist/{outbound-session-pZGUQ4vz.js → outbound-session-BG0ZMrIB.js} +3 -3
  188. package/dist/{pairing-cli-CRnZKVjx.js → pairing-cli-B_sfgSbk.js} +2 -2
  189. package/dist/{pairing-cli-aoyKpG0L.js → pairing-cli-mUAKj093.js} +2 -2
  190. package/dist/{pi-embedded-helpers-D-m7pmXE.js → pi-embedded-helpers-BsRnajNh.js} +1 -1
  191. package/dist/{pi-embedded-helpers-CkhQP2gU.js → pi-embedded-helpers-CSxJBpFl.js} +1 -1
  192. package/dist/{pi-embedded-helpers-BbHYim54.js → pi-embedded-helpers-CUfPWD_N.js} +6 -5
  193. package/dist/{pi-embedded-utils-C6MaVLHj.js → pi-embedded-utils-BlNfBen_.js} +1 -1
  194. package/dist/{pi-embedded-utils-DIGchmzO.js → pi-embedded-utils-Bql42QTv.js} +1 -1
  195. package/dist/{pi-embedded-utils-Ip0GsjWb.js → pi-embedded-utils-BtyCE2ZK.js} +1 -1
  196. package/dist/{pi-model-discovery-Ot_Q_yYa.js → pi-model-discovery-BV73T1am.js} +1 -1
  197. package/dist/{pi-tools.policy-Dt2kTSid.js → pi-tools.policy-DDJ31-0E.js} +3 -3
  198. package/dist/{plugin-registry-BZCSZFQn.js → plugin-registry-Dq33ZU89.js} +3 -3
  199. package/dist/{plugin-registry-DMRnpxA2.js → plugin-registry-RoPLmlrM.js} +3 -3
  200. package/dist/plugin-sdk/agents/bash/bash-tools.exec-runtime.d.ts +4 -0
  201. package/dist/plugin-sdk/agents/pi-embedded-runner/tool-result-context-guard.d.ts +5 -0
  202. package/dist/plugin-sdk/agents/pi-embedded-runner/tool-result-reduce.d.ts +8 -0
  203. package/dist/plugin-sdk/agents/sandbox/tier0/index.d.ts +3 -0
  204. package/dist/plugin-sdk/agents/sandbox/tier0/registry.d.ts +28 -0
  205. package/dist/plugin-sdk/agents/sandbox/tier0/router.d.ts +18 -0
  206. package/dist/plugin-sdk/agents/sandbox/tier0/virtual-sandbox.d.ts +30 -0
  207. package/dist/plugin-sdk/agents/sandbox/types.d.ts +5 -0
  208. package/dist/plugin-sdk/agents/sections/behaviour.d.ts +9 -0
  209. package/dist/plugin-sdk/agents/skills/compact-prompt.d.ts +12 -0
  210. package/dist/plugin-sdk/agents/skills/workspace.d.ts +4 -0
  211. package/dist/plugin-sdk/channels/discord.js +487 -40
  212. package/dist/plugin-sdk/channels/googlechat.js +3 -1
  213. package/dist/plugin-sdk/channels/imessage.js +487 -40
  214. package/dist/plugin-sdk/channels/line.js +489 -42
  215. package/dist/plugin-sdk/channels/msteams.js +3 -1
  216. package/dist/plugin-sdk/channels/signal.js +487 -40
  217. package/dist/plugin-sdk/channels/slack.js +487 -40
  218. package/dist/plugin-sdk/channels/telegram.js +487 -40
  219. package/dist/plugin-sdk/channels/whatsapp.js +488 -41
  220. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +8 -0
  221. package/dist/plugin-sdk/config/types.agents.d.ts +4 -0
  222. package/dist/plugin-sdk/config/types.gateway.d.ts +8 -0
  223. package/dist/plugin-sdk/config/types.skills.d.ts +7 -0
  224. package/dist/plugin-sdk/config/types.tools.d.ts +8 -0
  225. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +3 -0
  226. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +9 -0
  227. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +6 -0
  228. package/dist/plugin-sdk/config/zod-schema.d.ts +26 -0
  229. package/dist/plugin-sdk/core.js +6 -2
  230. package/dist/plugin-sdk/index.js +501 -54
  231. package/dist/{plugins-cli-BKMBY-np.js → plugins-cli-BA0wJM-k.js} +3 -3
  232. package/dist/{plugins-cli-D3_BCsVN.js → plugins-cli-a-DWljrI.js} +3 -3
  233. package/dist/{program-context-CVLR19jJ.js → program-context-CUZUPsiC.js} +43 -43
  234. package/dist/{program-DFvYiOXj.js → program-gbYi5UIa.js} +7 -7
  235. package/dist/{prompt-select-styled-D-axSDjg.js → prompt-select-styled-DAdqH32e.js} +17 -17
  236. package/dist/{prompt-select-styled-n1nMLPsI.js → prompt-select-styled-lKRNiihE.js} +17 -17
  237. package/dist/{push-apns-Dh6xZki_.js → push-apns-BhtcU_Da.js} +1 -1
  238. package/dist/{push-apns-D4wjtIOe.js → push-apns-D69Af97u.js} +1 -1
  239. package/dist/{pw-ai-2VhRhF2B.js → pw-ai-Ba9xJlWV.js} +2 -2
  240. package/dist/{pw-ai-Blk_s6D5.js → pw-ai-Cvjg4UOk.js} +2 -2
  241. package/dist/{pw-ai-B6oeo1wI.js → pw-ai-DiwvYyv3.js} +2 -2
  242. package/dist/{pw-session-Crb06R5v.js → pw-session-BZ1pAX5r.js} +1 -1
  243. package/dist/{pw-session-DmaV4mTM.js → pw-session-BxiZ6YYh.js} +1 -1
  244. package/dist/{pw-session-CATqkBLI.js → pw-session-EHew9i-n.js} +1 -1
  245. package/dist/{qr-cli-B3IWV_8b.js → qr-cli-CFsUuFR-.js} +2 -2
  246. package/dist/{qr-cli-SfioxAM_.js → qr-cli-SfzcWdI0.js} +2 -2
  247. package/dist/{register.agent-DDVZDpQC.js → register.agent-B4bNkRtB.js} +11 -11
  248. package/dist/{register.agent-Dfk70LYq.js → register.agent-DHCAqxWX.js} +8 -8
  249. package/dist/{register.channel-BvMvb6ip.js → register.channel-B1vKkWV7.js} +2 -2
  250. package/dist/{register.channel-BJtyCgD7.js → register.channel-D0lVq7dU.js} +2 -2
  251. package/dist/{register.configure-WQlTjNyz.js → register.configure-DFSJd0YH.js} +1 -1
  252. package/dist/{register.configure-BdKChDnl.js → register.configure-DIHFldND.js} +1 -1
  253. package/dist/{register.drone-B-xrDJpJ.js → register.drone-Do4i5ZE9.js} +2 -2
  254. package/dist/{register.drone-DSHJ5vq1.js → register.drone-Tckr0QFo.js} +2 -2
  255. package/dist/{register.maintenance-DoMoBeyF.js → register.maintenance-Bw9G1eZ0.js} +5 -5
  256. package/dist/{register.maintenance-DnP_N0ye.js → register.maintenance-D5LVEuKI.js} +5 -5
  257. package/dist/{register.message-Xl-pZILp.js → register.message-BsGRyTVT.js} +7 -7
  258. package/dist/{register.message-Cdp8TM0J.js → register.message-C_51tZCE.js} +8 -8
  259. package/dist/{register.onboard-BzZPizJ0.js → register.onboard-CMusJAzJ.js} +1 -1
  260. package/dist/{register.onboard-IPqLR5Zb.js → register.onboard-Ngaw9ikW.js} +1 -1
  261. package/dist/{register.setup-DLzSctB1.js → register.setup-aKi_hurQ.js} +4 -4
  262. package/dist/{register.setup-BX8Ya9qY.js → register.setup-xpiPRct8.js} +4 -4
  263. package/dist/{register.status-health-sessions-CXIHidz6.js → register.status-health-sessions-B87H-g0g.js} +6 -6
  264. package/dist/{register.status-health-sessions-DnNAMB3T.js → register.status-health-sessions-D2rMUW_t.js} +4 -4
  265. package/dist/{register.subclis-DAt5WEzu.js → register.subclis-DB0kFld6.js} +30 -30
  266. package/dist/{reply-D_uwJ_hb.js → reply-CNJWciSj.js} +442 -52
  267. package/dist/{reply-payloads-BBHotu7W.js → reply-payloads-BS889lPA.js} +2 -2
  268. package/dist/{reply-payloads-CikGrhVL.js → reply-payloads-Dk-zLmJC.js} +2 -2
  269. package/dist/{reply-prefix-eSF5kXs5.js → reply-prefix-CfrIMbCM.js} +1 -1
  270. package/dist/{reply-prefix-CYbvVBOV.js → reply-prefix-D9MQ_veY.js} +1 -1
  271. package/dist/{resolve-route-FLi7kFo1.js → resolve-route-0arQsERr.js} +1 -1
  272. package/dist/{resolve-route-DiiBj8NL.js → resolve-route-DwDSX3mI.js} +2 -2
  273. package/dist/{routes-DFLRIpty.js → routes-DubNFADQ.js} +4 -4
  274. package/dist/{routes-CagC77kh.js → routes-hcdbDZ60.js} +4 -4
  275. package/dist/{rpc-DxdMMngu.js → rpc-CpEGWO4f.js} +1 -1
  276. package/dist/{rpc-dZcSayi6.js → rpc-DShIx1il.js} +1 -1
  277. package/dist/{run-main-Cw7JO4bk.js → run-main-CgrHeBpO.js} +20 -20
  278. package/dist/{sandbox-DX1DKAJb.js → sandbox-BYK6Qgnd.js} +9 -8
  279. package/dist/{sandbox-pZvVQZ-a.js → sandbox-CDGF9AVA.js} +9 -8
  280. package/dist/{sandbox-cli-DsFqky0Y.js → sandbox-cli-3v8NFyXC.js} +4 -4
  281. package/dist/{sandbox-cli--NZU5yHm.js → sandbox-cli-DmXP8NkD.js} +4 -4
  282. package/dist/{security-cli-B9rFqAom.js → security-cli-B23Rjmu8.js} +3 -3
  283. package/dist/{security-cli-DUGFqvJc.js → security-cli-C7jxF7EW.js} +3 -3
  284. package/dist/{send-OcwoynpB.js → send-B3EXtlyb.js} +2 -2
  285. package/dist/{send-BUUHmWJ3.js → send-Boe93Q4V.js} +2 -2
  286. package/dist/{send-Czh3Yz38.js → send-Br1IcpxR.js} +2 -2
  287. package/dist/{send-mztwgKny.js → send-BrvRGJ0_.js} +3 -3
  288. package/dist/{send-CRNffLsb.js → send-BuiJlYF8.js} +2 -2
  289. package/dist/{send-DTQ_lSWv.js → send-DPURnZWZ.js} +2 -2
  290. package/dist/{send-Bh69NFd_.js → send-DT-x-IFQ.js} +3 -3
  291. package/dist/{send-CuFw68zk.js → send-D_PQuZ3x.js} +2 -2
  292. package/dist/{send-Ckq83rOO.js → send-DhuPDKRX.js} +2 -2
  293. package/dist/{server-context-D-VUH9Bz.js → server-context-BRKaxwJB.js} +6 -6
  294. package/dist/{server-context-BlUcP_zF.js → server-context-CvEQbenq.js} +6 -6
  295. package/dist/{server-context-BNI2cc_e.js → server-context-nyYhGUmI.js} +5 -5
  296. package/dist/{server-node-events-DQqHB_8B.js → server-node-events-B6rUT0PE.js} +8 -8
  297. package/dist/{server-node-events-BqG45BMs.js → server-node-events-D90DAPI1.js} +10 -10
  298. package/dist/{session-status-tool-CN-Juxjq.js → session-status-tool-BIN4ooy0.js} +6 -6
  299. package/dist/{session-status-tool-DnD354sJ.js → session-status-tool-CtbF1-VI.js} +7 -7
  300. package/dist/{session-utils-0BYkk3f_.js → session-utils-DDCd8HC9.js} +4 -4
  301. package/dist/{sessions-CismtNoo.js → sessions-ByNQiqr2.js} +1 -1
  302. package/dist/{sessions-D_b2UXud.js → sessions-C0Qs0Flz.js} +3 -3
  303. package/dist/{sessions-0d-dBE8D.js → sessions-CPoA3oJo.js} +4 -4
  304. package/dist/{sessions-Z8JCL_sa.js → sessions-CW4tzKA-.js} +3 -3
  305. package/dist/{sessions-helpers-Crh_NTSX.js → sessions-helpers-DdqQiSR6.js} +3 -3
  306. package/dist/{sessions-helpers-JsbUTHcP.js → sessions-helpers-vwVJ1Vy4.js} +3 -3
  307. package/dist/{sessions-helpers-uZ0Taeh3.js → sessions-helpers-xH-u6Byb.js} +3 -3
  308. package/dist/{sessions-history-tool-6VYdT_kc.js → sessions-history-tool-BO81rMTT.js} +5 -5
  309. package/dist/{sessions-history-tool-6WMcHpxy.js → sessions-history-tool-DKXNjv5X.js} +5 -5
  310. package/dist/{sessions-list-tool-CwTLRwGc.js → sessions-list-tool-6DJtypdD.js} +5 -5
  311. package/dist/{sessions-list-tool-CwGp-l3S.js → sessions-list-tool-s_y-_4Uv.js} +5 -5
  312. package/dist/{sessions-send-tool-BKNgicV5.js → sessions-send-tool-C3ggqtMe.js} +5 -5
  313. package/dist/{sessions-send-tool-Dl4HKGgL.js → sessions-send-tool-roh-kyNw.js} +5 -5
  314. package/dist/{sessions-spawn-tool-DqfoPFrK.js → sessions-spawn-tool-BgkkNWMg.js} +1 -1
  315. package/dist/{sessions-spawn-tool-Bguo3O1I.js → sessions-spawn-tool-UAd65WIb.js} +1 -1
  316. package/dist/{shared-Cr0N9iap.js → shared-BysrBqEi.js} +2 -2
  317. package/dist/{shared-B7QVxDsn.js → shared-CjEFJgna.js} +2 -2
  318. package/dist/{skills-DkeUrhAT.js → skills-Bf4ZPGHe.js} +1 -1
  319. package/dist/{skills-DMPRReoe.js → skills-DDhWBAii.js} +1 -1
  320. package/dist/{skills-cli--8zG3UQk.js → skills-cli-DnO1g2oN.js} +6 -6
  321. package/dist/{skills-cli-D334Q0dM.js → skills-cli-DxFMRja6.js} +6 -6
  322. package/dist/{skills-install-DAphGXoj.js → skills-install-Bo9PwVmT.js} +2 -2
  323. package/dist/{skills-install-BNR2Nfa3.js → skills-install-DkZHLCih.js} +2 -2
  324. package/dist/{skills-status-D54inzOP.js → skills-status-8p-KrlIF.js} +2 -2
  325. package/dist/{skills-status-DDzkv-Rj.js → skills-status-CBTT87BN.js} +2 -2
  326. package/dist/{status-BIvJQtxV.js → status-BpgCPxM4.js} +3 -3
  327. package/dist/{status-JJ8BdlhI.js → status-Db6PPdwI.js} +3 -3
  328. package/dist/{status-DosDYGut.js → status-DyQwrglF.js} +12 -12
  329. package/dist/{status-gWt5DmvD.js → status-Dz_-4ATW.js} +13 -13
  330. package/dist/{status.update-BnYycijV.js → status.update-BBLk_Q3P.js} +1 -1
  331. package/dist/{status.update-D0KmfrNX.js → status.update-OhQ3FS7R.js} +1 -1
  332. package/dist/{subagent-registry-0zv9UyYz.js → subagent-registry-C_UHFYRY.js} +443 -53
  333. package/dist/{subagents-tool-usr_WpP2.js → subagents-tool-BdWYv7Mb.js} +6 -6
  334. package/dist/{subagents-tool-m92Kjy1x.js → subagents-tool-DjPwvSat.js} +6 -6
  335. package/dist/{system-cli-t4Qk2mcC.js → system-cli-BQJK1EiV.js} +1 -1
  336. package/dist/{system-cli-BxYnYU05.js → system-cli-Cj6oDS1q.js} +1 -1
  337. package/dist/{systemd-hints-JlNoKkcf.js → systemd-hints-BKM-UvY_.js} +1 -1
  338. package/dist/{systemd-hints-C21GmUrX.js → systemd-hints-BdVIEvO3.js} +1 -1
  339. package/dist/{targets-BWPxk4rU.js → targets-BpZ7t54u.js} +1 -1
  340. package/dist/{tools-F4g3knJE.js → tools-D3fRPoa3.js} +421 -38
  341. package/dist/{tools-cli-Cmg7InJT.js → tools-cli-CjniP2oD.js} +3 -3
  342. package/dist/{tools-cli-BPV7GpBg.js → tools-cli-DLPn3_f-.js} +3 -3
  343. package/dist/{tts-CC3WSaW9.js → tts-BhWpmVdG.js} +1 -1
  344. package/dist/{tts-CRpGlsYO.js → tts-DrFhyLnB.js} +1 -1
  345. package/dist/{tts-OJZ7iSKo.js → tts-DyQvwyVi.js} +1 -1
  346. package/dist/{tts-tool-DsLN8-ZT.js → tts-tool-CdaKVWBM.js} +3 -3
  347. package/dist/{tts-tool-B73xs8Vs.js → tts-tool-CfEs7ebD.js} +3 -3
  348. package/dist/{tui-BRdOjXJy.js → tui-CNuz7tKz.js} +5 -5
  349. package/dist/{tui-PSDwA6SF.js → tui-DJvjN1xV.js} +5 -5
  350. package/dist/{tui-cli-DMD7clw2.js → tui-cli-CLoyYSXd.js} +1 -1
  351. package/dist/{tui-cli-DHWrleUP.js → tui-cli-DhhA87TG.js} +1 -1
  352. package/dist/{update-cli-DlxYgSAN.js → update-cli-0lBEnFj5.js} +8 -8
  353. package/dist/{update-cli-Du5BbYfl.js → update-cli-Cc4jgBsG.js} +8 -8
  354. package/dist/{validation-CG8Ui8_v.js → validation-B-XaORq2.js} +5 -1
  355. package/dist/{validation-T0CNq_JP.js → validation-DuFmPzCB.js} +5 -1
  356. package/dist/web-BUkj8HIz.js +2 -0
  357. package/dist/{web-CtwxKIvO.js → web-BY79LufL.js} +8 -8
  358. package/dist/{web-search-B5d6ODyB.js → web-search-CCeGZMBD.js} +4 -4
  359. package/dist/{web-search-CV42wG57.js → web-search-D1pX-Tuc.js} +4 -4
  360. package/dist/{webhooks-cli-tSv_Pzzq.js → webhooks-cli-B3LP9UKY.js} +5 -5
  361. package/dist/{webhooks-cli-BeHnKv6z.js → webhooks-cli-C5xR4Wu5.js} +5 -5
  362. package/dist/{workspace-Dov1_dCF.js → workspace-BwzunhL2.js} +49 -3
  363. package/dist/{workspace-CSGZ3DZ_.js → workspace-CVAkpBJa.js} +48 -2
  364. package/dist/{workspace-CSBTFAxh.js → workspace-D5-DoTNR.js} +48 -2
  365. package/dist/{workspace-dirs-Yo4RZm7s.js → workspace-dirs-CJDJUlno.js} +3 -3
  366. package/docs/superpowers/plans/2026-06-10-phase1-quick-wins.md +1260 -0
  367. package/docs/superpowers/specs/2026-06-10-recon-quick-wins-and-silent-agent-design.md +151 -0
  368. package/extensions/alert-watcher/index.js +47 -1
  369. package/extensions/bluebubbles/index.js +5 -1
  370. package/extensions/feishu/index.js +5 -1
  371. package/extensions/flows/index.js +52 -2
  372. package/extensions/gmail-calendar/index.js +47 -1
  373. package/extensions/googlechat/index.js +5 -1
  374. package/extensions/irc/index.js +5 -1
  375. package/extensions/llm-task/index.js +47 -1
  376. package/extensions/matrix/{credentials-B1q3x-N0.mjs → credentials-BtiLgiNR.mjs} +5 -1
  377. package/extensions/matrix/index.js +3 -3
  378. package/extensions/matrix/{matrix-B9amoffh.mjs → matrix-CWlUSNSh.mjs} +2 -2
  379. package/extensions/matrix/{resolve-targets-Dw7tv-7K.mjs → resolve-targets-ml4iU4Bd.mjs} +2 -2
  380. package/extensions/mattermost/index.js +5 -1
  381. package/extensions/nextcloud-talk/index.js +5 -1
  382. package/extensions/tlon/index.js +47 -1
  383. package/extensions/wati/index.js +5 -1
  384. package/extensions/weixin/index.js +5 -1
  385. package/extensions/zalo/index.js +5 -1
  386. package/extensions/zalouser/index.js +5 -1
  387. package/package.json +3 -2
  388. package/dist/config-guard-BfdkKYAa.js +0 -2
  389. package/dist/daemon-install-helpers-4gMthp-_.js +0 -2
  390. package/dist/daemon-install-helpers-BLXYJ3C5.js +0 -2
  391. package/dist/doctor-completion-DKJRw1m1.js +0 -2
  392. package/dist/doctor-completion-DMcJXsi0.js +0 -2
  393. package/dist/web-Dj8nR4rt.js +0 -2
@@ -1,13 +1,13 @@
1
- import { f as extractTextFromChatContent, m as __exportAll } from "./pi-embedded-utils-C6MaVLHj.js";
1
+ import { f as extractTextFromChatContent, m as __exportAll } from "./pi-embedded-utils-BlNfBen_.js";
2
2
  import { A as normalizeE164, H as logVerbose, N as resolveUserPath, k as isRecord, n as defaultRuntime, t as createSubsystemLogger, u as normalizeChannelId, ut as resolveStateDir, z as truncateUtf16Safe } from "./subsystem-Bz8lTz2g.js";
3
3
  import { A as DEFAULT_AGENT_ID, B as sanitizeAgentId, C as ensureAgentWorkspace, F as normalizeAccountId, G as parseAgentSessionKey, I as normalizeAgentId, M as buildAgentMainSessionKey, R as resolveAgentIdFromSessionKey, W as isSubagentSessionKey, c as resolveAgentWorkspaceDir, n as resolveAgentConfig, r as resolveAgentDir, u as resolveSessionAgentId, z as resolveThreadSessionKeys } from "./agent-scope-G3FqXqqy.js";
4
4
  import { i as logDebug, s as logWarn } from "./exec-DWwKe_AW.js";
5
5
  import { E as resolveEnvApiKey, S as getApiKeyForModel, Y as ensureAuthProfileStore, d as resolveDefaultModelForAgent, dt as DEFAULT_MODEL, f as resolveModelRefFromString, ft as DEFAULT_PROVIDER, it as resolveCliName, m as resolveThinkingDefault, o as modelKey, q as listProfilesForProvider, r as buildModelAliasIndex, rt as formatCliCommand, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey } from "./model-selection-CpCBvCTw.js";
6
- import { A as abortEmbeddedPiRun, C as replaceSubagentRunAfterSteer, D as resolveAgentTimeoutMs, E as clearSessionQueues, F as resolveAgentIdentity, M as resolveUserTimeFormat, N as resolveUserTimezone, O as runEmbeddedPiAgent, P as getSubagentDepthFromSessionStore, S as markSubagentRunTerminated, T as getFollowupQueueDepth, _ as applyModelOverrideToSessionEntry, a as truncateLine, b as listSubagentRunsForRequester, c as resolveSubagentLabel, d as normalizeGroupActivation, f as loadProviderUsageSummary, g as buildStatusMessage, h as resolveModelAuthLabel, i as resolveTotalTokens, j as formatUserTime, k as loadCombinedSessionStoreForGateway, l as resolveSubagentTargetFromRuns, m as resolveUsageProviderId, n as formatDurationCompact, o as spawnSubagentDirect, p as formatUsageWindowSummary, r as formatTokenUsageDisplay, s as getTemplate, t as resolvePluginTools, u as sortSubagentRuns, v as loadModelCatalog, w as resolveQueueSettings, x as markSubagentRunForSteerRestart, y as clearSubagentRunSteerRestart } from "./tools-F4g3knJE.js";
6
+ import { A as abortEmbeddedPiRun, C as replaceSubagentRunAfterSteer, D as resolveAgentTimeoutMs, E as clearSessionQueues, F as resolveAgentIdentity, M as resolveUserTimeFormat, N as resolveUserTimezone, O as runEmbeddedPiAgent, P as getSubagentDepthFromSessionStore, S as markSubagentRunTerminated, T as getFollowupQueueDepth, _ as applyModelOverrideToSessionEntry, a as truncateLine, b as listSubagentRunsForRequester, c as resolveSubagentLabel, d as normalizeGroupActivation, f as loadProviderUsageSummary, g as buildStatusMessage, h as resolveModelAuthLabel, i as resolveTotalTokens, j as formatUserTime, k as loadCombinedSessionStoreForGateway, l as resolveSubagentTargetFromRuns, m as resolveUsageProviderId, n as formatDurationCompact, o as spawnSubagentDirect, p as formatUsageWindowSummary, r as formatTokenUsageDisplay, s as getTemplate, t as resolvePluginTools, u as sortSubagentRuns, v as loadModelCatalog, w as resolveQueueSettings, x as markSubagentRunForSteerRestart, y as clearSubagentRunSteerRestart } from "./tools-D3fRPoa3.js";
7
7
  import { n as recallMemories } from "./memory-sink-Cai9LXP2.js";
8
- import { n as createKnowledgeGraphTools, t as KnowledgeGraphSession } from "./knowledge-graph-Dd0rSl0Q.js";
9
- import { _ as parseDurationMs, i as resolveConfigSnapshotHash, n as loadConfig } from "./config-BBoAK0dA.js";
10
- import { _ as parseReplyDirectives, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, m as buildTargetResolverSignature } from "./ir-CP9ltYx0.js";
8
+ import { n as createKnowledgeGraphTools, t as KnowledgeGraphSession } from "./knowledge-graph-BFnL_feN.js";
9
+ import { _ as parseDurationMs, i as resolveConfigSnapshotHash, n as loadConfig } from "./config-CkMQunWU.js";
10
+ import { _ as parseReplyDirectives, g as normalizeTargetForProvider, h as normalizeChannelTargetInput, m as buildTargetResolverSignature } from "./ir-D0vxg3iM.js";
11
11
  import { t as wrapToolWithTracking } from "./tool-tracking-BfpUmfBM.js";
12
12
  import { n as formatErrorMessage } from "./errors-DInjg6Ku.js";
13
13
  import { n as normalizeSecretInput } from "./normalize-secret-input-Ct6H42vX.js";
@@ -16,34 +16,35 @@ import { h as imageMimeFromFormat, i as resolveImageSanitizationLimits, p as ext
16
16
  import { a as readNumberParam, i as jsonResult, n as imageResult, o as readStringArrayParam, r as imageResultFromFile, s as readStringParam } from "./common-mPQVYX41.js";
17
17
  import { a as INTERNAL_MESSAGE_CHANNEL, h as GATEWAY_CLIENT_NAMES, l as listDeliverableMessageChannels, m as GATEWAY_CLIENT_MODES, o as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, u as normalizeMessageChannel } from "./input-provenance-BUf7opno.js";
18
18
  import { a as normalizeWhatsAppTarget, f as resolveDiscordAccount, i as isWhatsAppGroupJid, l as resolveSlackAccount, n as listChannelPlugins, r as normalizeChannelId$1, t as getChannelPlugin } from "./plugins-7HkLtO7B.js";
19
- import { V as normalizeStringEntriesLower, i as loadSessionStore, l as updateSessionStore, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, s as saveSessionStore, t as extractDeliveryInfo, y as capArrayByJsonBytes } from "./sessions-CismtNoo.js";
19
+ import { V as normalizeStringEntriesLower, i as loadSessionStore, l as updateSessionStore, n as appendAssistantMessageToSessionTranscript, o as recordSessionMetaFromInbound, s as saveSessionStore, t as extractDeliveryInfo, y as capArrayByJsonBytes } from "./sessions-ByNQiqr2.js";
20
20
  import { n as SILENT_REPLY_TOKEN } from "./tokens-Dxroopzl.js";
21
21
  import { i as stripHeartbeatToken, n as AGENT_LANE_SUBAGENT, t as AGENT_LANE_NESTED } from "./lanes-BR5o5mOf.js";
22
- import { _ as listChannelSupportedActions, a as ambiguousTargetError, b as parseTelegramTarget, f as createSlackWebClient, o as unknownTargetError, r as resolveOutboundTarget, t as buildAgentSessionKey, x as resolveTelegramTargetChatType } from "./resolve-route-DiiBj8NL.js";
23
- import { b as textToSpeech } from "./tts-OJZ7iSKo.js";
24
- import { l as assertMediaNotDataUrl, p as resolveSandboxedMediaSource } from "./workspace-Dov1_dCF.js";
25
- import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BYfNS8BB.js";
26
- import { c as DEFAULT_UPLOAD_DIR, l as resolvePathsWithinRoot, o as saveMediaBuffer, r as resolveBrowserConfig, s as DEFAULT_DOWNLOAD_DIR } from "./server-context-BNI2cc_e.js";
22
+ import { _ as listChannelSupportedActions, a as ambiguousTargetError, b as parseTelegramTarget, f as createSlackWebClient, o as unknownTargetError, r as resolveOutboundTarget, t as buildAgentSessionKey, x as resolveTelegramTargetChatType } from "./resolve-route-DwDSX3mI.js";
23
+ import { b as textToSpeech } from "./tts-DyQvwyVi.js";
24
+ import { l as assertMediaNotDataUrl, n as buildWorkspaceSkillSnapshot, p as resolveSandboxedMediaSource } from "./workspace-BwzunhL2.js";
25
+ import { x as DEFAULT_AI_SNAPSHOT_MAX_CHARS } from "./chrome-BUH9jMtc.js";
26
+ import { c as DEFAULT_UPLOAD_DIR, l as resolvePathsWithinRoot, o as saveMediaBuffer, r as resolveBrowserConfig, s as DEFAULT_DOWNLOAD_DIR } from "./server-context-nyYhGUmI.js";
27
27
  import { t as SsrFBlockedError } from "./ssrf-DWqM0QRy.js";
28
- import { a as decodeDataUrl, f as normalizeWorkspaceDir, h as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, p as resolveWorkspaceRoot, r as coerceImageAssistantText, s as minimaxUnderstandImage, t as runWithImageModelFallback } from "./model-fallback-Dwkt7imi.js";
29
- import { n as randomIdempotencyKey, t as callGateway } from "./call-BKa0221r.js";
30
- import { n as readGatewayCallOptions, r as resolveGatewayOptions$1, t as callGatewayTool } from "./gateway-0sVK3Rjy.js";
31
- import { n as resolveNodeId, r as resolveNodeIdFromList, t as listNodes } from "./nodes-utils-BRFzmJmB.js";
28
+ import { a as decodeDataUrl, f as normalizeWorkspaceDir, h as ensureOpenClawModelsJson, i as coerceImageModelConfig, o as resolveProviderVisionModelFromConfig, p as resolveWorkspaceRoot, r as coerceImageAssistantText, s as minimaxUnderstandImage, t as runWithImageModelFallback } from "./model-fallback-GSMox3YK.js";
29
+ import { n as randomIdempotencyKey, t as callGateway } from "./call-QNmBuec5.js";
30
+ import { n as readGatewayCallOptions, r as resolveGatewayOptions$1, t as callGatewayTool } from "./gateway-q_fM0u-m.js";
31
+ import { n as resolveNodeId, r as resolveNodeIdFromList, t as listNodes } from "./nodes-utils-CVaBTJ5V.js";
32
32
  import { t as fetchWithSsrFGuard } from "./fetch-guard-6r0F3dD_.js";
33
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Ot_Q_yYa.js";
33
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BV73T1am.js";
34
34
  import { t as stripReasoningTagsFromText } from "./reasoning-tags-DYznQbdm.js";
35
35
  import { n as loadWebMedia, t as getDefaultLocalRoots } from "./load-DKwJGFTz.js";
36
- import { a as stripToolMessages, c as resolveEffectiveSessionToolsVisibility, d as resolveDisplaySessionKey, f as resolveInternalSessionKey, h as shouldResolveSessionIdInput, l as resolveSandboxedSessionToolContext, m as resolveSessionReference, n as deriveChannel, o as createAgentToAgentPolicy, p as resolveMainSessionAlias, r as extractAssistantText, s as createSessionVisibilityGuard, t as classifySessionKind, u as isRequesterSpawnedSessionVisible } from "./sessions-helpers-Crh_NTSX.js";
36
+ import { a as stripToolMessages, c as resolveEffectiveSessionToolsVisibility, d as resolveDisplaySessionKey, f as resolveInternalSessionKey, h as shouldResolveSessionIdInput, l as resolveSandboxedSessionToolContext, m as resolveSessionReference, n as deriveChannel, o as createAgentToAgentPolicy, p as resolveMainSessionAlias, r as extractAssistantText, s as createSessionVisibilityGuard, t as classifySessionKind, u as isRequesterSpawnedSessionVisible } from "./sessions-helpers-DdqQiSR6.js";
37
37
  import { n as wrapExternalContent, r as wrapWebContent } from "./external-content-BeJGOgQK.js";
38
38
  import { t as scheduleGatewaySigusr1Restart } from "./restart-DTw1wkyF.js";
39
39
  import { a as applyTargetToParams, i as stringEnum, n as channelTargetsSchema, o as actionHasTarget, r as optionalStringEnum, s as actionRequiresTarget, t as channelTargetSchema } from "./typebox-AaaT2Z0h.js";
40
- import { i as throwIfAborted, r as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-C5vVViLg.js";
40
+ import { i as throwIfAborted, r as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads } from "./deliver-DiDYkpmh.js";
41
41
  import { a as writeCameraClipPayloadToFile, c as asString, i as writeBase64ToFile, l as resolveTempPathParts, n as parseCameraClipPayload, o as writeUrlToFile, r as parseCameraSnapPayload, s as asRecord, t as cameraTempPath } from "./nodes-camera-C2Ht8dH1.js";
42
- import { _ as fetchBrowserJson, a as browserSnapshot, c as browserStop, d as browserArmDialog, f as browserArmFileChooser, g as browserWaitForDownload, h as browserScreenshotAction, i as browserProfiles, l as browserTabs, m as browserNavigate, n as browserFocusTab, o as browserStart, p as browserDownload, r as browserOpenTab, s as browserStatus, t as browserCloseTab, u as browserAct, v as buildProfileQuery, y as withBaseUrl } from "./client-D2hf2jQ7.js";
42
+ import { _ as fetchBrowserJson, a as browserSnapshot, c as browserStop, d as browserArmDialog, f as browserArmFileChooser, g as browserWaitForDownload, h as browserScreenshotAction, i as browserProfiles, l as browserTabs, m as browserNavigate, n as browserFocusTab, o as browserStart, p as browserDownload, r as browserOpenTab, s as browserStatus, t as browserCloseTab, u as browserAct, v as buildProfileQuery, y as withBaseUrl } from "./client-BIS2Uayk.js";
43
43
  import { a as resolveTimeoutSeconds, i as resolveCacheTtlMs, n as readCacheShared, o as withTimeout, r as readResponseText, s as writeCacheShared, t as normalizeCacheKey } from "./web-shared-wFHHPl7K.js";
44
44
  import * as path$1 from "node:path";
45
- import path from "node:path";
45
+ import path, { join } from "node:path";
46
46
  import * as fs$2 from "node:fs";
47
+ import fs, { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
47
48
  import fs$1 from "node:fs/promises";
48
49
  import { fileURLToPath } from "node:url";
49
50
  import crypto from "node:crypto";
@@ -7813,6 +7814,51 @@ function createSubagentsTool(opts) {
7813
7814
  };
7814
7815
  }
7815
7816
  //#endregion
7817
+ //#region src/agents/tools/skills/skill-view-tool.ts
7818
+ /**
7819
+ * skill_view tool — load the full SKILL.md instructions for a single skill on
7820
+ * demand. Pairs with progressive disclosure: the system prompt lists only skill
7821
+ * names + descriptions, and the agent calls this tool to fetch the full body
7822
+ * before relying on a skill.
7823
+ */
7824
+ const SkillViewSchema = Type.Object({ skill_name: Type.String({ description: "The exact name of the skill to load (as shown in <available_skills>)." }) });
7825
+ function createSkillViewTool(opts) {
7826
+ return {
7827
+ label: "View Skill",
7828
+ name: "skill_view",
7829
+ description: "Load the full instructions (SKILL.md body) for a named skill. Call this before relying on a skill whose full instructions are not already shown.",
7830
+ parameters: SkillViewSchema,
7831
+ execute: async (_toolCallId, params) => {
7832
+ const args = params ?? {};
7833
+ const requested = typeof args.skill_name === "string" ? args.skill_name.trim() : "";
7834
+ const skills = buildWorkspaceSkillSnapshot(opts.workspaceDir, { config: opts.config }).resolvedSkills ?? [];
7835
+ if (!requested) return jsonResult({
7836
+ error: "skill_name required",
7837
+ available: skills.map((s) => s.name)
7838
+ });
7839
+ const match = skills.find((s) => s.name === requested);
7840
+ if (!match) return jsonResult({
7841
+ error: "unknown skill",
7842
+ available: skills.map((s) => s.name)
7843
+ });
7844
+ let content = "";
7845
+ try {
7846
+ content = fs.readFileSync(match.filePath, "utf-8");
7847
+ } catch (err) {
7848
+ return jsonResult({
7849
+ error: `failed to read skill: ${err instanceof Error ? err.message : String(err)}`,
7850
+ name: match.name
7851
+ });
7852
+ }
7853
+ return jsonResult({
7854
+ name: match.name,
7855
+ description: match.description ?? "",
7856
+ content
7857
+ });
7858
+ }
7859
+ };
7860
+ }
7861
+ //#endregion
7816
7862
  //#region src/browser/client-actions-observe.ts
7817
7863
  function buildQuerySuffix(params) {
7818
7864
  const query = new URLSearchParams();
@@ -10125,6 +10171,198 @@ const __testing = {
10125
10171
  extractGrokContent
10126
10172
  };
10127
10173
  //#endregion
10174
+ //#region src/memory/injection-scanner.ts
10175
+ const MEMORY_THREAT_PATTERNS = [
10176
+ {
10177
+ pattern: /ignore\s+(?:(?:previous|all|above|prior|any|the)\s+){1,3}instructions/i,
10178
+ type: "prompt_injection",
10179
+ severity: "critical"
10180
+ },
10181
+ {
10182
+ pattern: /you\s+are\s+now\s+/i,
10183
+ type: "role_hijack",
10184
+ severity: "critical"
10185
+ },
10186
+ {
10187
+ pattern: /do\s+not\s+tell\s+the\s+user/i,
10188
+ type: "deception_hide",
10189
+ severity: "critical"
10190
+ },
10191
+ {
10192
+ pattern: /system\s+prompt\s+override/i,
10193
+ type: "sys_prompt_override",
10194
+ severity: "critical"
10195
+ },
10196
+ {
10197
+ pattern: /disregard\s+(your|all|any)\s+(instructions|rules|guidelines)/i,
10198
+ type: "disregard_rules",
10199
+ severity: "critical"
10200
+ },
10201
+ {
10202
+ pattern: /act\s+as\s+(if|though)\s+you\s+(have\s+no|don't\s+have)\s+(restrictions|limits|rules)/i,
10203
+ type: "bypass_restrictions",
10204
+ severity: "critical"
10205
+ },
10206
+ {
10207
+ pattern: /pretend\s+(you|that)\s+(are|is)\s+/i,
10208
+ type: "identity_override",
10209
+ severity: "high"
10210
+ },
10211
+ {
10212
+ pattern: /new\s+instructions?\s*:/i,
10213
+ type: "instruction_injection",
10214
+ severity: "high"
10215
+ },
10216
+ {
10217
+ pattern: /curl\s+[^\n]*\$\{?\w*(KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|API)/i,
10218
+ type: "exfil_curl",
10219
+ severity: "critical"
10220
+ },
10221
+ {
10222
+ pattern: /wget\s+[^\n]*\$\{?\w*(KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL|API)/i,
10223
+ type: "exfil_wget",
10224
+ severity: "critical"
10225
+ },
10226
+ {
10227
+ pattern: /write\s+this\s+to\s+(memory|config|file)/i,
10228
+ type: "persistence_attempt",
10229
+ severity: "high"
10230
+ },
10231
+ {
10232
+ pattern: /remember\s+to\s+always/i,
10233
+ type: "behavioral_persistence",
10234
+ severity: "medium"
10235
+ }
10236
+ ];
10237
+ const INVISIBLE_CHARS = [
10238
+ "​",
10239
+ "‌",
10240
+ "‍",
10241
+ "⁠",
10242
+ "⁡",
10243
+ "⁢",
10244
+ "⁣",
10245
+ "⁤",
10246
+ "",
10247
+ "­",
10248
+ "͏",
10249
+ "؜",
10250
+ "ᅟ",
10251
+ "ᅠ",
10252
+ "឴",
10253
+ "឵",
10254
+ "᠎"
10255
+ ];
10256
+ function scanMemoryContent(content) {
10257
+ const threats = [];
10258
+ for (const char of INVISIBLE_CHARS) if (content.includes(char)) threats.push({
10259
+ type: "invisible_unicode",
10260
+ pattern: `U+${char.codePointAt(0).toString(16).toUpperCase().padStart(4, "0")}`,
10261
+ matched: `[invisible char at position ${content.indexOf(char)}]`,
10262
+ severity: "high"
10263
+ });
10264
+ for (const { pattern, type, severity } of MEMORY_THREAT_PATTERNS) {
10265
+ const match = content.match(pattern);
10266
+ if (match) threats.push({
10267
+ type,
10268
+ pattern: pattern.source,
10269
+ matched: match[0],
10270
+ severity
10271
+ });
10272
+ }
10273
+ const safe = threats.length === 0;
10274
+ let sanitized;
10275
+ if (!safe) {
10276
+ sanitized = content;
10277
+ for (const char of INVISIBLE_CHARS) sanitized = sanitized.replaceAll(char, "");
10278
+ }
10279
+ return {
10280
+ safe,
10281
+ threats,
10282
+ sanitized
10283
+ };
10284
+ }
10285
+ //#endregion
10286
+ //#region src/agents/tools/workspace/behaviour-tools.ts
10287
+ /**
10288
+ * behaviour.md self-modification — an agent can persist its own durable
10289
+ * operating rules to `<workspaceDir>/prompts/behaviour.md`, which the
10290
+ * "behaviour" prompt section injects via the existing prose-override
10291
+ * mechanism on the next turn.
10292
+ *
10293
+ * Content is screened by the memory injection scanner so an agent (or a
10294
+ * user prompting it) cannot persist a prompt-injection payload into its
10295
+ * own system prompt.
10296
+ */
10297
+ const MAX_BEHAVIOUR_CHARS = 8e3;
10298
+ function applyBehaviourUpdate(u) {
10299
+ const scan = scanMemoryContent(`${u.section}\n${u.content}`);
10300
+ if (!scan.safe) return {
10301
+ ok: false,
10302
+ reason: `content failed injection scan: ${scan.threats.map((t) => t.type).join(", ")}`
10303
+ };
10304
+ if (!/^#{1,6}\s+\S/.test(u.section.trim())) return {
10305
+ ok: false,
10306
+ reason: "section must be a single markdown header line, e.g. '## Tone'"
10307
+ };
10308
+ if (/^#{1,6}\s/m.test(u.content)) return {
10309
+ ok: false,
10310
+ reason: "behaviour content must not contain markdown headings; use bold or lists for sub-points"
10311
+ };
10312
+ const dir = join(u.workspaceDir, "prompts");
10313
+ const file = join(dir, "behaviour.md");
10314
+ mkdirSync(dir, { recursive: true });
10315
+ const next = upsertSection(existsSync(file) ? readFileSync(file, "utf8") : "", u.section, u.content, u.mode);
10316
+ if (next.length > MAX_BEHAVIOUR_CHARS) return {
10317
+ ok: false,
10318
+ reason: `behaviour.md would exceed ${MAX_BEHAVIOUR_CHARS} chars; consolidate first`
10319
+ };
10320
+ writeFileSync(file, next);
10321
+ return {
10322
+ ok: true,
10323
+ path: file
10324
+ };
10325
+ }
10326
+ function upsertSection(doc, header, body, mode) {
10327
+ const lines = doc.split("\n");
10328
+ const start = lines.findIndex((l) => l.trim() === header.trim());
10329
+ if (start === -1) {
10330
+ const block = `${header}\n${body}\n`;
10331
+ return doc.trim().length ? `${doc.trimEnd()}\n\n${block}` : block;
10332
+ }
10333
+ let end = start + 1;
10334
+ while (end < lines.length && !/^#{1,6}\s/.test(lines[end])) end += 1;
10335
+ const current = lines.slice(start + 1, end).join("\n").trim();
10336
+ const merged = mode === "append" && current ? `${current}\n${body}` : body;
10337
+ return [
10338
+ ...lines.slice(0, start + 1),
10339
+ merged,
10340
+ "",
10341
+ ...lines.slice(end)
10342
+ ].join("\n").replace(/\n{3,}/g, "\n\n");
10343
+ }
10344
+ function createUpdateBehaviourTool(opts) {
10345
+ return {
10346
+ label: "Update Agent Behaviour",
10347
+ name: "update_behaviour",
10348
+ description: "Persistently adjust your own operating rules. Writes to behaviour.md (injected into your system prompt next turn). Each rule is a single '## Header' plus a heading-free body (use bold or lists for sub-points, never nested markdown headings). Use sparingly for durable rules, not one-off tasks.",
10349
+ parameters: Type.Object({
10350
+ section: Type.String({ description: "Markdown header for the rule, e.g. '## Tone'" }),
10351
+ content: Type.String({ description: "Markdown body of the rule" }),
10352
+ mode: Type.Optional(Type.Union([Type.Literal("replace"), Type.Literal("append")]))
10353
+ }),
10354
+ execute: async (_id, params) => {
10355
+ const args = params;
10356
+ return jsonResult(applyBehaviourUpdate({
10357
+ workspaceDir: opts.workspaceDir,
10358
+ section: args.section,
10359
+ content: args.content,
10360
+ mode: args.mode ?? "replace"
10361
+ }));
10362
+ }
10363
+ };
10364
+ }
10365
+ //#endregion
10128
10366
  //#region src/agents/minion-tools.ts
10129
10367
  const log = createSubsystemLogger("agents/tools");
10130
10368
  function createOpenClawTools(options) {
@@ -10219,6 +10457,11 @@ function createOpenClawTools(options) {
10219
10457
  requesterAgentIdOverride: options?.requesterAgentIdOverride
10220
10458
  }),
10221
10459
  createSubagentsTool({ agentSessionKey: options?.agentSessionKey }),
10460
+ createUpdateBehaviourTool({ workspaceDir }),
10461
+ createSkillViewTool({
10462
+ workspaceDir,
10463
+ config: options?.config
10464
+ }),
10222
10465
  createSessionStatusTool({
10223
10466
  agentSessionKey: options?.agentSessionKey,
10224
10467
  config: options?.config
@@ -1,9 +1,9 @@
1
1
  import { f as resolveGatewayPort } from "./paths-Ce170Tex.js";
2
- import { i as loadConfig } from "./io-oiyyZuuG.js";
3
- import "./config-BgqD6SVw.js";
2
+ import { i as loadConfig } from "./io-CpUiX-Lv.js";
3
+ import "./config-DJTLRK5S.js";
4
4
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-_gH8UHtd.js";
5
5
  import { s as readStringParam } from "./common-CRD8HhuP.js";
6
- import { n as callGateway } from "./call-COjGFB_A.js";
6
+ import { n as callGateway } from "./call-Di0NGY7s.js";
7
7
  //#region src/agents/tools/automation/gateway.ts
8
8
  function readGatewayCallOptions(params) {
9
9
  return {
@@ -1,7 +1,7 @@
1
1
  import { f as resolveGatewayPort } from "./paths-aEg9UgoF.js";
2
- import { i as loadConfig } from "./io-TKYkFbcF.js";
3
- import "./config-ClkrcdId.js";
4
- import { n as callGateway } from "./call-DkT-xA-u.js";
2
+ import { i as loadConfig } from "./io-C_Q6AU5E.js";
3
+ import "./config-DHYot764.js";
4
+ import { n as callGateway } from "./call-BrDNyQiZ.js";
5
5
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-C02KGm4w.js";
6
6
  import { s as readStringParam } from "./common-BHzo6lXS.js";
7
7
  //#region src/agents/tools/automation/gateway.ts