@symerian/symi 3.3.4 → 3.4.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 (377) hide show
  1. package/dist/{agent-M9EC02CI.js → agent-BgGJEKk4.js} +14 -14
  2. package/dist/{agent-9zPi5Bip.js → agent-CDUpwXQX.js} +13 -13
  3. package/dist/{agent-scope-D_MtsuXX.js → agent-scope-B1Ina6jV.js} +0 -1
  4. package/dist/{agent-scope-8LjCKvga.js → agent-scope-B6p555mP.js} +0 -1
  5. package/dist/{agent-scope-B_oqIiaD.js → agent-scope-DIjW66iO.js} +0 -1
  6. package/dist/{agent-scope-ixfTVesj.js → agent-scope-DZEuQYrq.js} +0 -1
  7. package/dist/{agents-CW9uf_n0.js → agents-Dx_B11LV.js} +10 -10
  8. package/dist/{agents.config-B_LFeRQS.js → agents.config-CuasVG0i.js} +1 -1
  9. package/dist/{agents.config-RCL-IJds.js → agents.config-gkq5o5Hy.js} +1 -1
  10. package/dist/{audit-B_HL4UJ_.js → audit-BRI7EaSZ.js} +14 -14
  11. package/dist/{audit-DEXQlMwn.js → audit-FMN4BTKc.js} +14 -14
  12. package/dist/{auth-choice-Bio1-QUP.js → auth-choice-Ar8WHnyN.js} +8 -8
  13. package/dist/{auth-choice-DS5oaUTz.js → auth-choice-BJgf7XV6.js} +8 -8
  14. package/dist/{auth-choice-options-C5b4PCvw.js → auth-choice-options-B5NLwpLs.js} +1 -1
  15. package/dist/{auth-choice-options-BBYiPleR.js → auth-choice-options-EWUh0VM6.js} +1 -1
  16. package/dist/{auth-choice-prompt-D8GvjOBX.js → auth-choice-prompt-BkTmN4sy.js} +1 -1
  17. package/dist/{auth-choice-prompt-DBfm0y9l.js → auth-choice-prompt-CXcrToaB.js} +1 -1
  18. package/dist/{auth-profiles-CPlXilKu.js → auth-profiles-BFSVvFKy.js} +1 -1
  19. package/dist/{auth-profiles-duUuQXeC.js → auth-profiles-Boy_KMd1.js} +1 -1
  20. package/dist/{auth-profiles-CKIq0T1s.js → auth-profiles-Bs5D0GUv.js} +1 -1
  21. package/dist/{auth-token-DS3MIrxf.js → auth-token-2yjfGFTo.js} +1 -1
  22. package/dist/{auth-token-DTj2WrbV.js → auth-token-C8wKZLJM.js} +1 -1
  23. package/dist/{banner-0vT1O9w2.js → banner-C1DH2kVa.js} +1 -1
  24. package/dist/{browser-cli-C-Q0t9y_.js → browser-cli-BdYqssco.js} +6 -6
  25. package/dist/{browser-cli-CcKmOVu4.js → browser-cli-C6G2Ql9l.js} +6 -6
  26. package/dist/build-info.json +3 -3
  27. package/dist/bundled/boot-md/handler.js +19 -19
  28. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  29. package/dist/bundled/session-memory/handler.js +18 -18
  30. package/dist/{call-Du4CT1Hp.js → call-CbF18cyd.js} +1 -1
  31. package/dist/{call-BocrIanP.js → call-Dy_T6f6d.js} +1 -1
  32. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  33. package/dist/{catalog-D2QxJOn1.js → catalog-CJzUbDcX.js} +2 -2
  34. package/dist/{catalog-BEREnWaa.js → catalog-CSgSg5Gp.js} +2 -2
  35. package/dist/{channel-options-DZ17japQ.js → channel-options-BMZyRh5E.js} +2 -2
  36. package/dist/{channel-options-CcGtiy0Q.js → channel-options-D2lzRM-e.js} +2 -2
  37. package/dist/{channels-cli-BSvEpjOV.js → channels-cli-CjQ8Rfpv.js} +45 -45
  38. package/dist/{channels-cli-DxSXTCCh.js → channels-cli-DFN6N0Vp.js} +44 -44
  39. package/dist/{chrome-CQnRgvJz.js → chrome-BWQSyLHT.js} +1 -1
  40. package/dist/{chrome-DYKZHZ9k.js → chrome-BxWRyWC_.js} +1 -1
  41. package/dist/{chrome-C9mX2mtt.js → chrome-CbVmSQ7D.js} +1 -1
  42. package/dist/{chrome-owBWinlj.js → chrome-D5UEEo4y.js} +1 -1
  43. package/dist/{cli-Dn9ylBb2.js → cli-BI2hMJ3x.js} +36 -36
  44. package/dist/{cli-CHk4wR-F.js → cli-CpmVizCT.js} +37 -37
  45. package/dist/{command-registry-UxY6jjeo.js → command-registry-CwnRHggJ.js} +11 -11
  46. package/dist/{commands-registry-W2GQIywv.js → commands-registry-BNCcZy2y.js} +1 -1
  47. package/dist/{commands-registry-BO62ZyK2.js → commands-registry-BRWqR35Z.js} +1 -1
  48. package/dist/{commands-registry-CY-QAK3n.js → commands-registry-Bccp0eH5.js} +1 -1
  49. package/dist/{commands-registry-DaPrWQSe.js → commands-registry-CBFyeJ5K.js} +1 -1
  50. package/dist/{completion-cli-DebZ6nSb.js → completion-cli-Cyueakwc.js} +1 -1
  51. package/dist/{completion-cli-m9L2Gv9t.js → completion-cli-DwN2HXNn.js} +2 -2
  52. package/dist/{config-B91360jE.js → config-Cw7uo7Dh.js} +23 -129
  53. package/dist/{config-CphS_6eg.js → config-MU0QT0xu.js} +23 -129
  54. package/dist/{config-cli-D4_gO3Pd.js → config-cli-C2Nwn4ID.js} +5 -5
  55. package/dist/{config-cli-D9YdRiN2.js → config-cli-zMpHOTSD.js} +5 -5
  56. package/dist/{config-guard-I1mvbCOr.js → config-guard-B2j-KuUQ.js} +2 -2
  57. package/dist/{config-guard-B5BwQ-AP.js → config-guard-VJr2yVm_.js} +8 -8
  58. package/dist/{config-validation-A2rXGvVY.js → config-validation-BkJh21Ko.js} +1 -1
  59. package/dist/{config-validation-BwrodmsK.js → config-validation-MUkEKwbD.js} +1 -1
  60. package/dist/{configure-BXjJQG1p.js → configure-2zKlA3cu.js} +16 -16
  61. package/dist/{configure-D9NeIMjP.js → configure-Bh0-A3hM.js} +16 -16
  62. package/dist/{control-service-D3BYG-FJ.js → control-service-BTydj9Kk.js} +4 -4
  63. package/dist/{control-service-CMVDL3Yl.js → control-service-D1aZqS0Q.js} +4 -4
  64. package/dist/{cron-cli-A0c5t2V9.js → cron-cli-5souN2YC.js} +6 -6
  65. package/dist/{cron-cli-DR4W075u.js → cron-cli-Ch8MwxYs.js} +6 -6
  66. package/dist/{daemon-cli-CbqjLPV8.js → daemon-cli-AVJLjFd5.js} +6 -6
  67. package/dist/{daemon-cli-B__05b-d.js → daemon-cli-DbwmIQAj.js} +6 -6
  68. package/dist/daemon-cli.js +18 -136
  69. package/dist/{daemon-runtime-Y8XS0WGP.js → daemon-runtime-CkBw3gG5.js} +1 -1
  70. package/dist/{daemon-runtime-BD-3XS8R.js → daemon-runtime-DDwhgI7i.js} +1 -1
  71. package/dist/{deliver-DSMNXd9k.js → deliver-BBoTRer2.js} +9 -9
  72. package/dist/{deliver-63FtOVMC.js → deliver-BX3IOm7k.js} +2 -2
  73. package/dist/{deliver-DcP6aVt4.js → deliver-Cl2fWxx4.js} +2 -2
  74. package/dist/{deliver-DSv-Z24A.js → deliver-VAsFQe0w.js} +9 -9
  75. package/dist/{deps-DD_ZCq3v.js → deps-BCywDAi0.js} +1 -1
  76. package/dist/{devices-cli-BRqbjkNA.js → devices-cli-BXaodSI7.js} +5 -5
  77. package/dist/{devices-cli-CJom2K8b.js → devices-cli-ZiU2HGbP.js} +5 -5
  78. package/dist/{directory-cli-BwhEj1FE.js → directory-cli-DJnKldBM.js} +4 -4
  79. package/dist/{directory-cli-rhATy7j5.js → directory-cli-cK6CHm4W.js} +4 -4
  80. package/dist/{dm-policy-shared-CC_pbZzd.js → dm-policy-shared-BcYwq7H9.js} +1 -1
  81. package/dist/{dm-policy-shared-C1TQOlkZ.js → dm-policy-shared-BzGFEhLb.js} +1 -1
  82. package/dist/{dns-cli-DSOfBG2a.js → dns-cli-D6uc55C9.js} +4 -4
  83. package/dist/{dns-cli-DzQDEQM2.js → dns-cli-LhrwMgGE.js} +4 -4
  84. package/dist/{docs-cli-D2hhvfad.js → docs-cli-CFklWCND.js} +3 -3
  85. package/dist/{docs-cli--T-77Ujn.js → docs-cli-DjQ3SvBq.js} +3 -3
  86. package/dist/{doctor-completion--AgLv0kV.js → doctor-completion-B9khF9iy.js} +1 -1
  87. package/dist/{doctor-completion-D1ImH_eM.js → doctor-completion-DLMAxB2b.js} +1 -1
  88. package/dist/{doctor-config-flow-DlX_L8Y-.js → doctor-config-flow-BayEnbIy.js} +4 -4
  89. package/dist/{doctor-config-flow-4UT3396o.js → doctor-config-flow-j1iK-0XV.js} +4 -4
  90. package/dist/entry.js +1 -1
  91. package/dist/{exec-approvals-cli-DxvIsIQi.js → exec-approvals-cli-BI9yAGI5.js} +7 -7
  92. package/dist/{exec-approvals-cli-D-MLmhzh.js → exec-approvals-cli-DqWFmApk.js} +7 -7
  93. package/dist/extensionAPI.js +16 -16
  94. package/dist/{frontmatter-B8duUx_6.js → frontmatter-B4levtVg.js} +1 -1
  95. package/dist/{frontmatter-B6IdJ7UK.js → frontmatter-CHu3sfCM.js} +1 -1
  96. package/dist/{frontmatter-BzAaXBfE.js → frontmatter-CwO0i5Q7.js} +1 -1
  97. package/dist/{gateway-cli-5KVJJGFm.js → gateway-cli-05LQa0LN.js} +9636 -290
  98. package/dist/{gateway-cli-BjGvnfU3.js → gateway-cli-CUiAKfCT.js} +9635 -289
  99. package/dist/{gateway-rpc-a6_nYKAR.js → gateway-rpc-B5_ZCiHW.js} +1 -1
  100. package/dist/{gateway-rpc-CUIXRk2t.js → gateway-rpc-RZAJMB1i.js} +1 -1
  101. package/dist/{gmail-setup-utils-DjIM4-F9.js → gmail-setup-utils-C5QXoiTl.js} +1 -1
  102. package/dist/{gmail-setup-utils-D5G00y8h.js → gmail-setup-utils-DO0-mXYp.js} +1 -1
  103. package/dist/{health-CvdEEMPS.js → health-D2CsIdFz.js} +4 -4
  104. package/dist/{health-BdxlhiXA.js → health-DnOYGIFp.js} +4 -4
  105. package/dist/{hooks-cli-BfVq5C1p.js → hooks-cli-BERKc4aw.js} +40 -40
  106. package/dist/{hooks-cli-CQ6rF_LQ.js → hooks-cli-C6XdXNdl.js} +41 -41
  107. package/dist/{hooks-status-C-tHI7ZM.js → hooks-status-BQAuzmwT.js} +2 -2
  108. package/dist/{hooks-status-DLHEahg_.js → hooks-status-DGjgoBZt.js} +2 -2
  109. package/dist/index.js +43 -43
  110. package/dist/{installs-CLp95gcX.js → installs-DhSLZRT7.js} +2 -2
  111. package/dist/{installs-D0_bsQwa.js → installs-cPraL4Dg.js} +2 -2
  112. package/dist/legacy-names-BFZfXujv.js +6 -0
  113. package/dist/{legacy-names-C0hZiM-7.js → legacy-names-Catogrri.js} +2 -4
  114. package/dist/{lifecycle-core-_BlNODTH.js → lifecycle-core-B9_prcP5.js} +2 -2
  115. package/dist/{lifecycle-core-D8r8m6C0.js → lifecycle-core-Dark4HHr.js} +2 -2
  116. package/dist/llm-slug-generator.js +18 -18
  117. package/dist/{local-roots-WWcVq0Ma.js → local-roots-BCTg2O-a.js} +1 -1
  118. package/dist/{local-roots-CkcUju_2.js → local-roots-Bk3321gv.js} +1 -1
  119. package/dist/{local-roots-JhQs5w0I.js → local-roots-BnDnugq3.js} +1 -1
  120. package/dist/{logs-cli-BEWOyW5R.js → logs-cli-BuaYoENt.js} +6 -6
  121. package/dist/{logs-cli-zX4DscY_.js → logs-cli-Dg7J424l.js} +6 -6
  122. package/dist/{manager-D_AVoLu8.js → manager-1b5V7lDX.js} +3 -3
  123. package/dist/{manager-BQ5Wl5r-.js → manager-BQJivzx9.js} +3 -3
  124. package/dist/{manager-BUS2wGkQ.js → manager-GRHfrG3p.js} +3 -3
  125. package/dist/{manager-BI8o6AGu.js → manager-tYTYy-pH.js} +3 -3
  126. package/dist/{manifest-registry-DsTUFMvZ.js → manifest-registry-C0nJ3Ja3.js} +1 -1
  127. package/dist/{manifest-registry-BV_2TbGz.js → manifest-registry-CAWGTwb5.js} +2 -4
  128. package/dist/{manifest-registry-BshGdYwm.js → manifest-registry-DJcKcUQ9.js} +1 -1
  129. package/dist/{manifest-registry-D7Qup2Vq.js → manifest-registry-D_LsBSyt.js} +1 -1
  130. package/dist/{memory-CMKSFx1T.js → memory-CjpS9o50.js} +5 -5
  131. package/dist/{memory-2OKjMT7V.js → memory-ZiPonhHz.js} +5 -5
  132. package/dist/{memory-cli-CmPcKzGZ.js → memory-cli-B5TU8zxX.js} +5 -5
  133. package/dist/{memory-cli-rdfaJrCS.js → memory-cli-CbV91o_X.js} +5 -5
  134. package/dist/{model-BKtw-Bqs.js → model-BRcKPW49.js} +1 -1
  135. package/dist/{model-BgG_n_kc.js → model-DgN15006.js} +1 -1
  136. package/dist/{model-catalog-zuX3pwF5.js → model-catalog-Ba4R_zVe.js} +4 -4
  137. package/dist/{model-catalog-DKBhNiWm.js → model-catalog-De1c8o1y.js} +4 -4
  138. package/dist/{model-picker-DCkIP0W7.js → model-picker-CjVFmtQf.js} +3 -3
  139. package/dist/{model-picker-DKzvan7c.js → model-picker-DAOOfQUH.js} +3 -3
  140. package/dist/{model-selection-BE83O-pv.js → model-selection-DUQlsUfk.js} +1 -1
  141. package/dist/{models-DRtgYyTB.js → models-EthIDORJ.js} +19 -19
  142. package/dist/{models-cli-183sPHZO.js → models-cli-BzP7r0Pr.js} +46 -46
  143. package/dist/{models-cli-DN2zTFw9.js → models-cli-DSW-aLCj.js} +43 -43
  144. package/dist/{models-config-CFUwiu4W.js → models-config-C-VjjDXg.js} +2 -2
  145. package/dist/{models-config-BfmuswQ_.js → models-config-C2OLw8vc.js} +2 -2
  146. package/dist/{node-cli-CjA21eC1.js → node-cli-SMqarSas.js} +14 -14
  147. package/dist/{node-cli-CgWAxe-K.js → node-cli-dAjmpFFQ.js} +14 -14
  148. package/dist/{nodes-cli-CprJ5K63.js → nodes-cli-Bavn0Wq1.js} +6 -6
  149. package/dist/{nodes-cli-DHcCJ6Jo.js → nodes-cli-BpG8jU6q.js} +6 -6
  150. package/dist/{onboard-CPHA8CdV.js → onboard-DbjF9LIj.js} +14 -14
  151. package/dist/{onboard-bTgNnEHK.js → onboard-Yx5pWXot.js} +14 -14
  152. package/dist/{onboard-channels-B_iyN1qL.js → onboard-channels-D1ThqeIv.js} +5 -5
  153. package/dist/{onboard-channels-D5ugcgBE.js → onboard-channels-LkgOp2vs.js} +5 -5
  154. package/dist/{onboard-custom-C0GtEEDP.js → onboard-custom-BD_6SIA8.js} +3 -3
  155. package/dist/{onboard-custom-Cla8O-Tv.js → onboard-custom-Dmv0zr-6.js} +3 -3
  156. package/dist/{onboard-helpers-LbRPhqLj.js → onboard-helpers-C5YryU1N.js} +3 -3
  157. package/dist/{onboard-helpers-D2mWJnFB.js → onboard-helpers-DpIB1xVU.js} +3 -3
  158. package/dist/{onboard-hooks-DZD-nGLB.js → onboard-hooks-DDANBk-9.js} +4 -4
  159. package/dist/{onboard-hooks-OBLRvKmN.js → onboard-hooks-DotvaUqG.js} +4 -4
  160. package/dist/{onboard-remote-DRnsw2VC.js → onboard-remote-DR9mcFjZ.js} +1 -1
  161. package/dist/{onboard-remote-Bi2BNRnh.js → onboard-remote-MlK-zjua.js} +1 -1
  162. package/dist/{onboard-skills-C6FIDEFz.js → onboard-skills-5rA5bRSG.js} +4 -4
  163. package/dist/{onboard-skills-C0XDXvWw.js → onboard-skills-BFebcdsU.js} +4 -4
  164. package/dist/{onboarding-D2SLzcWH.js → onboarding-B4y_mt01.js} +16 -16
  165. package/dist/{onboarding-ii3ok0Ih.js → onboarding-BIOnPknC.js} +16 -16
  166. package/dist/{onboarding.finalize-DOHv_Xe8.js → onboarding.finalize-CdYyVsOB.js} +23 -23
  167. package/dist/{onboarding.finalize-g-_d-wVY.js → onboarding.finalize-DvuthtW0.js} +24 -24
  168. package/dist/{onboarding.gateway-config-BT8nU-bQ.js → onboarding.gateway-config-BzM2v2U5.js} +8 -8
  169. package/dist/{onboarding.gateway-config-BmaAH8uo.js → onboarding.gateway-config-DC9fM10t.js} +8 -8
  170. package/dist/{openai-model-default-BiSllV8d.js → openai-model-default-CSl0PZzK.js} +2 -2
  171. package/dist/{openai-model-default-BeRT9S75.js → openai-model-default-DYlS_J2T.js} +2 -2
  172. package/dist/{outbound-send-deps-WKDU2JsO.js → outbound-send-deps-CBRh4LsL.js} +1 -1
  173. package/dist/{pairing-cli-DdtW6Nu-.js → pairing-cli-D1zyMuRV.js} +5 -5
  174. package/dist/{pairing-cli-C7HoBU3D.js → pairing-cli-MwIIeBee.js} +5 -5
  175. package/dist/{pairing-store-mmeniyUt.js → pairing-store-BGf29nPx.js} +1 -1
  176. package/dist/{pairing-store-CtYJcUUv.js → pairing-store-CtBnCGHZ.js} +1 -1
  177. package/dist/{pi-auth-json-BXOVPAoA.js → pi-auth-json-BKgUjASO.js} +1 -1
  178. package/dist/{pi-auth-json-D-ycHv8o.js → pi-auth-json-CUZ7IgY7.js} +1 -1
  179. package/dist/{pi-auth-json-D4Bl4hBw.js → pi-auth-json-De8XczIE.js} +1 -1
  180. package/dist/{pi-auth-json-1Z1j1PDI.js → pi-auth-json-SHGGQzOL.js} +1 -1
  181. package/dist/{pi-embedded-CvGL6bij.js → pi-embedded-BvMMjrvj.js} +30 -34
  182. package/dist/{pi-embedded-helpers-DnAXWUyj.js → pi-embedded-helpers-BbBfO9m_.js} +1 -1
  183. package/dist/{pi-embedded-helpers-BRM8EM4P.js → pi-embedded-helpers-D4cxQiPr.js} +1 -1
  184. package/dist/{pi-tools.policy-D-WJTlz8.js → pi-tools.policy--USPnaLr.js} +3 -3
  185. package/dist/{pi-tools.policy-BBHbN8Nh.js → pi-tools.policy-NmG0EGEY.js} +3 -3
  186. package/dist/{plugin-auto-enable-BCwyDNSP.js → plugin-auto-enable-D2TNEv3x.js} +2 -2
  187. package/dist/{plugin-auto-enable-B87oiELY.js → plugin-auto-enable-DSliW8o4.js} +2 -2
  188. package/dist/{plugin-registry-Dl3HqI5J.js → plugin-registry-5aIoUu-O.js} +3 -3
  189. package/dist/{plugin-registry-DSG-0min.js → plugin-registry-B0d7w7Tq.js} +3 -3
  190. package/dist/plugin-sdk/agents/agent-scope.d.ts +0 -1
  191. package/dist/plugin-sdk/agents/session-write-lock.d.ts +1 -1
  192. package/dist/plugin-sdk/agents/tools/browser-tool.schema.d.ts +2 -2
  193. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/shared.d.ts +1 -1
  194. package/dist/plugin-sdk/auto-reply/reply/subagents-utils.d.ts +1 -1
  195. package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +0 -4
  196. package/dist/plugin-sdk/channels/plugins/bluebubbles-actions.d.ts +1 -1
  197. package/dist/plugin-sdk/compat/legacy-names.d.ts +0 -5
  198. package/dist/plugin-sdk/config/sessions/types.d.ts +0 -7
  199. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +0 -38
  200. package/dist/plugin-sdk/config/types.agents.d.ts +0 -2
  201. package/dist/plugin-sdk/config/types.channels.d.ts +0 -10
  202. package/dist/plugin-sdk/config/types.messages.d.ts +1 -8
  203. package/dist/plugin-sdk/config/types.msteams.d.ts +0 -3
  204. package/dist/plugin-sdk/config/types.slack.d.ts +0 -3
  205. package/dist/plugin-sdk/config/types.symi.d.ts +1 -2
  206. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +0 -17
  207. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +0 -34
  208. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +0 -34
  209. package/dist/plugin-sdk/config/zod-schema.d.ts +2 -76
  210. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +3 -63
  211. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +2 -43
  212. package/dist/plugin-sdk/gateway/outbound-filter.d.ts +1 -7
  213. package/dist/plugin-sdk/gateway/protocol/index.d.ts +23 -23
  214. package/dist/plugin-sdk/index.js +24 -132
  215. package/dist/plugin-sdk/infra/outbound/targets.d.ts +0 -17
  216. package/dist/{plugins-cli-CEj-qNus.js → plugins-cli-DMCWSACj.js} +41 -41
  217. package/dist/{plugins-cli-CUTyMzoz.js → plugins-cli-DNMBwSsv.js} +40 -40
  218. package/dist/{program-CjZ65fN4.js → program-DKmohZYs.js} +46 -46
  219. package/dist/{program-context-GaV454D6.js → program-context-BHCqXp7K.js} +38 -38
  220. package/dist/{prompt-select-styled-CwXc8EFB.js → prompt-select-styled-CJ7vyifz.js} +22 -23
  221. package/dist/{prompt-select-styled-BkowcFQR.js → prompt-select-styled-DIpkZ3Py.js} +22 -23
  222. package/dist/{provider-auth-helpers-CRobCJR_.js → provider-auth-helpers-MMYRbW_U.js} +5 -5
  223. package/dist/{provider-auth-helpers-Bo1_RSEb.js → provider-auth-helpers-rT0mj3Rg.js} +5 -5
  224. package/dist/{push-apns-BBym2pAw.js → push-apns-KHQGzTcZ.js} +1 -1
  225. package/dist/{push-apns-Bv16DYOL.js → push-apns-qCbh6Vhl.js} +1 -1
  226. package/dist/{pw-ai-B3qisJP1.js → pw-ai-CNOE7SUx.js} +5 -5
  227. package/dist/{pw-ai-BW5obXRK.js → pw-ai-CyCnG_Kj.js} +5 -5
  228. package/dist/{pw-ai-Cnc8PGzN.js → pw-ai-DuPDo_Ia.js} +5 -5
  229. package/dist/{pw-ai-GICi0s74.js → pw-ai-HU-K9Kp6.js} +5 -5
  230. package/dist/{qmd-manager-CTHJcHPq.js → qmd-manager-BIMoHiZY.js} +1 -1
  231. package/dist/{qmd-manager-C-J9Sfjk.js → qmd-manager-CAQYVZT8.js} +1 -1
  232. package/dist/{qmd-manager-DKAr0zp6.js → qmd-manager-CX0jtKS5.js} +1 -1
  233. package/dist/{qmd-manager-94nTSYk_.js → qmd-manager-PszixIzI.js} +1 -1
  234. package/dist/{qr-cli-QUvxvMzs.js → qr-cli-Bv4zF-WM.js} +4 -4
  235. package/dist/{qr-cli-BIdgVMK1.js → qr-cli-Cc3gulVb.js} +4 -4
  236. package/dist/{redact-identifier-gZfj5mH2.js → redact-identifier-QYENCXvy.js} +2 -2
  237. package/dist/{register.agent-QXqsCc-q.js → register.agent-BWcxonR9.js} +55 -55
  238. package/dist/{register.agent-z4GJgPr-.js → register.agent-D3QRjMQA.js} +54 -54
  239. package/dist/{register.configure-DaMmDTaj.js → register.configure-BlCCtcgW.js} +59 -59
  240. package/dist/{register.configure-CYXErdjF.js → register.configure-D0T0kOp7.js} +60 -60
  241. package/dist/{register.maintenance-CBGhJ5R9.js → register.maintenance-BH0tQsKC.js} +55 -55
  242. package/dist/{register.maintenance-CcWTycM4.js → register.maintenance-C-U8Vjdk.js} +53 -53
  243. package/dist/{register.message-Bcvdcd3v.js → register.message-BJEu7jXo.js} +39 -39
  244. package/dist/{register.message-EMkIi8Ga.js → register.message-C3dCPjVc.js} +39 -39
  245. package/dist/{register.onboard-CtcLKgR4.js → register.onboard-B_WCIG9n.js} +21 -21
  246. package/dist/{register.onboard-lmLaYYZl.js → register.onboard-CcvZY9rS.js} +21 -21
  247. package/dist/{register.setup-Cu8R_HaH.js → register.setup-CLFM22gp.js} +20 -20
  248. package/dist/{register.setup-D47FYXH2.js → register.setup-CXojM7PS.js} +20 -20
  249. package/dist/{register.status-health-sessions--q6ddHX9.js → register.status-health-sessions-4dxLj6hJ.js} +31 -31
  250. package/dist/{register.status-health-sessions-B9CINBWm.js → register.status-health-sessions-DAraoWwd.js} +29 -29
  251. package/dist/{register.subclis-CHTY5PYx.js → register.subclis-4IO5JLGL.js} +28 -28
  252. package/dist/{replies-C82xaXm3.js → replies-CH1VlYZQ.js} +1 -1
  253. package/dist/{replies-BeK3uuQ8.js → replies-CjSfYK97.js} +3 -3
  254. package/dist/{replies-BOy28KVL.js → replies-DIWartyA.js} +1 -1
  255. package/dist/{replies-P7jbK6Bo.js → replies-t5bPemnD.js} +1 -1
  256. package/dist/{reply-prefix-CRdCnS44.js → reply-prefix-B7pYEiW_.js} +1 -1
  257. package/dist/{reply-prefix-xaWqfM9m.js → reply-prefix-BOdARKaY.js} +1 -1
  258. package/dist/{reply-prefix-ChIeKp-P.js → reply-prefix-D3muTai5.js} +1 -1
  259. package/dist/{reply-prefix-BqgLflxO.js → reply-prefix-i-FPYcoQ.js} +1 -1
  260. package/dist/{resolve-route-CIS2tjpz.js → resolve-route-Be5fFo0_.js} +1 -1
  261. package/dist/{resolve-route-DKhx5C-P.js → resolve-route-CRWE36h5.js} +1 -1
  262. package/dist/{resolve-route-BoF_Jubb.js → resolve-route-DNKcB7Q9.js} +1 -1
  263. package/dist/{resolve-route-D0TboSMz.js → resolve-route-DaA1sG8I.js} +1 -1
  264. package/dist/{routes-BJ2iXVJF.js → routes-CTOYLhQ1.js} +3 -3
  265. package/dist/{routes-MX2zYTZX.js → routes-CWYyvbxi.js} +3 -3
  266. package/dist/{rpc-CSI4uFgj.js → rpc-BLUOZg0H.js} +1 -1
  267. package/dist/{rpc-CzGWoSQY.js → rpc-DLfjbTSu.js} +1 -1
  268. package/dist/{run-main-Bzub4qvZ.js → run-main-dgWHEHSR.js} +57 -57
  269. package/dist/{sandbox-DzRvFxeE.js → sandbox-B6P9-J8g.js} +7 -7
  270. package/dist/{sandbox-CQU7Gcb9.js → sandbox-CpZmnHRC.js} +7 -7
  271. package/dist/{sandbox-cli-Ci90LP_X.js → sandbox-cli-DtbM64tR.js} +11 -11
  272. package/dist/{sandbox-cli-WYHWWki_.js → sandbox-cli-bOFig9Jd.js} +11 -11
  273. package/dist/{scan-paths-ppKrtZ9U.js → scan-paths-BVaXDn8b.js} +2 -4
  274. package/dist/{security-cli-qZaxHyoZ.js → security-cli-C7LBaB0e.js} +18 -18
  275. package/dist/{security-cli-BfOZ_cJN.js → security-cli-CnNnxSRu.js} +18 -18
  276. package/dist/{send-DulXmWcG.js → send-6IYv-yRp.js} +2 -2
  277. package/dist/{send-CLJ2KPVT.js → send-C3ZXgOXw.js} +2 -2
  278. package/dist/{send-BAKkoPOy.js → send-zbkImdk9.js} +2 -2
  279. package/dist/{server-context-BsMQBnUG.js → server-context-Dytgl6ZD.js} +5 -5
  280. package/dist/{server-context-CCPE_W8C.js → server-context-Vd9sEFb9.js} +5 -5
  281. package/dist/{server-node-events-j4AWHS1m.js → server-node-events-BH4-UlAH.js} +40 -40
  282. package/dist/{server-node-events-mBi614x_.js → server-node-events-CY5_aNdi.js} +40 -40
  283. package/dist/{update-runner-BGhhL2R8.js → session-dirs-6atzU47U.js} +16 -2
  284. package/dist/{update-runner-C8L4XRQb.js → session-dirs-CFEdAT4Z.js} +16 -2
  285. package/dist/{session-utils-i74hYiQl.js → session-utils-CJfEkQQQ.js} +5 -5
  286. package/dist/{session-utils-0F9pB5d6.js → session-utils-NOQiGgMD.js} +5 -5
  287. package/dist/{sessions-DQMaURzb.js → sessions-B7Of0Rqm.js} +2 -2
  288. package/dist/{sessions-7jk0D1BI.js → sessions-BHrlpR92.js} +2 -2
  289. package/dist/{sessions-CC1W02Uv.js → sessions-Chjdz1Gx.js} +4 -4
  290. package/dist/{shared-BIUt7Xoj.js → shared-B-64oefu.js} +3 -3
  291. package/dist/{shared-4Z8Ut8Cs.js → shared-BmS-LOw8.js} +3 -3
  292. package/dist/{skill-commands-DzodvMO3.js → skill-commands-5QB5E8bv.js} +4 -4
  293. package/dist/{skill-commands-CEY0MdSm.js → skill-commands-C5n7FeDJ.js} +3 -3
  294. package/dist/{skill-commands-DP1fshwh.js → skill-commands-CcCCVblU.js} +4 -4
  295. package/dist/{skill-commands-Cwrebyvj.js → skill-commands-sTJFg5lz.js} +3 -3
  296. package/dist/{skill-scanner-DkITukAS.js → skill-scanner-CuoStu03.js} +1 -1
  297. package/dist/{skill-scanner-qMQf6-FN.js → skill-scanner-YF2jR4RY.js} +1 -1
  298. package/dist/{skills-B3e5S0iU.js → skills-BP6p7GnN.js} +2 -2
  299. package/dist/{skills-DL8DjveU.js → skills-Bmjf5nFv.js} +2 -2
  300. package/dist/{skills-xmXjOnAV.js → skills-Bn0f9KTL.js} +3 -3
  301. package/dist/{skills-D0k4o0Ez.js → skills-DaU_5XvP.js} +3 -3
  302. package/dist/{skills-cli-BkIH3HKr.js → skills-cli-CGPerRcN.js} +8 -8
  303. package/dist/{skills-cli-C6lNyNrs.js → skills-cli-DbhEEC78.js} +8 -8
  304. package/dist/{skills-install-C9uT4MR2.js → skills-install-DLUMpiCC.js} +3 -3
  305. package/dist/{skills-install-BMhIk6vI.js → skills-install-Q5hgZITy.js} +3 -3
  306. package/dist/{skills-remote-Db5Wwr4s.js → skills-remote-CqwR3Zvp.js} +2 -2
  307. package/dist/{skills-remote-DEkSSz2R.js → skills-remote-DHfuS68n.js} +2 -2
  308. package/dist/{skills-status-CaEDEfYZ.js → skills-status-01KNlWUS.js} +2 -2
  309. package/dist/{skills-status-Dx3Lf5iU.js → skills-status-BNDqwHkP.js} +2 -2
  310. package/dist/{ssrf-Dcgaqg3U.js → ssrf-BzPY2FrA.js} +22 -128
  311. package/dist/{ssrf-BJZIZ4yo.js → ssrf-CJor4ewC.js} +22 -128
  312. package/dist/{status-MkJRgsTJ.js → status-C6HwMPLx.js} +3 -3
  313. package/dist/{status-BuHx0FXI.js → status-CJ4x2gHu.js} +15 -15
  314. package/dist/{status-BtAHzMLu.js → status-CeaJlVQK.js} +3 -3
  315. package/dist/{status-FKqnkO3K.js → status-dHYcVtbb.js} +16 -16
  316. package/dist/{status.update-CQ1vKrEg.js → status.update-iWEAq6bt.js} +1 -1
  317. package/dist/{status.update-CN2XgChL.js → status.update-lna4Lub4.js} +1 -1
  318. package/dist/{subagent-registry-B1RgR3-0.js → subagent-registry-BbQL79Gk.js} +47 -51
  319. package/dist/{synthesis-BEaISjwW.js → synthesis-DcGTICel.js} +16 -16
  320. package/dist/{synthesis-BSUjIY0v.js → synthesis-DiPl8Usv.js} +37 -37
  321. package/dist/{synthesis-BtlmxJ7w.js → synthesis-DvSl5w4K.js} +36 -36
  322. package/dist/{synthesis-DsYfiC2s.js → synthesis-Q30uczDF.js} +18 -18
  323. package/dist/{system-cli-CQiwHTRi.js → system-cli-C9uTFA4c.js} +6 -6
  324. package/dist/{system-cli-5_JOcUt0.js → system-cli-DKMfh71A.js} +6 -6
  325. package/dist/{systemd-hints-CFvOucgp.js → systemd-hints-DQKA3tTS.js} +1 -1
  326. package/dist/{systemd-hints-CeavseQh.js → systemd-hints-RoqMZFFM.js} +1 -1
  327. package/dist/{tokens-CJgPtOxz.js → tokens-Dm_xa-oz.js} +1 -1
  328. package/dist/{tui-JznxMYj0.js → tui-C_yv1hvy.js} +6 -6
  329. package/dist/{tui-Bnusp3Vd.js → tui-DeVQrlt9.js} +6 -6
  330. package/dist/{tui-cli-BY8W9Yjm.js → tui-cli-3EAQXwu7.js} +15 -15
  331. package/dist/{tui-cli-Cc_TS4LH.js → tui-cli-D7wYLESM.js} +15 -15
  332. package/dist/{unified-runner-BPyxPZv9.js → unified-runner-CSn91cbr.js} +32 -36
  333. package/dist/{unified-runner-Bn9vq7Zy.js → unified-runner-CjFXehHb.js} +46 -50
  334. package/dist/{update-BvDXKE6K.js → update-CE8nDV7s.js} +2 -2
  335. package/dist/{update-JtKX2Yl3.js → update-CbkItCeC.js} +2 -2
  336. package/dist/{update-cli-BXtHo0ox.js → update-cli-BN4_mr6c.js} +61 -61
  337. package/dist/{update-cli-DLx7LNVB.js → update-cli-CUGTzKWo.js} +59 -59
  338. package/dist/{webhooks-cli-Cb-KTyWa.js → webhooks-cli-B2_nrbvn.js} +7 -7
  339. package/dist/{webhooks-cli-CXbv4eB6.js → webhooks-cli-CoIL1D4T.js} +7 -7
  340. package/dist/{with-timeout-BsavN1IH.js → with-timeout-BhDKgIeU.js} +1 -1
  341. package/dist/{with-timeout-C0UtpXBj.js → with-timeout-COajnkmj.js} +1 -1
  342. package/dist/{workspace-DHzBY6qe.js → workspace-2m2BLIbx.js} +2 -2
  343. package/dist/{workspace-B_xyjOdv.js → workspace-CxAs2tsz.js} +2 -2
  344. package/dist/{workspace-dirs-B6EAh6SV.js → workspace-dirs-23IYtZj2.js} +1 -1
  345. package/dist/{workspace-dirs-gn_0yzFP.js → workspace-dirs-D5OnUmvw.js} +1 -1
  346. package/package.json +1 -1
  347. package/dist/glass-ui-ws-CwJdwqn6.js +0 -346
  348. package/dist/glass-ui-ws-f_OPXcN2.js +0 -341
  349. package/dist/legacy-names-sghWmXe3.js +0 -8
  350. package/dist/plugin-sdk/config/zod-schema.channels.d.ts +0 -6
  351. package/dist/server-methods-C2UnIkWU.js +0 -9467
  352. package/dist/server-methods-THO5vDXZ.js +0 -9465
  353. package/dist/session-dirs-Chh7bBGo.js +0 -18
  354. package/dist/session-dirs-Sl_x6tjD.js +0 -18
  355. /package/dist/{auth-choice-legacy-CsjluQCN.js → auth-choice-legacy-DlTku0W1.js} +0 -0
  356. /package/dist/{auth-choice-legacy-D9WcUI_J.js → auth-choice-legacy-y8ZXjhDq.js} +0 -0
  357. /package/dist/{consolidate-D1GUJ5qq.js → consolidate-CTKMVS1l.js} +0 -0
  358. /package/dist/{consolidate-7Usm-b2g.js → consolidate-DhJ5sq5p.js} +0 -0
  359. /package/dist/{format-BGzoTHhD.js → format-CUJQOEUj.js} +0 -0
  360. /package/dist/{format-C-0EAOjI.js → format-Cj8gNX2r.js} +0 -0
  361. /package/dist/{health-format-39e76m9p.js → health-format-BQdYy0nL.js} +0 -0
  362. /package/dist/{health-format-DaP03FBk.js → health-format-OIqaDZ2V.js} +0 -0
  363. /package/dist/{ipv4-CfVqgiTN.js → ipv4-CFw4fYIH.js} +0 -0
  364. /package/dist/{ipv4-DK4xoUQ-.js → ipv4-DBwTCOBu.js} +0 -0
  365. /package/dist/{logging-B96FQvnn.js → logging-BA2NbxMy.js} +0 -0
  366. /package/dist/{logging-BeA4q4J_.js → logging-Dt9kBzoO.js} +0 -0
  367. /package/dist/{model-param-b-B34yvxBN.js → model-param-b-CErLzOT8.js} +0 -0
  368. /package/dist/{model-param-b-CmgmcGoJ.js → model-param-b-DnsFCAGo.js} +0 -0
  369. /package/dist/{node-service-DDDCEDdv.js → node-service-B7zf4WFE.js} +0 -0
  370. /package/dist/{node-service-tPO_yUk7.js → node-service-DLCN3Pek.js} +0 -0
  371. /package/dist/{onboard-config-Barp7MT9.js → onboard-config-CIBKQuYV.js} +0 -0
  372. /package/dist/{onboard-config-DQkZqcyq.js → onboard-config-D6L72_zg.js} +0 -0
  373. /package/dist/{outbound-send-deps-BpziI1pC.js → outbound-send-deps-pzO0D6kV.js} +0 -0
  374. /package/dist/{ports-BAzQoIw0.js → ports-B3NnaSHu.js} +0 -0
  375. /package/dist/{system-run-command-QikSIqYG.js → system-run-command-XG1_P_la.js} +0 -0
  376. /package/dist/{systemd-linger-PqG8iGCt.js → systemd-linger-CWJhsBBY.js} +0 -0
  377. /package/dist/{systemd-linger-BM4qvprK.js → systemd-linger-CoyAJEZx.js} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { bt as CONFIG_DIR, o as createSubsystemLogger } from "./entry.js";
3
3
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-BQkcejku.js";
4
- import { d as hasBinary } from "./frontmatter-B8duUx_6.js";
5
- import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-B3e5S0iU.js";
4
+ import { d as hasBinary } from "./frontmatter-B4levtVg.js";
5
+ import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-BP6p7GnN.js";
6
6
  import path from "node:path";
7
7
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
8
8
 
@@ -1,8 +1,8 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR } from "./utils-BU8jVQFM.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
4
- import { d as hasBinary } from "./frontmatter-B6IdJ7UK.js";
5
- import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-DL8DjveU.js";
4
+ import { d as hasBinary } from "./frontmatter-CHu3sfCM.js";
5
+ import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-Bmjf5nFv.js";
6
6
  import { t as evaluateEntryMetadataRequirementsForCurrentPlatform } from "./entry-status-B9ZXzXaN.js";
7
7
  import path from "node:path";
8
8
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
@@ -1,9 +1,9 @@
1
1
  import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
2
2
  import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BmQ2R1ev.js";
3
- import { G as isRecord, J as resolveConfigDir, Y as resolveUserPath, nt as isPlainObject$1, s as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-C-JddWwo.js";
4
- import { o as resolveAgentWorkspaceDir, s as resolveDefaultAgentId } from "./agent-scope-D_MtsuXX.js";
5
- import { J as resolveShellEnvFallbackTimeoutMs, Q as DEFAULT_CONTEXT_TOKENS, T as parseModelRef, X as shouldEnableShellEnvFallback, Y as shouldDeferShellEnvFallback, q as loadShellEnvFallback } from "./auth-profiles-duUuQXeC.js";
6
- import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-DsTUFMvZ.js";
3
+ import { G as isRecord, J as resolveConfigDir, Y as resolveUserPath, nt as isPlainObject$1, t as CHANNEL_IDS } from "./registry-C-JddWwo.js";
4
+ import { o as resolveAgentWorkspaceDir, s as resolveDefaultAgentId } from "./agent-scope-B1Ina6jV.js";
5
+ import { J as resolveShellEnvFallbackTimeoutMs, Q as DEFAULT_CONTEXT_TOKENS, T as parseModelRef, X as shouldEnableShellEnvFallback, Y as shouldDeferShellEnvFallback, q as loadShellEnvFallback } from "./auth-profiles-Boy_KMd1.js";
6
+ import { c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, f as normalizeEnvVarKey, l as isPathInside, o as normalizePluginsConfig, s as resolveEnableState, t as loadPluginManifestRegistry } from "./manifest-registry-C0nJ3Ja3.js";
7
7
  import { createRequire } from "node:module";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs";
@@ -2021,22 +2021,6 @@ function validateJsonSchemaValue(params) {
2021
2021
  };
2022
2022
  }
2023
2023
 
2024
- //#endregion
2025
- //#region src/cli/parse-duration.ts
2026
- function parseDurationMs(raw, opts) {
2027
- const trimmed = String(raw ?? "").trim().toLowerCase();
2028
- if (!trimmed) throw new Error("invalid duration (empty)");
2029
- const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
2030
- if (!m) throw new Error(`invalid duration: ${raw}`);
2031
- const value = Number(m[1]);
2032
- if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
2033
- const unit = m[2] ?? opts?.defaultUnit ?? "ms";
2034
- const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
2035
- const ms = Math.round(value * multiplier);
2036
- if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
2037
- return ms;
2038
- }
2039
-
2040
2024
  //#endregion
2041
2025
  //#region src/config/zod-schema.agent-model.ts
2042
2026
  const AgentModelSchema = z.union([z.string(), z.object({
@@ -2442,65 +2426,6 @@ const ProviderCommandsSchema = z.object({
2442
2426
 
2443
2427
  //#endregion
2444
2428
  //#region src/config/zod-schema.agent-runtime.ts
2445
- const HeartbeatSchema = z.object({
2446
- every: z.string().optional(),
2447
- activeHours: z.object({
2448
- start: z.string().optional(),
2449
- end: z.string().optional(),
2450
- timezone: z.string().optional()
2451
- }).strict().optional(),
2452
- model: z.string().optional(),
2453
- session: z.string().optional(),
2454
- includeReasoning: z.boolean().optional(),
2455
- target: z.string().optional(),
2456
- to: z.string().optional(),
2457
- accountId: z.string().optional(),
2458
- prompt: z.string().optional(),
2459
- ackMaxChars: z.number().int().nonnegative().optional(),
2460
- suppressToolErrorWarnings: z.boolean().optional()
2461
- }).strict().superRefine((val, ctx) => {
2462
- if (!val.every) return;
2463
- try {
2464
- parseDurationMs(val.every, { defaultUnit: "m" });
2465
- } catch {
2466
- ctx.addIssue({
2467
- code: z.ZodIssueCode.custom,
2468
- path: ["every"],
2469
- message: "invalid duration (use ms, s, m, h)"
2470
- });
2471
- }
2472
- const active = val.activeHours;
2473
- if (!active) return;
2474
- const timePattern = /^([01]\d|2[0-3]|24):([0-5]\d)$/;
2475
- const validateTime = (raw, opts, path) => {
2476
- if (!raw) return;
2477
- if (!timePattern.test(raw)) {
2478
- ctx.addIssue({
2479
- code: z.ZodIssueCode.custom,
2480
- path: ["activeHours", path],
2481
- message: "invalid time (use \"HH:MM\" 24h format)"
2482
- });
2483
- return;
2484
- }
2485
- const [hourStr, minuteStr] = raw.split(":");
2486
- const hour = Number(hourStr);
2487
- if (hour === 24 && Number(minuteStr) !== 0) {
2488
- ctx.addIssue({
2489
- code: z.ZodIssueCode.custom,
2490
- path: ["activeHours", path],
2491
- message: "invalid time (24:00 is the only allowed 24:xx value)"
2492
- });
2493
- return;
2494
- }
2495
- if (hour === 24 && !opts.allow24) ctx.addIssue({
2496
- code: z.ZodIssueCode.custom,
2497
- path: ["activeHours", path],
2498
- message: "invalid time (start cannot be 24:00)"
2499
- });
2500
- };
2501
- validateTime(active.start, { allow24: false }, "start");
2502
- validateTime(active.end, { allow24: true }, "end");
2503
- }).optional();
2504
2429
  const SandboxDockerSchema = z.object({
2505
2430
  image: z.string().optional(),
2506
2431
  containerPrefix: z.string().optional(),
@@ -2852,7 +2777,6 @@ const AgentEntrySchema = z.object({
2852
2777
  skills: z.array(z.string()).optional(),
2853
2778
  memorySearch: MemorySearchSchema,
2854
2779
  humanDelay: HumanDelaySchema.optional(),
2855
- heartbeat: HeartbeatSchema,
2856
2780
  identity: IdentitySchema,
2857
2781
  groupChat: GroupChatSchema,
2858
2782
  subagents: z.object({
@@ -3011,7 +2935,6 @@ const AgentDefaultsSchema = z.object({
3011
2935
  z.literal("thinking"),
3012
2936
  z.literal("message")
3013
2937
  ]).optional(),
3014
- heartbeat: HeartbeatSchema,
3015
2938
  maxConcurrent: z.number().int().positive().optional(),
3016
2939
  subagents: z.object({
3017
2940
  maxConcurrent: z.number().int().positive().optional(),
@@ -3197,14 +3120,6 @@ const HooksGmailSchema = z.object({
3197
3120
  ]).optional()
3198
3121
  }).strict().optional();
3199
3122
 
3200
- //#endregion
3201
- //#region src/config/zod-schema.channels.ts
3202
- const ChannelHeartbeatVisibilitySchema = z.object({
3203
- showOk: z.boolean().optional(),
3204
- showAlerts: z.boolean().optional(),
3205
- useIndicator: z.boolean().optional()
3206
- }).strict().optional();
3207
-
3208
3123
  //#endregion
3209
3124
  //#region src/config/zod-schema.providers-core.ts
3210
3125
  const ToolPolicyBySenderSchema = z.record(z.string(), ToolPolicySchema).optional();
@@ -3359,7 +3274,6 @@ const SlackAccountSchema = z.object({
3359
3274
  defaultTo: z.string().optional(),
3360
3275
  dm: SlackDmSchema.optional(),
3361
3276
  channels: z.record(z.string(), SlackChannelSchema.optional()).optional(),
3362
- heartbeat: ChannelHeartbeatVisibilitySchema,
3363
3277
  responsePrefix: z.string().optional(),
3364
3278
  ackReaction: z.string().optional()
3365
3279
  }).strict().superRefine((value, ctx) => {
@@ -3447,7 +3361,6 @@ const IrcAccountSchemaBase = z.object({
3447
3361
  blockStreaming: z.boolean().optional(),
3448
3362
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3449
3363
  mediaMaxMb: z.number().positive().optional(),
3450
- heartbeat: ChannelHeartbeatVisibilitySchema,
3451
3364
  responsePrefix: z.string().optional()
3452
3365
  }).strict();
3453
3366
  function refineIrcAllowFromAndNickserv(value, ctx) {
@@ -3513,7 +3426,6 @@ const BlueBubblesAccountSchemaBase = z.object({
3513
3426
  blockStreaming: z.boolean().optional(),
3514
3427
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3515
3428
  groups: z.record(z.string(), BlueBubblesGroupConfigSchema.optional()).optional(),
3516
- heartbeat: ChannelHeartbeatVisibilitySchema,
3517
3429
  responsePrefix: z.string().optional()
3518
3430
  }).strict();
3519
3431
  const BlueBubblesAccountSchema = BlueBubblesAccountSchemaBase.superRefine((value, ctx) => {
@@ -3580,7 +3492,6 @@ const MSTeamsConfigSchema = z.object({
3580
3492
  teams: z.record(z.string(), MSTeamsTeamSchema.optional()).optional(),
3581
3493
  mediaMaxMb: z.number().positive().optional(),
3582
3494
  sharePointSiteId: z.string().optional(),
3583
- heartbeat: ChannelHeartbeatVisibilitySchema,
3584
3495
  responsePrefix: z.string().optional()
3585
3496
  }).strict().superRefine((value, ctx) => {
3586
3497
  requireOpenAllowFrom({
@@ -3596,10 +3507,7 @@ const MSTeamsConfigSchema = z.object({
3596
3507
  //#region src/config/zod-schema.providers.ts
3597
3508
  const ChannelModelByChannelSchema = z.record(z.string(), z.record(z.string(), z.string())).optional();
3598
3509
  const ChannelsSchema = z.object({
3599
- defaults: z.object({
3600
- groupPolicy: GroupPolicySchema.optional(),
3601
- heartbeat: ChannelHeartbeatVisibilitySchema
3602
- }).strict().optional(),
3510
+ defaults: z.object({ groupPolicy: GroupPolicySchema.optional() }).strict().optional(),
3603
3511
  modelByChannel: ChannelModelByChannelSchema,
3604
3512
  irc: IrcConfigSchema.optional(),
3605
3513
  googlechat: GoogleChatConfigSchema.optional(),
@@ -3635,6 +3543,22 @@ function parseByteSize(raw, opts) {
3635
3543
  return bytes;
3636
3544
  }
3637
3545
 
3546
+ //#endregion
3547
+ //#region src/cli/parse-duration.ts
3548
+ function parseDurationMs(raw, opts) {
3549
+ const trimmed = String(raw ?? "").trim().toLowerCase();
3550
+ if (!trimmed) throw new Error("invalid duration (empty)");
3551
+ const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
3552
+ if (!m) throw new Error(`invalid duration: ${raw}`);
3553
+ const value = Number(m[1]);
3554
+ if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
3555
+ const unit = m[2] ?? opts?.defaultUnit ?? "ms";
3556
+ const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
3557
+ const ms = Math.round(value * multiplier);
3558
+ if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
3559
+ return ms;
3560
+ }
3561
+
3638
3562
  //#endregion
3639
3563
  //#region src/config/zod-schema.session.ts
3640
3564
  const SessionResetConfigSchema = z.object({
@@ -4374,36 +4298,6 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
4374
4298
  message: `unknown channel id: ${trimmed}`
4375
4299
  });
4376
4300
  }
4377
- const heartbeatChannelIds = /* @__PURE__ */ new Set();
4378
- for (const channelId of CHANNEL_IDS) heartbeatChannelIds.add(channelId.toLowerCase());
4379
- const validateHeartbeatTarget = (target, path) => {
4380
- if (typeof target !== "string") return;
4381
- const trimmed = target.trim();
4382
- if (!trimmed) {
4383
- issues.push({
4384
- path,
4385
- message: "heartbeat target must not be empty"
4386
- });
4387
- return;
4388
- }
4389
- const normalized = trimmed.toLowerCase();
4390
- if (normalized === "last" || normalized === "none") return;
4391
- if (normalizeChatChannelId(trimmed)) return;
4392
- if (!heartbeatChannelIds.has(normalized)) {
4393
- const { registry } = ensureRegistry();
4394
- for (const record of registry.plugins) for (const channelId of record.channels) {
4395
- const pluginChannel = channelId.trim();
4396
- if (pluginChannel) heartbeatChannelIds.add(pluginChannel.toLowerCase());
4397
- }
4398
- }
4399
- if (heartbeatChannelIds.has(normalized)) return;
4400
- issues.push({
4401
- path,
4402
- message: `unknown heartbeat target: ${target}`
4403
- });
4404
- };
4405
- validateHeartbeatTarget(config.agents?.defaults?.heartbeat?.target, "agents.defaults.heartbeat.target");
4406
- if (Array.isArray(config.agents?.list)) for (const [index, entry] of config.agents.list.entries()) validateHeartbeatTarget(entry?.heartbeat?.target, `agents.list.${index}.heartbeat.target`);
4407
4301
  if (!hasExplicitPluginsConfig) {
4408
4302
  if (issues.length > 0) return {
4409
4303
  ok: false,
@@ -5480,4 +5374,4 @@ async function closeDispatcher(dispatcher) {
5480
5374
  }
5481
5375
 
5482
5376
  //#endregion
5483
- export { unsetConfigValueAtPath as C, setConfigValueAtPath as S, VERSION as T, resetConfigOverrides as _, resolvePinnedHostnameWithPolicy as a, getConfigValueAtPath as b, loadConfig as c, writeConfigFile as d, validateConfigObjectWithPlugins as f, getConfigOverrides as g, validateJsonSchemaValue as h, isBlockedHostnameOrIp as i, readConfigFileSnapshot as l, parseDurationMs as m, closeDispatcher as n, normalizeHostname as o, parseByteSize as p, createPinnedDispatcher as r, createConfigIO as s, SsrFBlockedError as t, resolveConfigSnapshotHash as u, setConfigOverride as v, DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as w, parseConfigPath as x, unsetConfigOverride as y };
5377
+ export { unsetConfigValueAtPath as C, setConfigValueAtPath as S, VERSION as T, resetConfigOverrides as _, resolvePinnedHostnameWithPolicy as a, getConfigValueAtPath as b, loadConfig as c, writeConfigFile as d, validateConfigObjectWithPlugins as f, getConfigOverrides as g, validateJsonSchemaValue as h, isBlockedHostnameOrIp as i, readConfigFileSnapshot as l, parseByteSize as m, closeDispatcher as n, normalizeHostname as o, parseDurationMs as p, createPinnedDispatcher as r, createConfigIO as s, SsrFBlockedError as t, resolveConfigSnapshotHash as u, setConfigOverride as v, DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as w, parseConfigPath as x, unsetConfigOverride as y };
@@ -1,9 +1,9 @@
1
1
  import { n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
2
2
  import { o as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BmQ2R1ev.js";
3
- import { $ as isPlainObject$1, G as resolveConfigDir, H as isRecord, K as resolveUserPath, o as normalizeChatChannelId, t as CHANNEL_IDS } from "./registry-CANRzFn-.js";
4
- import { o as resolveAgentWorkspaceDir, s as resolveDefaultAgentId } from "./agent-scope-ixfTVesj.js";
5
- import { A as shouldDeferShellEnvFallback, O as loadShellEnvFallback, c as parseModelRef, j as shouldEnableShellEnvFallback, k as resolveShellEnvFallbackTimeoutMs, tt as DEFAULT_CONTEXT_TOKENS } from "./model-selection-BE83O-pv.js";
6
- import { c as normalizePluginsConfig, d as isPathInside, l as resolveEnableState, m as normalizeEnvVarKey, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-BV_2TbGz.js";
3
+ import { $ as isPlainObject$1, G as resolveConfigDir, H as isRecord, K as resolveUserPath, t as CHANNEL_IDS } from "./registry-CANRzFn-.js";
4
+ import { o as resolveAgentWorkspaceDir, s as resolveDefaultAgentId } from "./agent-scope-DZEuQYrq.js";
5
+ import { A as shouldDeferShellEnvFallback, O as loadShellEnvFallback, c as parseModelRef, j as shouldEnableShellEnvFallback, k as resolveShellEnvFallbackTimeoutMs, tt as DEFAULT_CONTEXT_TOKENS } from "./model-selection-DUQlsUfk.js";
6
+ import { c as normalizePluginsConfig, d as isPathInside, l as resolveEnableState, m as normalizeEnvVarKey, p as isDangerousHostEnvVarName, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-CAWGTwb5.js";
7
7
  import { createRequire } from "node:module";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs";
@@ -2021,22 +2021,6 @@ function validateJsonSchemaValue(params) {
2021
2021
  };
2022
2022
  }
2023
2023
 
2024
- //#endregion
2025
- //#region src/cli/parse-duration.ts
2026
- function parseDurationMs(raw, opts) {
2027
- const trimmed = String(raw ?? "").trim().toLowerCase();
2028
- if (!trimmed) throw new Error("invalid duration (empty)");
2029
- const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
2030
- if (!m) throw new Error(`invalid duration: ${raw}`);
2031
- const value = Number(m[1]);
2032
- if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
2033
- const unit = m[2] ?? opts?.defaultUnit ?? "ms";
2034
- const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
2035
- const ms = Math.round(value * multiplier);
2036
- if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
2037
- return ms;
2038
- }
2039
-
2040
2024
  //#endregion
2041
2025
  //#region src/config/zod-schema.agent-model.ts
2042
2026
  const AgentModelSchema = z.union([z.string(), z.object({
@@ -2442,65 +2426,6 @@ const ProviderCommandsSchema = z.object({
2442
2426
 
2443
2427
  //#endregion
2444
2428
  //#region src/config/zod-schema.agent-runtime.ts
2445
- const HeartbeatSchema = z.object({
2446
- every: z.string().optional(),
2447
- activeHours: z.object({
2448
- start: z.string().optional(),
2449
- end: z.string().optional(),
2450
- timezone: z.string().optional()
2451
- }).strict().optional(),
2452
- model: z.string().optional(),
2453
- session: z.string().optional(),
2454
- includeReasoning: z.boolean().optional(),
2455
- target: z.string().optional(),
2456
- to: z.string().optional(),
2457
- accountId: z.string().optional(),
2458
- prompt: z.string().optional(),
2459
- ackMaxChars: z.number().int().nonnegative().optional(),
2460
- suppressToolErrorWarnings: z.boolean().optional()
2461
- }).strict().superRefine((val, ctx) => {
2462
- if (!val.every) return;
2463
- try {
2464
- parseDurationMs(val.every, { defaultUnit: "m" });
2465
- } catch {
2466
- ctx.addIssue({
2467
- code: z.ZodIssueCode.custom,
2468
- path: ["every"],
2469
- message: "invalid duration (use ms, s, m, h)"
2470
- });
2471
- }
2472
- const active = val.activeHours;
2473
- if (!active) return;
2474
- const timePattern = /^([01]\d|2[0-3]|24):([0-5]\d)$/;
2475
- const validateTime = (raw, opts, path) => {
2476
- if (!raw) return;
2477
- if (!timePattern.test(raw)) {
2478
- ctx.addIssue({
2479
- code: z.ZodIssueCode.custom,
2480
- path: ["activeHours", path],
2481
- message: "invalid time (use \"HH:MM\" 24h format)"
2482
- });
2483
- return;
2484
- }
2485
- const [hourStr, minuteStr] = raw.split(":");
2486
- const hour = Number(hourStr);
2487
- if (hour === 24 && Number(minuteStr) !== 0) {
2488
- ctx.addIssue({
2489
- code: z.ZodIssueCode.custom,
2490
- path: ["activeHours", path],
2491
- message: "invalid time (24:00 is the only allowed 24:xx value)"
2492
- });
2493
- return;
2494
- }
2495
- if (hour === 24 && !opts.allow24) ctx.addIssue({
2496
- code: z.ZodIssueCode.custom,
2497
- path: ["activeHours", path],
2498
- message: "invalid time (start cannot be 24:00)"
2499
- });
2500
- };
2501
- validateTime(active.start, { allow24: false }, "start");
2502
- validateTime(active.end, { allow24: true }, "end");
2503
- }).optional();
2504
2429
  const SandboxDockerSchema = z.object({
2505
2430
  image: z.string().optional(),
2506
2431
  containerPrefix: z.string().optional(),
@@ -2852,7 +2777,6 @@ const AgentEntrySchema = z.object({
2852
2777
  skills: z.array(z.string()).optional(),
2853
2778
  memorySearch: MemorySearchSchema,
2854
2779
  humanDelay: HumanDelaySchema.optional(),
2855
- heartbeat: HeartbeatSchema,
2856
2780
  identity: IdentitySchema,
2857
2781
  groupChat: GroupChatSchema,
2858
2782
  subagents: z.object({
@@ -3011,7 +2935,6 @@ const AgentDefaultsSchema = z.object({
3011
2935
  z.literal("thinking"),
3012
2936
  z.literal("message")
3013
2937
  ]).optional(),
3014
- heartbeat: HeartbeatSchema,
3015
2938
  maxConcurrent: z.number().int().positive().optional(),
3016
2939
  subagents: z.object({
3017
2940
  maxConcurrent: z.number().int().positive().optional(),
@@ -3197,14 +3120,6 @@ const HooksGmailSchema = z.object({
3197
3120
  ]).optional()
3198
3121
  }).strict().optional();
3199
3122
 
3200
- //#endregion
3201
- //#region src/config/zod-schema.channels.ts
3202
- const ChannelHeartbeatVisibilitySchema = z.object({
3203
- showOk: z.boolean().optional(),
3204
- showAlerts: z.boolean().optional(),
3205
- useIndicator: z.boolean().optional()
3206
- }).strict().optional();
3207
-
3208
3123
  //#endregion
3209
3124
  //#region src/config/zod-schema.providers-core.ts
3210
3125
  const ToolPolicyBySenderSchema = z.record(z.string(), ToolPolicySchema).optional();
@@ -3359,7 +3274,6 @@ const SlackAccountSchema = z.object({
3359
3274
  defaultTo: z.string().optional(),
3360
3275
  dm: SlackDmSchema.optional(),
3361
3276
  channels: z.record(z.string(), SlackChannelSchema.optional()).optional(),
3362
- heartbeat: ChannelHeartbeatVisibilitySchema,
3363
3277
  responsePrefix: z.string().optional(),
3364
3278
  ackReaction: z.string().optional()
3365
3279
  }).strict().superRefine((value, ctx) => {
@@ -3447,7 +3361,6 @@ const IrcAccountSchemaBase = z.object({
3447
3361
  blockStreaming: z.boolean().optional(),
3448
3362
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3449
3363
  mediaMaxMb: z.number().positive().optional(),
3450
- heartbeat: ChannelHeartbeatVisibilitySchema,
3451
3364
  responsePrefix: z.string().optional()
3452
3365
  }).strict();
3453
3366
  function refineIrcAllowFromAndNickserv(value, ctx) {
@@ -3513,7 +3426,6 @@ const BlueBubblesAccountSchemaBase = z.object({
3513
3426
  blockStreaming: z.boolean().optional(),
3514
3427
  blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(),
3515
3428
  groups: z.record(z.string(), BlueBubblesGroupConfigSchema.optional()).optional(),
3516
- heartbeat: ChannelHeartbeatVisibilitySchema,
3517
3429
  responsePrefix: z.string().optional()
3518
3430
  }).strict();
3519
3431
  const BlueBubblesAccountSchema = BlueBubblesAccountSchemaBase.superRefine((value, ctx) => {
@@ -3580,7 +3492,6 @@ const MSTeamsConfigSchema = z.object({
3580
3492
  teams: z.record(z.string(), MSTeamsTeamSchema.optional()).optional(),
3581
3493
  mediaMaxMb: z.number().positive().optional(),
3582
3494
  sharePointSiteId: z.string().optional(),
3583
- heartbeat: ChannelHeartbeatVisibilitySchema,
3584
3495
  responsePrefix: z.string().optional()
3585
3496
  }).strict().superRefine((value, ctx) => {
3586
3497
  requireOpenAllowFrom({
@@ -3596,10 +3507,7 @@ const MSTeamsConfigSchema = z.object({
3596
3507
  //#region src/config/zod-schema.providers.ts
3597
3508
  const ChannelModelByChannelSchema = z.record(z.string(), z.record(z.string(), z.string())).optional();
3598
3509
  const ChannelsSchema = z.object({
3599
- defaults: z.object({
3600
- groupPolicy: GroupPolicySchema.optional(),
3601
- heartbeat: ChannelHeartbeatVisibilitySchema
3602
- }).strict().optional(),
3510
+ defaults: z.object({ groupPolicy: GroupPolicySchema.optional() }).strict().optional(),
3603
3511
  modelByChannel: ChannelModelByChannelSchema,
3604
3512
  irc: IrcConfigSchema.optional(),
3605
3513
  googlechat: GoogleChatConfigSchema.optional(),
@@ -3635,6 +3543,22 @@ function parseByteSize(raw, opts) {
3635
3543
  return bytes;
3636
3544
  }
3637
3545
 
3546
+ //#endregion
3547
+ //#region src/cli/parse-duration.ts
3548
+ function parseDurationMs(raw, opts) {
3549
+ const trimmed = String(raw ?? "").trim().toLowerCase();
3550
+ if (!trimmed) throw new Error("invalid duration (empty)");
3551
+ const m = /^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(trimmed);
3552
+ if (!m) throw new Error(`invalid duration: ${raw}`);
3553
+ const value = Number(m[1]);
3554
+ if (!Number.isFinite(value) || value < 0) throw new Error(`invalid duration: ${raw}`);
3555
+ const unit = m[2] ?? opts?.defaultUnit ?? "ms";
3556
+ const multiplier = unit === "ms" ? 1 : unit === "s" ? 1e3 : unit === "m" ? 6e4 : unit === "h" ? 36e5 : 864e5;
3557
+ const ms = Math.round(value * multiplier);
3558
+ if (!Number.isFinite(ms)) throw new Error(`invalid duration: ${raw}`);
3559
+ return ms;
3560
+ }
3561
+
3638
3562
  //#endregion
3639
3563
  //#region src/config/zod-schema.session.ts
3640
3564
  const SessionResetConfigSchema = z.object({
@@ -4374,36 +4298,6 @@ function validateConfigObjectWithPluginsBase(raw, opts) {
4374
4298
  message: `unknown channel id: ${trimmed}`
4375
4299
  });
4376
4300
  }
4377
- const heartbeatChannelIds = /* @__PURE__ */ new Set();
4378
- for (const channelId of CHANNEL_IDS) heartbeatChannelIds.add(channelId.toLowerCase());
4379
- const validateHeartbeatTarget = (target, path) => {
4380
- if (typeof target !== "string") return;
4381
- const trimmed = target.trim();
4382
- if (!trimmed) {
4383
- issues.push({
4384
- path,
4385
- message: "heartbeat target must not be empty"
4386
- });
4387
- return;
4388
- }
4389
- const normalized = trimmed.toLowerCase();
4390
- if (normalized === "last" || normalized === "none") return;
4391
- if (normalizeChatChannelId(trimmed)) return;
4392
- if (!heartbeatChannelIds.has(normalized)) {
4393
- const { registry } = ensureRegistry();
4394
- for (const record of registry.plugins) for (const channelId of record.channels) {
4395
- const pluginChannel = channelId.trim();
4396
- if (pluginChannel) heartbeatChannelIds.add(pluginChannel.toLowerCase());
4397
- }
4398
- }
4399
- if (heartbeatChannelIds.has(normalized)) return;
4400
- issues.push({
4401
- path,
4402
- message: `unknown heartbeat target: ${target}`
4403
- });
4404
- };
4405
- validateHeartbeatTarget(config.agents?.defaults?.heartbeat?.target, "agents.defaults.heartbeat.target");
4406
- if (Array.isArray(config.agents?.list)) for (const [index, entry] of config.agents.list.entries()) validateHeartbeatTarget(entry?.heartbeat?.target, `agents.list.${index}.heartbeat.target`);
4407
4301
  if (!hasExplicitPluginsConfig) {
4408
4302
  if (issues.length > 0) return {
4409
4303
  ok: false,
@@ -5480,4 +5374,4 @@ async function closeDispatcher(dispatcher) {
5480
5374
  }
5481
5375
 
5482
5376
  //#endregion
5483
- export { unsetConfigValueAtPath as C, setConfigValueAtPath as S, VERSION as T, resetConfigOverrides as _, resolvePinnedHostnameWithPolicy as a, getConfigValueAtPath as b, loadConfig as c, writeConfigFile as d, validateConfigObjectWithPlugins as f, getConfigOverrides as g, validateJsonSchemaValue as h, isBlockedHostnameOrIp as i, readConfigFileSnapshot as l, parseDurationMs as m, closeDispatcher as n, normalizeHostname as o, parseByteSize as p, createPinnedDispatcher as r, createConfigIO as s, SsrFBlockedError as t, resolveConfigSnapshotHash as u, setConfigOverride as v, DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as w, parseConfigPath as x, unsetConfigOverride as y };
5377
+ export { unsetConfigValueAtPath as C, setConfigValueAtPath as S, VERSION as T, resetConfigOverrides as _, resolvePinnedHostnameWithPolicy as a, getConfigValueAtPath as b, loadConfig as c, writeConfigFile as d, validateConfigObjectWithPlugins as f, getConfigOverrides as g, validateJsonSchemaValue as h, isBlockedHostnameOrIp as i, readConfigFileSnapshot as l, parseByteSize as m, closeDispatcher as n, normalizeHostname as o, parseDurationMs as p, createPinnedDispatcher as r, createConfigIO as s, SsrFBlockedError as t, resolveConfigSnapshotHash as u, setConfigOverride as v, DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH as w, parseConfigPath as x, unsetConfigOverride as y };
@@ -1,7 +1,7 @@
1
- import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-Bn9vq7Zy.js";
1
+ import { o as createPluginLoaderLogger, s as loadSymiPlugins } from "./unified-runner-CjFXehHb.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CtH6J8AV.js";
3
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B_oqIiaD.js";
4
- import { i as loadConfig } from "./config-CphS_6eg.js";
3
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-DIjW66iO.js";
4
+ import { i as loadConfig } from "./config-MU0QT0xu.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,38 +1,38 @@
1
1
  import { A as isRich, j as theme, x as info } from "./registry-DKJLAPDB.js";
2
2
  import { u as resolveGatewayPort } from "./paths-BSzKwaxE.js";
3
- import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-CPlXilKu.js";
3
+ import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-BFSVvFKy.js";
4
4
  import { t as formatCliCommand } from "./command-format-BvAkTjTI.js";
5
5
  import { x as parseAgentSessionKey } from "./session-key-B_ZVH1kE.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-DueRHNOE.js";
7
7
  import { n as runExec } from "./exec-DKyLtSjm.js";
8
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-B_oqIiaD.js";
9
- import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-CphS_6eg.js";
8
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-DIjW66iO.js";
9
+ import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-MU0QT0xu.js";
10
10
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-D7dC-5EX.js";
11
11
  import { a as inspectPortUsage, s as formatPortDiagnostics } from "./ports-DqxP-bXz.js";
12
- import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-DQMaURzb.js";
12
+ import { H as resolveMainSessionKey, R as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-B7Of0Rqm.js";
13
13
  import { n as listChannelPlugins } from "./plugins-DuuHorqi.js";
14
14
  import { c as resolveStorePath } from "./paths-CJcw9nbZ.js";
15
- import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-0F9pB5d6.js";
16
- import { t as getMemorySearchManager } from "./memory-2OKjMT7V.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Du4CT1Hp.js";
15
+ import { A as sha256HexPrefix, D as buildChannelAccountSnapshot, E as buildChannelSummary, O as formatChannelAllowFrom, T as peekSystemEvents, _ as loadProviderUsageSummary, l as resolveSessionModelRef, m as summarizeRestartSentinel, n as classifySessionKey, p as readRestartSentinel, r as listAgentsForGateway, v as formatUsageReportLines, x as lookupContextTokens } from "./session-utils-NOQiGgMD.js";
16
+ import { t as getMemorySearchManager } from "./memory-ZiPonhHz.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CbF18cyd.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-Vm-Tqk0h.js";
19
- import { t as getRemoteSkillEligibility } from "./skills-remote-Db5Wwr4s.js";
19
+ import { t as getRemoteSkillEligibility } from "./skills-remote-CqwR3Zvp.js";
20
20
  import { r as formatDurationPrecise } from "./format-duration-DbZRICyO.js";
21
21
  import { n as withProgress } from "./progress-CyPyGCDn.js";
22
- import { t as buildWorkspaceSkillStatus } from "./skills-status-Dx3Lf5iU.js";
22
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-BNDqwHkP.js";
23
23
  import { t as resolveChannelDefaultAccountId } from "./helpers-BBypnAYf.js";
24
24
  import { t as collectChannelStatusIssues } from "./channels-status-issues-DC8vgOMo.js";
25
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-D2mWJnFB.js";
25
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-DpIB1xVU.js";
26
26
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-AP9pR9R5.js";
27
27
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-MlBj_J3u.js";
28
28
  import { t as readLastGatewayErrorLine } from "./diagnostics-DxdqTfpW.js";
29
29
  import { t as renderTable } from "./table-DkAQzCOR.js";
30
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-B_HL4UJ_.js";
31
- import { t as formatHealthChannelLines } from "./health-BdxlhiXA.js";
30
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-BRI7EaSZ.js";
31
+ import { t as formatHealthChannelLines } from "./health-DnOYGIFp.js";
32
32
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CZxZhEXr.js";
33
- import { t as resolveNodeService } from "./node-service-tPO_yUk7.js";
34
- import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-C-0EAOjI.js";
35
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CQ1vKrEg.js";
33
+ import { t as resolveNodeService } from "./node-service-DLCN3Pek.js";
34
+ import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-Cj8gNX2r.js";
35
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-iWEAq6bt.js";
36
36
  import path from "node:path";
37
37
  import fs from "node:fs";
38
38
  import os from "node:os";
@@ -1,7 +1,7 @@
1
1
  import { o as createSubsystemLogger } from "./entry.js";
2
- import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-8LjCKvga.js";
3
- import { i as loadConfig } from "./config-B91360jE.js";
4
- import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-B1RgR3-0.js";
2
+ import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-B6p555mP.js";
3
+ import { i as loadConfig } from "./config-Cw7uo7Dh.js";
4
+ import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-BbQL79Gk.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,39 +1,39 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { H as info, Q as theme, Z as isRich, ft as resolveGatewayPort } from "./entry.js";
3
- import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-CKIq0T1s.js";
3
+ import { Ht as DEFAULT_MODEL, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-Bs5D0GUv.js";
4
4
  import { t as formatCliCommand } from "./command-format-Xm6vX3qJ.js";
5
5
  import { x as parseAgentSessionKey } from "./session-key-BfskPVEs.js";
6
6
  import { t as resolveSymiPackageRoot } from "./symi-root-CK6iELVh.js";
7
7
  import { n as runExec } from "./exec-B6oWJSJW.js";
8
- import { c as resolveAgentWorkspaceDir } from "./agent-scope-8LjCKvga.js";
9
- import { t as buildWorkspaceSkillStatus } from "./skills-status-CaEDEfYZ.js";
10
- import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-B91360jE.js";
11
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BocrIanP.js";
12
- import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-7jk0D1BI.js";
8
+ import { c as resolveAgentWorkspaceDir } from "./agent-scope-B6p555mP.js";
9
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-01KNlWUS.js";
10
+ import { N as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-Cw7uo7Dh.js";
11
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Dy_T6f6d.js";
12
+ import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-BHrlpR92.js";
13
13
  import { n as listChannelPlugins } from "./plugins-Bq-Msc8Z.js";
14
14
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-BsA0YClX.js";
15
15
  import { i as formatPortDiagnostics, n as inspectPortUsage } from "./ports-Cv4kt1bT.js";
16
16
  import { c as resolveStorePath } from "./paths-CNexk5_o.js";
17
- import { t as getMemorySearchManager } from "./memory-CMKSFx1T.js";
17
+ import { t as getMemorySearchManager } from "./memory-CjpS9o50.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-Cyq001S7.js";
19
- import { t as getRemoteSkillEligibility } from "./skills-remote-DEkSSz2R.js";
20
- import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-gZfj5mH2.js";
21
- import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils-i74hYiQl.js";
19
+ import { t as getRemoteSkillEligibility } from "./skills-remote-DHfuS68n.js";
20
+ import { _ as peekSystemEvents, b as formatChannelAllowFrom, d as formatUsageReportLines, n as sha256HexPrefix, o as readRestartSentinel, s as summarizeRestartSentinel, u as loadProviderUsageSummary, v as buildChannelSummary, y as buildChannelAccountSnapshot } from "./redact-identifier-QYENCXvy.js";
21
+ import { l as resolveSessionModelRef, n as classifySessionKey, r as listAgentsForGateway, u as lookupContextTokens } from "./session-utils-CJfEkQQQ.js";
22
22
  import { r as formatDurationPrecise } from "./format-duration-DbZRICyO.js";
23
23
  import { n as withProgress } from "./progress-C4ck6JXh.js";
24
24
  import { t as resolveChannelDefaultAccountId } from "./helpers-DlWXcOEI.js";
25
25
  import { t as collectChannelStatusIssues } from "./channels-status-issues-GSsGZvfn.js";
26
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-LbRPhqLj.js";
26
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-C5YryU1N.js";
27
27
  import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-BIixwO-v.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-T1PhTCo7.js";
29
29
  import { t as readLastGatewayErrorLine } from "./diagnostics-DELEpbg2.js";
30
30
  import { t as renderTable } from "./table-CSEp22Mk.js";
31
- import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-DEXQlMwn.js";
32
- import { t as formatHealthChannelLines } from "./health-CvdEEMPS.js";
31
+ import { l as probeGateway, o as resolveGatewayProbeAuth$1, t as runSecurityAudit } from "./audit-FMN4BTKc.js";
32
+ import { t as formatHealthChannelLines } from "./health-D2CsIdFz.js";
33
33
  import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-C1JNxsic.js";
34
- import { t as resolveNodeService } from "./node-service-DDDCEDdv.js";
35
- import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BGzoTHhD.js";
36
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CN2XgChL.js";
34
+ import { t as resolveNodeService } from "./node-service-B7zf4WFE.js";
35
+ import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-CUJQOEUj.js";
36
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-lna4Lub4.js";
37
37
  import { spawnSync } from "node:child_process";
38
38
  import os from "node:os";
39
39
  import path from "node:path";