@pixelzx/genesis 2026.5.9-1 → 2026.5.9-2

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 (1975) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-0CA8dLfb.js +201 -0
  4. package/dist/abort-cutoff.runtime-DLrSrIKj.js +20 -0
  5. package/dist/abort-cutoff.runtime.js +1 -1
  6. package/dist/abort.runtime-CZs24Rqo.js +2 -0
  7. package/dist/abort.runtime.js +1 -1
  8. package/dist/accounts-B4zJe0Yq.js +104 -0
  9. package/dist/accounts-BLjPr3cU.js +2 -0
  10. package/dist/accounts-CvvmJTMr.js +107 -0
  11. package/dist/acp-cli-CLEGmnZG.js +2193 -0
  12. package/dist/acp-spawn-3sot_ro5.js +1093 -0
  13. package/dist/acp-spawn-Ssi3CAga.js +2 -0
  14. package/dist/acp-stateful-target-driver-BLAHVVvA.js +89 -0
  15. package/dist/action-agents-Dq0xDTDy.js +67 -0
  16. package/dist/action-focus-BcCDHjpm.js +132 -0
  17. package/dist/action-help-Dv0F-uYd.js +7 -0
  18. package/dist/action-info-DrvJBtYv.js +101 -0
  19. package/dist/action-kill-C0ctDBN6.js +33 -0
  20. package/dist/action-list-ifQSDER2.js +21 -0
  21. package/dist/action-log-DigSwoBN.js +30 -0
  22. package/dist/action-send-Fgxgzr1G.js +39 -0
  23. package/dist/action-spawn-CQ9o7O-c.js +47 -0
  24. package/dist/action-unfocus-CTw5MONo.js +29 -0
  25. package/dist/actions.runtime-C48NraIV.js +5 -0
  26. package/dist/actions.runtime-vPuYQMEP.js +18 -0
  27. package/dist/actions.runtime.js +1 -1
  28. package/dist/agent-DcF3DIOY.js +2 -0
  29. package/dist/agent-command-DFciA5wB.js +874 -0
  30. package/dist/agent-harness-runtime-DYaAPdEV.js +144 -0
  31. package/dist/agent-runner-utils-Mk9b9UU9.js +239 -0
  32. package/dist/agent-runner.runtime-BjFjcCHV.js +3455 -0
  33. package/dist/agent-runner.runtime.js +1 -1
  34. package/dist/agent-runtime-BMldiM3Y.js +18 -0
  35. package/dist/agents-CWjPyPsv.js +5 -0
  36. package/dist/agents-DVeZakyc.js +954 -0
  37. package/dist/agents.bindings-DIEj_i2u.js +2 -0
  38. package/dist/agents.command-shared-Dnz5T0nf.js +40 -0
  39. package/dist/aliases-BurIDhAz.js +96 -0
  40. package/dist/aliases-DRf5QKLd.js +2 -0
  41. package/dist/api-1odKgvPw.js +3 -0
  42. package/dist/api-B4QoV66o.js +4 -0
  43. package/dist/api-BVv3GELU.js +5 -0
  44. package/dist/api-CLi_q8yx.js +48 -0
  45. package/dist/api-DpTBPGPX.js +139 -0
  46. package/dist/apply-BTVGkXcq.js +508 -0
  47. package/dist/apply.runtime-CGa1bc-F.js +166 -0
  48. package/dist/apply.runtime-CMLd-Aow.js +2 -0
  49. package/dist/apply.runtime.js +1 -1
  50. package/dist/approval-gateway-resolver-9vElgdEH.js +29 -0
  51. package/dist/approval-gateway-runtime-BcR8gXqU.js +2 -0
  52. package/dist/approval-handler-runtime-BI7BobM2.js +439 -0
  53. package/dist/approval-native-runtime-Bz8Vy_5G.js +729 -0
  54. package/dist/assistant-identity-BamJmF6s.js +74 -0
  55. package/dist/attempt-execution.runtime-CCpDCgeC.js +509 -0
  56. package/dist/attempt-execution.runtime.js +1 -1
  57. package/dist/attempt-execution.shared-tYK6f1sA.js +22 -0
  58. package/dist/attempt.prompt-helpers-BD2qLk94.js +221 -0
  59. package/dist/attempt.tool-run-context-CVbNUM9c.js +933 -0
  60. package/dist/audit-D_CSTjWR.js +939 -0
  61. package/dist/audit-channel.collect.runtime.js +1 -1
  62. package/dist/audit-extra.async-wruNJd57.js +971 -0
  63. package/dist/audit-tool-policy-B9AcZJql.js +3 -0
  64. package/dist/audit.deep.runtime-D4eXtoCF.js +2 -0
  65. package/dist/audit.deep.runtime.js +1 -1
  66. package/dist/audit.nondeep.runtime--FJmBA_w.js +880 -0
  67. package/dist/audit.nondeep.runtime.js +1 -1
  68. package/dist/audit.runtime-D2oypbTV.js +7 -0
  69. package/dist/audit.runtime.js +1 -1
  70. package/dist/auth-CAY7RIm5.js +2 -0
  71. package/dist/auth-CRl0U5WO.js +383 -0
  72. package/dist/auth-choice-BWpQV6PB.js +3 -0
  73. package/dist/auth-choice-C44XKsb9.js +354 -0
  74. package/dist/auth-choice-CgtXS0UY.js +85 -0
  75. package/dist/auth-choice-inference-HLapN0yl.js +30 -0
  76. package/dist/auth-choice-legacy--d5CxMYA.js +2 -0
  77. package/dist/auth-choice-legacy-BiaOGRSa.js +40 -0
  78. package/dist/auth-choice-options-CxxsZ9AS.js +99 -0
  79. package/dist/auth-choice-prompt-Bs5HdLZo.js +2 -0
  80. package/dist/auth-choice-prompt-CIbZkP3q.js +37 -0
  81. package/dist/auth-choice.apply.api-providers-DFs_Hb7e.js +2 -0
  82. package/dist/auth-choice.plugin-providers.runtime.js +1 -1
  83. package/dist/auth-install-policy-D2XRHYp_.js +195 -0
  84. package/dist/auth-lp2EMTMM.js +177 -0
  85. package/dist/auth-order-CkBahFe_.js +96 -0
  86. package/dist/auth-order-CseGI6QD.js +2 -0
  87. package/dist/auth-sU9QFM3_.js +56 -0
  88. package/dist/backup-verify-B-Uoj-15.js +2 -0
  89. package/dist/bash-tools-Br73otxW.js +2824 -0
  90. package/dist/bash-tools-D8b6lPnl.js +3 -0
  91. package/dist/bash-tools.exec-runtime-C4MO_tR3.js +829 -0
  92. package/dist/binding-routing-_1GxTJvW.js +85 -0
  93. package/dist/binding-targets-BZi7Eaky.js +121 -0
  94. package/dist/bonjour-discovery-bYgCDFiV.js +2 -0
  95. package/dist/bridge-server-Z8a6wG_a.js +113 -0
  96. package/dist/browser-control-auth-b0i_ogzs.js +2 -0
  97. package/dist/browser-node-runtime-DIn0vNQP.js +12 -0
  98. package/dist/browser-profiles-RRJksKtC.js +2 -0
  99. package/dist/browser-runtime-CRmjM_eN.js +387 -0
  100. package/dist/browser-setup-tools-DfljsIaS.js +13 -0
  101. package/dist/build-BTY-zmOn.js +550 -0
  102. package/dist/build-info.json +3 -3
  103. package/dist/bundled/boot-md/handler.js +3 -3
  104. package/dist/bundled/session-memory/handler.js +1 -1
  105. package/dist/bundled-plugin-load-paths-BhceQF7C.js +2 -0
  106. package/dist/bundled-plugin-load-paths-ZWKh-Qtt.js +110 -0
  107. package/dist/call-83wQ4RK2.js +3 -0
  108. package/dist/call-CNGUHA4E.js +331 -0
  109. package/dist/call.runtime-BoeU6HlD.js +2 -0
  110. package/dist/call.runtime.js +1 -1
  111. package/dist/capability-cli-CjXZtiAN.js +1401 -0
  112. package/dist/catalog-provider-hbPYCIHb.js +40 -0
  113. package/dist/catchup-fi0A0X6G.js +300 -0
  114. package/dist/channel-BCyBYEZw.js +491 -0
  115. package/dist/channel-BollE3fK.js +226 -0
  116. package/dist/channel-C4iJHasO.js +1174 -0
  117. package/dist/channel-CZj1GE6c.js +350 -0
  118. package/dist/channel-DSf_WWeM.js +453 -0
  119. package/dist/channel-DZ1WMqes.js +297 -0
  120. package/dist/channel-Djz_Jz-P.js +1320 -0
  121. package/dist/channel-Vl5tW4wj.js +840 -0
  122. package/dist/channel-aCMKD2EU.js +595 -0
  123. package/dist/channel-add-wizard-CyaqyoMI.js +125 -0
  124. package/dist/channel-add-wizard-DBnqJQ7p.js +2 -0
  125. package/dist/channel-core-o2ga4Mn-.js +5 -0
  126. package/dist/channel-doctor-Bm067ZZ3.js +2 -0
  127. package/dist/channel-inbound-6EfM36fi.js +31 -0
  128. package/dist/channel-oGSbONXx.js +1100 -0
  129. package/dist/channel-plugin-resolution-7SkSLEid.js +2 -0
  130. package/dist/channel-plugin-resolution-D4rtoY6H.js +153 -0
  131. package/dist/channel-plugin-runtime-DDWX5ddg.js +771 -0
  132. package/dist/channel-runtime-BtLIK1S8.js +425 -0
  133. package/dist/channel-selection.runtime.js +1 -1
  134. package/dist/channel-setup-zPxdbm4p.js +1297 -0
  135. package/dist/channel-v7Nf8_kK.js +1802 -0
  136. package/dist/channel.runtime-1NdLQuo5.js +576 -0
  137. package/dist/channel.runtime-BXuA38HL.js +430 -0
  138. package/dist/channel.runtime-BZznmhpw.js +89 -0
  139. package/dist/channel.runtime-BcbP0aUr.js +2364 -0
  140. package/dist/channel.runtime-Cn9YkO17.js +109 -0
  141. package/dist/channel.runtime-sHzdaLSR.js +34702 -0
  142. package/dist/channel.runtime-u6CglHXP.js +4 -0
  143. package/dist/channel.runtime.js +1 -1
  144. package/dist/channel.setup-CQPT27he.js +10 -0
  145. package/dist/channels-Ca_GeBCA.js +733 -0
  146. package/dist/channels-cli-CYiAFi2L.js +268 -0
  147. package/dist/chat-B0obqfrE.js +2830 -0
  148. package/dist/chrome-Dmg8rOOy.js +1430 -0
  149. package/dist/clawbot-cli-D-wsbybZ.js +9 -0
  150. package/dist/clawhub-Bw_oroJ9.js +400 -0
  151. package/dist/cli/daemon-cli.js +4 -4
  152. package/dist/cli-Cjg5FoK6.js +3726 -0
  153. package/dist/cli-D7FnZRhN.js +72 -0
  154. package/dist/cli-DTzACUJ5.js +2 -0
  155. package/dist/cli-DVF0lmSY.js +683 -0
  156. package/dist/cli-DdosPr5g.js +2 -0
  157. package/dist/cli-DgBnKpnx.js +219 -0
  158. package/dist/cli-DlpFMnDe.js +154 -0
  159. package/dist/cli-okIxAXmr.js +2 -0
  160. package/dist/cli-runner-BYpLWLGt.js +286 -0
  161. package/dist/cli-runner.runtime-B7YAJHpe.js +3 -0
  162. package/dist/cli-runner.runtime-CJYMKi2e.js +4 -0
  163. package/dist/cli-runner.runtime.js +1 -1
  164. package/dist/cli-startup-metadata.json +2 -2
  165. package/dist/cli.runtime-BiQiuGK8.js +1261 -0
  166. package/dist/cli.runtime.js +1 -1
  167. package/dist/client-BR4n6hNI.js +713 -0
  168. package/dist/client-Cf24VXFt.js +138 -0
  169. package/dist/command-auth-ZFNGVZ1l.js +76 -0
  170. package/dist/command-config-resolution-CCxM48fG.js +23 -0
  171. package/dist/command-config-resolution-DZ8NuYpb.js +2 -0
  172. package/dist/command-config-resolution.runtime-y20A7eoR.js +2 -0
  173. package/dist/command-config-resolution.runtime.js +1 -1
  174. package/dist/command-execution-startup-C1Ev3Qnf.js +324 -0
  175. package/dist/command-registry-Cp0-uBvD.js +4 -0
  176. package/dist/command-registry-CroYLrbJ.js +9 -0
  177. package/dist/command-registry-core-DztPKtJK.js +101 -0
  178. package/dist/command-secret-gateway-C0FsXiNU.js +528 -0
  179. package/dist/command-status.runtime-BpBrSGUJ.js +87 -0
  180. package/dist/command-status.runtime.js +1 -1
  181. package/dist/commands-acp-B61b7ved.js +77 -0
  182. package/dist/commands-compact.runtime-BAdDkvwj.js +10 -0
  183. package/dist/commands-compact.runtime.js +1 -1
  184. package/dist/commands-core.runtime-DiHWuAG7.js +2 -0
  185. package/dist/commands-core.runtime.js +1 -1
  186. package/dist/commands-handlers.runtime-ChdtbbaM.js +4597 -0
  187. package/dist/commands-handlers.runtime.js +1 -1
  188. package/dist/commands-reset-hooks-Bo9O3p_A.js +133 -0
  189. package/dist/commands-status-CeLNHPM0.js +16 -0
  190. package/dist/commands-status.runtime-D_Vp1X5_.js +3 -0
  191. package/dist/commands-status.runtime.js +1 -1
  192. package/dist/commands-subagents-control.runtime-C33ckfAv.js +2 -0
  193. package/dist/commands-subagents-control.runtime-D4DhHEiT.js +3 -0
  194. package/dist/commands-subagents-control.runtime.js +1 -1
  195. package/dist/commands-system-prompt-COv58JTi.js +158 -0
  196. package/dist/commands-system-prompt-HKOihaLK.js +2 -0
  197. package/dist/commands.runtime-h71EVKOi.js +166 -0
  198. package/dist/commands.runtime.js +1 -1
  199. package/dist/compact-BrCra5F3.js +1118 -0
  200. package/dist/compact.runtime-C6SrtJTz.js +12 -0
  201. package/dist/compact.runtime.js +1 -1
  202. package/dist/completion-cli-BX2HZrZU.js +328 -0
  203. package/dist/config-BFLj-fNN.js +252 -0
  204. package/dist/config-cli-ygapqOMa.js +1078 -0
  205. package/dist/config-guard-CoUcOZzd.js +96 -0
  206. package/dist/config-runtime-CLrwW_R_.js +32 -0
  207. package/dist/configure-Bl4YQ3CH.js +2 -0
  208. package/dist/configure-D16Few58.js +1252 -0
  209. package/dist/connect-options-BhC5UQTi.js +699 -0
  210. package/dist/control-auth-DNFuULZ1.js +125 -0
  211. package/dist/control-service-UtrnNZR4.js +156 -0
  212. package/dist/control-ui/assets/agents-DvMlgG1V.js +1052 -0
  213. package/dist/control-ui/assets/canvas-n9LriwKt.js +269 -0
  214. package/dist/control-ui/assets/channels-DiFCgzI2.js +463 -0
  215. package/dist/control-ui/assets/cron-BPgeIAkW.js +933 -0
  216. package/dist/control-ui/assets/debug-DW6L_hJj.js +94 -0
  217. package/dist/control-ui/assets/index-LsGgCPs6.js +6359 -0
  218. package/dist/control-ui/assets/instances-CvJ3A1Hk.js +57 -0
  219. package/dist/control-ui/assets/nodes-WvplPOYf.js +436 -0
  220. package/dist/control-ui/assets/plugins-Bu6UEyqM.js +273 -0
  221. package/dist/control-ui/assets/sessions-CMg95Rmr.js +306 -0
  222. package/dist/control-ui/assets/skills-XJc5GCFP.js +323 -0
  223. package/dist/control-ui/assets/wallet-Cw-Xn1wM.js +199 -0
  224. package/dist/control-ui/index.html +1 -1
  225. package/dist/control-ui-DfR_528y.js +1043 -0
  226. package/dist/conversation-id-C8dzBOdB.js +38 -0
  227. package/dist/conversation-id-CsqecVo_.js +235 -0
  228. package/dist/conversation-runtime-nAoayMyf.js +31 -0
  229. package/dist/core-CewPep95.js +275 -0
  230. package/dist/create-B052IquP.js +80 -0
  231. package/dist/cron-cli-zkpMAfTa.js +713 -0
  232. package/dist/daemon-cli-B3QX8ho4.js +12 -0
  233. package/dist/daemon-install-DqGQoyX8.js +64 -0
  234. package/dist/daemon-install-auth-profiles-source.runtime.js +1 -1
  235. package/dist/daemon-install-auth-profiles-store.runtime.js +1 -1
  236. package/dist/dashboard-BHjSY3mb.js +81 -0
  237. package/dist/dashboard-DPXhsRCR.js +2 -0
  238. package/dist/delegate-CCK4c0Zl.js +64 -0
  239. package/dist/deliver-B3LmnUEH.js +3 -0
  240. package/dist/deliver-BtMUmRpU.js +747 -0
  241. package/dist/deliver-runtime-kfTsrh0Z.js +2 -0
  242. package/dist/delivery-logger.runtime.js +1 -1
  243. package/dist/delivery-outbound.runtime-xnjEUWIK.js +6 -0
  244. package/dist/delivery-outbound.runtime.js +1 -1
  245. package/dist/delivery-subagent-registry.runtime.js +1 -1
  246. package/dist/delivery-target.runtime.js +1 -1
  247. package/dist/delivery.runtime-oNtWo0h9.js +253 -0
  248. package/dist/delivery.runtime.js +1 -1
  249. package/dist/detached-task-runtime-CS3nu1g5.js +73 -0
  250. package/dist/devices-cli-hnRL_EgB.js +498 -0
  251. package/dist/diagnostic-support-export-D6sq6qBF.js +533 -0
  252. package/dist/diagnostics-dGMDmEaj.js +154 -0
  253. package/dist/direct-dm-B7MAseXX.js +64 -0
  254. package/dist/directive-handling.fast-lane-BDZzb1c3.js +66 -0
  255. package/dist/directive-handling.impl-B0Q4GVor.js +703 -0
  256. package/dist/directive-handling.impl-KM-ESmbb.js +2 -0
  257. package/dist/directive-handling.model-selection-C0cUvkUH.js +114 -0
  258. package/dist/directive-handling.persist.runtime-D2vtbPoj.js +215 -0
  259. package/dist/directive-handling.persist.runtime.js +1 -1
  260. package/dist/directory-cli-XqCKO3DH.js +240 -0
  261. package/dist/discovery-nb8lOKiX.js +2 -0
  262. package/dist/dispatch-BOAQ60sx.js +1131 -0
  263. package/dist/dispatch-acp-CVrFiJ5o.js +981 -0
  264. package/dist/dispatch-acp-manager.runtime-olnQhwR-.js +3 -0
  265. package/dist/dispatch-acp-manager.runtime.js +1 -1
  266. package/dist/dispatch-acp-media.runtime-DX-wMzpn.js +4 -0
  267. package/dist/dispatch-acp-media.runtime.js +1 -1
  268. package/dist/dispatch-acp-session.runtime-Ua4EFiic.js +2 -0
  269. package/dist/dispatch-acp-session.runtime.js +1 -1
  270. package/dist/dispatch-acp.runtime-7SbVXQLP.js +19 -0
  271. package/dist/dispatch-acp.runtime.js +1 -1
  272. package/dist/doctor-auth-DY23Lbzo.js +172 -0
  273. package/dist/doctor-auth-legacy-oauth-FXycT3rW.js +2 -0
  274. package/dist/doctor-completion-opJf8E_C.js +2 -0
  275. package/dist/doctor-config-flow-2JYaVE0-.js +420 -0
  276. package/dist/doctor-config-preflight-4x2uv9Hb.js +63 -0
  277. package/dist/doctor-config-preflight-B07ImAVz.js +2 -0
  278. package/dist/doctor-cron-B5LdOuxR.js +678 -0
  279. package/dist/doctor-device-pairing-DpTPdaEl.js +307 -0
  280. package/dist/doctor-gateway-daemon-flow-Bu454-sh.js +250 -0
  281. package/dist/doctor-gateway-health-DLc2lC6v.js +63 -0
  282. package/dist/doctor-gateway-services-nfS_weBB.js +316 -0
  283. package/dist/doctor-health-DbSdggc-.js +59 -0
  284. package/dist/doctor-health-contributions-QsszyyOf.js +493 -0
  285. package/dist/doctor-memory-search-BJzkDQFO.js +372 -0
  286. package/dist/doctor-prompter-ItZHriXT.js +56 -0
  287. package/dist/doctor-sandbox-DlwDnh9l.js +194 -0
  288. package/dist/doctor-security-BcgUbdDE.js +210 -0
  289. package/dist/doctor-startup-channel-maintenance-CSm0kVp7.js +17 -0
  290. package/dist/doctor-state-migrations-CzuIt_kk.js +2 -0
  291. package/dist/doctor-ui-CqARev-u.js +96 -0
  292. package/dist/doctor-update-BEHmv8Xq.js +58 -0
  293. package/dist/doctor-workspace-WOSsr97h.js +2 -0
  294. package/dist/doctor-workspace-status-q0x2fhBz.js +75 -0
  295. package/dist/dreaming-BNUWuUDR.js +1574 -0
  296. package/dist/dreaming-narrative-Bj2DXV1n.js +595 -0
  297. package/dist/embedded-gateway-stub.runtime-BIiprD37.js +9 -0
  298. package/dist/embedded-gateway-stub.runtime.js +1 -1
  299. package/dist/embedding-provider-DDJVhG6s.js +118 -0
  300. package/dist/embeddings-BcBUDrld.js +215 -0
  301. package/dist/embeddings-http-CATnDu-1.js +205 -0
  302. package/dist/empty-allowlist-scan-6JAE1WAj.js +94 -0
  303. package/dist/empty-allowlist-scan-Cc7fIEP1.js +2 -0
  304. package/dist/entry.js +3 -3
  305. package/dist/exec-approval-forwarder.runtime-XneENX4R.js +3 -0
  306. package/dist/exec-approval-forwarder.runtime.js +1 -1
  307. package/dist/exec-approvals-cli-bVkpe5kn.js +498 -0
  308. package/dist/exec-defaults-C7MUEVh_.js +2 -0
  309. package/dist/exec-defaults-D1yvsTtz.js +67 -0
  310. package/dist/exec-safe-bins-CMXTNkuu.js +2 -0
  311. package/dist/exec-safe-bins-c1SitPNh.js +148 -0
  312. package/dist/execute.runtime-CHn6LmBk.js +1366 -0
  313. package/dist/execute.runtime.js +1 -1
  314. package/dist/extensionAPI.js +3 -3
  315. package/dist/extensions/active-memory/index.js +3 -3
  316. package/dist/extensions/alibaba/index.js +1 -1
  317. package/dist/extensions/alibaba/video-generation-provider.js +1 -1
  318. package/dist/extensions/arcee/index.js +2 -2
  319. package/dist/extensions/bluebubbles/api.js +3 -3
  320. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  321. package/dist/extensions/browser/browser-bridge.js +1 -1
  322. package/dist/extensions/browser/browser-config.js +4 -4
  323. package/dist/extensions/browser/browser-control-auth.js +2 -2
  324. package/dist/extensions/browser/browser-doctor.js +2 -2
  325. package/dist/extensions/browser/browser-maintenance.js +2 -2
  326. package/dist/extensions/browser/browser-profiles.js +2 -2
  327. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  328. package/dist/extensions/browser/index.js +1 -1
  329. package/dist/extensions/browser/plugin-registration.js +1 -1
  330. package/dist/extensions/browser/register.runtime.js +3 -3
  331. package/dist/extensions/browser/runtime-api.js +12 -12
  332. package/dist/extensions/browser/test-support.js +1 -1
  333. package/dist/extensions/byteplus/index.js +3 -3
  334. package/dist/extensions/byteplus/video-generation-provider.js +1 -1
  335. package/dist/extensions/chutes/index.js +4 -4
  336. package/dist/extensions/cloudflare-ai-gateway/api.js +1 -1
  337. package/dist/extensions/cloudflare-ai-gateway/catalog-provider.js +1 -1
  338. package/dist/extensions/cloudflare-ai-gateway/index.js +2 -2
  339. package/dist/extensions/comfy/image-generation-provider.js +2 -2
  340. package/dist/extensions/comfy/index.js +5 -5
  341. package/dist/extensions/comfy/music-generation-provider.js +1 -1
  342. package/dist/extensions/comfy/video-generation-provider.js +2 -2
  343. package/dist/extensions/comfy/workflow-runtime.js +1 -1
  344. package/dist/extensions/deepseek/index.js +1 -1
  345. package/dist/extensions/device-pair/api.js +2 -2
  346. package/dist/extensions/device-pair/index.js +4 -4
  347. package/dist/extensions/device-pair/notify.js +1 -1
  348. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  349. package/dist/extensions/device-pair/qr-image.js +2 -2
  350. package/dist/extensions/fal/image-generation-provider.js +1 -1
  351. package/dist/extensions/fal/index.js +3 -3
  352. package/dist/extensions/fal/provider-registration.js +1 -1
  353. package/dist/extensions/fal/test-api.js +2 -2
  354. package/dist/extensions/fal/video-generation-provider.js +1 -1
  355. package/dist/extensions/fireworks/index.js +1 -1
  356. package/dist/extensions/github-copilot/api.js +1 -1
  357. package/dist/extensions/github-copilot/auth.js +1 -1
  358. package/dist/extensions/github-copilot/embeddings.js +1 -1
  359. package/dist/extensions/github-copilot/index.js +4 -4
  360. package/dist/extensions/github-copilot/login.js +1 -1
  361. package/dist/extensions/github-copilot/register.runtime.js +2 -2
  362. package/dist/extensions/google-meet/index.js +6 -6
  363. package/dist/extensions/groq/index.js +1 -1
  364. package/dist/extensions/groq/media-understanding-provider.js +1 -1
  365. package/dist/extensions/groq/test-api.js +1 -1
  366. package/dist/extensions/huggingface/index.js +1 -1
  367. package/dist/extensions/image-generation-core/api.js +2 -2
  368. package/dist/extensions/imessage/api.js +4 -4
  369. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  370. package/dist/extensions/imessage/runtime-api.js +5 -5
  371. package/dist/extensions/imessage/test-api.js +1 -1
  372. package/dist/extensions/irc/api.js +2 -2
  373. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  374. package/dist/extensions/kilocode/index.js +1 -1
  375. package/dist/extensions/kimi-coding/index.js +2 -2
  376. package/dist/extensions/line/api.js +2 -2
  377. package/dist/extensions/line/channel-plugin-api.js +1 -1
  378. package/dist/extensions/line/contract-api.js +1 -1
  379. package/dist/extensions/line/runtime-api.js +4 -4
  380. package/dist/extensions/line/setup-api.js +1 -1
  381. package/dist/extensions/litellm/index.js +1 -1
  382. package/dist/extensions/llm-task/index.js +2 -2
  383. package/dist/extensions/lmstudio/api.js +2 -2
  384. package/dist/extensions/lmstudio/index.js +3 -3
  385. package/dist/extensions/lmstudio/memory-embedding-adapter.js +1 -1
  386. package/dist/extensions/lmstudio/runtime-api.js +1 -1
  387. package/dist/extensions/lobster/index.js +3 -3
  388. package/dist/extensions/lobster/runtime-api.js +1 -1
  389. package/dist/extensions/mattermost/api.js +1 -1
  390. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  391. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  392. package/dist/extensions/mattermost/policy-api.js +1 -1
  393. package/dist/extensions/mattermost/runtime-api.js +7 -7
  394. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  395. package/dist/extensions/media-understanding-core/runtime-api.js +2 -2
  396. package/dist/extensions/memory-core/api.js +1 -1
  397. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  398. package/dist/extensions/memory-core/index.js +3 -3
  399. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  400. package/dist/extensions/memory-lancedb/index.js +1 -1
  401. package/dist/extensions/memory-wiki/cli-metadata.js +1 -1
  402. package/dist/extensions/memory-wiki/index.js +1 -1
  403. package/dist/extensions/microsoft/index.js +1 -1
  404. package/dist/extensions/microsoft/speech-provider.js +1 -1
  405. package/dist/extensions/microsoft/test-api.js +1 -1
  406. package/dist/extensions/microsoft-foundry/auth.js +1 -1
  407. package/dist/extensions/microsoft-foundry/cli.js +1 -1
  408. package/dist/extensions/microsoft-foundry/index.js +1 -1
  409. package/dist/extensions/microsoft-foundry/onboard.js +2 -2
  410. package/dist/extensions/microsoft-foundry/provider.js +1 -1
  411. package/dist/extensions/microsoft-foundry/runtime.js +1 -1
  412. package/dist/extensions/microsoft-foundry/shared-runtime.js +2 -2
  413. package/dist/extensions/microsoft-foundry/shared.js +1 -1
  414. package/dist/extensions/minimax/image-generation-provider.js +1 -1
  415. package/dist/extensions/minimax/index.js +6 -6
  416. package/dist/extensions/minimax/media-understanding-provider.js +1 -1
  417. package/dist/extensions/minimax/music-generation-provider.js +1 -1
  418. package/dist/extensions/minimax/oauth.js +1 -1
  419. package/dist/extensions/minimax/oauth.runtime.js +1 -1
  420. package/dist/extensions/minimax/provider-registration.js +1 -1
  421. package/dist/extensions/minimax/speech-provider.js +1 -1
  422. package/dist/extensions/minimax/test-api.js +4 -4
  423. package/dist/extensions/minimax/video-generation-provider.js +1 -1
  424. package/dist/extensions/mistral/index.js +2 -2
  425. package/dist/extensions/mistral/media-understanding-provider.js +1 -1
  426. package/dist/extensions/mistral/test-api.js +1 -1
  427. package/dist/extensions/moonshot/index.js +2 -2
  428. package/dist/extensions/moonshot/media-understanding-provider.js +1 -1
  429. package/dist/extensions/moonshot/test-api.js +1 -1
  430. package/dist/extensions/msteams/api.js +1 -1
  431. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  432. package/dist/extensions/msteams/runtime-api.js +4 -4
  433. package/dist/extensions/msteams/test-api.js +1 -1
  434. package/dist/extensions/nextcloud-talk/api.js +1 -1
  435. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  436. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  437. package/dist/extensions/nvidia/index.js +1 -1
  438. package/dist/extensions/ollama/api.js +3 -3
  439. package/dist/extensions/ollama/index.js +9 -9
  440. package/dist/extensions/ollama/runtime-api.js +2 -2
  441. package/dist/extensions/ollama/web-search-provider.js +1 -1
  442. package/dist/extensions/openai/api.js +2 -2
  443. package/dist/extensions/openai/image-generation-provider.js +1 -1
  444. package/dist/extensions/openai/index.js +6 -6
  445. package/dist/extensions/openai/media-understanding-provider.js +1 -1
  446. package/dist/extensions/openai/openai-codex-provider.js +1 -1
  447. package/dist/extensions/openai/openai-provider.js +1 -1
  448. package/dist/extensions/openai/register.runtime.js +4 -4
  449. package/dist/extensions/openai/test-api.js +3 -3
  450. package/dist/extensions/openai/video-generation-provider.js +1 -1
  451. package/dist/extensions/opencode/index.js +2 -2
  452. package/dist/extensions/opencode/media-understanding-provider.js +1 -1
  453. package/dist/extensions/opencode-go/index.js +2 -2
  454. package/dist/extensions/opencode-go/media-understanding-provider.js +1 -1
  455. package/dist/extensions/openrouter/api.js +1 -1
  456. package/dist/extensions/openrouter/image-generation-provider.js +1 -1
  457. package/dist/extensions/openrouter/index.js +4 -4
  458. package/dist/extensions/openrouter/media-understanding-provider.js +1 -1
  459. package/dist/extensions/openrouter/register.runtime.js +3 -3
  460. package/dist/extensions/openrouter/test-api.js +2 -2
  461. package/dist/extensions/openshell/index.js +3 -3
  462. package/dist/extensions/qianfan/index.js +1 -1
  463. package/dist/extensions/qwen/index.js +3 -3
  464. package/dist/extensions/qwen/media-understanding-provider.js +1 -1
  465. package/dist/extensions/qwen/test-api.js +2 -2
  466. package/dist/extensions/qwen/video-generation-provider.js +1 -1
  467. package/dist/extensions/runway/index.js +1 -1
  468. package/dist/extensions/runway/video-generation-provider.js +1 -1
  469. package/dist/extensions/signal/api.js +6 -6
  470. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  471. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  472. package/dist/extensions/signal/runtime-api.js +9 -9
  473. package/dist/extensions/skill-workshop/api.js +1 -1
  474. package/dist/extensions/skill-workshop/index.js +2 -2
  475. package/dist/extensions/speech-core/runtime-api.js +1 -1
  476. package/dist/extensions/stepfun/index.js +2 -2
  477. package/dist/extensions/synology-chat/api.js +1 -1
  478. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  479. package/dist/extensions/synthetic/index.js +1 -1
  480. package/dist/extensions/talk-voice/index.js +1 -1
  481. package/dist/extensions/tencent/index.js +2 -2
  482. package/dist/extensions/thread-ownership/index.js +1 -1
  483. package/dist/extensions/tlon/api.js +2 -2
  484. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  485. package/dist/extensions/tlon/runtime-api.js +1 -1
  486. package/dist/extensions/tlon/test-api.js +1 -1
  487. package/dist/extensions/together/index.js +2 -2
  488. package/dist/extensions/together/video-generation-provider.js +1 -1
  489. package/dist/extensions/twitch/api.js +1 -1
  490. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  491. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  492. package/dist/extensions/venice/index.js +1 -1
  493. package/dist/extensions/vercel-ai-gateway/index.js +1 -1
  494. package/dist/extensions/voice-call/index.js +1 -1
  495. package/dist/extensions/voice-call/runtime-entry.js +1 -1
  496. package/dist/extensions/volcengine/index.js +2 -2
  497. package/dist/extensions/vydra/image-generation-provider.js +1 -1
  498. package/dist/extensions/vydra/index.js +4 -4
  499. package/dist/extensions/vydra/video-generation-provider.js +1 -1
  500. package/dist/extensions/xai/api.js +2 -2
  501. package/dist/extensions/xai/code-execution.js +2 -2
  502. package/dist/extensions/xai/image-generation-provider.js +1 -1
  503. package/dist/extensions/xai/index.js +6 -6
  504. package/dist/extensions/xai/speech-provider.js +1 -1
  505. package/dist/extensions/xai/tts.js +1 -1
  506. package/dist/extensions/xai/video-generation-provider.js +1 -1
  507. package/dist/extensions/xai/x-search.js +2 -2
  508. package/dist/extensions/xiaomi/index.js +1 -1
  509. package/dist/extensions/zai/index.js +2 -2
  510. package/dist/extensions/zai/media-understanding-provider.js +1 -1
  511. package/dist/extensions/zai/test-api.js +1 -1
  512. package/dist/extensions/zalo/api.js +3 -3
  513. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  514. package/dist/extensions/zalo/runtime-api.js +2 -2
  515. package/dist/extensions/zalo/setup-api.js +2 -2
  516. package/dist/extensions/zalouser/api.js +3 -3
  517. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  518. package/dist/extensions/zalouser/runtime-api.js +7 -7
  519. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  520. package/dist/extensions/zalouser/test-api.js +1 -1
  521. package/dist/fallbacks-BWfTkiI4.js +31 -0
  522. package/dist/fallbacks-C9KDYKs_.js +2 -0
  523. package/dist/fallbacks-shared-DfTzBfq1.js +111 -0
  524. package/dist/format-CqMlnPqV.js +245 -0
  525. package/dist/gateway-CkxkzVZN.js +115 -0
  526. package/dist/gateway-cli-hF08SMoD.js +1283 -0
  527. package/dist/gateway-discovery-targets-BilYS9ha.js +42 -0
  528. package/dist/gateway-install-token-CZq3-WaX.js +141 -0
  529. package/dist/gateway-rpc-yH-iFPPG.js +14 -0
  530. package/dist/gateway-rpc.runtime-Bxb1dLu2.js +23 -0
  531. package/dist/gateway-rpc.runtime.js +1 -1
  532. package/dist/gateway-runtime-DSIAuM0M.js +15 -0
  533. package/dist/gateway-status-B3SqIStn.js +584 -0
  534. package/dist/genesis-tools-DzgSb3vd.js +9144 -0
  535. package/dist/genesis-tools.runtime-BkPuepHE.js +2 -0
  536. package/dist/genesis-tools.runtime.js +1 -1
  537. package/dist/get-reply-ChN4EIDm.js +3879 -0
  538. package/dist/get-reply-from-config.runtime-cgmM6iLA.js +2 -0
  539. package/dist/get-reply-from-config.runtime.js +1 -1
  540. package/dist/gmail-watcher-lifecycle-8oetrTVi.js +2 -0
  541. package/dist/gmail-watcher-lifecycle-CJJGDUP5.js +191 -0
  542. package/dist/graph-users-BjskkPXl.js +1337 -0
  543. package/dist/health-BcGQpWhR.js +3 -0
  544. package/dist/health-C_ieY9Kj.js +469 -0
  545. package/dist/health-route-CwpATAjq.js +41 -0
  546. package/dist/health-route-yxKlxzM8.js +2 -0
  547. package/dist/health-style-_j6EAcB7.js +2 -0
  548. package/dist/heartbeat-runner-BATl6sLG.js +5 -0
  549. package/dist/heartbeat-runner-LDUrUqCE.js +1292 -0
  550. package/dist/heartbeat-runner.runtime-DsuMWPNt.js +4 -0
  551. package/dist/heartbeat-runner.runtime.js +1 -1
  552. package/dist/hooks-cli-CEYDwXFE.js +433 -0
  553. package/dist/hooks-status-Cqby6WVW.js +86 -0
  554. package/dist/image-fallbacks-CqQR3jWU.js +31 -0
  555. package/dist/image-fallbacks-Nt-2QyCg.js +2 -0
  556. package/dist/image-generation-core-DEiEJhEK.js +18 -0
  557. package/dist/image-generation-core.auth.runtime.js +1 -1
  558. package/dist/image-generation-provider-BHKIJcjv.js +63 -0
  559. package/dist/image-generation-provider-BVsvNzI_.js +228 -0
  560. package/dist/image-generation-provider-CpH4lCyW.js +137 -0
  561. package/dist/image-generation-provider-Ct1lT0uf.js +157 -0
  562. package/dist/image-generation-provider-DPRew87B.js +95 -0
  563. package/dist/image-generation-provider-DgCga9KE.js +274 -0
  564. package/dist/image-generation-provider-DgFuHosU.js +529 -0
  565. package/dist/image-runtime-2qfUy_eg.js +9 -0
  566. package/dist/inbound-reply-dispatch-B798MCBn.js +73 -0
  567. package/dist/inbound.runtime-BzROcnJN.js +3 -0
  568. package/dist/inbound.runtime-DmyBUa6W.js +4 -0
  569. package/dist/inbound.runtime.js +1 -1
  570. package/dist/index.js +2 -2
  571. package/dist/infra-runtime-D3zS_Fs_.js +39 -0
  572. package/dist/init-Cgs_Y5r2.js +59 -0
  573. package/dist/install-CNyKkmoe.js +726 -0
  574. package/dist/install-Cr1XiFcK.js +190 -0
  575. package/dist/install-security-scan-DkBMNG01.js +26 -0
  576. package/dist/install-security-scan.runtime-RflYyKMz.js +671 -0
  577. package/dist/install-security-scan.runtime.js +1 -1
  578. package/dist/install.runtime-BxrmrGNn.js +27 -0
  579. package/dist/install.runtime-Cwxpe69l.js +2 -0
  580. package/dist/install.runtime-Czxp-yhT.js +12 -0
  581. package/dist/install.runtime.js +1 -1
  582. package/dist/jobs-Dd5apK1w.js +734 -0
  583. package/dist/legacy-tools-by-sender-BBxdN6rr.js +95 -0
  584. package/dist/legacy-tools-by-sender-jW8LxMcX.js +2 -0
  585. package/dist/library-CHfLQeCR.js +45 -0
  586. package/dist/lifecycle-lQvUNIhu.js +229 -0
  587. package/dist/lifecycle-zNuWSrCz.js +571 -0
  588. package/dist/lifecycle.runtime-ByIupJ19.js +2 -0
  589. package/dist/lifecycle.runtime.js +1 -1
  590. package/dist/list-C3XOJSpa.js +2 -0
  591. package/dist/list-Cc1XrqqF.js +1212 -0
  592. package/dist/list-D7rUonSE.js +131 -0
  593. package/dist/list-xlj8z1FQ.js +2 -0
  594. package/dist/list.probe-DxROY_f3.js +419 -0
  595. package/dist/live-model-switch-BKj-o0qi.js +336 -0
  596. package/dist/llm-slug-generator-Dgp800fh.js +79 -0
  597. package/dist/llm-slug-generator.js +1 -1
  598. package/dist/load-config-BLj62YjO.js +35 -0
  599. package/dist/loader-CbjGl9Hl.js +222 -0
  600. package/dist/local-dispatch.runtime-DRwpFW1C.js +8 -0
  601. package/dist/local-dispatch.runtime.js +1 -1
  602. package/dist/login-xTSVvkH1.js +108 -0
  603. package/dist/logs-cli-DxgJIioY.js +265 -0
  604. package/dist/logs-cli.runtime-Bokfw6xX.js +2 -0
  605. package/dist/logs-cli.runtime.js +1 -1
  606. package/dist/main-session-restart-recovery-BGtEwwC7.js +206 -0
  607. package/dist/managed-image-attachments-CdnUvv4i.js +635 -0
  608. package/dist/managed-image-attachments-DGoeEEK0.js +2 -0
  609. package/dist/manager-By98-8j7.js +2057 -0
  610. package/dist/manager-DoYtM2M_.js +2 -0
  611. package/dist/markdown-to-line-BAow3FG2.js +790 -0
  612. package/dist/mcp/plugin-tools-serve.js +1 -1
  613. package/dist/mcp-cli-CzbNPbAu.js +725 -0
  614. package/dist/mcp-http-3955tCu1.js +529 -0
  615. package/dist/media-runtime-DPuaOh-W.js +329 -0
  616. package/dist/media-understanding-DMGc6bUS.js +85 -0
  617. package/dist/media-understanding-provider-BFjdxO9-.js +21 -0
  618. package/dist/media-understanding-provider-BN0_ZWCk.js +13 -0
  619. package/dist/media-understanding-provider-Bc8inzhb.js +69 -0
  620. package/dist/media-understanding-provider-BjOG0qfv.js +85 -0
  621. package/dist/media-understanding-provider-BpUWx7YV.js +12 -0
  622. package/dist/media-understanding-provider-CDvqr0Ha.js +18 -0
  623. package/dist/media-understanding-provider-DOPCCOGb.js +37 -0
  624. package/dist/media-understanding-provider-DOVnR49K.js +18 -0
  625. package/dist/media-understanding-provider-Dyw_vjd1.js +28 -0
  626. package/dist/media-understanding-provider-t-_UaQgo.js +12 -0
  627. package/dist/media-understanding-runtime-CloZxX3k.js +2 -0
  628. package/dist/memory-core-host-runtime-cli-D7VcUd8Q.js +9 -0
  629. package/dist/memory-embedding-adapter-DryAyE08.js +123 -0
  630. package/dist/memory-host-search-BAD700R9.js +12 -0
  631. package/dist/memory-host-search.runtime.js +1 -1
  632. package/dist/message-action-runner-COx-ZvZd.js +1407 -0
  633. package/dist/message-action-runner-fdG6pGAZ.js +2 -0
  634. package/dist/message-actions-Dp5oy-Id.js +143 -0
  635. package/dist/message-format-C6vUBf1L.js +328 -0
  636. package/dist/message-o2dPGRzs.js +232 -0
  637. package/dist/message.config.runtime.js +1 -1
  638. package/dist/message.gateway.runtime-56NMl6zr.js +2 -0
  639. package/dist/message.gateway.runtime.js +1 -1
  640. package/dist/model-picker-CmKXNo9I.js +3 -0
  641. package/dist/model-picker-RwmF8BB2.js +559 -0
  642. package/dist/model-picker.runtime-C7NZbfGO.js +15 -0
  643. package/dist/model-picker.runtime.js +1 -1
  644. package/dist/model-selection-V3vSY372.js +213 -0
  645. package/dist/models-auth-status-CIvClfyB.js +201 -0
  646. package/dist/models-cli-BnImTHDJ.js +219 -0
  647. package/dist/models.fetch-CSjF93kV.js +518 -0
  648. package/dist/monitor-B6C1jpvZ.js +671 -0
  649. package/dist/monitor-CD_A25Rx.js +788 -0
  650. package/dist/monitor-DbpDtT91.js +1661 -0
  651. package/dist/monitor-DvkiboRC.js +1459 -0
  652. package/dist/monitor-auth-eDhrUf09.js +207 -0
  653. package/dist/monitor-processing-3UY_U9hP.js +1974 -0
  654. package/dist/monitor-v7YjMH5B.js +2 -0
  655. package/dist/monitor-yj-MViK6.js +1237 -0
  656. package/dist/monitor.runtime-K9_4KdMD.js +2 -0
  657. package/dist/monitor.runtime.js +1 -1
  658. package/dist/monitor.webhook-DIIuOtEd.js +180 -0
  659. package/dist/msteams-6tpdLYYt.js +35 -0
  660. package/dist/music-generation-provider-DLsuTyhN.js +63 -0
  661. package/dist/music-generation-provider-DURtvZ5B.js +170 -0
  662. package/dist/native-hook-relay-DVfxqsON.js +519 -0
  663. package/dist/nextcloud-talk-DyYXCJLV.js +17 -0
  664. package/dist/node-cli-XV5Mq4R5.js +2506 -0
  665. package/dist/nodes-cli-CkCLLSNL.js +1046 -0
  666. package/dist/nodes-utils-Cvyl5QAh.js +84 -0
  667. package/dist/nodes.helpers-DYk79sWL.js +34 -0
  668. package/dist/notify-CzYxngwD.js +315 -0
  669. package/dist/oauth-CDxZvq5B.js +152 -0
  670. package/dist/oauth-CemxANpL.js +75 -0
  671. package/dist/oauth-DfB1vcWQ.js +139 -0
  672. package/dist/oauth-fpxNVPrl.js +2 -0
  673. package/dist/oauth-tls-preflight-BcNy7dKB.js +2 -0
  674. package/dist/oauth.flow-DbJmBCPq.js +3 -0
  675. package/dist/oauth.flow-jarh1FJh.js +45 -0
  676. package/dist/onboard-4gvN93s8.js +316 -0
  677. package/dist/onboard-D0lkvRs5.js +632 -0
  678. package/dist/onboard-channels-B31xMIuZ.js +3 -0
  679. package/dist/onboard-channels-BEkUvYCF.js +2 -0
  680. package/dist/onboard-config-DvU9Ngti.js +2 -0
  681. package/dist/onboard-custom-BitaTI2J.js +271 -0
  682. package/dist/onboard-custom-a9DbHTUT.js +3 -0
  683. package/dist/onboard-helpers-BHi-aRMH.js +204 -0
  684. package/dist/onboard-helpers-elKh6zBN.js +6 -0
  685. package/dist/onboard-hooks-Cr15MeKN.js +52 -0
  686. package/dist/onboard-remote-Cng1yalR.js +2 -0
  687. package/dist/onboard-remote-DXV2D8eg.js +193 -0
  688. package/dist/onboard-search-B0OW2KL3.js +323 -0
  689. package/dist/onboard-skills-BdzrRAcj.js +134 -0
  690. package/dist/onboard-skills-CNwXUb0I.js +2 -0
  691. package/dist/onboarding-plugin-install-DRFjmslc.js +406 -0
  692. package/dist/open-policy-allowfrom-C084Puwf.js +2 -0
  693. package/dist/open-policy-allowfrom-Dg0zzuWw.js +101 -0
  694. package/dist/openai-codex-provider-DC5MRZgN.js +472 -0
  695. package/dist/openai-http-DPekQzlm.js +500 -0
  696. package/dist/openai-provider-BAc1xw8U.js +313 -0
  697. package/dist/opencode-rrH9GPhY.js +35 -0
  698. package/dist/openresponses-http-KuBtyTB9.js +1128 -0
  699. package/dist/operator-approvals-client-Ck6tSehQ.js +68 -0
  700. package/dist/outbound-runtime-Dquu18jb.js +5 -0
  701. package/dist/outbound.runtime-C4fvxQG0.js +2 -0
  702. package/dist/outbound.runtime.js +1 -1
  703. package/dist/pair-command-approve-DXxc-bF6.js +44 -0
  704. package/dist/persistent-bindings.lifecycle-DHLMOTbE.js +2 -0
  705. package/dist/persistent-bindings.lifecycle-FgyzapQO.js +85 -0
  706. package/dist/pi-embedded-DX9kTXHk.js +4 -0
  707. package/dist/pi-embedded-c1fYxGY_.js +2905 -0
  708. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-EnaEhBV7.js +23 -0
  709. package/dist/pi-embedded-subscribe.handlers.compaction.runtime.js +1 -1
  710. package/dist/pi-embedded.runtime-BF21n0BD.js +4 -0
  711. package/dist/pi-embedded.runtime.js +1 -1
  712. package/dist/pi-tool-definition-adapter-IAoWm6mw.js +217 -0
  713. package/dist/pi-tools-C_f4UUql.js +1057 -0
  714. package/dist/pi-tools.before-tool-call-OMTQuo2Y.js +2 -0
  715. package/dist/pi-tools.before-tool-call-Yjb1AzLr.js +433 -0
  716. package/dist/plugin-Bqw6iIhd.js +12195 -0
  717. package/dist/plugin-enabled-Dws5rJhZ.js +140 -0
  718. package/dist/plugin-install-BQn7pUma.js +115 -0
  719. package/dist/plugin-install-config-policy-BM-_U7I2.js +137 -0
  720. package/dist/plugin-install-iU6yvmd2.js +2 -0
  721. package/dist/plugin-install-plan-D11M-SSH.js +50 -0
  722. package/dist/plugin-registration-BlawgUJq.js +23 -0
  723. package/dist/plugin-registry-BS1ql5am.js +3 -0
  724. package/dist/plugin-registry-DQYacxoR.js +2 -0
  725. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  726. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  727. package/dist/plugin-sdk/acp-runtime.js +3 -3
  728. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  729. package/dist/plugin-sdk/agent-harness.js +7 -7
  730. package/dist/plugin-sdk/agent-runtime.js +2 -2
  731. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  732. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  733. package/dist/plugin-sdk/approval-runtime.js +1 -1
  734. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  735. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  736. package/dist/plugin-sdk/browser-support.js +7 -7
  737. package/dist/plugin-sdk/channel-core.js +2 -2
  738. package/dist/plugin-sdk/channel-inbound.js +3 -3
  739. package/dist/plugin-sdk/command-auth.js +2 -2
  740. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  741. package/dist/plugin-sdk/compat.js +1 -1
  742. package/dist/plugin-sdk/config-runtime.js +3 -3
  743. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  744. package/dist/plugin-sdk/conversation-runtime.js +4 -4
  745. package/dist/plugin-sdk/core.js +2 -2
  746. package/dist/plugin-sdk/direct-dm.js +1 -1
  747. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  748. package/dist/plugin-sdk/image-generation-core.js +2 -2
  749. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  750. package/dist/plugin-sdk/index.js +1 -1
  751. package/dist/plugin-sdk/infra-runtime.js +2 -2
  752. package/dist/plugin-sdk/irc.js +2 -2
  753. package/dist/plugin-sdk/matrix.js +1 -1
  754. package/dist/plugin-sdk/mattermost.js +2 -2
  755. package/dist/plugin-sdk/media-runtime.js +5 -5
  756. package/dist/plugin-sdk/media-understanding-runtime.js +2 -2
  757. package/dist/plugin-sdk/media-understanding.js +2 -2
  758. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  759. package/dist/plugin-sdk/memory-core.js +2 -2
  760. package/dist/plugin-sdk/memory-host-search.js +1 -1
  761. package/dist/plugin-sdk/msteams.js +3 -3
  762. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  763. package/dist/plugin-sdk/nostr.js +1 -1
  764. package/dist/plugin-sdk/opencode.js +1 -1
  765. package/dist/plugin-sdk/outbound-runtime.js +2 -2
  766. package/dist/plugin-sdk/provider-auth-api-key.js +2 -2
  767. package/dist/plugin-sdk/provider-auth-login.js +1 -1
  768. package/dist/plugin-sdk/provider-auth.js +2 -2
  769. package/dist/plugin-sdk/provider-entry.js +1 -1
  770. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  771. package/dist/plugin-sdk/reply-runtime.js +4 -4
  772. package/dist/plugin-sdk/runtime-doctor.js +1 -1
  773. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  774. package/dist/plugin-sdk/runtime.js +3 -3
  775. package/dist/plugin-sdk/sandbox.js +1 -1
  776. package/dist/plugin-sdk/session-store-runtime.js +1 -1
  777. package/dist/plugin-sdk/session-visibility.js +1 -1
  778. package/dist/plugin-sdk/skill-commands-runtime.js +1 -1
  779. package/dist/plugin-sdk/src/config/types.browser.d.ts +1 -1
  780. package/dist/plugin-sdk/testing.js +4 -4
  781. package/dist/plugin-sdk/tlon.js +1 -1
  782. package/dist/plugin-sdk/zalo.js +1 -1
  783. package/dist/plugin-sdk/zalouser.js +1 -1
  784. package/dist/plugin-service-VZSLJ4oI.js +2892 -0
  785. package/dist/plugins/runtime/index.js +1 -1
  786. package/dist/plugins-cli-UR8WqrIq.js +584 -0
  787. package/dist/plugins-command-helpers-D799dbVj.js +107 -0
  788. package/dist/plugins-install-persist-D_HU3Frx.js +133 -0
  789. package/dist/plugins-update-command-BTBJuQMC.js +1057 -0
  790. package/dist/policy-9PlwCZVI.js +328 -0
  791. package/dist/postinstall-inventory.json +854 -850
  792. package/dist/prepare.runtime-BWs6JC5C.js +815 -0
  793. package/dist/prepare.runtime.js +1 -1
  794. package/dist/preview-warnings-Xd3ZVG_C.js +120 -0
  795. package/dist/probe-BvnxVXPF.js +2 -0
  796. package/dist/probe-CVdSkKEj.js +241 -0
  797. package/dist/probe-CdbOHCqk.js +45 -0
  798. package/dist/probe-CgIZN3nP.js +1443 -0
  799. package/dist/probe-Cj5gwplO.js +74 -0
  800. package/dist/probe-D4pJKTVi.js +2 -0
  801. package/dist/probe-DOpn9xW4.js +243 -0
  802. package/dist/probe-Dhgk7ek6.js +2205 -0
  803. package/dist/probe-auth-Nvl_FRXO.js +3 -0
  804. package/dist/program-BOie7Vt-.js +111 -0
  805. package/dist/program-context-ChxdxCOu.js +2 -0
  806. package/dist/prompt-select-styled-BoqQDWM7.js +20 -0
  807. package/dist/protocol-AGt54mci.js +2335 -0
  808. package/dist/provider-D_uxch_F.js +70 -0
  809. package/dist/provider-api-key-auth-DQcZiZii.js +114 -0
  810. package/dist/provider-api-key-auth.runtime.js +1 -1
  811. package/dist/provider-auth-C983Ir3i.js +46 -0
  812. package/dist/provider-auth-api-key-DTSUklSr.js +5 -0
  813. package/dist/provider-auth-choice-B5hkZbf_.js +228 -0
  814. package/dist/provider-auth-choice-preference-CJRv4tMl.js +27 -0
  815. package/dist/provider-auth-choices-BgUKYeKC.js +2 -0
  816. package/dist/provider-auth-guidance-CXc99WzE.js +2 -0
  817. package/dist/provider-auth-login-O3Sm0KwV.js +8 -0
  818. package/dist/provider-auth-login.runtime-CbaRtloJ.js +267 -0
  819. package/dist/provider-auth-login.runtime.js +1 -1
  820. package/dist/provider-dispatcher-DWf9-i4h.js +22 -0
  821. package/dist/provider-dispatcher-Difz51Qf.js +2 -0
  822. package/dist/provider-entry-D0S4gpr-.js +106 -0
  823. package/dist/provider-flow-f_IA_ktZ.js +148 -0
  824. package/dist/provider-install-catalog-Cg32-zFa.js +108 -0
  825. package/dist/provider-model-defaults-ChOCI1XD.js +6 -0
  826. package/dist/provider-registration-DReJwyYv.js +37 -0
  827. package/dist/provider-registration-DuuV27JS.js +218 -0
  828. package/dist/proxy-cli-CqFZNmxT.js +44 -0
  829. package/dist/proxy-cli.runtime-CAFc4tCs.js +372 -0
  830. package/dist/proxy-cli.runtime.js +1 -1
  831. package/dist/pw-ai-Dre6YylS.js +2511 -0
  832. package/dist/qr-cli-CKjl5y9P.js +349 -0
  833. package/dist/qr-cli-HA7KcboU.js +2 -0
  834. package/dist/qr-image-BEyM3usD.js +2 -0
  835. package/dist/queue-18j62oEc.js +409 -0
  836. package/dist/reaction-runtime-api-Byb7aNNv.js +116 -0
  837. package/dist/reactions-DKjkdDpt.js +998 -0
  838. package/dist/read-best-effort-config.runtime.js +1 -1
  839. package/dist/read-capability-L5JQpwus.js +412 -0
  840. package/dist/register-service-commands-DgcOFNfd.js +71 -0
  841. package/dist/register.agent-D8O3Pej1.js +248 -0
  842. package/dist/register.backup-B_r2LOYK.js +64 -0
  843. package/dist/register.configure-DnJuRHEh.js +15 -0
  844. package/dist/register.maintenance-3aZxhWJa.js +363 -0
  845. package/dist/register.message-BXlGRk2N.js +329 -0
  846. package/dist/register.onboard-CqjGOMl-.js +81 -0
  847. package/dist/register.runtime-BnKRhWSR.js +81 -0
  848. package/dist/register.runtime.js +1 -1
  849. package/dist/register.setup-CuhKuyzn.js +150 -0
  850. package/dist/register.status-health-sessions-C5DzZa1_.js +1215 -0
  851. package/dist/register.subclis-CR1fpSTT.js +3 -0
  852. package/dist/register.subclis-D_uws2t_.js +29 -0
  853. package/dist/register.subclis-core-AHoaC6VW.js +249 -0
  854. package/dist/register.wallet-BiFJeDsS.js +159 -0
  855. package/dist/repair-sequencing-BSAmIx7i.js +145 -0
  856. package/dist/reply-dispatch-runtime-Ceu-bJO-.js +13 -0
  857. package/dist/reply-media-paths.runtime-BQcpYv4W.js +2 -0
  858. package/dist/reply-media-paths.runtime-DpCr5Ul0.js +146 -0
  859. package/dist/reply-media-paths.runtime.js +1 -1
  860. package/dist/reply-runtime-BCvhbO0n.js +11 -0
  861. package/dist/reply.runtime-Dq49ajK8.js +2 -0
  862. package/dist/reply.runtime.js +1 -1
  863. package/dist/resolve-k9X8xwXZ.js +259 -0
  864. package/dist/response-generator-F0uPL6Wb.js +175 -0
  865. package/dist/restart-health-B3BG9cWC.js +2 -0
  866. package/dist/restart-health-Blxs74k_.js +202 -0
  867. package/dist/root-help-ChzMvc3A.js +44 -0
  868. package/dist/route-reply-C8iN0qJY.js +162 -0
  869. package/dist/route-reply.runtime-B2lAB1-b.js +2 -0
  870. package/dist/route-reply.runtime.js +1 -1
  871. package/dist/routes-CJ7e3-3_.js +3341 -0
  872. package/dist/routes-CSpmwUOo.js +2 -0
  873. package/dist/rpc-zrzVsr7U.js +61 -0
  874. package/dist/rpc.runtime-BoWSTfbK.js +21 -0
  875. package/dist/rpc.runtime.js +1 -1
  876. package/dist/run-auth-profile.runtime-CmWR2ACc.js +2 -0
  877. package/dist/run-auth-profile.runtime.js +1 -1
  878. package/dist/run-context.runtime.js +1 -1
  879. package/dist/run-delivery.runtime-gMcYNNDu.js +530 -0
  880. package/dist/run-delivery.runtime.js +1 -1
  881. package/dist/run-embedded.runtime-Y7BR9y48.js +4 -0
  882. package/dist/run-embedded.runtime.js +1 -1
  883. package/dist/run-execution-cli.runtime-gnM2Ql9w.js +4 -0
  884. package/dist/run-execution-cli.runtime.js +1 -1
  885. package/dist/run-executor.runtime-CrBblsnd.js +277 -0
  886. package/dist/run-executor.runtime.js +1 -1
  887. package/dist/run-external-content.runtime.js +1 -1
  888. package/dist/run-main-TmL9-_zs.js +567 -0
  889. package/dist/run-model-catalog.runtime.js +1 -1
  890. package/dist/run-subagent-registry.runtime-CWsqAYYP.js +2 -0
  891. package/dist/run-subagent-registry.runtime.js +1 -1
  892. package/dist/run-wait-D3KzpvQq.js +135 -0
  893. package/dist/runner-DUtC35j2.js +966 -0
  894. package/dist/runner.entries-0ZSu_nTv.js +604 -0
  895. package/dist/runtime-CxubLXjp.js +72 -0
  896. package/dist/runtime-DSuaai8P.js +263 -0
  897. package/dist/runtime-DnDt_3OQ.js +116 -0
  898. package/dist/runtime-DrHUjQ1Q.js +973 -0
  899. package/dist/runtime-_ZEfYaU0.js +9 -0
  900. package/dist/runtime-api-BO9T0HM6.js +9 -0
  901. package/dist/runtime-api-D05_vaS-.js +9 -0
  902. package/dist/runtime-api-DP5brVhK.js +4 -0
  903. package/dist/runtime-api-Y1Y0XFaX.js +14 -0
  904. package/dist/runtime-embedded-pi.runtime-zFbq7SGM.js +2 -0
  905. package/dist/runtime-embedded-pi.runtime.js +1 -1
  906. package/dist/runtime-entry-BxV0KsK8.js +2769 -0
  907. package/dist/runtime-internal-BhujhdGc.js +2 -0
  908. package/dist/runtime-manifest.runtime.js +1 -1
  909. package/dist/runtime-options-DPOGEX8m.js +275 -0
  910. package/dist/runtime-pB6_767d.js +2 -0
  911. package/dist/runtime-prepare.runtime-DCMh017y.js +80 -0
  912. package/dist/runtime-prepare.runtime.js +1 -1
  913. package/dist/runtime-registry-loader-BnT6zi1m.js +2 -0
  914. package/dist/runtime-schema-BkQ2RaAT.js +27796 -0
  915. package/dist/runtime-web-tools-BUdYGMsD.js +1477 -0
  916. package/dist/runtime-web-tools-fallback.runtime.js +1 -1
  917. package/dist/runtime-web-tools-manifest.runtime.js +1 -1
  918. package/dist/runtime-web-tools-public-artifacts.runtime.js +1 -1
  919. package/dist/sandbox-CHm2nn70.js +1156 -0
  920. package/dist/sandbox-E_kshBRj.js +3 -0
  921. package/dist/sandbox-cli-DQy0IvU6.js +450 -0
  922. package/dist/scan-BHrX6xlw.js +2 -0
  923. package/dist/scan-YCM3NZ4a.js +523 -0
  924. package/dist/secrets-cli-DiJDMvpu.js +2101 -0
  925. package/dist/security-cli-DKW-eR9G.js +486 -0
  926. package/dist/selection-CKyD2Dph.js +7736 -0
  927. package/dist/selection-Dg3WfJp4.js +2 -0
  928. package/dist/send-Cwx2NC_E.js +156 -0
  929. package/dist/send-DfVrE6Nj.js +102 -0
  930. package/dist/send.runtime-RHU8DLUa.js +2 -0
  931. package/dist/send.runtime.js +1 -1
  932. package/dist/server-CVac_8eO.js +77 -0
  933. package/dist/server-DK60xdj1.js +13 -0
  934. package/dist/server-context-DH1UPelC.js +847 -0
  935. package/dist/server-context-DSP_jNKo.js +2 -0
  936. package/dist/server-node-events-CQkjKwDW.js +481 -0
  937. package/dist/server-plugin-bootstrap-CWkKWsmU.js +11535 -0
  938. package/dist/server-plugin-bootstrap-DtuLv1Z0.js +2 -0
  939. package/dist/server-restart-sentinel-BqlD_fdp.js +697 -0
  940. package/dist/server.impl-y2ki-U8R.js +12822 -0
  941. package/dist/session-BmhZ0w1g.js +48 -0
  942. package/dist/session-archive.runtime.js +1 -1
  943. package/dist/session-envelope-CcfhPnpN.js +18 -0
  944. package/dist/session-key-B4usxD24.js +65 -0
  945. package/dist/session-kill-http-CBVZRf5-.js +110 -0
  946. package/dist/session-meta-BboKGMtd.js +109 -0
  947. package/dist/session-override-BOwEVLnz.js +106 -0
  948. package/dist/session-reset-model.runtime-ZTv_T7lt.js +133 -0
  949. package/dist/session-reset-model.runtime.js +1 -1
  950. package/dist/session-reset-service-EkGOtdE8.js +471 -0
  951. package/dist/session-route-BGqKLpT1.js +93 -0
  952. package/dist/session-status.runtime-8fW2zaxe.js +2 -0
  953. package/dist/session-status.runtime.js +1 -1
  954. package/dist/session-store-DgAh1suS.js +126 -0
  955. package/dist/session-store.runtime-JjCOtrjx.js +2 -0
  956. package/dist/session-store.runtime.js +1 -1
  957. package/dist/session-subagent-reactivation.runtime-Ds5c0djG.js +2 -0
  958. package/dist/session-subagent-reactivation.runtime.js +1 -1
  959. package/dist/session-tab-registry-DkVIf7hV.js +581 -0
  960. package/dist/session-updates-Cv75xqmY.js +236 -0
  961. package/dist/session-updates.runtime-B8c11iw1.js +2 -0
  962. package/dist/session-updates.runtime.js +1 -1
  963. package/dist/session-utils-CuzGvD11.js +1006 -0
  964. package/dist/session-visibility-C3JCU9JN.js +147 -0
  965. package/dist/sessions-CxqBNE-J.js +2 -0
  966. package/dist/sessions-DNlJETOX.js +48 -0
  967. package/dist/sessions-DaSeSXOJ.js +281 -0
  968. package/dist/sessions-Dm6k-udS.js +16 -0
  969. package/dist/sessions-helpers-DOb5IrRm.js +304 -0
  970. package/dist/sessions-history-http-CupOgqEu.js +383 -0
  971. package/dist/sessions-patch-CzbJpzmm.js +309 -0
  972. package/dist/sessions-resolve-jfzejD6e.js +174 -0
  973. package/dist/sessions.runtime-BVhaNHoj.js +2 -0
  974. package/dist/sessions.runtime.js +1 -1
  975. package/dist/setup-C_cEOif3.js +495 -0
  976. package/dist/setup-DafKIWc2.js +421 -0
  977. package/dist/setup-api-CaIoRGbW.js +29 -0
  978. package/dist/setup-core-DHSQ96hI.js +171 -0
  979. package/dist/setup-core-SSEJmQpZ.js +176 -0
  980. package/dist/setup-surface-C6FileLV.js +219 -0
  981. package/dist/setup-surface-GihBDZa6.js +403 -0
  982. package/dist/setup-surface-biZwah-0.js +286 -0
  983. package/dist/setup.finalize-ch5XUfVx.js +539 -0
  984. package/dist/setup.gateway-config-ueuag32X.js +250 -0
  985. package/dist/shared--9pW5Ce7.js +76 -0
  986. package/dist/shared-BHLRlMoM.js +217 -0
  987. package/dist/shared-BbFyx9G1.js +121 -0
  988. package/dist/shared-CiA5BTBf.js +198 -0
  989. package/dist/shared-runtime-9X8j5_KJ.js +7 -0
  990. package/dist/skill-commands-X1nUEOXX.js +83 -0
  991. package/dist/skill-commands.runtime-t_xMebUt.js +2 -0
  992. package/dist/skill-commands.runtime.js +1 -1
  993. package/dist/skills-clawhub-Qqd5npos.js +275 -0
  994. package/dist/skills-cli-D1XXa0XQ.js +370 -0
  995. package/dist/skills-install-Dub1fmyK.js +605 -0
  996. package/dist/skills-snapshot.runtime-jMF9Gla8.js +7 -0
  997. package/dist/skills-snapshot.runtime.js +1 -1
  998. package/dist/slash-state-C4SKy5al.js +1911 -0
  999. package/dist/speech-provider-DN4EL6mY.js +209 -0
  1000. package/dist/speech-provider-DiHqRzvg.js +216 -0
  1001. package/dist/speech-provider-I6DuR7ih.js +170 -0
  1002. package/dist/src-CvAKVqK5.js +3974 -0
  1003. package/dist/stage-sandbox-media.runtime-D3i8uZyP.js +232 -0
  1004. package/dist/stage-sandbox-media.runtime.js +1 -1
  1005. package/dist/stale-plugin-config-DjXhX5ro.js +103 -0
  1006. package/dist/stale-plugin-config-OQnSe4DX.js +2 -0
  1007. package/dist/startup-context-BCZp-nrD.js +312 -0
  1008. package/dist/state-migrations-w5G6NV2T.js +820 -0
  1009. package/dist/status-BHUXDOxB.js +190 -0
  1010. package/dist/status-Bj0PB_BB.js +209 -0
  1011. package/dist/status-CoR6bPDI.js +2 -0
  1012. package/dist/status-DF3nzErU.js +3 -0
  1013. package/dist/status-DYRFWBUr.js +2 -0
  1014. package/dist/status-QjQ5fLJG.js +397 -0
  1015. package/dist/status-RapY_a8v.js +62 -0
  1016. package/dist/status-all-C5dOpSTJ.js +498 -0
  1017. package/dist/status-json-Ch8iLhXc.js +14 -0
  1018. package/dist/status-json-command-j0_mDLvG.js +84 -0
  1019. package/dist/status-message-DZWQePYx.js +466 -0
  1020. package/dist/status-message.runtime-uc5V05rB.js +6 -0
  1021. package/dist/status-message.runtime.js +1 -1
  1022. package/dist/status-queue.runtime-DCiv2--4.js +2 -0
  1023. package/dist/status-queue.runtime.js +1 -1
  1024. package/dist/status-runtime-shared-ZMmwbQgo.js +257 -0
  1025. package/dist/status-subagents.runtime-BtzPnPQK.js +18 -0
  1026. package/dist/status-subagents.runtime.js +1 -1
  1027. package/dist/status-text-DWp3FqTV.js +237 -0
  1028. package/dist/status.agent-local-BOqQC7TE.js +58 -0
  1029. package/dist/status.command.text-runtime-BGajGa6I.js +15 -0
  1030. package/dist/status.gateway-connection.runtime-oVziBbXJ.js +2 -0
  1031. package/dist/status.gateway-connection.runtime.js +1 -1
  1032. package/dist/status.gateway-probe-uIu3L-Rn.js +16 -0
  1033. package/dist/status.gather-K0BR9xLt.js +2 -0
  1034. package/dist/status.gather-vx7VGIBO.js +292 -0
  1035. package/dist/status.link-channel-A9hhIWyV.js +35 -0
  1036. package/dist/status.node-mode-Be4WLZXV.js +32 -0
  1037. package/dist/status.node-mode-Blnsadww.js +2 -0
  1038. package/dist/status.runtime-B2ripBxv.js +2 -0
  1039. package/dist/status.runtime-Bo7TFvUE.js +2 -0
  1040. package/dist/status.runtime.js +1 -1
  1041. package/dist/status.scan-BiRMUkAL.js +65 -0
  1042. package/dist/status.scan-overview-CHPUBwXN.js +379 -0
  1043. package/dist/status.scan.deps.runtime.js +1 -1
  1044. package/dist/status.scan.fast-json-B17v4E7m.js +132 -0
  1045. package/dist/status.scan.fast-json-DnHV6-FY.js +2 -0
  1046. package/dist/status.scan.runtime-DkG5vIQz.js +409 -0
  1047. package/dist/status.scan.runtime.js +1 -1
  1048. package/dist/status.summary-B-dxNuw4.js +2 -0
  1049. package/dist/status.summary-BUa9nTjl.js +214 -0
  1050. package/dist/status.update-Dk3S_7Lg.js +79 -0
  1051. package/dist/status.update-XYGUXSP7.js +2 -0
  1052. package/dist/store-B0wUii0o.js +910 -0
  1053. package/dist/store-C6gzhrUl.js +4 -0
  1054. package/dist/store.runtime-zFzaCgaN.js +2 -0
  1055. package/dist/store.runtime.js +1 -1
  1056. package/dist/stream-BGF6sIIj.js +664 -0
  1057. package/dist/subagent-announce-cxSxcEpf.js +351 -0
  1058. package/dist/subagent-announce-delivery-DWWzFpRW.js +726 -0
  1059. package/dist/subagent-announce-output-BifyE5eI.js +364 -0
  1060. package/dist/subagent-capabilities-AF6T_57k.js +251 -0
  1061. package/dist/subagent-control-CdZhtCp9.js +506 -0
  1062. package/dist/subagent-control.runtime-DBV8B-6z.js +3 -0
  1063. package/dist/subagent-control.runtime.js +1 -1
  1064. package/dist/subagent-followup.runtime-BPnUQG2q.js +68 -0
  1065. package/dist/subagent-followup.runtime.js +1 -1
  1066. package/dist/subagent-orphan-recovery-BmhbSEPM.js +305 -0
  1067. package/dist/subagent-registry-BPOTEL9f.js +1753 -0
  1068. package/dist/subagent-registry-DksKb1R4.js +3 -0
  1069. package/dist/subagent-registry.runtime.js +1 -1
  1070. package/dist/subagent-spawn-CtYFn2NM.js +1005 -0
  1071. package/dist/supervisor-B-cWweJz.js +704 -0
  1072. package/dist/supervisor-log.runtime.js +1 -1
  1073. package/dist/system-cli-C_3trUzR.js +59 -0
  1074. package/dist/systemd-linger-Bp7RlUum.js +2 -0
  1075. package/dist/target-id-Ujv5hNZO.js +107 -0
  1076. package/dist/targets-Rv4LtIoh.js +67 -0
  1077. package/dist/targets.runtime.js +1 -1
  1078. package/dist/task-executor-DjPeHczG.js +360 -0
  1079. package/dist/task-owner-access-CMLLG2vh.js +74 -0
  1080. package/dist/task-registry-Q3Cl90mj.js +2366 -0
  1081. package/dist/task-registry-delivery-runtime-BSuaWdpl.js +2 -0
  1082. package/dist/task-registry-delivery-runtime-DWCwND9H.js +3 -0
  1083. package/dist/task-registry.maintenance-CvZuHZTV.js +416 -0
  1084. package/dist/task-registry.maintenance-IDjkL8Np.js +2 -0
  1085. package/dist/telegram/token.js +2 -2
  1086. package/dist/testing-CNkQ39ew.js +575 -0
  1087. package/dist/text-report-DVIG_L7b.js +587 -0
  1088. package/dist/tool-auth-shared-De65N_fJ.js +90 -0
  1089. package/dist/tool-policy-pipeline-Cwo7nErU.js +109 -0
  1090. package/dist/tool-resolution-s05uymkY.js +90 -0
  1091. package/dist/tools-effective-inventory--jk1GD1B.js +152 -0
  1092. package/dist/tools-invoke-http-Bkpw98PK.js +206 -0
  1093. package/dist/transcript-YAj-FvLG.js +312 -0
  1094. package/dist/transcript-resolve.runtime-4NCOnX42.js +2 -0
  1095. package/dist/transcript-resolve.runtime.js +1 -1
  1096. package/dist/transcript.runtime-CoUyn9fx.js +2 -0
  1097. package/dist/transcript.runtime.js +1 -1
  1098. package/dist/trash-Bj9oW0g5.js +24 -0
  1099. package/dist/tts-Cnj91x3B.js +64 -0
  1100. package/dist/tui-cli-63sm8eVE.js +4575 -0
  1101. package/dist/uninstall-9nOSf4s_.js +185 -0
  1102. package/dist/update-DlxQL9Iy.js +1282 -0
  1103. package/dist/update-cli-C_DkYNQx.js +1759 -0
  1104. package/dist/update-runner-xWl321w2.js +1892 -0
  1105. package/dist/update-startup-DDtqVzgO.js +331 -0
  1106. package/dist/update-startup-DN0IlVjY.js +2 -0
  1107. package/dist/upgrade-CROnI5RX.js +1226 -0
  1108. package/dist/video-generation-provider-B8mxQJBe.js +271 -0
  1109. package/dist/video-generation-provider-BmWUZDy3.js +78 -0
  1110. package/dist/video-generation-provider-BnHoRhgc.js +254 -0
  1111. package/dist/video-generation-provider-BzbQU0_O2.js +77 -0
  1112. package/dist/video-generation-provider-C4a6Fid4.js +64 -0
  1113. package/dist/video-generation-provider-CPKiG6d-.js +287 -0
  1114. package/dist/video-generation-provider-Cvb0pnUY.js +221 -0
  1115. package/dist/video-generation-provider-D40zcMSN.js +264 -0
  1116. package/dist/video-generation-provider-DahQjVLx.js +118 -0
  1117. package/dist/video-generation-provider-Ni3qeKHD.js +187 -0
  1118. package/dist/video-generation-provider-VpDrag9H.js +281 -0
  1119. package/dist/video-generation-task-status-D_6OimZH.js +163 -0
  1120. package/dist/wait-for-idle-before-flush-jjJHjLe9.js +5986 -0
  1121. package/dist/web-search-provider-CX_JSUqp.js +163 -0
  1122. package/dist/webhooks-cli-BgTQ_P6o.js +321 -0
  1123. package/dist/wizard-models-BXxRio-w.js +161 -0
  1124. package/dist/workflow-runtime-D62ZaRZf.js +485 -0
  1125. package/package.json +1 -1
  1126. package/dist/abort-OiNnhIeU.js +0 -201
  1127. package/dist/abort-cutoff.runtime-e5msXazz.js +0 -20
  1128. package/dist/abort.runtime-32L7to00.js +0 -2
  1129. package/dist/accounts-14lAXeAz.js +0 -107
  1130. package/dist/accounts-LZBr-w-R.js +0 -2
  1131. package/dist/accounts-Qds94ljJ.js +0 -104
  1132. package/dist/acp-cli-Dpw7BGfH.js +0 -2193
  1133. package/dist/acp-spawn-CY9aGxXS.js +0 -1093
  1134. package/dist/acp-spawn-_f_fT2de.js +0 -2
  1135. package/dist/acp-stateful-target-driver-CCR0BYbj.js +0 -89
  1136. package/dist/action-agents-EpYpAn3c.js +0 -67
  1137. package/dist/action-focus-B3Ps1mmc.js +0 -132
  1138. package/dist/action-help-BGFH_VTi.js +0 -7
  1139. package/dist/action-info-C8TaNUkA.js +0 -101
  1140. package/dist/action-kill-DGSI5rAr.js +0 -33
  1141. package/dist/action-list-mDthFZbQ.js +0 -21
  1142. package/dist/action-log-BP5nomP5.js +0 -30
  1143. package/dist/action-send-Bh2FybD3.js +0 -39
  1144. package/dist/action-spawn-Dn0I3O5l.js +0 -47
  1145. package/dist/action-unfocus-BC9BBJec.js +0 -29
  1146. package/dist/actions.runtime-DbK3OvjW.js +0 -5
  1147. package/dist/actions.runtime-ydCDe6F7.js +0 -18
  1148. package/dist/agent-2o2eoVoy.js +0 -2
  1149. package/dist/agent-command-DmyA9z8R.js +0 -874
  1150. package/dist/agent-harness-runtime-B5rFeVnf.js +0 -144
  1151. package/dist/agent-runner-utils-DZOonqcp.js +0 -239
  1152. package/dist/agent-runner.runtime-ByRVf3ri.js +0 -3455
  1153. package/dist/agent-runtime-CHO-MdDI.js +0 -18
  1154. package/dist/agents-9L9SuCcn.js +0 -5
  1155. package/dist/agents-WtBMKDwO.js +0 -954
  1156. package/dist/agents.bindings-DUCT7yry.js +0 -2
  1157. package/dist/agents.command-shared-BBhswYB6.js +0 -40
  1158. package/dist/aliases-BbVKhonh.js +0 -96
  1159. package/dist/aliases-CZ5oBftl.js +0 -2
  1160. package/dist/api-BWDQZArS.js +0 -48
  1161. package/dist/api-HqzZCzSZ.js +0 -5
  1162. package/dist/api-YyjQX3CK.js +0 -3
  1163. package/dist/api-aioOoaX8.js +0 -139
  1164. package/dist/api-mhcwEPke.js +0 -4
  1165. package/dist/apply-D-o-D5ae.js +0 -508
  1166. package/dist/apply.runtime-BkZiuui8.js +0 -166
  1167. package/dist/apply.runtime-BnL-LuiS.js +0 -2
  1168. package/dist/approval-gateway-resolver-ZfVZSqSY.js +0 -29
  1169. package/dist/approval-gateway-runtime-B3klmuhM.js +0 -2
  1170. package/dist/approval-handler-runtime-B9-1ZE2m.js +0 -439
  1171. package/dist/approval-native-runtime-Dc47eE28.js +0 -729
  1172. package/dist/assistant-identity-BJGlR731.js +0 -74
  1173. package/dist/attempt-execution.runtime-Dvb3Lr4C.js +0 -509
  1174. package/dist/attempt-execution.shared-CrrA0Anh.js +0 -22
  1175. package/dist/attempt.prompt-helpers-D42OSEcl.js +0 -221
  1176. package/dist/attempt.tool-run-context-fDOIg6kt.js +0 -933
  1177. package/dist/audit-B2pydz3g.js +0 -939
  1178. package/dist/audit-extra.async-nI09atn6.js +0 -971
  1179. package/dist/audit-tool-policy-BKWAS6yU.js +0 -3
  1180. package/dist/audit.deep.runtime-aPovRAts.js +0 -2
  1181. package/dist/audit.nondeep.runtime-BvrCJl4U.js +0 -880
  1182. package/dist/audit.runtime-b0S_gQ96.js +0 -7
  1183. package/dist/auth-BN2154e0.js +0 -383
  1184. package/dist/auth-CAbEo0kO.js +0 -56
  1185. package/dist/auth-D2nGJuio.js +0 -2
  1186. package/dist/auth-ZHjpnQ6q.js +0 -177
  1187. package/dist/auth-choice-BSXGTESF.js +0 -354
  1188. package/dist/auth-choice-C5CTX499.js +0 -85
  1189. package/dist/auth-choice-C9-7i28N.js +0 -3
  1190. package/dist/auth-choice-inference-s8zdsYr7.js +0 -30
  1191. package/dist/auth-choice-legacy-CCxoDHuP.js +0 -40
  1192. package/dist/auth-choice-legacy-DDkk2RCn.js +0 -2
  1193. package/dist/auth-choice-options-BIa3PkrG.js +0 -99
  1194. package/dist/auth-choice-prompt-3zAPptyB.js +0 -2
  1195. package/dist/auth-choice-prompt-CVXaEZMS.js +0 -37
  1196. package/dist/auth-choice.apply.api-providers-CWgqsayF.js +0 -2
  1197. package/dist/auth-install-policy-ISsAgDw3.js +0 -195
  1198. package/dist/auth-order-CAYi780T.js +0 -2
  1199. package/dist/auth-order-Db_WKPjd.js +0 -96
  1200. package/dist/backup-verify-CdOAmzAS.js +0 -2
  1201. package/dist/bash-tools-DBpdfhbT.js +0 -3
  1202. package/dist/bash-tools-qdz1BvUq.js +0 -2824
  1203. package/dist/bash-tools.exec-runtime-BxYRaGWr.js +0 -829
  1204. package/dist/binding-routing-C5KQ4aMB.js +0 -85
  1205. package/dist/binding-targets-B21rWX8y.js +0 -121
  1206. package/dist/bonjour-discovery-DdJwp8BR.js +0 -2
  1207. package/dist/bridge-server-Cd9HIyEM.js +0 -113
  1208. package/dist/browser-control-auth-CqUfrmnh.js +0 -2
  1209. package/dist/browser-node-runtime-C_gi-Hxh.js +0 -12
  1210. package/dist/browser-profiles-B3PNUxu6.js +0 -2
  1211. package/dist/browser-runtime-CKNoYQQT.js +0 -387
  1212. package/dist/browser-setup-tools-BS6MamG8.js +0 -13
  1213. package/dist/build-MUrq4SZe.js +0 -550
  1214. package/dist/bundled-plugin-load-paths-PGID9xSk.js +0 -2
  1215. package/dist/bundled-plugin-load-paths-gO3UWVBf.js +0 -110
  1216. package/dist/call-4ZLbcShk.js +0 -3
  1217. package/dist/call-CnVwqvc-.js +0 -331
  1218. package/dist/call.runtime-P3tmnPlm.js +0 -2
  1219. package/dist/capability-cli-Dsf3kVxU.js +0 -1401
  1220. package/dist/catalog-provider-BbeVG9BX.js +0 -40
  1221. package/dist/catchup-DIWi6bFP.js +0 -300
  1222. package/dist/channel-Bd4WBT1e.js +0 -491
  1223. package/dist/channel-BjZJYYzo.js +0 -297
  1224. package/dist/channel-BxGYV6Zd.js +0 -840
  1225. package/dist/channel-CLQBCnlI.js +0 -350
  1226. package/dist/channel-CSWAj5aC.js +0 -226
  1227. package/dist/channel-CbZZjPYz.js +0 -1100
  1228. package/dist/channel-Cd2ZsgQ2.js +0 -453
  1229. package/dist/channel-CfyL5j9F.js +0 -595
  1230. package/dist/channel-Dblz16CA.js +0 -1174
  1231. package/dist/channel-Dklq7HwR.js +0 -1802
  1232. package/dist/channel-JMpXfym9.js +0 -1320
  1233. package/dist/channel-add-wizard-BZxYZDO9.js +0 -125
  1234. package/dist/channel-add-wizard-CaHT24zz.js +0 -2
  1235. package/dist/channel-core-5nOGNjtf.js +0 -5
  1236. package/dist/channel-doctor-BJW7bTGQ.js +0 -2
  1237. package/dist/channel-inbound-BWxr-ADn.js +0 -31
  1238. package/dist/channel-plugin-resolution-BPeYeZA8.js +0 -2
  1239. package/dist/channel-plugin-resolution-BlBNIB2a.js +0 -153
  1240. package/dist/channel-plugin-runtime-DbNUeRTy.js +0 -771
  1241. package/dist/channel-runtime-B3OHY6mP.js +0 -425
  1242. package/dist/channel-setup-Ds6mtf4v.js +0 -1297
  1243. package/dist/channel.runtime-BJpm5f_F.js +0 -109
  1244. package/dist/channel.runtime-Bj_EgjGh.js +0 -430
  1245. package/dist/channel.runtime-CQlCIZX3.js +0 -2364
  1246. package/dist/channel.runtime-M9ynpc3S.js +0 -34702
  1247. package/dist/channel.runtime-SFS4pZM1.js +0 -576
  1248. package/dist/channel.runtime-ZW6QViZZ.js +0 -4
  1249. package/dist/channel.runtime-_XulV4EX.js +0 -89
  1250. package/dist/channel.setup-WsdWwhwp.js +0 -10
  1251. package/dist/channels-DGKW1oDr.js +0 -733
  1252. package/dist/channels-cli-BlDYocQE.js +0 -268
  1253. package/dist/chat-Dw8GHjpf.js +0 -2830
  1254. package/dist/chrome-CpgPgeb8.js +0 -1181
  1255. package/dist/clawbot-cli-0H08qQ39.js +0 -9
  1256. package/dist/clawhub-B8vQZp2O.js +0 -400
  1257. package/dist/cli-BqWXkeUs.js +0 -72
  1258. package/dist/cli-DHl3RmiM.js +0 -2
  1259. package/dist/cli-DvG2clNo.js +0 -219
  1260. package/dist/cli-GgpzGzY-.js +0 -683
  1261. package/dist/cli-H3X3Abhi.js +0 -2
  1262. package/dist/cli-I_U18Zj7.js +0 -3726
  1263. package/dist/cli-N7s4V_Ac.js +0 -154
  1264. package/dist/cli-Q34b38_6.js +0 -2
  1265. package/dist/cli-runner-D87jhfwM.js +0 -286
  1266. package/dist/cli-runner.runtime-B53dwXf1.js +0 -4
  1267. package/dist/cli-runner.runtime-CXPtmCqJ.js +0 -3
  1268. package/dist/cli.runtime-DmBLxGrW.js +0 -1261
  1269. package/dist/client-Bm9vKmhX.js +0 -138
  1270. package/dist/client-CDLetywx.js +0 -713
  1271. package/dist/command-auth-CvC6ZhtG.js +0 -76
  1272. package/dist/command-config-resolution-Do83X_Bp.js +0 -23
  1273. package/dist/command-config-resolution-pVG6FoqP.js +0 -2
  1274. package/dist/command-config-resolution.runtime-kEVcfMZm.js +0 -2
  1275. package/dist/command-execution-startup-IAvWVwb_.js +0 -305
  1276. package/dist/command-registry-BdK4qesS.js +0 -9
  1277. package/dist/command-registry-ClR7_y_z.js +0 -4
  1278. package/dist/command-registry-core-B60OtQ9I.js +0 -101
  1279. package/dist/command-secret-gateway-CvREjM9H.js +0 -528
  1280. package/dist/command-status.runtime-3XmhZqmG.js +0 -87
  1281. package/dist/commands-acp-BYABMzhY.js +0 -77
  1282. package/dist/commands-compact.runtime-C3J3UER-.js +0 -10
  1283. package/dist/commands-core.runtime-DFdJh60s.js +0 -2
  1284. package/dist/commands-handlers.runtime-DCdcViLH.js +0 -4597
  1285. package/dist/commands-reset-hooks-DLnWb1Va.js +0 -133
  1286. package/dist/commands-status-CEF7Mp6D.js +0 -16
  1287. package/dist/commands-status.runtime-zP6s0nfh.js +0 -3
  1288. package/dist/commands-subagents-control.runtime-BSWumf8c.js +0 -2
  1289. package/dist/commands-subagents-control.runtime-Dy4sppYu.js +0 -3
  1290. package/dist/commands-system-prompt-BYonuxzQ.js +0 -158
  1291. package/dist/commands-system-prompt-C6TjY3rz.js +0 -2
  1292. package/dist/commands.runtime-DTd3pO4m.js +0 -166
  1293. package/dist/compact-DeHVeOYR.js +0 -1118
  1294. package/dist/compact.runtime-DO9qQwQU.js +0 -12
  1295. package/dist/completion-cli-Deus3b8-.js +0 -328
  1296. package/dist/config-Bw5Kew-v.js +0 -252
  1297. package/dist/config-cli-DFB3iuKb.js +0 -1078
  1298. package/dist/config-guard-t7jywPR-.js +0 -96
  1299. package/dist/config-runtime-Bt88vmOj.js +0 -32
  1300. package/dist/configure-CQIKpSbu.js +0 -1252
  1301. package/dist/configure-DOc4NeXh.js +0 -2
  1302. package/dist/connect-options-COnDbzRx.js +0 -699
  1303. package/dist/control-auth-Cn5YR5wo.js +0 -125
  1304. package/dist/control-service-BN9tjmGf.js +0 -156
  1305. package/dist/control-ui/assets/agents-CZUIyxEM.js +0 -1052
  1306. package/dist/control-ui/assets/canvas-Dm7T865D.js +0 -269
  1307. package/dist/control-ui/assets/channels-CiPvudJA.js +0 -463
  1308. package/dist/control-ui/assets/cron-B14-kw5R.js +0 -933
  1309. package/dist/control-ui/assets/debug-CmDZanup.js +0 -94
  1310. package/dist/control-ui/assets/index-DhGuBeJ2.js +0 -6359
  1311. package/dist/control-ui/assets/instances-VaZKj4g5.js +0 -57
  1312. package/dist/control-ui/assets/nodes-OYjiryo2.js +0 -436
  1313. package/dist/control-ui/assets/plugins-PP89PB4Q.js +0 -273
  1314. package/dist/control-ui/assets/sessions-i9hJdgF0.js +0 -306
  1315. package/dist/control-ui/assets/skills-BbUBXFNS.js +0 -323
  1316. package/dist/control-ui/assets/wallet-Olr48I33.js +0 -199
  1317. package/dist/control-ui-BJSryFYU.js +0 -1043
  1318. package/dist/conversation-id-DUC83-Xa.js +0 -235
  1319. package/dist/conversation-id-G--VoHRy.js +0 -38
  1320. package/dist/conversation-runtime-BgY9C2BO.js +0 -31
  1321. package/dist/core-v4f7bXWW.js +0 -275
  1322. package/dist/create-C26klqm6.js +0 -80
  1323. package/dist/cron-cli-nedGNJU0.js +0 -713
  1324. package/dist/daemon-cli-COmc1YwZ.js +0 -12
  1325. package/dist/daemon-install-BOPAEUyR.js +0 -64
  1326. package/dist/delegate-DEFh3qEB.js +0 -64
  1327. package/dist/deliver-BFyI54_G.js +0 -747
  1328. package/dist/deliver-CbT0UmtQ.js +0 -3
  1329. package/dist/deliver-runtime-DOskrGHp.js +0 -2
  1330. package/dist/delivery-outbound.runtime-CYJH20qm.js +0 -6
  1331. package/dist/delivery.runtime-Bc8givN7.js +0 -253
  1332. package/dist/detached-task-runtime-qIh7q5y5.js +0 -73
  1333. package/dist/devices-cli-CVodCsvr.js +0 -498
  1334. package/dist/diagnostic-support-export-8ChBfjDE.js +0 -533
  1335. package/dist/diagnostics-Bk94MOXQ.js +0 -154
  1336. package/dist/direct-dm-CHkFU7It.js +0 -64
  1337. package/dist/directive-handling.fast-lane-BS0-sUhG.js +0 -66
  1338. package/dist/directive-handling.impl-B1lfwgo8.js +0 -2
  1339. package/dist/directive-handling.impl-E4GHiSw4.js +0 -703
  1340. package/dist/directive-handling.model-selection-CbeBlSGR.js +0 -114
  1341. package/dist/directive-handling.persist.runtime-BbOq7k7q.js +0 -215
  1342. package/dist/directory-cli-APPOcabH.js +0 -240
  1343. package/dist/discovery-CWThCB8j.js +0 -2
  1344. package/dist/dispatch-BUIn3xT5.js +0 -1131
  1345. package/dist/dispatch-acp-CauXB0Yh.js +0 -981
  1346. package/dist/dispatch-acp-manager.runtime-B8MJ8ECj.js +0 -3
  1347. package/dist/dispatch-acp-media.runtime-B1Y3Y1XZ.js +0 -4
  1348. package/dist/dispatch-acp-session.runtime-DyC5raRj.js +0 -2
  1349. package/dist/dispatch-acp.runtime-vchRvLDX.js +0 -19
  1350. package/dist/doctor-auth-2TMwkvdZ.js +0 -172
  1351. package/dist/doctor-auth-legacy-oauth-BrYdrsbD.js +0 -2
  1352. package/dist/doctor-completion-8OcoxUsx.js +0 -2
  1353. package/dist/doctor-config-flow-WxpaZx3C.js +0 -420
  1354. package/dist/doctor-config-preflight-BaF4urE-.js +0 -63
  1355. package/dist/doctor-config-preflight-DZtMnKmU.js +0 -2
  1356. package/dist/doctor-cron-B2u67rGg.js +0 -678
  1357. package/dist/doctor-device-pairing-ChWlWNdm.js +0 -307
  1358. package/dist/doctor-gateway-daemon-flow-CSmhkG4A.js +0 -250
  1359. package/dist/doctor-gateway-health-DYiucwjE.js +0 -63
  1360. package/dist/doctor-gateway-services-D_PD0loN.js +0 -316
  1361. package/dist/doctor-health-BInF5NOz.js +0 -59
  1362. package/dist/doctor-health-contributions-C6TfTHDb.js +0 -493
  1363. package/dist/doctor-memory-search-Cg2YmLfu.js +0 -372
  1364. package/dist/doctor-prompter-DqkSAPwY.js +0 -56
  1365. package/dist/doctor-sandbox-BjgX5g3i.js +0 -194
  1366. package/dist/doctor-security-T7us9uYd.js +0 -210
  1367. package/dist/doctor-startup-channel-maintenance-64W6Pwei.js +0 -17
  1368. package/dist/doctor-state-migrations-C9RkcS_g.js +0 -2
  1369. package/dist/doctor-ui-zOuoVLme.js +0 -96
  1370. package/dist/doctor-update-sAD6RCVl.js +0 -58
  1371. package/dist/doctor-workspace-k-oOpOeQ.js +0 -2
  1372. package/dist/doctor-workspace-status-BAyT2p1j.js +0 -75
  1373. package/dist/dreaming-0_evepvy.js +0 -1574
  1374. package/dist/dreaming-narrative-BAEykAPD.js +0 -595
  1375. package/dist/embedded-gateway-stub.runtime-CQXHNoef.js +0 -9
  1376. package/dist/embedding-provider-D77jg3jO.js +0 -118
  1377. package/dist/embeddings-D-kGtEij.js +0 -215
  1378. package/dist/embeddings-http-CAfo13K3.js +0 -205
  1379. package/dist/empty-allowlist-scan-1Cp5AShv.js +0 -94
  1380. package/dist/empty-allowlist-scan-BI-ys6De.js +0 -2
  1381. package/dist/exec-approval-forwarder.runtime-maLuSa-B.js +0 -3
  1382. package/dist/exec-approvals-cli-BzYJkBAZ.js +0 -498
  1383. package/dist/exec-defaults-BT1qVb9h.js +0 -67
  1384. package/dist/exec-defaults-dNWVx7dc.js +0 -2
  1385. package/dist/exec-safe-bins--gFVDDdV.js +0 -2
  1386. package/dist/exec-safe-bins-eiLrQcAD.js +0 -148
  1387. package/dist/execute.runtime-DJzB1HB8.js +0 -1366
  1388. package/dist/fallbacks-BH4cdaV7.js +0 -2
  1389. package/dist/fallbacks-BSBpnXa4.js +0 -31
  1390. package/dist/fallbacks-shared-Clt3TsQ_.js +0 -111
  1391. package/dist/format-4zWzhU8Q.js +0 -245
  1392. package/dist/gateway-BGXRwNec.js +0 -115
  1393. package/dist/gateway-cli-CzwyLwg1.js +0 -1325
  1394. package/dist/gateway-discovery-targets-4C__L2V_.js +0 -42
  1395. package/dist/gateway-install-token-CDZxlaDX.js +0 -141
  1396. package/dist/gateway-rpc-BY3Oto7p.js +0 -14
  1397. package/dist/gateway-rpc.runtime-BXWIEwJ2.js +0 -23
  1398. package/dist/gateway-runtime-DRwUkgHW.js +0 -15
  1399. package/dist/gateway-status-BpWDiRPo.js +0 -584
  1400. package/dist/genesis-tools-C_polEcn.js +0 -9144
  1401. package/dist/genesis-tools.runtime-wlLaYkmW.js +0 -2
  1402. package/dist/get-reply-Djbscb0p.js +0 -3879
  1403. package/dist/get-reply-from-config.runtime-c_yymFNc.js +0 -2
  1404. package/dist/gmail-watcher-lifecycle-Be-CadK5.js +0 -191
  1405. package/dist/gmail-watcher-lifecycle-ggzxPr2v.js +0 -2
  1406. package/dist/graph-users-DGzo2oi0.js +0 -1337
  1407. package/dist/health-BOIX5Hyd.js +0 -469
  1408. package/dist/health-DgxS2kKr.js +0 -3
  1409. package/dist/health-style-BpmhVr6t.js +0 -2
  1410. package/dist/heartbeat-runner-CwIewAFM.js +0 -5
  1411. package/dist/heartbeat-runner-DZWvlc6O.js +0 -1292
  1412. package/dist/heartbeat-runner.runtime-Bvwexwm3.js +0 -4
  1413. package/dist/hooks-cli-B__N8nFC.js +0 -433
  1414. package/dist/hooks-status-BZmM-4uk.js +0 -86
  1415. package/dist/image-fallbacks-ARdMNyk9.js +0 -2
  1416. package/dist/image-fallbacks-B5f-IPre.js +0 -31
  1417. package/dist/image-generation-core-DdJI4glx.js +0 -18
  1418. package/dist/image-generation-provider-CnjSM2cp.js +0 -63
  1419. package/dist/image-generation-provider-DMDKtyjs.js +0 -157
  1420. package/dist/image-generation-provider-DSGaFXvB.js +0 -95
  1421. package/dist/image-generation-provider-DWLTDUWA.js +0 -228
  1422. package/dist/image-generation-provider-Dpt9Cxhe.js +0 -529
  1423. package/dist/image-generation-provider-SOqiP_8D.js +0 -274
  1424. package/dist/image-generation-provider-hTILgvEs.js +0 -137
  1425. package/dist/image-runtime-Cw6KnPyI.js +0 -9
  1426. package/dist/inbound-reply-dispatch-B3FKSrdM.js +0 -73
  1427. package/dist/inbound.runtime-BEVTM-H0.js +0 -3
  1428. package/dist/inbound.runtime-bre1AEdv.js +0 -4
  1429. package/dist/infra-runtime-D40sSUCf.js +0 -39
  1430. package/dist/init-D--934lj.js +0 -59
  1431. package/dist/install-BPmIu7Fr.js +0 -726
  1432. package/dist/install-BPzQAw9w.js +0 -190
  1433. package/dist/install-security-scan-BI9eIS4d.js +0 -26
  1434. package/dist/install-security-scan.runtime-CZdmIMiU.js +0 -671
  1435. package/dist/install.runtime-CzO5O86f.js +0 -27
  1436. package/dist/install.runtime-DSFCCJsH.js +0 -12
  1437. package/dist/install.runtime-MU60vpuj.js +0 -2
  1438. package/dist/jobs-BfZ4AGS3.js +0 -734
  1439. package/dist/legacy-tools-by-sender-Cob0vuXU.js +0 -2
  1440. package/dist/legacy-tools-by-sender-sXGvvdwZ.js +0 -95
  1441. package/dist/library-DJ6vMjlq.js +0 -45
  1442. package/dist/lifecycle-C4_KEIsv.js +0 -571
  1443. package/dist/lifecycle-DvgTG8pk.js +0 -229
  1444. package/dist/lifecycle.runtime-D1DCL-wO.js +0 -2
  1445. package/dist/list-BXLV65Gc.js +0 -1212
  1446. package/dist/list-Bso59rT0.js +0 -2
  1447. package/dist/list-C27fOWdB.js +0 -2
  1448. package/dist/list-_dDCEcd-.js +0 -131
  1449. package/dist/list.probe-7PH4qvJj.js +0 -419
  1450. package/dist/live-model-switch-Dzwoi72R.js +0 -336
  1451. package/dist/llm-slug-generator-63kdm2OR.js +0 -79
  1452. package/dist/load-config-C_aH0rca.js +0 -35
  1453. package/dist/loader-PS-t7z4_.js +0 -222
  1454. package/dist/local-dispatch.runtime-DB4L69Z-.js +0 -8
  1455. package/dist/login-BYQtsezq.js +0 -108
  1456. package/dist/logs-cli-D7lfZhM7.js +0 -265
  1457. package/dist/logs-cli.runtime-CFyJZr7R.js +0 -2
  1458. package/dist/main-session-restart-recovery-CN8gSmXd.js +0 -206
  1459. package/dist/managed-image-attachments-BHpzxWpi.js +0 -635
  1460. package/dist/managed-image-attachments-ynrnuzaN.js +0 -2
  1461. package/dist/manager-BHdBsJ-4.js +0 -2057
  1462. package/dist/manager-BbEguv55.js +0 -2
  1463. package/dist/markdown-to-line-CvZX649M.js +0 -790
  1464. package/dist/mcp-cli-Bm36vIZ8.js +0 -725
  1465. package/dist/mcp-http-BAkamHPJ.js +0 -529
  1466. package/dist/media-runtime-xDvelqeF.js +0 -329
  1467. package/dist/media-understanding-D2f1Sw5u.js +0 -85
  1468. package/dist/media-understanding-provider-B5zBHITx.js +0 -13
  1469. package/dist/media-understanding-provider-BF9f8Kc2.js +0 -12
  1470. package/dist/media-understanding-provider-BO0XCNzy.js +0 -28
  1471. package/dist/media-understanding-provider-Cvz4Q6U8.js +0 -18
  1472. package/dist/media-understanding-provider-DDAuhJ_N.js +0 -12
  1473. package/dist/media-understanding-provider-DrmrHvoA.js +0 -85
  1474. package/dist/media-understanding-provider-DvNmD55z.js +0 -18
  1475. package/dist/media-understanding-provider-LIShWYb1.js +0 -21
  1476. package/dist/media-understanding-provider-bTDblFEB.js +0 -37
  1477. package/dist/media-understanding-provider-zMirTfGH.js +0 -69
  1478. package/dist/media-understanding-runtime-D4TZ-fjJ.js +0 -2
  1479. package/dist/memory-core-host-runtime-cli-Km35Eu66.js +0 -9
  1480. package/dist/memory-embedding-adapter-LQFGssCg.js +0 -123
  1481. package/dist/memory-host-search-D37_7MYw.js +0 -12
  1482. package/dist/message-Dw1Q1vDW.js +0 -232
  1483. package/dist/message-action-runner-5i2YKy26.js +0 -1407
  1484. package/dist/message-action-runner-rouTQpow.js +0 -2
  1485. package/dist/message-actions-CIGFQT75.js +0 -143
  1486. package/dist/message-format-CKLFXoR1.js +0 -328
  1487. package/dist/message.gateway.runtime-CsFUD3Xo.js +0 -2
  1488. package/dist/model-picker-B4VYxzEq.js +0 -559
  1489. package/dist/model-picker-CDUdNkfe.js +0 -3
  1490. package/dist/model-picker.runtime-Vbq_0Nyf.js +0 -15
  1491. package/dist/model-selection-DP4Zcp8n.js +0 -213
  1492. package/dist/models-auth-status-D1KCepQd.js +0 -201
  1493. package/dist/models-cli-Btj5FdA8.js +0 -219
  1494. package/dist/models.fetch-kJPiR3kv.js +0 -518
  1495. package/dist/monitor-BtGV4rhd.js +0 -1237
  1496. package/dist/monitor-C_AtnL_B.js +0 -1459
  1497. package/dist/monitor-CzrunYzr.js +0 -788
  1498. package/dist/monitor-DVyns958.js +0 -671
  1499. package/dist/monitor-Dl3Dgkhr.js +0 -1661
  1500. package/dist/monitor-Dlvc68h5.js +0 -2
  1501. package/dist/monitor-auth-tgR858Ie.js +0 -207
  1502. package/dist/monitor-processing-vrwGp4ey.js +0 -1974
  1503. package/dist/monitor.runtime-4gL93IXG.js +0 -2
  1504. package/dist/monitor.webhook-BY6fnY01.js +0 -180
  1505. package/dist/msteams-C_BTrDSD.js +0 -35
  1506. package/dist/music-generation-provider-DS5qzKbp.js +0 -63
  1507. package/dist/music-generation-provider-ETSXorR4.js +0 -170
  1508. package/dist/native-hook-relay-BV_VTu1a.js +0 -519
  1509. package/dist/nextcloud-talk-DAV3h79e.js +0 -17
  1510. package/dist/node-cli-BMyfOX1d.js +0 -2506
  1511. package/dist/nodes-cli-C7o6W-57.js +0 -1046
  1512. package/dist/nodes-utils-CkcInlXX.js +0 -84
  1513. package/dist/nodes.helpers-DlttpHIF.js +0 -34
  1514. package/dist/notify-BPswoXqd.js +0 -315
  1515. package/dist/oauth-BMW6Uu6d.js +0 -152
  1516. package/dist/oauth-C57IxcVb.js +0 -139
  1517. package/dist/oauth-Cos3_Tm8.js +0 -2
  1518. package/dist/oauth-DLhqzpsA.js +0 -75
  1519. package/dist/oauth-tls-preflight-7onGTMCp.js +0 -2
  1520. package/dist/oauth.flow-B5sXe4f9.js +0 -45
  1521. package/dist/oauth.flow-C4SGDpVk.js +0 -3
  1522. package/dist/onboard-D2DJ5gYK.js +0 -632
  1523. package/dist/onboard-azFxOPDQ.js +0 -316
  1524. package/dist/onboard-channels-B_8hae58.js +0 -3
  1525. package/dist/onboard-channels-CYYkzN3n.js +0 -2
  1526. package/dist/onboard-config-Dkx9PDJF.js +0 -2
  1527. package/dist/onboard-custom-DBWwn7bA.js +0 -3
  1528. package/dist/onboard-custom-DqPCa9g_.js +0 -271
  1529. package/dist/onboard-helpers-9F1luARe.js +0 -204
  1530. package/dist/onboard-helpers-B35AFfng.js +0 -6
  1531. package/dist/onboard-hooks-scqbQ_0u.js +0 -52
  1532. package/dist/onboard-remote-3Yoz22Ua.js +0 -2
  1533. package/dist/onboard-remote-DJNTDiWN.js +0 -193
  1534. package/dist/onboard-search-88CSSNZj.js +0 -323
  1535. package/dist/onboard-skills-4FG47R9v.js +0 -2
  1536. package/dist/onboard-skills-DszLde1e.js +0 -134
  1537. package/dist/onboarding-plugin-install-R2Wv8ogP.js +0 -406
  1538. package/dist/open-policy-allowfrom-Bb8cflPm.js +0 -101
  1539. package/dist/open-policy-allowfrom-D6Pt5lcH.js +0 -2
  1540. package/dist/openai-codex-provider-Sn6gnpPy.js +0 -472
  1541. package/dist/openai-http-RiSW6RCL.js +0 -500
  1542. package/dist/openai-provider-C5WiV_oK.js +0 -313
  1543. package/dist/opencode-BEf3DHS_.js +0 -35
  1544. package/dist/openresponses-http-uihsQrWI.js +0 -1128
  1545. package/dist/operator-approvals-client-CVnzkwJp.js +0 -68
  1546. package/dist/outbound-runtime-C8CZBjjK.js +0 -5
  1547. package/dist/outbound.runtime-Bu1pCn2b.js +0 -2
  1548. package/dist/pair-command-approve-VnlhalEu.js +0 -44
  1549. package/dist/persistent-bindings.lifecycle-CkZa5ZSw.js +0 -85
  1550. package/dist/persistent-bindings.lifecycle-JneetERl.js +0 -2
  1551. package/dist/pi-embedded-4mJWzgw8.js +0 -4
  1552. package/dist/pi-embedded-Cbd5cHT-.js +0 -2905
  1553. package/dist/pi-embedded-subscribe.handlers.compaction.runtime-Cc6L30ZZ.js +0 -23
  1554. package/dist/pi-embedded.runtime-hOBxsSX2.js +0 -4
  1555. package/dist/pi-tool-definition-adapter-BQ6J-gI3.js +0 -217
  1556. package/dist/pi-tools-mrYKf_w5.js +0 -1057
  1557. package/dist/pi-tools.before-tool-call-Bcu1s6dd.js +0 -2
  1558. package/dist/pi-tools.before-tool-call-Bp_y436W.js +0 -433
  1559. package/dist/plugin-C0AG4DfO.js +0 -12195
  1560. package/dist/plugin-enabled-6QWARqV2.js +0 -140
  1561. package/dist/plugin-install-CNvOZufr.js +0 -115
  1562. package/dist/plugin-install-DQ_puPBW.js +0 -2
  1563. package/dist/plugin-install-config-policy-CrdLAK6J.js +0 -137
  1564. package/dist/plugin-install-plan-BlGsFyaK.js +0 -50
  1565. package/dist/plugin-registration-BOWb2A5S.js +0 -23
  1566. package/dist/plugin-registry-Dvz3pMfk.js +0 -3
  1567. package/dist/plugin-registry-WynVAGXW.js +0 -2
  1568. package/dist/plugin-service-CoZBvaKW.js +0 -2892
  1569. package/dist/plugins-cli-DYqIZxn-.js +0 -584
  1570. package/dist/plugins-command-helpers-B9R6gAMK.js +0 -107
  1571. package/dist/plugins-install-persist-B9psaQNp.js +0 -133
  1572. package/dist/plugins-update-command-n-54MoUJ.js +0 -1057
  1573. package/dist/policy-CGIs0Whl.js +0 -328
  1574. package/dist/prepare.runtime-GJ3FP8zv.js +0 -815
  1575. package/dist/preview-warnings-C1sLJw-y.js +0 -120
  1576. package/dist/probe-B0uel_53.js +0 -2
  1577. package/dist/probe-BMLDcZ32.js +0 -241
  1578. package/dist/probe-Bav-QtgY.js +0 -243
  1579. package/dist/probe-BiwA57vj.js +0 -74
  1580. package/dist/probe-Ci_3ht33.js +0 -2205
  1581. package/dist/probe-D8pMlDSU.js +0 -1443
  1582. package/dist/probe-DezLtnJj.js +0 -2
  1583. package/dist/probe-Dt1gxKms.js +0 -45
  1584. package/dist/probe-auth-DlhTwb46.js +0 -3
  1585. package/dist/program-S6C78I73.js +0 -111
  1586. package/dist/program-context-Ds8uJ5_0.js +0 -2
  1587. package/dist/prompt-select-styled-bIPy-fsG.js +0 -20
  1588. package/dist/protocol-C83jsm03.js +0 -2335
  1589. package/dist/provider-CwjDoVuI.js +0 -70
  1590. package/dist/provider-api-key-auth-DJsXnAsJ.js +0 -114
  1591. package/dist/provider-auth-5weS24pb.js +0 -46
  1592. package/dist/provider-auth-api-key-xONPO54i.js +0 -5
  1593. package/dist/provider-auth-choice-BU6Uu-NM.js +0 -228
  1594. package/dist/provider-auth-choice-preference-CjLBlWwT.js +0 -27
  1595. package/dist/provider-auth-choices-Cae9lEV6.js +0 -2
  1596. package/dist/provider-auth-guidance-2WFCZas6.js +0 -2
  1597. package/dist/provider-auth-login-Dx6MBNVR.js +0 -8
  1598. package/dist/provider-auth-login.runtime-DPU3bX7X.js +0 -267
  1599. package/dist/provider-dispatcher-C5E193P9.js +0 -22
  1600. package/dist/provider-dispatcher-DRpaBVoI.js +0 -2
  1601. package/dist/provider-entry-CMWmgrzY.js +0 -106
  1602. package/dist/provider-flow-B_lCjxh6.js +0 -148
  1603. package/dist/provider-install-catalog-CHnjnVn4.js +0 -108
  1604. package/dist/provider-model-defaults-6YyFItrt.js +0 -6
  1605. package/dist/provider-registration-Cz_Sa6aj.js +0 -218
  1606. package/dist/provider-registration-oDE3wvPW.js +0 -37
  1607. package/dist/proxy-cli-5dsD8slb.js +0 -44
  1608. package/dist/proxy-cli.runtime-DtOAaJyi.js +0 -372
  1609. package/dist/pw-ai-CuxAxPAK.js +0 -2511
  1610. package/dist/qr-cli-BGy1EdFR.js +0 -2
  1611. package/dist/qr-cli-D1N1qj4a.js +0 -349
  1612. package/dist/qr-image-CfoAOgi7.js +0 -2
  1613. package/dist/queue-SeTgQ4v1.js +0 -409
  1614. package/dist/reaction-runtime-api-CCX6OLTi.js +0 -116
  1615. package/dist/reactions-HriS4Lzd.js +0 -998
  1616. package/dist/read-capability-CugyApjs.js +0 -412
  1617. package/dist/register-service-commands-Bm3YW4mf.js +0 -71
  1618. package/dist/register.agent-C_sWjcmM.js +0 -248
  1619. package/dist/register.backup-D2H0YOM2.js +0 -64
  1620. package/dist/register.configure-CDV38g-s.js +0 -15
  1621. package/dist/register.maintenance-HM6XlAmr.js +0 -438
  1622. package/dist/register.message-CppmF8Fq.js +0 -329
  1623. package/dist/register.onboard-DVw5tTxy.js +0 -81
  1624. package/dist/register.runtime-Bv_g58Z3.js +0 -81
  1625. package/dist/register.setup-DrYBirHr.js +0 -150
  1626. package/dist/register.status-health-sessions-D_BlsslT.js +0 -1215
  1627. package/dist/register.subclis-B_mIsoj1.js +0 -29
  1628. package/dist/register.subclis-cEgJqD-F.js +0 -3
  1629. package/dist/register.subclis-core-9Vbv6pXL.js +0 -249
  1630. package/dist/register.wallet-B8SZqXvK.js +0 -159
  1631. package/dist/repair-sequencing-CHE8lZBR.js +0 -145
  1632. package/dist/reply-dispatch-runtime-D2iW6oyM.js +0 -13
  1633. package/dist/reply-media-paths.runtime-Cbeuxf6S.js +0 -2
  1634. package/dist/reply-media-paths.runtime-Ce0sUqmz.js +0 -146
  1635. package/dist/reply-runtime-DbZbTyRR.js +0 -11
  1636. package/dist/reply.runtime-HZt78rs1.js +0 -2
  1637. package/dist/resolve-cTAHXgZf.js +0 -259
  1638. package/dist/response-generator-I1Txyrne.js +0 -175
  1639. package/dist/restart-health-COnZzsKp.js +0 -202
  1640. package/dist/restart-health-eI6OqLsK.js +0 -2
  1641. package/dist/root-help-JJCwZUWN.js +0 -44
  1642. package/dist/route-reply-Ceh8EGzd.js +0 -162
  1643. package/dist/route-reply.runtime-CnrZS4em.js +0 -2
  1644. package/dist/routes-8SM2K3mV.js +0 -3341
  1645. package/dist/routes-CdA2B5Ih.js +0 -2
  1646. package/dist/rpc-BjIUGNvJ.js +0 -61
  1647. package/dist/rpc.runtime-DrJSFwsT.js +0 -21
  1648. package/dist/run-auth-profile.runtime-DWQ2cTlZ.js +0 -2
  1649. package/dist/run-delivery.runtime-r8f_tOSs.js +0 -530
  1650. package/dist/run-embedded.runtime-cWFV7jeB.js +0 -4
  1651. package/dist/run-execution-cli.runtime-Cb_A5ZXZ.js +0 -4
  1652. package/dist/run-executor.runtime-cIKt7XT8.js +0 -277
  1653. package/dist/run-main-Dkeo211Q.js +0 -516
  1654. package/dist/run-subagent-registry.runtime-D3RJ_VVd.js +0 -2
  1655. package/dist/run-wait-BNHvcVAx.js +0 -135
  1656. package/dist/runner-BYC9AI6n.js +0 -966
  1657. package/dist/runner.entries-RQHPJQlO.js +0 -604
  1658. package/dist/runtime-7KFT5Wnl.js +0 -263
  1659. package/dist/runtime-CAnPdqA9.js +0 -973
  1660. package/dist/runtime-JujtR8I6.js +0 -72
  1661. package/dist/runtime-PfHASyBB.js +0 -9
  1662. package/dist/runtime-ZRlD3E9S.js +0 -2
  1663. package/dist/runtime-api-BH3mTSpX.js +0 -9
  1664. package/dist/runtime-api-DWMVXYzi.js +0 -9
  1665. package/dist/runtime-api-ejyh_z6Z.js +0 -14
  1666. package/dist/runtime-api-m8CybWFK.js +0 -4
  1667. package/dist/runtime-embedded-pi.runtime-C-IVwtTs.js +0 -2
  1668. package/dist/runtime-entry-C05y9IWz.js +0 -2769
  1669. package/dist/runtime-fpqEiCAz.js +0 -116
  1670. package/dist/runtime-internal-Dfyi8iby.js +0 -2
  1671. package/dist/runtime-options-CL-8UQhL.js +0 -275
  1672. package/dist/runtime-prepare.runtime-CP3YZRq0.js +0 -80
  1673. package/dist/runtime-registry-loader-C03Ol6U_.js +0 -2
  1674. package/dist/runtime-schema-CQHEAWIe.js +0 -27796
  1675. package/dist/runtime-web-tools-DX1a8FUK.js +0 -1477
  1676. package/dist/sandbox-DjctEHje.js +0 -1156
  1677. package/dist/sandbox-F3gPY6yS.js +0 -3
  1678. package/dist/sandbox-cli-BSvKQdGK.js +0 -450
  1679. package/dist/scan-CLP9mf6Q.js +0 -523
  1680. package/dist/scan-D_J6FOI2.js +0 -2
  1681. package/dist/secrets-cli-DSSo4ZAV.js +0 -2101
  1682. package/dist/security-cli-BrgxYyHT.js +0 -486
  1683. package/dist/selection-BLnL3CIA.js +0 -7736
  1684. package/dist/selection-Bopczn8T.js +0 -2
  1685. package/dist/send-BKyU3kY5.js +0 -156
  1686. package/dist/send-BtiJkfWW.js +0 -102
  1687. package/dist/send.runtime-DF-vTxbI.js +0 -2
  1688. package/dist/server-BLWOFAVH.js +0 -13
  1689. package/dist/server-CcSf1M9y.js +0 -77
  1690. package/dist/server-context-9-okJgp8.js +0 -2
  1691. package/dist/server-context-BFPsolSM.js +0 -847
  1692. package/dist/server-node-events-9U-zD3f7.js +0 -481
  1693. package/dist/server-plugin-bootstrap-Br17f8OG.js +0 -11535
  1694. package/dist/server-plugin-bootstrap-v7VjtrnR.js +0 -2
  1695. package/dist/server-restart-sentinel-CRSWqLu5.js +0 -697
  1696. package/dist/server.impl-CUbtVPLf.js +0 -12822
  1697. package/dist/session-DAybdZjw.js +0 -48
  1698. package/dist/session-envelope-CiS8YBeP.js +0 -18
  1699. package/dist/session-key-D68MvGwI.js +0 -65
  1700. package/dist/session-kill-http-AYORP5Al.js +0 -110
  1701. package/dist/session-meta-DiXSQVi7.js +0 -109
  1702. package/dist/session-override-BSDJ8_ze.js +0 -106
  1703. package/dist/session-reset-model.runtime-DY4_Jb5l.js +0 -133
  1704. package/dist/session-reset-service-B8-SYOa3.js +0 -471
  1705. package/dist/session-route-DCD8YOOS.js +0 -93
  1706. package/dist/session-status.runtime-DT5nKTVP.js +0 -2
  1707. package/dist/session-store-DKe1sTca.js +0 -126
  1708. package/dist/session-store.runtime-BT09hrcf.js +0 -2
  1709. package/dist/session-subagent-reactivation.runtime-moOExxRG.js +0 -2
  1710. package/dist/session-tab-registry-6CK-3LZT.js +0 -581
  1711. package/dist/session-updates-BthqeByC.js +0 -236
  1712. package/dist/session-updates.runtime-DVIwMwM2.js +0 -2
  1713. package/dist/session-utils-D3S2x7za.js +0 -1006
  1714. package/dist/session-visibility-BOaiW8-B.js +0 -147
  1715. package/dist/sessions-CPxZnP4C.js +0 -2
  1716. package/dist/sessions-CRZaJLRB.js +0 -281
  1717. package/dist/sessions-CenAwEJA.js +0 -48
  1718. package/dist/sessions-helpers-D54klZ0N.js +0 -304
  1719. package/dist/sessions-history-http-CSvtpCvi.js +0 -383
  1720. package/dist/sessions-patch-B19xMHkL.js +0 -309
  1721. package/dist/sessions-q9vEmfIg.js +0 -16
  1722. package/dist/sessions-resolve-DVmdzrE3.js +0 -174
  1723. package/dist/sessions.runtime-B7jlBz2G.js +0 -2
  1724. package/dist/setup-CUfiTgI2.js +0 -421
  1725. package/dist/setup-D6ihayO1.js +0 -495
  1726. package/dist/setup-api-9s67oXlp.js +0 -29
  1727. package/dist/setup-core-C99fpLlr.js +0 -176
  1728. package/dist/setup-core-DaClXvq0.js +0 -171
  1729. package/dist/setup-surface-D525KEVY.js +0 -403
  1730. package/dist/setup-surface-Dp8-7oqb.js +0 -219
  1731. package/dist/setup-surface-MTokVtpC.js +0 -286
  1732. package/dist/setup.finalize-C-itcXZh.js +0 -539
  1733. package/dist/setup.gateway-config-CtF_uR41.js +0 -250
  1734. package/dist/shared-0_Njvu-4.js +0 -76
  1735. package/dist/shared-CINoi8DP.js +0 -121
  1736. package/dist/shared-CU_QI-su.js +0 -198
  1737. package/dist/shared-runtime-9k_uwoVc.js +0 -7
  1738. package/dist/shared-zk2nFjiQ.js +0 -217
  1739. package/dist/skill-commands-Lr9mozPh.js +0 -83
  1740. package/dist/skill-commands.runtime-Ccrr5sDP.js +0 -2
  1741. package/dist/skills-clawhub-CoxSpq-t.js +0 -275
  1742. package/dist/skills-cli-B1nEXYxf.js +0 -370
  1743. package/dist/skills-install-CEyr4Q-0.js +0 -605
  1744. package/dist/skills-snapshot.runtime-sRNT0SD9.js +0 -7
  1745. package/dist/slash-state-BuwOIYbQ.js +0 -1911
  1746. package/dist/speech-provider-9X-lk7rt.js +0 -209
  1747. package/dist/speech-provider-C-hGxBbz.js +0 -170
  1748. package/dist/speech-provider-D7FCMXvu.js +0 -216
  1749. package/dist/src-gxqtPkSN.js +0 -3974
  1750. package/dist/stage-sandbox-media.runtime-xcawVs24.js +0 -232
  1751. package/dist/stale-plugin-config-B8toKRW8.js +0 -103
  1752. package/dist/stale-plugin-config-DVSwZdEN.js +0 -2
  1753. package/dist/startup-context-D63-imDC.js +0 -312
  1754. package/dist/state-migrations-DSr9JHsF.js +0 -820
  1755. package/dist/status-9obFamZT.js +0 -190
  1756. package/dist/status-BLqb-tK5.js +0 -2
  1757. package/dist/status-Cj4HleBk.js +0 -3
  1758. package/dist/status-CrgOhrg3.js +0 -2
  1759. package/dist/status-Cv1wtqRZ.js +0 -62
  1760. package/dist/status-DJ8qQBGJ.js +0 -209
  1761. package/dist/status-KZK7NRWz.js +0 -397
  1762. package/dist/status-all-DC3fCVvo.js +0 -498
  1763. package/dist/status-json-Bjfa0-_5.js +0 -14
  1764. package/dist/status-json-command-C1RdwAgR.js +0 -84
  1765. package/dist/status-message-D7mxoFt4.js +0 -466
  1766. package/dist/status-message.runtime-dzziJRO-.js +0 -6
  1767. package/dist/status-queue.runtime-C10WJezD.js +0 -2
  1768. package/dist/status-runtime-shared-CeOsrR35.js +0 -257
  1769. package/dist/status-subagents.runtime-BMBErdMe.js +0 -18
  1770. package/dist/status-text-ByBEK9so.js +0 -237
  1771. package/dist/status.agent-local-BTmtArDP.js +0 -58
  1772. package/dist/status.command.text-runtime-DJ8gaett.js +0 -15
  1773. package/dist/status.gateway-connection.runtime-DkseUSEe.js +0 -2
  1774. package/dist/status.gateway-probe-DMp_6M2v.js +0 -16
  1775. package/dist/status.gather-BTPHTrHG.js +0 -2
  1776. package/dist/status.gather-DSIUKAm8.js +0 -292
  1777. package/dist/status.link-channel-F-n80oQz.js +0 -35
  1778. package/dist/status.node-mode-DsEoChD0.js +0 -32
  1779. package/dist/status.node-mode-GE_T0IDV.js +0 -2
  1780. package/dist/status.runtime-ivZORZbF.js +0 -2
  1781. package/dist/status.runtime-jws8sBty.js +0 -2
  1782. package/dist/status.scan-DauR-WY5.js +0 -65
  1783. package/dist/status.scan-overview-Dpo0T83_.js +0 -379
  1784. package/dist/status.scan.fast-json-Bf4asO-s.js +0 -2
  1785. package/dist/status.scan.fast-json-CmZ53rDy.js +0 -132
  1786. package/dist/status.scan.runtime-CD7rhB8Y.js +0 -409
  1787. package/dist/status.summary-BVBb43IU.js +0 -214
  1788. package/dist/status.summary-BsoP31Ak.js +0 -2
  1789. package/dist/status.update-CHdoxDYF.js +0 -2
  1790. package/dist/status.update-FoMyXtJt.js +0 -79
  1791. package/dist/store-t_e6UeQl.js +0 -910
  1792. package/dist/store-z-qNX5aX.js +0 -4
  1793. package/dist/store.runtime-DP2Pprik.js +0 -2
  1794. package/dist/stream-kpMWhVzc.js +0 -664
  1795. package/dist/subagent-announce-DuNuyqJY.js +0 -351
  1796. package/dist/subagent-announce-delivery-B4UiR8AX.js +0 -726
  1797. package/dist/subagent-announce-output-X7dAFWpV.js +0 -364
  1798. package/dist/subagent-capabilities-Br1FQ2Ar.js +0 -251
  1799. package/dist/subagent-control-CwADDJMF.js +0 -506
  1800. package/dist/subagent-control.runtime-CJp0aK6O.js +0 -3
  1801. package/dist/subagent-followup.runtime-DgCRHo-P.js +0 -68
  1802. package/dist/subagent-orphan-recovery-DPaND0LA.js +0 -305
  1803. package/dist/subagent-registry-BIAzu8LD.js +0 -1753
  1804. package/dist/subagent-registry-Z8SdU9lH.js +0 -3
  1805. package/dist/subagent-spawn-DIKeFu9r.js +0 -1005
  1806. package/dist/supervisor-BwVXGbW1.js +0 -704
  1807. package/dist/system-cli-O5gzFbKg.js +0 -59
  1808. package/dist/systemd-linger-CH5Ywx8A.js +0 -2
  1809. package/dist/target-id-DEEWnLPz.js +0 -107
  1810. package/dist/targets-BqOfjrX_.js +0 -67
  1811. package/dist/task-executor-BGncFMoh.js +0 -360
  1812. package/dist/task-owner-access-DQYVI-In.js +0 -74
  1813. package/dist/task-registry-8GSAuUDF.js +0 -2366
  1814. package/dist/task-registry-delivery-runtime-661R5b9C.js +0 -3
  1815. package/dist/task-registry-delivery-runtime-BCICoM3b.js +0 -2
  1816. package/dist/task-registry.maintenance-CPSvCCES.js +0 -416
  1817. package/dist/task-registry.maintenance-CYEycEiH.js +0 -2
  1818. package/dist/testing-BALbxnoY.js +0 -575
  1819. package/dist/text-report-C31JmnxT.js +0 -587
  1820. package/dist/tool-auth-shared-lOvNDLXS.js +0 -90
  1821. package/dist/tool-policy-pipeline-CSh3Mr8c.js +0 -109
  1822. package/dist/tool-resolution-BxjrmKBb.js +0 -90
  1823. package/dist/tools-effective-inventory-DGNt7lW2.js +0 -152
  1824. package/dist/tools-invoke-http-Dj-ReJVx.js +0 -206
  1825. package/dist/transcript-DK8bLOGQ.js +0 -312
  1826. package/dist/transcript-resolve.runtime-CCOPZ5SW.js +0 -2
  1827. package/dist/transcript.runtime-nYO6HglP.js +0 -2
  1828. package/dist/trash-CdL58JhS.js +0 -24
  1829. package/dist/tts-CpqgN8Lc.js +0 -64
  1830. package/dist/tui-cli-drmGvmS6.js +0 -4575
  1831. package/dist/uninstall-CYlyPrRR.js +0 -185
  1832. package/dist/update-YjxOXm5D.js +0 -1282
  1833. package/dist/update-cli-BfhENNCG.js +0 -1759
  1834. package/dist/update-runner-Dnc4hBQd.js +0 -1892
  1835. package/dist/update-startup-DSnY9P3k.js +0 -331
  1836. package/dist/update-startup-DnApgs_7.js +0 -2
  1837. package/dist/upgrade-DGTmkfQr.js +0 -1226
  1838. package/dist/video-generation-provider-24yLqnSZ.js +0 -254
  1839. package/dist/video-generation-provider-8j4PNLKE.js +0 -118
  1840. package/dist/video-generation-provider-DDwLRLiR.js +0 -187
  1841. package/dist/video-generation-provider-DGJe4N-c.js +0 -271
  1842. package/dist/video-generation-provider-DLMLF7z-2.js +0 -77
  1843. package/dist/video-generation-provider-D_T2R-Mh.js +0 -287
  1844. package/dist/video-generation-provider-DcNUjls_.js +0 -78
  1845. package/dist/video-generation-provider-Dl6j6XIE.js +0 -281
  1846. package/dist/video-generation-provider-DnVDR0yx.js +0 -221
  1847. package/dist/video-generation-provider-oE8-W2xN.js +0 -64
  1848. package/dist/video-generation-provider-weeKqmY-.js +0 -264
  1849. package/dist/video-generation-task-status-CQ9vf0P1.js +0 -163
  1850. package/dist/wait-for-idle-before-flush-XCTsu7bq.js +0 -5986
  1851. package/dist/web-search-provider-Cm90v9So.js +0 -163
  1852. package/dist/webhooks-cli-DbinLpWK.js +0 -321
  1853. package/dist/wizard-models-CYnCrGUS.js +0 -161
  1854. package/dist/workflow-runtime-DmHRkMvf.js +0 -485
  1855. /package/dist/{agent-list-vf9Q1JYA.js → agent-list-BG1HT1uV.js} +0 -0
  1856. /package/dist/{agents.bindings-Bem54JDr.js → agents.bindings-BsKwP-M1.js} +0 -0
  1857. /package/dist/{agents.config-Bf4IE_jt.js → agents.config-BcQjdDjt.js} +0 -0
  1858. /package/dist/{audit-channel.collect.runtime-4SDS3d6l.js → audit-channel.collect.runtime-Da2LJFzJ.js} +0 -0
  1859. /package/dist/{audit-tool-policy-DfW-Bg35.js → audit-tool-policy-Bp9Sm0oc.js} +0 -0
  1860. /package/dist/{auth-choice.apply.api-providers-Dr-BX6uo.js → auth-choice.apply.api-providers-nfkY6hL9.js} +0 -0
  1861. /package/dist/{auth-choice.plugin-providers.runtime-DJ50fpMo.js → auth-choice.plugin-providers.runtime-CKKBgy5E.js} +0 -0
  1862. /package/dist/{auth-surface-resolution-CPavr6ne.js → auth-surface-resolution-C5xRC0i_.js} +0 -0
  1863. /package/dist/{backup-verify-BBzQn06f.js → backup-verify-DeZBme1Z.js} +0 -0
  1864. /package/dist/{bonjour-discovery-BCuBu3eC.js → bonjour-discovery-DVp0CY5y.js} +0 -0
  1865. /package/dist/{browser-open-DJ4t4o6e.js → browser-open-BmFZAtQZ.js} +0 -0
  1866. /package/dist/{channel-account-context-CxskCBia.js → channel-account-context-08pGSfVf.js} +0 -0
  1867. /package/dist/{channel-capabilities-CGqnrmrr.js → channel-capabilities-bO3yWqgu.js} +0 -0
  1868. /package/dist/{channel-doctor-C29LMDyi.js → channel-doctor-DROap4LU.js} +0 -0
  1869. /package/dist/{channel-plugin-blockers-Db1JoUT3.js → channel-plugin-blockers-DS3H1CnV.js} +0 -0
  1870. /package/dist/{channel-selection.runtime-CFTt0ATQ.js → channel-selection.runtime-C8I-oIhj.js} +0 -0
  1871. /package/dist/{channels-status-issues-BvyaX7fu.js → channels-status-issues-DhD0yasL.js} +0 -0
  1872. /package/dist/{channels-table-DGrWByle.js → channels-table-CdaaJWDE.js} +0 -0
  1873. /package/dist/{close-reason-DPozo0RR.js → close-reason-DCEn5ZLO.js} +0 -0
  1874. /package/dist/{config-2LFRVjdy.js → config-DGZhYDuc.js} +0 -0
  1875. /package/dist/{config-mutation-state-DvELg9U3.js → config-mutation-state-4dXmSxXo.js} +0 -0
  1876. /package/dist/{config-validation-Gz3XLWkk.js → config-validation-Bx_ufkz3.js} +0 -0
  1877. /package/dist/{configured-DHBUKT37.js → configured-LOSXYOON.js} +0 -0
  1878. /package/dist/{control-ui-assets-Bn4WlmDz.js → control-ui-assets-_5qLV7Of.js} +0 -0
  1879. /package/dist/{coverage-BgPvdovz.js → coverage-BW7REo8f.js} +0 -0
  1880. /package/dist/{daemon-install-auth-profiles-source.runtime-1VDwhrxW.js → daemon-install-auth-profiles-source.runtime-CT6HhS4a.js} +0 -0
  1881. /package/dist/{daemon-install-auth-profiles-store.runtime-DX6klKlD.js → daemon-install-auth-profiles-store.runtime-Bmt-S1Th.js} +0 -0
  1882. /package/dist/{delivery-logger.runtime-QED0YWeh.js → delivery-logger.runtime-aZc6eYH6.js} +0 -0
  1883. /package/dist/{delivery-subagent-registry.runtime-BzWcJLcF.js → delivery-subagent-registry.runtime-DbsJlOPs.js} +0 -0
  1884. /package/dist/{delivery-target.runtime-MCOBBchX.js → delivery-target.runtime-CJ2AFZQF.js} +0 -0
  1885. /package/dist/{discovery-DGW2-MLa.js → discovery-CrxVb47K.js} +0 -0
  1886. /package/dist/{doctor-auth-legacy-oauth-BV7C6Vfj.js → doctor-auth-legacy-oauth-CQ-450U8.js} +0 -0
  1887. /package/dist/{doctor-bootstrap-size-PW5cPiSq.js → doctor-bootstrap-size-DFMO-0_2.js} +0 -0
  1888. /package/dist/{doctor-browser-DcQUu327.js → doctor-browser-DAmWk-ym.js} +0 -0
  1889. /package/dist/{doctor-bundled-plugin-runtime-deps-D1esrgeQ.js → doctor-bundled-plugin-runtime-deps-DL8egd0z.js} +0 -0
  1890. /package/dist/{doctor-claude-cli-B4BZv-kG.js → doctor-claude-cli-D8n8fZH1.js} +0 -0
  1891. /package/dist/{doctor-completion-WKgtPjbK.js → doctor-completion-DlF2_ta4.js} +0 -0
  1892. /package/dist/{doctor-config-analysis-BQdKpP5K.js → doctor-config-analysis-G4qApgNB.js} +0 -0
  1893. /package/dist/{doctor-install-DmjLfve4.js → doctor-install-BMLurFXg.js} +0 -0
  1894. /package/dist/{doctor-platform-notes-R_SxZdMz.js → doctor-platform-notes-DclB4xTp.js} +0 -0
  1895. /package/dist/{doctor-plugin-manifests-CA7lPt_x.js → doctor-plugin-manifests-Df-R6NRK.js} +0 -0
  1896. /package/dist/{doctor-repair-mode-DUDOaIhC.js → doctor-repair-mode-DjA0yOsO.js} +0 -0
  1897. /package/dist/{doctor-session-locks-Dx6vj6mm.js → doctor-session-locks-nnNg0XQt.js} +0 -0
  1898. /package/dist/{doctor-state-integrity-BQo15whd.js → doctor-state-integrity-mZ-atajo.js} +0 -0
  1899. /package/dist/{doctor-workspace-BIyTt_M_.js → doctor-workspace-CC8n4W1s.js} +0 -0
  1900. /package/dist/{gateway-lock-BaykvnC-.js → gateway-lock-BJ54teSG.js} +0 -0
  1901. /package/dist/{gateway-presence-Dut8sl-J.js → gateway-presence-Ck83hwdf.js} +0 -0
  1902. /package/dist/{gmail-setup-utils-ZOTbsJFv.js → gmail-setup-utils-CJA4K3ai.js} +0 -0
  1903. /package/dist/{health-format-B2qc32Pr.js → health-format-lZouXkHr.js} +0 -0
  1904. /package/dist/{health-style-BbCs1Yab.js → health-style-L-8YpdOF.js} +0 -0
  1905. /package/dist/{help-CwxpeDY5.js → help-B0u4yzRF.js} +0 -0
  1906. /package/dist/{helpers-LcBHwWZc.js → helpers-_-TEHOc6.js} +0 -0
  1907. /package/dist/{http-endpoint-helpers-BNftqeoQ.js → http-endpoint-helpers-C9HFCAZ9.js} +0 -0
  1908. /package/dist/{image-CAZ8XAQL.js → image-B6bNXdin.js} +0 -0
  1909. /package/dist/{image-generation-core.auth.runtime-0Qo_H5K_.js → image-generation-core.auth.runtime-B9u67AkK.js} +0 -0
  1910. /package/dist/{includes-scan-DoynIeya.js → includes-scan-C2pgYVb9.js} +0 -0
  1911. /package/dist/{input-allowlist-c0bB2eKy.js → input-allowlist-BOaar9sV.js} +0 -0
  1912. /package/dist/{install-package-dir-DPpzkcTy.js → install-package-dir-DBuZueA5.js} +0 -0
  1913. /package/dist/{install-target-DVcgbidG.js → install-target-CIbvCu-L.js} +0 -0
  1914. /package/dist/{ipv4-DMxATcV1.js → ipv4-x_VPPHNE.js} +0 -0
  1915. /package/dist/{lifecycle-startup-gLhpfLB7.js → lifecycle-startup-irALz7cL.js} +0 -0
  1916. /package/dist/{log-tail-9Hz1lmAo.js → log-tail-X0OPkkt2.js} +0 -0
  1917. /package/dist/{memory-host-search.runtime-HNAskOxX.js → memory-host-search.runtime-DDlULx33.js} +0 -0
  1918. /package/dist/{message.config.runtime-Cso6MvT8.js → message.config.runtime-Cn6_nzb5.js} +0 -0
  1919. /package/dist/{models-http-x7qxTDsp.js → models-http-C485AWr-.js} +0 -0
  1920. /package/dist/{node-service-BJUuDPKK.js → node-service-DoJ8Y9pv.js} +0 -0
  1921. /package/dist/{object-PDLz41ub.js → object-Bx7kd36S.js} +0 -0
  1922. /package/dist/{onboard-config-izAl6gwz.js → onboard-config-CqQvgsYa.js} +0 -0
  1923. /package/dist/{onboard-core-auth-flags-BMxne6w7.js → onboard-core-auth-flags-__K0sJjJ.js} +0 -0
  1924. /package/dist/{onboard-custom-config-3QJEWGL0.js → onboard-custom-config-BWwqk5fe.js} +0 -0
  1925. /package/dist/{package-update-utils-DE_n1gKX.js → package-update-utils-CCxatoo6.js} +0 -0
  1926. /package/dist/{pairing-cli-d6AhyJBm.js → pairing-cli-D-FUyZEV.js} +0 -0
  1927. /package/dist/{parse-log-line-LslQCpUT.js → parse-log-line-DoA9bQrQ.js} +0 -0
  1928. /package/dist/{paths-Cg-jfcZN.js → paths-BJ5uczC1.js} +0 -0
  1929. /package/dist/{ports-Ce2qG4x8.js → ports-CC9fm-fy.js} +0 -0
  1930. /package/dist/{probe-auth-Bn7VL9ZR.js → probe-auth-DFrZGBYH.js} +0 -0
  1931. /package/dist/{probe-target-BSlPhDks.js → probe-target-Chki0Xkk.js} +0 -0
  1932. /package/dist/{program-context-Kgd1rM3u.js → program-context-zMhdBPNy.js} +0 -0
  1933. /package/dist/{provider-api-key-auth.runtime-VgQwNphE.js → provider-api-key-auth.runtime-BmxvYpks.js} +0 -0
  1934. /package/dist/{provider-auth-choices-BCbf2yRh.js → provider-auth-choices-BB5yTDNn.js} +0 -0
  1935. /package/dist/{provider-auth-guidance-BWdK-ykC.js → provider-auth-guidance-CP_5xA8Y.js} +0 -0
  1936. /package/dist/{provider-openai-codex-oauth-tls-DtZu90G7.js → provider-openai-codex-oauth-tls-DerZ1cTV.js} +0 -0
  1937. /package/dist/{push-apns-BciQnS_A.js → push-apns-BvvTQGNo.js} +0 -0
  1938. /package/dist/{read-best-effort-config.runtime-qVYHl7Xo.js → read-best-effort-config.runtime-C5T0K31f.js} +0 -0
  1939. /package/dist/{root-help-metadata-ekl-JjpR.js → root-help-metadata-DfEC0ws2.js} +0 -0
  1940. /package/dist/{run-context.runtime-4WGT7JBj.js → run-context.runtime-QbU7trk9.js} +0 -0
  1941. /package/dist/{run-external-content.runtime-D3JPvjLm.js → run-external-content.runtime-pkNsrLtO.js} +0 -0
  1942. /package/dist/{run-id-R6ObHP3v.js → run-id-DWJ95pBN.js} +0 -0
  1943. /package/dist/{run-model-catalog.runtime-BggglNcs.js → run-model-catalog.runtime-CAcKERDC.js} +0 -0
  1944. /package/dist/{run-session-state-BaNj_GaS.js → run-session-state-XlO-wc3A.js} +0 -0
  1945. /package/dist/{runtime-manifest.runtime-Ddvsb5G5.js → runtime-manifest.runtime-DHHRd6iG.js} +0 -0
  1946. /package/dist/{runtime-registry-loader-9HAwLW0h.js → runtime-registry-loader-Bzjy_HHi.js} +0 -0
  1947. /package/dist/{runtime-web-channel-plugin-DVDCKmzx.js → runtime-web-channel-plugin-Dl8enKc3.js} +0 -0
  1948. /package/dist/{runtime-web-tools-fallback.runtime-Brdq0-xZ.js → runtime-web-tools-fallback.runtime-BCaVKJOn.js} +0 -0
  1949. /package/dist/{runtime-web-tools-manifest.runtime-BRmjTDGh.js → runtime-web-tools-manifest.runtime-3ureBtOs.js} +0 -0
  1950. /package/dist/{runtime-web-tools-public-artifacts.runtime-DsVQgFR8.js → runtime-web-tools-public-artifacts.runtime-7kYkuMoy.js} +0 -0
  1951. /package/dist/{schedule-ZSZnEiFe.js → schedule-Beb3GOcH.js} +0 -0
  1952. /package/dist/{server-startup-log-Eplhdcpt.js → server-startup-log-VzrHGqrP.js} +0 -0
  1953. /package/dist/{server-startup-memory-DyQIirmI.js → server-startup-memory-C5BZZa9k.js} +0 -0
  1954. /package/dist/{server-tailscale-DgAyhovj.js → server-tailscale-DpU6qzPY.js} +0 -0
  1955. /package/dist/{service-CO5U35OJ.js → service-BTZwpGci.js} +0 -0
  1956. /package/dist/{services-DNIJn8xg.js → services-BeY15lKe.js} +0 -0
  1957. /package/dist/{session-archive.runtime-rUFw8vE3.js → session-archive.runtime-kZWDRugt.js} +0 -0
  1958. /package/dist/{setup-launch-env-DCjAfCDq.js → setup-launch-env-CgNfSFCy.js} +0 -0
  1959. /package/dist/{setup.plugin-config-DyOBe14m.js → setup.plugin-config-EEmTDTvp.js} +0 -0
  1960. /package/dist/{setup.secret-input-Drr2LKMe.js → setup.secret-input-DnGWpeX9.js} +0 -0
  1961. /package/dist/{skill-scanner-B4yjTBTL.js → skill-scanner-CTCiX7W7.js} +0 -0
  1962. /package/dist/{ssh-config-QI5SlOa1.js → ssh-config-dpF9FXUa.js} +0 -0
  1963. /package/dist/{status-D3Yk4ckb.js → status-BmXT7hzH.js} +0 -0
  1964. /package/dist/{status.format-bwV75oQh.js → status.format-D83pj6zB.js} +0 -0
  1965. /package/dist/{status.gateway-connection-B0HsKKf1.js → status.gateway-connection-Dni-CXUg.js} +0 -0
  1966. /package/dist/{status.scan.deps.runtime-inl0xzZH.js → status.scan.deps.runtime-DyhPcxBc.js} +0 -0
  1967. /package/dist/{subagent-followup-hints-rwiRTQ4_.js → subagent-followup-hints-DCvZ8pkz.js} +0 -0
  1968. /package/dist/{supervisor-log.runtime-gvNK9Wct.js → supervisor-log.runtime-B9_WwWul.js} +0 -0
  1969. /package/dist/{systemd-linger-BH3QL_N0.js → systemd-linger-D0Pquvmk.js} +0 -0
  1970. /package/dist/{targets.runtime-BWbu7FiA.js → targets.runtime-CfoMqGAv.js} +0 -0
  1971. /package/dist/{task-registry.audit.shared-B9InRDQ7.js → task-registry.audit.shared-WSawIHtV.js} +0 -0
  1972. /package/dist/{text-format-J_bO4oMX.js → text-format-Ck1rxlbh.js} +0 -0
  1973. /package/dist/{types-cKnUNBos.js → types-CFl4vCLB.js} +0 -0
  1974. /package/dist/{update-check-BOB550De.js → update-check-BErCzWUb.js} +0 -0
  1975. /package/dist/{workspace-D6DmbfYx.js → workspace-NJH7qx4x.js} +0 -0
@@ -1,2205 +0,0 @@
1
- import { a as normalizeLowercaseStringOrEmpty$1, s as normalizeOptionalLowercaseString } from "./string-coerce-C1IzJjqi.js";
2
- import { v as sleep } from "./utils-DaGfogP-.js";
3
- import { s as normalizeStringEntries } from "./string-normalization-Bvcn03I9.js";
4
- import { a as withFileLock$1 } from "./file-lock-BMf7Dd83.js";
5
- import { a as isSilentReplyText } from "./tokens-Bq9TB3gs.js";
6
- import { n as extensionForMime, r as getFileExtension, t as detectMime } from "./mime-DucH9KF3.js";
7
- import { m as resolveSendableOutboundReplyParts } from "./reply-payload-ChFsXpe2.js";
8
- import { o as extractOriginalFilename } from "./store-BLvGOOM1.js";
9
- import { t as loadWebMedia } from "./web-media-DOuGCV__.js";
10
- import { n as writeJsonFileAtomically, t as readJsonFileWithFallback } from "./json-store-VkY1vnKQ.js";
11
- import { t as convertMarkdownTables } from "./tables-BlowLzQx.js";
12
- import "./text-runtime-_RVT_Gf-.js";
13
- import { t as resolveMarkdownTableMode } from "./markdown-tables-CKUC3Ryb.js";
14
- import { t as resolveChannelMediaMaxBytes } from "./media-limits-q5Hb_t71.js";
15
- import "./config-runtime-Bt88vmOj.js";
16
- import "./reply-chunking-BJRONz7w.js";
17
- import "./web-media-B1YgDsxb.js";
18
- import { t as loadOutboundMediaFromUrl } from "./outbound-media-DQcdUwNn.js";
19
- import { t as getMSTeamsRuntime } from "./runtime-api-BH3mTSpX.js";
20
- import { C as buildUserAgent, D as formatUnknownError, E as formatMSTeamsSendErrorHint, O as isRevokedProxyError, S as loadMSTeamsSdkWithAuth, T as classifyMSTeamsSendError, _ as resolveMSTeamsStorePath, b as createMSTeamsAdapter, h as resolveMSTeamsCredentials, m as loadDelegatedTokens, v as readAccessToken, x as createMSTeamsTokenProvider } from "./graph-users-DGzo2oi0.js";
21
- import fs from "node:fs";
22
- import path from "node:path";
23
- import crypto from "node:crypto";
24
- import { lookup } from "node:dns/promises";
25
- //#region extensions/msteams/src/conversation-store-helpers.ts
26
- function normalizeStoredConversationId(raw) {
27
- return raw.split(";")[0] ?? raw;
28
- }
29
- function parseStoredConversationTimestamp(value) {
30
- if (!value) return null;
31
- const parsed = Date.parse(value);
32
- if (!Number.isFinite(parsed)) return null;
33
- return parsed;
34
- }
35
- function toConversationStoreEntries(entries) {
36
- return Array.from(entries, ([conversationId, reference]) => ({
37
- conversationId,
38
- reference
39
- }));
40
- }
41
- function mergeStoredConversationReference(existing, incoming, nowIso) {
42
- return {
43
- ...existing?.timezone && !incoming.timezone ? { timezone: existing.timezone } : {},
44
- ...existing?.graphChatId && !incoming.graphChatId ? { graphChatId: existing.graphChatId } : {},
45
- ...existing?.tenantId && !incoming.tenantId ? { tenantId: existing.tenantId } : {},
46
- ...existing?.aadObjectId && !incoming.aadObjectId ? { aadObjectId: existing.aadObjectId } : {},
47
- ...incoming,
48
- lastSeenAt: nowIso
49
- };
50
- }
51
- function findPreferredDmConversationByUserId(entries, id) {
52
- const target = id.trim();
53
- if (!target) return null;
54
- const personalMatches = [];
55
- const unknownTypeMatches = [];
56
- for (const entry of entries) {
57
- if (entry.reference.user?.aadObjectId !== target && entry.reference.user?.id !== target) continue;
58
- const convType = normalizeLowercaseStringOrEmpty$1(entry.reference.conversation?.conversationType ?? "");
59
- if (convType === "personal") personalMatches.push(entry);
60
- else if (convType === "channel" || convType === "groupchat") {} else unknownTypeMatches.push(entry);
61
- }
62
- const candidates = personalMatches.length > 0 ? personalMatches : unknownTypeMatches;
63
- if (candidates.length === 0) return null;
64
- if (candidates.length > 1) candidates.sort((a, b) => (parseStoredConversationTimestamp(b.reference.lastSeenAt) ?? 0) - (parseStoredConversationTimestamp(a.reference.lastSeenAt) ?? 0));
65
- return candidates[0] ?? null;
66
- }
67
- //#endregion
68
- //#region extensions/msteams/src/store-fs.ts
69
- const STORE_LOCK_OPTIONS = {
70
- retries: {
71
- retries: 10,
72
- factor: 2,
73
- minTimeout: 100,
74
- maxTimeout: 1e4,
75
- randomize: true
76
- },
77
- stale: 3e4
78
- };
79
- async function readJsonFile(filePath, fallback) {
80
- return await readJsonFileWithFallback(filePath, fallback);
81
- }
82
- async function writeJsonFile(filePath, value) {
83
- await writeJsonFileAtomically(filePath, value);
84
- }
85
- async function ensureJsonFile(filePath, fallback) {
86
- try {
87
- await fs.promises.access(filePath);
88
- } catch {
89
- await writeJsonFile(filePath, fallback);
90
- }
91
- }
92
- async function withFileLock(filePath, fallback, fn) {
93
- await ensureJsonFile(filePath, fallback);
94
- return await withFileLock$1(filePath, STORE_LOCK_OPTIONS, async () => {
95
- return await fn();
96
- });
97
- }
98
- //#endregion
99
- //#region extensions/msteams/src/conversation-store-fs.ts
100
- const STORE_FILENAME$2 = "msteams-conversations.json";
101
- const MAX_CONVERSATIONS = 1e3;
102
- const CONVERSATION_TTL_MS = 365 * 24 * 60 * 60 * 1e3;
103
- function pruneToLimit$2(conversations) {
104
- const entries = Object.entries(conversations);
105
- if (entries.length <= MAX_CONVERSATIONS) return conversations;
106
- entries.sort((a, b) => {
107
- return (parseStoredConversationTimestamp(a[1].lastSeenAt) ?? 0) - (parseStoredConversationTimestamp(b[1].lastSeenAt) ?? 0);
108
- });
109
- const keep = entries.slice(entries.length - MAX_CONVERSATIONS);
110
- return Object.fromEntries(keep);
111
- }
112
- function pruneExpired$2(conversations, nowMs, ttlMs) {
113
- let removed = false;
114
- const kept = {};
115
- for (const [conversationId, reference] of Object.entries(conversations)) {
116
- const lastSeenAt = parseStoredConversationTimestamp(reference.lastSeenAt);
117
- if (lastSeenAt != null && nowMs - lastSeenAt > ttlMs) {
118
- removed = true;
119
- continue;
120
- }
121
- kept[conversationId] = reference;
122
- }
123
- return {
124
- conversations: kept,
125
- removed
126
- };
127
- }
128
- function createMSTeamsConversationStoreFs(params) {
129
- const ttlMs = params?.ttlMs ?? CONVERSATION_TTL_MS;
130
- const filePath = resolveMSTeamsStorePath({
131
- filename: STORE_FILENAME$2,
132
- env: params?.env,
133
- homedir: params?.homedir,
134
- stateDir: params?.stateDir,
135
- storePath: params?.storePath
136
- });
137
- const empty = {
138
- version: 1,
139
- conversations: {}
140
- };
141
- const readStore = async () => {
142
- const { value } = await readJsonFile(filePath, empty);
143
- if (value.version !== 1 || !value.conversations || typeof value.conversations !== "object" || Array.isArray(value.conversations)) return empty;
144
- const nowMs = Date.now();
145
- const pruned = pruneExpired$2(value.conversations, nowMs, ttlMs).conversations;
146
- return {
147
- version: 1,
148
- conversations: pruneToLimit$2(pruned)
149
- };
150
- };
151
- const list = async () => {
152
- const store = await readStore();
153
- return toConversationStoreEntries(Object.entries(store.conversations));
154
- };
155
- const get = async (conversationId) => {
156
- return (await readStore()).conversations[normalizeStoredConversationId(conversationId)] ?? null;
157
- };
158
- const findPreferredDmByUserId = async (id) => {
159
- return findPreferredDmConversationByUserId(await list(), id);
160
- };
161
- const upsert = async (conversationId, reference) => {
162
- const normalizedId = normalizeStoredConversationId(conversationId);
163
- await withFileLock(filePath, empty, async () => {
164
- const store = await readStore();
165
- store.conversations[normalizedId] = mergeStoredConversationReference(store.conversations[normalizedId], reference, (/* @__PURE__ */ new Date()).toISOString());
166
- const nowMs = Date.now();
167
- store.conversations = pruneExpired$2(store.conversations, nowMs, ttlMs).conversations;
168
- store.conversations = pruneToLimit$2(store.conversations);
169
- await writeJsonFile(filePath, store);
170
- });
171
- };
172
- const remove = async (conversationId) => {
173
- const normalizedId = normalizeStoredConversationId(conversationId);
174
- return await withFileLock(filePath, empty, async () => {
175
- const store = await readStore();
176
- if (!(normalizedId in store.conversations)) return false;
177
- delete store.conversations[normalizedId];
178
- await writeJsonFile(filePath, store);
179
- return true;
180
- });
181
- };
182
- return {
183
- upsert,
184
- get,
185
- list,
186
- remove,
187
- findPreferredDmByUserId,
188
- findByUserId: findPreferredDmByUserId
189
- };
190
- }
191
- //#endregion
192
- //#region extensions/msteams/src/polls.ts
193
- const STORE_FILENAME$1 = "msteams-polls.json";
194
- const MAX_POLLS = 1e3;
195
- const POLL_TTL_MS = 720 * 60 * 60 * 1e3;
196
- function isRecord(value) {
197
- return typeof value === "object" && value !== null && !Array.isArray(value);
198
- }
199
- function normalizeOptionalString(value) {
200
- if (typeof value !== "string") return;
201
- const trimmed = value.trim();
202
- return trimmed ? trimmed : void 0;
203
- }
204
- function normalizeChoiceValue(value) {
205
- if (typeof value === "string") {
206
- const trimmed = value.trim();
207
- return trimmed ? trimmed : null;
208
- }
209
- if (typeof value === "number" && Number.isFinite(value)) return String(value);
210
- return null;
211
- }
212
- function extractSelections(value) {
213
- if (Array.isArray(value)) return value.map(normalizeChoiceValue).filter((entry) => Boolean(entry));
214
- const normalized = normalizeChoiceValue(value);
215
- if (!normalized) return [];
216
- if (normalized.includes(",")) return normalized.split(",").map((entry) => entry.trim()).filter(Boolean);
217
- return [normalized];
218
- }
219
- function readNestedValue(value, keys) {
220
- let current = value;
221
- for (const key of keys) {
222
- if (!isRecord(current)) return;
223
- current = current[key];
224
- }
225
- return current;
226
- }
227
- function readNestedString(value, keys) {
228
- return normalizeOptionalString(readNestedValue(value, keys));
229
- }
230
- function extractMSTeamsPollVote(activity) {
231
- const value = activity?.value;
232
- if (!value || !isRecord(value)) return null;
233
- const pollId = readNestedString(value, ["genesisPollId"]) ?? readNestedString(value, ["pollId"]) ?? readNestedString(value, ["genesis", "pollId"]) ?? readNestedString(value, [
234
- "genesis",
235
- "poll",
236
- "id"
237
- ]) ?? readNestedString(value, ["data", "genesisPollId"]) ?? readNestedString(value, ["data", "pollId"]) ?? readNestedString(value, [
238
- "data",
239
- "genesis",
240
- "pollId"
241
- ]);
242
- if (!pollId) return null;
243
- const directSelections = extractSelections(value.choices);
244
- const nestedSelections = extractSelections(readNestedValue(value, ["choices"]));
245
- const dataSelections = extractSelections(readNestedValue(value, ["data", "choices"]));
246
- const selections = directSelections.length > 0 ? directSelections : nestedSelections.length > 0 ? nestedSelections : dataSelections;
247
- if (selections.length === 0) return null;
248
- return {
249
- pollId,
250
- selections
251
- };
252
- }
253
- function buildMSTeamsPollCard(params) {
254
- const pollId = params.pollId ?? crypto.randomUUID();
255
- const maxSelections = typeof params.maxSelections === "number" && params.maxSelections > 1 ? Math.floor(params.maxSelections) : 1;
256
- const cappedMaxSelections = Math.min(Math.max(1, maxSelections), params.options.length);
257
- const choices = params.options.map((option, index) => ({
258
- title: option,
259
- value: String(index)
260
- }));
261
- const hint = cappedMaxSelections > 1 ? `Select up to ${cappedMaxSelections} option${cappedMaxSelections === 1 ? "" : "s"}.` : "Select one option.";
262
- const card = {
263
- type: "AdaptiveCard",
264
- version: "1.5",
265
- body: [
266
- {
267
- type: "TextBlock",
268
- text: params.question,
269
- wrap: true,
270
- weight: "Bolder",
271
- size: "Medium"
272
- },
273
- {
274
- type: "Input.ChoiceSet",
275
- id: "choices",
276
- isMultiSelect: cappedMaxSelections > 1,
277
- style: "expanded",
278
- choices
279
- },
280
- {
281
- type: "TextBlock",
282
- text: hint,
283
- wrap: true,
284
- isSubtle: true,
285
- spacing: "Small"
286
- }
287
- ],
288
- actions: [{
289
- type: "Action.Submit",
290
- title: "Vote",
291
- data: {
292
- genesisPollId: pollId,
293
- pollId
294
- },
295
- msteams: {
296
- type: "messageBack",
297
- text: "genesis poll vote",
298
- displayText: "Vote recorded",
299
- value: {
300
- genesisPollId: pollId,
301
- pollId
302
- }
303
- }
304
- }]
305
- };
306
- const fallbackLines = [`Poll: ${params.question}`, ...params.options.map((option, index) => `${index + 1}. ${option}`)];
307
- return {
308
- pollId,
309
- question: params.question,
310
- options: params.options,
311
- maxSelections: cappedMaxSelections,
312
- card,
313
- fallbackText: fallbackLines.join("\n")
314
- };
315
- }
316
- function parseTimestamp(value) {
317
- if (!value) return null;
318
- const parsed = Date.parse(value);
319
- return Number.isFinite(parsed) ? parsed : null;
320
- }
321
- function pruneExpired$1(polls) {
322
- const cutoff = Date.now() - POLL_TTL_MS;
323
- const entries = Object.entries(polls).filter(([, poll]) => {
324
- return (parseTimestamp(poll.updatedAt ?? poll.createdAt) ?? 0) >= cutoff;
325
- });
326
- return Object.fromEntries(entries);
327
- }
328
- function pruneToLimit$1(polls) {
329
- const entries = Object.entries(polls);
330
- if (entries.length <= MAX_POLLS) return polls;
331
- entries.sort((a, b) => {
332
- return (parseTimestamp(a[1].updatedAt ?? a[1].createdAt) ?? 0) - (parseTimestamp(b[1].updatedAt ?? b[1].createdAt) ?? 0);
333
- });
334
- const keep = entries.slice(entries.length - MAX_POLLS);
335
- return Object.fromEntries(keep);
336
- }
337
- function normalizeMSTeamsPollSelections(poll, selections) {
338
- const maxSelections = Math.max(1, poll.maxSelections);
339
- const mapped = selections.map((entry) => Number.parseInt(entry, 10)).filter((value) => Number.isFinite(value)).filter((value) => value >= 0 && value < poll.options.length).map((value) => String(value));
340
- const limited = maxSelections > 1 ? mapped.slice(0, maxSelections) : mapped.slice(0, 1);
341
- return Array.from(new Set(limited));
342
- }
343
- function createMSTeamsPollStoreFs(params) {
344
- const filePath = resolveMSTeamsStorePath({
345
- filename: STORE_FILENAME$1,
346
- env: params?.env,
347
- homedir: params?.homedir,
348
- stateDir: params?.stateDir,
349
- storePath: params?.storePath
350
- });
351
- const empty = {
352
- version: 1,
353
- polls: {}
354
- };
355
- const readStore = async () => {
356
- const { value } = await readJsonFile(filePath, empty);
357
- return {
358
- version: 1,
359
- polls: pruneToLimit$1(pruneExpired$1(value.polls ?? {}))
360
- };
361
- };
362
- const writeStore = async (data) => {
363
- await writeJsonFile(filePath, data);
364
- };
365
- const createPoll = async (poll) => {
366
- await withFileLock(filePath, empty, async () => {
367
- const data = await readStore();
368
- data.polls[poll.id] = poll;
369
- await writeStore({
370
- version: 1,
371
- polls: pruneToLimit$1(data.polls)
372
- });
373
- });
374
- };
375
- const getPoll = async (pollId) => await withFileLock(filePath, empty, async () => {
376
- return (await readStore()).polls[pollId] ?? null;
377
- });
378
- const recordVote = async (params) => await withFileLock(filePath, empty, async () => {
379
- const data = await readStore();
380
- const poll = data.polls[params.pollId];
381
- if (!poll) return null;
382
- const normalized = normalizeMSTeamsPollSelections(poll, params.selections);
383
- poll.votes[params.voterId] = normalized;
384
- poll.updatedAt = (/* @__PURE__ */ new Date()).toISOString();
385
- data.polls[poll.id] = poll;
386
- await writeStore({
387
- version: 1,
388
- polls: pruneToLimit$1(data.polls)
389
- });
390
- return poll;
391
- });
392
- return {
393
- createPoll,
394
- getPoll,
395
- recordVote
396
- };
397
- }
398
- //#endregion
399
- //#region extensions/msteams/src/file-consent.ts
400
- /**
401
- * FileConsentCard utilities for MS Teams large file uploads (>4MB) in personal chats.
402
- *
403
- * Teams requires user consent before the bot can upload large files. This module provides
404
- * utilities for:
405
- * - Building FileConsentCard attachments (to request upload permission)
406
- * - Building FileInfoCard attachments (to confirm upload completion)
407
- * - Parsing fileConsent/invoke activities
408
- */
409
- function normalizeLowercaseStringOrEmpty(value) {
410
- return typeof value === "string" ? value.trim().toLowerCase() : "";
411
- }
412
- /**
413
- * Allowlist of domains that are valid targets for file consent uploads.
414
- * These are the Microsoft/SharePoint domains that Teams legitimately provides
415
- * as upload destinations in the FileConsentCard flow.
416
- */
417
- const CONSENT_UPLOAD_HOST_ALLOWLIST = [
418
- "sharepoint.com",
419
- "sharepoint.us",
420
- "sharepoint.de",
421
- "sharepoint.cn",
422
- "sharepoint-df.com",
423
- "storage.live.com",
424
- "onedrive.com",
425
- "1drv.ms",
426
- "graph.microsoft.com",
427
- "graph.microsoft.us",
428
- "graph.microsoft.de",
429
- "graph.microsoft.cn"
430
- ];
431
- /**
432
- * Returns true if the given IPv4 or IPv6 address is in a private, loopback,
433
- * or link-local range that must never be reached via consent uploads.
434
- */
435
- function isPrivateOrReservedIP(ip) {
436
- const ipv4MappedMatch = /^::ffff:(\d+\.\d+\.\d+\.\d+)$/i.exec(ip);
437
- if (ipv4MappedMatch) return isPrivateOrReservedIP(ipv4MappedMatch[1]);
438
- const v4Parts = ip.split(".");
439
- if (v4Parts.length === 4) {
440
- const octets = v4Parts.map(Number);
441
- if (octets.some((n) => !Number.isInteger(n) || n < 0 || n > 255)) return false;
442
- const [a, b] = octets;
443
- if (a === 10) return true;
444
- if (a === 172 && b >= 16 && b <= 31) return true;
445
- if (a === 192 && b === 168) return true;
446
- if (a === 127) return true;
447
- if (a === 169 && b === 254) return true;
448
- if (a === 0) return true;
449
- }
450
- const normalized = normalizeLowercaseStringOrEmpty(ip);
451
- if (normalized === "::1") return true;
452
- if (normalized.startsWith("fe80:") || normalized.startsWith("fe80")) return true;
453
- if (normalized.startsWith("fc") || normalized.startsWith("fd")) return true;
454
- if (normalized === "::") return true;
455
- return false;
456
- }
457
- /**
458
- * Validate that a consent upload URL is safe to PUT to.
459
- * Checks:
460
- * 1. Protocol is HTTPS
461
- * 2. Hostname matches the consent upload allowlist
462
- * 3. Resolved IP is not in a private/reserved range (anti-SSRF)
463
- *
464
- * @throws Error if the URL fails validation
465
- */
466
- async function validateConsentUploadUrl(url, opts) {
467
- let parsed;
468
- try {
469
- parsed = new URL(url);
470
- } catch {
471
- throw new Error("Consent upload URL is not a valid URL");
472
- }
473
- if (parsed.protocol !== "https:") throw new Error(`Consent upload URL must use HTTPS, got ${parsed.protocol}`);
474
- const hostname = normalizeLowercaseStringOrEmpty(parsed.hostname);
475
- if (!(opts?.allowlist ?? CONSENT_UPLOAD_HOST_ALLOWLIST).some((entry) => hostname === entry || hostname.endsWith(`.${entry}`))) throw new Error(`Consent upload URL hostname "${hostname}" is not in the allowed domains`);
476
- const resolveFn = opts?.resolveFn ?? ((name) => lookup(name, { all: true }));
477
- let resolved;
478
- try {
479
- const result = await resolveFn(hostname);
480
- resolved = Array.isArray(result) ? result : [result];
481
- } catch {
482
- throw new Error(`Failed to resolve consent upload URL hostname "${hostname}"`);
483
- }
484
- for (const entry of resolved) if (isPrivateOrReservedIP(entry.address)) throw new Error(`Consent upload URL resolves to a private/reserved IP (${entry.address})`);
485
- }
486
- /**
487
- * Build a FileConsentCard attachment for requesting upload permission.
488
- * Use this for files >= 4MB in personal (1:1) chats.
489
- */
490
- function buildFileConsentCard(params) {
491
- return {
492
- contentType: "application/vnd.microsoft.teams.card.file.consent",
493
- name: params.filename,
494
- content: {
495
- description: params.description ?? `File: ${params.filename}`,
496
- sizeInBytes: params.sizeInBytes,
497
- acceptContext: {
498
- filename: params.filename,
499
- ...params.context
500
- },
501
- declineContext: {
502
- filename: params.filename,
503
- ...params.context
504
- }
505
- }
506
- };
507
- }
508
- /**
509
- * Build a FileInfoCard attachment for confirming upload completion.
510
- * Send this after successfully uploading the file to the consent URL.
511
- */
512
- function buildFileInfoCard(params) {
513
- return {
514
- contentType: "application/vnd.microsoft.teams.card.file.info",
515
- contentUrl: params.contentUrl,
516
- name: params.filename,
517
- content: {
518
- uniqueId: params.uniqueId,
519
- fileType: params.fileType
520
- }
521
- };
522
- }
523
- /**
524
- * Parse a fileConsent/invoke activity.
525
- * Returns null if the activity is not a file consent invoke.
526
- */
527
- function parseFileConsentInvoke(activity) {
528
- if (activity.name !== "fileConsent/invoke") return null;
529
- const value = activity.value;
530
- if (value?.type !== "fileUpload") return null;
531
- return {
532
- action: value.action === "accept" ? "accept" : "decline",
533
- uploadInfo: value.uploadInfo,
534
- context: value.context
535
- };
536
- }
537
- /**
538
- * Upload a file to the consent URL provided by Teams.
539
- * The URL is provided in the fileConsent/invoke response after user accepts.
540
- *
541
- * @throws Error if the URL fails SSRF validation (non-HTTPS, disallowed host, private IP)
542
- */
543
- async function uploadToConsentUrl(params) {
544
- await validateConsentUploadUrl(params.url, params.validationOpts);
545
- const res = await (params.fetchFn ?? fetch)(params.url, {
546
- method: "PUT",
547
- headers: {
548
- "User-Agent": buildUserAgent(),
549
- "Content-Type": params.contentType ?? "application/octet-stream",
550
- "Content-Range": `bytes 0-${params.buffer.length - 1}/${params.buffer.length}`
551
- },
552
- body: new Uint8Array(params.buffer)
553
- });
554
- if (!res.ok) throw new Error(`File upload to consent URL failed: ${res.status} ${res.statusText}`);
555
- }
556
- //#endregion
557
- //#region extensions/msteams/src/pending-uploads-fs.ts
558
- /**
559
- * Filesystem-backed pending upload store for the FileConsentCard flow.
560
- *
561
- * The CLI `message send --media` path runs in a different process from the
562
- * gateway's bot monitor that receives the `fileConsent/invoke` callback.
563
- * An in-memory `pending-uploads.ts` store cannot bridge those processes, so
564
- * when the user clicks "Allow" the monitor handler's lookup misses and the
565
- * user sees "card action not supported".
566
- *
567
- * This FS store persists pending uploads to a JSON file (with the file buffer
568
- * base64-encoded) so any process that shares the Genesis state dir can read
569
- * them back. The in-memory store in `pending-uploads.ts` is still the fast
570
- * path for same-process flows (for example the messenger reply path); this FS
571
- * store is a cross-process fallback.
572
- */
573
- /** TTL for persisted pending uploads (matches in-memory store). */
574
- const PENDING_UPLOAD_TTL_MS$1 = 300 * 1e3;
575
- /** Cap to avoid unbounded growth if a process crashes mid-flow. */
576
- const MAX_PENDING_UPLOADS = 100;
577
- const STORE_FILENAME = "msteams-pending-uploads.json";
578
- const empty = {
579
- version: 1,
580
- uploads: {}
581
- };
582
- function resolveFilePath(options) {
583
- return resolveMSTeamsStorePath({
584
- filename: STORE_FILENAME,
585
- env: options?.env,
586
- homedir: options?.homedir,
587
- stateDir: options?.stateDir,
588
- storePath: options?.storePath
589
- });
590
- }
591
- function pruneExpired(uploads, nowMs, ttlMs) {
592
- const kept = {};
593
- for (const [id, record] of Object.entries(uploads)) if (nowMs - record.createdAt <= ttlMs) kept[id] = record;
594
- return kept;
595
- }
596
- function pruneToLimit(uploads) {
597
- const entries = Object.entries(uploads);
598
- if (entries.length <= MAX_PENDING_UPLOADS) return uploads;
599
- entries.sort((a, b) => a[1].createdAt - b[1].createdAt);
600
- const keep = entries.slice(entries.length - MAX_PENDING_UPLOADS);
601
- return Object.fromEntries(keep);
602
- }
603
- function recordToUpload(record) {
604
- return {
605
- id: record.id,
606
- buffer: Buffer.from(record.bufferBase64, "base64"),
607
- filename: record.filename,
608
- contentType: record.contentType,
609
- conversationId: record.conversationId,
610
- consentCardActivityId: record.consentCardActivityId,
611
- createdAt: record.createdAt
612
- };
613
- }
614
- function isValidStore(value) {
615
- if (!value || typeof value !== "object") return false;
616
- const candidate = value;
617
- return candidate.version === 1 && typeof candidate.uploads === "object" && candidate.uploads !== null && !Array.isArray(candidate.uploads);
618
- }
619
- async function readStore(filePath, ttlMs) {
620
- const { value } = await readJsonFile(filePath, empty);
621
- if (!isValidStore(value)) return {
622
- version: 1,
623
- uploads: {}
624
- };
625
- return {
626
- version: 1,
627
- uploads: pruneToLimit(pruneExpired(value.uploads, Date.now(), ttlMs))
628
- };
629
- }
630
- /**
631
- * Persist a pending upload record so another process can read it back.
632
- * Pass in the pre-generated id (same as the one placed in the consent card
633
- * context) so the in-memory and FS stores share the same key.
634
- */
635
- async function storePendingUploadFs(upload, options) {
636
- const ttlMs = options?.ttlMs ?? PENDING_UPLOAD_TTL_MS$1;
637
- const filePath = resolveFilePath(options);
638
- await withFileLock(filePath, empty, async () => {
639
- const store = await readStore(filePath, ttlMs);
640
- store.uploads[upload.id] = {
641
- id: upload.id,
642
- bufferBase64: upload.buffer.toString("base64"),
643
- filename: upload.filename,
644
- contentType: upload.contentType,
645
- conversationId: upload.conversationId,
646
- consentCardActivityId: upload.consentCardActivityId,
647
- createdAt: Date.now()
648
- };
649
- store.uploads = pruneToLimit(pruneExpired(store.uploads, Date.now(), ttlMs));
650
- await writeJsonFile(filePath, store);
651
- });
652
- }
653
- /**
654
- * Retrieve a persisted pending upload. Expired entries are treated as absent.
655
- */
656
- async function getPendingUploadFs(id, options) {
657
- if (!id) return;
658
- const ttlMs = options?.ttlMs ?? PENDING_UPLOAD_TTL_MS$1;
659
- const record = (await readStore(resolveFilePath(options), ttlMs)).uploads[id];
660
- if (!record) return;
661
- if (Date.now() - record.createdAt > ttlMs) return;
662
- return recordToUpload(record);
663
- }
664
- /**
665
- * Remove a persisted pending upload (after successful upload or decline).
666
- * No-op if the entry is already gone.
667
- */
668
- async function removePendingUploadFs(id, options) {
669
- if (!id) return;
670
- const ttlMs = options?.ttlMs ?? PENDING_UPLOAD_TTL_MS$1;
671
- const filePath = resolveFilePath(options);
672
- await withFileLock(filePath, empty, async () => {
673
- const store = await readStore(filePath, ttlMs);
674
- if (!(id in store.uploads)) return;
675
- delete store.uploads[id];
676
- await writeJsonFile(filePath, store);
677
- });
678
- }
679
- /**
680
- * Set the consent card activity ID on a persisted entry. Called after the
681
- * FileConsentCard activity is sent and we know its message id.
682
- */
683
- async function setPendingUploadActivityIdFs(id, activityId, options) {
684
- const ttlMs = options?.ttlMs ?? PENDING_UPLOAD_TTL_MS$1;
685
- const filePath = resolveFilePath(options);
686
- await withFileLock(filePath, empty, async () => {
687
- const store = await readStore(filePath, ttlMs);
688
- const record = store.uploads[id];
689
- if (!record) return;
690
- record.consentCardActivityId = activityId;
691
- await writeJsonFile(filePath, store);
692
- });
693
- }
694
- //#endregion
695
- //#region extensions/msteams/src/pending-uploads.ts
696
- /**
697
- * In-memory storage for files awaiting user consent in the FileConsentCard flow.
698
- *
699
- * When sending large files (>=4MB) in personal chats, Teams requires user consent
700
- * before upload. This module stores the file data temporarily until the user
701
- * accepts or declines, or until the TTL expires.
702
- */
703
- const pendingUploads = /* @__PURE__ */ new Map();
704
- /** Timer handles keyed by upload ID, cleared on explicit removal to prevent ghost cleanup */
705
- const pendingUploadTimers = /* @__PURE__ */ new Map();
706
- /** TTL for pending uploads: 5 minutes */
707
- const PENDING_UPLOAD_TTL_MS = 300 * 1e3;
708
- /**
709
- * Store a file pending user consent.
710
- * Returns the upload ID to include in the FileConsentCard context.
711
- */
712
- function storePendingUpload(upload) {
713
- const id = crypto.randomUUID();
714
- const entry = {
715
- ...upload,
716
- id,
717
- createdAt: Date.now()
718
- };
719
- pendingUploads.set(id, entry);
720
- const timer = setTimeout(() => {
721
- pendingUploads.delete(id);
722
- pendingUploadTimers.delete(id);
723
- }, PENDING_UPLOAD_TTL_MS);
724
- pendingUploadTimers.set(id, timer);
725
- return id;
726
- }
727
- /**
728
- * Retrieve a pending upload by ID.
729
- * Returns undefined if not found or expired.
730
- */
731
- function getPendingUpload(id) {
732
- if (!id) return;
733
- const entry = pendingUploads.get(id);
734
- if (!entry) return;
735
- if (Date.now() - entry.createdAt > PENDING_UPLOAD_TTL_MS) {
736
- pendingUploads.delete(id);
737
- const timer = pendingUploadTimers.get(id);
738
- if (timer !== void 0) {
739
- clearTimeout(timer);
740
- pendingUploadTimers.delete(id);
741
- }
742
- return;
743
- }
744
- return entry;
745
- }
746
- /**
747
- * Remove a pending upload (after successful upload or user decline).
748
- * Also clears the TTL timer to prevent ghost Map deletions.
749
- */
750
- function removePendingUpload(id) {
751
- if (id) {
752
- pendingUploads.delete(id);
753
- const timer = pendingUploadTimers.get(id);
754
- if (timer !== void 0) {
755
- clearTimeout(timer);
756
- pendingUploadTimers.delete(id);
757
- }
758
- }
759
- }
760
- /**
761
- * Set the consent card activity ID on an existing pending upload.
762
- * Called after the FileConsentCard is sent and we know its activity ID.
763
- */
764
- function setPendingUploadActivityId(uploadId, activityId) {
765
- const entry = pendingUploads.get(uploadId);
766
- if (entry) entry.consentCardActivityId = activityId;
767
- }
768
- //#endregion
769
- //#region extensions/msteams/src/file-consent-helpers.ts
770
- /**
771
- * Shared helpers for FileConsentCard flow in MSTeams.
772
- *
773
- * FileConsentCard is required for:
774
- * - Personal (1:1) chats with large files (>=4MB)
775
- * - Personal chats with non-image files (PDFs, documents, etc.)
776
- *
777
- * This module consolidates the logic used by both send.ts (proactive sends)
778
- * and messenger.ts (reply path) to avoid duplication.
779
- */
780
- function buildConsentActivity(params) {
781
- const { media, description, uploadId } = params;
782
- return {
783
- type: "message",
784
- attachments: [buildFileConsentCard({
785
- filename: media.filename,
786
- description: description || `File: ${media.filename}`,
787
- sizeInBytes: media.buffer.length,
788
- context: { uploadId }
789
- })]
790
- };
791
- }
792
- /**
793
- * Prepare a FileConsentCard activity for large files or non-images in personal chats.
794
- * Returns the activity object and uploadId - caller is responsible for sending.
795
- *
796
- * This variant only writes to the in-memory store. Use it when the caller and
797
- * the `fileConsent/invoke` handler share the same process (for example the
798
- * messenger reply path). For proactive CLI sends where the invoke arrives in
799
- * a different process, use {@link prepareFileConsentActivityFs} instead.
800
- */
801
- function prepareFileConsentActivity(params) {
802
- const { media, conversationId, description } = params;
803
- const uploadId = storePendingUpload({
804
- buffer: media.buffer,
805
- filename: media.filename,
806
- contentType: media.contentType,
807
- conversationId
808
- });
809
- return {
810
- activity: buildConsentActivity({
811
- media,
812
- description,
813
- uploadId
814
- }),
815
- uploadId
816
- };
817
- }
818
- /**
819
- * Prepare a FileConsentCard activity and persist the pending upload to the
820
- * filesystem so a different process can read it when the user accepts.
821
- *
822
- * This is used by the proactive CLI `message send --media` path: the CLI
823
- * process sends the card and exits, but the `fileConsent/invoke` callback is
824
- * delivered to the long-lived gateway monitor process. The FS-backed store
825
- * bridges those two processes. The in-memory store is also populated so
826
- * same-process flows keep the fast path.
827
- */
828
- async function prepareFileConsentActivityFs(params) {
829
- const { media, conversationId, description } = params;
830
- const uploadId = storePendingUpload({
831
- buffer: media.buffer,
832
- filename: media.filename,
833
- contentType: media.contentType,
834
- conversationId
835
- });
836
- await storePendingUploadFs({
837
- id: uploadId,
838
- buffer: media.buffer,
839
- filename: media.filename,
840
- contentType: media.contentType,
841
- conversationId
842
- });
843
- return {
844
- activity: buildConsentActivity({
845
- media,
846
- description,
847
- uploadId
848
- }),
849
- uploadId
850
- };
851
- }
852
- /**
853
- * Check if a file requires FileConsentCard flow.
854
- * True for: personal chat AND (large file OR non-image)
855
- */
856
- function requiresFileConsent(params) {
857
- const isPersonal = normalizeOptionalLowercaseString(params.conversationType) === "personal";
858
- const isImage = params.contentType?.startsWith("image/") ?? false;
859
- const isLargeFile = params.bufferSize >= params.thresholdBytes;
860
- return isPersonal && (isLargeFile || !isImage);
861
- }
862
- //#endregion
863
- //#region extensions/msteams/src/graph-chat.ts
864
- /**
865
- * Native Teams file card attachments for Bot Framework.
866
- *
867
- * The Bot Framework SDK supports `application/vnd.microsoft.teams.card.file.info`
868
- * content type which produces native Teams file cards.
869
- *
870
- * @see https://learn.microsoft.com/en-us/microsoftteams/platform/bots/how-to/bots-filesv4
871
- */
872
- /**
873
- * Build a native Teams file card attachment for Bot Framework.
874
- *
875
- * This uses the `application/vnd.microsoft.teams.card.file.info` content type
876
- * which is supported by Bot Framework and produces native Teams file cards
877
- * (the same display as when a user manually shares a file).
878
- *
879
- * @param file - DriveItem properties from getDriveItemProperties()
880
- * @returns Attachment object for Bot Framework sendActivity()
881
- */
882
- function buildTeamsFileInfoCard(file) {
883
- const rawETag = file.eTag;
884
- const uniqueId = rawETag.replace(/^["']|["']$/g, "").replace(/[{}]/g, "").split(",")[0] ?? rawETag;
885
- const lastDot = file.name.lastIndexOf(".");
886
- const fileType = lastDot >= 0 ? normalizeLowercaseStringOrEmpty$1(file.name.slice(lastDot + 1)) : "";
887
- return {
888
- contentType: "application/vnd.microsoft.teams.card.file.info",
889
- contentUrl: file.webDavUrl,
890
- name: file.name,
891
- content: {
892
- uniqueId,
893
- fileType
894
- }
895
- };
896
- }
897
- //#endregion
898
- //#region extensions/msteams/src/graph-upload.ts
899
- const GRAPH_ROOT = "https://graph.microsoft.com/v1.0";
900
- const GRAPH_BETA = "https://graph.microsoft.com/beta";
901
- const GRAPH_SCOPE = "https://graph.microsoft.com";
902
- /**
903
- * Upload a file to the user's OneDrive root folder.
904
- * For larger files, this uses the simple upload endpoint (up to 4MB).
905
- */
906
- async function uploadToOneDrive(params) {
907
- const fetchFn = params.fetchFn ?? fetch;
908
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
909
- const res = await fetchFn(`${GRAPH_ROOT}/me/drive/root:${`/GenesisShared/${encodeURIComponent(params.filename)}`}:/content`, {
910
- method: "PUT",
911
- headers: {
912
- "User-Agent": buildUserAgent(),
913
- Authorization: `Bearer ${token}`,
914
- "Content-Type": params.contentType ?? "application/octet-stream"
915
- },
916
- body: new Uint8Array(params.buffer)
917
- });
918
- if (!res.ok) {
919
- const body = await res.text().catch(() => "");
920
- throw new Error(`OneDrive upload failed: ${res.status} ${res.statusText} - ${body}`);
921
- }
922
- const data = await res.json();
923
- if (!data.id || !data.webUrl || !data.name) throw new Error("OneDrive upload response missing required fields");
924
- return {
925
- id: data.id,
926
- webUrl: data.webUrl,
927
- name: data.name
928
- };
929
- }
930
- /**
931
- * Create a sharing link for a OneDrive file.
932
- * The link allows organization members to view the file.
933
- */
934
- async function createSharingLink(params) {
935
- const fetchFn = params.fetchFn ?? fetch;
936
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
937
- const res = await fetchFn(`${GRAPH_ROOT}/me/drive/items/${params.itemId}/createLink`, {
938
- method: "POST",
939
- headers: {
940
- "User-Agent": buildUserAgent(),
941
- Authorization: `Bearer ${token}`,
942
- "Content-Type": "application/json"
943
- },
944
- body: JSON.stringify({
945
- type: "view",
946
- scope: params.scope ?? "organization"
947
- })
948
- });
949
- if (!res.ok) {
950
- const body = await res.text().catch(() => "");
951
- throw new Error(`Create sharing link failed: ${res.status} ${res.statusText} - ${body}`);
952
- }
953
- const data = await res.json();
954
- if (!data.link?.webUrl) throw new Error("Create sharing link response missing webUrl");
955
- return { webUrl: data.link.webUrl };
956
- }
957
- /**
958
- * Upload a file to OneDrive and create a sharing link.
959
- * Convenience function for the common case.
960
- */
961
- async function uploadAndShareOneDrive(params) {
962
- const uploaded = await uploadToOneDrive({
963
- buffer: params.buffer,
964
- filename: params.filename,
965
- contentType: params.contentType,
966
- tokenProvider: params.tokenProvider,
967
- fetchFn: params.fetchFn
968
- });
969
- const shareLink = await createSharingLink({
970
- itemId: uploaded.id,
971
- tokenProvider: params.tokenProvider,
972
- scope: params.scope,
973
- fetchFn: params.fetchFn
974
- });
975
- return {
976
- itemId: uploaded.id,
977
- webUrl: uploaded.webUrl,
978
- shareUrl: shareLink.webUrl,
979
- name: uploaded.name
980
- };
981
- }
982
- /**
983
- * Upload a file to a SharePoint site.
984
- * This is used for group chats and channels where /me/drive doesn't work for bots.
985
- *
986
- * @param params.siteId - SharePoint site ID (e.g., "contoso.sharepoint.com,guid1,guid2")
987
- */
988
- async function uploadToSharePoint(params) {
989
- const fetchFn = params.fetchFn ?? fetch;
990
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
991
- const uploadPath = `/GenesisShared/${encodeURIComponent(params.filename)}`;
992
- const res = await fetchFn(`${GRAPH_ROOT}/sites/${params.siteId}/drive/root:${uploadPath}:/content`, {
993
- method: "PUT",
994
- headers: {
995
- "User-Agent": buildUserAgent(),
996
- Authorization: `Bearer ${token}`,
997
- "Content-Type": params.contentType ?? "application/octet-stream"
998
- },
999
- body: new Uint8Array(params.buffer)
1000
- });
1001
- if (!res.ok) {
1002
- const body = await res.text().catch(() => "");
1003
- throw new Error(`SharePoint upload failed: ${res.status} ${res.statusText} - ${body}`);
1004
- }
1005
- const data = await res.json();
1006
- if (!data.id || !data.webUrl || !data.name) throw new Error("SharePoint upload response missing required fields");
1007
- return {
1008
- id: data.id,
1009
- webUrl: data.webUrl,
1010
- name: data.name
1011
- };
1012
- }
1013
- /**
1014
- * Get driveItem properties needed for native Teams file card attachments.
1015
- * This fetches the eTag and webDavUrl which are required for "reference" type attachments.
1016
- *
1017
- * @param params.siteId - SharePoint site ID
1018
- * @param params.itemId - The driveItem ID (returned from upload)
1019
- */
1020
- async function getDriveItemProperties(params) {
1021
- const fetchFn = params.fetchFn ?? fetch;
1022
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
1023
- const res = await fetchFn(`${GRAPH_ROOT}/sites/${params.siteId}/drive/items/${params.itemId}?$select=eTag,webDavUrl,name`, { headers: {
1024
- "User-Agent": buildUserAgent(),
1025
- Authorization: `Bearer ${token}`
1026
- } });
1027
- if (!res.ok) {
1028
- const body = await res.text().catch(() => "");
1029
- throw new Error(`Get driveItem properties failed: ${res.status} ${res.statusText} - ${body}`);
1030
- }
1031
- const data = await res.json();
1032
- if (!data.eTag || !data.webDavUrl || !data.name) throw new Error("DriveItem response missing required properties (eTag, webDavUrl, or name)");
1033
- return {
1034
- eTag: data.eTag,
1035
- webDavUrl: data.webDavUrl,
1036
- name: data.name
1037
- };
1038
- }
1039
- /**
1040
- * Resolve the Graph API-native chat ID from a Bot Framework conversation ID.
1041
- *
1042
- * Bot Framework personal DM conversation IDs use formats like `a:1xxx@unq.gbl.spaces`
1043
- * or `8:orgid:xxx` that the Graph API does not accept. Graph API requires the
1044
- * `19:xxx@thread.tacv2` or `19:xxx@unq.gbl.spaces` format.
1045
- *
1046
- * This function looks up the matching Graph chat by querying the bot's chats filtered
1047
- * by the target user's AAD object ID.
1048
- */
1049
- async function resolveGraphChatId(params) {
1050
- const { botFrameworkConversationId, userAadObjectId, tokenProvider } = params;
1051
- const fetchFn = params.fetchFn ?? fetch;
1052
- if (botFrameworkConversationId.startsWith("19:")) return botFrameworkConversationId;
1053
- const token = await tokenProvider.getAccessToken(GRAPH_SCOPE);
1054
- let path;
1055
- if (userAadObjectId) path = `/me/chats?$filter=${encodeURIComponent(`chatType eq 'oneOnOne' and members/any(m:m/microsoft.graph.aadUserConversationMember/userId eq '${userAadObjectId}')`)}&$select=id`;
1056
- else path = `/me/chats?$filter=${encodeURIComponent("chatType eq 'oneOnOne'")}&$select=id`;
1057
- const res = await fetchFn(`${GRAPH_ROOT}${path}`, { headers: {
1058
- "User-Agent": buildUserAgent(),
1059
- Authorization: `Bearer ${token}`
1060
- } });
1061
- if (!res.ok) return null;
1062
- const chats = (await res.json()).value ?? [];
1063
- if (userAadObjectId && chats.length > 0 && chats[0]?.id) return chats[0].id;
1064
- if (!userAadObjectId && chats.length === 1 && chats[0]?.id) return chats[0].id;
1065
- return null;
1066
- }
1067
- /**
1068
- * Get members of a Teams chat for per-user sharing.
1069
- * Used to create sharing links scoped to only the chat participants.
1070
- */
1071
- async function getChatMembers(params) {
1072
- const fetchFn = params.fetchFn ?? fetch;
1073
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
1074
- const res = await fetchFn(`${GRAPH_ROOT}/chats/${params.chatId}/members`, { headers: {
1075
- "User-Agent": buildUserAgent(),
1076
- Authorization: `Bearer ${token}`
1077
- } });
1078
- if (!res.ok) {
1079
- const body = await res.text().catch(() => "");
1080
- throw new Error(`Get chat members failed: ${res.status} ${res.statusText} - ${body}`);
1081
- }
1082
- return ((await res.json()).value ?? []).map((m) => ({
1083
- aadObjectId: m.userId ?? "",
1084
- displayName: m.displayName
1085
- })).filter((m) => m.aadObjectId);
1086
- }
1087
- /**
1088
- * Create a sharing link for a SharePoint drive item.
1089
- * For organization scope (default), uses v1.0 API.
1090
- * For per-user scope, uses beta API with recipients.
1091
- */
1092
- async function createSharePointSharingLink(params) {
1093
- const fetchFn = params.fetchFn ?? fetch;
1094
- const token = await params.tokenProvider.getAccessToken(GRAPH_SCOPE);
1095
- const scope = params.scope ?? "organization";
1096
- const apiRoot = scope === "users" ? GRAPH_BETA : GRAPH_ROOT;
1097
- const body = {
1098
- type: "view",
1099
- scope: scope === "users" ? "users" : "organization"
1100
- };
1101
- if (scope === "users" && params.recipientObjectIds?.length) body.recipients = params.recipientObjectIds.map((id) => ({ objectId: id }));
1102
- const res = await fetchFn(`${apiRoot}/sites/${params.siteId}/drive/items/${params.itemId}/createLink`, {
1103
- method: "POST",
1104
- headers: {
1105
- "User-Agent": buildUserAgent(),
1106
- Authorization: `Bearer ${token}`,
1107
- "Content-Type": "application/json"
1108
- },
1109
- body: JSON.stringify(body)
1110
- });
1111
- if (!res.ok) {
1112
- const respBody = await res.text().catch(() => "");
1113
- throw new Error(`Create SharePoint sharing link failed: ${res.status} ${res.statusText} - ${respBody}`);
1114
- }
1115
- const data = await res.json();
1116
- if (!data.link?.webUrl) throw new Error("Create SharePoint sharing link response missing webUrl");
1117
- return { webUrl: data.link.webUrl };
1118
- }
1119
- /**
1120
- * Upload a file to SharePoint and create a sharing link.
1121
- *
1122
- * For group chats, this creates a per-user sharing link scoped to chat members.
1123
- * For channels, this creates an organization-wide sharing link.
1124
- *
1125
- * @param params.siteId - SharePoint site ID
1126
- * @param params.chatId - Optional chat ID for per-user sharing (group chats)
1127
- * @param params.usePerUserSharing - Whether to use per-user sharing (requires beta API + Chat.Read.All)
1128
- */
1129
- async function uploadAndShareSharePoint(params) {
1130
- const uploaded = await uploadToSharePoint({
1131
- buffer: params.buffer,
1132
- filename: params.filename,
1133
- contentType: params.contentType,
1134
- tokenProvider: params.tokenProvider,
1135
- siteId: params.siteId,
1136
- fetchFn: params.fetchFn
1137
- });
1138
- let scope = "organization";
1139
- let recipientObjectIds;
1140
- if (params.usePerUserSharing && params.chatId) try {
1141
- const members = await getChatMembers({
1142
- chatId: params.chatId,
1143
- tokenProvider: params.tokenProvider,
1144
- fetchFn: params.fetchFn
1145
- });
1146
- if (members.length > 0) {
1147
- scope = "users";
1148
- recipientObjectIds = members.map((m) => m.aadObjectId);
1149
- }
1150
- } catch {}
1151
- const shareLink = await createSharePointSharingLink({
1152
- siteId: params.siteId,
1153
- itemId: uploaded.id,
1154
- tokenProvider: params.tokenProvider,
1155
- scope,
1156
- recipientObjectIds,
1157
- fetchFn: params.fetchFn
1158
- });
1159
- return {
1160
- itemId: uploaded.id,
1161
- webUrl: uploaded.webUrl,
1162
- shareUrl: shareLink.webUrl,
1163
- name: uploaded.name
1164
- };
1165
- }
1166
- //#endregion
1167
- //#region extensions/msteams/src/media-helpers.ts
1168
- /**
1169
- * MIME type detection and filename extraction for MSTeams media attachments.
1170
- */
1171
- /**
1172
- * Detect MIME type from URL extension or data URL.
1173
- * Uses shared MIME detection for consistency with core handling.
1174
- */
1175
- async function getMimeType(url) {
1176
- if (url.startsWith("data:")) {
1177
- const match = url.match(/^data:([^;,]+)/);
1178
- if (match?.[1]) return match[1];
1179
- }
1180
- return await detectMime({ filePath: url }) ?? "application/octet-stream";
1181
- }
1182
- /**
1183
- * Extract filename from URL or local path.
1184
- * For local paths, extracts original filename if stored with embedded name pattern.
1185
- * Falls back to deriving the extension from MIME type when no extension present.
1186
- */
1187
- async function extractFilename(url) {
1188
- if (url.startsWith("data:")) {
1189
- const mime = await getMimeType(url);
1190
- const ext = extensionForMime(mime) ?? ".bin";
1191
- return `${mime.startsWith("image/") ? "image" : "file"}${ext}`;
1192
- }
1193
- try {
1194
- const pathname = new URL(url).pathname;
1195
- const basename = path.basename(pathname);
1196
- const existingExt = getFileExtension(pathname);
1197
- if (basename && existingExt) return basename;
1198
- const mime = await getMimeType(url);
1199
- const ext = extensionForMime(mime) ?? ".bin";
1200
- const prefix = mime.startsWith("image/") ? "image" : "file";
1201
- return basename ? `${basename}${ext}` : `${prefix}${ext}`;
1202
- } catch {
1203
- return extractOriginalFilename(url);
1204
- }
1205
- }
1206
- /**
1207
- * Check if a URL refers to a local file path.
1208
- */
1209
- function isLocalPath(url) {
1210
- if (url.startsWith("file://") || url.startsWith("/") || url.startsWith("~")) return true;
1211
- if (url.startsWith("\\") && !url.startsWith("\\\\")) return true;
1212
- if (/^[a-zA-Z]:[\\/]/.test(url)) return true;
1213
- if (url.startsWith("\\\\")) return true;
1214
- return false;
1215
- }
1216
- /**
1217
- * Extract the message ID from a Bot Framework response.
1218
- */
1219
- function extractMessageId(response) {
1220
- if (!response || typeof response !== "object") return null;
1221
- if (!("id" in response)) return null;
1222
- const { id } = response;
1223
- if (typeof id !== "string" || !id) return null;
1224
- return id;
1225
- }
1226
- //#endregion
1227
- //#region extensions/msteams/src/mentions.ts
1228
- /**
1229
- * Check whether an ID looks like a valid Teams user/bot identifier.
1230
- * Accepts:
1231
- * - Bot Framework IDs: "28:xxx..." / "29:xxx..." / "8:orgid:..."
1232
- * - AAD object IDs (UUIDs): "d5318c29-33ac-4e6b-bd42-57b8b793908f"
1233
- *
1234
- * Keep this permissive enough for real Teams IDs while still rejecting
1235
- * documentation placeholders like `@[表示名](ユーザーID)`.
1236
- */
1237
- const TEAMS_BOT_ID_PATTERN = /^\d+:[a-z0-9._=-]+(?::[a-z0-9._=-]+)*$/i;
1238
- const AAD_OBJECT_ID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/i;
1239
- function isValidTeamsId(id) {
1240
- return TEAMS_BOT_ID_PATTERN.test(id) || AAD_OBJECT_ID_PATTERN.test(id);
1241
- }
1242
- /**
1243
- * Parse mentions from text in the format @[Name](id).
1244
- * Example: "Hello @[John Doe](28:xxx-yyy-zzz)!"
1245
- *
1246
- * Only matches where the id looks like a real Teams user/bot ID are treated
1247
- * as mentions. This avoids false positives from documentation or code samples
1248
- * embedded in the message (e.g. `@[表示名](ユーザーID)` in backticks).
1249
- *
1250
- * Returns both the formatted text with <at> tags and the entities array.
1251
- */
1252
- function parseMentions(text) {
1253
- const mentionPattern = /@\[([^\]]+)\]\(([^)]+)\)/g;
1254
- const entities = [];
1255
- return {
1256
- text: text.replace(mentionPattern, (match, name, id) => {
1257
- const trimmedId = id.trim();
1258
- if (!isValidTeamsId(trimmedId)) return match;
1259
- const trimmedName = name.trim();
1260
- const mentionTag = `<at>${trimmedName}</at>`;
1261
- entities.push({
1262
- type: "mention",
1263
- text: mentionTag,
1264
- mentioned: {
1265
- id: trimmedId,
1266
- name: trimmedName
1267
- }
1268
- });
1269
- return mentionTag;
1270
- }),
1271
- entities
1272
- };
1273
- }
1274
- //#endregion
1275
- //#region extensions/msteams/src/revoked-context.ts
1276
- async function withRevokedProxyFallback(params) {
1277
- try {
1278
- return await params.run();
1279
- } catch (err) {
1280
- if (!isRevokedProxyError(err)) throw err;
1281
- params.onRevokedLog?.();
1282
- return await params.onRevoked();
1283
- }
1284
- }
1285
- //#endregion
1286
- //#region extensions/msteams/src/ai-entity.ts
1287
- /** AI-generated content entity added to every outbound AI message. */
1288
- const AI_GENERATED_ENTITY = {
1289
- type: "https://schema.org/Message",
1290
- "@type": "Message",
1291
- "@id": "",
1292
- additionalType: ["AIGeneratedContent"]
1293
- };
1294
- //#endregion
1295
- //#region extensions/msteams/src/messenger.ts
1296
- /**
1297
- * MSTeams-specific media size limit (100MB).
1298
- * Higher than the default because OneDrive upload handles large files well.
1299
- */
1300
- const MSTEAMS_MAX_MEDIA_BYTES$1 = 100 * 1024 * 1024;
1301
- /**
1302
- * Threshold for large files that require FileConsentCard flow in personal chats.
1303
- * Files >= 4MB use consent flow; smaller images can use inline base64.
1304
- */
1305
- const FILE_CONSENT_THRESHOLD_BYTES$1 = 4 * 1024 * 1024;
1306
- function normalizeConversationId(rawId) {
1307
- return rawId.split(";")[0] ?? rawId;
1308
- }
1309
- function buildConversationReference(ref) {
1310
- const conversationId = ref.conversation?.id?.trim();
1311
- if (!conversationId) throw new Error("Invalid stored reference: missing conversation.id");
1312
- const agent = ref.agent ?? ref.bot ?? void 0;
1313
- if (agent == null || !agent.id) throw new Error("Invalid stored reference: missing agent.id");
1314
- const user = ref.user;
1315
- if (!user?.id) throw new Error("Invalid stored reference: missing user.id");
1316
- const tenantId = ref.tenantId ?? ref.conversation?.tenantId;
1317
- const aadObjectId = ref.aadObjectId ?? user.aadObjectId;
1318
- return {
1319
- activityId: ref.activityId,
1320
- user: aadObjectId ? {
1321
- ...user,
1322
- aadObjectId
1323
- } : user,
1324
- agent,
1325
- conversation: {
1326
- id: normalizeConversationId(conversationId),
1327
- conversationType: ref.conversation?.conversationType,
1328
- tenantId
1329
- },
1330
- channelId: ref.channelId ?? "msteams",
1331
- serviceUrl: ref.serviceUrl,
1332
- locale: ref.locale,
1333
- ...tenantId ? { tenantId } : {},
1334
- ...aadObjectId ? { aadObjectId } : {}
1335
- };
1336
- }
1337
- function pushTextMessages(out, text, opts) {
1338
- if (!text) return;
1339
- if (opts.chunkText) {
1340
- for (const chunk of getMSTeamsRuntime().channel.text.chunkMarkdownTextWithMode(text, opts.chunkLimit, opts.chunkMode)) {
1341
- const trimmed = chunk.trim();
1342
- if (!trimmed || isSilentReplyText(trimmed, "NO_REPLY")) continue;
1343
- out.push({ text: trimmed });
1344
- }
1345
- return;
1346
- }
1347
- const trimmed = text.trim();
1348
- if (!trimmed || isSilentReplyText(trimmed, "NO_REPLY")) return;
1349
- out.push({ text: trimmed });
1350
- }
1351
- function clampMs(value, maxMs) {
1352
- if (!Number.isFinite(value) || value < 0) return 0;
1353
- return Math.min(value, maxMs);
1354
- }
1355
- function resolveRetryOptions(retry) {
1356
- if (!retry) return {
1357
- enabled: false,
1358
- maxAttempts: 1,
1359
- baseDelayMs: 0,
1360
- maxDelayMs: 0
1361
- };
1362
- return {
1363
- enabled: true,
1364
- maxAttempts: Math.max(1, retry?.maxAttempts ?? 3),
1365
- baseDelayMs: Math.max(0, retry?.baseDelayMs ?? 250),
1366
- maxDelayMs: Math.max(0, retry?.maxDelayMs ?? 1e4)
1367
- };
1368
- }
1369
- function computeRetryDelayMs(attempt, classification, opts) {
1370
- if (classification.retryAfterMs != null) return clampMs(classification.retryAfterMs, opts.maxDelayMs);
1371
- return clampMs(opts.baseDelayMs * 2 ** Math.max(0, attempt - 1), opts.maxDelayMs);
1372
- }
1373
- function shouldRetry(classification) {
1374
- return classification.kind === "throttled" || classification.kind === "transient";
1375
- }
1376
- function renderReplyPayloadsToMessages(replies, options) {
1377
- const out = [];
1378
- const chunkLimit = Math.min(options.textChunkLimit, 4e3);
1379
- const chunkText = options.chunkText !== false;
1380
- const chunkMode = options.chunkMode ?? "length";
1381
- const mediaMode = options.mediaMode ?? "split";
1382
- const tableMode = options.tableMode ?? getMSTeamsRuntime().channel.text.resolveMarkdownTableMode({
1383
- cfg: getMSTeamsRuntime().config.loadConfig(),
1384
- channel: "msteams"
1385
- });
1386
- for (const payload of replies) {
1387
- const reply = resolveSendableOutboundReplyParts(payload, { text: getMSTeamsRuntime().channel.text.convertMarkdownTables(payload.text ?? "", tableMode) });
1388
- if (!reply.hasContent) continue;
1389
- if (!reply.hasMedia) {
1390
- pushTextMessages(out, reply.text, {
1391
- chunkText,
1392
- chunkLimit,
1393
- chunkMode
1394
- });
1395
- continue;
1396
- }
1397
- if (mediaMode === "inline") {
1398
- const firstMedia = reply.mediaUrls[0];
1399
- if (firstMedia) {
1400
- out.push({
1401
- text: reply.text || void 0,
1402
- mediaUrl: firstMedia
1403
- });
1404
- for (let i = 1; i < reply.mediaUrls.length; i++) if (reply.mediaUrls[i]) out.push({ mediaUrl: reply.mediaUrls[i] });
1405
- } else pushTextMessages(out, reply.text, {
1406
- chunkText,
1407
- chunkLimit,
1408
- chunkMode
1409
- });
1410
- continue;
1411
- }
1412
- pushTextMessages(out, reply.text, {
1413
- chunkText,
1414
- chunkLimit,
1415
- chunkMode
1416
- });
1417
- for (const mediaUrl of reply.mediaUrls) {
1418
- if (!mediaUrl) continue;
1419
- out.push({ mediaUrl });
1420
- }
1421
- }
1422
- return out;
1423
- }
1424
- async function buildActivity(msg, conversationRef, tokenProvider, sharePointSiteId, mediaMaxBytes, options) {
1425
- const activity = { type: "message" };
1426
- activity.channelData = { feedbackLoopEnabled: options?.feedbackLoopEnabled ?? false };
1427
- if (msg.text) {
1428
- const { text: formattedText, entities } = parseMentions(msg.text);
1429
- activity.text = formattedText;
1430
- activity.entities = [...entities.length > 0 ? entities : [], AI_GENERATED_ENTITY];
1431
- } else activity.entities = [AI_GENERATED_ENTITY];
1432
- if (msg.mediaUrl) {
1433
- let contentUrl = msg.mediaUrl;
1434
- let contentType = await getMimeType(msg.mediaUrl);
1435
- let fileName = await extractFilename(msg.mediaUrl);
1436
- if (isLocalPath(msg.mediaUrl)) {
1437
- const maxBytes = mediaMaxBytes ?? MSTEAMS_MAX_MEDIA_BYTES$1;
1438
- const media = await loadWebMedia(msg.mediaUrl, maxBytes);
1439
- contentType = media.contentType ?? contentType;
1440
- fileName = media.fileName ?? fileName;
1441
- const conversationType = normalizeOptionalLowercaseString(conversationRef.conversation?.conversationType);
1442
- const isPersonal = conversationType === "personal";
1443
- const isImage = media.kind === "image";
1444
- if (requiresFileConsent({
1445
- conversationType,
1446
- contentType,
1447
- bufferSize: media.buffer.length,
1448
- thresholdBytes: FILE_CONSENT_THRESHOLD_BYTES$1
1449
- })) {
1450
- const conversationId = conversationRef.conversation?.id ?? "unknown";
1451
- const { activity: consentActivity, uploadId } = prepareFileConsentActivity({
1452
- media: {
1453
- buffer: media.buffer,
1454
- filename: fileName,
1455
- contentType
1456
- },
1457
- conversationId,
1458
- description: msg.text || void 0
1459
- });
1460
- consentActivity._pendingUploadId = uploadId;
1461
- return consentActivity;
1462
- }
1463
- if (!isPersonal && !isImage && tokenProvider && sharePointSiteId) {
1464
- const chatId = conversationRef.graphChatId ?? conversationRef.conversation?.id;
1465
- activity.attachments = [buildTeamsFileInfoCard(await getDriveItemProperties({
1466
- siteId: sharePointSiteId,
1467
- itemId: (await uploadAndShareSharePoint({
1468
- buffer: media.buffer,
1469
- filename: fileName,
1470
- contentType,
1471
- tokenProvider,
1472
- siteId: sharePointSiteId,
1473
- chatId: chatId ?? void 0,
1474
- usePerUserSharing: conversationType === "groupchat"
1475
- })).itemId,
1476
- tokenProvider
1477
- }))];
1478
- return activity;
1479
- }
1480
- if (!isPersonal && media.kind !== "image" && tokenProvider) {
1481
- const uploaded = await uploadAndShareOneDrive({
1482
- buffer: media.buffer,
1483
- filename: fileName,
1484
- contentType,
1485
- tokenProvider
1486
- });
1487
- const fileLink = `📎 [${uploaded.name}](${uploaded.shareUrl})`;
1488
- const existingText = typeof activity.text === "string" ? activity.text : void 0;
1489
- activity.text = existingText ? `${existingText}\n\n${fileLink}` : fileLink;
1490
- return activity;
1491
- }
1492
- const base64 = media.buffer.toString("base64");
1493
- contentUrl = `data:${media.contentType};base64,${base64}`;
1494
- }
1495
- activity.attachments = [{
1496
- name: fileName,
1497
- contentType,
1498
- contentUrl
1499
- }];
1500
- }
1501
- return activity;
1502
- }
1503
- async function sendMSTeamsMessages(params) {
1504
- const messages = params.messages.filter((m) => m.text && m.text.trim().length > 0 || m.mediaUrl);
1505
- if (messages.length === 0) return [];
1506
- const retryOptions = resolveRetryOptions(params.retry);
1507
- const sendWithRetry = async (sendOnce, meta) => {
1508
- if (!retryOptions.enabled) return await sendOnce();
1509
- let attempt = 1;
1510
- while (true) try {
1511
- return await sendOnce();
1512
- } catch (err) {
1513
- const classification = classifyMSTeamsSendError(err);
1514
- if (!(attempt < retryOptions.maxAttempts && shouldRetry(classification))) throw err;
1515
- const delayMs = computeRetryDelayMs(attempt, classification, retryOptions);
1516
- const nextAttempt = attempt + 1;
1517
- params.onRetry?.({
1518
- messageIndex: meta.messageIndex,
1519
- messageCount: meta.messageCount,
1520
- nextAttempt,
1521
- maxAttempts: retryOptions.maxAttempts,
1522
- delayMs,
1523
- classification
1524
- });
1525
- await sleep(delayMs);
1526
- attempt = nextAttempt;
1527
- }
1528
- };
1529
- const sendMessageInContext = async (ctx, message, messageIndex) => {
1530
- let pendingUploadId;
1531
- const messageId = extractMessageId(await sendWithRetry(async () => {
1532
- const activity = await buildActivity(message, params.conversationRef, params.tokenProvider, params.sharePointSiteId, params.mediaMaxBytes, { feedbackLoopEnabled: params.feedbackLoopEnabled });
1533
- pendingUploadId = typeof activity._pendingUploadId === "string" ? activity._pendingUploadId : void 0;
1534
- if (pendingUploadId) delete activity._pendingUploadId;
1535
- return await ctx.sendActivity(activity);
1536
- }, {
1537
- messageIndex,
1538
- messageCount: messages.length
1539
- })) ?? "unknown";
1540
- if (pendingUploadId && messageId !== "unknown") setPendingUploadActivityId(pendingUploadId, messageId);
1541
- return messageId;
1542
- };
1543
- const sendMessageBatchInContext = async (ctx, batch, startIndex) => {
1544
- const messageIds = [];
1545
- for (const [idx, message] of batch.entries()) messageIds.push(await sendMessageInContext(ctx, message, startIndex + idx));
1546
- return messageIds;
1547
- };
1548
- const sendProactively = async (batch, startIndex, threadActivityId) => {
1549
- const baseRef = buildConversationReference(params.conversationRef);
1550
- const conversationId = params.conversationRef.conversation?.conversationType === "channel" && threadActivityId ? `${baseRef.conversation.id};messageid=${threadActivityId}` : baseRef.conversation.id;
1551
- const proactiveRef = {
1552
- ...baseRef,
1553
- activityId: void 0,
1554
- conversation: {
1555
- ...baseRef.conversation,
1556
- id: conversationId
1557
- }
1558
- };
1559
- const messageIds = [];
1560
- await params.adapter.continueConversation(params.appId, proactiveRef, async (ctx) => {
1561
- messageIds.push(...await sendMessageBatchInContext(ctx, batch, startIndex));
1562
- });
1563
- return messageIds;
1564
- };
1565
- const resolvedThreadId = params.conversationRef.threadId ?? params.conversationRef.activityId;
1566
- if (params.replyStyle === "thread") {
1567
- const ctx = params.context;
1568
- if (!ctx) throw new Error("Missing context for replyStyle=thread");
1569
- const messageIds = [];
1570
- for (const [idx, message] of messages.entries()) {
1571
- const result = await withRevokedProxyFallback({
1572
- run: async () => ({
1573
- ids: [await sendMessageInContext(ctx, message, idx)],
1574
- fellBack: false
1575
- }),
1576
- onRevoked: async () => {
1577
- const remaining = messages.slice(idx);
1578
- return {
1579
- ids: remaining.length > 0 ? await sendProactively(remaining, idx, resolvedThreadId) : [],
1580
- fellBack: true
1581
- };
1582
- }
1583
- });
1584
- messageIds.push(...result.ids);
1585
- if (result.fellBack) return messageIds;
1586
- }
1587
- return messageIds;
1588
- }
1589
- return await sendProactively(messages, 0);
1590
- }
1591
- //#endregion
1592
- //#region extensions/msteams/src/send-context.ts
1593
- /**
1594
- * Parse the target value into a conversation reference lookup key.
1595
- * Supported formats:
1596
- * - conversation:19:abc@thread.tacv2 → lookup by conversation ID
1597
- * - user:aad-object-id → lookup by user AAD object ID
1598
- * - 19:abc@thread.tacv2 → direct conversation ID
1599
- */
1600
- function parseRecipient(to) {
1601
- const trimmed = to.trim();
1602
- const finalize = (type, id) => {
1603
- const normalized = id.trim();
1604
- if (!normalized) throw new Error(`Invalid target value: missing ${type} id`);
1605
- return {
1606
- type,
1607
- id: normalized
1608
- };
1609
- };
1610
- if (trimmed.startsWith("conversation:")) return finalize("conversation", trimmed.slice(13));
1611
- if (trimmed.startsWith("user:")) return finalize("user", trimmed.slice(5));
1612
- if (trimmed.startsWith("19:") || trimmed.includes("@thread")) return finalize("conversation", trimmed);
1613
- return finalize("user", trimmed);
1614
- }
1615
- /**
1616
- * Find a stored conversation reference for the given recipient.
1617
- */
1618
- async function findConversationReference(recipient) {
1619
- if (recipient.type === "conversation") {
1620
- const ref = await recipient.store.get(recipient.id);
1621
- if (ref) return {
1622
- conversationId: recipient.id,
1623
- ref
1624
- };
1625
- return null;
1626
- }
1627
- const found = await recipient.store.findPreferredDmByUserId(recipient.id);
1628
- if (!found) return null;
1629
- return {
1630
- conversationId: found.conversationId,
1631
- ref: found.reference
1632
- };
1633
- }
1634
- async function resolveMSTeamsSendContext(params) {
1635
- const msteamsCfg = params.cfg.channels?.msteams;
1636
- if (!msteamsCfg?.enabled) throw new Error("msteams provider is not enabled");
1637
- const creds = resolveMSTeamsCredentials(msteamsCfg);
1638
- if (!creds) throw new Error("msteams credentials not configured");
1639
- const store = createMSTeamsConversationStoreFs();
1640
- const recipient = parseRecipient(params.to);
1641
- const found = await findConversationReference({
1642
- ...recipient,
1643
- store
1644
- });
1645
- if (!found) throw new Error(`No conversation reference found for ${recipient.type}:${recipient.id}. The bot must receive a message from this conversation before it can send proactively.`);
1646
- const { conversationId, ref } = found;
1647
- if (recipient.type === "user") {
1648
- const resolvedType = normalizeLowercaseStringOrEmpty$1(ref.conversation?.conversationType ?? "");
1649
- if (resolvedType && resolvedType !== "personal") throw new Error(`Conversation reference for user:${recipient.id} resolved to a ${resolvedType} conversation (${conversationId}) instead of a personal DM. The bot must receive a DM from this user before it can send proactively.`);
1650
- }
1651
- const log = getMSTeamsRuntime().logging.getChildLogger({ name: "msteams:send" });
1652
- const { sdk, app } = await loadMSTeamsSdkWithAuth(creds);
1653
- const adapter = createMSTeamsAdapter(app, sdk);
1654
- const tokenProvider = createMSTeamsTokenProvider(app);
1655
- const storedConversationType = normalizeLowercaseStringOrEmpty$1(ref.conversation?.conversationType ?? "");
1656
- let conversationType;
1657
- if (storedConversationType === "personal") conversationType = "personal";
1658
- else if (storedConversationType === "channel") conversationType = "channel";
1659
- else conversationType = "groupChat";
1660
- const sharePointSiteId = msteamsCfg.sharePointSiteId;
1661
- const mediaMaxBytes = resolveChannelMediaMaxBytes({
1662
- cfg: params.cfg,
1663
- resolveChannelLimitMb: ({ cfg }) => cfg.channels?.msteams?.mediaMaxMb
1664
- });
1665
- let graphChatId = ref.graphChatId ?? void 0;
1666
- if (graphChatId === void 0 && sharePointSiteId) try {
1667
- const resolved = await resolveGraphChatId({
1668
- botFrameworkConversationId: conversationId,
1669
- userAadObjectId: ref.user?.aadObjectId,
1670
- tokenProvider
1671
- });
1672
- graphChatId = resolved;
1673
- if (resolved) await store.upsert(conversationId, {
1674
- ...ref,
1675
- graphChatId: resolved
1676
- });
1677
- else log.warn?.("could not resolve Graph chat ID; file uploads may fail for this conversation", { conversationId });
1678
- } catch (err) {
1679
- log.warn?.("failed to resolve Graph chat ID; file uploads may fall back to Bot Framework ID", {
1680
- conversationId,
1681
- error: formatUnknownError(err)
1682
- });
1683
- graphChatId = null;
1684
- }
1685
- return {
1686
- appId: creds.appId,
1687
- conversationId,
1688
- ref,
1689
- adapter,
1690
- log,
1691
- conversationType,
1692
- tokenProvider,
1693
- sharePointSiteId,
1694
- mediaMaxBytes,
1695
- graphChatId
1696
- };
1697
- }
1698
- //#endregion
1699
- //#region extensions/msteams/src/send.ts
1700
- /** Threshold for large files that require FileConsentCard flow in personal chats */
1701
- const FILE_CONSENT_THRESHOLD_BYTES = 4 * 1024 * 1024;
1702
- /**
1703
- * MSTeams-specific media size limit (100MB).
1704
- * Higher than the default because OneDrive upload handles large files well.
1705
- */
1706
- const MSTEAMS_MAX_MEDIA_BYTES = 100 * 1024 * 1024;
1707
- /**
1708
- * Send a message to a Teams conversation or user.
1709
- *
1710
- * Uses the stored ConversationReference from previous interactions.
1711
- * The bot must have received at least one message from the conversation
1712
- * before proactive messaging works.
1713
- *
1714
- * File handling by conversation type:
1715
- * - Personal (1:1) chats: small images (<4MB) use base64, large files and non-images use FileConsentCard
1716
- * - Group chats / channels: files are uploaded to OneDrive and shared via link
1717
- */
1718
- async function sendMessageMSTeams(params) {
1719
- const { cfg, to, text, mediaUrl, filename, mediaLocalRoots, mediaReadFile } = params;
1720
- const tableMode = resolveMarkdownTableMode({
1721
- cfg,
1722
- channel: "msteams"
1723
- });
1724
- const messageText = convertMarkdownTables(text ?? "", tableMode);
1725
- const ctx = await resolveMSTeamsSendContext({
1726
- cfg,
1727
- to
1728
- });
1729
- const { adapter, appId, conversationId, ref, log, conversationType, tokenProvider, sharePointSiteId } = ctx;
1730
- log.debug?.("sending proactive message", {
1731
- conversationId,
1732
- conversationType,
1733
- textLength: messageText.length,
1734
- hasMedia: Boolean(mediaUrl)
1735
- });
1736
- if (mediaUrl) {
1737
- const media = await loadOutboundMediaFromUrl(mediaUrl, {
1738
- maxBytes: ctx.mediaMaxBytes ?? MSTEAMS_MAX_MEDIA_BYTES,
1739
- mediaLocalRoots,
1740
- mediaReadFile
1741
- });
1742
- const isLargeFile = media.buffer.length >= FILE_CONSENT_THRESHOLD_BYTES;
1743
- const isImage = media.contentType?.startsWith("image/") ?? false;
1744
- const fallbackFileName = await extractFilename(mediaUrl);
1745
- const fileName = filename?.trim() || media.fileName || fallbackFileName;
1746
- log.debug?.("processing media", {
1747
- fileName,
1748
- contentType: media.contentType,
1749
- size: media.buffer.length,
1750
- isLargeFile,
1751
- isImage,
1752
- conversationType
1753
- });
1754
- if (requiresFileConsent({
1755
- conversationType,
1756
- contentType: media.contentType,
1757
- bufferSize: media.buffer.length,
1758
- thresholdBytes: FILE_CONSENT_THRESHOLD_BYTES
1759
- })) {
1760
- const { activity, uploadId } = await prepareFileConsentActivityFs({
1761
- media: {
1762
- buffer: media.buffer,
1763
- filename: fileName,
1764
- contentType: media.contentType
1765
- },
1766
- conversationId,
1767
- description: messageText || void 0
1768
- });
1769
- log.debug?.("sending file consent card", {
1770
- uploadId,
1771
- fileName,
1772
- size: media.buffer.length
1773
- });
1774
- const messageId = await sendProactiveActivity({
1775
- adapter,
1776
- appId,
1777
- ref,
1778
- activity,
1779
- errorPrefix: "msteams consent card send"
1780
- });
1781
- setPendingUploadActivityId(uploadId, messageId);
1782
- await setPendingUploadActivityIdFs(uploadId, messageId);
1783
- log.info("sent file consent card", {
1784
- conversationId,
1785
- messageId,
1786
- uploadId
1787
- });
1788
- return {
1789
- messageId,
1790
- conversationId,
1791
- pendingUploadId: uploadId
1792
- };
1793
- }
1794
- if (conversationType === "personal") {
1795
- const base64 = media.buffer.toString("base64");
1796
- return sendTextWithMedia(ctx, messageText, `data:${media.contentType};base64,${base64}`);
1797
- }
1798
- if (isImage && !sharePointSiteId) {
1799
- const base64 = media.buffer.toString("base64");
1800
- return sendTextWithMedia(ctx, messageText, `data:${media.contentType};base64,${base64}`);
1801
- }
1802
- try {
1803
- if (sharePointSiteId) {
1804
- log.debug?.("uploading to SharePoint for native file card", {
1805
- fileName,
1806
- conversationType,
1807
- siteId: sharePointSiteId
1808
- });
1809
- const uploaded = await uploadAndShareSharePoint({
1810
- buffer: media.buffer,
1811
- filename: fileName,
1812
- contentType: media.contentType,
1813
- tokenProvider,
1814
- siteId: sharePointSiteId,
1815
- chatId: ctx.graphChatId ?? conversationId,
1816
- usePerUserSharing: conversationType === "groupChat"
1817
- });
1818
- log.debug?.("SharePoint upload complete", {
1819
- itemId: uploaded.itemId,
1820
- shareUrl: uploaded.shareUrl
1821
- });
1822
- const driveItem = await getDriveItemProperties({
1823
- siteId: sharePointSiteId,
1824
- itemId: uploaded.itemId,
1825
- tokenProvider
1826
- });
1827
- log.debug?.("driveItem properties retrieved", {
1828
- eTag: driveItem.eTag,
1829
- webDavUrl: driveItem.webDavUrl
1830
- });
1831
- const fileCardAttachment = buildTeamsFileInfoCard(driveItem);
1832
- const messageId = await sendProactiveActivityRaw({
1833
- adapter,
1834
- appId,
1835
- ref,
1836
- activity: {
1837
- type: "message",
1838
- text: messageText || void 0,
1839
- attachments: [fileCardAttachment]
1840
- }
1841
- });
1842
- log.info("sent native file card", {
1843
- conversationId,
1844
- messageId,
1845
- fileName: driveItem.name
1846
- });
1847
- return {
1848
- messageId,
1849
- conversationId
1850
- };
1851
- }
1852
- log.debug?.("uploading to OneDrive (no SharePoint site configured)", {
1853
- fileName,
1854
- conversationType
1855
- });
1856
- const uploaded = await uploadAndShareOneDrive({
1857
- buffer: media.buffer,
1858
- filename: fileName,
1859
- contentType: media.contentType,
1860
- tokenProvider
1861
- });
1862
- log.debug?.("OneDrive upload complete", {
1863
- itemId: uploaded.itemId,
1864
- shareUrl: uploaded.shareUrl
1865
- });
1866
- const fileLink = `📎 [${uploaded.name}](${uploaded.shareUrl})`;
1867
- const messageId = await sendProactiveActivityRaw({
1868
- adapter,
1869
- appId,
1870
- ref,
1871
- activity: {
1872
- type: "message",
1873
- text: messageText ? `${messageText}\n\n${fileLink}` : fileLink
1874
- }
1875
- });
1876
- log.info("sent message with OneDrive file link", {
1877
- conversationId,
1878
- messageId,
1879
- shareUrl: uploaded.shareUrl
1880
- });
1881
- return {
1882
- messageId,
1883
- conversationId
1884
- };
1885
- } catch (err) {
1886
- const classification = classifyMSTeamsSendError(err);
1887
- const hint = formatMSTeamsSendErrorHint(classification);
1888
- const status = classification.statusCode ? ` (HTTP ${classification.statusCode})` : "";
1889
- throw new Error(`msteams file send failed${status}: ${formatUnknownError(err)}${hint ? ` (${hint})` : ""}`, { cause: err });
1890
- }
1891
- }
1892
- return sendTextWithMedia(ctx, messageText, void 0);
1893
- }
1894
- /**
1895
- * Send a text message with optional base64 media URL.
1896
- */
1897
- async function sendTextWithMedia(ctx, text, mediaUrl) {
1898
- const { adapter, appId, conversationId, ref, log, tokenProvider, sharePointSiteId, mediaMaxBytes } = ctx;
1899
- let messageIds;
1900
- try {
1901
- messageIds = await sendMSTeamsMessages({
1902
- replyStyle: "top-level",
1903
- adapter,
1904
- appId,
1905
- conversationRef: ref,
1906
- messages: [{
1907
- text: text || void 0,
1908
- mediaUrl
1909
- }],
1910
- retry: {},
1911
- onRetry: (event) => {
1912
- log.debug?.("retrying send", {
1913
- conversationId,
1914
- ...event
1915
- });
1916
- },
1917
- tokenProvider,
1918
- sharePointSiteId,
1919
- mediaMaxBytes
1920
- });
1921
- } catch (err) {
1922
- const classification = classifyMSTeamsSendError(err);
1923
- const hint = formatMSTeamsSendErrorHint(classification);
1924
- const status = classification.statusCode ? ` (HTTP ${classification.statusCode})` : "";
1925
- throw new Error(`msteams send failed${status}: ${formatUnknownError(err)}${hint ? ` (${hint})` : ""}`, { cause: err });
1926
- }
1927
- const messageId = messageIds[0] ?? "unknown";
1928
- log.info("sent proactive message", {
1929
- conversationId,
1930
- messageId
1931
- });
1932
- return {
1933
- messageId,
1934
- conversationId
1935
- };
1936
- }
1937
- async function sendProactiveActivityRaw({ adapter, appId, ref, activity }) {
1938
- const proactiveRef = {
1939
- ...buildConversationReference(ref),
1940
- activityId: void 0
1941
- };
1942
- let messageId = "unknown";
1943
- await adapter.continueConversation(appId, proactiveRef, async (ctx) => {
1944
- messageId = extractMessageId(await ctx.sendActivity(activity)) ?? "unknown";
1945
- });
1946
- return messageId;
1947
- }
1948
- async function sendProactiveActivity({ adapter, appId, ref, activity, errorPrefix }) {
1949
- try {
1950
- return await sendProactiveActivityRaw({
1951
- adapter,
1952
- appId,
1953
- ref,
1954
- activity
1955
- });
1956
- } catch (err) {
1957
- const classification = classifyMSTeamsSendError(err);
1958
- const hint = formatMSTeamsSendErrorHint(classification);
1959
- const status = classification.statusCode ? ` (HTTP ${classification.statusCode})` : "";
1960
- throw new Error(`${errorPrefix} failed${status}: ${formatUnknownError(err)}${hint ? ` (${hint})` : ""}`, { cause: err });
1961
- }
1962
- }
1963
- /**
1964
- * Send a poll (Adaptive Card) to a Teams conversation or user.
1965
- */
1966
- async function sendPollMSTeams(params) {
1967
- const { cfg, to, question, options, maxSelections } = params;
1968
- const { adapter, appId, conversationId, ref, log } = await resolveMSTeamsSendContext({
1969
- cfg,
1970
- to
1971
- });
1972
- const pollCard = buildMSTeamsPollCard({
1973
- question,
1974
- options,
1975
- maxSelections
1976
- });
1977
- log.debug?.("sending poll", {
1978
- conversationId,
1979
- pollId: pollCard.pollId,
1980
- optionCount: pollCard.options.length
1981
- });
1982
- const messageId = await sendProactiveActivity({
1983
- adapter,
1984
- appId,
1985
- ref,
1986
- activity: {
1987
- type: "message",
1988
- attachments: [{
1989
- contentType: "application/vnd.microsoft.card.adaptive",
1990
- content: pollCard.card
1991
- }]
1992
- },
1993
- errorPrefix: "msteams poll send"
1994
- });
1995
- log.info("sent poll", {
1996
- conversationId,
1997
- pollId: pollCard.pollId,
1998
- messageId
1999
- });
2000
- return {
2001
- pollId: pollCard.pollId,
2002
- messageId,
2003
- conversationId
2004
- };
2005
- }
2006
- /**
2007
- * Send an arbitrary Adaptive Card to a Teams conversation or user.
2008
- */
2009
- async function sendAdaptiveCardMSTeams(params) {
2010
- const { cfg, to, card } = params;
2011
- const { adapter, appId, conversationId, ref, log } = await resolveMSTeamsSendContext({
2012
- cfg,
2013
- to
2014
- });
2015
- log.debug?.("sending adaptive card", {
2016
- conversationId,
2017
- cardType: card.type,
2018
- cardVersion: card.version
2019
- });
2020
- const messageId = await sendProactiveActivity({
2021
- adapter,
2022
- appId,
2023
- ref,
2024
- activity: {
2025
- type: "message",
2026
- attachments: [{
2027
- contentType: "application/vnd.microsoft.card.adaptive",
2028
- content: card
2029
- }]
2030
- },
2031
- errorPrefix: "msteams card send"
2032
- });
2033
- log.info("sent adaptive card", {
2034
- conversationId,
2035
- messageId
2036
- });
2037
- return {
2038
- messageId,
2039
- conversationId
2040
- };
2041
- }
2042
- /**
2043
- * Edit (update) a previously sent message in a Teams conversation.
2044
- *
2045
- * Uses the Bot Framework `continueConversation` → `updateActivity` flow
2046
- * for proactive edits outside of the original turn context.
2047
- */
2048
- async function editMessageMSTeams(params) {
2049
- const { cfg, to, activityId, text } = params;
2050
- const { adapter, appId, conversationId, ref, log } = await resolveMSTeamsSendContext({
2051
- cfg,
2052
- to
2053
- });
2054
- log.debug?.("editing proactive message", {
2055
- conversationId,
2056
- activityId,
2057
- textLength: text.length
2058
- });
2059
- const proactiveRef = {
2060
- ...buildConversationReference(ref),
2061
- activityId: void 0
2062
- };
2063
- try {
2064
- await adapter.continueConversation(appId, proactiveRef, async (ctx) => {
2065
- await ctx.updateActivity({
2066
- type: "message",
2067
- id: activityId,
2068
- text
2069
- });
2070
- });
2071
- } catch (err) {
2072
- const classification = classifyMSTeamsSendError(err);
2073
- const hint = formatMSTeamsSendErrorHint(classification);
2074
- const status = classification.statusCode ? ` (HTTP ${classification.statusCode})` : "";
2075
- throw new Error(`msteams edit failed${status}: ${formatUnknownError(err)}${hint ? ` (${hint})` : ""}`, { cause: err });
2076
- }
2077
- log.info("edited proactive message", {
2078
- conversationId,
2079
- activityId
2080
- });
2081
- return { conversationId };
2082
- }
2083
- /**
2084
- * Delete a previously sent message in a Teams conversation.
2085
- *
2086
- * Uses the Bot Framework `continueConversation` → `deleteActivity` flow
2087
- * for proactive deletes outside of the original turn context.
2088
- */
2089
- async function deleteMessageMSTeams(params) {
2090
- const { cfg, to, activityId } = params;
2091
- const { adapter, appId, conversationId, ref, log } = await resolveMSTeamsSendContext({
2092
- cfg,
2093
- to
2094
- });
2095
- log.debug?.("deleting proactive message", {
2096
- conversationId,
2097
- activityId
2098
- });
2099
- const proactiveRef = {
2100
- ...buildConversationReference(ref),
2101
- activityId: void 0
2102
- };
2103
- try {
2104
- await adapter.continueConversation(appId, proactiveRef, async (ctx) => {
2105
- await ctx.deleteActivity(activityId);
2106
- });
2107
- } catch (err) {
2108
- const classification = classifyMSTeamsSendError(err);
2109
- const hint = formatMSTeamsSendErrorHint(classification);
2110
- const status = classification.statusCode ? ` (HTTP ${classification.statusCode})` : "";
2111
- throw new Error(`msteams delete failed${status}: ${formatUnknownError(err)}${hint ? ` (${hint})` : ""}`, { cause: err });
2112
- }
2113
- log.info("deleted proactive message", {
2114
- conversationId,
2115
- activityId
2116
- });
2117
- return { conversationId };
2118
- }
2119
- //#endregion
2120
- //#region extensions/msteams/src/probe.ts
2121
- function decodeJwtPayload(token) {
2122
- const parts = token.split(".");
2123
- if (parts.length < 2) return null;
2124
- const payload = parts[1] ?? "";
2125
- const normalized = payload.padEnd(payload.length + (4 - payload.length % 4) % 4, "=").replace(/-/g, "+").replace(/_/g, "/");
2126
- try {
2127
- const decoded = Buffer.from(normalized, "base64").toString("utf8");
2128
- const parsed = JSON.parse(decoded);
2129
- return parsed && typeof parsed === "object" ? parsed : null;
2130
- } catch {
2131
- return null;
2132
- }
2133
- }
2134
- function readStringArray(value) {
2135
- if (!Array.isArray(value)) return;
2136
- const out = normalizeStringEntries(value);
2137
- return out.length > 0 ? out : void 0;
2138
- }
2139
- function readScopes(value) {
2140
- if (typeof value !== "string") return;
2141
- const out = value.split(/\s+/).map((entry) => entry.trim()).filter(Boolean);
2142
- return out.length > 0 ? out : void 0;
2143
- }
2144
- async function probeMSTeams(cfg) {
2145
- const creds = resolveMSTeamsCredentials(cfg);
2146
- if (!creds) return {
2147
- ok: false,
2148
- error: "missing credentials (appId, appPassword, tenantId)"
2149
- };
2150
- try {
2151
- const { app } = await loadMSTeamsSdkWithAuth(creds);
2152
- const tokenProvider = createMSTeamsTokenProvider(app);
2153
- if (!await tokenProvider.getAccessToken("https://api.botframework.com")) throw new Error("Failed to acquire bot token");
2154
- let graph;
2155
- try {
2156
- const accessToken = readAccessToken(await tokenProvider.getAccessToken("https://graph.microsoft.com"));
2157
- const payload = accessToken ? decodeJwtPayload(accessToken) : null;
2158
- graph = {
2159
- ok: true,
2160
- roles: readStringArray(payload?.roles),
2161
- scopes: readScopes(payload?.scp)
2162
- };
2163
- } catch (err) {
2164
- graph = {
2165
- ok: false,
2166
- error: formatUnknownError(err)
2167
- };
2168
- }
2169
- let delegatedAuth;
2170
- if (cfg?.delegatedAuth?.enabled) try {
2171
- const tokens = loadDelegatedTokens();
2172
- if (tokens) {
2173
- const isExpired = tokens.expiresAt <= Date.now();
2174
- delegatedAuth = {
2175
- ok: !isExpired,
2176
- scopes: tokens.scopes,
2177
- userPrincipalName: tokens.userPrincipalName,
2178
- ...isExpired ? { error: "token expired (will auto-refresh on next use)" } : {}
2179
- };
2180
- } else delegatedAuth = {
2181
- ok: false,
2182
- error: "no delegated tokens found (run setup wizard)"
2183
- };
2184
- } catch {
2185
- delegatedAuth = {
2186
- ok: false,
2187
- error: "failed to load delegated tokens"
2188
- };
2189
- }
2190
- return {
2191
- ok: true,
2192
- appId: creds.appId,
2193
- ...graph ? { graph } : {},
2194
- ...delegatedAuth ? { delegatedAuth } : {}
2195
- };
2196
- } catch (err) {
2197
- return {
2198
- ok: false,
2199
- appId: creds.appId,
2200
- error: formatUnknownError(err)
2201
- };
2202
- }
2203
- }
2204
- //#endregion
2205
- export { readJsonFile as C, createMSTeamsConversationStoreFs as S, writeJsonFile as T, buildFileInfoCard as _, sendMessageMSTeams as a, createMSTeamsPollStoreFs as b, renderReplyPayloadsToMessages as c, withRevokedProxyFallback as d, resolveGraphChatId as f, removePendingUploadFs as g, getPendingUploadFs as h, sendAdaptiveCardMSTeams as i, sendMSTeamsMessages as l, removePendingUpload as m, deleteMessageMSTeams as n, sendPollMSTeams as o, getPendingUpload as p, editMessageMSTeams as r, buildConversationReference as s, probeMSTeams as t, AI_GENERATED_ENTITY as u, parseFileConsentInvoke as v, withFileLock as w, extractMSTeamsPollVote as x, uploadToConsentUrl as y };