@gaodefa/daocore 2026.5.29 → 2026.5.31

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 (1626) hide show
  1. package/dist/abort-DI3P6TIb.js +277 -0
  2. package/dist/abort.runtime-B6Z7lDEa.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-BFz7X0TX.js +173 -0
  5. package/dist/accounts-BoYYrY7x.js +107 -0
  6. package/dist/accounts-Busq29zW.js +107 -0
  7. package/dist/accounts-CuvH2tuN.js +119 -0
  8. package/dist/accounts-DkIcqvf7.js +2 -0
  9. package/dist/acp-runtime-BA8lzXzf.js +26 -0
  10. package/dist/acp-spawn-DPz2aX3A.js +2 -0
  11. package/dist/acp-spawn-DvVCsWYV.js +1275 -0
  12. package/dist/acp-stateful-target-driver-DcC76aZW.js +89 -0
  13. package/dist/action-kill-D-dVisIX.js +33 -0
  14. package/dist/action-runtime-BEiqwxDD.js +469 -0
  15. package/dist/action-runtime-api-1LzcGjcX.js +2 -0
  16. package/dist/action-send-c3CnDuPg.js +39 -0
  17. package/dist/action-spawn-Dj4kwpWs.js +47 -0
  18. package/dist/actions-qLccmQBc.js +161 -0
  19. package/dist/actions.runtime-B5vYAgNi.js +5 -0
  20. package/dist/agent-command-D6Ds198G.js +1367 -0
  21. package/dist/agent-components.runtime-xquK0B3L.js +10 -0
  22. package/dist/agent-components.runtime.js +1 -1
  23. package/dist/agent-harness-C5Qqf3rr.d.ts +146 -0
  24. package/dist/agent-harness-runtime-Dq1fCBOM.js +180 -0
  25. package/dist/agent-harness-runtime-moWkHG-i.d.ts +691 -0
  26. package/dist/agent-harness-task-runtime-DvSEqFkD.js +140 -0
  27. package/dist/agent-lm5ZYOFy.js +3 -0
  28. package/dist/agent-runner-execution-Dbh2pDhQ.js +1713 -0
  29. package/dist/agent-runner-utils-Di3r2T1T.js +266 -0
  30. package/dist/agent-runner.runtime-BW90EcGW.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BgIT5Ytc.js +229 -0
  33. package/dist/agent-via-gateway-DMMS8-hK.js +463 -0
  34. package/dist/agent-ylolD8-V.js +2 -0
  35. package/dist/agents/pi-embedded-runner/tool-split.d.ts +1 -1
  36. package/dist/api-BB4vXLtW.js +2 -0
  37. package/dist/api-BpymzRMa.d.ts +52 -0
  38. package/dist/api-CUhM3KNB.js +134 -0
  39. package/dist/api-CewRHSbT.js +6 -0
  40. package/dist/api-CfKjNJlW.js +2 -0
  41. package/dist/api-Rsnqui1u.js +3 -0
  42. package/dist/api-k7AvxwHr.js +639 -0
  43. package/dist/apply-DQ4TQNMA.js +54 -0
  44. package/dist/apply-S_75Py4Y.js +41 -0
  45. package/dist/approval-handler.runtime-Cthxrstu.js +130 -0
  46. package/dist/assistant-Cp9pGaBw.js +291 -0
  47. package/dist/attachment-normalize-5R0bLLOj.js +225 -0
  48. package/dist/attempt-execution-DuyyZYsU.js +558 -0
  49. package/dist/attempt-execution.runtime-DF2GPgNh.js +3 -0
  50. package/dist/attempt-execution.runtime.js +1 -1
  51. package/dist/attempt-execution.shared-CwdukA3t.js +38 -0
  52. package/dist/attempt.prompt-helpers-CUqKtIa5.js +475 -0
  53. package/dist/attempt.tool-run-context-BbN4_BYO.js +2094 -0
  54. package/dist/binding-routing-C6Ex2Blu.js +113 -0
  55. package/dist/binding-targets-BqREncSL.js +121 -0
  56. package/dist/bot-DGMEkaIJ.js +7894 -0
  57. package/dist/bot-deps-BltYjeMX.js +2 -0
  58. package/dist/bot-deps-XvGCor9f.js +747 -0
  59. package/dist/bot-message-context.runtime-kK-xvLV7.js +7 -0
  60. package/dist/bot-message-context.runtime.js +1 -1
  61. package/dist/bot-message-context.session.runtime-DpOIJUae.js +12 -0
  62. package/dist/bot-message-context.session.runtime.js +1 -1
  63. package/dist/bot-native-commands.delivery.runtime-D49p5Lc1.js +4 -0
  64. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  65. package/dist/bot-native-commands.runtime-8XBdSpkQ.js +13 -0
  66. package/dist/bot-native-commands.runtime.js +1 -1
  67. package/dist/bridge-server-y_XGduPx.js +113 -0
  68. package/dist/browser-cli-B2jmmTT3.js +230 -0
  69. package/dist/browser-cli-actions-input-JQt5ZQcn.js +473 -0
  70. package/dist/browser-cli-actions-observe-CrfKh6AX.js +81 -0
  71. package/dist/browser-cli-debug-DQACWlvC.js +137 -0
  72. package/dist/browser-cli-inspect-DDnxx0Xw.js +104 -0
  73. package/dist/browser-cli-lEuOnZzs.js +2 -0
  74. package/dist/browser-cli-manage-DogmwtYt.js +443 -0
  75. package/dist/browser-cli-resize-BHuV71VZ.js +26 -0
  76. package/dist/browser-cli-shared-CidShgoF.js +50 -0
  77. package/dist/browser-cli-state-i8cCGbiQ.js +337 -0
  78. package/dist/browser-control-auth-CKfXdXWj.js +2 -0
  79. package/dist/browser-profiles-ATBTvUGh.js +2 -0
  80. package/dist/browser-runtime-KmCT6FuL.js +384 -0
  81. package/dist/build-DOOT6f62.js +257 -0
  82. package/dist/build-info.json +3 -3
  83. package/dist/bundled/boot-md/handler.js +2 -2
  84. package/dist/bundled/session-memory/handler.js +1 -1
  85. package/dist/call-CxD79IcF.d.ts +43 -0
  86. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  87. package/dist/capability-cli-DwvrwB-g.js +1782 -0
  88. package/dist/channel-B-wgK1bK.js +481 -0
  89. package/dist/channel-B1e_k1P0.js +867 -0
  90. package/dist/channel-B2Zzd2k0.d.ts +12 -0
  91. package/dist/channel-B9WuAnZ8.d.ts +106 -0
  92. package/dist/channel-BRDfa5tc.js +1777 -0
  93. package/dist/channel-BVEO1O4p.js +376 -0
  94. package/dist/channel-BVjxNRMX.d.ts +427 -0
  95. package/dist/channel-BYlO5l1d.js +508 -0
  96. package/dist/channel-Bl0sPoNx.js +653 -0
  97. package/dist/channel-BsuDwswl.d.ts +7 -0
  98. package/dist/channel-Butzttww.d.ts +8 -0
  99. package/dist/channel-C84xtDBy.js +1134 -0
  100. package/dist/channel-CI3wvxHO.d.ts +28 -0
  101. package/dist/channel-CLgKq4Ds.js +1556 -0
  102. package/dist/channel-CZT0qxLh.js +1249 -0
  103. package/dist/channel-CffBHWkb.js +955 -0
  104. package/dist/channel-CkcbWRn6.d.ts +64 -0
  105. package/dist/channel-D34ZJvVB.js +2126 -0
  106. package/dist/channel-DIO2fCbZ.d.ts +8 -0
  107. package/dist/channel-DcdXLo_W.js +238 -0
  108. package/dist/channel-Di1RmAev.d.ts +14 -0
  109. package/dist/channel-DnK5TrXV.js +362 -0
  110. package/dist/channel-DwuWXl-e.d.ts +104 -0
  111. package/dist/channel-Dye4zV44.d.ts +114 -0
  112. package/dist/channel-Dzj4RHY2.js +740 -0
  113. package/dist/channel-EVxJIvsn.d.ts +8 -0
  114. package/dist/channel-OhZzLZCj.js +562 -0
  115. package/dist/channel-RzVdPJ-B.d.ts +7 -0
  116. package/dist/channel-actions.runtime-Cdvhqc9s.js +265 -0
  117. package/dist/channel-actions.runtime.js +1 -1
  118. package/dist/channel-bt1sO_52.d.ts +47 -0
  119. package/dist/channel-core-DU6RaWEc.d.ts +6 -0
  120. package/dist/channel-core-Dz9I_R4j.js +5 -0
  121. package/dist/channel-entry-contract-DH5cFk0a.d.ts +112 -0
  122. package/dist/channel-inbound-COGoV_aS.js +80 -0
  123. package/dist/channel-j5sg3EWY.d.ts +26 -0
  124. package/dist/channel-mP6HCIMr.js +1496 -0
  125. package/dist/channel-plugin-runtime-C0R46KeG.js +998 -0
  126. package/dist/channel-plugin-runtime-CcM5mm-N.d.ts +7 -0
  127. package/dist/channel-prmoa-zo.d.ts +49 -0
  128. package/dist/channel-quGdgWel.js +808 -0
  129. package/dist/channel-runtime-FvPQoIF9.js +408 -0
  130. package/dist/channel-xyKfZAyc.d.ts +6 -0
  131. package/dist/channel.runtime-2vUz3gij.js +109 -0
  132. package/dist/channel.runtime-BZLDSNuQ.js +254 -0
  133. package/dist/channel.runtime-Bo5jO0Hj.js +4 -0
  134. package/dist/channel.runtime-CDgvrjM2.js +652 -0
  135. package/dist/channel.runtime-COf8SDFn.js +88 -0
  136. package/dist/channel.runtime-C_C1f8lu.js +733 -0
  137. package/dist/channel.runtime-CqPbsg8t.js +2528 -0
  138. package/dist/channel.runtime-DtV85Khx.js +1008 -0
  139. package/dist/channel.runtime-Spt1ukGW.js +21009 -0
  140. package/dist/channel.setup-Bc0LUQS1.js +1098 -0
  141. package/dist/channel.setup-ChTkj2hq.js +343 -0
  142. package/dist/channel.setup-Cim5RYKv.d.ts +6 -0
  143. package/dist/channel.setup-CpMD9F8i.js +10 -0
  144. package/dist/channel.setup-D066s5T2.d.ts +8 -0
  145. package/dist/channel.setup-DtDtKE3i.d.ts +7 -0
  146. package/dist/chat-mUsjD5YN.js +2666 -0
  147. package/dist/chrome-u314zcbM.js +1503 -0
  148. package/dist/cli/run-main.js +5 -5
  149. package/dist/cli-CJMoqXrc.js +1341 -0
  150. package/dist/cli-DxFO1nnC.d.ts +20 -0
  151. package/dist/cli-backend-6kG1m74b.d.ts +5 -0
  152. package/dist/cli-backend-BAkmSUUG.d.ts +5 -0
  153. package/dist/cli-compaction-qGYB7suI.js +347 -0
  154. package/dist/cli-metadata-BBJFpNU9.js +22 -0
  155. package/dist/cli-runner-C0kcts0I.js +540 -0
  156. package/dist/cli-runner-CTm8K6s8.js +2 -0
  157. package/dist/cli-runner.runtime-C8deL5FL.js +3 -0
  158. package/dist/cli-runner.runtime-DDAg1D0L.js +4 -0
  159. package/dist/cli-runner.runtime.js +1 -1
  160. package/dist/cli-shared-BLWU6Cqi.d.ts +20 -0
  161. package/dist/cli-startup-metadata.json +8 -8
  162. package/dist/client-CPxpgs4m.js +650 -0
  163. package/dist/client-adapter-CLlqOqfu.js +897 -0
  164. package/dist/client-factory-R7Rr2jwn.js +9 -0
  165. package/dist/command-auth-CkQP1buP.js +135 -0
  166. package/dist/command-handlers-CJEjFyMk.js +1609 -0
  167. package/dist/command-registry-BDgyOqDw.js +4 -0
  168. package/dist/command-registry-BVi5Jn1S.js +9 -0
  169. package/dist/command-registry-core-JCfsVRtz.js +110 -0
  170. package/dist/command-status.runtime-CM1JLzi6.js +90 -0
  171. package/dist/command-status.runtime.js +1 -1
  172. package/dist/commands-CKuMcAVp.d.ts +113 -0
  173. package/dist/commands-acp-C1-I78U6.js +74 -0
  174. package/dist/commands-compact.runtime-DOsNavwp.js +10 -0
  175. package/dist/commands-compact.runtime.js +1 -1
  176. package/dist/commands-handlers.runtime-BD1n2WGw.js +6154 -0
  177. package/dist/commands-handlers.runtime.js +1 -1
  178. package/dist/commands-status-DU_UTQz1.js +16 -0
  179. package/dist/commands-status-DejfTakp.js +3 -0
  180. package/dist/commands-status.runtime-DejfTakp.js +3 -0
  181. package/dist/commands-status.runtime.js +1 -1
  182. package/dist/commands-subagents-control.runtime-D7vo_2Y_.js +3 -0
  183. package/dist/commands-subagents-control.runtime-DGybTjJ6.js +2 -0
  184. package/dist/commands-subagents-control.runtime.js +1 -1
  185. package/dist/commands-system-prompt-BEBXAMea.js +2 -0
  186. package/dist/commands-system-prompt-gj3oQpQO.js +162 -0
  187. package/dist/commands.runtime-CgXX70IN.js +176 -0
  188. package/dist/commands.runtime.js +1 -1
  189. package/dist/commitments/runtime.js +1 -1
  190. package/dist/compact-C41XxMDt.js +480 -0
  191. package/dist/compact-DUVAF9EC.js +1141 -0
  192. package/dist/compact.runtime-COMRg6s3.js +12 -0
  193. package/dist/compact.runtime.js +1 -1
  194. package/dist/completion-cli-CmEYoB9a.js +315 -0
  195. package/dist/computer-use-BwJHu1QF.js +367 -0
  196. package/dist/config-ATBTvUGh.js +2 -0
  197. package/dist/config-DlNgjF8W.js +373 -0
  198. package/dist/config-mutations-tl_OqI6d.js +159 -0
  199. package/dist/config-schema-SCmBztOw.d.ts +20 -0
  200. package/dist/context-engine-host-compat-BNPAIK9F.js +288 -0
  201. package/dist/context-engine-host-compat-C69CK7zS.js +2 -0
  202. package/dist/context-engine-lifecycle-iQ8f5a_-.js +1274 -0
  203. package/dist/contracts-testkit-IY5XZxjF.d.ts +145 -0
  204. package/dist/control-auth-vVxyGKxY.js +114 -0
  205. package/dist/control-service-73nj79EW.js +145 -0
  206. package/dist/control-ui/assets/agents-BdO_0kk5.js +1008 -0
  207. package/dist/control-ui/assets/channel-config-extras-BcTFMuAU.js +2 -0
  208. package/dist/control-ui/assets/channels-hbnP2CcI.js +367 -0
  209. package/dist/control-ui/assets/cron-ByzZ9SdY.js +1013 -0
  210. package/dist/control-ui/assets/debug-HrL-odD4.js +97 -0
  211. package/dist/control-ui/assets/index-C0IIxqOi.js +7370 -0
  212. package/dist/control-ui/assets/instances-D7u_JQ4E.js +57 -0
  213. package/dist/control-ui/assets/logs-BtcCmag8.js +74 -0
  214. package/dist/control-ui/assets/nodes-X76oCsfw.js +436 -0
  215. package/dist/control-ui/assets/sessions-d2TtEi9u.js +399 -0
  216. package/dist/control-ui/assets/skills-DZoG94r4.js +314 -0
  217. package/dist/control-ui/assets/skills-shared-CUBldL4J.js +11 -0
  218. package/dist/control-ui/index.html +1 -1
  219. package/dist/control-ui/sw.js +1 -1
  220. package/dist/conversation-binding-runtime-CmoTKcY1.js +4 -0
  221. package/dist/conversation-runtime-BxOHxuin.js +31 -0
  222. package/dist/core-D0Y2H55f.js +282 -0
  223. package/dist/core-DM2Ct83m.d.ts +224 -0
  224. package/dist/core-api-BKlJUtDt.js +5 -0
  225. package/dist/core-api-_fiftUHn.js +2 -0
  226. package/dist/crestodian/crestodian.js +1 -1
  227. package/dist/crestodian/rescue-message.js +1 -1
  228. package/dist/crestodian-BJifoQiR.js +55 -0
  229. package/dist/daocore-runtime-DMcB2cnr.d.ts +151 -0
  230. package/dist/daocore-tools-BMdF8RwK.js +11727 -0
  231. package/dist/delivery-e2ci_bcX.js +1002 -0
  232. package/dist/dialogue-BXayGhnz.js +37 -0
  233. package/dist/dir-fetch-tool-Cara5mZh.js +565 -0
  234. package/dist/dir-list-tool-CQ8Bo5Ez.js +100 -0
  235. package/dist/direct-dm-CPk6Qm9D.js +64 -0
  236. package/dist/directive-handling.fast-lane-BQ9aXqk8.js +68 -0
  237. package/dist/directive-handling.impl--a5AGurq.js +818 -0
  238. package/dist/directive-handling.impl-C4JqMwle.js +2 -0
  239. package/dist/directive-handling.model-selection-pyTYMIXn.js +122 -0
  240. package/dist/directive-handling.persist.runtime-B7vWT1r9.js +263 -0
  241. package/dist/directive-handling.persist.runtime.js +1 -1
  242. package/dist/dispatch-3Ru_eGq1.js +1640 -0
  243. package/dist/dispatch-acp-transcript.runtime-CYMP-5oE.js +40 -0
  244. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  245. package/dist/dispatch-acp.runtime-BVCiklXk.js +18 -0
  246. package/dist/dispatch-acp.runtime.js +1 -1
  247. package/dist/doctor-B8mR3Sgr.js +2 -0
  248. package/dist/doctor-BJ6DuerV.js +6 -0
  249. package/dist/doctor-config-flow-BdOGs_zn.js +1741 -0
  250. package/dist/doctor-core-checks-CDf0stz-.js +2 -0
  251. package/dist/doctor-core-checks-Cpdnu2XI.js +573 -0
  252. package/dist/doctor-health-0qv_acBu.js +65 -0
  253. package/dist/doctor-health-contributions-Db1FQgFw.js +696 -0
  254. package/dist/doctor-lint-C1g4Llgl.js +94 -0
  255. package/dist/doctor-state-integrity-C8iXFLJ7.js +1231 -0
  256. package/dist/doctor-update-CsPu6p3d.js +58 -0
  257. package/dist/dynamic-tools-YQ0z0YKH.js +486 -0
  258. package/dist/embedded-backend-S0cahIZw.js +579 -0
  259. package/dist/embedded-gateway-stub.runtime-Cjw12ALm.js +12 -0
  260. package/dist/embedded-gateway-stub.runtime.js +1 -1
  261. package/dist/embedding-provider-8MdvWeKO.d.ts +21 -0
  262. package/dist/embedding-provider-BBQtqzJ9.d.ts +65 -0
  263. package/dist/embedding-provider-CBEwKWYD.d.ts +16 -0
  264. package/dist/entry.d.ts +1 -1
  265. package/dist/exec-approvals-ArHHjoE-.js +149 -0
  266. package/dist/extensionAPI.js +1 -1
  267. package/dist/extensions/active-memory/index.d.ts +1 -1
  268. package/dist/extensions/active-memory/index.js +1 -1
  269. package/dist/extensions/admin-http-rpc/index.d.ts +1 -1
  270. package/dist/extensions/admin-http-rpc/index.js +1 -1
  271. package/dist/extensions/alibaba/index.d.ts +1 -1
  272. package/dist/extensions/anthropic/api.d.ts +3 -3
  273. package/dist/extensions/anthropic/cli-backend-api.d.ts +2 -2
  274. package/dist/extensions/anthropic/cli-backend.d.ts +1 -1
  275. package/dist/extensions/anthropic/cli-migration.d.ts +1 -1
  276. package/dist/extensions/anthropic/cli-shared.d.ts +1 -1
  277. package/dist/extensions/anthropic/contract-api.d.ts +1 -1
  278. package/dist/extensions/anthropic/index.d.ts +1 -1
  279. package/dist/extensions/anthropic/provider-contract-api.d.ts +1 -1
  280. package/dist/extensions/anthropic/provider-discovery.d.ts +1 -1
  281. package/dist/extensions/anthropic/provider-policy-api.d.ts +1 -1
  282. package/dist/extensions/anthropic/register.runtime.d.ts +1 -1
  283. package/dist/extensions/anthropic/replay-policy.d.ts +1 -1
  284. package/dist/extensions/anthropic/setup-api.d.ts +1 -1
  285. package/dist/extensions/anthropic/stream-wrappers.d.ts +1 -1
  286. package/dist/extensions/anthropic/test-api.d.ts +2 -2
  287. package/dist/extensions/arcee/index.d.ts +1 -1
  288. package/dist/extensions/azure-speech/index.d.ts +1 -1
  289. package/dist/extensions/azure-speech/speech-provider.d.ts +1 -1
  290. package/dist/extensions/bonjour/index.d.ts +1 -1
  291. package/dist/extensions/browser/browser-bridge.js +1 -1
  292. package/dist/extensions/browser/browser-config.js +4 -4
  293. package/dist/extensions/browser/browser-control-auth.js +2 -2
  294. package/dist/extensions/browser/browser-doctor.js +2 -2
  295. package/dist/extensions/browser/browser-maintenance.js +1 -1
  296. package/dist/extensions/browser/browser-profiles.js +2 -2
  297. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  298. package/dist/extensions/browser/cli-metadata.d.ts +1 -1
  299. package/dist/extensions/browser/cli-metadata.js +1 -1
  300. package/dist/extensions/browser/index.d.ts +1 -1
  301. package/dist/extensions/browser/index.js +1 -1
  302. package/dist/extensions/browser/plugin-registration.d.ts +1 -1
  303. package/dist/extensions/browser/plugin-registration.js +1 -1
  304. package/dist/extensions/browser/register.runtime.d.ts +2 -2
  305. package/dist/extensions/browser/register.runtime.js +4 -4
  306. package/dist/extensions/browser/runtime-api.d.ts +3 -3
  307. package/dist/extensions/browser/runtime-api.js +13 -13
  308. package/dist/extensions/browser/setup-api.d.ts +1 -1
  309. package/dist/extensions/byteplus/index.d.ts +1 -1
  310. package/dist/extensions/byteplus/provider-discovery.d.ts +1 -1
  311. package/dist/extensions/canvas/cli-metadata.d.ts +1 -1
  312. package/dist/extensions/canvas/index.d.ts +1 -1
  313. package/dist/extensions/canvas/index.js +1 -1
  314. package/dist/extensions/canvas/runtime-api.d.ts +2 -2
  315. package/dist/extensions/canvas/setup-api.d.ts +1 -1
  316. package/dist/extensions/cerebras/index.d.ts +1 -1
  317. package/dist/extensions/chutes/index.d.ts +1 -1
  318. package/dist/extensions/clickclack/api.d.ts +2 -2
  319. package/dist/extensions/clickclack/api.js +2 -2
  320. package/dist/extensions/clickclack/channel-plugin-api.d.ts +1 -1
  321. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  322. package/dist/extensions/clickclack/index.d.ts +2 -2
  323. package/dist/extensions/clickclack/runtime-api.d.ts +2 -2
  324. package/dist/extensions/clickclack/runtime-api.js +2 -2
  325. package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
  326. package/dist/extensions/cloudflare-ai-gateway/stream-wrappers.d.ts +1 -1
  327. package/dist/extensions/comfy/index.d.ts +1 -1
  328. package/dist/extensions/copilot-proxy/index.d.ts +1 -1
  329. package/dist/extensions/copilot-proxy/runtime-api.d.ts +2 -2
  330. package/dist/extensions/deepgram/index.d.ts +1 -1
  331. package/dist/extensions/deepgram/realtime-transcription-provider.d.ts +1 -1
  332. package/dist/extensions/deepgram/test-api.d.ts +1 -1
  333. package/dist/extensions/deepinfra/api.d.ts +2 -2
  334. package/dist/extensions/deepinfra/embedding-provider.d.ts +1 -1
  335. package/dist/extensions/deepinfra/index.d.ts +1 -1
  336. package/dist/extensions/deepinfra/memory-embedding-adapter.d.ts +1 -1
  337. package/dist/extensions/deepinfra/speech-provider.d.ts +1 -1
  338. package/dist/extensions/deepseek/api.d.ts +1 -1
  339. package/dist/extensions/deepseek/index.d.ts +1 -1
  340. package/dist/extensions/deepseek/provider-discovery.d.ts +1 -1
  341. package/dist/extensions/deepseek/provider-policy-api.d.ts +1 -1
  342. package/dist/extensions/deepseek/stream.d.ts +1 -1
  343. package/dist/extensions/deepseek/thinking.d.ts +1 -1
  344. package/dist/extensions/device-pair/api.d.ts +3 -3
  345. package/dist/extensions/device-pair/api.js +1 -1
  346. package/dist/extensions/device-pair/index.d.ts +1 -1
  347. package/dist/extensions/device-pair/notify.d.ts +1 -1
  348. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  349. package/dist/extensions/document-extract/index.d.ts +1 -1
  350. package/dist/extensions/duckduckgo/index.d.ts +1 -1
  351. package/dist/extensions/elevenlabs/index.d.ts +1 -1
  352. package/dist/extensions/elevenlabs/realtime-transcription-provider.d.ts +1 -1
  353. package/dist/extensions/elevenlabs/setup-api.d.ts +1 -1
  354. package/dist/extensions/elevenlabs/speech-provider.d.ts +1 -1
  355. package/dist/extensions/elevenlabs/test-api.d.ts +2 -2
  356. package/dist/extensions/exa/index.d.ts +1 -1
  357. package/dist/extensions/fal/index.d.ts +1 -1
  358. package/dist/extensions/fal/provider-contract-api.d.ts +1 -1
  359. package/dist/extensions/fal/provider-registration.d.ts +1 -1
  360. package/dist/extensions/file-transfer/index.d.ts +1 -1
  361. package/dist/extensions/file-transfer/index.js +4 -4
  362. package/dist/extensions/firecrawl/index.d.ts +1 -1
  363. package/dist/extensions/fireworks/index.d.ts +1 -1
  364. package/dist/extensions/fireworks/provider-policy-api.d.ts +1 -1
  365. package/dist/extensions/fireworks/stream.d.ts +1 -1
  366. package/dist/extensions/fireworks/thinking-policy.d.ts +1 -1
  367. package/dist/extensions/github-copilot/embeddings.d.ts +1 -1
  368. package/dist/extensions/github-copilot/index.d.ts +1 -1
  369. package/dist/extensions/github-copilot/models.d.ts +1 -1
  370. package/dist/extensions/github-copilot/register.runtime.d.ts +2 -2
  371. package/dist/extensions/github-copilot/stream.d.ts +1 -1
  372. package/dist/extensions/google/api.d.ts +5 -5
  373. package/dist/extensions/google/cli-backend.d.ts +1 -1
  374. package/dist/extensions/google/embedding-batch.d.ts +1 -1
  375. package/dist/extensions/google/embedding-provider.d.ts +1 -1
  376. package/dist/extensions/google/gemini-cli-provider.d.ts +1 -1
  377. package/dist/extensions/google/index.d.ts +1 -1
  378. package/dist/extensions/google/memory-embedding-adapter.d.ts +1 -1
  379. package/dist/extensions/google/provider-contract-api.d.ts +1 -1
  380. package/dist/extensions/google/provider-hooks.d.ts +2 -2
  381. package/dist/extensions/google/provider-models.d.ts +1 -1
  382. package/dist/extensions/google/provider-policy-api.d.ts +1 -1
  383. package/dist/extensions/google/provider-policy.d.ts +1 -1
  384. package/dist/extensions/google/provider-registration.d.ts +1 -1
  385. package/dist/extensions/google/realtime-voice-provider.d.ts +1 -1
  386. package/dist/extensions/google/runtime-api.d.ts +3 -3
  387. package/dist/extensions/google/setup-api.d.ts +1 -1
  388. package/dist/extensions/google/speech-provider.d.ts +1 -1
  389. package/dist/extensions/google/test-api.d.ts +2 -2
  390. package/dist/extensions/google/thinking-api.d.ts +1 -1
  391. package/dist/extensions/google/thinking.d.ts +1 -1
  392. package/dist/extensions/google/transport-stream.d.ts +1 -1
  393. package/dist/extensions/gradium/index.d.ts +1 -1
  394. package/dist/extensions/gradium/speech-provider.d.ts +1 -1
  395. package/dist/extensions/groq/index.d.ts +1 -1
  396. package/dist/extensions/huggingface/index.d.ts +1 -1
  397. package/dist/extensions/image-generation-core/api.d.ts +3 -3
  398. package/dist/extensions/image-generation-core/runtime-api.d.ts +1 -1
  399. package/dist/extensions/imessage/api.d.ts +2 -2
  400. package/dist/extensions/imessage/api.js +2 -2
  401. package/dist/extensions/imessage/channel-plugin-api.d.ts +1 -1
  402. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  403. package/dist/extensions/imessage/index.d.ts +2 -2
  404. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  405. package/dist/extensions/imessage/runtime-api.d.ts +2 -2
  406. package/dist/extensions/imessage/runtime-api.js +3 -3
  407. package/dist/extensions/imessage/setup-entry.d.ts +2 -2
  408. package/dist/extensions/imessage/test-api.d.ts +1 -1
  409. package/dist/extensions/inworld/index.d.ts +1 -1
  410. package/dist/extensions/inworld/speech-provider.d.ts +1 -1
  411. package/dist/extensions/irc/api.d.ts +1 -1
  412. package/dist/extensions/irc/api.js +2 -2
  413. package/dist/extensions/irc/channel-plugin-api.d.ts +1 -1
  414. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  415. package/dist/extensions/irc/index.d.ts +2 -2
  416. package/dist/extensions/irc/setup-entry.d.ts +2 -2
  417. package/dist/extensions/kilocode/index.d.ts +1 -1
  418. package/dist/extensions/kimi-coding/index.d.ts +1 -1
  419. package/dist/extensions/kimi-coding/stream.d.ts +1 -1
  420. package/dist/extensions/litellm/index.d.ts +1 -1
  421. package/dist/extensions/llm-task/api.d.ts +2 -2
  422. package/dist/extensions/llm-task/index.d.ts +1 -1
  423. package/dist/extensions/llm-task/index.js +1 -1
  424. package/dist/extensions/lmstudio/api.d.ts +1 -1
  425. package/dist/extensions/lmstudio/index.d.ts +1 -1
  426. package/dist/extensions/lmstudio/memory-embedding-adapter.d.ts +1 -1
  427. package/dist/extensions/mattermost/api.js +1 -1
  428. package/dist/extensions/mattermost/channel-plugin-api.d.ts +2 -2
  429. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  430. package/dist/extensions/mattermost/channel-plugin-runtime.d.ts +1 -1
  431. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  432. package/dist/extensions/mattermost/index.d.ts +2 -2
  433. package/dist/extensions/mattermost/policy-api.js +1 -1
  434. package/dist/extensions/mattermost/runtime-api.d.ts +3 -3
  435. package/dist/extensions/mattermost/runtime-api.js +2 -2
  436. package/dist/extensions/mattermost/setup-entry.d.ts +2 -2
  437. package/dist/extensions/mattermost/slash-route-api.d.ts +1 -1
  438. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  439. package/dist/extensions/memory-core/api.d.ts +1 -1
  440. package/dist/extensions/memory-core/cli-metadata.d.ts +1 -1
  441. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  442. package/dist/extensions/memory-core/index.d.ts +1 -1
  443. package/dist/extensions/memory-core/manager-runtime.d.ts +1 -1
  444. package/dist/extensions/memory-core/runtime-api.d.ts +2 -2
  445. package/dist/extensions/memory-wiki/api.d.ts +3 -3
  446. package/dist/extensions/memory-wiki/cli-metadata.d.ts +1 -1
  447. package/dist/extensions/memory-wiki/index.d.ts +1 -1
  448. package/dist/extensions/memory-wiki/setup-api.d.ts +1 -1
  449. package/dist/extensions/microsoft/index.d.ts +1 -1
  450. package/dist/extensions/microsoft/speech-provider.d.ts +1 -1
  451. package/dist/extensions/microsoft/test-api.d.ts +1 -1
  452. package/dist/extensions/microsoft-foundry/auth.d.ts +1 -1
  453. package/dist/extensions/microsoft-foundry/cli.d.ts +1 -1
  454. package/dist/extensions/microsoft-foundry/index.d.ts +1 -1
  455. package/dist/extensions/microsoft-foundry/onboard.d.ts +3 -3
  456. package/dist/extensions/microsoft-foundry/provider.d.ts +1 -1
  457. package/dist/extensions/microsoft-foundry/runtime.d.ts +1 -1
  458. package/dist/extensions/microsoft-foundry/shared-runtime.d.ts +1 -1
  459. package/dist/extensions/microsoft-foundry/shared.d.ts +1 -1
  460. package/dist/extensions/migrate-claude/apply.d.ts +1 -1
  461. package/dist/extensions/migrate-claude/apply.js +1 -1
  462. package/dist/extensions/migrate-claude/config.d.ts +1 -1
  463. package/dist/extensions/migrate-claude/helpers.d.ts +1 -1
  464. package/dist/extensions/migrate-claude/index.d.ts +1 -1
  465. package/dist/extensions/migrate-claude/index.js +1 -1
  466. package/dist/extensions/migrate-claude/memory.d.ts +2 -2
  467. package/dist/extensions/migrate-claude/plan.d.ts +1 -1
  468. package/dist/extensions/migrate-claude/plan.js +1 -1
  469. package/dist/extensions/migrate-claude/provider.d.ts +1 -1
  470. package/dist/extensions/migrate-claude/provider.js +1 -1
  471. package/dist/extensions/migrate-claude/skills.d.ts +2 -2
  472. package/dist/extensions/migrate-claude/targets.d.ts +1 -1
  473. package/dist/extensions/migrate-claude/targets.js +1 -1
  474. package/dist/extensions/migrate-hermes/apply.d.ts +1 -1
  475. package/dist/extensions/migrate-hermes/apply.js +1 -1
  476. package/dist/extensions/migrate-hermes/config.d.ts +1 -1
  477. package/dist/extensions/migrate-hermes/helpers.d.ts +1 -1
  478. package/dist/extensions/migrate-hermes/index.d.ts +1 -1
  479. package/dist/extensions/migrate-hermes/index.js +1 -1
  480. package/dist/extensions/migrate-hermes/items.d.ts +1 -1
  481. package/dist/extensions/migrate-hermes/model.d.ts +1 -1
  482. package/dist/extensions/migrate-hermes/model.js +1 -1
  483. package/dist/extensions/migrate-hermes/plan.d.ts +1 -1
  484. package/dist/extensions/migrate-hermes/plan.js +1 -1
  485. package/dist/extensions/migrate-hermes/provider.d.ts +1 -1
  486. package/dist/extensions/migrate-hermes/provider.js +1 -1
  487. package/dist/extensions/migrate-hermes/secrets.d.ts +2 -2
  488. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  489. package/dist/extensions/migrate-hermes/skills.d.ts +2 -2
  490. package/dist/extensions/migrate-hermes/targets.d.ts +1 -1
  491. package/dist/extensions/migrate-hermes/targets.js +1 -1
  492. package/dist/extensions/minimax/index.d.ts +1 -1
  493. package/dist/extensions/minimax/provider-contract-api.d.ts +1 -1
  494. package/dist/extensions/minimax/provider-registration.d.ts +1 -1
  495. package/dist/extensions/minimax/speech-provider.d.ts +1 -1
  496. package/dist/extensions/mistral/embedding-provider.d.ts +1 -1
  497. package/dist/extensions/mistral/index.d.ts +1 -1
  498. package/dist/extensions/mistral/memory-embedding-adapter.d.ts +1 -1
  499. package/dist/extensions/mistral/realtime-transcription-provider.d.ts +1 -1
  500. package/dist/extensions/mistral/test-api.d.ts +1 -1
  501. package/dist/extensions/moonshot/index.d.ts +1 -1
  502. package/dist/extensions/moonshot/provider-contract-api.d.ts +1 -1
  503. package/dist/extensions/moonshot/provider-discovery.d.ts +1 -1
  504. package/dist/extensions/nvidia/index.d.ts +1 -1
  505. package/dist/extensions/oc-path/cli-metadata.d.ts +1 -1
  506. package/dist/extensions/oc-path/cli-registration.d.ts +1 -1
  507. package/dist/extensions/oc-path/index.d.ts +1 -1
  508. package/dist/extensions/ollama/api.d.ts +1 -1
  509. package/dist/extensions/ollama/index.d.ts +1 -1
  510. package/dist/extensions/ollama/provider-discovery.d.ts +1 -1
  511. package/dist/extensions/ollama/provider-policy-api.d.ts +1 -1
  512. package/dist/extensions/ollama/runtime-api.d.ts +1 -1
  513. package/dist/extensions/open-prose/index.d.ts +1 -1
  514. package/dist/extensions/open-prose/runtime-api.d.ts +2 -2
  515. package/dist/extensions/openai/api.d.ts +4 -4
  516. package/dist/extensions/openai/embedding-batch.d.ts +1 -1
  517. package/dist/extensions/openai/embedding-provider.d.ts +1 -1
  518. package/dist/extensions/openai/index.d.ts +1 -1
  519. package/dist/extensions/openai/memory-embedding-adapter.d.ts +1 -1
  520. package/dist/extensions/openai/openai-codex-oauth.runtime.d.ts +1 -1
  521. package/dist/extensions/openai/openai-codex-provider.d.ts +1 -1
  522. package/dist/extensions/openai/openai-provider.d.ts +1 -1
  523. package/dist/extensions/openai/prompt-overlay.d.ts +1 -1
  524. package/dist/extensions/openai/provider-contract-api.d.ts +1 -1
  525. package/dist/extensions/openai/provider-policy-api.d.ts +1 -1
  526. package/dist/extensions/openai/realtime-transcription-provider.d.ts +1 -1
  527. package/dist/extensions/openai/realtime-voice-provider.d.ts +1 -1
  528. package/dist/extensions/openai/register.runtime.d.ts +6 -6
  529. package/dist/extensions/openai/replay-policy.d.ts +1 -1
  530. package/dist/extensions/openai/setup-api.d.ts +1 -1
  531. package/dist/extensions/openai/shared.d.ts +3 -3
  532. package/dist/extensions/openai/speech-provider.d.ts +1 -1
  533. package/dist/extensions/openai/test-api.d.ts +3 -3
  534. package/dist/extensions/openai/thinking-policy.d.ts +1 -1
  535. package/dist/extensions/openai/transport-policy.d.ts +1 -1
  536. package/dist/extensions/opencode/index.d.ts +1 -1
  537. package/dist/extensions/opencode/provider-policy-api.d.ts +1 -1
  538. package/dist/extensions/opencode-go/index.d.ts +1 -1
  539. package/dist/extensions/opencode-go/provider-catalog.d.ts +1 -1
  540. package/dist/extensions/opencode-go/stream.d.ts +1 -1
  541. package/dist/extensions/openrouter/api.d.ts +1 -1
  542. package/dist/extensions/openrouter/index.d.ts +1 -1
  543. package/dist/extensions/openrouter/provider-contract-api.d.ts +1 -1
  544. package/dist/extensions/openrouter/provider-policy-api.d.ts +1 -1
  545. package/dist/extensions/openrouter/speech-provider.d.ts +1 -1
  546. package/dist/extensions/openrouter/stream.d.ts +1 -1
  547. package/dist/extensions/openrouter/test-api.d.ts +1 -1
  548. package/dist/extensions/openrouter/thinking-policy.d.ts +1 -1
  549. package/dist/extensions/openrouter/video-generation-provider.d.ts +1 -1
  550. package/dist/extensions/openrouter/video-model-catalog.d.ts +1 -1
  551. package/dist/extensions/perplexity/index.d.ts +1 -1
  552. package/dist/extensions/phone-control/index.d.ts +1 -1
  553. package/dist/extensions/phone-control/runtime-api.d.ts +2 -2
  554. package/dist/extensions/policy/api.js +1 -1
  555. package/dist/extensions/policy/index.d.ts +1 -1
  556. package/dist/extensions/policy/index.js +2 -2
  557. package/dist/extensions/qianfan/index.d.ts +1 -1
  558. package/dist/extensions/qwen/api.d.ts +1 -1
  559. package/dist/extensions/qwen/index.d.ts +1 -1
  560. package/dist/extensions/qwen/stream.d.ts +1 -1
  561. package/dist/extensions/runway/index.d.ts +1 -1
  562. package/dist/extensions/searxng/index.d.ts +1 -1
  563. package/dist/extensions/senseaudio/index.d.ts +1 -1
  564. package/dist/extensions/sglang/index.d.ts +1 -1
  565. package/dist/extensions/signal/api.d.ts +2 -2
  566. package/dist/extensions/signal/api.js +6 -6
  567. package/dist/extensions/signal/channel-entry.d.ts +2 -2
  568. package/dist/extensions/signal/channel-plugin-api.d.ts +1 -1
  569. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  570. package/dist/extensions/signal/index.d.ts +2 -2
  571. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  572. package/dist/extensions/signal/runtime-api.d.ts +4 -4
  573. package/dist/extensions/signal/runtime-api.js +7 -7
  574. package/dist/extensions/signal/setup-entry.d.ts +2 -2
  575. package/dist/extensions/skill-workshop/api.d.ts +2 -2
  576. package/dist/extensions/skill-workshop/api.js +1 -1
  577. package/dist/extensions/skill-workshop/index.d.ts +1 -1
  578. package/dist/extensions/skill-workshop/index.js +2 -2
  579. package/dist/extensions/speech-core/api.d.ts +3 -3
  580. package/dist/extensions/speech-core/runtime-api.d.ts +2 -2
  581. package/dist/extensions/stepfun/index.d.ts +1 -1
  582. package/dist/extensions/synthetic/index.d.ts +1 -1
  583. package/dist/extensions/talk-voice/api.d.ts +2 -2
  584. package/dist/extensions/talk-voice/index.d.ts +1 -1
  585. package/dist/extensions/tavily/index.d.ts +1 -1
  586. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  587. package/dist/extensions/telegram/api.d.ts +3 -3
  588. package/dist/extensions/telegram/api.js +11 -11
  589. package/dist/extensions/telegram/channel-plugin-api.d.ts +2 -2
  590. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  591. package/dist/extensions/telegram/contract-api.d.ts +1 -1
  592. package/dist/extensions/telegram/contract-api.js +3 -3
  593. package/dist/extensions/telegram/index.d.ts +2 -2
  594. package/dist/extensions/telegram/runtime-api.d.ts +3 -3
  595. package/dist/extensions/telegram/runtime-api.js +7 -7
  596. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  597. package/dist/extensions/telegram/setup-entry.d.ts +2 -2
  598. package/dist/extensions/telegram/setup-plugin-api.d.ts +1 -1
  599. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  600. package/dist/extensions/telegram/test-api.js +2 -2
  601. package/dist/extensions/tencent/index.d.ts +1 -1
  602. package/dist/extensions/tencent/provider-discovery.d.ts +1 -1
  603. package/dist/extensions/thread-ownership/api.d.ts +2 -2
  604. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  605. package/dist/extensions/together/index.d.ts +1 -1
  606. package/dist/extensions/tokenjuice/index.d.ts +1 -1
  607. package/dist/extensions/tokenjuice/tool-result-middleware.d.ts +1 -1
  608. package/dist/extensions/tts-local-cli/index.d.ts +1 -1
  609. package/dist/extensions/tts-local-cli/speech-provider.d.ts +1 -1
  610. package/dist/extensions/venice/index.d.ts +1 -1
  611. package/dist/extensions/venice/stream.d.ts +1 -1
  612. package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
  613. package/dist/extensions/vercel-ai-gateway/thinking.d.ts +1 -1
  614. package/dist/extensions/video-generation-core/api.d.ts +2 -2
  615. package/dist/extensions/video-generation-core/runtime-api.d.ts +1 -1
  616. package/dist/extensions/vllm/api.d.ts +1 -1
  617. package/dist/extensions/vllm/index.d.ts +1 -1
  618. package/dist/extensions/vllm/stream.d.ts +1 -1
  619. package/dist/extensions/volcengine/index.d.ts +1 -1
  620. package/dist/extensions/volcengine/provider-discovery.d.ts +1 -1
  621. package/dist/extensions/volcengine/speech-provider.d.ts +1 -1
  622. package/dist/extensions/voyage/embedding-batch.d.ts +1 -1
  623. package/dist/extensions/voyage/embedding-provider.d.ts +1 -1
  624. package/dist/extensions/voyage/index.d.ts +1 -1
  625. package/dist/extensions/voyage/memory-embedding-adapter.d.ts +1 -1
  626. package/dist/extensions/vydra/index.d.ts +1 -1
  627. package/dist/extensions/vydra/speech-provider.d.ts +1 -1
  628. package/dist/extensions/web-readability/index.d.ts +1 -1
  629. package/dist/extensions/webhooks/api.d.ts +2 -2
  630. package/dist/extensions/webhooks/api.js +1 -1
  631. package/dist/extensions/webhooks/index.d.ts +1 -1
  632. package/dist/extensions/webhooks/index.js +1 -1
  633. package/dist/extensions/webhooks/runtime-api.d.ts +1 -1
  634. package/dist/extensions/xai/api.d.ts +1 -1
  635. package/dist/extensions/xai/index.d.ts +1 -1
  636. package/dist/extensions/xai/index.js +4 -4
  637. package/dist/extensions/xai/provider-contract-api.d.ts +1 -1
  638. package/dist/extensions/xai/provider-discovery.d.ts +1 -1
  639. package/dist/extensions/xai/provider-models.d.ts +1 -1
  640. package/dist/extensions/xai/provider-policy-api.d.ts +1 -1
  641. package/dist/extensions/xai/realtime-transcription-provider.d.ts +1 -1
  642. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  643. package/dist/extensions/xai/setup-api.d.ts +1 -1
  644. package/dist/extensions/xai/speech-provider.d.ts +1 -1
  645. package/dist/extensions/xai/speech-provider.js +1 -1
  646. package/dist/extensions/xai/stream.d.ts +1 -1
  647. package/dist/extensions/xai/test-api.js +1 -1
  648. package/dist/extensions/xai/tts.js +1 -1
  649. package/dist/extensions/xai/web-search.js +1 -1
  650. package/dist/extensions/xai/xai-oauth.d.ts +1 -1
  651. package/dist/extensions/xai/xai-oauth.js +1 -1
  652. package/dist/extensions/xiaomi/index.d.ts +1 -1
  653. package/dist/extensions/xiaomi/speech-provider.d.ts +1 -1
  654. package/dist/extensions/xiaomi/stream.d.ts +1 -1
  655. package/dist/extensions/xiaomi/thinking.d.ts +1 -1
  656. package/dist/extensions/zai/index.d.ts +1 -1
  657. package/dist/file-fetch-tool-DQpAtjX4.js +124 -0
  658. package/dist/file-write-tool-CkB0oYwe.js +127 -0
  659. package/dist/format-DUJUpMFQ.js +1145 -0
  660. package/dist/gateway/protocol/index.d.ts +1 -1
  661. package/dist/gateway-cli-CQo_E4Ka.js +435 -0
  662. package/dist/gateway-method-runtime-1QPgVJH7.js +21 -0
  663. package/dist/gateway-runtime-O_Wi0NT3.d.ts +163 -0
  664. package/dist/gemini-cli-provider-DdNgpy2W.d.ts +6 -0
  665. package/dist/get-reply-DfUcsC-O.js +4689 -0
  666. package/dist/get-reply-from-config.runtime-C95MG73O.js +2 -0
  667. package/dist/get-reply-from-config.runtime.js +1 -1
  668. package/dist/graph-users-DPJe0fPs.js +1419 -0
  669. package/dist/group-access-DefaNJ6L.js +112 -0
  670. package/dist/handle-action.guild-admin-C1sy1kGJ.js +288 -0
  671. package/dist/harness-BgPRdmNK.js +61 -0
  672. package/dist/health-DFR9A1YV.js +4 -0
  673. package/dist/heartbeat-runner-BiYVPs25.js +5 -0
  674. package/dist/heartbeat-runner.runtime-Bmaq8WUA.js +4 -0
  675. package/dist/heartbeat-runner.runtime.js +1 -1
  676. package/dist/hooks-CNJDuJUm.js +534 -0
  677. package/dist/http-registry-B-2IMGGY.d.ts +23 -0
  678. package/dist/image-generation-runtime-Bc2sooDl.d.ts +21 -0
  679. package/dist/inbound-direct-dm-runtime-DFt58p71.js +2 -0
  680. package/dist/inbound-reply-dispatch-kgSDM8ax.js +148 -0
  681. package/dist/index-DmaFd4LB.d.ts +3971 -0
  682. package/dist/index.js +1 -1
  683. package/dist/init-B0zO_U4r.js +59 -0
  684. package/dist/inline-buttons-B6zgQW3J.js +40 -0
  685. package/dist/interactive-dispatch--tUd3qas.d.ts +143 -0
  686. package/dist/interactive-dispatch-C4z7lkyI.d.ts +56 -0
  687. package/dist/internal-events-C3Q5t6hg.js +90 -0
  688. package/dist/isolated-agent-CaSU5GCJ.js +2 -0
  689. package/dist/isolated-agent-CnsD2TmP.js +1118 -0
  690. package/dist/lifecycle-i3WZDaIn.js +571 -0
  691. package/dist/list.probe-g0rUiVXW.js +449 -0
  692. package/dist/list.status-command-DG3PrmeO.js +789 -0
  693. package/dist/llm-slug-generator-CHlf69FU.js +78 -0
  694. package/dist/llm-slug-generator.js +1 -1
  695. package/dist/loader-D5A-oM1D.d.ts +142 -0
  696. package/dist/local-dispatch.runtime-CDeHUp_A.js +9 -0
  697. package/dist/local-dispatch.runtime.js +1 -1
  698. package/dist/manager-DOBX6201.d.ts +356 -0
  699. package/dist/manager.runtime-BlLMPUTq.js +2714 -0
  700. package/dist/manager.runtime.js +1 -1
  701. package/dist/markdown-to-line-r_mBHMdy.js +811 -0
  702. package/dist/mcp-http-C5UPIJGR.js +555 -0
  703. package/dist/mcp-http-CTy9gpfA.js +2 -0
  704. package/dist/media-understanding-provider-BT6TOuVa.js +339 -0
  705. package/dist/memory-core-host-engine-storage-FuGbyvg1.d.ts +54 -0
  706. package/dist/memory-embedding-adapter-Ch5SpgXi.d.ts +5 -0
  707. package/dist/message-actions-BdcjjwFt.js +145 -0
  708. package/dist/message-handler-B29Tj2p2.js +1715 -0
  709. package/dist/message-handler-BhHb1FHI.js +384 -0
  710. package/dist/message-handler.preflight-ouZ_-3o8.js +1125 -0
  711. package/dist/message-handler.process-CrYiBx_F.js +1484 -0
  712. package/dist/migration-DJ7cUDW2.d.ts +45 -0
  713. package/dist/model-C5aopp74.d.ts +33 -0
  714. package/dist/model-CLbtocQX.js +74 -0
  715. package/dist/model-selection-BG_vU9Kl.js +272 -0
  716. package/dist/models-4KERn3ya.js +104 -0
  717. package/dist/models-BCa-ipxi.js +2 -0
  718. package/dist/models-CFT_VQvO.d.ts +24 -0
  719. package/dist/models-cli-DtpGXEsf.js +256 -0
  720. package/dist/monitor-B-egsvmI.js +1657 -0
  721. package/dist/monitor-BJX9Yv7k.js +2 -0
  722. package/dist/monitor-BPrIy3pV.js +715 -0
  723. package/dist/monitor-BWknZZ7N.js +4377 -0
  724. package/dist/monitor-C3y_PtI1.js +60 -0
  725. package/dist/monitor-DCzfdqE4.js +1370 -0
  726. package/dist/monitor-P24epSwE.js +2788 -0
  727. package/dist/monitor-auth-CEG_xldE.js +179 -0
  728. package/dist/monitor-jEePJbbS.js +834 -0
  729. package/dist/monitor-polling.runtime-BzlHK11u.js +883 -0
  730. package/dist/monitor-polling.runtime.js +1 -1
  731. package/dist/monitor-webhook.runtime-vFEhk_Zj.js +387 -0
  732. package/dist/monitor-webhook.runtime.js +1 -1
  733. package/dist/monitor.account-BUIfgWXg.js +5233 -0
  734. package/dist/monitor.runtime-Cp7W4fhb.js +2 -0
  735. package/dist/monitor.runtime.js +1 -1
  736. package/dist/monitor.webhook-DzrbeR4T.js +180 -0
  737. package/dist/node-cli-sessions-CLbI14UA.js +1228 -0
  738. package/dist/openai-codex-provider-DV8SJTzK.d.ts +5 -0
  739. package/dist/openai-http-BM9BIA_g.js +824 -0
  740. package/dist/openai-provider-DBfwo7pI.d.ts +5 -0
  741. package/dist/openresponses-http-CNoW9kk8.js +1173 -0
  742. package/dist/operations-DT4bsxV6.js +805 -0
  743. package/dist/outbound-adapter-CZRUOgY0.js +543 -0
  744. package/dist/outbound-session-route-DneMsGNx.js +45 -0
  745. package/dist/outbound.runtime-CHuoKJJI.js +2 -0
  746. package/dist/outbound.runtime.js +1 -1
  747. package/dist/pi-embedded-1-rsueO_.js +3796 -0
  748. package/dist/pi-embedded-BRfDncVO.js +4 -0
  749. package/dist/pi-embedded.runtime-DEYoa6bW.js +4 -0
  750. package/dist/pi-embedded.runtime.js +1 -1
  751. package/dist/pi-tools-C0P3NgP5.js +2413 -0
  752. package/dist/plan-BQUkjBMY.js +81 -0
  753. package/dist/plan-CRO9_2_k.js +112 -0
  754. package/dist/plugin-3HfIuARf.d.ts +17 -0
  755. package/dist/plugin-BJCmWhnh.js +12396 -0
  756. package/dist/plugin-app-cache-key-CXAg0F7A.js +46 -0
  757. package/dist/plugin-enabled-D93Z9LSo.js +233 -0
  758. package/dist/plugin-entry-CnmrrtsZ.d.ts +47 -0
  759. package/dist/plugin-registration-BBrTcZnf.js +88 -0
  760. package/dist/plugin-runtime-C9rLv6cg.d.ts +117 -0
  761. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  762. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  763. package/dist/plugin-sdk/acp-runtime.js +2 -2
  764. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  765. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  766. package/dist/plugin-sdk/agent-harness.js +7 -7
  767. package/dist/plugin-sdk/agent-runtime.js +2 -2
  768. package/dist/plugin-sdk/channel-core.js +2 -2
  769. package/dist/plugin-sdk/channel-inbound.js +2 -2
  770. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  771. package/dist/plugin-sdk/command-auth.js +1 -1
  772. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  773. package/dist/plugin-sdk/compat.js +1 -1
  774. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  775. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  776. package/dist/plugin-sdk/core.js +2 -2
  777. package/dist/plugin-sdk/direct-dm.js +1 -1
  778. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  779. package/dist/plugin-sdk/health.js +2 -2
  780. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  781. package/dist/plugin-sdk/index.js +1 -1
  782. package/dist/plugin-sdk/mattermost.js +1 -1
  783. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  784. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  785. package/dist/plugin-sdk/reply-runtime.js +4 -4
  786. package/dist/plugin-sdk/testing.js +2 -2
  787. package/dist/plugin-sdk/zalouser.js +1 -1
  788. package/dist/plugin-service-Bn32flyQ.d.ts +24 -0
  789. package/dist/plugin-service-DnZEPBEA.js +1229 -0
  790. package/dist/plugins/build-smoke-entry.d.ts +2 -2
  791. package/dist/plugins/loader.d.ts +1 -1
  792. package/dist/plugins/provider-discovery.runtime.d.ts +1 -1
  793. package/dist/plugins/provider-runtime.runtime.d.ts +1 -1
  794. package/dist/plugins/runtime/index.js +4 -4
  795. package/dist/policy-CMv5QMPG.js +138 -0
  796. package/dist/policy-CeoP4t9J.js +680 -0
  797. package/dist/prepare.runtime-DZ55JiTt.js +732 -0
  798. package/dist/prepare.runtime.js +1 -1
  799. package/dist/preview-warnings-O08PZRxu.js +392 -0
  800. package/dist/probe-C6w3bP8X.js +682 -0
  801. package/dist/probe-Cs1_X1NA.js +47 -0
  802. package/dist/probe-Cuee_jyM.js +2204 -0
  803. package/dist/probe-DZxCnDzn.js +2 -0
  804. package/dist/program-C2dT8VHB.js +131 -0
  805. package/dist/prompt-overlay-TZmqHUQy.d.ts +23 -0
  806. package/dist/provider-C2_vSzYh.js +32 -0
  807. package/dist/provider-DSfTDQbj.js +152 -0
  808. package/dist/provider-U8hrm9h-.js +32 -0
  809. package/dist/provider-_v910H8y.js +8735 -0
  810. package/dist/provider-api-key-auth-B5v8fc5t.d.ts +27 -0
  811. package/dist/provider-auth-result-BVBIW1K1.d.ts +21 -0
  812. package/dist/provider-catalog-runtime-DIpk2yCc.d.ts +23 -0
  813. package/dist/provider-catalog-shared-DIGBDDJ_.d.ts +62 -0
  814. package/dist/provider-dispatcher-C3kmmIEC.js +22 -0
  815. package/dist/provider-dispatcher.runtime.js +1 -1
  816. package/dist/provider-hook-runtime-CxMK4Nxj.d.ts +61 -0
  817. package/dist/provider-model-shared-C27mXTlf.d.ts +143 -0
  818. package/dist/provider-models-Cy0x8f2O.d.ts +12 -0
  819. package/dist/provider-policy-DXmndC7d.d.ts +30 -0
  820. package/dist/provider-registration-uSCbfm21.d.ts +6 -0
  821. package/dist/provider-registry-AT1quH-E.d.ts +8 -0
  822. package/dist/provider-registry-C35uRv4E.d.ts +8 -0
  823. package/dist/provider-registry-CvFYkCUP.d.ts +30 -0
  824. package/dist/provider-runtime-WhqIW1EN.d.ts +359 -0
  825. package/dist/provider-self-hosted-setup-DomISF6k.d.ts +74 -0
  826. package/dist/provider-session.runtime-Mg0fx5hH.js +9 -0
  827. package/dist/provider-session.runtime.js +1 -1
  828. package/dist/provider-stream-dOfsyID8.d.ts +140 -0
  829. package/dist/provider-stream-shared-B7iFu04Z.d.ts +128 -0
  830. package/dist/provider.runtime-pSTXuHrq.js +2 -0
  831. package/dist/provider.runtime.js +1 -1
  832. package/dist/providers.runtime-CA9amkvC.d.ts +25 -0
  833. package/dist/public-surface-loader-09t4TTue.js +114 -0
  834. package/dist/pw-ai-DjNqHV3_.js +3029 -0
  835. package/dist/pw-role-snapshot-DoGefdv7.js +333 -0
  836. package/dist/reaction-level-C8Mqxizo.js +19 -0
  837. package/dist/reaction-runtime-api-DOP6xOsm.js +116 -0
  838. package/dist/realtime-transcription-BVierbfq.d.ts +43 -0
  839. package/dist/realtime-transcription-provider-BFYQf3Mc.d.ts +28 -0
  840. package/dist/realtime-transcription-provider-BTGEXXna.js +205 -0
  841. package/dist/realtime-transcription-provider-BpGi7xsk.d.ts +37 -0
  842. package/dist/realtime-transcription-provider-DVDaXByF.d.ts +5 -0
  843. package/dist/realtime-transcription-provider-NsnHDYG_.d.ts +32 -0
  844. package/dist/realtime-voice-DIfFPO81.d.ts +333 -0
  845. package/dist/realtime-voice-provider-DgaPWM1q.d.ts +5 -0
  846. package/dist/register-CbZPpqI3.js +2178 -0
  847. package/dist/register.agent-DrBFuPKh.js +156 -0
  848. package/dist/register.crestodian-DwTbmaK8.js +24 -0
  849. package/dist/register.maintenance-BIeoYBub.js +83 -0
  850. package/dist/register.runtime-B5V9_Dwz.js +54 -0
  851. package/dist/register.runtime-D1DKtiFc.d.ts +6 -0
  852. package/dist/register.subclis-CJE9ISZY.js +31 -0
  853. package/dist/register.subclis-YQsKas8N.js +3 -0
  854. package/dist/register.subclis-core-CjwdGeGU.js +273 -0
  855. package/dist/registry-BNbSEDbx.d.ts +91 -0
  856. package/dist/registry-types-CoTdsByS.d.ts +392 -0
  857. package/dist/repair-sequencing-C0jrL5pw.js +640 -0
  858. package/dist/reply-delivery-B28mTIpb.js +196 -0
  859. package/dist/reply-runtime-BqQX7HHw.js +11 -0
  860. package/dist/reply.runtime-C95MG73O.js +2 -0
  861. package/dist/reply.runtime.js +1 -1
  862. package/dist/request-BqoMvXxH.js +54 -0
  863. package/dist/resolve-allowlist-hbKKd_kq.js +220 -0
  864. package/dist/result-fallback-classifier-BrORPoxj.js +79 -0
  865. package/dist/route-HHRgSzVy.js +469 -0
  866. package/dist/route-resolution-C7bafjVc.js +274 -0
  867. package/dist/routes-86XGeo7a.js +2 -0
  868. package/dist/routes-BhVGr9ie.js +3602 -0
  869. package/dist/run-Bb5QP5JV.js +1162 -0
  870. package/dist/run-attempt-CLi0wV7j.js +7704 -0
  871. package/dist/run-command-Be6GAxiW.js +2 -0
  872. package/dist/run-command-Ds4hr3iU.js +23 -0
  873. package/dist/run-embedded.runtime-wX9ORojX.js +4 -0
  874. package/dist/run-embedded.runtime.js +1 -1
  875. package/dist/run-execution-cli.runtime-BmNZVB2N.js +4 -0
  876. package/dist/run-execution-cli.runtime.js +1 -1
  877. package/dist/run-executor.runtime.js +1 -1
  878. package/dist/run-subagent-registry.runtime-Uq5sjftu.js +2 -0
  879. package/dist/run-subagent-registry.runtime.js +1 -1
  880. package/dist/runtime-BktLQ75j.js +1287 -0
  881. package/dist/runtime-C9XdR62_.js +438 -0
  882. package/dist/runtime-CTvWDPx9.js +6179 -0
  883. package/dist/runtime-api-BojB3MUw.js +21 -0
  884. package/dist/runtime-api-C92MlAwp.js +13 -0
  885. package/dist/runtime-api-CFNZE9Xt.js +13 -0
  886. package/dist/runtime-api-Cimpgm5_.js +3 -0
  887. package/dist/runtime-api-D8qG_lUm.js +17 -0
  888. package/dist/runtime-api-DMDMnQEG.js +4 -0
  889. package/dist/runtime-api-DupQdIlE.js +24 -0
  890. package/dist/runtime-api.actions-B8i3elqu.js +3 -0
  891. package/dist/runtime-api.monitor-BntFzf_M.js +6 -0
  892. package/dist/runtime-api.send-CPlmi1jc.js +4 -0
  893. package/dist/runtime-api.threads-D-H_r_Nl.js +2 -0
  894. package/dist/runtime-channel-BGhTxnXZ.js +150 -0
  895. package/dist/runtime-channel-CPFxNapZ.js +2 -0
  896. package/dist/runtime-embedded-pi.runtime-BjnMTurB.js +2 -0
  897. package/dist/runtime-embedded-pi.runtime.js +1 -1
  898. package/dist/runtime-taskflow-D0qw2_ew.d.ts +435 -0
  899. package/dist/sanitize-outbound-BMUv1NeS.js +127 -0
  900. package/dist/sdk-setup-tools-Do3DkQi_.js +8 -0
  901. package/dist/secrets-B8YVPHhk.js +113 -0
  902. package/dist/security-audit-7Gg_nL4o.js +122 -0
  903. package/dist/security-audit-Bk3CREj-.js +118 -0
  904. package/dist/security-audit.runtime-BmSJrdeq.js +2 -0
  905. package/dist/security-audit.runtime.js +1 -1
  906. package/dist/selection-BFGde9-_.js +3 -0
  907. package/dist/selection-DrLFlbgG.js +16157 -0
  908. package/dist/send-4dLa-BQo.js +1631 -0
  909. package/dist/send-CV6gCwYP.js +192 -0
  910. package/dist/send-aGiK3Efu.js +143 -0
  911. package/dist/send-dB3CehAN.js +2 -0
  912. package/dist/send.components-BcG9BlkC.js +2 -0
  913. package/dist/send.components-rLjDlfYU.js +500 -0
  914. package/dist/send.runtime-D20k2MSr.js +2 -0
  915. package/dist/send.runtime.js +1 -1
  916. package/dist/server-BTRx_U1s.js +73 -0
  917. package/dist/server-CY0ymhBg.js +24 -0
  918. package/dist/server-close.runtime.d.ts +1 -1
  919. package/dist/server-close.runtime.js +1 -1
  920. package/dist/server-context-BxGT8wbK.js +955 -0
  921. package/dist/server-context-DYlbhAaT.js +2 -0
  922. package/dist/server-cron-BB_15lcP.js +2 -0
  923. package/dist/server-cron-CfyJX_a4.js +2989 -0
  924. package/dist/server-methods-Ck2ab6TC.js +16494 -0
  925. package/dist/server-node-events-BdRizF-5.js +596 -0
  926. package/dist/server-plugin-bootstrap-CPUr8NFE.js +70 -0
  927. package/dist/server-plugins-__5AxjzH.js +432 -0
  928. package/dist/server-reload-handlers-BMl9Fx9b.js +714 -0
  929. package/dist/server-restart-sentinel-D11M_ZsH.js +747 -0
  930. package/dist/server-restart-sentinel-DGptQ27c.js +2 -0
  931. package/dist/server-runtime-services-BwtLs-8I.js +2 -0
  932. package/dist/server-runtime-services-aJydixRu.js +267 -0
  933. package/dist/server-startup-plugins-m_P3gY4m.js +113 -0
  934. package/dist/server-startup-post-attach-DuXQ1AXL.js +716 -0
  935. package/dist/server-ws-runtime-mXmxB1W8.js +349 -0
  936. package/dist/server.impl-fuV8aKSP.js +2586 -0
  937. package/dist/service-a8cTFka4.js +1446 -0
  938. package/dist/session-binding-BIycxo9u.js +2 -0
  939. package/dist/session-binding-xHwQr9vM.js +219 -0
  940. package/dist/session-kill-http-DiUZhcoN.js +121 -0
  941. package/dist/session-reset-service-DkepDoob.js +625 -0
  942. package/dist/session-route-Ba5u7ecb.js +93 -0
  943. package/dist/session-status.runtime-Cb1X69Rl.js +2 -0
  944. package/dist/session-status.runtime.js +1 -1
  945. package/dist/session-subagent-reactivation.runtime-rbqmto4G.js +2 -0
  946. package/dist/session-subagent-reactivation.runtime.js +1 -1
  947. package/dist/session-tab-registry-DSKOoJta.js +521 -0
  948. package/dist/sessions-history-http-CWP88I_C.js +430 -0
  949. package/dist/sessions.runtime-1q1OwLn3.js +2 -0
  950. package/dist/sessions.runtime.js +1 -1
  951. package/dist/setup-api-DtrOOYeP.js +29 -0
  952. package/dist/setup-core-DMrJS6LP.js +174 -0
  953. package/dist/setup-surface-BFPNu1qA.js +405 -0
  954. package/dist/setup-surface-CedShqhO.js +288 -0
  955. package/dist/setup-surface-DLOBH1Vf.js +320 -0
  956. package/dist/setup-surface-MhCeEWSj.js +221 -0
  957. package/dist/shared-CtNdbFXT.d.ts +115 -0
  958. package/dist/shared-DamL-e8D.js +121 -0
  959. package/dist/shared-client-B48JoAsz.js +2 -0
  960. package/dist/shared-client-BoSiDnUo.js +629 -0
  961. package/dist/side-question-DQoQ_ETb.js +683 -0
  962. package/dist/simple-completion-runtime-CeXfjzsh.d.ts +73 -0
  963. package/dist/skill-tool-dispatch.runtime-CWLloYA8.js +143 -0
  964. package/dist/skill-tool-dispatch.runtime.js +1 -1
  965. package/dist/slash-state-DrrWJQfv.js +2166 -0
  966. package/dist/speech-D7DDpTYF.d.ts +47 -0
  967. package/dist/speech-core-CFgx31sH.d.ts +36 -0
  968. package/dist/speech-provider-8Hx1uw41.js +184 -0
  969. package/dist/speech-provider-BNqGEAL3.d.ts +8 -0
  970. package/dist/speech-provider-BQKXDpVB.d.ts +5 -0
  971. package/dist/speech-provider-BQV7Iy5m.d.ts +8 -0
  972. package/dist/speech-provider-BxF18GTv.d.ts +5 -0
  973. package/dist/speech-provider-DctLyCSW.d.ts +34 -0
  974. package/dist/speech-provider-DiOnRJQu.d.ts +5 -0
  975. package/dist/src-BbUYOPwU.js +4256 -0
  976. package/dist/startup-context-opAJAamX.js +313 -0
  977. package/dist/status-subagents.runtime-DSo7ZK_Z.js +18 -0
  978. package/dist/status-subagents.runtime.js +1 -1
  979. package/dist/status-text-AyPuDzrO.js +296 -0
  980. package/dist/sticker-cache-91Tp8mLP.js +206 -0
  981. package/dist/sticker-vision.runtime-DjleFXi5.js +17 -0
  982. package/dist/sticker-vision.runtime.js +1 -1
  983. package/dist/stream-BgoZFYSR.d.ts +10 -0
  984. package/dist/stream-CVCS62xd.d.ts +16 -0
  985. package/dist/stream-D-yXCV2T.d.ts +19 -0
  986. package/dist/stream-Dp6BlyCy.d.ts +5 -0
  987. package/dist/stream-rAWDYPyO.d.ts +120 -0
  988. package/dist/stream-wrappers-DaahQDS8.d.ts +21 -0
  989. package/dist/subagent-announce-delivery-DS_2W9oZ.js +958 -0
  990. package/dist/subagent-announce-hatA_PZ2.js +354 -0
  991. package/dist/subagent-control-IyFIvc7T.js +508 -0
  992. package/dist/subagent-hooks-BCj5eB0Z.js +2 -0
  993. package/dist/subagent-hooks-BWjTBkox.js +146 -0
  994. package/dist/subagent-hooks-CdGLK9_3.js +230 -0
  995. package/dist/subagent-hooks-EH0tBkw9.js +2 -0
  996. package/dist/subagent-hooks-api-BhYaXQJV.js +23 -0
  997. package/dist/subagent-hooks-api-uGsV8Xn5.js +22 -0
  998. package/dist/subagent-hooks-api-wfJFKIPx.js +23 -0
  999. package/dist/subagent-hooks-l8Xd94dt.js +2 -0
  1000. package/dist/subagent-hooks-m2eHUO_d.js +116 -0
  1001. package/dist/subagent-orphan-recovery-Bq9zvX3L.js +352 -0
  1002. package/dist/subagent-registry-Bcb3zy6b.js +3 -0
  1003. package/dist/subagent-registry-CoZNTFx-.js +2351 -0
  1004. package/dist/subagent-registry.runtime.js +1 -1
  1005. package/dist/subagent-session-cleanup--00EjDLe.js +525 -0
  1006. package/dist/subagent-spawn-ClJJkz3D.js +1164 -0
  1007. package/dist/target-id-BsZLiF3x.js +107 -0
  1008. package/dist/targets-CQMe4AZP.js +44 -0
  1009. package/dist/targets-SmL1AU-H.js +19 -0
  1010. package/dist/targets-Y-roiA47.js +19 -0
  1011. package/dist/targets-cQYDQD_B.d.ts +10 -0
  1012. package/dist/targets-hzI6P-Zc.d.ts +10 -0
  1013. package/dist/task-registry-control.runtime.js +1 -1
  1014. package/dist/telegram/token.js +1 -1
  1015. package/dist/testing-B5hNJDuF.js +267 -0
  1016. package/dist/thinking-policy-BQykkMxE.d.ts +5 -0
  1017. package/dist/thread-bindings-BD3eE0kK.js +232 -0
  1018. package/dist/thread-bindings-C9NNiv8K.js +571 -0
  1019. package/dist/thread-bindings-Dl4PN1vZ.js +228 -0
  1020. package/dist/thread-bindings-uK1LLAwy.js +8 -0
  1021. package/dist/thread-bindings.discord-api-BHNEUbnk.js +187 -0
  1022. package/dist/thread-bindings.manager-B0LXiH3F.js +2 -0
  1023. package/dist/thread-bindings.manager-BTlH4XMG.js +536 -0
  1024. package/dist/thread-lifecycle-DG8uyPHd.js +1614 -0
  1025. package/dist/token-BbGCANnE.js +134 -0
  1026. package/dist/tool-actions.runtime-oUUrD8HB.js +534 -0
  1027. package/dist/tool-actions.runtime.js +1 -1
  1028. package/dist/tool-bqg-_vYv.js +139 -0
  1029. package/dist/tool-plugin-Cq5ot8y6.d.ts +77 -0
  1030. package/dist/tool-resolution-CSZsa3kP.js +149 -0
  1031. package/dist/tool-split-Bsnq7D3T.d.ts +19 -0
  1032. package/dist/tools-effective-inventory-0CqFp-vq.js +204 -0
  1033. package/dist/tools-invoke-http-DhYHY0Yh.js +67 -0
  1034. package/dist/tools-invoke-shared-CbVJJUj7.js +200 -0
  1035. package/dist/transport-stream-DvmDLTCM.d.ts +42 -0
  1036. package/dist/tts-C2qD-ad6.js +66 -0
  1037. package/dist/tui-CzGY254f.js +4709 -0
  1038. package/dist/tui-backend-fzoeoSN0.js +256 -0
  1039. package/dist/tui-cli-B2RWb2gM.js +37 -0
  1040. package/dist/tui-dgS8hdXU.js +2 -0
  1041. package/dist/types-CbiucfoZ.d.ts +786 -0
  1042. package/dist/types-iT2EyaH92.d.ts +3650 -0
  1043. package/dist/types.public-M7pcmtBD.d.ts +70 -0
  1044. package/dist/update-cli-BmiBDf3c.js +3664 -0
  1045. package/dist/update-runner-CM7QVX6u.js +2379 -0
  1046. package/dist/video-generation-runtime-Dg40PwEa.d.ts +21 -0
  1047. package/dist/video-model-catalog-D4Bq34K4.d.ts +16 -0
  1048. package/dist/vision-tools-BzoBZnIc.js +1409 -0
  1049. package/dist/web-search-DmfOd66S.js +62 -0
  1050. package/dist/web-search-provider.runtime-3C5-pODD.js +328 -0
  1051. package/dist/web-search-provider.runtime-Doh-Z9We.js +2 -0
  1052. package/dist/web-search-provider.runtime.js +1 -1
  1053. package/dist/webhook-targets-Cz7-0fFY.d.ts +99 -0
  1054. package/dist/xai-oauth-BLvQ43hx.js +479 -0
  1055. package/dist/xai-user-agent-BdMQ_0_O.js +32 -0
  1056. package/package.json +1 -1
  1057. package/dist/abort-DeEb_wKd.js +0 -277
  1058. package/dist/abort.runtime-CoYXQGPK.js +0 -2
  1059. package/dist/account-inspect-D_06-CYS.js +0 -173
  1060. package/dist/accounts-BCTqtj4Y.js +0 -107
  1061. package/dist/accounts-BudLl8P2.js +0 -107
  1062. package/dist/accounts-CUReBDA0.js +0 -2
  1063. package/dist/accounts-PCioSzzr.js +0 -119
  1064. package/dist/acp-runtime-B2t9_BHD.js +0 -26
  1065. package/dist/acp-spawn-0x4Iiu1o.js +0 -2
  1066. package/dist/acp-spawn-B2Ghe0jJ.js +0 -1275
  1067. package/dist/acp-stateful-target-driver-C4VgcSyz.js +0 -89
  1068. package/dist/action-kill-ClYsXEz7.js +0 -33
  1069. package/dist/action-runtime-DrLPkNvU.js +0 -469
  1070. package/dist/action-runtime-api-BqSflr9q.js +0 -2
  1071. package/dist/action-send-CIy9cziD.js +0 -39
  1072. package/dist/action-spawn-BjV6lFnX.js +0 -47
  1073. package/dist/actions-D-QH7wq5.js +0 -161
  1074. package/dist/actions.runtime-hzDtXQGU.js +0 -5
  1075. package/dist/agent-Bb1DTBgv.js +0 -3
  1076. package/dist/agent-Cnqj258q.js +0 -2
  1077. package/dist/agent-command-BRx6ZNgJ.js +0 -1367
  1078. package/dist/agent-components.runtime-D-g6xXJ0.js +0 -10
  1079. package/dist/agent-harness-CEPgjZ3p.d.ts +0 -146
  1080. package/dist/agent-harness-runtime-DMYJ4buZ.d.ts +0 -691
  1081. package/dist/agent-harness-runtime-dKUQFuOc.js +0 -180
  1082. package/dist/agent-harness-task-runtime-v2crUm3i.js +0 -140
  1083. package/dist/agent-runner-execution-AOzdxvWR.js +0 -1713
  1084. package/dist/agent-runner-utils-Byv50B4Z.js +0 -266
  1085. package/dist/agent-runner.runtime-hhgRE0Z-.js +0 -3455
  1086. package/dist/agent-runtime-BHmh3i0o.js +0 -229
  1087. package/dist/agent-via-gateway-DnCqaK4a.js +0 -463
  1088. package/dist/api-Bzyb8sFU.js +0 -3
  1089. package/dist/api-C9Dmd2CA.d.ts +0 -52
  1090. package/dist/api-CIEDFXZs.js +0 -2
  1091. package/dist/api-D_dTQAu8.js +0 -2
  1092. package/dist/api-DilBjZ9Q.js +0 -6
  1093. package/dist/api-E5zoQMmh.js +0 -134
  1094. package/dist/api-OJZug8gQ.js +0 -639
  1095. package/dist/apply-C0eV5T0O.js +0 -41
  1096. package/dist/apply-alsYvxLE.js +0 -54
  1097. package/dist/approval-handler.runtime-C6jqZXSN.js +0 -130
  1098. package/dist/assistant-DDXnAAB5.js +0 -291
  1099. package/dist/attachment-normalize-Cv-_4DWU.js +0 -225
  1100. package/dist/attempt-execution-DECEU59r.js +0 -558
  1101. package/dist/attempt-execution.runtime-kasMxuER.js +0 -3
  1102. package/dist/attempt-execution.shared-ClUxk52p.js +0 -38
  1103. package/dist/attempt.prompt-helpers-Bxlv9VSu.js +0 -475
  1104. package/dist/attempt.tool-run-context-CplQWX6g.js +0 -2094
  1105. package/dist/binding-routing-0Obpp-Ij.js +0 -113
  1106. package/dist/binding-targets-CZHQaZL4.js +0 -121
  1107. package/dist/bot-BPbQ0840.js +0 -7894
  1108. package/dist/bot-deps-Cs1M9USs.js +0 -2
  1109. package/dist/bot-deps-xAcaOtTZ.js +0 -747
  1110. package/dist/bot-message-context.runtime-Bji78Cbn.js +0 -7
  1111. package/dist/bot-message-context.session.runtime-C3dyOIYH.js +0 -12
  1112. package/dist/bot-native-commands.delivery.runtime-WshH99fy.js +0 -4
  1113. package/dist/bot-native-commands.runtime-C1L364gU.js +0 -13
  1114. package/dist/bridge-server-DPlM8_Lk.js +0 -113
  1115. package/dist/browser-cli-DFNQE98N.js +0 -230
  1116. package/dist/browser-cli-Drb5E5--.js +0 -2
  1117. package/dist/browser-cli-actions-input-Dx-1OXmE.js +0 -473
  1118. package/dist/browser-cli-actions-observe-BMDfE7xU.js +0 -81
  1119. package/dist/browser-cli-debug-nu7Ih09g.js +0 -137
  1120. package/dist/browser-cli-inspect-D5X2wohg.js +0 -104
  1121. package/dist/browser-cli-manage-DkzYwph4.js +0 -443
  1122. package/dist/browser-cli-resize-B30Avedl.js +0 -26
  1123. package/dist/browser-cli-shared-cMgQoQzF.js +0 -50
  1124. package/dist/browser-cli-state-CQLDvDy7.js +0 -337
  1125. package/dist/browser-control-auth-D7ArmHUt.js +0 -2
  1126. package/dist/browser-profiles-B39SIZNb.js +0 -2
  1127. package/dist/browser-runtime-DUbSAOOS.js +0 -384
  1128. package/dist/build-D25KqC92.js +0 -257
  1129. package/dist/call-BAWIPJo2.d.ts +0 -43
  1130. package/dist/capability-cli-CuyXrlAB.js +0 -1782
  1131. package/dist/channel-0N3YGMGg.js +0 -1496
  1132. package/dist/channel-1UyKoLyp.js +0 -481
  1133. package/dist/channel-B6YcNFXw.d.ts +0 -104
  1134. package/dist/channel-BG87pSEW.js +0 -740
  1135. package/dist/channel-BPGSaZW7.js +0 -1249
  1136. package/dist/channel-BQMPh1J_.js +0 -376
  1137. package/dist/channel-Bd_8V6zn.js +0 -1134
  1138. package/dist/channel-BdhbzWTg.d.ts +0 -427
  1139. package/dist/channel-Bkp8v6zY.d.ts +0 -14
  1140. package/dist/channel-BoK62YYe.d.ts +0 -49
  1141. package/dist/channel-BtBjh_ij.js +0 -362
  1142. package/dist/channel-C10lHKrC.d.ts +0 -47
  1143. package/dist/channel-CZrble5P.d.ts +0 -8
  1144. package/dist/channel-CpFBlVH6.js +0 -562
  1145. package/dist/channel-CwuTrIrF.js +0 -508
  1146. package/dist/channel-Cxl4sJA-.js +0 -1777
  1147. package/dist/channel-D-VfU4Z2.js +0 -2126
  1148. package/dist/channel-D8X4fgB9.d.ts +0 -106
  1149. package/dist/channel-D9LDQOYt.d.ts +0 -8
  1150. package/dist/channel-D9q8aYrN.js +0 -867
  1151. package/dist/channel-DKSvVvZh.js +0 -238
  1152. package/dist/channel-DVGMasO6.d.ts +0 -7
  1153. package/dist/channel-Djgm5DE9.d.ts +0 -64
  1154. package/dist/channel-Dl4eeuJ3.d.ts +0 -114
  1155. package/dist/channel-DpQ6_cvo.d.ts +0 -8
  1156. package/dist/channel-DvoFfWLx.js +0 -808
  1157. package/dist/channel-GktTcGHm.js +0 -955
  1158. package/dist/channel-JqEqZ04S.d.ts +0 -6
  1159. package/dist/channel-actions.runtime-CKcRA0GW.js +0 -265
  1160. package/dist/channel-core-CbkDdNXh.d.ts +0 -6
  1161. package/dist/channel-core-nm8s1qFZ.js +0 -5
  1162. package/dist/channel-d3t2ESlE.js +0 -653
  1163. package/dist/channel-entry-contract-DUSF3gce.d.ts +0 -112
  1164. package/dist/channel-hShoCuAc.d.ts +0 -12
  1165. package/dist/channel-inbound-DKz40dq-.js +0 -80
  1166. package/dist/channel-pIMjOo6Y.d.ts +0 -28
  1167. package/dist/channel-plugin-runtime-Cg67QAiE.d.ts +0 -7
  1168. package/dist/channel-plugin-runtime-DKIGZWfW.js +0 -998
  1169. package/dist/channel-runtime-Bh8_GY12.js +0 -408
  1170. package/dist/channel-uP-mo8Q6.d.ts +0 -7
  1171. package/dist/channel-whyHp4eY.d.ts +0 -26
  1172. package/dist/channel-yQ8jCOb9.js +0 -1556
  1173. package/dist/channel.runtime-BG4mM5cQ.js +0 -652
  1174. package/dist/channel.runtime-BS6PyFFa.js +0 -1008
  1175. package/dist/channel.runtime-CE_xECqN.js +0 -88
  1176. package/dist/channel.runtime-Cd1Sw8U4.js +0 -254
  1177. package/dist/channel.runtime-DIq3XOEe.js +0 -733
  1178. package/dist/channel.runtime-Dy1cx35I.js +0 -21009
  1179. package/dist/channel.runtime-NyIMjLnP.js +0 -109
  1180. package/dist/channel.runtime-Zx5mfE2V.js +0 -4
  1181. package/dist/channel.runtime-rJRibGfN.js +0 -2528
  1182. package/dist/channel.setup--4ACadmF.js +0 -10
  1183. package/dist/channel.setup-BMXb23G7.d.ts +0 -6
  1184. package/dist/channel.setup-BdEXf9Ic.d.ts +0 -8
  1185. package/dist/channel.setup-DzwqIlo3.js +0 -1098
  1186. package/dist/channel.setup-FKYSJwXR.js +0 -343
  1187. package/dist/channel.setup-UZjcpncE.d.ts +0 -7
  1188. package/dist/chat-CKxSm7r1.js +0 -2666
  1189. package/dist/chrome-rMubJwRG.js +0 -1503
  1190. package/dist/cli-CbTod55I.js +0 -1341
  1191. package/dist/cli-DYinYyHP.d.ts +0 -20
  1192. package/dist/cli-backend-CSCGROD2.d.ts +0 -5
  1193. package/dist/cli-backend-DmBwqwqy.d.ts +0 -5
  1194. package/dist/cli-compaction-BbHgjJyW.js +0 -347
  1195. package/dist/cli-metadata-DkOWLC_p.js +0 -22
  1196. package/dist/cli-runner-Cwzv_RKf.js +0 -540
  1197. package/dist/cli-runner-DdnUsgPl.js +0 -2
  1198. package/dist/cli-runner.runtime-BlrSgbEW.js +0 -3
  1199. package/dist/cli-runner.runtime-D8kVfvFH.js +0 -4
  1200. package/dist/cli-shared-CXpra3BN.d.ts +0 -20
  1201. package/dist/client-ClvxsWgL.js +0 -650
  1202. package/dist/client-adapter-CsrIIjK1.js +0 -897
  1203. package/dist/client-factory-DAYClhwm.js +0 -9
  1204. package/dist/command-auth-CCha2ofd.js +0 -135
  1205. package/dist/command-handlers-DCWJzHyB.js +0 -1609
  1206. package/dist/command-registry-BIf61QNz.js +0 -9
  1207. package/dist/command-registry-DJROBy4h.js +0 -4
  1208. package/dist/command-registry-core-BQOWqi6S.js +0 -110
  1209. package/dist/command-status.runtime-D88CUglL.js +0 -90
  1210. package/dist/commands-CqcnXnk-.d.ts +0 -113
  1211. package/dist/commands-acp-B-8dHX4Z.js +0 -74
  1212. package/dist/commands-compact.runtime-ComX5mUk.js +0 -10
  1213. package/dist/commands-handlers.runtime-DR3wjXHX.js +0 -6154
  1214. package/dist/commands-status-CDyGrwsI.js +0 -3
  1215. package/dist/commands-status-DV-i_ZIK.js +0 -16
  1216. package/dist/commands-status.runtime-CDyGrwsI.js +0 -3
  1217. package/dist/commands-subagents-control.runtime-B029cXAS.js +0 -3
  1218. package/dist/commands-subagents-control.runtime-DR8Qspe0.js +0 -2
  1219. package/dist/commands-system-prompt-C10ctsG3.js +0 -162
  1220. package/dist/commands-system-prompt-DQlRWwnk.js +0 -2
  1221. package/dist/commands.runtime-BYmIAuN0.js +0 -176
  1222. package/dist/compact-14Ljaaeu.js +0 -480
  1223. package/dist/compact-B--ovdkx.js +0 -1141
  1224. package/dist/compact.runtime-E0Idf2Dq.js +0 -12
  1225. package/dist/completion-cli-DMvvQGSk.js +0 -315
  1226. package/dist/computer-use-CcLwX5SR.js +0 -367
  1227. package/dist/config-B39SIZNb.js +0 -2
  1228. package/dist/config-D4rsGOyV.js +0 -373
  1229. package/dist/config-mutations-CsI3YJu7.js +0 -159
  1230. package/dist/config-schema-Bqr7vPys.d.ts +0 -20
  1231. package/dist/context-engine-host-compat-BZpDFiMJ.js +0 -2
  1232. package/dist/context-engine-host-compat-runUdES5.js +0 -288
  1233. package/dist/context-engine-lifecycle-D6odtNrn.js +0 -1274
  1234. package/dist/contracts-testkit-DQ4aMv6G.d.ts +0 -145
  1235. package/dist/control-auth-BPGpPtfz.js +0 -114
  1236. package/dist/control-service-C-OmdPCe.js +0 -145
  1237. package/dist/control-ui/assets/agents-GeyOHPuW.js +0 -1008
  1238. package/dist/control-ui/assets/channel-config-extras-D7en6iUg.js +0 -2
  1239. package/dist/control-ui/assets/channels-DkEyr1w5.js +0 -367
  1240. package/dist/control-ui/assets/cron-C-wThQ1Q.js +0 -1013
  1241. package/dist/control-ui/assets/debug-83AFRtIX.js +0 -97
  1242. package/dist/control-ui/assets/index-CiGEhMOA.js +0 -7370
  1243. package/dist/control-ui/assets/instances-CVl0t-1h.js +0 -57
  1244. package/dist/control-ui/assets/logs-eybVEXxg.js +0 -74
  1245. package/dist/control-ui/assets/nodes-C_A7eoU2.js +0 -436
  1246. package/dist/control-ui/assets/sessions-Cq4Nc69u.js +0 -399
  1247. package/dist/control-ui/assets/skills-ZN6hroIh.js +0 -314
  1248. package/dist/control-ui/assets/skills-shared-DIWGwmdC.js +0 -11
  1249. package/dist/conversation-binding-runtime-C2U1JElL.js +0 -4
  1250. package/dist/conversation-runtime-NmIUd3Zu.js +0 -31
  1251. package/dist/core-DGKJP1dm.js +0 -282
  1252. package/dist/core-DIQ0fbwp.d.ts +0 -224
  1253. package/dist/core-api-1fA4sNeC.js +0 -5
  1254. package/dist/core-api-BY822Quq.js +0 -2
  1255. package/dist/crestodian-Bp-NXiBC.js +0 -55
  1256. package/dist/daocore-runtime-JsdCNe3l.d.ts +0 -151
  1257. package/dist/daocore-tools-Defpam0j.js +0 -11727
  1258. package/dist/delivery-CEdVAUGB.js +0 -1002
  1259. package/dist/dialogue-CZ69INPq.js +0 -37
  1260. package/dist/dir-fetch-tool-BCicHhQE.js +0 -565
  1261. package/dist/dir-list-tool-Cv_WktsJ.js +0 -100
  1262. package/dist/direct-dm-Bz89rM8x.js +0 -64
  1263. package/dist/directive-handling.fast-lane-DDnbcc5S.js +0 -68
  1264. package/dist/directive-handling.impl-B0H52Ymr.js +0 -818
  1265. package/dist/directive-handling.impl-CgKpwEW-.js +0 -2
  1266. package/dist/directive-handling.model-selection-_cXAr0vt.js +0 -122
  1267. package/dist/directive-handling.persist.runtime-Dw0mfzXT.js +0 -263
  1268. package/dist/dispatch-C3AeYvyP.js +0 -1640
  1269. package/dist/dispatch-acp-transcript.runtime-CP8pqBwS.js +0 -40
  1270. package/dist/dispatch-acp.runtime-Cdap-AZI.js +0 -18
  1271. package/dist/doctor-BZwVH97p.js +0 -2
  1272. package/dist/doctor-BfkGBii1.js +0 -6
  1273. package/dist/doctor-config-flow-D3JASGDt.js +0 -1741
  1274. package/dist/doctor-core-checks-DH5AIT0Q.js +0 -573
  1275. package/dist/doctor-core-checks-DiNu7VSh.js +0 -2
  1276. package/dist/doctor-health-BDIJ-Nro.js +0 -65
  1277. package/dist/doctor-health-contributions-BgmF7w8X.js +0 -696
  1278. package/dist/doctor-lint-uIxkMUSO.js +0 -94
  1279. package/dist/doctor-state-integrity-ws1b_BGk.js +0 -1231
  1280. package/dist/doctor-update-Cx4CqxaX.js +0 -58
  1281. package/dist/dynamic-tools-DiqOxhJh.js +0 -486
  1282. package/dist/embedded-backend-C634irMl.js +0 -579
  1283. package/dist/embedded-gateway-stub.runtime-CCfrTOeN.js +0 -12
  1284. package/dist/embedding-provider-56qUY6a4.d.ts +0 -16
  1285. package/dist/embedding-provider-CfSvDhLk.d.ts +0 -65
  1286. package/dist/embedding-provider-DV9KtS1H.d.ts +0 -21
  1287. package/dist/exec-approvals-D85KThSg.js +0 -149
  1288. package/dist/file-fetch-tool-BERaGYCT.js +0 -124
  1289. package/dist/file-write-tool-BjHrMyfe.js +0 -127
  1290. package/dist/format-DE9PuPg1.js +0 -1145
  1291. package/dist/gateway-cli-B5hjhbUy.js +0 -435
  1292. package/dist/gateway-method-runtime-Bu0E9Eki.js +0 -21
  1293. package/dist/gateway-runtime-COtKzRqi.d.ts +0 -163
  1294. package/dist/gemini-cli-provider-BQgviROv.d.ts +0 -6
  1295. package/dist/get-reply-6PtPz9hv.js +0 -4689
  1296. package/dist/get-reply-from-config.runtime-CwprvhoR.js +0 -2
  1297. package/dist/graph-users-DUp1kgnS.js +0 -1419
  1298. package/dist/group-access-D5GBQ3w6.js +0 -112
  1299. package/dist/handle-action.guild-admin-CA0Y-buD.js +0 -288
  1300. package/dist/harness-B5nOFVfm.js +0 -61
  1301. package/dist/health-D5heIDj3.js +0 -4
  1302. package/dist/heartbeat-runner-BzFkIFHh.js +0 -5
  1303. package/dist/heartbeat-runner.runtime-p6H1_xMV.js +0 -4
  1304. package/dist/hooks-BvTyQ14X.js +0 -534
  1305. package/dist/http-registry-Yo_NvKls.d.ts +0 -23
  1306. package/dist/image-generation-runtime-BIAvq6jv.d.ts +0 -21
  1307. package/dist/inbound-direct-dm-runtime-DwiDXi8L.js +0 -2
  1308. package/dist/inbound-reply-dispatch-YoDUOC6C.js +0 -148
  1309. package/dist/index-7GMgTC5k.d.ts +0 -3971
  1310. package/dist/init-CPtcV5Xu.js +0 -59
  1311. package/dist/inline-buttons-DeD5d42c.js +0 -40
  1312. package/dist/interactive-dispatch-ChuCQxzf.d.ts +0 -56
  1313. package/dist/interactive-dispatch-DY_jVu-V.d.ts +0 -143
  1314. package/dist/internal-events-DEb50Sw3.js +0 -90
  1315. package/dist/isolated-agent-CcxFFZ-Z.js +0 -1118
  1316. package/dist/isolated-agent-CpHzq5qr.js +0 -2
  1317. package/dist/lifecycle-DNel-oMe.js +0 -571
  1318. package/dist/list.probe-DCa3N25d.js +0 -449
  1319. package/dist/list.status-command-CyeAJmZW.js +0 -789
  1320. package/dist/llm-slug-generator-CyqTY37Z.js +0 -78
  1321. package/dist/loader-C-JyPvyF.d.ts +0 -142
  1322. package/dist/local-dispatch.runtime-nE39kFIP.js +0 -9
  1323. package/dist/manager-CknaUr2b.d.ts +0 -356
  1324. package/dist/manager.runtime-CpAPB8D5.js +0 -2714
  1325. package/dist/markdown-to-line-Ci6TRmoZ.js +0 -811
  1326. package/dist/mcp-http-BR0vmxFL.js +0 -2
  1327. package/dist/mcp-http-C0oniA8h.js +0 -555
  1328. package/dist/media-understanding-provider-BwA0XqC3.js +0 -339
  1329. package/dist/memory-core-host-engine-storage-izjrNFNA.d.ts +0 -54
  1330. package/dist/memory-embedding-adapter-B3WLPdKc.d.ts +0 -5
  1331. package/dist/message-actions-C9C_Ngkd.js +0 -145
  1332. package/dist/message-handler-CUUKPC5n.js +0 -384
  1333. package/dist/message-handler-xRTfIXWV.js +0 -1715
  1334. package/dist/message-handler.preflight-Ch2Q7V3M.js +0 -1125
  1335. package/dist/message-handler.process-HM3mK93q.js +0 -1484
  1336. package/dist/migration-DVKbowM8.d.ts +0 -45
  1337. package/dist/model-BSBoLWjJ.d.ts +0 -33
  1338. package/dist/model-CB8Ex5xS.js +0 -74
  1339. package/dist/model-selection-2s0Dinux.js +0 -272
  1340. package/dist/models-BvEw11kE.d.ts +0 -24
  1341. package/dist/models-Cn-6DJ41.js +0 -2
  1342. package/dist/models-CzszJD__.js +0 -104
  1343. package/dist/models-cli-CbhElnA5.js +0 -256
  1344. package/dist/monitor-7aprTsMV.js +0 -715
  1345. package/dist/monitor-BuVhqwDS.js +0 -1370
  1346. package/dist/monitor-C4H_YkgY.js +0 -2
  1347. package/dist/monitor-CPQsMxgv.js +0 -1657
  1348. package/dist/monitor-Ce0V1PiR.js +0 -4377
  1349. package/dist/monitor-D0bcGJWI.js +0 -60
  1350. package/dist/monitor-DEjlJqzh.js +0 -834
  1351. package/dist/monitor-auth-DjJZsjgV.js +0 -179
  1352. package/dist/monitor-ikSYagv3.js +0 -2788
  1353. package/dist/monitor-polling.runtime-D7yEflMM.js +0 -883
  1354. package/dist/monitor-webhook.runtime-CIZt-biI.js +0 -387
  1355. package/dist/monitor.account-C2sMOBCS.js +0 -5233
  1356. package/dist/monitor.runtime-BAi6zmcn.js +0 -2
  1357. package/dist/monitor.webhook-BcjpfRCX.js +0 -180
  1358. package/dist/node-cli-sessions-CIhkJRU4.js +0 -1228
  1359. package/dist/openai-codex-provider-C48t8ka8.d.ts +0 -5
  1360. package/dist/openai-http-Dj21RwSj.js +0 -824
  1361. package/dist/openai-provider-Df75q4KM.d.ts +0 -5
  1362. package/dist/openresponses-http-COnnr1ox.js +0 -1173
  1363. package/dist/operations-H3vUh0lM.js +0 -805
  1364. package/dist/outbound-adapter-WLtWE7wv.js +0 -543
  1365. package/dist/outbound-session-route-CZtd64EH.js +0 -45
  1366. package/dist/outbound.runtime-D98P0sN1.js +0 -2
  1367. package/dist/pi-embedded-BWJzd4mK.js +0 -4
  1368. package/dist/pi-embedded-DeNsSqQQ.js +0 -3796
  1369. package/dist/pi-embedded.runtime-CZnNwFpc.js +0 -4
  1370. package/dist/pi-tools-CNHSpjBa.js +0 -2413
  1371. package/dist/plan-B0reFFlM.js +0 -81
  1372. package/dist/plan-CrfF-TH8.js +0 -112
  1373. package/dist/plugin-DI_8eYOe.js +0 -12396
  1374. package/dist/plugin-DMYsMKAW.d.ts +0 -17
  1375. package/dist/plugin-app-cache-key-WaTUD3e-.js +0 -46
  1376. package/dist/plugin-enabled-aWLXgGGi.js +0 -233
  1377. package/dist/plugin-entry-DwVZtdM9.d.ts +0 -47
  1378. package/dist/plugin-registration-ByjRIVJm.js +0 -88
  1379. package/dist/plugin-runtime-Dx9WRWX8.d.ts +0 -117
  1380. package/dist/plugin-service-VQm_241d.js +0 -1229
  1381. package/dist/plugin-service-mHunWjlo.d.ts +0 -24
  1382. package/dist/policy-BmJH-swe.js +0 -680
  1383. package/dist/policy-DE-bO1zn.js +0 -138
  1384. package/dist/prepare.runtime-bSj3-res.js +0 -732
  1385. package/dist/preview-warnings-CbuGYsF9.js +0 -392
  1386. package/dist/probe-C_rWg7_m.js +0 -682
  1387. package/dist/probe-CagOFfx6.js +0 -2
  1388. package/dist/probe-thX1HqOh.js +0 -2204
  1389. package/dist/probe-zU6B6gFt.js +0 -47
  1390. package/dist/program-BtVdH743.js +0 -131
  1391. package/dist/prompt-overlay-D0r0EA6z.d.ts +0 -23
  1392. package/dist/provider-CDoD7tO0.js +0 -8735
  1393. package/dist/provider-CK1gMdJ2.js +0 -32
  1394. package/dist/provider-DJqr9djy.js +0 -32
  1395. package/dist/provider-DsOJp5bK.js +0 -152
  1396. package/dist/provider-api-key-auth-2Fp25hP8.d.ts +0 -27
  1397. package/dist/provider-auth-result-mIg6RY-l.d.ts +0 -21
  1398. package/dist/provider-catalog-runtime-B7e02aat.d.ts +0 -23
  1399. package/dist/provider-catalog-shared-D0mIMF1C.d.ts +0 -62
  1400. package/dist/provider-dispatcher-UNQ-LSx9.js +0 -22
  1401. package/dist/provider-hook-runtime-CrtHxgL6.d.ts +0 -61
  1402. package/dist/provider-model-shared-BESf3jvo.d.ts +0 -143
  1403. package/dist/provider-models-B6wofKVD.d.ts +0 -12
  1404. package/dist/provider-policy-0JjxJfxh.d.ts +0 -30
  1405. package/dist/provider-registration-O7mvATZX.d.ts +0 -6
  1406. package/dist/provider-registry-CtFVQxwM.d.ts +0 -8
  1407. package/dist/provider-registry-DZxCJHb2.d.ts +0 -8
  1408. package/dist/provider-registry-DcUASGbX.d.ts +0 -30
  1409. package/dist/provider-runtime-CrrstiDP.d.ts +0 -359
  1410. package/dist/provider-self-hosted-setup-DKlGE8A7.d.ts +0 -74
  1411. package/dist/provider-session.runtime-DMrkMb4x.js +0 -9
  1412. package/dist/provider-stream-C2vPdKh5.d.ts +0 -140
  1413. package/dist/provider-stream-shared-CslVTt39.d.ts +0 -128
  1414. package/dist/provider.runtime-C2-t3zm8.js +0 -2
  1415. package/dist/providers.runtime-CHPPEG1J.d.ts +0 -25
  1416. package/dist/public-surface-loader-hTeyyHcd.js +0 -114
  1417. package/dist/pw-ai-BaL3eVYx.js +0 -3029
  1418. package/dist/pw-role-snapshot-DKeBqhN1.js +0 -333
  1419. package/dist/reaction-level-BV2potsD.js +0 -19
  1420. package/dist/reaction-runtime-api-CCBxgM10.js +0 -116
  1421. package/dist/realtime-transcription-Brox5yj7.d.ts +0 -43
  1422. package/dist/realtime-transcription-provider-B9DWwCuO.d.ts +0 -32
  1423. package/dist/realtime-transcription-provider-CGhoGie3.d.ts +0 -28
  1424. package/dist/realtime-transcription-provider-CHYtIXZm.js +0 -205
  1425. package/dist/realtime-transcription-provider-Dau7Zk9V.d.ts +0 -37
  1426. package/dist/realtime-transcription-provider-WgtPbRJc.d.ts +0 -5
  1427. package/dist/realtime-voice-C5Xiylos.d.ts +0 -333
  1428. package/dist/realtime-voice-provider-DUPM9wyW.d.ts +0 -5
  1429. package/dist/register-BJf28G9B.js +0 -2178
  1430. package/dist/register.agent-oXAHwNQv.js +0 -156
  1431. package/dist/register.crestodian-CQ0sqdV2.js +0 -24
  1432. package/dist/register.maintenance-CylVRs5M.js +0 -83
  1433. package/dist/register.runtime-BcgdXzLA.d.ts +0 -6
  1434. package/dist/register.runtime-CcDgwy0X.js +0 -54
  1435. package/dist/register.subclis-CpBYNw2X.js +0 -3
  1436. package/dist/register.subclis-N2CvieOL.js +0 -31
  1437. package/dist/register.subclis-core-BHaGvbzg.js +0 -273
  1438. package/dist/registry-DnnBulh_.d.ts +0 -91
  1439. package/dist/registry-types-BQ26lhRo.d.ts +0 -392
  1440. package/dist/repair-sequencing-EBBnBdIB.js +0 -640
  1441. package/dist/reply-delivery-BLoPALlI.js +0 -196
  1442. package/dist/reply-runtime-D4asNTSa.js +0 -11
  1443. package/dist/reply.runtime-CwprvhoR.js +0 -2
  1444. package/dist/request-DlWPRUDt.js +0 -54
  1445. package/dist/resolve-allowlist-BukQf58x.js +0 -220
  1446. package/dist/result-fallback-classifier-DyHFnqfV.js +0 -79
  1447. package/dist/route-BMf4keN5.js +0 -469
  1448. package/dist/route-resolution-DWNi1QAu.js +0 -274
  1449. package/dist/routes-C20LC8c4.js +0 -3602
  1450. package/dist/routes-CkK7Vv_m.js +0 -2
  1451. package/dist/run-KDF_AEza.js +0 -1162
  1452. package/dist/run-attempt-JHYCfonU.js +0 -7704
  1453. package/dist/run-command-3PVihYIy.js +0 -2
  1454. package/dist/run-command-QHAXnyKY.js +0 -23
  1455. package/dist/run-embedded.runtime-BJw-2vss.js +0 -4
  1456. package/dist/run-execution-cli.runtime-GHClMn2g.js +0 -4
  1457. package/dist/run-subagent-registry.runtime-BLLMrhtE.js +0 -2
  1458. package/dist/runtime-C2u-dC1r.js +0 -1287
  1459. package/dist/runtime-ClyfkDWT.js +0 -6179
  1460. package/dist/runtime-WXCarlPc.js +0 -438
  1461. package/dist/runtime-api-3QhGLpZf.js +0 -13
  1462. package/dist/runtime-api-DRAu3mjv.js +0 -4
  1463. package/dist/runtime-api-JE07pOem.js +0 -13
  1464. package/dist/runtime-api-JuKylHvw.js +0 -24
  1465. package/dist/runtime-api-bcbk4yax.js +0 -21
  1466. package/dist/runtime-api-dDe9U2_V.js +0 -17
  1467. package/dist/runtime-api-uMexLqGS.js +0 -3
  1468. package/dist/runtime-api.actions-Bo7TLDFl.js +0 -3
  1469. package/dist/runtime-api.monitor-7q78L1Em.js +0 -6
  1470. package/dist/runtime-api.send-Bf9RR4nV.js +0 -4
  1471. package/dist/runtime-api.threads-Dj2QuhHj.js +0 -2
  1472. package/dist/runtime-channel-k1C0Satl.js +0 -2
  1473. package/dist/runtime-channel-qt9t0J-J.js +0 -150
  1474. package/dist/runtime-embedded-pi.runtime-BPB9NlTS.js +0 -2
  1475. package/dist/runtime-taskflow-Co1PrqbP.d.ts +0 -435
  1476. package/dist/sanitize-outbound-BLH_SQvg.js +0 -127
  1477. package/dist/sdk-setup-tools-BshlBPau.js +0 -8
  1478. package/dist/secrets-CsHXv7d3.js +0 -113
  1479. package/dist/security-audit-CUXBQXNX.js +0 -122
  1480. package/dist/security-audit-CzdXbRma.js +0 -118
  1481. package/dist/security-audit.runtime-Ca0FMFJG.js +0 -2
  1482. package/dist/selection-BmvQJlSD.js +0 -3
  1483. package/dist/selection-BplDXc9w.js +0 -16157
  1484. package/dist/send--qFg8a9v.js +0 -1631
  1485. package/dist/send-BPdryPPA.js +0 -192
  1486. package/dist/send-Bl4YaRkS.js +0 -143
  1487. package/dist/send-Ccm7RMXC.js +0 -2
  1488. package/dist/send.components-c3OUPSmR.js +0 -2
  1489. package/dist/send.components-rhQJYoXs.js +0 -500
  1490. package/dist/send.runtime-dfUkAp5d.js +0 -2
  1491. package/dist/server-DRhyTMLe.js +0 -73
  1492. package/dist/server-Dv4BzjGn.js +0 -24
  1493. package/dist/server-context-4HRJy2vp.js +0 -955
  1494. package/dist/server-context-DlxYb1G5.js +0 -2
  1495. package/dist/server-cron-Bt8Pkc3i.js +0 -2989
  1496. package/dist/server-cron-CtNWsa4Z.js +0 -2
  1497. package/dist/server-methods-rye_okUW.js +0 -16494
  1498. package/dist/server-node-events-C1yZ5a1u.js +0 -596
  1499. package/dist/server-plugin-bootstrap-DUMyVtlP.js +0 -70
  1500. package/dist/server-plugins-B5ZWWkRE.js +0 -432
  1501. package/dist/server-reload-handlers-CTnMXNjT.js +0 -714
  1502. package/dist/server-restart-sentinel-CAYxtwmY.js +0 -747
  1503. package/dist/server-restart-sentinel-DqrtSIvy.js +0 -2
  1504. package/dist/server-runtime-services-CuptQTe5.js +0 -2
  1505. package/dist/server-runtime-services-aaS2IiW3.js +0 -267
  1506. package/dist/server-startup-plugins-D0ymJgQT.js +0 -113
  1507. package/dist/server-startup-post-attach-DlrN2uyt.js +0 -716
  1508. package/dist/server-ws-runtime-CdpLbv4o.js +0 -349
  1509. package/dist/server.impl-Cb4qcMTg.js +0 -2586
  1510. package/dist/service-qxvDlMQE.js +0 -1446
  1511. package/dist/session-binding-6bLobLHL.js +0 -219
  1512. package/dist/session-binding-Bm6fCpoY.js +0 -2
  1513. package/dist/session-kill-http-B6WjVo8V.js +0 -121
  1514. package/dist/session-reset-service-GUVIhxp4.js +0 -625
  1515. package/dist/session-route-BcRDnvzG.js +0 -93
  1516. package/dist/session-status.runtime-BcjOunV4.js +0 -2
  1517. package/dist/session-subagent-reactivation.runtime-BSmk_KYn.js +0 -2
  1518. package/dist/session-tab-registry-BBYzbSOu.js +0 -521
  1519. package/dist/sessions-history-http-bLJJfgLm.js +0 -430
  1520. package/dist/sessions.runtime-DNRtQzCk.js +0 -2
  1521. package/dist/setup-api-CcolVVJs.js +0 -29
  1522. package/dist/setup-core-eJD18F3B.js +0 -174
  1523. package/dist/setup-surface-B75C2Qtz.js +0 -221
  1524. package/dist/setup-surface-CFuPfVHp.js +0 -405
  1525. package/dist/setup-surface-Dyy-Mzyz.js +0 -288
  1526. package/dist/setup-surface-ZsVF_g8W.js +0 -320
  1527. package/dist/shared-2-FiBN51.d.ts +0 -115
  1528. package/dist/shared-BkCNrcLX.js +0 -121
  1529. package/dist/shared-client-B7zqC9p2.js +0 -2
  1530. package/dist/shared-client-yXjKgZBz.js +0 -629
  1531. package/dist/side-question-DU3gESCb.js +0 -683
  1532. package/dist/simple-completion-runtime-JMnVclQ6.d.ts +0 -73
  1533. package/dist/skill-tool-dispatch.runtime-CPBuqyvk.js +0 -143
  1534. package/dist/slash-state-Do3bAahA.js +0 -2166
  1535. package/dist/speech-CmQkc7zi.d.ts +0 -47
  1536. package/dist/speech-core-CVkLGUxG.d.ts +0 -36
  1537. package/dist/speech-provider-B73iu4fH.d.ts +0 -5
  1538. package/dist/speech-provider-BEBH8vyF.d.ts +0 -34
  1539. package/dist/speech-provider-Bg9los3C.js +0 -184
  1540. package/dist/speech-provider-BhCRdoMK.d.ts +0 -8
  1541. package/dist/speech-provider-Cf1PVMAj.d.ts +0 -8
  1542. package/dist/speech-provider-DdEPWhuR.d.ts +0 -5
  1543. package/dist/speech-provider-ECom8JiZ.d.ts +0 -5
  1544. package/dist/src-D7LzUctH.js +0 -4256
  1545. package/dist/startup-context-CCF2gIOl.js +0 -313
  1546. package/dist/status-subagents.runtime-DX5FTymp.js +0 -18
  1547. package/dist/status-text-B-1u5dSV.js +0 -296
  1548. package/dist/sticker-cache-DwpU_9RJ.js +0 -206
  1549. package/dist/sticker-vision.runtime-Bbldi_YL.js +0 -17
  1550. package/dist/stream-CYHgCxMh.d.ts +0 -5
  1551. package/dist/stream-D8Ytt_tB.d.ts +0 -120
  1552. package/dist/stream-DX9I-gkW.d.ts +0 -19
  1553. package/dist/stream-DjL6Gw2C.d.ts +0 -16
  1554. package/dist/stream-m7GKt3W2.d.ts +0 -10
  1555. package/dist/stream-wrappers-UyEQes6p.d.ts +0 -21
  1556. package/dist/subagent-announce-BCo0VHVL.js +0 -354
  1557. package/dist/subagent-announce-delivery-JcnuDN_N.js +0 -958
  1558. package/dist/subagent-control-BzbA3Suz.js +0 -508
  1559. package/dist/subagent-hooks-BIGZQWrG.js +0 -2
  1560. package/dist/subagent-hooks-Bj4qYZfv.js +0 -230
  1561. package/dist/subagent-hooks-C-rvhVBv.js +0 -2
  1562. package/dist/subagent-hooks-P01_AFl5.js +0 -116
  1563. package/dist/subagent-hooks-VEfak8nl.js +0 -2
  1564. package/dist/subagent-hooks-api-BPnSxxN4.js +0 -23
  1565. package/dist/subagent-hooks-api-DwIAvMoS.js +0 -22
  1566. package/dist/subagent-hooks-api-kgyR9FOb.js +0 -23
  1567. package/dist/subagent-hooks-oED56wqq.js +0 -146
  1568. package/dist/subagent-orphan-recovery-D79ZzwKN.js +0 -352
  1569. package/dist/subagent-registry-D0soBT5j.js +0 -2351
  1570. package/dist/subagent-registry-DRJDkmty.js +0 -3
  1571. package/dist/subagent-session-cleanup-9eAO1aJe.js +0 -525
  1572. package/dist/subagent-spawn-D80vbogm.js +0 -1164
  1573. package/dist/target-id-COLv5LsJ.js +0 -107
  1574. package/dist/targets-CDW5IQ6a.js +0 -44
  1575. package/dist/targets-Ci6O1ZdP.js +0 -19
  1576. package/dist/targets-CsaWFBg1.js +0 -19
  1577. package/dist/targets-D-0Biv4s.d.ts +0 -10
  1578. package/dist/targets-S-Pmze3w.d.ts +0 -10
  1579. package/dist/testing-BoJit-h1.js +0 -267
  1580. package/dist/thinking-policy-B31-nCQk.d.ts +0 -5
  1581. package/dist/thread-bindings-CGCvw0KT.js +0 -571
  1582. package/dist/thread-bindings-ClCTNacX.js +0 -228
  1583. package/dist/thread-bindings-DRb7BMZ6.js +0 -8
  1584. package/dist/thread-bindings-Xc6smav0.js +0 -232
  1585. package/dist/thread-bindings.discord-api-DC467oeF.js +0 -187
  1586. package/dist/thread-bindings.manager-C_mpTDIZ.js +0 -536
  1587. package/dist/thread-bindings.manager-DkCRs612.js +0 -2
  1588. package/dist/thread-lifecycle-DpqCXlx9.js +0 -1614
  1589. package/dist/token-CI6HjbTA.js +0 -134
  1590. package/dist/tool-BMe7hjBK.js +0 -139
  1591. package/dist/tool-actions.runtime-D-h5PI_m.js +0 -534
  1592. package/dist/tool-plugin-B9aQw4fj.d.ts +0 -77
  1593. package/dist/tool-resolution-CnLx0CHe.js +0 -149
  1594. package/dist/tool-split-zov3PauL.d.ts +0 -19
  1595. package/dist/tools-effective-inventory-BR6MUMtE.js +0 -204
  1596. package/dist/tools-invoke-http-CTTs2yMT.js +0 -67
  1597. package/dist/tools-invoke-shared-9B1EjXWf.js +0 -200
  1598. package/dist/transport-stream-3OMu_lV2.d.ts +0 -42
  1599. package/dist/tts-eGOviZ5c.js +0 -66
  1600. package/dist/tui-Bw0HqKd7.js +0 -4709
  1601. package/dist/tui-CIZJnPzj.js +0 -2
  1602. package/dist/tui-backend-BJ_r7tcF.js +0 -256
  1603. package/dist/tui-cli-BaSMBpuA.js +0 -37
  1604. package/dist/types-D3enA0Vx.d.ts +0 -786
  1605. package/dist/types-DHSQkzyq2.d.ts +0 -3650
  1606. package/dist/types.public-DHQb4Kl9.d.ts +0 -70
  1607. package/dist/update-cli-zuCybGNR.js +0 -3664
  1608. package/dist/update-runner-Dek2BHmQ.js +0 -2379
  1609. package/dist/video-generation-runtime-Dj060lga.d.ts +0 -21
  1610. package/dist/video-model-catalog-CQ-f89xh.d.ts +0 -16
  1611. package/dist/vision-tools-1ps0BEE5.js +0 -1409
  1612. package/dist/web-search-B7EziZXE.js +0 -62
  1613. package/dist/web-search-provider.runtime-DGTCvGch.js +0 -328
  1614. package/dist/web-search-provider.runtime-DWL5t39M.js +0 -2
  1615. package/dist/webhook-targets-CW4Nl_cq.d.ts +0 -99
  1616. package/dist/xai-oauth-CRtsj2Gs.js +0 -479
  1617. package/dist/xai-user-agent-Dndwzw2S.js +0 -32
  1618. /package/dist/{acp-runtime-backend-DSDBcyh9.js → acp-runtime-backend-Cxo7eBHf.js} +0 -0
  1619. /package/dist/{channel-actions-FV66JqtI.js → channel-actions-UDeVjgGz.js} +0 -0
  1620. /package/dist/{command-status-runtime-BRWKSoG7.js → command-status-runtime-CoHd4Fws.js} +0 -0
  1621. /package/dist/{delegate-DGqKhwB4.js → delegate-B-2xZ77o.js} +0 -0
  1622. /package/dist/{dispatch-acp-Ceoxja_Z.js → dispatch-acp-DLPkmK7K.js} +0 -0
  1623. /package/dist/{heartbeat-runner-CJHvr5pG.js → heartbeat-runner-D2j6JwOI.js} +0 -0
  1624. /package/dist/{library-Bq3aDek_.js → library-DBT0cIPP.js} +0 -0
  1625. /package/dist/{run-executor.runtime-DNJhGPbA.js → run-executor.runtime-DE4J7f4M.js} +0 -0
  1626. /package/dist/{shared-CYxmRpq1.js → shared-xeo8Yh5n.js} +0 -0
@@ -1,1777 +0,0 @@
1
- import { a as normalizeLowercaseStringOrEmpty, s as normalizeOptionalLowercaseString } from "./string-coerce-DyL154ka.js";
2
- import { t as formatDocsLink } from "./links-CM5vg8_V.js";
3
- import { s as hasConfiguredSecretInput } from "./types.secrets-Ct1DNG7D.js";
4
- import { n as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./account-id-B32J-iNN.js";
5
- import { At as boolean, Et as array, Nn as record, Rn as string, Tn as object, Xn as union, Zn as unknown, dn as literal, wn as number, yt as _enum } from "./schemas-Del5uzR8.js";
6
- import { n as ZodIssueCode } from "./compat-bCpUj7Jq.js";
7
- import { r as buildChannelConfigSchema } from "./config-schema-CpJ4LFf2.js";
8
- import { n as getSessionBindingService } from "./session-binding-service-Dt5NxtK1.js";
9
- import { f as renderMessagePresentationFallbackText, l as normalizeMessagePresentation } from "./payload-BDV15CYA.js";
10
- import { i as createLazyRuntimeNamedExport } from "./lazy-runtime-D-7_JraP.js";
11
- import { i as createActionGate } from "./common-vJyw6dD-.js";
12
- import { i as createHybridChannelConfigAdapter, t as adaptScopedAccountAccessor } from "./channel-config-helpers-CQb9YOAn.js";
13
- import "./string-coerce-runtime-DcopKqDR.js";
14
- import { n as describeAccountSnapshot } from "./account-helpers-BEXOONiv.js";
15
- import { i as createChatChannelPlugin, t as buildChannelOutboundSessionRoute, u as stripChannelTargetPrefix } from "./core-DGKJP1dm.js";
16
- import "./channel-core-nm8s1qFZ.js";
17
- import { r as buildSecretInputSchema } from "./secret-input-s8BgZnEq.js";
18
- import { t as formatAllowFromLowercase } from "./allow-from-BsbZfqm-.js";
19
- import { E as projectConfigAccountIdWarningCollector, g as createAllowlistProviderGroupPolicyWarningCollector } from "./channel-policy-Be-Ujzjr.js";
20
- import { t as createChannelDirectoryAdapter } from "./directory-runtime-C8foW0XO.js";
21
- import { n as createRuntimeOutboundDelegates, t as createRuntimeDirectoryLiveAdapter } from "./runtime-forwarders-CJHIfxll.js";
22
- import { t as createSetupTranslator } from "./i18n-Bm-nunfC.js";
23
- import { D as patchTopLevelChannelConfigSection, P as promptSingleChannelSecretInput, Q as splitSetupEntries, v as mergeAllowFromEntries } from "./setup-wizard-helpers-DXfnYF4t.js";
24
- import "./setup-Bk8ieh5V.js";
25
- import { t as resolveApprovalApprovers } from "./approval-approvers-BaAy3FfF.js";
26
- import { t as createResolvedApproverActionAuthAdapter } from "./approval-auth-helpers-DSaKGCWn.js";
27
- import "./outbound-runtime-BWFKdtGY.js";
28
- import "./conversation-runtime-NmIUd3Zu.js";
29
- import { t as chunkTextForOutbound } from "./text-chunking-ObhJDe8L.js";
30
- import "./account-resolution-DvO8jOO3.js";
31
- import { t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-DUsvXiNR.js";
32
- import { d as createDefaultChannelRuntimeState, i as buildProbeChannelStatusSummary, u as createComputedAccountStatusAdapter } from "./status-helpers-nyf_mfYa.js";
33
- import "./channel-status-1yY-1IXP.js";
34
- import "./channel-config-primitives-iidLm0ld.js";
35
- import "./channel-actions-BEsMIO8Q.js";
36
- import { r as defineChannelMessageAdapter } from "./channel-message-YAmKOwAT.js";
37
- import { i as createPairingPrefixStripper } from "./channel-pairing-BQeyBt0a.js";
38
- import { a as parseFeishuTargetId, i as parseFeishuDirectConversationId, n as buildFeishuModelOverrideParentCandidates, r as parseFeishuConversationId, t as buildFeishuConversationId } from "./conversation-id-Cji-1sB1.js";
39
- import { n as looksLikeFeishuId, r as normalizeFeishuTarget } from "./targets-BWH76kck.js";
40
- import { a as resolveDefaultFeishuAccountId, i as listFeishuAccountIds, l as resolveFeishuRuntimeAccount, m as isRecord, n as inspectFeishuCredentials, r as listEnabledFeishuAccounts, s as resolveFeishuAccount } from "./accounts-DJDuqy8d.js";
41
- import { n as createFeishuSendReceipt } from "./send-result-DKtiqFFj.js";
42
- import { n as listFeishuDirectoryPeers, t as listFeishuDirectoryGroups } from "./directory.static-VLgKyqbS.js";
43
- import { t as messageActionTargetAliases } from "./security-audit-SQ9qXJND.js";
44
- import { s as resolveFeishuGroupToolPolicy } from "./policy-C5tobEoo.js";
45
- import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-YxyNboQr.js";
46
- import { t as collectFeishuSecurityAuditFindings } from "./security-audit-shared-K57ciHZV.js";
47
- import { t as resolveFeishuSessionConversation } from "./session-conversation-BLhhm3T0.js";
48
- //#region extensions/feishu/src/approval-auth.ts
49
- function normalizeFeishuApproverId(value) {
50
- const trimmed = normalizeOptionalLowercaseString(normalizeFeishuTarget(String(value)));
51
- return trimmed?.startsWith("ou_") ? trimmed : void 0;
52
- }
53
- const feishuApprovalAuth = createResolvedApproverActionAuthAdapter({
54
- channelLabel: "Feishu",
55
- resolveApprovers: ({ cfg, accountId }) => {
56
- const account = resolveFeishuAccount({
57
- cfg,
58
- accountId
59
- }).config;
60
- return resolveApprovalApprovers({
61
- allowFrom: account.allowFrom,
62
- normalizeApprover: normalizeFeishuApproverId
63
- });
64
- },
65
- normalizeSenderId: (value) => normalizeFeishuApproverId(value)
66
- });
67
- //#endregion
68
- //#region extensions/feishu/src/config-schema.ts
69
- const ChannelActionsSchema = object({ reactions: boolean().optional() }).strict().optional();
70
- const DmPolicySchema = _enum([
71
- "open",
72
- "pairing",
73
- "allowlist"
74
- ]);
75
- const GroupPolicySchema = union([_enum([
76
- "open",
77
- "allowlist",
78
- "disabled"
79
- ]), literal("allowall").transform(() => "open")]);
80
- const FeishuDomainSchema = union([_enum(["feishu", "lark"]), string().url().startsWith("https://")]);
81
- const FeishuConnectionModeSchema = _enum(["websocket", "webhook"]);
82
- const TtsOverrideSchema = object({
83
- auto: _enum([
84
- "off",
85
- "always",
86
- "inbound",
87
- "tagged"
88
- ]).optional(),
89
- enabled: boolean().optional(),
90
- mode: _enum(["final", "all"]).optional(),
91
- provider: string().optional(),
92
- persona: string().optional(),
93
- personas: record(string(), record(string(), unknown())).optional(),
94
- summaryModel: string().optional(),
95
- modelOverrides: record(string(), unknown()).optional(),
96
- providers: record(string(), record(string(), unknown())).optional(),
97
- prefsPath: string().optional(),
98
- maxTextLength: number().int().min(1).optional(),
99
- timeoutMs: number().int().min(1e3).max(12e4).optional()
100
- }).strict().optional();
101
- const ToolPolicySchema = object({
102
- allow: array(string()).optional(),
103
- deny: array(string()).optional()
104
- }).strict().optional();
105
- const DmConfigSchema = object({
106
- enabled: boolean().optional(),
107
- systemPrompt: string().optional()
108
- }).strict().optional();
109
- const MarkdownConfigSchema = object({
110
- mode: _enum([
111
- "native",
112
- "escape",
113
- "strip"
114
- ]).optional(),
115
- tableMode: _enum([
116
- "native",
117
- "ascii",
118
- "simple"
119
- ]).optional()
120
- }).strict().optional();
121
- const RenderModeSchema = _enum([
122
- "auto",
123
- "raw",
124
- "card"
125
- ]).optional();
126
- const StreamingModeSchema = boolean().optional();
127
- const BlockStreamingSchema = boolean().optional();
128
- const BlockStreamingCoalesceSchema = object({
129
- enabled: boolean().optional(),
130
- minDelayMs: number().int().positive().optional(),
131
- maxDelayMs: number().int().positive().optional()
132
- }).strict().optional();
133
- const ChannelHeartbeatVisibilitySchema = object({
134
- visibility: _enum(["visible", "hidden"]).optional(),
135
- intervalMs: number().int().positive().optional()
136
- }).strict().optional();
137
- /**
138
- * Dynamic agent creation configuration.
139
- * When enabled, a new agent is created for each unique DM user.
140
- */
141
- const DynamicAgentCreationSchema = object({
142
- enabled: boolean().optional(),
143
- workspaceTemplate: string().optional(),
144
- agentDirTemplate: string().optional(),
145
- maxAgents: number().int().positive().optional()
146
- }).strict().optional();
147
- /**
148
- * Feishu tools configuration.
149
- * Controls which tool categories are enabled.
150
- *
151
- * Dependencies:
152
- * - wiki requires doc (wiki content is edited via doc tools)
153
- * - perm can work independently but is typically used with drive
154
- */
155
- const FeishuToolsConfigSchema = object({
156
- doc: boolean().optional(),
157
- chat: boolean().optional(),
158
- wiki: boolean().optional(),
159
- drive: boolean().optional(),
160
- perm: boolean().optional(),
161
- scopes: boolean().optional()
162
- }).strict().optional();
163
- /**
164
- * Group session scope for routing Feishu group messages.
165
- * - "group" (default): one session per group chat
166
- * - "group_sender": one session per (group + sender)
167
- * - "group_topic": one session per group topic thread (falls back to group if no topic)
168
- * - "group_topic_sender": one session per (group + topic thread + sender),
169
- * falls back to (group + sender) if no topic
170
- */
171
- const GroupSessionScopeSchema = _enum([
172
- "group",
173
- "group_sender",
174
- "group_topic",
175
- "group_topic_sender"
176
- ]).optional();
177
- /**
178
- * @deprecated Use groupSessionScope instead.
179
- *
180
- * Topic session isolation mode for group chats.
181
- * - "disabled" (default): All messages in a group share one session
182
- * - "enabled": Messages in different topics get separate sessions
183
- *
184
- * Topic routing uses Feishu topic-group `thread_id` when the event identifies a
185
- * native topic group, and keeps `root_id` precedence for normal groups so
186
- * reply-created threads stay on the initiating message session.
187
- */
188
- const TopicSessionModeSchema = _enum(["disabled", "enabled"]).optional();
189
- const ReactionNotificationModeSchema = _enum([
190
- "off",
191
- "own",
192
- "all"
193
- ]).optional();
194
- /**
195
- * Reply-in-thread mode for group chats.
196
- * - "disabled" (default): Bot replies are normal inline replies
197
- * - "enabled": Bot replies create or continue a Feishu topic thread
198
- *
199
- * When enabled, the Feishu reply API is called with `reply_in_thread: true`,
200
- * causing the reply to appear as a topic (话题) under the original message.
201
- */
202
- const ReplyInThreadSchema = _enum(["disabled", "enabled"]).optional();
203
- const FeishuGroupSchema = object({
204
- requireMention: boolean().optional(),
205
- tools: ToolPolicySchema,
206
- skills: array(string()).optional(),
207
- enabled: boolean().optional(),
208
- allowFrom: array(union([string(), number()])).optional(),
209
- systemPrompt: string().optional(),
210
- groupSessionScope: GroupSessionScopeSchema,
211
- topicSessionMode: TopicSessionModeSchema,
212
- replyInThread: ReplyInThreadSchema
213
- }).strict();
214
- const FeishuSharedConfigShape = {
215
- webhookHost: string().optional(),
216
- webhookPort: number().int().positive().optional(),
217
- capabilities: array(string()).optional(),
218
- markdown: MarkdownConfigSchema,
219
- configWrites: boolean().optional(),
220
- dmPolicy: DmPolicySchema.optional(),
221
- allowFrom: array(union([string(), number()])).optional(),
222
- groupPolicy: GroupPolicySchema.optional(),
223
- groupAllowFrom: array(union([string(), number()])).optional(),
224
- groupSenderAllowFrom: array(union([string(), number()])).optional(),
225
- requireMention: boolean().optional(),
226
- groups: record(string(), FeishuGroupSchema.optional()).optional(),
227
- historyLimit: number().int().min(0).optional(),
228
- dmHistoryLimit: number().int().min(0).optional(),
229
- dms: record(string(), DmConfigSchema).optional(),
230
- textChunkLimit: number().int().positive().optional(),
231
- chunkMode: _enum(["length", "newline"]).optional(),
232
- blockStreaming: BlockStreamingSchema,
233
- blockStreamingCoalesce: BlockStreamingCoalesceSchema,
234
- mediaMaxMb: number().positive().optional(),
235
- httpTimeoutMs: number().int().positive().max(3e5).optional(),
236
- heartbeat: ChannelHeartbeatVisibilitySchema,
237
- renderMode: RenderModeSchema,
238
- streaming: StreamingModeSchema,
239
- tools: FeishuToolsConfigSchema,
240
- actions: ChannelActionsSchema,
241
- replyInThread: ReplyInThreadSchema,
242
- reactionNotifications: ReactionNotificationModeSchema,
243
- typingIndicator: boolean().optional(),
244
- resolveSenderNames: boolean().optional(),
245
- tts: TtsOverrideSchema
246
- };
247
- /**
248
- * Per-account configuration.
249
- * All fields are optional - missing fields inherit from top-level config.
250
- */
251
- const FeishuAccountConfigSchema = object({
252
- enabled: boolean().optional(),
253
- name: string().optional(),
254
- appId: string().optional(),
255
- appSecret: buildSecretInputSchema().optional(),
256
- encryptKey: buildSecretInputSchema().optional(),
257
- verificationToken: buildSecretInputSchema().optional(),
258
- domain: FeishuDomainSchema.optional(),
259
- connectionMode: FeishuConnectionModeSchema.optional(),
260
- webhookPath: string().optional(),
261
- ...FeishuSharedConfigShape,
262
- groupSessionScope: GroupSessionScopeSchema,
263
- topicSessionMode: TopicSessionModeSchema
264
- }).strict();
265
- const FeishuConfigSchema = object({
266
- enabled: boolean().optional(),
267
- defaultAccount: string().optional(),
268
- appId: string().optional(),
269
- appSecret: buildSecretInputSchema().optional(),
270
- encryptKey: buildSecretInputSchema().optional(),
271
- verificationToken: buildSecretInputSchema().optional(),
272
- domain: FeishuDomainSchema.optional().default("feishu"),
273
- connectionMode: FeishuConnectionModeSchema.optional().default("websocket"),
274
- webhookPath: string().optional().default("/feishu/events"),
275
- ...FeishuSharedConfigShape,
276
- dmPolicy: DmPolicySchema.optional().default("pairing"),
277
- reactionNotifications: ReactionNotificationModeSchema.optional().default("own"),
278
- groupPolicy: GroupPolicySchema.optional().default("allowlist"),
279
- requireMention: boolean().optional(),
280
- groupSessionScope: GroupSessionScopeSchema,
281
- topicSessionMode: TopicSessionModeSchema,
282
- dynamicAgentCreation: DynamicAgentCreationSchema,
283
- typingIndicator: boolean().optional().default(true),
284
- resolveSenderNames: boolean().optional().default(true),
285
- accounts: record(string(), FeishuAccountConfigSchema.optional()).optional()
286
- }).strict().superRefine((value, ctx) => {
287
- const defaultAccount = value.defaultAccount?.trim();
288
- if (defaultAccount && value.accounts && Object.keys(value.accounts).length > 0) {
289
- const normalizedDefaultAccount = normalizeAccountId(defaultAccount);
290
- if (!Object.prototype.hasOwnProperty.call(value.accounts, normalizedDefaultAccount)) ctx.addIssue({
291
- code: ZodIssueCode.custom,
292
- path: ["defaultAccount"],
293
- message: `channels.feishu.defaultAccount="${defaultAccount}" does not match a configured account key`
294
- });
295
- }
296
- const defaultConnectionMode = value.connectionMode ?? "websocket";
297
- const defaultVerificationTokenConfigured = hasConfiguredSecretInput(value.verificationToken);
298
- const defaultEncryptKeyConfigured = hasConfiguredSecretInput(value.encryptKey);
299
- if (defaultConnectionMode === "webhook") {
300
- if (!defaultVerificationTokenConfigured) ctx.addIssue({
301
- code: ZodIssueCode.custom,
302
- path: ["verificationToken"],
303
- message: "channels.feishu.connectionMode=\"webhook\" requires channels.feishu.verificationToken"
304
- });
305
- if (!defaultEncryptKeyConfigured) ctx.addIssue({
306
- code: ZodIssueCode.custom,
307
- path: ["encryptKey"],
308
- message: "channels.feishu.connectionMode=\"webhook\" requires channels.feishu.encryptKey"
309
- });
310
- }
311
- for (const [accountId, account] of Object.entries(value.accounts ?? {})) {
312
- if (!account) continue;
313
- if ((account.connectionMode ?? defaultConnectionMode) !== "webhook") continue;
314
- const accountVerificationTokenConfigured = hasConfiguredSecretInput(account.verificationToken) || defaultVerificationTokenConfigured;
315
- const accountEncryptKeyConfigured = hasConfiguredSecretInput(account.encryptKey) || defaultEncryptKeyConfigured;
316
- if (!accountVerificationTokenConfigured) ctx.addIssue({
317
- code: ZodIssueCode.custom,
318
- path: [
319
- "accounts",
320
- accountId,
321
- "verificationToken"
322
- ],
323
- message: `channels.feishu.accounts.${accountId}.connectionMode="webhook" requires a verificationToken (account-level or top-level)`
324
- });
325
- if (!accountEncryptKeyConfigured) ctx.addIssue({
326
- code: ZodIssueCode.custom,
327
- path: [
328
- "accounts",
329
- accountId,
330
- "encryptKey"
331
- ],
332
- message: `channels.feishu.accounts.${accountId}.connectionMode="webhook" requires an encryptKey (account-level or top-level)`
333
- });
334
- }
335
- if (value.dmPolicy === "open") {
336
- if (!(value.allowFrom ?? []).some((entry) => String(entry).trim() === "*")) ctx.addIssue({
337
- code: ZodIssueCode.custom,
338
- path: ["allowFrom"],
339
- message: "channels.feishu.dmPolicy=\"open\" requires channels.feishu.allowFrom to include \"*\""
340
- });
341
- }
342
- });
343
- //#endregion
344
- //#region extensions/feishu/src/session-route.ts
345
- function resolveFeishuOutboundSessionRoute(params) {
346
- let trimmed = stripChannelTargetPrefix(params.target, "feishu", "lark");
347
- if (!trimmed) return null;
348
- const lower = normalizeLowercaseStringOrEmpty(trimmed);
349
- let isGroup = false;
350
- let typeExplicit = false;
351
- if (lower.startsWith("group:") || lower.startsWith("chat:") || lower.startsWith("channel:")) {
352
- trimmed = trimmed.replace(/^(group|chat|channel):/i, "").trim();
353
- isGroup = true;
354
- typeExplicit = true;
355
- } else if (lower.startsWith("user:") || lower.startsWith("dm:")) {
356
- trimmed = trimmed.replace(/^(user|dm):/i, "").trim();
357
- isGroup = false;
358
- typeExplicit = true;
359
- }
360
- if (!typeExplicit) {
361
- const idLower = normalizeLowercaseStringOrEmpty(trimmed);
362
- if (idLower.startsWith("ou_") || idLower.startsWith("on_")) isGroup = false;
363
- }
364
- return buildChannelOutboundSessionRoute({
365
- cfg: params.cfg,
366
- agentId: params.agentId,
367
- channel: "feishu",
368
- accountId: params.accountId,
369
- peer: {
370
- kind: isGroup ? "group" : "direct",
371
- id: trimmed
372
- },
373
- chatType: isGroup ? "group" : "direct",
374
- from: isGroup ? `feishu:group:${trimmed}` : `feishu:${trimmed}`,
375
- to: trimmed
376
- });
377
- }
378
- //#endregion
379
- //#region extensions/feishu/src/setup-core.ts
380
- function setFeishuNamedAccountEnabled$1(cfg, accountId, enabled) {
381
- const feishuCfg = cfg.channels?.feishu;
382
- return {
383
- ...cfg,
384
- channels: {
385
- ...cfg.channels,
386
- feishu: {
387
- ...feishuCfg,
388
- accounts: {
389
- ...feishuCfg?.accounts,
390
- [accountId]: {
391
- ...feishuCfg?.accounts?.[accountId],
392
- enabled
393
- }
394
- }
395
- }
396
- }
397
- };
398
- }
399
- const feishuSetupAdapter = {
400
- resolveAccountId: ({ cfg, accountId }) => accountId?.trim() || resolveDefaultFeishuAccountId(cfg),
401
- applyAccountConfig: ({ cfg, accountId }) => {
402
- if (!accountId || accountId === "default") return {
403
- ...cfg,
404
- channels: {
405
- ...cfg.channels,
406
- feishu: {
407
- ...cfg.channels?.feishu,
408
- enabled: true
409
- }
410
- }
411
- };
412
- return setFeishuNamedAccountEnabled$1(cfg, accountId, true);
413
- }
414
- };
415
- //#endregion
416
- //#region extensions/feishu/src/setup-surface.ts
417
- const t = createSetupTranslator();
418
- const channel = "feishu";
419
- const SCAN_TO_CREATE_TP = "ob_cli_app";
420
- const FEISHU_SETUP_FLOW_KEY = "_flow";
421
- function normalizeString(value) {
422
- if (typeof value !== "string") return;
423
- return value.trim() || void 0;
424
- }
425
- function isFeishuConfigured(cfg) {
426
- const feishuCfg = cfg.channels?.feishu;
427
- const isAppIdConfigured = (value) => {
428
- if (normalizeString(value)) return true;
429
- if (!value || typeof value !== "object") return false;
430
- const rec = value;
431
- const source = normalizeString(rec.source)?.toLowerCase();
432
- const id = normalizeString(rec.id);
433
- if (source === "env" && id) return Boolean(normalizeString(process.env[id]));
434
- return hasConfiguredSecretInput(value);
435
- };
436
- const topLevelConfigured = isAppIdConfigured(feishuCfg?.appId) && hasConfiguredSecretInput(feishuCfg?.appSecret);
437
- const accountConfigured = Object.values(feishuCfg?.accounts ?? {}).some((account) => {
438
- if (!account || typeof account !== "object") return false;
439
- const hasOwnAppId = Object.prototype.hasOwnProperty.call(account, "appId");
440
- const hasOwnAppSecret = Object.prototype.hasOwnProperty.call(account, "appSecret");
441
- const accountAppIdConfigured = hasOwnAppId ? isAppIdConfigured(account.appId) : isAppIdConfigured(feishuCfg?.appId);
442
- const accountSecretConfigured = hasOwnAppSecret ? hasConfiguredSecretInput(account.appSecret) : hasConfiguredSecretInput(feishuCfg?.appSecret);
443
- return accountAppIdConfigured && accountSecretConfigured;
444
- });
445
- return topLevelConfigured || accountConfigured;
446
- }
447
- function formatFeishuStatusLine(status) {
448
- if (status === "needs-credentials") return `Feishu: ${t("wizard.channels.statusNeedsAppCredentials")}`;
449
- return `Feishu: ${t("wizard.channels.statusConfiguredConnectionNotVerified")}`;
450
- }
451
- /**
452
- * Patch feishu config at the correct location based on accountId.
453
- * - DEFAULT_ACCOUNT_ID → writes to top-level channels.feishu
454
- * - named account → writes to channels.feishu.accounts[accountId]
455
- */
456
- function patchFeishuConfig(cfg, accountId, patch) {
457
- const feishuCfg = cfg.channels?.feishu;
458
- if (accountId === "default") return patchTopLevelChannelConfigSection({
459
- cfg,
460
- channel,
461
- enabled: true,
462
- patch
463
- });
464
- const nextAccountPatch = {
465
- ...feishuCfg?.accounts?.[accountId],
466
- enabled: true,
467
- ...patch
468
- };
469
- return patchTopLevelChannelConfigSection({
470
- cfg,
471
- channel,
472
- enabled: true,
473
- patch: { accounts: {
474
- ...feishuCfg?.accounts,
475
- [accountId]: nextAccountPatch
476
- } }
477
- });
478
- }
479
- async function promptFeishuAllowFrom(params) {
480
- const feishuCfg = params.cfg.channels?.feishu;
481
- const resolvedAccountId = params.accountId ?? resolveDefaultFeishuAccountId(params.cfg);
482
- const existingAllowFrom = (resolvedAccountId !== "default" ? feishuCfg?.accounts?.[resolvedAccountId] : void 0)?.allowFrom ?? feishuCfg?.allowFrom ?? [];
483
- await params.prompter.note([
484
- t("wizard.feishu.allowlistIntro"),
485
- t("wizard.feishu.allowlistFindUser"),
486
- t("wizard.feishu.examples"),
487
- "- ou_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
488
- "- on_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
489
- ].join("\n"), t("wizard.feishu.allowlistTitle"));
490
- const mergedAllowFrom = mergeAllowFromEntries(existingAllowFrom, splitSetupEntries(await params.prompter.text({
491
- message: t("wizard.feishu.allowFromPrompt"),
492
- placeholder: "ou_xxxxx, ou_yyyyy",
493
- initialValue: existingAllowFrom.length > 0 ? existingAllowFrom.map(String).join(", ") : void 0
494
- })));
495
- return patchFeishuConfig(params.cfg, resolvedAccountId, { allowFrom: mergedAllowFrom });
496
- }
497
- async function noteFeishuCredentialHelp(prompter) {
498
- await prompter.note([
499
- t("wizard.feishu.credentialsStepOpenPlatform"),
500
- t("wizard.feishu.credentialsStepCreateApp"),
501
- t("wizard.feishu.credentialsStepGetCredentials"),
502
- t("wizard.feishu.credentialsStepPermissions"),
503
- t("wizard.feishu.credentialsStepPublish"),
504
- t("wizard.feishu.credentialsEnvTip"),
505
- t("wizard.channels.docs", { link: formatDocsLink("/channels/feishu", "feishu") })
506
- ].join("\n"), t("wizard.feishu.credentialsTitle"));
507
- }
508
- async function promptFeishuAppId(params) {
509
- return (await params.prompter.text({
510
- message: t("wizard.feishu.appIdPrompt"),
511
- initialValue: params.initialValue,
512
- validate: (value) => value?.trim() ? void 0 : t("common.required")
513
- })).trim();
514
- }
515
- const feishuDmPolicy = {
516
- label: "Feishu",
517
- channel,
518
- policyKey: "channels.feishu.dmPolicy",
519
- allowFromKey: "channels.feishu.allowFrom",
520
- resolveConfigKeys: (_cfg, accountId) => {
521
- const resolvedAccountId = accountId ?? resolveDefaultFeishuAccountId(_cfg);
522
- return resolvedAccountId !== "default" ? {
523
- policyKey: `channels.feishu.accounts.${resolvedAccountId}.dmPolicy`,
524
- allowFromKey: `channels.feishu.accounts.${resolvedAccountId}.allowFrom`
525
- } : {
526
- policyKey: "channels.feishu.dmPolicy",
527
- allowFromKey: "channels.feishu.allowFrom"
528
- };
529
- },
530
- getCurrent: (cfg, accountId) => {
531
- const feishuCfg = cfg.channels?.feishu;
532
- const resolvedAccountId = accountId ?? resolveDefaultFeishuAccountId(cfg);
533
- if (resolvedAccountId !== "default") {
534
- const account = feishuCfg?.accounts?.[resolvedAccountId];
535
- if (account?.dmPolicy) return account.dmPolicy;
536
- }
537
- return feishuCfg?.dmPolicy ?? "pairing";
538
- },
539
- setPolicy: (cfg, policy, accountId) => {
540
- return patchFeishuConfig(cfg, accountId ?? resolveDefaultFeishuAccountId(cfg), {
541
- dmPolicy: policy,
542
- ...policy === "open" ? { allowFrom: mergeAllowFromEntries([], ["*"]) } : {}
543
- });
544
- },
545
- promptAllowFrom: promptFeishuAllowFrom
546
- };
547
- function applyNewAppSecurityPolicy(cfg, accountId, openId, groupPolicy) {
548
- let next = cfg;
549
- if (openId) next = patchFeishuConfig(next, accountId, {
550
- dmPolicy: "allowlist",
551
- allowFrom: [openId]
552
- });
553
- const groupPatch = { groupPolicy };
554
- if (groupPolicy === "open") groupPatch.requireMention = true;
555
- next = patchFeishuConfig(next, accountId, groupPatch);
556
- return next;
557
- }
558
- async function promptFeishuDomain(params) {
559
- return await params.prompter.select({
560
- message: t("wizard.feishu.domainPrompt"),
561
- options: [{
562
- value: "feishu",
563
- label: t("wizard.feishu.domainFeishu")
564
- }, {
565
- value: "lark",
566
- label: t("wizard.feishu.domainLark")
567
- }],
568
- initialValue: params.initialValue ?? "feishu"
569
- });
570
- }
571
- async function promptFeishuSetupMethod(prompter) {
572
- return await prompter.select({
573
- message: t("wizard.feishu.setupMethodPrompt"),
574
- options: [{
575
- value: "manual",
576
- label: t("wizard.feishu.setupMethodManual")
577
- }, {
578
- value: "scan",
579
- label: t("wizard.feishu.setupMethodScan")
580
- }],
581
- initialValue: "manual"
582
- });
583
- }
584
- async function runScanToCreate(prompter, domain) {
585
- const { beginAppRegistration, initAppRegistration, pollAppRegistration, printQrCode } = await import("./app-registration-CUu5DPan.js");
586
- try {
587
- await initAppRegistration(domain);
588
- } catch {
589
- await prompter.note(t("wizard.feishu.scanUnavailable"), t("wizard.feishu.setupTitle"));
590
- return null;
591
- }
592
- const begin = await beginAppRegistration(domain);
593
- await prompter.note(t("wizard.feishu.scanQr"), t("wizard.feishu.scanTitle"));
594
- await printQrCode(begin.qrUrl);
595
- const progress = prompter.progress(t("wizard.feishu.fetchingConfig"));
596
- const outcome = await pollAppRegistration({
597
- deviceCode: begin.deviceCode,
598
- interval: begin.interval,
599
- expireIn: begin.expireIn,
600
- initialDomain: domain,
601
- tp: SCAN_TO_CREATE_TP
602
- });
603
- switch (outcome.status) {
604
- case "success":
605
- progress.stop(t("wizard.feishu.scanCompleted"));
606
- return outcome.result;
607
- case "access_denied":
608
- progress.stop(t("wizard.feishu.scanDenied"));
609
- return null;
610
- case "expired":
611
- progress.stop(t("wizard.feishu.scanExpired"));
612
- return null;
613
- case "timeout":
614
- progress.stop(t("wizard.feishu.scanTimedOut"));
615
- return null;
616
- case "error":
617
- progress.stop(t("wizard.feishu.scanError", { error: outcome.message }));
618
- return null;
619
- }
620
- return null;
621
- }
622
- async function runNewAppFlow(params) {
623
- const { prompter, options } = params;
624
- let next = params.cfg;
625
- const targetAccountId = resolveDefaultFeishuAccountId(next);
626
- let appId = null;
627
- let appSecret = null;
628
- let appSecretProbeValue = null;
629
- let scanDomain;
630
- let scanOpenId;
631
- const currentDomain = (next.channels?.feishu)?.domain ?? "feishu";
632
- const setupMethod = await promptFeishuSetupMethod(prompter);
633
- const selectedDomain = await promptFeishuDomain({
634
- prompter,
635
- initialValue: currentDomain
636
- });
637
- scanDomain = selectedDomain;
638
- const scanResult = setupMethod === "scan" ? await runScanToCreate(prompter, selectedDomain) : null;
639
- if (scanResult) {
640
- appId = scanResult.appId;
641
- appSecret = scanResult.appSecret;
642
- appSecretProbeValue = scanResult.appSecret;
643
- scanDomain = scanResult.domain;
644
- scanOpenId = scanResult.openId;
645
- } else {
646
- await noteFeishuCredentialHelp(prompter);
647
- appId = await promptFeishuAppId({
648
- prompter,
649
- initialValue: normalizeString(process.env.FEISHU_APP_ID)
650
- });
651
- const appSecretResult = await promptSingleChannelSecretInput({
652
- cfg: next,
653
- prompter,
654
- providerHint: "feishu",
655
- credentialLabel: "App Secret",
656
- secretInputMode: options?.secretInputMode,
657
- accountConfigured: false,
658
- canUseEnv: false,
659
- hasConfigToken: false,
660
- envPrompt: "",
661
- keepPrompt: t("wizard.feishu.appSecretKeep"),
662
- inputPrompt: t("wizard.feishu.appSecretPrompt"),
663
- preferredEnvVar: "FEISHU_APP_SECRET"
664
- });
665
- if (appSecretResult.action === "set") {
666
- appSecret = appSecretResult.value;
667
- appSecretProbeValue = appSecretResult.resolvedValue;
668
- }
669
- if (appId && appSecretProbeValue) {
670
- const { getAppOwnerOpenId } = await import("./app-registration-CUu5DPan.js");
671
- scanOpenId = await getAppOwnerOpenId({
672
- appId,
673
- appSecret: appSecretProbeValue,
674
- domain: selectedDomain
675
- });
676
- }
677
- }
678
- const groupPolicy = await prompter.select({
679
- message: t("wizard.feishu.groupPolicyPrompt"),
680
- options: [
681
- {
682
- value: "allowlist",
683
- label: t("wizard.feishu.groupPolicyAllowlist")
684
- },
685
- {
686
- value: "open",
687
- label: t("wizard.feishu.groupPolicyOpen")
688
- },
689
- {
690
- value: "disabled",
691
- label: t("wizard.feishu.groupPolicyDisabled")
692
- }
693
- ],
694
- initialValue: "allowlist"
695
- });
696
- const configProgress = prompter.progress(t("wizard.feishu.configuring"));
697
- await new Promise((resolve) => setTimeout(resolve, 50));
698
- if (appId && appSecret) next = patchFeishuConfig(next, targetAccountId, {
699
- appId,
700
- appSecret,
701
- connectionMode: "websocket",
702
- ...scanDomain ? { domain: scanDomain } : {}
703
- });
704
- else if (scanDomain) next = patchFeishuConfig(next, targetAccountId, { domain: scanDomain });
705
- next = applyNewAppSecurityPolicy(next, targetAccountId, scanOpenId, groupPolicy);
706
- configProgress.stop(t("wizard.feishu.botConfigured"));
707
- return { cfg: next };
708
- }
709
- async function runEditFlow(params) {
710
- const { prompter, options } = params;
711
- const next = params.cfg;
712
- const feishuCfg = next.channels?.feishu;
713
- const resolveAppIdLabel = (value) => {
714
- const asString = normalizeString(value);
715
- if (asString) return asString;
716
- if (value && typeof value === "object") {
717
- const rec = value;
718
- if (normalizeString(rec.source) && normalizeString(rec.id)) return normalizeString(process.env[rec.id]) ?? `env:${String(rec.id)}`;
719
- if (hasConfiguredSecretInput(value)) return "(configured)";
720
- }
721
- };
722
- const existingAppId = resolveAppIdLabel(feishuCfg?.appId) ?? Object.values(feishuCfg?.accounts ?? {}).reduce((found, account) => {
723
- if (found) return found;
724
- if (account && typeof account === "object") return resolveAppIdLabel(account.appId);
725
- }, void 0);
726
- if (existingAppId) {
727
- if (!await prompter.confirm({
728
- message: t("wizard.feishu.existingBotPrompt", { appId: existingAppId }),
729
- initialValue: true
730
- })) return runNewAppFlow({
731
- cfg: next,
732
- prompter,
733
- options
734
- });
735
- } else return runNewAppFlow({
736
- cfg: next,
737
- prompter,
738
- options
739
- });
740
- await prompter.note(t("wizard.feishu.botConfigured"), "");
741
- return { cfg: next };
742
- }
743
- async function runFeishuLogin(params) {
744
- const { cfg, prompter } = params;
745
- const options = {};
746
- if (isFeishuConfigured(cfg)) {
747
- const result = await runEditFlow({
748
- cfg,
749
- prompter,
750
- options
751
- });
752
- if (result === null) return cfg;
753
- return result.cfg;
754
- }
755
- return (await runNewAppFlow({
756
- cfg,
757
- prompter,
758
- options
759
- })).cfg;
760
- }
761
- const feishuSetupWizard = {
762
- channel,
763
- resolveAccountIdForConfigure: ({ accountOverride, defaultAccountId, cfg }) => (typeof accountOverride === "string" && accountOverride.trim() ? accountOverride.trim() : void 0) ?? resolveDefaultFeishuAccountId(cfg) ?? defaultAccountId,
764
- resolveShouldPromptAccountIds: () => false,
765
- status: {
766
- configuredLabel: t("wizard.channels.statusConfigured"),
767
- unconfiguredLabel: t("wizard.channels.statusNeedsAppCredentials"),
768
- configuredHint: t("wizard.channels.statusConfigured"),
769
- unconfiguredHint: t("wizard.channels.statusNeedsAppCreds"),
770
- configuredScore: 2,
771
- unconfiguredScore: 0,
772
- resolveConfigured: ({ cfg }) => isFeishuConfigured(cfg),
773
- resolveStatusLines: async ({ cfg, accountId, configured }) => {
774
- const account = resolveFeishuAccount({
775
- cfg,
776
- accountId
777
- });
778
- let probeResult = null;
779
- if (configured && account.configured) try {
780
- const { probeFeishu } = await import("./probe-DPmR4TX2.js");
781
- probeResult = await probeFeishu(account);
782
- } catch {}
783
- if (!configured) return [formatFeishuStatusLine("needs-credentials")];
784
- if (probeResult?.ok) return [`Feishu: ${t("wizard.channels.statusConnectedAs", { name: probeResult.botName ?? probeResult.botOpenId ?? "bot" })}`];
785
- return [formatFeishuStatusLine("configured-unverified")];
786
- }
787
- },
788
- prepare: async ({ cfg, credentialValues }) => {
789
- if (isFeishuConfigured(cfg)) return { credentialValues: {
790
- ...credentialValues,
791
- [FEISHU_SETUP_FLOW_KEY]: "edit"
792
- } };
793
- return { credentialValues: {
794
- ...credentialValues,
795
- [FEISHU_SETUP_FLOW_KEY]: "new"
796
- } };
797
- },
798
- credentials: [],
799
- finalize: async ({ cfg, prompter, options, credentialValues }) => {
800
- if ((credentialValues[FEISHU_SETUP_FLOW_KEY] ?? "new") === "edit") {
801
- const result = await runEditFlow({
802
- cfg,
803
- prompter,
804
- options
805
- });
806
- if (result === null) return { cfg };
807
- return result;
808
- }
809
- return runNewAppFlow({
810
- cfg,
811
- prompter,
812
- options
813
- });
814
- },
815
- dmPolicy: feishuDmPolicy,
816
- disable: (cfg) => patchTopLevelChannelConfigSection({
817
- cfg,
818
- channel,
819
- patch: { enabled: false }
820
- })
821
- };
822
- //#endregion
823
- //#region extensions/feishu/src/channel.ts
824
- function readFeishuMediaParam(params) {
825
- const media = params.media;
826
- if (typeof media !== "string") return;
827
- return media.trim() ? media : void 0;
828
- }
829
- function readBooleanParam(params, keys) {
830
- for (const key of keys) {
831
- const value = params[key];
832
- if (typeof value === "boolean") return value;
833
- }
834
- }
835
- function hasLegacyFeishuCardCommandValue(actionValue) {
836
- return isRecord(actionValue) && actionValue.oc !== "ocf1" && (Boolean(typeof actionValue.command === "string" && actionValue.command.trim()) || Boolean(typeof actionValue.text === "string" && actionValue.text.trim()));
837
- }
838
- function containsLegacyFeishuCardCommandValue(node) {
839
- if (Array.isArray(node)) return node.some((item) => containsLegacyFeishuCardCommandValue(item));
840
- if (!isRecord(node)) return false;
841
- if (node.tag === "button" && hasLegacyFeishuCardCommandValue(node.value)) return true;
842
- return Object.values(node).some((value) => containsLegacyFeishuCardCommandValue(value));
843
- }
844
- const meta = {
845
- id: "feishu",
846
- label: "Feishu",
847
- selectionLabel: "Feishu/Lark (飞书)",
848
- docsPath: "/channels/feishu",
849
- docsLabel: "feishu",
850
- blurb: "飞书/Lark enterprise messaging.",
851
- aliases: ["lark"],
852
- order: 70
853
- };
854
- const loadFeishuChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-DIq3XOEe.js"), "feishuChannelRuntime");
855
- function toFeishuMessageSendResult(result, kind) {
856
- const receipt = result.receipt ?? createFeishuSendReceipt({
857
- messageId: result.messageId,
858
- chatId: result.chatId ?? "",
859
- kind
860
- });
861
- return {
862
- messageId: result.messageId || receipt.primaryPlatformMessageId,
863
- receipt
864
- };
865
- }
866
- const feishuMessageAdapter = defineChannelMessageAdapter({
867
- id: "feishu",
868
- durableFinal: { capabilities: {
869
- text: true,
870
- media: true
871
- } },
872
- send: {
873
- text: async (ctx) => {
874
- const sendText = (await loadFeishuChannelRuntime()).feishuOutbound.sendText;
875
- if (!sendText) throw new Error("Feishu text sending is not available.");
876
- return toFeishuMessageSendResult(await sendText(ctx), "text");
877
- },
878
- media: async (ctx) => {
879
- const sendMedia = (await loadFeishuChannelRuntime()).feishuOutbound.sendMedia;
880
- if (!sendMedia) throw new Error("Feishu media sending is not available.");
881
- return toFeishuMessageSendResult(await sendMedia(ctx), "media");
882
- }
883
- }
884
- });
885
- function buildFeishuPresentationCard(params) {
886
- const fallbackPresentation = {
887
- ...params.presentation.tone ? { tone: params.presentation.tone } : {},
888
- blocks: params.presentation.blocks
889
- };
890
- return {
891
- schema: "2.0",
892
- config: { width_mode: "fill" },
893
- ...params.presentation.title ? { header: {
894
- title: {
895
- tag: "plain_text",
896
- content: params.presentation.title
897
- },
898
- template: "blue"
899
- } } : {},
900
- body: { elements: [{
901
- tag: "markdown",
902
- content: renderMessagePresentationFallbackText({
903
- text: params.fallbackText,
904
- presentation: fallbackPresentation
905
- })
906
- }] }
907
- };
908
- }
909
- async function createFeishuActionClient(account) {
910
- const { createFeishuClient } = await import("./client-DwbGD0tF.js");
911
- return createFeishuClient(account);
912
- }
913
- const collectFeishuSecurityWarnings = createAllowlistProviderGroupPolicyWarningCollector({
914
- providerConfigPresent: (cfg) => cfg.channels?.feishu !== void 0,
915
- resolveGroupPolicy: ({ cfg, accountId }) => resolveFeishuAccount({
916
- cfg,
917
- accountId
918
- }).config?.groupPolicy,
919
- collect: ({ cfg, accountId, groupPolicy }) => {
920
- if (groupPolicy !== "open") return [];
921
- return [`- Feishu[${resolveFeishuAccount({
922
- cfg,
923
- accountId
924
- }).accountId}] groups: groupPolicy="open" allows any member to trigger (mention-gated). Set channels.feishu.groupPolicy="allowlist" + channels.feishu.groupAllowFrom to restrict senders.`];
925
- }
926
- });
927
- function describeFeishuMessageTool({ cfg, accountId }) {
928
- const enabledAccounts = accountId ? [resolveFeishuAccount({
929
- cfg,
930
- accountId
931
- })].filter((account) => account.enabled && account.configured) : listEnabledFeishuAccounts(cfg);
932
- const enabled = enabledAccounts.length > 0 || !accountId && cfg.channels?.feishu?.enabled !== false && Boolean(inspectFeishuCredentials(cfg.channels?.feishu));
933
- if (enabledAccounts.length === 0) return {
934
- actions: [],
935
- capabilities: enabled ? ["presentation"] : []
936
- };
937
- const actions = new Set([
938
- "send",
939
- "read",
940
- "edit",
941
- "thread-reply",
942
- "pin",
943
- "list-pins",
944
- "unpin",
945
- "member-info",
946
- "channel-info",
947
- "channel-list"
948
- ]);
949
- if (accountId ? enabledAccounts.some((account) => isFeishuReactionsActionEnabled({
950
- cfg,
951
- account
952
- })) : areAnyFeishuReactionActionsEnabled(cfg)) {
953
- actions.add("react");
954
- actions.add("reactions");
955
- }
956
- return {
957
- actions: Array.from(actions),
958
- capabilities: enabled ? ["presentation"] : []
959
- };
960
- }
961
- function setFeishuNamedAccountEnabled(cfg, accountId, enabled) {
962
- const feishuCfg = cfg.channels?.feishu;
963
- return {
964
- ...cfg,
965
- channels: {
966
- ...cfg.channels,
967
- feishu: {
968
- ...feishuCfg,
969
- accounts: {
970
- ...feishuCfg?.accounts,
971
- [accountId]: {
972
- ...feishuCfg?.accounts?.[accountId],
973
- enabled
974
- }
975
- }
976
- }
977
- }
978
- };
979
- }
980
- const feishuConfigAdapter = createHybridChannelConfigAdapter({
981
- sectionKey: "feishu",
982
- listAccountIds: listFeishuAccountIds,
983
- resolveAccount: adaptScopedAccountAccessor(resolveFeishuAccount),
984
- defaultAccountId: resolveDefaultFeishuAccountId,
985
- clearBaseFields: [],
986
- resolveAllowFrom: (account) => account.config.allowFrom,
987
- formatAllowFrom: (allowFrom) => formatAllowFromLowercase({ allowFrom })
988
- });
989
- function isFeishuReactionsActionEnabled(params) {
990
- if (!params.account.enabled || !params.account.configured) return false;
991
- return createActionGate(params.account.config.actions ?? (params.cfg.channels?.feishu)?.actions)("reactions");
992
- }
993
- function areAnyFeishuReactionActionsEnabled(cfg) {
994
- for (const account of listEnabledFeishuAccounts(cfg)) if (isFeishuReactionsActionEnabled({
995
- cfg,
996
- account
997
- })) return true;
998
- return false;
999
- }
1000
- function isFeishuGroupTopicSessionKey(sessionKey) {
1001
- if (typeof sessionKey !== "string" || !sessionKey) return false;
1002
- const parsed = parseFeishuConversationId({ conversationId: sessionKey });
1003
- return parsed?.scope === "group_topic" || parsed?.scope === "group_topic_sender";
1004
- }
1005
- function resolveFeishuTopicAutoThreadAnchor(ctx) {
1006
- if (ctx.action !== "send") return;
1007
- if (!isFeishuGroupTopicSessionKey(ctx.sessionKey)) return;
1008
- const inbound = ctx.toolContext?.currentMessageId;
1009
- return typeof inbound === "string" && inbound.length > 0 ? inbound : void 0;
1010
- }
1011
- function buildFeishuSendReplyAnchor(ctx) {
1012
- if (ctx.action === "thread-reply") return {
1013
- replyToMessageId: resolveFeishuMessageId(ctx.params),
1014
- replyInThread: true
1015
- };
1016
- const autoThreadId = resolveFeishuTopicAutoThreadAnchor(ctx);
1017
- return {
1018
- replyToMessageId: autoThreadId,
1019
- replyInThread: autoThreadId !== void 0
1020
- };
1021
- }
1022
- function isSupportedFeishuDirectConversationId(conversationId) {
1023
- const trimmed = conversationId.trim();
1024
- if (!trimmed || trimmed.includes(":")) return false;
1025
- if (trimmed.startsWith("oc_") || trimmed.startsWith("on_")) return false;
1026
- return true;
1027
- }
1028
- function normalizeFeishuAcpConversationId(conversationId) {
1029
- const parsed = parseFeishuConversationId({ conversationId });
1030
- if (!parsed || parsed.scope !== "group_topic" && parsed.scope !== "group_topic_sender" && !isSupportedFeishuDirectConversationId(parsed.canonicalConversationId)) return null;
1031
- return {
1032
- conversationId: parsed.canonicalConversationId,
1033
- parentConversationId: parsed.scope === "group_topic" || parsed.scope === "group_topic_sender" ? parsed.chatId : void 0
1034
- };
1035
- }
1036
- function matchFeishuAcpConversation(params) {
1037
- const binding = normalizeFeishuAcpConversationId(params.bindingConversationId);
1038
- if (!binding) return null;
1039
- const incoming = parseFeishuConversationId({
1040
- conversationId: params.conversationId,
1041
- parentConversationId: params.parentConversationId
1042
- });
1043
- if (!incoming || incoming.scope !== "group_topic" && incoming.scope !== "group_topic_sender" && !isSupportedFeishuDirectConversationId(incoming.canonicalConversationId)) return null;
1044
- const matchesCanonicalConversation = binding.conversationId === incoming.canonicalConversationId;
1045
- const matchesParentTopicForSenderScopedConversation = incoming.scope === "group_topic_sender" && binding.parentConversationId === incoming.chatId && binding.conversationId === `${incoming.chatId}:topic:${incoming.topicId}`;
1046
- if (!matchesCanonicalConversation && !matchesParentTopicForSenderScopedConversation) return null;
1047
- return {
1048
- conversationId: matchesParentTopicForSenderScopedConversation ? binding.conversationId : incoming.canonicalConversationId,
1049
- parentConversationId: incoming.scope === "group_topic" || incoming.scope === "group_topic_sender" ? incoming.chatId : void 0,
1050
- matchPriority: matchesCanonicalConversation ? 2 : 1
1051
- };
1052
- }
1053
- function resolveFeishuSenderScopedCommandConversation(params) {
1054
- const parentConversationId = params.parentConversationId?.trim();
1055
- const threadId = params.threadId?.trim();
1056
- const senderId = params.senderId?.trim();
1057
- if (!parentConversationId || !threadId || !senderId) return;
1058
- const expectedScopePrefix = `feishu:group:${normalizeLowercaseStringOrEmpty(parentConversationId)}:topic:${normalizeLowercaseStringOrEmpty(threadId)}:sender:`;
1059
- const isSenderScopedSession = [params.sessionKey, params.parentSessionKey].some((candidate) => {
1060
- const normalized = normalizeLowercaseStringOrEmpty(candidate ?? "");
1061
- if (!normalized) return false;
1062
- return normalized.replace(/^agent:[^:]+:/, "").startsWith(expectedScopePrefix);
1063
- });
1064
- const senderScopedConversationId = buildFeishuConversationId({
1065
- chatId: parentConversationId,
1066
- scope: "group_topic_sender",
1067
- topicId: threadId,
1068
- senderOpenId: senderId
1069
- });
1070
- if (isSenderScopedSession) return senderScopedConversationId;
1071
- if (!params.sessionKey?.trim()) return;
1072
- return getSessionBindingService().listBySession(params.sessionKey).find((binding) => {
1073
- if (binding.conversation.channel !== "feishu" || binding.conversation.accountId !== params.accountId) return false;
1074
- return binding.conversation.conversationId === senderScopedConversationId;
1075
- })?.conversation.conversationId;
1076
- }
1077
- function resolveFeishuCommandConversation(params) {
1078
- if (params.threadId) {
1079
- const parentConversationId = parseFeishuTargetId(params.originatingTo) ?? parseFeishuTargetId(params.commandTo) ?? parseFeishuTargetId(params.fallbackTo);
1080
- if (!parentConversationId) return null;
1081
- return {
1082
- conversationId: resolveFeishuSenderScopedCommandConversation({
1083
- accountId: params.accountId,
1084
- parentConversationId,
1085
- threadId: params.threadId,
1086
- senderId: params.senderId,
1087
- sessionKey: params.sessionKey,
1088
- parentSessionKey: params.parentSessionKey
1089
- }) ?? buildFeishuConversationId({
1090
- chatId: parentConversationId,
1091
- scope: "group_topic",
1092
- topicId: params.threadId
1093
- }),
1094
- parentConversationId
1095
- };
1096
- }
1097
- const conversationId = parseFeishuDirectConversationId(params.originatingTo) ?? parseFeishuDirectConversationId(params.commandTo) ?? parseFeishuDirectConversationId(params.fallbackTo);
1098
- return conversationId ? { conversationId } : null;
1099
- }
1100
- function jsonActionResult(details) {
1101
- return {
1102
- content: [{
1103
- type: "text",
1104
- text: JSON.stringify(details)
1105
- }],
1106
- details
1107
- };
1108
- }
1109
- function readFirstString(params, keys, fallback) {
1110
- for (const key of keys) {
1111
- const value = params[key];
1112
- if (typeof value === "string" && value.trim()) return value.trim();
1113
- }
1114
- if (typeof fallback === "string" && fallback.trim()) return fallback.trim();
1115
- }
1116
- function readOptionalNumber(params, keys) {
1117
- for (const key of keys) {
1118
- const value = params[key];
1119
- if (typeof value === "number" && Number.isFinite(value)) return value;
1120
- if (typeof value === "string" && value.trim()) {
1121
- const parsed = Number(value);
1122
- if (Number.isFinite(parsed)) return parsed;
1123
- }
1124
- }
1125
- }
1126
- function resolveFeishuActionTarget(ctx) {
1127
- return readFirstString(ctx.params, ["to", "target"], ctx.toolContext?.currentChannelId);
1128
- }
1129
- function resolveFeishuChatId(ctx) {
1130
- const raw = readFirstString(ctx.params, [
1131
- "chatId",
1132
- "chat_id",
1133
- "channelId",
1134
- "channel_id",
1135
- "to",
1136
- "target"
1137
- ], ctx.toolContext?.currentChannelId);
1138
- if (!raw) return;
1139
- if (/^(user|dm|open_id):/i.test(raw)) return;
1140
- if (/^(chat|group|channel):/i.test(raw)) return normalizeFeishuTarget(raw) ?? void 0;
1141
- return raw;
1142
- }
1143
- function resolveFeishuMessageId(params) {
1144
- return readFirstString(params, [
1145
- "messageId",
1146
- "message_id",
1147
- "replyTo",
1148
- "reply_to"
1149
- ]);
1150
- }
1151
- function resolveFeishuMemberId(params) {
1152
- return readFirstString(params, [
1153
- "memberId",
1154
- "member_id",
1155
- "userId",
1156
- "user_id",
1157
- "openId",
1158
- "open_id",
1159
- "unionId",
1160
- "union_id"
1161
- ]);
1162
- }
1163
- function resolveFeishuMemberIdType(params) {
1164
- const raw = readFirstString(params, [
1165
- "memberIdType",
1166
- "member_id_type",
1167
- "userIdType",
1168
- "user_id_type"
1169
- ]);
1170
- if (raw === "open_id" || raw === "user_id" || raw === "union_id") return raw;
1171
- if (readFirstString(params, ["userId", "user_id"]) && !readFirstString(params, [
1172
- "openId",
1173
- "open_id",
1174
- "unionId",
1175
- "union_id"
1176
- ])) return "user_id";
1177
- if (readFirstString(params, ["unionId", "union_id"]) && !readFirstString(params, ["openId", "open_id"])) return "union_id";
1178
- return "open_id";
1179
- }
1180
- const feishuPlugin = createChatChannelPlugin({
1181
- base: {
1182
- id: "feishu",
1183
- meta: { ...meta },
1184
- capabilities: {
1185
- chatTypes: ["direct", "channel"],
1186
- polls: false,
1187
- threads: true,
1188
- media: true,
1189
- tts: { voice: {
1190
- synthesisTarget: "voice-note",
1191
- transcodesAudio: true
1192
- } },
1193
- reactions: true,
1194
- edit: true,
1195
- reply: true
1196
- },
1197
- agentPrompt: { messageToolHints: () => [
1198
- "- Feishu targeting: omit `target` to reply to the current conversation (auto-inferred). Explicit targets: `user:open_id` or `chat:chat_id`.",
1199
- "- Feishu supports interactive cards plus native image, file, audio, and video/media delivery.",
1200
- "- Feishu supports `send`, `read`, `edit`, `thread-reply`, pins, and channel/member lookup, plus reactions when enabled."
1201
- ] },
1202
- groups: { resolveToolPolicy: resolveFeishuGroupToolPolicy },
1203
- conversationBindings: {
1204
- defaultTopLevelPlacement: "current",
1205
- buildModelOverrideParentCandidates: ({ parentConversationId }) => buildFeishuModelOverrideParentCandidates(parentConversationId)
1206
- },
1207
- mentions: { stripPatterns: () => ["<at user_id=\"[^\"]*\">[^<]*</at>"] },
1208
- reload: { configPrefixes: ["channels.feishu"] },
1209
- configSchema: buildChannelConfigSchema(FeishuConfigSchema),
1210
- config: {
1211
- ...feishuConfigAdapter,
1212
- setAccountEnabled: ({ cfg, accountId, enabled }) => {
1213
- if (accountId === "default") return {
1214
- ...cfg,
1215
- channels: {
1216
- ...cfg.channels,
1217
- feishu: {
1218
- ...cfg.channels?.feishu,
1219
- enabled
1220
- }
1221
- }
1222
- };
1223
- return setFeishuNamedAccountEnabled(cfg, accountId, enabled);
1224
- },
1225
- deleteAccount: ({ cfg, accountId }) => {
1226
- if (accountId === "default") {
1227
- const next = { ...cfg };
1228
- const nextChannels = { ...cfg.channels };
1229
- delete nextChannels.feishu;
1230
- if (Object.keys(nextChannels).length > 0) next.channels = nextChannels;
1231
- else delete next.channels;
1232
- return next;
1233
- }
1234
- const feishuCfg = cfg.channels?.feishu;
1235
- const accounts = { ...feishuCfg?.accounts };
1236
- delete accounts[accountId];
1237
- return {
1238
- ...cfg,
1239
- channels: {
1240
- ...cfg.channels,
1241
- feishu: {
1242
- ...feishuCfg,
1243
- accounts: Object.keys(accounts).length > 0 ? accounts : void 0
1244
- }
1245
- }
1246
- };
1247
- },
1248
- isConfigured: (account) => account.configured,
1249
- describeAccount: (account) => describeAccountSnapshot({
1250
- account,
1251
- configured: account.configured,
1252
- extra: {
1253
- appId: account.appId,
1254
- domain: account.domain
1255
- }
1256
- })
1257
- },
1258
- approvalCapability: feishuApprovalAuth,
1259
- secrets: {
1260
- secretTargetRegistryEntries,
1261
- collectRuntimeConfigAssignments
1262
- },
1263
- actions: {
1264
- messageActionTargetAliases,
1265
- describeMessageTool: describeFeishuMessageTool,
1266
- handleAction: async (ctx) => {
1267
- const account = resolveFeishuAccount({
1268
- cfg: ctx.cfg,
1269
- accountId: ctx.accountId ?? void 0
1270
- });
1271
- if ((ctx.action === "react" || ctx.action === "reactions") && !isFeishuReactionsActionEnabled({
1272
- cfg: ctx.cfg,
1273
- account
1274
- })) throw new Error("Feishu reactions are disabled via actions.reactions.");
1275
- if (ctx.action === "send" || ctx.action === "thread-reply") {
1276
- const to = resolveFeishuActionTarget(ctx);
1277
- if (!to) throw new Error(`Feishu ${ctx.action} requires a target (to).`);
1278
- const { replyToMessageId, replyInThread } = buildFeishuSendReplyAnchor(ctx);
1279
- if (ctx.action === "thread-reply" && !replyToMessageId) throw new Error("Feishu thread-reply requires messageId.");
1280
- const presentation = normalizeMessagePresentation(ctx.params.presentation);
1281
- const text = readFirstString(ctx.params, ["text", "message"]);
1282
- const mediaUrl = readFeishuMediaParam(ctx.params);
1283
- const audioAsVoice = readBooleanParam(ctx.params, ["asVoice", "audioAsVoice"]);
1284
- const card = presentation ? buildFeishuPresentationCard({
1285
- presentation,
1286
- fallbackText: text
1287
- }) : void 0;
1288
- if (card && mediaUrl) throw new Error(`Feishu ${ctx.action} does not support card with media.`);
1289
- if (!card && !text && !mediaUrl) throw new Error(`Feishu ${ctx.action} requires text/message, media, or card.`);
1290
- const runtime = await loadFeishuChannelRuntime();
1291
- const maybeSendMedia = runtime.feishuOutbound.sendMedia;
1292
- if (mediaUrl && !maybeSendMedia) throw new Error("Feishu media sending is not available.");
1293
- const sendMedia = maybeSendMedia;
1294
- let result;
1295
- if (card) {
1296
- if (containsLegacyFeishuCardCommandValue(card)) throw new Error("Feishu card buttons that trigger text or commands must use structured interaction envelopes.");
1297
- result = await runtime.sendCardFeishu({
1298
- cfg: ctx.cfg,
1299
- to,
1300
- card,
1301
- accountId: ctx.accountId ?? void 0,
1302
- replyToMessageId,
1303
- replyInThread
1304
- });
1305
- } else if (mediaUrl) result = await sendMedia({
1306
- cfg: ctx.cfg,
1307
- to,
1308
- text: text ?? "",
1309
- mediaUrl,
1310
- accountId: ctx.accountId ?? void 0,
1311
- mediaLocalRoots: ctx.mediaLocalRoots,
1312
- ...replyInThread ? { threadId: replyToMessageId } : { replyToId: replyToMessageId },
1313
- ...audioAsVoice === true ? { audioAsVoice: true } : {}
1314
- });
1315
- else result = await runtime.sendMessageFeishu({
1316
- cfg: ctx.cfg,
1317
- to,
1318
- text,
1319
- accountId: ctx.accountId ?? void 0,
1320
- replyToMessageId,
1321
- replyInThread
1322
- });
1323
- return jsonActionResult({
1324
- ok: true,
1325
- channel: "feishu",
1326
- action: ctx.action,
1327
- ...result
1328
- });
1329
- }
1330
- if (ctx.action === "read") {
1331
- const messageId = resolveFeishuMessageId(ctx.params);
1332
- if (!messageId) throw new Error("Feishu read requires messageId.");
1333
- const { getMessageFeishu } = await loadFeishuChannelRuntime();
1334
- const message = await getMessageFeishu({
1335
- cfg: ctx.cfg,
1336
- messageId,
1337
- accountId: ctx.accountId ?? void 0
1338
- });
1339
- if (!message) return {
1340
- isError: true,
1341
- content: [{
1342
- type: "text",
1343
- text: JSON.stringify({ error: `Feishu read failed or message not found: ${messageId}` })
1344
- }],
1345
- details: { error: `Feishu read failed or message not found: ${messageId}` }
1346
- };
1347
- return jsonActionResult({
1348
- ok: true,
1349
- channel: "feishu",
1350
- action: "read",
1351
- message
1352
- });
1353
- }
1354
- if (ctx.action === "edit") {
1355
- const messageId = resolveFeishuMessageId(ctx.params);
1356
- if (!messageId) throw new Error("Feishu edit requires messageId.");
1357
- const text = readFirstString(ctx.params, ["text", "message"]);
1358
- const card = ctx.params.card && typeof ctx.params.card === "object" ? ctx.params.card : void 0;
1359
- const { editMessageFeishu } = await loadFeishuChannelRuntime();
1360
- return jsonActionResult({
1361
- ok: true,
1362
- channel: "feishu",
1363
- action: "edit",
1364
- ...await editMessageFeishu({
1365
- cfg: ctx.cfg,
1366
- messageId,
1367
- text,
1368
- card,
1369
- accountId: ctx.accountId ?? void 0
1370
- })
1371
- });
1372
- }
1373
- if (ctx.action === "pin") {
1374
- const messageId = resolveFeishuMessageId(ctx.params);
1375
- if (!messageId) throw new Error("Feishu pin requires messageId.");
1376
- const { createPinFeishu } = await loadFeishuChannelRuntime();
1377
- return jsonActionResult({
1378
- ok: true,
1379
- channel: "feishu",
1380
- action: "pin",
1381
- pin: await createPinFeishu({
1382
- cfg: ctx.cfg,
1383
- messageId,
1384
- accountId: ctx.accountId ?? void 0
1385
- })
1386
- });
1387
- }
1388
- if (ctx.action === "unpin") {
1389
- const messageId = resolveFeishuMessageId(ctx.params);
1390
- if (!messageId) throw new Error("Feishu unpin requires messageId.");
1391
- const { removePinFeishu } = await loadFeishuChannelRuntime();
1392
- await removePinFeishu({
1393
- cfg: ctx.cfg,
1394
- messageId,
1395
- accountId: ctx.accountId ?? void 0
1396
- });
1397
- return jsonActionResult({
1398
- ok: true,
1399
- channel: "feishu",
1400
- action: "unpin",
1401
- messageId
1402
- });
1403
- }
1404
- if (ctx.action === "list-pins") {
1405
- const chatId = resolveFeishuChatId(ctx);
1406
- if (!chatId) throw new Error("Feishu list-pins requires chatId or channelId.");
1407
- const { listPinsFeishu } = await loadFeishuChannelRuntime();
1408
- return jsonActionResult({
1409
- ok: true,
1410
- channel: "feishu",
1411
- action: "list-pins",
1412
- ...await listPinsFeishu({
1413
- cfg: ctx.cfg,
1414
- chatId,
1415
- startTime: readFirstString(ctx.params, ["startTime", "start_time"]),
1416
- endTime: readFirstString(ctx.params, ["endTime", "end_time"]),
1417
- pageSize: readOptionalNumber(ctx.params, ["pageSize", "page_size"]),
1418
- pageToken: readFirstString(ctx.params, ["pageToken", "page_token"]),
1419
- accountId: ctx.accountId ?? void 0
1420
- })
1421
- });
1422
- }
1423
- if (ctx.action === "channel-info") {
1424
- const chatId = resolveFeishuChatId(ctx);
1425
- if (!chatId) throw new Error("Feishu channel-info requires chatId or channelId.");
1426
- const runtime = await loadFeishuChannelRuntime();
1427
- const client = await createFeishuActionClient(account);
1428
- const channel = await runtime.getChatInfo(client, chatId);
1429
- if (!(ctx.params.includeMembers === true || ctx.params.members === true)) return jsonActionResult({
1430
- ok: true,
1431
- provider: "feishu",
1432
- action: "channel-info",
1433
- channel
1434
- });
1435
- return jsonActionResult({
1436
- ok: true,
1437
- provider: "feishu",
1438
- action: "channel-info",
1439
- channel,
1440
- members: await runtime.getChatMembers(client, chatId, readOptionalNumber(ctx.params, ["pageSize", "page_size"]), readFirstString(ctx.params, ["pageToken", "page_token"]), resolveFeishuMemberIdType(ctx.params))
1441
- });
1442
- }
1443
- if (ctx.action === "member-info") {
1444
- const runtime = await loadFeishuChannelRuntime();
1445
- const client = await createFeishuActionClient(account);
1446
- const memberId = resolveFeishuMemberId(ctx.params);
1447
- if (memberId) return jsonActionResult({
1448
- ok: true,
1449
- channel: "feishu",
1450
- action: "member-info",
1451
- member: await runtime.getFeishuMemberInfo(client, memberId, resolveFeishuMemberIdType(ctx.params))
1452
- });
1453
- const chatId = resolveFeishuChatId(ctx);
1454
- if (!chatId) throw new Error("Feishu member-info requires memberId or chatId/channelId.");
1455
- return jsonActionResult({
1456
- ok: true,
1457
- channel: "feishu",
1458
- action: "member-info",
1459
- ...await runtime.getChatMembers(client, chatId, readOptionalNumber(ctx.params, ["pageSize", "page_size"]), readFirstString(ctx.params, ["pageToken", "page_token"]), resolveFeishuMemberIdType(ctx.params))
1460
- });
1461
- }
1462
- if (ctx.action === "channel-list") {
1463
- const runtime = await loadFeishuChannelRuntime();
1464
- const query = readFirstString(ctx.params, ["query"]);
1465
- const limit = readOptionalNumber(ctx.params, ["limit"]);
1466
- const scope = readFirstString(ctx.params, ["scope", "kind"]) ?? "all";
1467
- if (scope === "groups" || scope === "group" || scope === "channels" || scope === "channel") return jsonActionResult({
1468
- ok: true,
1469
- channel: "feishu",
1470
- action: "channel-list",
1471
- groups: await runtime.listFeishuDirectoryGroupsLive({
1472
- cfg: ctx.cfg,
1473
- query,
1474
- limit,
1475
- fallbackToStatic: false,
1476
- accountId: ctx.accountId ?? void 0
1477
- })
1478
- });
1479
- if (scope === "peers" || scope === "peer" || scope === "members" || scope === "member" || scope === "users" || scope === "user") return jsonActionResult({
1480
- ok: true,
1481
- channel: "feishu",
1482
- action: "channel-list",
1483
- peers: await runtime.listFeishuDirectoryPeersLive({
1484
- cfg: ctx.cfg,
1485
- query,
1486
- limit,
1487
- fallbackToStatic: false,
1488
- accountId: ctx.accountId ?? void 0
1489
- })
1490
- });
1491
- const [groups, peers] = await Promise.all([runtime.listFeishuDirectoryGroupsLive({
1492
- cfg: ctx.cfg,
1493
- query,
1494
- limit,
1495
- fallbackToStatic: false,
1496
- accountId: ctx.accountId ?? void 0
1497
- }), runtime.listFeishuDirectoryPeersLive({
1498
- cfg: ctx.cfg,
1499
- query,
1500
- limit,
1501
- fallbackToStatic: false,
1502
- accountId: ctx.accountId ?? void 0
1503
- })]);
1504
- return jsonActionResult({
1505
- ok: true,
1506
- channel: "feishu",
1507
- action: "channel-list",
1508
- groups,
1509
- peers
1510
- });
1511
- }
1512
- if (ctx.action === "react") {
1513
- const messageId = resolveFeishuMessageId(ctx.params);
1514
- if (!messageId) throw new Error("Feishu reaction requires messageId.");
1515
- const emoji = typeof ctx.params.emoji === "string" ? ctx.params.emoji.trim() : "";
1516
- const remove = ctx.params.remove === true;
1517
- const clearAll = ctx.params.clearAll === true;
1518
- if (remove) {
1519
- if (!emoji) throw new Error("Emoji is required to remove a Feishu reaction.");
1520
- const { listReactionsFeishu, removeReactionFeishu } = await loadFeishuChannelRuntime();
1521
- const ownReaction = (await listReactionsFeishu({
1522
- cfg: ctx.cfg,
1523
- messageId,
1524
- emojiType: emoji,
1525
- accountId: ctx.accountId ?? void 0
1526
- })).find((entry) => entry.operatorType === "app");
1527
- if (!ownReaction) return jsonActionResult({
1528
- ok: true,
1529
- removed: null
1530
- });
1531
- await removeReactionFeishu({
1532
- cfg: ctx.cfg,
1533
- messageId,
1534
- reactionId: ownReaction.reactionId,
1535
- accountId: ctx.accountId ?? void 0
1536
- });
1537
- return jsonActionResult({
1538
- ok: true,
1539
- removed: emoji
1540
- });
1541
- }
1542
- if (!emoji) {
1543
- if (!clearAll) throw new Error("Emoji is required to add a Feishu reaction. Set clearAll=true to remove all bot reactions.");
1544
- const { listReactionsFeishu, removeReactionFeishu } = await loadFeishuChannelRuntime();
1545
- const reactions = await listReactionsFeishu({
1546
- cfg: ctx.cfg,
1547
- messageId,
1548
- accountId: ctx.accountId ?? void 0
1549
- });
1550
- let removed = 0;
1551
- for (const reaction of reactions.filter((entry) => entry.operatorType === "app")) {
1552
- await removeReactionFeishu({
1553
- cfg: ctx.cfg,
1554
- messageId,
1555
- reactionId: reaction.reactionId,
1556
- accountId: ctx.accountId ?? void 0
1557
- });
1558
- removed += 1;
1559
- }
1560
- return jsonActionResult({
1561
- ok: true,
1562
- removed
1563
- });
1564
- }
1565
- const { addReactionFeishu } = await loadFeishuChannelRuntime();
1566
- await addReactionFeishu({
1567
- cfg: ctx.cfg,
1568
- messageId,
1569
- emojiType: emoji,
1570
- accountId: ctx.accountId ?? void 0
1571
- });
1572
- return jsonActionResult({
1573
- ok: true,
1574
- added: emoji
1575
- });
1576
- }
1577
- if (ctx.action === "reactions") {
1578
- const messageId = resolveFeishuMessageId(ctx.params);
1579
- if (!messageId) throw new Error("Feishu reactions lookup requires messageId.");
1580
- const { listReactionsFeishu } = await loadFeishuChannelRuntime();
1581
- return jsonActionResult({
1582
- ok: true,
1583
- reactions: await listReactionsFeishu({
1584
- cfg: ctx.cfg,
1585
- messageId,
1586
- accountId: ctx.accountId ?? void 0
1587
- })
1588
- });
1589
- }
1590
- throw new Error(`Unsupported Feishu action: "${ctx.action}"`);
1591
- }
1592
- },
1593
- bindings: {
1594
- compileConfiguredBinding: ({ conversationId }) => normalizeFeishuAcpConversationId(conversationId),
1595
- matchInboundConversation: ({ compiledBinding, conversationId, parentConversationId }) => matchFeishuAcpConversation({
1596
- bindingConversationId: compiledBinding.conversationId,
1597
- conversationId,
1598
- parentConversationId
1599
- }),
1600
- resolveCommandConversation: ({ accountId, threadId, senderId, sessionKey, parentSessionKey, originatingTo, commandTo, fallbackTo }) => resolveFeishuCommandConversation({
1601
- accountId,
1602
- threadId,
1603
- senderId,
1604
- sessionKey,
1605
- parentSessionKey,
1606
- originatingTo,
1607
- commandTo,
1608
- fallbackTo
1609
- })
1610
- },
1611
- auth: { login: async ({ cfg }) => {
1612
- const { createClackPrompter } = await import("./plugin-sdk/setup-runtime.js");
1613
- const { replaceConfigFile } = await import("./plugin-sdk/config-mutation.js");
1614
- const nextCfg = await runFeishuLogin({
1615
- cfg,
1616
- prompter: createClackPrompter()
1617
- });
1618
- if (nextCfg !== cfg) await replaceConfigFile({
1619
- nextConfig: nextCfg,
1620
- afterWrite: { mode: "auto" }
1621
- });
1622
- } },
1623
- setup: feishuSetupAdapter,
1624
- setupWizard: feishuSetupWizard,
1625
- messaging: {
1626
- targetPrefixes: ["feishu", "lark"],
1627
- normalizeTarget: (raw) => normalizeFeishuTarget(raw) ?? void 0,
1628
- resolveDeliveryTarget: ({ conversationId, parentConversationId }) => {
1629
- const directId = parseFeishuDirectConversationId(conversationId);
1630
- if (directId) return { to: `user:${directId}` };
1631
- const parsed = parseFeishuConversationId({
1632
- conversationId,
1633
- parentConversationId
1634
- });
1635
- if (parsed?.topicId) return {
1636
- to: `chat:${parentConversationId?.trim() || parsed.chatId}`,
1637
- threadId: parsed.topicId
1638
- };
1639
- return { to: `chat:${parsed?.chatId ?? conversationId.trim()}` };
1640
- },
1641
- resolveSessionConversation: ({ kind, rawId }) => resolveFeishuSessionConversation({
1642
- kind,
1643
- rawId
1644
- }),
1645
- resolveOutboundSessionRoute: (params) => resolveFeishuOutboundSessionRoute(params),
1646
- targetResolver: {
1647
- looksLikeId: looksLikeFeishuId,
1648
- hint: "<chatId|user:openId|chat:chatId>"
1649
- }
1650
- },
1651
- directory: createChannelDirectoryAdapter({
1652
- listPeers: async ({ cfg, query, limit, accountId }) => listFeishuDirectoryPeers({
1653
- cfg,
1654
- query: query ?? void 0,
1655
- limit: limit ?? void 0,
1656
- accountId: accountId ?? void 0
1657
- }),
1658
- listGroups: async ({ cfg, query, limit, accountId }) => listFeishuDirectoryGroups({
1659
- cfg,
1660
- query: query ?? void 0,
1661
- limit: limit ?? void 0,
1662
- accountId: accountId ?? void 0
1663
- }),
1664
- ...createRuntimeDirectoryLiveAdapter({
1665
- getRuntime: loadFeishuChannelRuntime,
1666
- listPeersLive: (runtime) => async ({ cfg, query, limit, accountId }) => await runtime.listFeishuDirectoryPeersLive({
1667
- cfg,
1668
- query: query ?? void 0,
1669
- limit: limit ?? void 0,
1670
- accountId: accountId ?? void 0
1671
- }),
1672
- listGroupsLive: (runtime) => async ({ cfg, query, limit, accountId }) => await runtime.listFeishuDirectoryGroupsLive({
1673
- cfg,
1674
- query: query ?? void 0,
1675
- limit: limit ?? void 0,
1676
- accountId: accountId ?? void 0
1677
- })
1678
- })
1679
- }),
1680
- status: createComputedAccountStatusAdapter({
1681
- defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID, { port: null }),
1682
- buildChannelSummary: ({ snapshot }) => buildProbeChannelStatusSummary(snapshot, { port: snapshot.port ?? null }),
1683
- probeAccount: async ({ account }) => await (await loadFeishuChannelRuntime()).probeFeishu(account),
1684
- resolveAccountSnapshot: ({ account, runtime }) => ({
1685
- accountId: account.accountId,
1686
- enabled: account.enabled,
1687
- configured: account.configured,
1688
- name: account.name,
1689
- extra: {
1690
- appId: account.appId,
1691
- domain: account.domain,
1692
- port: runtime?.port ?? null
1693
- }
1694
- })
1695
- }),
1696
- gateway: { startAccount: async (ctx) => {
1697
- const { monitorFeishuProvider } = await import("./monitor-D0bcGJWI.js");
1698
- const account = resolveFeishuRuntimeAccount({
1699
- cfg: ctx.cfg,
1700
- accountId: ctx.accountId
1701
- }, { requireEventSecrets: true });
1702
- const port = account.config?.webhookPort ?? null;
1703
- ctx.setStatus({
1704
- accountId: ctx.accountId,
1705
- port
1706
- });
1707
- ctx.log?.info(`starting feishu[${ctx.accountId}] (mode: ${account.config?.connectionMode ?? "websocket"})`);
1708
- return monitorFeishuProvider({
1709
- config: ctx.cfg,
1710
- runtime: ctx.runtime,
1711
- abortSignal: ctx.abortSignal,
1712
- accountId: ctx.accountId
1713
- });
1714
- } },
1715
- message: feishuMessageAdapter
1716
- },
1717
- security: {
1718
- collectWarnings: projectConfigAccountIdWarningCollector(collectFeishuSecurityWarnings),
1719
- collectAuditFindings: ({ cfg }) => collectFeishuSecurityAuditFindings({ cfg })
1720
- },
1721
- pairing: { text: {
1722
- idLabel: "feishuUserId",
1723
- message: PAIRING_APPROVED_MESSAGE,
1724
- normalizeAllowEntry: createPairingPrefixStripper(/^(feishu|user|open_id):/i),
1725
- notify: async ({ cfg, id, message, accountId }) => {
1726
- const { sendMessageFeishu } = await loadFeishuChannelRuntime();
1727
- await sendMessageFeishu({
1728
- cfg,
1729
- to: id,
1730
- text: message,
1731
- accountId
1732
- });
1733
- }
1734
- } },
1735
- outbound: {
1736
- deliveryMode: "direct",
1737
- chunker: chunkTextForOutbound,
1738
- chunkerMode: "markdown",
1739
- textChunkLimit: 4e3,
1740
- presentationCapabilities: {
1741
- supported: true,
1742
- buttons: true,
1743
- selects: false,
1744
- context: true,
1745
- divider: true,
1746
- limits: {
1747
- actions: {
1748
- maxActions: 20,
1749
- maxActionsPerRow: 5,
1750
- maxLabelLength: 40,
1751
- maxValueBytes: 1024
1752
- },
1753
- text: {
1754
- maxLength: 4e3,
1755
- encoding: "characters",
1756
- markdownDialect: "markdown"
1757
- }
1758
- }
1759
- },
1760
- renderPresentation: async (ctx) => {
1761
- const renderPresentation = (await loadFeishuChannelRuntime()).feishuOutbound.renderPresentation;
1762
- return renderPresentation ? await renderPresentation(ctx) : null;
1763
- },
1764
- sendPayload: async (ctx) => {
1765
- const sendPayload = (await loadFeishuChannelRuntime()).feishuOutbound.sendPayload;
1766
- if (!sendPayload) throw new Error("Feishu payload sending is not available.");
1767
- return await sendPayload(ctx);
1768
- },
1769
- ...createRuntimeOutboundDelegates({
1770
- getRuntime: loadFeishuChannelRuntime,
1771
- sendText: { resolve: (runtime) => runtime.feishuOutbound.sendText },
1772
- sendMedia: { resolve: (runtime) => runtime.feishuOutbound.sendMedia }
1773
- })
1774
- }
1775
- });
1776
- //#endregion
1777
- export { setFeishuNamedAccountEnabled$1 as a, feishuSetupAdapter as i, feishuSetupWizard as n, runFeishuLogin as r, feishuPlugin as t };