squidclaw 2026.4.19 → 2026.4.21

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 (605) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/{abort-H-Ry_5LX.js → abort-BK5S-MVo.js} +2 -2
  3. package/dist/{abort.runtime-CgR9MdCq.js → abort.runtime-BS8WXSXO.js} +1 -1
  4. package/dist/abort.runtime.js +1 -1
  5. package/dist/{access-control-C_kCoSvX.js → access-control-DTTlrBlO.js} +1 -1
  6. package/dist/{accounts-xHbvTM3L.js → accounts-BPP8Fyqx.js} +1 -1
  7. package/dist/{accounts-DAtrMfJC.js → accounts-BaLpRlYY.js} +1 -1
  8. package/dist/accounts-DPVrioFv.js +2 -0
  9. package/dist/{accounts-DAjE_Is-.js → accounts-DT_NAs1C.js} +2 -2
  10. package/dist/acp-binding-runtime-B7QSJdNn.js +2 -0
  11. package/dist/{acp-runtime-CdrZmqRF.js → acp-runtime-BnYh9Ei2.js} +2 -2
  12. package/dist/{acp-stateful-target-driver-BMqidvHe.js → acp-stateful-target-driver-CDpYxOAj.js} +2 -2
  13. package/dist/{action-info-DsVwVslz.js → action-info-5SZ4BAXs.js} +1 -1
  14. package/dist/{action-kill-BEks25cD.js → action-kill-4b3muJZ_.js} +2 -2
  15. package/dist/{action-runtime-C5gQ21hq.js → action-runtime-DFXu0lS3.js} +1 -1
  16. package/dist/{action-runtime-CIIkr60b.js → action-runtime-NfxAM8kZ.js} +6 -6
  17. package/dist/{action-send-BiwY0FSX.js → action-send-_HHZ5zPR.js} +2 -2
  18. package/dist/{action-spawn-Be84d9wb.js → action-spawn-BvFMk5Af.js} +1 -1
  19. package/dist/{actions.runtime-1vRPu9AI.js → actions.runtime-CSADGcEf.js} +1 -1
  20. package/dist/agent-BYjZBJjX.js +2 -0
  21. package/dist/{agent-command-CbjBuiAT.js → agent-command-5N2PlknP.js} +3 -3
  22. package/dist/{agent-components.runtime-Cp1ptSpx.js → agent-components.runtime-iyd3FoCi.js} +3 -3
  23. package/dist/agent-components.runtime.js +1 -1
  24. package/dist/{agent-runner.runtime-FxhCE3wy.js → agent-runner.runtime-BdzGlW5a.js} +1 -1
  25. package/dist/agent-runner.runtime.js +1 -1
  26. package/dist/{agent-runtime-9uO3F0oP.js → agent-runtime-DiwekA7Y.js} +1 -1
  27. package/dist/api-BKlSWpmj.js +2 -0
  28. package/dist/{api-p32AuYfU.js → api-Bl81lrj_.js} +1 -1
  29. package/dist/api-CDmoAd0d.js +5 -0
  30. package/dist/{api-_WPMaABh.js → api-CGx_lH_S.js} +2 -2
  31. package/dist/{api-B1tX99Z2.js → api-DOC0PIRN.js} +3 -3
  32. package/dist/api-DgXYxGAg.js +2 -0
  33. package/dist/api-DjPFmNKJ.js +3 -0
  34. package/dist/api-Dq0w8R0_.js +2 -0
  35. package/dist/{api-B9k8AuI7.js → api-KzkfeEqo.js} +5 -5
  36. package/dist/{api-BgVJ_Zq4.js → api-yKtusK9J.js} +1 -1
  37. package/dist/{approval-handler.runtime-Uapb5hJ2.js → approval-handler.runtime-DHlGW39M.js} +2 -2
  38. package/dist/{approval-handler.runtime-B9avXUxa.js → approval-handler.runtime-DNm7fVYc.js} +4 -4
  39. package/dist/approval-handler.runtime.js +1 -1
  40. package/dist/{approval-native-D3EX3eJk.js → approval-native-z_FiczGR.js} +3 -3
  41. package/dist/{attachment-normalize-DTGRSmPb.js → attachment-normalize-KfDTxLFN.js} +1 -1
  42. package/dist/{binding-routing-CACEZc_Z.js → binding-routing-CAblYKaE.js} +1 -1
  43. package/dist/{binding-targets-B3umteYg.js → binding-targets-DrBXDwZt.js} +1 -1
  44. package/dist/{bot-3CKIZCV8.js → bot-CQnukBtH.js} +23 -23
  45. package/dist/{bot-message-context.runtime-D1IAU18r.js → bot-message-context.runtime-DPRXIR4Z.js} +2 -2
  46. package/dist/bot-message-context.runtime.js +1 -1
  47. package/dist/{bot-message-context.session.runtime-lJ3op8vq.js → bot-message-context.session.runtime-6X3ySjjb.js} +2 -2
  48. package/dist/bot-message-context.session.runtime.js +1 -1
  49. package/dist/{bot-native-commands.delivery.runtime-DWiCYGDZ.js → bot-native-commands.delivery.runtime-nw0DG8iP.js} +1 -1
  50. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  51. package/dist/{bot-native-commands.runtime-BPJ4W_CC.js → bot-native-commands.runtime-R-B6A6ks.js} +3 -3
  52. package/dist/bot-native-commands.runtime.js +1 -1
  53. package/dist/build-info.json +3 -3
  54. package/dist/bundled/boot-md/handler.js +2 -2
  55. package/dist/bundled/session-memory/handler.js +1 -1
  56. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  57. package/dist/{capability-cli-xzT35Acg.js → capability-cli-UAAMEpSn.js} +3 -3
  58. package/dist/{captured-registration-xo8TUH5y.js → captured-registration-Bl60Hvp4.js} +2 -2
  59. package/dist/{channel-CBi9Mqfi.js → channel-BObgCPix.js} +15 -15
  60. package/dist/{channel-CdvA2txv.js → channel-B_1FXIEg.js} +3 -3
  61. package/dist/{channel-D7lvZevL.js → channel-Bi128jbX.js} +4 -4
  62. package/dist/{channel-B5pj568b.js → channel-Cd8gV_ZA.js} +5 -5
  63. package/dist/{channel-QUA9rLQ2.js → channel-D9QhH6Rm.js} +7 -7
  64. package/dist/{channel-Cghz3p4D.js → channel-DHw-I7Nf.js} +8 -8
  65. package/dist/{channel-BzM0t-D2.js → channel-DPeDuUG7.js} +5 -5
  66. package/dist/{channel-B_T0mNJ2.js → channel-Dqd2YdW8.js} +4 -4
  67. package/dist/{channel-BmJNPdfD.js → channel-DuF6K39z.js} +17 -17
  68. package/dist/{channel-gxJNusbo.js → channel-MTt9w8Yo.js} +6 -6
  69. package/dist/{channel-actions-C_3gJyZw.js → channel-actions-v9Ojn4Nf.js} +1 -1
  70. package/dist/{channel-actions.runtime-w1jv9p90.js → channel-actions.runtime-D_OK-K6b.js} +1 -1
  71. package/dist/channel-actions.runtime.js +1 -1
  72. package/dist/channel-core-B6fpCVKZ.js +2 -0
  73. package/dist/{channel-DkAjYuc2.js → channel-enKQhcLP.js} +4 -4
  74. package/dist/{channel-inbound-DM101rnQ.js → channel-inbound-DgXIB5SS.js} +1 -1
  75. package/dist/{channel-plugin-runtime-Dz3Al02K.js → channel-plugin-runtime-D86XdI64.js} +4 -4
  76. package/dist/{channel-react-action-6uVxpBdG.js → channel-react-action-DnrcGui_.js} +1 -1
  77. package/dist/{channel-runtime-BhIg_tQ5.js → channel-runtime-DpiPbwg2.js} +4 -4
  78. package/dist/{channel.runtime-CFA1WDvX.js → channel.runtime-3MWB-sS3.js} +5 -5
  79. package/dist/{channel.runtime-Fv38Q_7f.js → channel.runtime-BENKcwWx.js} +4 -4
  80. package/dist/{channel.runtime-C5dkHhH9.js → channel.runtime-BKLXzG_k.js} +3 -3
  81. package/dist/{channel.runtime-F8JpG6qp.js → channel.runtime-BZCzEVB1.js} +3 -3
  82. package/dist/{channel.runtime-8uViPdpR.js → channel.runtime-Bpd2eDL1.js} +2 -2
  83. package/dist/{channel.runtime-Cyo8GHDq.js → channel.runtime-CQLAfOwr.js} +1 -1
  84. package/dist/{channel.runtime-ZGUvm6Lj.js → channel.runtime-CYyl__8v.js} +1 -1
  85. package/dist/{channel.runtime-d-J52tuj.js → channel.runtime-CaPRJAHJ.js} +4 -4
  86. package/dist/{channel.runtime-C2oCfz4Z.js → channel.runtime-KjIJ5mS7.js} +6 -6
  87. package/dist/channel.runtime-ercIXnxx.js +4 -0
  88. package/dist/channel.runtime.js +1 -1
  89. package/dist/{channel.setup-DNMo-iy9.js → channel.setup-DLd9-wxk.js} +2 -2
  90. package/dist/{channel.setup-D6Ev9JQ2.js → channel.setup-DNoFxgqt.js} +1 -1
  91. package/dist/{channel2.runtime-B7yDRQLd.js → channel2.runtime-BBtt7Aro.js} +1 -1
  92. package/dist/channel2.runtime.js +1 -1
  93. package/dist/{cli-BxS1u0Tt.js → cli-BPCz7vGj.js} +1 -1
  94. package/dist/{cli-DW4YF7yl.js → cli-DBC4vA8I.js} +9 -9
  95. package/dist/{cli-metadata-LFUyAbIz.js → cli-metadata-BqKcet1W.js} +1 -1
  96. package/dist/cli-startup-metadata.json +1 -1
  97. package/dist/{cli.runtime-CHgmcx5B.js → cli.runtime-DBVpCu66.js} +2 -2
  98. package/dist/{client-CzWWrEwX.js → client-BbuH8ELw.js} +1 -1
  99. package/dist/{client-C54S-kFe.js → client-DzaxdBI_.js} +4 -4
  100. package/dist/client-FIe7pL-v.js +5 -0
  101. package/dist/{client-bootstrap-CQNkW7dg.js → client-bootstrap-C5Y8VeDx.js} +1 -1
  102. package/dist/{client-bootstrap-laBFZvcW.js → client-bootstrap-CsAu9dD7.js} +1 -1
  103. package/dist/{client-HkJafYV_.js → client-p3fG-701.js} +2 -2
  104. package/dist/{command-auth-CXgepi0E.js → command-auth-5TxiwPIQ.js} +1 -1
  105. package/dist/{command-registry-DqxWHS_n.js → command-registry-C8-Wtr-c.js} +1 -1
  106. package/dist/{command-registry-BXj-_sY1.js → command-registry-CPWNjxT6.js} +6 -6
  107. package/dist/{commands-acp-BPodODnN.js → commands-acp-CIBeOwap.js} +3 -3
  108. package/dist/{commands-compact.runtime-CDqZhOA_.js → commands-compact.runtime-BkkVU5U6.js} +1 -1
  109. package/dist/commands-compact.runtime.js +1 -1
  110. package/dist/{commands-handlers.runtime-D3Pxxbol.js → commands-handlers.runtime-SdVDl5xx.js} +11 -11
  111. package/dist/commands-handlers.runtime.js +1 -1
  112. package/dist/{commands-status-BByA2jvy.js → commands-status-I7_N1tsF.js} +2 -2
  113. package/dist/{commands-status.runtime-BTL1D6VP.js → commands-status.runtime-DWO8GX2D.js} +1 -1
  114. package/dist/commands-status.runtime.js +1 -1
  115. package/dist/commands-subagents-control.runtime-AbmpZui3.js +2 -0
  116. package/dist/{commands-subagents-control.runtime-6fWsLbhV.js → commands-subagents-control.runtime-C_iqutEz.js} +2 -2
  117. package/dist/commands-subagents-control.runtime.js +1 -1
  118. package/dist/{commands.runtime-Cm8D-nT-.js → commands.runtime-eHK_QBgc.js} +3 -3
  119. package/dist/commands.runtime.js +1 -1
  120. package/dist/{compact.runtime-ClyAUGKM.js → compact.runtime-DVxJgEUW.js} +1 -1
  121. package/dist/compact.runtime.js +1 -1
  122. package/dist/{completion-cli-CraSWzj7.js → completion-cli-DMMl17uG.js} +2 -2
  123. package/dist/{completion-cli-BC4wGtio.js → completion-cli-DbfKLf32.js} +1 -1
  124. package/dist/{config-CNE4XZcU.js → config-8kVNLORv.js} +4 -4
  125. package/dist/{connect-options-BvSV2hbt.js → connect-options-jWo6OnhA.js} +1 -1
  126. package/dist/{conversation-binding-runtime-C8_JxOK0.js → conversation-binding-runtime-D_zjm3wL.js} +1 -1
  127. package/dist/{conversation-runtime-GN2oDF9f.js → conversation-runtime-B9kR_5Zn.js} +2 -2
  128. package/dist/{core-BGdsH-jP.js → core-Dpsiu47E.js} +2 -2
  129. package/dist/{create-client-1IpnT7Zn.js → create-client-Dj7rWaoO.js} +3 -3
  130. package/dist/create-client-LjeCsm86.js +2 -0
  131. package/dist/{credentials-BnPD4p7_.js → credentials-BlBdPxmP.js} +1 -1
  132. package/dist/{credentials-write.runtime-CvY5SyDX.js → credentials-write.runtime-BDop2Prn.js} +3 -3
  133. package/dist/credentials-write.runtime.js +1 -1
  134. package/dist/{delegate-Dcf0AxjV.js → delegate-Dg1zJNN4.js} +1 -1
  135. package/dist/{delivery-CnW7In7W.js → delivery-BWnKQ7kI.js} +4 -4
  136. package/dist/{direct-dm-C6ZoyTKO.js → direct-dm-CzaaDdM9.js} +1 -1
  137. package/dist/{discovery-D1EN0RZ8.js → discovery-CVgZ3Srt.js} +1 -1
  138. package/dist/{discovery-B6IVAqCL.js → discovery-Dcir3XWB.js} +1 -1
  139. package/dist/{dispatch-CBAXU8nt.js → dispatch-BhbDD_Wd.js} +2 -2
  140. package/dist/{dispatch-acp-manager.runtime-Bb2GAqlG.js → dispatch-acp-manager.runtime-Cczo85cS.js} +1 -1
  141. package/dist/dispatch-acp-manager.runtime.js +1 -1
  142. package/dist/{dispatch-acp-jUw9HuoG.js → dispatch-acp-zh4bcE6-.js} +1 -1
  143. package/dist/{dispatch-acp.runtime-DvEVus1N.js → dispatch-acp.runtime-B6Y7JM1F.js} +1 -1
  144. package/dist/dispatch-acp.runtime.js +1 -1
  145. package/dist/{docker-harness-AKpGA495.js → docker-harness-DYCX4PtZ.js} +1 -1
  146. package/dist/{doctor-completion-Bwwr5hVS.js → doctor-completion-DrqYKC-E.js} +1 -1
  147. package/dist/entry.js +1 -1
  148. package/dist/env-auth-CUtLVe1X.js +2 -0
  149. package/dist/{exec-approvals-DWDJf_Y7.js → exec-approvals-CHbfTHpS.js} +1 -1
  150. package/dist/{exec-approvals-DdUXdhUz.js → exec-approvals-DxjsYXTJ.js} +2 -2
  151. package/dist/extensionAPI.js +1 -1
  152. package/dist/extensions/acpx/index.js +3 -3
  153. package/dist/extensions/acpx/register.runtime.js +1 -1
  154. package/dist/extensions/acpx/runtime-api.js +3 -3
  155. package/dist/extensions/amazon-bedrock/.squidclaw-runtime-deps-stamp.json +1 -1
  156. package/dist/extensions/amazon-bedrock/api.js +2 -2
  157. package/dist/extensions/amazon-bedrock/discovery.js +1 -1
  158. package/dist/extensions/amazon-bedrock/index.js +1 -1
  159. package/dist/extensions/amazon-bedrock/register.sync.runtime.js +1 -1
  160. package/dist/extensions/amazon-bedrock/setup-api.js +1 -1
  161. package/dist/extensions/amazon-bedrock-mantle/.squidclaw-runtime-deps-stamp.json +1 -1
  162. package/dist/extensions/amazon-bedrock-mantle/api.js +1 -1
  163. package/dist/extensions/amazon-bedrock-mantle/discovery.js +1 -1
  164. package/dist/extensions/amazon-bedrock-mantle/index.js +1 -1
  165. package/dist/extensions/amazon-bedrock-mantle/register.sync.runtime.js +1 -1
  166. package/dist/extensions/bluebubbles/api.js +3 -3
  167. package/dist/extensions/browser/test-support.js +1 -1
  168. package/dist/extensions/device-pair/api.js +1 -1
  169. package/dist/extensions/device-pair/index.js +3 -3
  170. package/dist/extensions/device-pair/notify.js +1 -1
  171. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  172. package/dist/extensions/diffs/.squidclaw-runtime-deps-stamp.json +1 -1
  173. package/dist/extensions/discord/.squidclaw-runtime-deps-stamp.json +1 -1
  174. package/dist/extensions/discord/api.js +4 -4
  175. package/dist/extensions/discord/channel-plugin-api.js +1 -1
  176. package/dist/extensions/discord/contract-api.js +2 -2
  177. package/dist/extensions/discord/runtime-api.js +6 -6
  178. package/dist/extensions/discord/subagent-hooks-api.js +1 -1
  179. package/dist/extensions/discord/test-api.js +4 -4
  180. package/dist/extensions/feishu/.squidclaw-runtime-deps-stamp.json +1 -1
  181. package/dist/extensions/feishu/api.js +6 -6
  182. package/dist/extensions/feishu/contract-api.js +1 -1
  183. package/dist/extensions/feishu/runtime-api.js +1 -1
  184. package/dist/extensions/google/index.js +1 -1
  185. package/dist/extensions/google/music-generation-provider.js +1 -1
  186. package/dist/extensions/googlechat/api.js +1 -1
  187. package/dist/extensions/googlechat/runtime-api.js +1 -1
  188. package/dist/extensions/googlechat/test-api.js +2 -2
  189. package/dist/extensions/imessage/api.js +6 -6
  190. package/dist/extensions/imessage/runtime-api.js +3 -3
  191. package/dist/extensions/irc/api.js +2 -2
  192. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  193. package/dist/extensions/line/api.js +7 -7
  194. package/dist/extensions/line/contract-api.js +1 -1
  195. package/dist/extensions/line/runtime-api.js +4 -4
  196. package/dist/extensions/line/setup-api.js +1 -1
  197. package/dist/extensions/lobster/runtime-api.js +1 -1
  198. package/dist/extensions/matrix/api.js +4 -4
  199. package/dist/extensions/matrix/channel-plugin-api.js +1 -1
  200. package/dist/extensions/matrix/cli-metadata.js +1 -1
  201. package/dist/extensions/matrix/contract-api.js +3 -3
  202. package/dist/extensions/matrix/index.js +1 -1
  203. package/dist/extensions/matrix/plugin-entry.handlers.runtime.js +3 -3
  204. package/dist/extensions/matrix/runtime-heavy-api.js +1 -1
  205. package/dist/extensions/matrix/test-api.js +1 -1
  206. package/dist/extensions/mattermost/api.js +1 -1
  207. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  208. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  209. package/dist/extensions/mattermost/policy-api.js +1 -1
  210. package/dist/extensions/mattermost/runtime-api.js +1 -1
  211. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  212. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  213. package/dist/extensions/minimax/index.js +1 -1
  214. package/dist/extensions/minimax/music-generation-provider.js +1 -1
  215. package/dist/extensions/msteams/api.js +1 -1
  216. package/dist/extensions/msteams/runtime-api.js +3 -3
  217. package/dist/extensions/msteams/test-api.js +1 -1
  218. package/dist/extensions/nextcloud-talk/api.js +5 -5
  219. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  220. package/dist/extensions/nostr/api.js +5 -5
  221. package/dist/extensions/nostr/runtime-api.js +3 -3
  222. package/dist/extensions/nostr/setup-api.js +1 -1
  223. package/dist/extensions/nostr/test-api.js +1 -1
  224. package/dist/extensions/openshell/index.js +1 -1
  225. package/dist/extensions/qa-channel/api.js +3 -3
  226. package/dist/extensions/qa-channel/runtime-api.js +3 -3
  227. package/dist/extensions/qa-channel/setup-entry.js +3 -3
  228. package/dist/extensions/qa-lab/api.js +4 -4
  229. package/dist/extensions/qa-lab/index.js +2 -2
  230. package/dist/extensions/qa-lab/runtime-api.js +3 -3
  231. package/dist/extensions/qqbot/.squidclaw-runtime-deps-stamp.json +1 -1
  232. package/dist/extensions/qqbot/api.js +1 -1
  233. package/dist/extensions/signal/api.js +10 -10
  234. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  235. package/dist/extensions/signal/runtime-api.js +7 -7
  236. package/dist/extensions/slack/.squidclaw-runtime-deps-stamp.json +1 -1
  237. package/dist/extensions/slack/api.js +3 -3
  238. package/dist/extensions/slack/channel-plugin-api.js +1 -1
  239. package/dist/extensions/slack/contract-api.js +2 -2
  240. package/dist/extensions/slack/runtime-api.js +2 -2
  241. package/dist/extensions/slack/security-contract-api.js +1 -1
  242. package/dist/extensions/slack/test-api.js +2 -2
  243. package/dist/extensions/synology-chat/api.js +2 -2
  244. package/dist/extensions/telegram/.squidclaw-runtime-deps-stamp.json +1 -1
  245. package/dist/extensions/telegram/api.js +11 -11
  246. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  247. package/dist/extensions/telegram/contract-api.js +4 -4
  248. package/dist/extensions/telegram/runtime-api.js +7 -7
  249. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  250. package/dist/extensions/telegram/test-api.js +2 -2
  251. package/dist/extensions/telegram/test-support.js +3 -3
  252. package/dist/extensions/tlon/api.js +3 -3
  253. package/dist/extensions/tlon/runtime-api.js +1 -1
  254. package/dist/extensions/tlon/test-api.js +1 -1
  255. package/dist/extensions/twitch/api.js +1 -1
  256. package/dist/extensions/webhooks/.squidclaw-runtime-deps-stamp.json +1 -1
  257. package/dist/extensions/webhooks/api.js +1 -1
  258. package/dist/extensions/webhooks/index.js +1 -1
  259. package/dist/extensions/whatsapp/action-runtime-api.js +1 -1
  260. package/dist/extensions/whatsapp/action-runtime.runtime.js +1 -1
  261. package/dist/extensions/whatsapp/api.js +4 -4
  262. package/dist/extensions/whatsapp/channel-plugin-api.js +1 -1
  263. package/dist/extensions/whatsapp/contract-api.js +1 -1
  264. package/dist/extensions/whatsapp/runtime-api.js +6 -6
  265. package/dist/extensions/whatsapp/setup-plugin-api.js +1 -1
  266. package/dist/extensions/whatsapp/test-api.js +4 -4
  267. package/dist/extensions/zalo/api.js +9 -9
  268. package/dist/extensions/zalo/runtime-api.js +2 -2
  269. package/dist/extensions/zalo/setup-api.js +2 -2
  270. package/dist/extensions/zalouser/api.js +1 -1
  271. package/dist/extensions/zalouser/runtime-api.js +4 -4
  272. package/dist/extensions/zalouser/test-api.js +1 -1
  273. package/dist/{format-CleST4de.js → format-DrtHwjJy.js} +3 -3
  274. package/dist/{gateway-kuQhhn7Y.js → gateway-MtQplUxe.js} +1 -1
  275. package/dist/{gateway-cli-CjcQJP-9.js → gateway-cli-BJ3aD2WU.js} +1 -1
  276. package/dist/get-reply-from-config.runtime-CWcEG-KI.js +2 -0
  277. package/dist/get-reply-from-config.runtime.js +1 -1
  278. package/dist/{graph-users-D6lkAb5j.js → graph-users-Bzp0oX2c.js} +1 -1
  279. package/dist/{group-access-D9k_GVNr.js → group-access-DOPehmrd.js} +1 -1
  280. package/dist/{handle-action-BxSGhU80.js → handle-action-Bf1KYMx6.js} +1 -1
  281. package/dist/{heartbeat-runner-DlfNLvD3.js → heartbeat-runner-BDSjOeAX.js} +1 -1
  282. package/dist/{heartbeat-runner-CF8p3dgk.js → heartbeat-runner-CYdRMi7_.js} +2 -2
  283. package/dist/heartbeat-runner.runtime-ByE0DlmV.js +2 -0
  284. package/dist/heartbeat-runner.runtime.js +1 -1
  285. package/dist/{http-client-Buv7NgDj.js → http-client-BXoOt9zV.js} +1 -1
  286. package/dist/{inbound-reply-dispatch-Cp44_op7.js → inbound-reply-dispatch-QoP-4etY.js} +1 -1
  287. package/dist/index.js +2 -2
  288. package/dist/{inline-buttons-BpMw2u8L.js → inline-buttons-DhvyL0gh.js} +1 -1
  289. package/dist/{known-users-DZaXUWiG.js → known-users-CkaEZrG-.js} +2 -2
  290. package/dist/{legacy-crypto-restore-ClFp2QUY.js → legacy-crypto-restore-DqHTfeQZ.js} +1 -1
  291. package/dist/{library-CSBTqHMR.js → library-DWIJMiC1.js} +1 -1
  292. package/dist/{llm-slug-generator-B01LP9HH.js → llm-slug-generator-CPJLUh4c.js} +1 -1
  293. package/dist/llm-slug-generator.js +1 -1
  294. package/dist/{login-K1GQthhU.js → login-D7bmVW5j.js} +8 -8
  295. package/dist/{manager-BTGVz4e1.js → manager-Fvv6XDbR.js} +1 -1
  296. package/dist/{manager.runtime-BBy0rWm9.js → manager.runtime-B2xwPNwV.js} +2 -2
  297. package/dist/manager.runtime.js +1 -1
  298. package/dist/{markdown-to-line-0K6UHBqJ.js → markdown-to-line-mtO9DgAI.js} +1 -1
  299. package/dist/matrix-migration.runtime-BANzRV6j.js +2 -0
  300. package/dist/matrix-migration.runtime.js +1 -1
  301. package/dist/{media-text-c7-3FyUu.js → media-text-gzhw__0D.js} +1 -1
  302. package/dist/{message-actions-BPQ-e3VC.js → message-actions-BDzHPwhu.js} +1 -1
  303. package/dist/{message-handler-B-u3SSes.js → message-handler-DZGQdR64.js} +7 -7
  304. package/dist/{messages-BuEE5gHf.js → messages-Bkqh7BiF.js} +3 -3
  305. package/dist/{migration-snapshot.runtime-ClrwAnV8.js → migration-snapshot.runtime-C42aXI4d.js} +2 -2
  306. package/dist/migration-snapshot.runtime.js +1 -1
  307. package/dist/{models-B4fVe317.js → models-ButQTiPN.js} +1 -1
  308. package/dist/{models-B5cGctMp.js → models-DEjGejys.js} +1 -1
  309. package/dist/{models-cli-DkYLCTnZ.js → models-cli-Bto5gRm_.js} +1 -1
  310. package/dist/{monitor-JDNTmtia.js → monitor-BBpB3kdf.js} +4 -4
  311. package/dist/monitor-BjfXsA4M.js +4 -0
  312. package/dist/monitor-Bp6GsWf8.js +5 -0
  313. package/dist/monitor-CHT-YgIL.js +2 -0
  314. package/dist/{monitor-CydoS_Vt.js → monitor-CiAj3Uay.js} +9 -9
  315. package/dist/{monitor-Di1L5Cy7.js → monitor-Cngu4k0r.js} +8 -8
  316. package/dist/{monitor-C7sqEJV_.js → monitor-DKQlDsej.js} +3 -3
  317. package/dist/{monitor-7LLOtbo9.js → monitor-DawRvs0y.js} +4 -4
  318. package/dist/{monitor-yZ0KJj-O.js → monitor-DcUmty8x.js} +8 -8
  319. package/dist/{monitor-CJrj1Hqg.js → monitor-DlK4PMhr.js} +18 -18
  320. package/dist/{monitor-auth-DC7ulkD8.js → monitor-auth-_eVL-FD2.js} +3 -3
  321. package/dist/{monitor-polling.runtime-CfWsLXwo.js → monitor-polling.runtime-BQV3eMgN.js} +3 -3
  322. package/dist/monitor-polling.runtime.js +1 -1
  323. package/dist/{monitor-CamRwhxS.js → monitor-vH3SeLmx.js} +1 -1
  324. package/dist/{monitor-webhook.runtime-CPYnFoZ4.js → monitor-webhook.runtime-DhTOwELa.js} +2 -2
  325. package/dist/monitor-webhook.runtime.js +1 -1
  326. package/dist/monitor.runtime-DQzPpCkM.js +2 -0
  327. package/dist/monitor.runtime.js +1 -1
  328. package/dist/{monitor.webhook-UpkTyK6s.js → monitor.webhook-B7iNLt-9.js} +1 -1
  329. package/dist/{msteams-RI171_Dk.js → msteams-CkA8M9AS.js} +1 -1
  330. package/dist/{music-generation-provider-DnqMVDu2.js → music-generation-provider-BpYR50zf.js} +1 -1
  331. package/dist/{music-generation-provider-DGTyCsNv.js → music-generation-provider-Defucc_t.js} +1 -1
  332. package/dist/{nextcloud-talk-CqWYizPC.js → nextcloud-talk-BpQBltdc.js} +1 -1
  333. package/dist/{nostr-D2I0V8TK.js → nostr-BlAumSd0.js} +1 -1
  334. package/dist/{notify-CWgeh13p.js → notify-KjiKWDf8.js} +1 -1
  335. package/dist/{onboard-BLH-yh58.js → onboard-BQk2zgU7.js} +1 -1
  336. package/dist/{outbound-adapter-D8CySdL9.js → outbound-adapter-C9RMFT9G.js} +2 -2
  337. package/dist/{outbound-send-deps-CeG28QYl.js → outbound-send-deps-CkqAJbWZ.js} +1 -1
  338. package/dist/{outbound.runtime-B57mI3Qc.js → outbound.runtime-DjJfaah3.js} +1 -1
  339. package/dist/outbound.runtime.js +1 -1
  340. package/dist/{pair-command-approve-DndR4jex.js → pair-command-approve-Z1zNIg2W.js} +2 -2
  341. package/dist/{persistent-bindings.lifecycle-Dcyib6NR.js → persistent-bindings.lifecycle-Dk6gSnpF.js} +1 -1
  342. package/dist/{pi-embedded-Bx9lPBB8.js → pi-embedded-BXkjNHgG.js} +12 -12
  343. package/dist/{pi-embedded-m_yOS0Tz.js → pi-embedded-pFmmpkYT.js} +1 -1
  344. package/dist/{pi-embedded.runtime-BT1nDhtw.js → pi-embedded.runtime-BlYjVS7s.js} +1 -1
  345. package/dist/pi-embedded.runtime.js +1 -1
  346. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  347. package/dist/plugin-sdk/acp-binding-runtime.js +2 -2
  348. package/dist/plugin-sdk/acp-runtime.js +2 -2
  349. package/dist/plugin-sdk/agent-runtime.js +2 -2
  350. package/dist/plugin-sdk/channel-core.js +2 -2
  351. package/dist/plugin-sdk/channel-inbound.js +2 -2
  352. package/dist/plugin-sdk/command-auth.js +2 -2
  353. package/dist/plugin-sdk/compat.js +1 -1
  354. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  355. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  356. package/dist/plugin-sdk/core.js +3 -3
  357. package/dist/plugin-sdk/direct-dm.js +1 -1
  358. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  359. package/dist/plugin-sdk/index.js +1 -1
  360. package/dist/plugin-sdk/irc.js +1 -1
  361. package/dist/plugin-sdk/msteams.js +2 -2
  362. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  363. package/dist/plugin-sdk/nostr.js +2 -2
  364. package/dist/plugin-sdk/qa-channel.js +3 -3
  365. package/dist/plugin-sdk/reply-dispatch-runtime.js +2 -2
  366. package/dist/plugin-sdk/reply-runtime.js +4 -4
  367. package/dist/plugin-sdk/testing.js +4 -4
  368. package/dist/plugin-sdk/zalo.js +1 -1
  369. package/dist/plugin-sdk/zalouser.js +1 -1
  370. package/dist/plugins/runtime/index.js +1 -1
  371. package/dist/{policy-BQcC86yf.js → policy-CUv3U5cu.js} +2 -2
  372. package/dist/{prepare-BsH6-Rk9.js → prepare-0NsbmIpG.js} +5 -5
  373. package/dist/{preview-streaming-C4PW-DAG.js → preview-streaming-DQLqvbBE.js} +1 -1
  374. package/dist/{probe-C1IDRTtc.js → probe-B94PGdGD.js} +2 -2
  375. package/dist/{probe-CL1l7rT3.js → probe-C86rZbSs.js} +1 -1
  376. package/dist/{probe-C2vBJwsU.js → probe-DNzlZ4Gm.js} +1 -1
  377. package/dist/probe-DOABPulN.js +2 -0
  378. package/dist/{probe-Cvzy5FiV.js → probe-Q_XnWndt.js} +7 -7
  379. package/dist/probe.runtime-BoR_rtfo.js +3 -0
  380. package/dist/{profile-update-XNGz8Vvb.js → profile-update-DoapRWz8.js} +1 -1
  381. package/dist/{program-DznbebAT.js → program-y-QXSMrP.js} +1 -1
  382. package/dist/{prompt-select-styled-CFx6rCz-.js → prompt-select-styled-CJwFKVfl.js} +3 -3
  383. package/dist/{provider-CXX-2cpp.js → provider-CAhmfu3_.js} +13 -13
  384. package/dist/{provider-DN64T2Yl.js → provider-YuQkYTm9.js} +10 -10
  385. package/dist/{provider-dispatcher-BlNn8Luw.js → provider-dispatcher-CqaUAtXd.js} +1 -1
  386. package/dist/{provider-session.runtime-CrP-Vxo4.js → provider-session.runtime-uMIk4Zas.js} +6 -6
  387. package/dist/provider-session.runtime.js +1 -1
  388. package/dist/provider.runtime-C68xiuja.js +2 -0
  389. package/dist/provider.runtime.js +1 -1
  390. package/dist/qa-channel-DXyPHOtD.js +2 -0
  391. package/dist/{qa-cli-4pW3AnNM.js → qa-cli-C0TNWGMj.js} +2 -2
  392. package/dist/{reaction-level-0Iq_4nvh.js → reaction-level-CsHmA5-L.js} +1 -1
  393. package/dist/{reaction-runtime-api-B6TDNZ-8.js → reaction-runtime-api-37SbdIrh.js} +1 -1
  394. package/dist/{register.agent-BQjga-2m.js → register.agent-Bn1KOtEZ.js} +3 -3
  395. package/dist/{register.maintenance-Dou-Yv4E.js → register.maintenance-Ddu7ldq2.js} +1 -1
  396. package/dist/{register.onboard-DGG5VJkr.js → register.onboard-CuqJtoGb.js} +1 -1
  397. package/dist/{register.runtime-W36V4yB6.js → register.runtime-827W3fFQ.js} +3 -3
  398. package/dist/register.runtime.js +1 -1
  399. package/dist/{register.setup-L2F2d7JV.js → register.setup-Bkxed9zB.js} +1 -1
  400. package/dist/{register.status-health-sessions-HUwktNNy.js → register.status-health-sessions-DhvY2ELa.js} +5 -5
  401. package/dist/{register.subclis-cvwvb-xK.js → register.subclis-BKBwxjAx.js} +6 -6
  402. package/dist/{register.subclis-S6RS8QK6.js → register.subclis-BcKJ7A8r.js} +1 -1
  403. package/dist/{register.sync.runtime-B3HMegN0.js → register.sync.runtime-BvxNyO1a.js} +2 -2
  404. package/dist/{register.sync.runtime-BnjDDEKs.js → register.sync.runtime-uMEVR5k9.js} +1 -1
  405. package/dist/register.sync.runtime.js +1 -1
  406. package/dist/{replies-pGD5U1PH.js → replies-pynzTLh6.js} +1 -1
  407. package/dist/reply-dispatch-runtime-Cl_97AB9.js +3 -0
  408. package/dist/{reply-CZ84PGXM.js → reply-gPxOKHrq.js} +6 -6
  409. package/dist/reply-resolver.runtime-CGlxPcC-.js +3 -0
  410. package/dist/reply-resolver.runtime.js +1 -1
  411. package/dist/{reply-runtime-tcjV951e.js → reply-runtime-Cc0_oT6w.js} +4 -4
  412. package/dist/reply.runtime-B6qQZUAc.js +2 -0
  413. package/dist/reply.runtime.js +1 -1
  414. package/dist/{resolve-targets-I9zj6PUv.js → resolve-targets-Cqar4s-P.js} +3 -3
  415. package/dist/{route-resolution-Cf1Xh7Zy.js → route-resolution-BGx0oG0T.js} +2 -2
  416. package/dist/{run-main-PuR6OnAq.js → run-main-DxX0w8bY.js} +7 -7
  417. package/dist/{runtime-gK4AYLgu.js → runtime-CGE2d-7o.js} +8 -8
  418. package/dist/{runtime-api-DJcp52zs.js → runtime-api-5lZXw1b3.js} +1 -1
  419. package/dist/{runtime-api-B2aTZnkP.js → runtime-api-BSpeC4PX.js} +4 -4
  420. package/dist/runtime-api-BTZQ2FkZ.js +2 -0
  421. package/dist/{runtime-api-bGTRWd_O.js → runtime-api-Br9iJPR4.js} +1 -1
  422. package/dist/{runtime-api-C1Wbd6jd.js → runtime-api-CDkP-XGv.js} +1 -1
  423. package/dist/{runtime-api-D2cOteXJ.js → runtime-api-DARNIF6F.js} +2 -2
  424. package/dist/{runtime-api-BRt9YRJy.js → runtime-api-DBZyGpTV.js} +1 -1
  425. package/dist/{runtime-api-CdpHBjuR.js → runtime-api-DRlmkTqI.js} +1 -1
  426. package/dist/{runtime-api-XUvLYXnA.js → runtime-api-Dk0SbPX0.js} +1 -1
  427. package/dist/{runtime-api-D_2vw6cb.js → runtime-api-aSy7_Ev7.js} +2 -2
  428. package/dist/runtime-api-lF_Ak4Cs.js +2 -0
  429. package/dist/{runtime-api-Byb4D198.js → runtime-api-wz7d2Leq.js} +1 -1
  430. package/dist/runtime-embedded-pi.runtime-DW-48umi.js +2 -0
  431. package/dist/runtime-embedded-pi.runtime.js +1 -1
  432. package/dist/{runtime-heavy-api-B3N-obSl.js → runtime-heavy-api-B2R4EnFq.js} +2 -2
  433. package/dist/runtime-internal-BV3f9_iw.js +2 -0
  434. package/dist/{runtime-plugins-C3njOaW-.js → runtime-plugins-vpo90S24.js} +1 -1
  435. package/dist/{sdk-XZ_Z4kvw.js → sdk-C0qPIh8E.js} +2 -2
  436. package/dist/{security-audit-BAr8L1Xd.js → security-audit-0SaTo0nF.js} +1 -1
  437. package/dist/{security-audit-BJyAIIUB.js → security-audit-B7Q7ZX-N.js} +1 -1
  438. package/dist/{security-audit-7jdVsW53.js → security-audit-DB2yOyib.js} +1 -1
  439. package/dist/{security-audit.runtime-JHdIfe--.js → security-audit.runtime-B98qMNDk.js} +1 -1
  440. package/dist/security-audit.runtime.js +1 -1
  441. package/dist/{send-CygV5lgH.js → send-2JjV--W8.js} +1 -1
  442. package/dist/{send-f4oaP4lt.js → send-C4_5Nrj1.js} +2 -2
  443. package/dist/{send-vHle4D4s.js → send-Cl4hmgvy.js} +1 -1
  444. package/dist/{send-BDtSfhq0.js → send-DEQTYNpA.js} +2 -2
  445. package/dist/send-DqE6Z4wS.js +2 -0
  446. package/dist/{send-njHlc4Sx.js → send-cg7ZUh8L.js} +1 -1
  447. package/dist/{send-CrwRkKEn.js → send-h-ljua2B.js} +1 -1
  448. package/dist/{send.runtime-_DjLDu_1.js → send.runtime-BpYCUusT.js} +1 -1
  449. package/dist/send.runtime-nYLmRgy5.js +2 -0
  450. package/dist/send.runtime.js +1 -1
  451. package/dist/{server-CzrFX5HH.js → server-Cv43X9Ba.js} +1 -1
  452. package/dist/{server-node-events-7Mzq1Pt2.js → server-node-events-N2EiUlQc.js} +3 -3
  453. package/dist/{server.impl-DfarI3XH.js → server.impl-NaC_chAZ.js} +20 -20
  454. package/dist/{session-reset-service-BGYoS6JC.js → session-reset-service-Du7cSzR4.js} +3 -3
  455. package/dist/{session-route-D7w8kaze.js → session-route-2IRGPhA7.js} +1 -1
  456. package/dist/{session-store-metadata-DHvnDpQ2.js → session-store-metadata-Bpj1_E6B.js} +5 -5
  457. package/dist/{session-subagent-reactivation.runtime-BcBMqtPT.js → session-subagent-reactivation.runtime-Dz_gxCM_.js} +1 -1
  458. package/dist/session-subagent-reactivation.runtime.js +1 -1
  459. package/dist/{sessions.runtime-C4Q8yiXC.js → sessions.runtime-BOc8DVTq.js} +1 -1
  460. package/dist/sessions.runtime.js +1 -1
  461. package/dist/{setup-BlSQlFmf.js → setup-BYNLke78.js} +1 -1
  462. package/dist/{setup-api-6_Xv1NaE.js → setup-api-Cqih6dtm.js} +1 -1
  463. package/dist/{setup-bootstrap-Q40XzDy2.js → setup-bootstrap-bXEOG_ML.js} +2 -2
  464. package/dist/{setup-contract-poe1_kAE.js → setup-contract-C-c2TKoo.js} +1 -1
  465. package/dist/{setup-core-CJkkVYG4.js → setup-core-3Qj-iJcQ.js} +3 -3
  466. package/dist/{setup-core-Bl3NJaUQ.js → setup-core-CE_hGO1T.js} +2 -2
  467. package/dist/{setup-surface-B3HYPKdr.js → setup-surface-BmYHB0TB.js} +2 -2
  468. package/dist/{setup-surface-BjU0_9ni.js → setup-surface-BsGAinhz.js} +2 -2
  469. package/dist/{setup-surface-hgClXLWJ.js → setup-surface-DLRkvcvT.js} +8 -8
  470. package/dist/{setup-surface-CJst1Jgd.js → setup-surface-DOe-FL-H.js} +1 -1
  471. package/dist/{setup.finalize-Bl63cgqX.js → setup.finalize-Dw4pvWOq.js} +2 -2
  472. package/dist/{shared-Bwto1cf_.js → shared-BLdGMZ8Q.js} +2 -2
  473. package/dist/{shared-CBoBr3aP.js → shared-Bbqmy7zS.js} +1 -1
  474. package/dist/{shared-Cht2nbh-.js → shared-DKaN2Sgf.js} +4 -4
  475. package/dist/{shared-CtO43IzT.js → shared-Niec58eb.js} +2 -2
  476. package/dist/{slash-commands.runtime-CXFMEIO5.js → slash-commands.runtime-CW9nqkK7.js} +1 -1
  477. package/dist/slash-commands.runtime.js +1 -1
  478. package/dist/{slash-dispatch.runtime-BHaFWpgG.js → slash-dispatch.runtime-x87zH-rg.js} +4 -4
  479. package/dist/slash-dispatch.runtime.js +1 -1
  480. package/dist/{slash-skill-commands.runtime-DVZ2L1K_.js → slash-skill-commands.runtime-wdvpAc3f.js} +1 -1
  481. package/dist/slash-skill-commands.runtime.js +1 -1
  482. package/dist/squidclaw-tools.runtime-CZd5LbNT.js +2 -0
  483. package/dist/squidclaw-tools.runtime.js +1 -1
  484. package/dist/{src-CcaaJ6Z6.js → src-CMR0JeUY.js} +6 -6
  485. package/dist/{startup-verification-CiMh-wvb.js → startup-verification-DHENnwEO.js} +1 -1
  486. package/dist/status-BF3PX1wn.js +3 -0
  487. package/dist/{status-BiBGJOpO.js → status-CQwE-1AS.js} +4 -4
  488. package/dist/{status-all-z9Pkn3iD.js → status-all-tmcLH_1L.js} +1 -1
  489. package/dist/{status-json-B9zIiTcT.js → status-json-CGZCQ1R-.js} +1 -1
  490. package/dist/{status.scan-oYGKMEEx.js → status.scan-CNQjuye-.js} +2 -2
  491. package/dist/{status.scan-overview-BDfHdhnh.js → status.scan-overview-D7K1vRmG.js} +1 -1
  492. package/dist/{status.scan.fast-json-BiOVdrKz.js → status.scan.fast-json-Cc9L_Ago.js} +1 -1
  493. package/dist/{status.scan.fast-json-DsUDhhJA.js → status.scan.fast-json-D6q8XuiH.js} +1 -1
  494. package/dist/{status.summary-Cja1jEe2.js → status.summary-CpmZOPah.js} +1 -1
  495. package/dist/{status.summary-BHHnG7nJ.js → status.summary-oY8vxJha.js} +1 -1
  496. package/dist/{sticker-cache-Cd8OVC4p.js → sticker-cache-DFWYj2Xy.js} +1 -1
  497. package/dist/{sticker-vision.runtime-4UHPl0mq.js → sticker-vision.runtime-C_V03CZU.js} +1 -1
  498. package/dist/sticker-vision.runtime.js +1 -1
  499. package/dist/{storage-YT39bpsi.js → storage-BGk_CQ0o.js} +1 -1
  500. package/dist/{subagent-announce.registry.runtime-DoFxP8xM.js → subagent-announce.registry.runtime-BNvOgrE2.js} +2 -2
  501. package/dist/subagent-announce.registry.runtime.js +1 -1
  502. package/dist/{subagent-hooks-CuTcLavq.js → subagent-hooks-XffaGbgu.js} +1 -1
  503. package/dist/{subagent-orphan-recovery-DKbfBqsP.js → subagent-orphan-recovery-CwXRKPSo.js} +2 -2
  504. package/dist/subagent-registry-runtime-BKMKffyB.js +2 -0
  505. package/dist/{subagent-registry.runtime-DbOvQjAN.js → subagent-registry.runtime-CQ01jFNe.js} +1 -1
  506. package/dist/subagent-registry.runtime.js +1 -1
  507. package/dist/suite-C3HgK0BL.js +2 -0
  508. package/dist/{suite-BLGLZUam.js → suite-idSgof6E.js} +4 -4
  509. package/dist/{suite-launch.runtime-BNHGwIvO.js → suite-launch.runtime-CFegy0La.js} +1 -1
  510. package/dist/suite-launch.runtime.js +1 -1
  511. package/dist/{task-executor-D6dPc3Sb.js → task-executor-Coe7ulkd.js} +2 -2
  512. package/dist/{task-owner-access-m9__4AMg.js → task-owner-access-C3x5f8uc.js} +1 -1
  513. package/dist/{task-registry-aCEHx64L.js → task-registry-CZuFBvDQ.js} +1 -1
  514. package/dist/task-registry-control.runtime-CqNlO8ML.js +3 -0
  515. package/dist/task-registry-control.runtime.js +1 -1
  516. package/dist/{task-registry.audit-BACF4oke.js → task-registry.audit-BlLsRMoU.js} +2 -2
  517. package/dist/{task-registry.maintenance-B74KAJrz.js → task-registry.maintenance-taeaRrwJ.js} +1 -1
  518. package/dist/telegram/token.js +1 -1
  519. package/dist/{testing-DPBa7PY5.js → testing-BcNuRY1i.js} +2 -2
  520. package/dist/{thread-bindings-D5YJVil7.js → thread-bindings-B0-Krplp.js} +3 -3
  521. package/dist/{thread-bindings-CdXYftrF.js → thread-bindings-CxKffUBy.js} +1 -1
  522. package/dist/{thread-bindings-DzWllvkK.js → thread-bindings-D1v3Wkpc.js} +2 -2
  523. package/dist/{thread-bindings-BnIZmRRn.js → thread-bindings-D4hrUQd0.js} +4 -4
  524. package/dist/{thread-bindings.discord-api-hawSAebI.js → thread-bindings.discord-api-gO5WB6mV.js} +1 -1
  525. package/dist/{thread-bindings.manager-CQi_5yw2.js → thread-bindings.manager-BRgGceJd.js} +2 -2
  526. package/dist/{thread-bindings.manager-DmzoXHoz.js → thread-bindings.manager-wVzLmRkS.js} +1 -1
  527. package/dist/{token-CiLSLWsB.js → token-B9UGaH5S.js} +1 -1
  528. package/dist/{tool-actions.runtime-B-fFC7u0.js → tool-actions.runtime-CPPtHcOa.js} +7 -7
  529. package/dist/tool-actions.runtime.js +1 -1
  530. package/dist/{tools-effective-inventory-BQAeiS-u.js → tools-effective-inventory-BfMybjKQ.js} +1 -1
  531. package/dist/{update-cli-BTDkCbvI.js → update-cli-DKEXurYc.js} +3 -3
  532. package/dist/{verification-CyXKCPJL.js → verification-34YqE5M3.js} +1 -1
  533. package/dist/{verification-nfSi5nnX.js → verification-CkCIE7zZ.js} +1 -1
  534. package/package.json +1 -1
  535. package/dist/accounts-cmxY3KhL.js +0 -2
  536. package/dist/acp-binding-runtime-D8Bo48UG.js +0 -2
  537. package/dist/agent-BNCS-rqd.js +0 -2
  538. package/dist/api-C6o-NuSZ.js +0 -5
  539. package/dist/api-CENLKvhs.js +0 -2
  540. package/dist/api-DOlgxPp4.js +0 -2
  541. package/dist/api-Dj0pGFcV.js +0 -3
  542. package/dist/api-xeMwAXYq.js +0 -2
  543. package/dist/channel-core-D9HikzZ6.js +0 -2
  544. package/dist/channel.runtime-2P0dPnE0.js +0 -4
  545. package/dist/client-C21GaqAq.js +0 -5
  546. package/dist/commands-subagents-control.runtime-DKQHYLGk.js +0 -2
  547. package/dist/control-ui/apple-touch-icon.png +0 -0
  548. package/dist/control-ui/assets/agents-DiaOppFK.js +0 -813
  549. package/dist/control-ui/assets/channel-config-extras-BO8n7-sM.js +0 -2
  550. package/dist/control-ui/assets/channels-fYfRw5ZL.js +0 -353
  551. package/dist/control-ui/assets/cron-DYyEm1jm.js +0 -932
  552. package/dist/control-ui/assets/de-clz-8aad.js +0 -2
  553. package/dist/control-ui/assets/debug-C_IhrnLl.js +0 -94
  554. package/dist/control-ui/assets/dreaming-GXaguO0J.js +0 -213
  555. package/dist/control-ui/assets/es-CQgWM83W.js +0 -2
  556. package/dist/control-ui/assets/fr-BjmdcBBw.js +0 -2
  557. package/dist/control-ui/assets/id-3qUyH5X0.js +0 -2
  558. package/dist/control-ui/assets/index-DhPAE7si.js +0 -4813
  559. package/dist/control-ui/assets/index-XSW7WWRB.css +0 -1
  560. package/dist/control-ui/assets/instances-B8J-oieq.js +0 -57
  561. package/dist/control-ui/assets/ja-JP-BwoUpYKH.js +0 -2
  562. package/dist/control-ui/assets/ko-CUMKZ3-D.js +0 -2
  563. package/dist/control-ui/assets/logs-BbPqHP4G.js +0 -74
  564. package/dist/control-ui/assets/nodes-DLQ-YjPm.js +0 -428
  565. package/dist/control-ui/assets/pl-CQupR6Ir.js +0 -2
  566. package/dist/control-ui/assets/preview_false-BbapWtFj.js +0 -2
  567. package/dist/control-ui/assets/pt-BR-DcTmGZZL.js +0 -2
  568. package/dist/control-ui/assets/sessions-GTAtxfEB.js +0 -306
  569. package/dist/control-ui/assets/skills-DpZc5iVN.js +0 -314
  570. package/dist/control-ui/assets/skills-shared-u4L48xHn.js +0 -11
  571. package/dist/control-ui/assets/tr-BxzATSZo.js +0 -2
  572. package/dist/control-ui/assets/uk-CfJWY5wW.js +0 -2
  573. package/dist/control-ui/assets/zh-CN-BfiZ3q64.js +0 -2
  574. package/dist/control-ui/assets/zh-TW-DgWzgO6x.js +0 -2
  575. package/dist/control-ui/favicon-32.png +0 -0
  576. package/dist/control-ui/favicon.ico +0 -0
  577. package/dist/control-ui/favicon.svg +0 -22
  578. package/dist/control-ui/index.html +0 -70
  579. package/dist/create-client-CshEX2m4.js +0 -2
  580. package/dist/env-auth-CmCEpWtd.js +0 -2
  581. package/dist/get-reply-from-config.runtime-SOwkaIgx.js +0 -2
  582. package/dist/heartbeat-runner.runtime-CXO4wuWt.js +0 -2
  583. package/dist/matrix-migration.runtime-Rx0VlfPo.js +0 -2
  584. package/dist/monitor-BBVP1HDd.js +0 -4
  585. package/dist/monitor-D8n1QE4q.js +0 -2
  586. package/dist/monitor-DU6HX8MW.js +0 -5
  587. package/dist/monitor.runtime-DCmuKFu9.js +0 -2
  588. package/dist/probe-CcQGOg8N.js +0 -2
  589. package/dist/probe.runtime-CazSuhtK.js +0 -3
  590. package/dist/provider.runtime-Brog9oyt.js +0 -2
  591. package/dist/qa-channel-ByqTdMJB.js +0 -2
  592. package/dist/reply-dispatch-runtime-CvzsFH3g.js +0 -3
  593. package/dist/reply-resolver.runtime-D62ugZZP.js +0 -3
  594. package/dist/reply.runtime-C69pi305.js +0 -2
  595. package/dist/runtime-api-By_TrMA6.js +0 -2
  596. package/dist/runtime-api-Cvm36W9Y.js +0 -2
  597. package/dist/runtime-embedded-pi.runtime-DXnH1F3C.js +0 -2
  598. package/dist/runtime-internal-D0aIFsqm.js +0 -2
  599. package/dist/send-CM3dhnnl.js +0 -2
  600. package/dist/send.runtime-BaKZaW81.js +0 -2
  601. package/dist/squidclaw-tools.runtime-g1bAXcEY.js +0 -2
  602. package/dist/status-De9_Kj73.js +0 -3
  603. package/dist/subagent-registry-runtime-D91IXuvS.js +0 -2
  604. package/dist/suite-Ch2KLIrW.js +0 -2
  605. package/dist/task-registry-control.runtime-CLEe5LaI.js +0 -3
@@ -1,932 +0,0 @@
1
- import{A as a,t as n,h as P,d as r,j as K,I as H,J as S,f as R}from"./index-DhPAE7si.js";const f=e=>e??a;function O(){return[{value:"ok",label:n("cron.runs.runStatusOk")},{value:"error",label:n("cron.runs.runStatusError")},{value:"skipped",label:n("cron.runs.runStatusSkipped")}]}function U(){return[{value:"delivered",label:n("cron.runs.deliveryDelivered")},{value:"not-delivered",label:n("cron.runs.deliveryNotDelivered")},{value:"unknown",label:n("cron.runs.deliveryUnknown")},{value:"not-requested",label:n("cron.runs.deliveryNotRequested")}]}function j(e,t,l){const i=new Set(e);return l?i.add(t):i.delete(t),Array.from(i)}function F(e,t){return e.length===0?t:e.length<=2?e.join(", "):`${e[0]} +${e.length-1}`}function q(e){const t=["last",...e.channels.filter(Boolean)],l=e.form.deliveryChannel?.trim();l&&!t.includes(l)&&t.push(l);const i=new Set;return t.filter(d=>i.has(d)?!1:(i.add(d),!0))}function E(e,t){if(t==="last")return"last";const l=e.channelMeta?.find(i=>i.id===t);return l?.label?l.label:e.channelLabels?.[t]??t}function _(e){return r`
2
- <div class="field cron-filter-dropdown" data-filter=${e.id}>
3
- <span>${e.title}</span>
4
- <details class="cron-filter-dropdown__details">
5
- <summary class="btn cron-filter-dropdown__trigger">
6
- <span>${e.summary}</span>
7
- </summary>
8
- <div class="cron-filter-dropdown__panel">
9
- <div class="cron-filter-dropdown__list">
10
- ${e.options.map(t=>r`
11
- <label class="cron-filter-dropdown__option">
12
- <input
13
- type="checkbox"
14
- value=${t.value}
15
- .checked=${e.selected.includes(t.value)}
16
- @change=${l=>{const i=l.target;e.onToggle(t.value,i.checked)}}
17
- />
18
- <span>${t.label}</span>
19
- </label>
20
- `)}
21
- </div>
22
- <div class="row">
23
- <button class="btn" type="button" @click=${e.onClear}>
24
- ${n("cron.runs.clear")}
25
- </button>
26
- </div>
27
- </div>
28
- </details>
29
- </div>
30
- `}function y(e,t){const l=Array.from(new Set(t.map(i=>i.trim()).filter(Boolean)));return l.length===0?a:r`<datalist id=${e}>
31
- ${l.map(i=>r`<option value=${i}></option> `)}
32
- </datalist>`}function u(e){return`cron-error-${e}`}function B(e){return e==="name"?"cron-name":e==="scheduleAt"?"cron-schedule-at":e==="everyAmount"?"cron-every-amount":e==="cronExpr"?"cron-cron-expr":e==="staggerAmount"?"cron-stagger-amount":e==="payloadText"?"cron-payload-text":e==="payloadModel"?"cron-payload-model":e==="payloadThinking"?"cron-payload-thinking":e==="timeoutSeconds"?"cron-timeout-seconds":e==="failureAlertAfter"?"cron-failure-alert-after":e==="failureAlertCooldownSeconds"?"cron-failure-alert-cooldown-seconds":"cron-delivery-to"}function N(e,t,l){return e==="payloadText"?t.payloadKind==="systemEvent"?n("cron.form.mainTimelineMessage"):n("cron.form.assistantTaskPrompt"):e==="deliveryTo"?l==="webhook"?n("cron.form.webhookUrl"):n("cron.form.to"):{name:n("cron.form.fieldName"),scheduleAt:n("cron.form.runAt"),everyAmount:n("cron.form.every"),cronExpr:n("cron.form.expression"),staggerAmount:n("cron.form.staggerWindow"),payloadText:n("cron.form.assistantTaskPrompt"),payloadModel:n("cron.form.model"),payloadThinking:n("cron.form.thinking"),timeoutSeconds:n("cron.form.timeoutSeconds"),deliveryTo:n("cron.form.to"),failureAlertAfter:"Failure alert after",failureAlertCooldownSeconds:"Failure alert cooldown"}[e]}function z(e,t,l){const i=["name","scheduleAt","everyAmount","cronExpr","staggerAmount","payloadText","payloadModel","payloadThinking","timeoutSeconds","deliveryTo","failureAlertAfter","failureAlertCooldownSeconds"],d=[];for(const s of i){const v=e[s];v&&d.push({key:s,label:N(s,t,l),message:v,inputId:B(s)})}return d}function Q(e){const t=document.getElementById(e);t instanceof HTMLElement&&(typeof t.scrollIntoView=="function"&&t.scrollIntoView({block:"center",behavior:"smooth"}),t.focus())}function c(e,t=!1){return r`<span>
33
- ${e}
34
- ${t?r`
35
- <span class="cron-required-marker" aria-hidden="true">*</span>
36
- <span class="cron-required-sr">${n("cron.form.requiredSr")}</span>
37
- `:a}
38
- </span>`}function te(e){const t=!!e.editingJobId,l=e.form.payloadKind==="agentTurn",i=e.form.scheduleKind==="cron",d=q(e),s=e.runsJobId==null?void 0:e.jobs.find(o=>o.id===e.runsJobId),v=e.runsScope==="all"?n("cron.jobList.allJobs"):s?.name??e.runsJobId??n("cron.jobList.selectJob"),g=e.runs.toSorted((o,h)=>e.runsSortDir==="asc"?o.ts-h.ts:h.ts-o.ts),b=O(),p=U(),M=b.filter(o=>e.runsStatuses.includes(o.value)).map(o=>o.label),D=p.filter(o=>e.runsDeliveryStatuses.includes(o.value)).map(o=>o.label),J=F(M,n("cron.runs.allStatuses")),L=F(D,n("cron.runs.allDelivery")),x=e.form.sessionTarget!=="main"&&e.form.payloadKind==="agentTurn",m=e.form.deliveryMode==="announce"&&!x?"none":e.form.deliveryMode,k=z(e.fieldErrors,e.form,m),w=!e.busy&&k.length>0,I=e.jobsQuery.trim().length>0||e.jobsEnabledFilter!=="all"||e.jobsScheduleKindFilter!=="all"||e.jobsLastStatusFilter!=="all"||e.jobsSortBy!=="nextRunAtMs"||e.jobsSortDir!=="asc",C=w&&!e.canSubmit?k.length===1?n("cron.form.fixFields",{count:String(k.length)}):n("cron.form.fixFieldsPlural",{count:String(k.length)}):"";return r`
39
- <section class="card cron-summary-strip">
40
- <div class="cron-summary-strip__left">
41
- <div class="cron-summary-item">
42
- <div class="cron-summary-label">${n("cron.summary.enabled")}</div>
43
- <div class="cron-summary-value">
44
- <span class=${`chip ${e.status?.enabled?"chip-ok":"chip-danger"}`}>
45
- ${e.status?e.status.enabled?n("cron.summary.yes"):n("cron.summary.no"):n("common.na")}
46
- </span>
47
- </div>
48
- </div>
49
- <div class="cron-summary-item">
50
- <div class="cron-summary-label">${n("cron.summary.jobs")}</div>
51
- <div class="cron-summary-value">${e.status?.jobs??n("common.na")}</div>
52
- </div>
53
- <div class="cron-summary-item cron-summary-item--wide">
54
- <div class="cron-summary-label">${n("cron.summary.nextWake")}</div>
55
- <div class="cron-summary-value">${P(e.status?.nextWakeAtMs??null)}</div>
56
- </div>
57
- </div>
58
- <div class="cron-summary-strip__actions">
59
- <button
60
- class=${e.loading?"btn cron-refresh-btn--loading":"btn"}
61
- ?disabled=${e.loading}
62
- @click=${e.onRefresh}
63
- >
64
- ${e.loading?n("cron.summary.refreshing"):n("cron.summary.refresh")}
65
- </button>
66
- ${e.error?r`<span class="muted">${e.error}</span>`:a}
67
- </div>
68
- </section>
69
-
70
- <section class="cron-workspace">
71
- <div class="cron-workspace-main">
72
- <section class="card">
73
- <div
74
- class="row"
75
- style="justify-content: space-between; align-items: flex-start; gap: 12px;"
76
- >
77
- <div>
78
- <div class="card-title">${n("cron.jobs.title")}</div>
79
- <div class="card-sub">${n("cron.jobs.subtitle")}</div>
80
- </div>
81
- <div class="muted">
82
- ${n("cron.jobs.shownOf",{shown:String(e.jobs.length),total:String(e.jobsTotal)})}
83
- </div>
84
- </div>
85
- <div class="filters" style="margin-top: 12px;">
86
- <label class="field cron-filter-search">
87
- <span>${n("cron.jobs.searchJobs")}</span>
88
- <input
89
- .value=${e.jobsQuery}
90
- placeholder=${n("cron.jobs.searchPlaceholder")}
91
- @input=${o=>e.onJobsFiltersChange({cronJobsQuery:o.target.value})}
92
- />
93
- </label>
94
- <label class="field">
95
- <span>${n("cron.jobs.enabled")}</span>
96
- <select
97
- .value=${e.jobsEnabledFilter}
98
- @change=${o=>e.onJobsFiltersChange({cronJobsEnabledFilter:o.target.value})}
99
- >
100
- <option value="all">${n("cron.jobs.all")}</option>
101
- <option value="enabled">${n("common.enabled")}</option>
102
- <option value="disabled">${n("common.disabled")}</option>
103
- </select>
104
- </label>
105
- <label class="field">
106
- <span>${n("cron.jobs.schedule")}</span>
107
- <select
108
- data-test-id="cron-jobs-schedule-filter"
109
- .value=${e.jobsScheduleKindFilter}
110
- @change=${o=>e.onJobsFiltersChange({cronJobsScheduleKindFilter:o.target.value})}
111
- >
112
- <option value="all">${n("cron.jobs.all")}</option>
113
- <option value="at">${n("cron.form.at")}</option>
114
- <option value="every">${n("cron.form.every")}</option>
115
- <option value="cron">${n("cron.form.cronOption")}</option>
116
- </select>
117
- </label>
118
- <label class="field">
119
- <span>${n("cron.jobs.lastRun")}</span>
120
- <select
121
- data-test-id="cron-jobs-last-status-filter"
122
- .value=${e.jobsLastStatusFilter}
123
- @change=${o=>e.onJobsFiltersChange({cronJobsLastStatusFilter:o.target.value})}
124
- >
125
- <option value="all">${n("cron.jobs.all")}</option>
126
- <option value="ok">${n("cron.runs.runStatusOk")}</option>
127
- <option value="error">${n("cron.runs.runStatusError")}</option>
128
- <option value="skipped">${n("cron.runs.runStatusSkipped")}</option>
129
- </select>
130
- </label>
131
- <label class="field">
132
- <span>${n("cron.jobs.sort")}</span>
133
- <select
134
- .value=${e.jobsSortBy}
135
- @change=${o=>e.onJobsFiltersChange({cronJobsSortBy:o.target.value})}
136
- >
137
- <option value="nextRunAtMs">${n("cron.jobs.nextRun")}</option>
138
- <option value="updatedAtMs">${n("cron.jobs.recentlyUpdated")}</option>
139
- <option value="name">${n("cron.jobs.name")}</option>
140
- </select>
141
- </label>
142
- <label class="field">
143
- <span>${n("cron.jobs.direction")}</span>
144
- <select
145
- .value=${e.jobsSortDir}
146
- @change=${o=>e.onJobsFiltersChange({cronJobsSortDir:o.target.value})}
147
- >
148
- <option value="asc">${n("cron.jobs.ascending")}</option>
149
- <option value="desc">${n("cron.jobs.descending")}</option>
150
- </select>
151
- </label>
152
- <label class="field">
153
- <span>${n("cron.jobs.reset")}</span>
154
- <button
155
- class="btn"
156
- data-test-id="cron-jobs-filters-reset"
157
- ?disabled=${!I}
158
- @click=${e.onJobsFiltersReset}
159
- >
160
- ${n("cron.jobs.reset")}
161
- </button>
162
- </label>
163
- </div>
164
- ${e.jobs.length===0?r` <div class="muted" style="margin-top: 12px">${n("cron.jobs.noMatching")}</div> `:r`
165
- <div class="list" style="margin-top: 12px;">
166
- ${e.jobs.map(o=>V(o,e))}
167
- </div>
168
- `}
169
- ${e.jobsHasMore?r`
170
- <div class="row" style="margin-top: 12px">
171
- <button
172
- class="btn"
173
- ?disabled=${e.loading||e.jobsLoadingMore}
174
- @click=${e.onLoadMoreJobs}
175
- >
176
- ${e.jobsLoadingMore?n("cron.jobs.loading"):n("cron.jobs.loadMore")}
177
- </button>
178
- </div>
179
- `:a}
180
- </section>
181
-
182
- <section class="card">
183
- <div
184
- class="row"
185
- style="justify-content: space-between; align-items: flex-start; gap: 12px;"
186
- >
187
- <div>
188
- <div class="card-title">${n("cron.runs.title")}</div>
189
- <div class="card-sub">
190
- ${e.runsScope==="all"?n("cron.runs.subtitleAll"):n("cron.runs.subtitleJob",{title:v})}
191
- </div>
192
- </div>
193
- <div class="muted">
194
- ${n("cron.jobs.shownOf",{shown:String(g.length),total:String(e.runsTotal)})}
195
- </div>
196
- </div>
197
- <div class="cron-run-filters">
198
- <div class="cron-run-filters__row cron-run-filters__row--primary">
199
- <label class="field">
200
- <span>${n("cron.runs.scope")}</span>
201
- <select
202
- .value=${e.runsScope}
203
- @change=${o=>e.onRunsFiltersChange({cronRunsScope:o.target.value})}
204
- >
205
- <option value="all">${n("cron.runs.allJobs")}</option>
206
- <option value="job" ?disabled=${e.runsJobId==null}>
207
- ${n("cron.runs.selectedJob")}
208
- </option>
209
- </select>
210
- </label>
211
- <label class="field cron-run-filter-search">
212
- <span>${n("cron.runs.searchRuns")}</span>
213
- <input
214
- .value=${e.runsQuery}
215
- placeholder=${n("cron.runs.searchPlaceholder")}
216
- @input=${o=>e.onRunsFiltersChange({cronRunsQuery:o.target.value})}
217
- />
218
- </label>
219
- <label class="field">
220
- <span>${n("cron.jobs.sort")}</span>
221
- <select
222
- .value=${e.runsSortDir}
223
- @change=${o=>e.onRunsFiltersChange({cronRunsSortDir:o.target.value})}
224
- >
225
- <option value="desc">${n("cron.runs.newestFirst")}</option>
226
- <option value="asc">${n("cron.runs.oldestFirst")}</option>
227
- </select>
228
- </label>
229
- </div>
230
- <div class="cron-run-filters__row cron-run-filters__row--secondary">
231
- ${_({id:"status",title:n("cron.runs.status"),summary:J,options:b,selected:e.runsStatuses,onToggle:(o,h)=>{const A=j(e.runsStatuses,o,h);e.onRunsFiltersChange({cronRunsStatuses:A})},onClear:()=>{e.onRunsFiltersChange({cronRunsStatuses:[]})}})}
232
- ${_({id:"delivery",title:n("cron.runs.delivery"),summary:L,options:p,selected:e.runsDeliveryStatuses,onToggle:(o,h)=>{const A=j(e.runsDeliveryStatuses,o,h);e.onRunsFiltersChange({cronRunsDeliveryStatuses:A})},onClear:()=>{e.onRunsFiltersChange({cronRunsDeliveryStatuses:[]})}})}
233
- </div>
234
- </div>
235
- ${e.runsScope==="job"&&e.runsJobId==null?r`
236
- <div class="muted" style="margin-top: 12px">${n("cron.runs.selectJobHint")}</div>
237
- `:g.length===0?r`
238
- <div class="muted" style="margin-top: 12px">${n("cron.runs.noMatching")}</div>
239
- `:r`
240
- <div class="list" style="margin-top: 12px;">
241
- ${g.map(o=>ne(o,e.basePath,e.onNavigateToChat))}
242
- </div>
243
- `}
244
- ${(e.runsScope==="all"||e.runsJobId!=null)&&e.runsHasMore?r`
245
- <div class="row" style="margin-top: 12px">
246
- <button
247
- class="btn"
248
- ?disabled=${e.runsLoadingMore}
249
- @click=${e.onLoadMoreRuns}
250
- >
251
- ${e.runsLoadingMore?n("cron.jobs.loading"):n("cron.runs.loadMore")}
252
- </button>
253
- </div>
254
- `:a}
255
- </section>
256
- </div>
257
-
258
- <section class="card cron-workspace-form">
259
- <div class="card-title">${t?n("cron.form.editJob"):n("cron.form.newJob")}</div>
260
- <div class="card-sub">
261
- ${t?n("cron.form.updateSubtitle"):n("cron.form.createSubtitle")}
262
- </div>
263
- <div class="cron-form">
264
- <div class="cron-required-legend">
265
- <span class="cron-required-marker" aria-hidden="true">*</span> ${n("cron.form.required")}
266
- </div>
267
- <section class="cron-form-section">
268
- <div class="cron-form-section__title">${n("cron.form.basics")}</div>
269
- <div class="cron-form-section__sub">${n("cron.form.basicsSub")}</div>
270
- <div class="form-grid cron-form-grid">
271
- <label class="field">
272
- ${c(n("cron.form.fieldName"),!0)}
273
- <input
274
- id="cron-name"
275
- .value=${e.form.name}
276
- placeholder=${n("cron.form.namePlaceholder")}
277
- aria-invalid=${e.fieldErrors.name?"true":"false"}
278
- aria-describedby=${f(e.fieldErrors.name?u("name"):void 0)}
279
- @input=${o=>e.onFormChange({name:o.target.value})}
280
- />
281
- ${$(e.fieldErrors.name,u("name"))}
282
- </label>
283
- <label class="field">
284
- <span>${n("cron.form.description")}</span>
285
- <input
286
- .value=${e.form.description}
287
- placeholder=${n("cron.form.descriptionPlaceholder")}
288
- @input=${o=>e.onFormChange({description:o.target.value})}
289
- />
290
- </label>
291
- <label class="field">
292
- ${c(n("cron.form.agentId"))}
293
- <input
294
- id="cron-agent-id"
295
- .value=${e.form.agentId}
296
- list="cron-agent-suggestions"
297
- ?disabled=${e.form.clearAgent}
298
- @input=${o=>e.onFormChange({agentId:o.target.value})}
299
- placeholder=${n("cron.form.agentPlaceholder")}
300
- />
301
- <div class="cron-help">${n("cron.form.agentHelp")}</div>
302
- </label>
303
- <label class="field checkbox cron-checkbox cron-checkbox-inline">
304
- <input
305
- type="checkbox"
306
- .checked=${e.form.enabled}
307
- @change=${o=>e.onFormChange({enabled:o.target.checked})}
308
- />
309
- <span class="field-checkbox__label">${n("cron.summary.enabled")}</span>
310
- </label>
311
- </div>
312
- </section>
313
-
314
- <section class="cron-form-section">
315
- <div class="cron-form-section__title">${n("cron.form.schedule")}</div>
316
- <div class="cron-form-section__sub">${n("cron.form.scheduleSub")}</div>
317
- <div class="form-grid cron-form-grid">
318
- <label class="field cron-span-2">
319
- ${c(n("cron.form.schedule"))}
320
- <select
321
- id="cron-schedule-kind"
322
- .value=${e.form.scheduleKind}
323
- @change=${o=>e.onFormChange({scheduleKind:o.target.value})}
324
- >
325
- <option value="every">${n("cron.form.every")}</option>
326
- <option value="at">${n("cron.form.at")}</option>
327
- <option value="cron">${n("cron.form.cronOption")}</option>
328
- </select>
329
- </label>
330
- </div>
331
- ${W(e)}
332
- </section>
333
-
334
- <section class="cron-form-section">
335
- <div class="cron-form-section__title">${n("cron.form.execution")}</div>
336
- <div class="cron-form-section__sub">${n("cron.form.executionSub")}</div>
337
- <div class="form-grid cron-form-grid">
338
- <label class="field">
339
- ${c(n("cron.form.session"))}
340
- <select
341
- id="cron-session-target"
342
- .value=${e.form.sessionTarget}
343
- @change=${o=>e.onFormChange({sessionTarget:o.target.value})}
344
- >
345
- <option value="main">${n("cron.form.main")}</option>
346
- <option value="isolated">${n("cron.form.isolated")}</option>
347
- </select>
348
- <div class="cron-help">${n("cron.form.sessionHelp")}</div>
349
- </label>
350
- <label class="field">
351
- ${c(n("cron.form.wakeMode"))}
352
- <select
353
- id="cron-wake-mode"
354
- .value=${e.form.wakeMode}
355
- @change=${o=>e.onFormChange({wakeMode:o.target.value})}
356
- >
357
- <option value="now">${n("cron.form.now")}</option>
358
- <option value="next-heartbeat">${n("cron.form.nextHeartbeat")}</option>
359
- </select>
360
- <div class="cron-help">${n("cron.form.wakeModeHelp")}</div>
361
- </label>
362
- <label class="field ${l?"":"cron-span-2"}">
363
- ${c(n("cron.form.payloadKind"))}
364
- <select
365
- id="cron-payload-kind"
366
- .value=${e.form.payloadKind}
367
- @change=${o=>e.onFormChange({payloadKind:o.target.value})}
368
- >
369
- <option value="systemEvent">${n("cron.form.systemEvent")}</option>
370
- <option value="agentTurn">${n("cron.form.agentTurn")}</option>
371
- </select>
372
- <div class="cron-help">
373
- ${e.form.payloadKind==="systemEvent"?n("cron.form.systemEventHelp"):n("cron.form.agentTurnHelp")}
374
- </div>
375
- </label>
376
- ${l?r`
377
- <label class="field">
378
- ${c(n("cron.form.timeoutSeconds"))}
379
- <input
380
- id="cron-timeout-seconds"
381
- .value=${e.form.timeoutSeconds}
382
- placeholder=${n("cron.form.timeoutPlaceholder")}
383
- aria-invalid=${e.fieldErrors.timeoutSeconds?"true":"false"}
384
- aria-describedby=${f(e.fieldErrors.timeoutSeconds?u("timeoutSeconds"):void 0)}
385
- @input=${o=>e.onFormChange({timeoutSeconds:o.target.value})}
386
- />
387
- <div class="cron-help">${n("cron.form.timeoutHelp")}</div>
388
- ${$(e.fieldErrors.timeoutSeconds,u("timeoutSeconds"))}
389
- </label>
390
- `:a}
391
- </div>
392
- <label class="field cron-span-2">
393
- ${c(e.form.payloadKind==="systemEvent"?n("cron.form.mainTimelineMessage"):n("cron.form.assistantTaskPrompt"),!0)}
394
- <textarea
395
- id="cron-payload-text"
396
- .value=${e.form.payloadText}
397
- aria-invalid=${e.fieldErrors.payloadText?"true":"false"}
398
- aria-describedby=${f(e.fieldErrors.payloadText?u("payloadText"):void 0)}
399
- @input=${o=>e.onFormChange({payloadText:o.target.value})}
400
- rows="4"
401
- ></textarea>
402
- ${$(e.fieldErrors.payloadText,u("payloadText"))}
403
- </label>
404
- </section>
405
-
406
- <section class="cron-form-section">
407
- <div class="cron-form-section__title">${n("cron.form.deliverySection")}</div>
408
- <div class="cron-form-section__sub">${n("cron.form.deliverySub")}</div>
409
- <div class="form-grid cron-form-grid">
410
- <label class="field ${m==="none"?"cron-span-2":""}">
411
- ${c(n("cron.form.resultDelivery"))}
412
- <select
413
- id="cron-delivery-mode"
414
- .value=${m}
415
- @change=${o=>e.onFormChange({deliveryMode:o.target.value})}
416
- >
417
- ${x?r` <option value="announce">${n("cron.form.announceDefault")}</option> `:a}
418
- <option value="webhook">${n("cron.form.webhookPost")}</option>
419
- <option value="none">${n("cron.form.noneInternal")}</option>
420
- </select>
421
- <div class="cron-help">${n("cron.form.deliveryHelp")}</div>
422
- </label>
423
- ${m!=="none"?r`
424
- <label class="field ${m==="webhook"?"cron-span-2":""}">
425
- ${c(m==="webhook"?n("cron.form.webhookUrl"):n("cron.form.channel"),m==="webhook")}
426
- ${m==="webhook"?r`
427
- <input
428
- id="cron-delivery-to"
429
- .value=${e.form.deliveryTo}
430
- list="cron-delivery-to-suggestions"
431
- aria-invalid=${e.fieldErrors.deliveryTo?"true":"false"}
432
- aria-describedby=${f(e.fieldErrors.deliveryTo?u("deliveryTo"):void 0)}
433
- @input=${o=>e.onFormChange({deliveryTo:o.target.value})}
434
- placeholder=${n("cron.form.webhookPlaceholder")}
435
- />
436
- `:r`
437
- <select
438
- id="cron-delivery-channel"
439
- .value=${e.form.deliveryChannel||"last"}
440
- @change=${o=>e.onFormChange({deliveryChannel:o.target.value})}
441
- >
442
- ${d.map(o=>r`<option value=${o}>
443
- ${E(e,o)}
444
- </option>`)}
445
- </select>
446
- `}
447
- ${m==="announce"?r` <div class="cron-help">${n("cron.form.channelHelp")}</div> `:r` <div class="cron-help">${n("cron.form.webhookHelp")}</div> `}
448
- </label>
449
- ${m==="announce"?r`
450
- <label class="field cron-span-2">
451
- ${c(n("cron.form.to"))}
452
- <input
453
- id="cron-delivery-to"
454
- .value=${e.form.deliveryTo}
455
- list="cron-delivery-to-suggestions"
456
- @input=${o=>e.onFormChange({deliveryTo:o.target.value})}
457
- placeholder=${n("cron.form.toPlaceholder")}
458
- />
459
- <div class="cron-help">${n("cron.form.toHelp")}</div>
460
- </label>
461
- `:a}
462
- ${m==="webhook"?$(e.fieldErrors.deliveryTo,u("deliveryTo")):a}
463
- `:a}
464
- </div>
465
- </section>
466
-
467
- <details class="cron-advanced">
468
- <summary class="cron-advanced__summary">${n("cron.form.advanced")}</summary>
469
- <div class="cron-help">${n("cron.form.advancedHelp")}</div>
470
- <div class="form-grid cron-form-grid">
471
- <label class="field checkbox cron-checkbox">
472
- <input
473
- type="checkbox"
474
- .checked=${e.form.deleteAfterRun}
475
- @change=${o=>e.onFormChange({deleteAfterRun:o.target.checked})}
476
- />
477
- <span class="field-checkbox__label">${n("cron.form.deleteAfterRun")}</span>
478
- <div class="cron-help">${n("cron.form.deleteAfterRunHelp")}</div>
479
- </label>
480
- <label class="field checkbox cron-checkbox">
481
- <input
482
- type="checkbox"
483
- .checked=${e.form.clearAgent}
484
- @change=${o=>e.onFormChange({clearAgent:o.target.checked})}
485
- />
486
- <span class="field-checkbox__label">${n("cron.form.clearAgentOverride")}</span>
487
- <div class="cron-help">${n("cron.form.clearAgentHelp")}</div>
488
- </label>
489
- <label class="field cron-span-2">
490
- ${c("Session key")}
491
- <input
492
- id="cron-session-key"
493
- .value=${e.form.sessionKey}
494
- @input=${o=>e.onFormChange({sessionKey:o.target.value})}
495
- placeholder="agent:main:main"
496
- />
497
- <div class="cron-help">Optional routing key for job delivery and wake routing.</div>
498
- </label>
499
- ${i?r`
500
- <label class="field checkbox cron-checkbox cron-span-2">
501
- <input
502
- type="checkbox"
503
- .checked=${e.form.scheduleExact}
504
- @change=${o=>e.onFormChange({scheduleExact:o.target.checked})}
505
- />
506
- <span class="field-checkbox__label">${n("cron.form.exactTiming")}</span>
507
- <div class="cron-help">${n("cron.form.exactTimingHelp")}</div>
508
- </label>
509
- <div class="cron-stagger-group cron-span-2">
510
- <label class="field">
511
- ${c(n("cron.form.staggerWindow"))}
512
- <input
513
- id="cron-stagger-amount"
514
- .value=${e.form.staggerAmount}
515
- ?disabled=${e.form.scheduleExact}
516
- aria-invalid=${e.fieldErrors.staggerAmount?"true":"false"}
517
- aria-describedby=${f(e.fieldErrors.staggerAmount?u("staggerAmount"):void 0)}
518
- @input=${o=>e.onFormChange({staggerAmount:o.target.value})}
519
- placeholder=${n("cron.form.staggerPlaceholder")}
520
- />
521
- ${$(e.fieldErrors.staggerAmount,u("staggerAmount"))}
522
- </label>
523
- <label class="field">
524
- <span>${n("cron.form.staggerUnit")}</span>
525
- <select
526
- .value=${e.form.staggerUnit}
527
- ?disabled=${e.form.scheduleExact}
528
- @change=${o=>e.onFormChange({staggerUnit:o.target.value})}
529
- >
530
- <option value="seconds">${n("cron.form.seconds")}</option>
531
- <option value="minutes">${n("cron.form.minutes")}</option>
532
- </select>
533
- </label>
534
- </div>
535
- `:a}
536
- ${l?r`
537
- <label class="field cron-span-2">
538
- ${c("Account ID")}
539
- <input
540
- id="cron-delivery-account-id"
541
- .value=${e.form.deliveryAccountId}
542
- list="cron-delivery-account-suggestions"
543
- ?disabled=${m!=="announce"}
544
- @input=${o=>e.onFormChange({deliveryAccountId:o.target.value})}
545
- placeholder="default"
546
- />
547
- <div class="cron-help">
548
- Optional channel account ID for multi-account setups.
549
- </div>
550
- </label>
551
- <label class="field checkbox cron-checkbox cron-span-2">
552
- <input
553
- type="checkbox"
554
- .checked=${e.form.payloadLightContext}
555
- @change=${o=>e.onFormChange({payloadLightContext:o.target.checked})}
556
- />
557
- <span class="field-checkbox__label">Light context</span>
558
- <div class="cron-help">
559
- Use lightweight bootstrap context for this agent job.
560
- </div>
561
- </label>
562
- <label class="field">
563
- ${c(n("cron.form.model"))}
564
- <input
565
- id="cron-payload-model"
566
- .value=${e.form.payloadModel}
567
- list="cron-model-suggestions"
568
- @input=${o=>e.onFormChange({payloadModel:o.target.value})}
569
- placeholder=${n("cron.form.modelPlaceholder")}
570
- />
571
- <div class="cron-help">${n("cron.form.modelHelp")}</div>
572
- </label>
573
- <label class="field">
574
- ${c(n("cron.form.thinking"))}
575
- <input
576
- id="cron-payload-thinking"
577
- .value=${e.form.payloadThinking}
578
- list="cron-thinking-suggestions"
579
- @input=${o=>e.onFormChange({payloadThinking:o.target.value})}
580
- placeholder=${n("cron.form.thinkingPlaceholder")}
581
- />
582
- <div class="cron-help">${n("cron.form.thinkingHelp")}</div>
583
- </label>
584
- `:a}
585
- ${l?r`
586
- <label class="field cron-span-2">
587
- ${c("Failure alerts")}
588
- <select
589
- .value=${e.form.failureAlertMode}
590
- @change=${o=>e.onFormChange({failureAlertMode:o.target.value})}
591
- >
592
- <option value="inherit">Inherit global setting</option>
593
- <option value="disabled">Disable for this job</option>
594
- <option value="custom">Custom per-job settings</option>
595
- </select>
596
- <div class="cron-help">
597
- Control when this job sends repeated-failure alerts.
598
- </div>
599
- </label>
600
- ${e.form.failureAlertMode==="custom"?r`
601
- <label class="field">
602
- ${c("Alert after")}
603
- <input
604
- id="cron-failure-alert-after"
605
- .value=${e.form.failureAlertAfter}
606
- aria-invalid=${e.fieldErrors.failureAlertAfter?"true":"false"}
607
- aria-describedby=${f(e.fieldErrors.failureAlertAfter?u("failureAlertAfter"):void 0)}
608
- @input=${o=>e.onFormChange({failureAlertAfter:o.target.value})}
609
- placeholder="2"
610
- />
611
- <div class="cron-help">Consecutive errors before alerting.</div>
612
- ${$(e.fieldErrors.failureAlertAfter,u("failureAlertAfter"))}
613
- </label>
614
- <label class="field">
615
- ${c("Cooldown (seconds)")}
616
- <input
617
- id="cron-failure-alert-cooldown-seconds"
618
- .value=${e.form.failureAlertCooldownSeconds}
619
- aria-invalid=${e.fieldErrors.failureAlertCooldownSeconds?"true":"false"}
620
- aria-describedby=${f(e.fieldErrors.failureAlertCooldownSeconds?u("failureAlertCooldownSeconds"):void 0)}
621
- @input=${o=>e.onFormChange({failureAlertCooldownSeconds:o.target.value})}
622
- placeholder="3600"
623
- />
624
- <div class="cron-help">Minimum seconds between alerts.</div>
625
- ${$(e.fieldErrors.failureAlertCooldownSeconds,u("failureAlertCooldownSeconds"))}
626
- </label>
627
- <label class="field">
628
- ${c("Alert channel")}
629
- <select
630
- .value=${e.form.failureAlertChannel||"last"}
631
- @change=${o=>e.onFormChange({failureAlertChannel:o.target.value})}
632
- >
633
- ${d.map(o=>r`<option value=${o}>
634
- ${E(e,o)}
635
- </option>`)}
636
- </select>
637
- </label>
638
- <label class="field">
639
- ${c("Alert to")}
640
- <input
641
- .value=${e.form.failureAlertTo}
642
- list="cron-delivery-to-suggestions"
643
- @input=${o=>e.onFormChange({failureAlertTo:o.target.value})}
644
- placeholder="+1555... or chat id"
645
- />
646
- <div class="cron-help">
647
- Optional recipient override for failure alerts.
648
- </div>
649
- </label>
650
- <label class="field">
651
- ${c("Alert mode")}
652
- <select
653
- .value=${e.form.failureAlertDeliveryMode||"announce"}
654
- @change=${o=>e.onFormChange({failureAlertDeliveryMode:o.target.value})}
655
- >
656
- <option value="announce">Announce (via channel)</option>
657
- <option value="webhook">Webhook (HTTP POST)</option>
658
- </select>
659
- </label>
660
- <label class="field">
661
- ${c("Alert account ID")}
662
- <input
663
- .value=${e.form.failureAlertAccountId}
664
- @input=${o=>e.onFormChange({failureAlertAccountId:o.target.value})}
665
- placeholder="Account ID for multi-account setups"
666
- />
667
- </label>
668
- `:a}
669
- `:a}
670
- ${m!=="none"?r`
671
- <label class="field checkbox cron-checkbox cron-span-2">
672
- <input
673
- type="checkbox"
674
- .checked=${e.form.deliveryBestEffort}
675
- @change=${o=>e.onFormChange({deliveryBestEffort:o.target.checked})}
676
- />
677
- <span class="field-checkbox__label"
678
- >${n("cron.form.bestEffortDelivery")}</span
679
- >
680
- <div class="cron-help">${n("cron.form.bestEffortHelp")}</div>
681
- </label>
682
- `:a}
683
- </div>
684
- </details>
685
- </div>
686
- ${w?r`
687
- <div class="cron-form-status" role="status" aria-live="polite">
688
- <div class="cron-form-status__title">${n("cron.form.cantAddYet")}</div>
689
- <div class="cron-help">${n("cron.form.fillRequired")}</div>
690
- <ul class="cron-form-status__list">
691
- ${k.map(o=>r`
692
- <li>
693
- <button
694
- type="button"
695
- class="cron-form-status__link"
696
- @click=${()=>Q(o.inputId)}
697
- >
698
- ${o.label}: ${n(o.message)}
699
- </button>
700
- </li>
701
- `)}
702
- </ul>
703
- </div>
704
- `:a}
705
- <div class="row cron-form-actions">
706
- <button
707
- class="btn primary"
708
- ?disabled=${e.busy||!e.canSubmit}
709
- @click=${e.onAdd}
710
- >
711
- ${e.busy?n("cron.form.saving"):t?n("cron.form.saveChanges"):n("cron.form.addJob")}
712
- </button>
713
- ${C?r`<div class="cron-submit-reason" aria-live="polite">${C}</div>`:a}
714
- ${t?r`
715
- <button class="btn" ?disabled=${e.busy} @click=${e.onCancelEdit}>
716
- ${n("cron.form.cancel")}
717
- </button>
718
- `:a}
719
- </div>
720
- </section>
721
- </section>
722
-
723
- ${y("cron-agent-suggestions",e.agentSuggestions)}
724
- ${y("cron-model-suggestions",e.modelSuggestions)}
725
- ${y("cron-thinking-suggestions",e.thinkingSuggestions)}
726
- ${y("cron-tz-suggestions",e.timezoneSuggestions)}
727
- ${y("cron-delivery-to-suggestions",e.deliveryToSuggestions)}
728
- ${y("cron-delivery-account-suggestions",e.accountSuggestions)}
729
- `}function W(e){const t=e.form;return t.scheduleKind==="at"?r`
730
- <label class="field cron-span-2" style="margin-top: 12px;">
731
- ${c(n("cron.form.runAt"),!0)}
732
- <input
733
- id="cron-schedule-at"
734
- type="datetime-local"
735
- .value=${t.scheduleAt}
736
- aria-invalid=${e.fieldErrors.scheduleAt?"true":"false"}
737
- aria-describedby=${f(e.fieldErrors.scheduleAt?u("scheduleAt"):void 0)}
738
- @input=${l=>e.onFormChange({scheduleAt:l.target.value})}
739
- />
740
- ${$(e.fieldErrors.scheduleAt,u("scheduleAt"))}
741
- </label>
742
- `:t.scheduleKind==="every"?r`
743
- <div class="form-grid cron-form-grid" style="margin-top: 12px;">
744
- <label class="field">
745
- ${c(n("cron.form.every"),!0)}
746
- <input
747
- id="cron-every-amount"
748
- .value=${t.everyAmount}
749
- aria-invalid=${e.fieldErrors.everyAmount?"true":"false"}
750
- aria-describedby=${f(e.fieldErrors.everyAmount?u("everyAmount"):void 0)}
751
- @input=${l=>e.onFormChange({everyAmount:l.target.value})}
752
- placeholder=${n("cron.form.everyAmountPlaceholder")}
753
- />
754
- ${$(e.fieldErrors.everyAmount,u("everyAmount"))}
755
- </label>
756
- <label class="field">
757
- <span>${n("cron.form.unit")}</span>
758
- <select
759
- .value=${t.everyUnit}
760
- @change=${l=>e.onFormChange({everyUnit:l.target.value})}
761
- >
762
- <option value="minutes">${n("cron.form.minutes")}</option>
763
- <option value="hours">${n("cron.form.hours")}</option>
764
- <option value="days">${n("cron.form.days")}</option>
765
- </select>
766
- </label>
767
- </div>
768
- `:r`
769
- <div class="form-grid cron-form-grid" style="margin-top: 12px;">
770
- <label class="field">
771
- ${c(n("cron.form.expression"),!0)}
772
- <input
773
- id="cron-cron-expr"
774
- .value=${t.cronExpr}
775
- aria-invalid=${e.fieldErrors.cronExpr?"true":"false"}
776
- aria-describedby=${f(e.fieldErrors.cronExpr?u("cronExpr"):void 0)}
777
- @input=${l=>e.onFormChange({cronExpr:l.target.value})}
778
- placeholder=${n("cron.form.expressionPlaceholder")}
779
- />
780
- ${$(e.fieldErrors.cronExpr,u("cronExpr"))}
781
- </label>
782
- <label class="field">
783
- <span>${n("cron.form.timezoneOptional")}</span>
784
- <input
785
- .value=${t.cronTz}
786
- list="cron-tz-suggestions"
787
- @input=${l=>e.onFormChange({cronTz:l.target.value})}
788
- placeholder=${n("cron.form.timezonePlaceholder")}
789
- />
790
- <div class="cron-help">${n("cron.form.timezoneHelp")}</div>
791
- </label>
792
- <div class="cron-help cron-span-2">${n("cron.form.jitterHelp")}</div>
793
- </div>
794
- `}function $(e,t){return e?r`<div id=${f(t)} class="cron-help cron-error">${n(e)}</div>`:a}function V(e,t){const i=`list-item list-item-clickable cron-job${t.runsJobId===e.id?" list-item-selected":""}`,d=s=>{t.onLoadRuns(e.id),s()};return r`
795
- <div class=${i} @click=${()=>t.onLoadRuns(e.id)}>
796
- <div class="list-main">
797
- <div class="list-title">${e.name}</div>
798
- <div class="list-sub">${K(e)}</div>
799
- ${Y(e)}
800
- ${e.agentId?r`<div class="muted cron-job-agent">
801
- ${n("cron.jobDetail.agent")}: ${e.agentId}
802
- </div>`:a}
803
- </div>
804
- <div class="list-meta">${X(e)}</div>
805
- <div class="cron-job-footer">
806
- <div class="chip-row cron-job-chips">
807
- <span class=${`chip ${e.enabled?"chip-ok":"chip-danger"}`}>
808
- ${e.enabled?n("cron.jobList.enabled"):n("cron.jobList.disabled")}
809
- </span>
810
- <span class="chip">${e.sessionTarget}</span>
811
- <span class="chip">${e.wakeMode}</span>
812
- </div>
813
- <div class="row cron-job-actions">
814
- <button
815
- class="btn"
816
- ?disabled=${t.busy}
817
- @click=${s=>{s.stopPropagation(),d(()=>t.onEdit(e))}}
818
- >
819
- ${n("cron.jobList.edit")}
820
- </button>
821
- <button
822
- class="btn"
823
- ?disabled=${t.busy}
824
- @click=${s=>{s.stopPropagation(),d(()=>t.onClone(e))}}
825
- >
826
- ${n("cron.jobList.clone")}
827
- </button>
828
- <button
829
- class="btn"
830
- ?disabled=${t.busy}
831
- @click=${s=>{s.stopPropagation(),d(()=>t.onToggle(e,!e.enabled))}}
832
- >
833
- ${e.enabled?n("cron.jobList.disable"):n("cron.jobList.enable")}
834
- </button>
835
- <button
836
- class="btn"
837
- ?disabled=${t.busy}
838
- @click=${s=>{s.stopPropagation(),d(()=>t.onRun(e,"force"))}}
839
- >
840
- ${n("cron.jobList.run")}
841
- </button>
842
- <button
843
- class="btn"
844
- ?disabled=${t.busy}
845
- @click=${s=>{s.stopPropagation(),d(()=>t.onRun(e,"due"))}}
846
- >
847
- Run if due
848
- </button>
849
- <button
850
- class="btn"
851
- ?disabled=${t.busy}
852
- @click=${s=>{s.stopPropagation(),t.onLoadRuns(e.id)}}
853
- >
854
- ${n("cron.jobList.history")}
855
- </button>
856
- <button
857
- class="btn danger"
858
- ?disabled=${t.busy}
859
- @click=${s=>{s.stopPropagation(),d(()=>t.onRemove(e))}}
860
- >
861
- ${n("cron.jobList.remove")}
862
- </button>
863
- </div>
864
- </div>
865
- </div>
866
- `}function Y(e){if(e.payload.kind==="systemEvent")return r`<div class="cron-job-detail">
867
- <span class="cron-job-detail-label">${n("cron.jobDetail.system")}</span>
868
- <span class="muted cron-job-detail-value">${e.payload.text}</span>
869
- </div>`;const t=e.delivery,l=t?.mode==="webhook"?t.to?` (${t.to})`:"":t?.channel||t?.to?` (${t.channel??"last"}${t.to?` -> ${t.to}`:""})`:"";return r`
870
- <div class="cron-job-detail">
871
- <span class="cron-job-detail-label">${n("cron.jobDetail.prompt")}</span>
872
- <span class="muted cron-job-detail-value">${e.payload.message}</span>
873
- </div>
874
- ${t?r`<div class="cron-job-detail">
875
- <span class="cron-job-detail-label">${n("cron.jobDetail.delivery")}</span>
876
- <span class="muted cron-job-detail-value">${t.mode}${l}</span>
877
- </div>`:a}
878
- `}function T(e){return typeof e!="number"||!Number.isFinite(e)?n("common.na"):R(e)}function G(e,t=Date.now()){const l=R(e);return e>t?n("cron.runEntry.next",{rel:l}):n("cron.runEntry.due",{rel:l})}function X(e){const t=e.state?.lastStatus,l=t==="ok"?"cron-job-status-ok":t==="error"?"cron-job-status-error":t==="skipped"?"cron-job-status-skipped":"cron-job-status-na",i=t==="ok"?n("cron.runs.runStatusOk"):t==="error"?n("cron.runs.runStatusError"):t==="skipped"?n("cron.runs.runStatusSkipped"):n("common.na"),d=e.state?.nextRunAtMs,s=e.state?.lastRunAtMs;return r`
879
- <div class="cron-job-state">
880
- <div class="cron-job-state-row">
881
- <span class="cron-job-state-key">${n("cron.jobState.status")}</span>
882
- <span class=${`cron-job-status-pill ${l}`}>${i}</span>
883
- </div>
884
- <div class="cron-job-state-row">
885
- <span class="cron-job-state-key">${n("cron.jobState.next")}</span>
886
- <span class="cron-job-state-value" title=${S(d)}>
887
- ${T(d)}
888
- </span>
889
- </div>
890
- <div class="cron-job-state-row">
891
- <span class="cron-job-state-key">${n("cron.jobState.last")}</span>
892
- <span class="cron-job-state-value" title=${S(s)}>
893
- ${T(s)}
894
- </span>
895
- </div>
896
- </div>
897
- `}function Z(e){switch(e){case"ok":return n("cron.runs.runStatusOk");case"error":return n("cron.runs.runStatusError");case"skipped":return n("cron.runs.runStatusSkipped");default:return n("cron.runs.runStatusUnknown")}}function ee(e){switch(e){case"delivered":return n("cron.runs.deliveryDelivered");case"not-delivered":return n("cron.runs.deliveryNotDelivered");case"not-requested":return n("cron.runs.deliveryNotRequested");case"unknown":return n("cron.runs.deliveryUnknown");default:return n("cron.runs.deliveryUnknown")}}function ne(e,t,l){const i=typeof e.sessionKey=="string"&&e.sessionKey.trim().length>0?`${H("chat",t)}?session=${encodeURIComponent(e.sessionKey)}`:null,d=Z(e.status??"unknown"),s=ee(e.deliveryStatus??"not-requested"),v=e.usage,g=v&&typeof v.total_tokens=="number"?`${v.total_tokens} tokens`:v&&typeof v.input_tokens=="number"&&typeof v.output_tokens=="number"?`${v.input_tokens} in / ${v.output_tokens} out`:null;return r`
898
- <div class="list-item cron-run-entry">
899
- <div class="list-main cron-run-entry__main">
900
- <div class="list-title cron-run-entry__title">
901
- ${e.jobName??e.jobId}
902
- <span class="muted"> · ${d}</span>
903
- </div>
904
- <div class="list-sub cron-run-entry__summary">
905
- ${e.summary??e.error??n("cron.runEntry.noSummary")}
906
- </div>
907
- <div class="chip-row" style="margin-top: 6px;">
908
- <span class="chip">${s}</span>
909
- ${e.model?r`<span class="chip">${e.model}</span>`:a}
910
- ${e.provider?r`<span class="chip">${e.provider}</span>`:a}
911
- ${g?r`<span class="chip">${g}</span>`:a}
912
- </div>
913
- </div>
914
- <div class="list-meta cron-run-entry__meta">
915
- <div>${S(e.ts)}</div>
916
- ${typeof e.runAtMs=="number"?r`<div class="muted">${n("cron.runEntry.runAt")} ${S(e.runAtMs)}</div>`:a}
917
- <div class="muted">${e.durationMs??0}ms</div>
918
- ${typeof e.nextRunAtMs=="number"?r`<div class="muted">${G(e.nextRunAtMs)}</div>`:a}
919
- ${i?r`<div>
920
- <a
921
- class="session-link"
922
- href=${i}
923
- @click=${b=>{b.defaultPrevented||b.button!==0||b.metaKey||b.ctrlKey||b.shiftKey||b.altKey||l&&e.sessionKey&&(b.preventDefault(),l(e.sessionKey))}}
924
- >${n("cron.runEntry.openRunChat")}</a
925
- >
926
- </div>`:a}
927
- ${e.error?r`<div class="muted">${e.error}</div>`:a}
928
- ${e.deliveryError?r`<div class="muted">${e.deliveryError}</div>`:a}
929
- </div>
930
- </div>
931
- `}export{te as renderCron};
932
- //# sourceMappingURL=cron-DYyEm1jm.js.map