fengming 0.3.8 → 0.3.10

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 (1255) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/abort-CCR8oZyg.js +277 -0
  3. package/dist/abort.runtime-eqx84NZa.js +2 -0
  4. package/dist/abort.runtime.js +1 -1
  5. package/dist/acp-spawn-BcDyvaXh.js +2 -0
  6. package/dist/acp-spawn-CCtSel-_.js +1286 -0
  7. package/dist/acp-stateful-target-driver-B3pCvuOV.js +89 -0
  8. package/dist/active-tool-schema-warnings-Cf-5q5WU.js +105 -0
  9. package/dist/active-tool-schema-warnings-Dzt3XE-y.js +2 -0
  10. package/dist/agent-1M2dVE2G.js +2 -0
  11. package/dist/agent-DLDIbUT4.js +1825 -0
  12. package/dist/agent-DZi6j3o6.js +3 -0
  13. package/dist/agent-command-ppfDBwET.js +1435 -0
  14. package/dist/agent-harness-runtime-C0bo62eY.d.ts +913 -0
  15. package/dist/agent-harness-runtime-RkTGiliR.js +207 -0
  16. package/dist/agent-runner-utils-B4YeVAO_.js +267 -0
  17. package/dist/agent-runner.runtime-T_3tlZN1.js +3784 -0
  18. package/dist/agent-runner.runtime.js +1 -1
  19. package/dist/agent-runtime-CloshyK-.d.ts +207 -0
  20. package/dist/agent-runtime-DZsmp1xr.js +199 -0
  21. package/dist/agent-tools-CET9usCz.js +2506 -0
  22. package/dist/agent-via-gateway-CZ0X0YkM.js +486 -0
  23. package/dist/agent-wait-dedupe-I81_F2tr.js +180 -0
  24. package/dist/agents/embedded-agent-runner/run/runtime-context-prompt.d.ts +1 -1
  25. package/dist/agents/embedded-agent-runner/tool-split.d.ts +1 -1
  26. package/dist/agents/model-catalog.runtime.d.ts +1 -1
  27. package/dist/api-BDB5xHYj.js +3 -0
  28. package/dist/api-BH7bfI5d.js +6 -0
  29. package/dist/api-BxJNXitd.js +2 -0
  30. package/dist/approval-client-helpers-CfQA9Jzh.d.ts +78 -0
  31. package/dist/approval-native-helpers-B2zyhxWc.d.ts +241 -0
  32. package/dist/approval-renderers-CMqSXyvm.d.ts +39 -0
  33. package/dist/assistant-Cu_Mzzgu.js +291 -0
  34. package/dist/attachment-normalize-Bb3v5iCC.js +213 -0
  35. package/dist/attempt-execution-BskbAq5I.js +584 -0
  36. package/dist/attempt-execution.runtime-BuT1wpNS.js +3 -0
  37. package/dist/attempt-execution.runtime.js +1 -1
  38. package/dist/attempt.prompt-helpers-ByKj-vQ7.js +543 -0
  39. package/dist/auto-reply/reply/commands-crestodian.d.ts +1 -1
  40. package/dist/binding-routing-EGRNvRC4.js +113 -0
  41. package/dist/binding-targets-B9vYS8n6.js +121 -0
  42. package/dist/bridge-server-DG9YtKQe.js +113 -0
  43. package/dist/browser-cli-B0Ou-Nbm.js +2 -0
  44. package/dist/browser-cli-GF25gL6M.js +230 -0
  45. package/dist/browser-cli-actions-input-CuER6RVe.js +522 -0
  46. package/dist/browser-cli-actions-observe-Dq-Zz_FA.js +81 -0
  47. package/dist/browser-cli-debug-7hvb49S1.js +137 -0
  48. package/dist/browser-cli-inspect-WU5KeWOK.js +117 -0
  49. package/dist/browser-cli-manage-B9D9BvSe.js +446 -0
  50. package/dist/browser-cli-resize-BUOusOPb.js +32 -0
  51. package/dist/browser-cli-shared-DmpSN-Qi.js +69 -0
  52. package/dist/browser-cli-state-D_YxTqRw.js +371 -0
  53. package/dist/browser-control-auth-Cqd1n9FA.js +2 -0
  54. package/dist/browser-profiles-9tQ05wYh.js +2 -0
  55. package/dist/browser-runtime-Bbzumoha.js +389 -0
  56. package/dist/build-CBXuT2K1.js +261 -0
  57. package/dist/build-info.json +3 -3
  58. package/dist/bundled/boot-md/handler.js +2 -2
  59. package/dist/bundled/session-memory/handler.js +1 -1
  60. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  61. package/dist/capability-cli-CiVGX7ut.js +1809 -0
  62. package/dist/channel-BIVwHq7P.js +2309 -0
  63. package/dist/channel-CiA2FVdL.d.ts +427 -0
  64. package/dist/channel-core-Cj9JTqeu.js +5 -0
  65. package/dist/channel-core-DjVpcH1C.d.ts +6 -0
  66. package/dist/channel-entry-contract-Bs_54m1D.d.ts +114 -0
  67. package/dist/channel-inbound-CdUdeQRa.js +121 -0
  68. package/dist/channel-inbound-iGiqx6CS.d.ts +97 -0
  69. package/dist/channel-message-C3QPaDUk.js +12 -0
  70. package/dist/channel-message-CXDjxb2U.d.ts +9 -0
  71. package/dist/channel-outbound-ofvvmMSK.d.ts +325 -0
  72. package/dist/channel-pairing-DKscOV1K.d.ts +58 -0
  73. package/dist/channel.runtime-VW6PW_ez.js +697 -0
  74. package/dist/channel.runtime.js +1 -1
  75. package/dist/chat-CFkQepUQ.js +3 -0
  76. package/dist/chat-Czh_tXM0.js +2940 -0
  77. package/dist/chrome-B2cq8YyH.js +1517 -0
  78. package/dist/cli/run-main.js +5 -5
  79. package/dist/cli-compaction-Dxv4nt7R.js +363 -0
  80. package/dist/cli-runner-CimXSTVs.js +2 -0
  81. package/dist/cli-runner-orCzE1Sr.js +597 -0
  82. package/dist/cli-runner.runtime-CsW0dXJW.js +3 -0
  83. package/dist/cli-runner.runtime-DgPrc1do.js +4 -0
  84. package/dist/cli-runner.runtime.js +1 -1
  85. package/dist/cli-startup-metadata.json +10 -12
  86. package/dist/command-registry-C5ooX6PF.js +4 -0
  87. package/dist/command-registry-DMB-HKIk.js +9 -0
  88. package/dist/command-registry-core-B2w_XWvn.js +114 -0
  89. package/dist/command-status.runtime-Bdy3Dkar.js +90 -0
  90. package/dist/command-status.runtime.js +1 -1
  91. package/dist/commands-compact.runtime-Bk2jTQo6.js +10 -0
  92. package/dist/commands-compact.runtime.js +1 -1
  93. package/dist/commands-handlers.runtime-Csw1og0U.js +6327 -0
  94. package/dist/commands-handlers.runtime.js +1 -1
  95. package/dist/commands-mRqmLIVz.d.ts +117 -0
  96. package/dist/commands-status-Dgrj_ubK.js +3 -0
  97. package/dist/commands-status-s32HJOpD.js +16 -0
  98. package/dist/commands-status.runtime-Dgrj_ubK.js +3 -0
  99. package/dist/commands-status.runtime.js +1 -1
  100. package/dist/commands-subagents-control.runtime-C_hnOO9l.js +2 -0
  101. package/dist/commands-subagents-control.runtime.js +1 -1
  102. package/dist/commands-system-prompt-CQV742Cc.js +2 -0
  103. package/dist/commands-system-prompt-DTfsKwK1.js +161 -0
  104. package/dist/commands-types-MXHhrssO.d.ts +132 -0
  105. package/dist/commands.runtime-akiVK67l.js +175 -0
  106. package/dist/commands.runtime.js +1 -1
  107. package/dist/commitments/runtime.js +1 -1
  108. package/dist/compact-U6ZhvPtD.js +1165 -0
  109. package/dist/compact.runtime-36E5vKsC.js +12 -0
  110. package/dist/compact.runtime.js +1 -1
  111. package/dist/completion-cli-Bf4mEw2W.js +393 -0
  112. package/dist/config-BJJhHN9E.js +374 -0
  113. package/dist/config-mutations-swLu-j_p.js +161 -0
  114. package/dist/config-schema-Tjner6bM.d.ts +20 -0
  115. package/dist/context-engine-host-compat-6fkn_daV.js +280 -0
  116. package/dist/context-engine-host-compat-DtAZC1bS.js +2 -0
  117. package/dist/context-engine-lifecycle-R__Idxi1.js +627 -0
  118. package/dist/control-auth-DnkI94_D.js +114 -0
  119. package/dist/control-service-BBsamNjq.js +40 -0
  120. package/dist/control-service-BGpHj7RL.js +3 -0
  121. package/dist/control-ui/assets/activity-D-mnRThU.js +124 -0
  122. package/dist/control-ui/assets/agents-U_KSP5I_.js +1030 -0
  123. package/dist/control-ui/assets/channels-ohK9_G1O.js +120 -0
  124. package/dist/control-ui/assets/cron-6ZCzfU29.js +1016 -0
  125. package/dist/control-ui/assets/debug-CSsDLg_s.js +97 -0
  126. package/dist/control-ui/assets/index-jUDczxhd.js +7214 -0
  127. package/dist/control-ui/assets/instances-782ZoDT4.js +57 -0
  128. package/dist/control-ui/assets/nodes-BMX16BKM.js +444 -0
  129. package/dist/control-ui/assets/sessions-jLGSApYa.js +425 -0
  130. package/dist/control-ui/assets/skills-DweBwUhs.js +362 -0
  131. package/dist/control-ui/assets/workboard-BsU-FXIo.js +402 -0
  132. package/dist/control-ui/index.html +1 -1
  133. package/dist/control-ui/sw.js +1 -1
  134. package/dist/conversation-runtime-DDekWU-U.js +31 -0
  135. package/dist/core-Bpk-qSJH.js +284 -0
  136. package/dist/core-Chrz4oRB.d.ts +223 -0
  137. package/dist/core-api-DSpUKNVW.js +2 -0
  138. package/dist/core-api-hLsW03Wo.js +5 -0
  139. package/dist/crestodian/crestodian.js +1 -1
  140. package/dist/crestodian/rescue-message.d.ts +1 -1
  141. package/dist/crestodian/rescue-message.js +1 -1
  142. package/dist/crestodian-C0x7JjF-.js +55 -0
  143. package/dist/delegate-BArFIZ4B.d.ts +30 -0
  144. package/dist/deliver-BnVp3VbL.d.ts +111 -0
  145. package/dist/delivery-queue-BFOASdf5.d.ts +161 -0
  146. package/dist/delivery-queue-runtime-BFfc8AEs.d.ts +9 -0
  147. package/dist/dialogue-No0NvYX7.js +37 -0
  148. package/dist/direct-dm-C-h88JJH.d.ts +79 -0
  149. package/dist/directive-handling.fast-lane-DTyDKhZb.js +70 -0
  150. package/dist/directive-handling.impl-DMReM6tu.js +2 -0
  151. package/dist/directive-handling.impl-DzPouhV-.js +823 -0
  152. package/dist/directive-handling.model-selection-BjwTBAZJ.js +122 -0
  153. package/dist/directive-handling.persist.runtime-D_O1okkR.js +274 -0
  154. package/dist/directive-handling.persist.runtime.js +1 -1
  155. package/dist/dispatch-Dtl-oRuN.js +2057 -0
  156. package/dist/dispatch-acp-transcript.runtime-M4y0Dq74.js +40 -0
  157. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  158. package/dist/dispatch-acp.runtime-B8uCIKZS.js +18 -0
  159. package/dist/dispatch-acp.runtime.js +1 -1
  160. package/dist/dispatcher-DslvaRcj.js +106 -0
  161. package/dist/doctor-config-flow-LU2C94af.js +1819 -0
  162. package/dist/doctor-core-checks-BqcjExIZ.js +666 -0
  163. package/dist/doctor-core-checks-Diuk8l0N.js +2 -0
  164. package/dist/doctor-core-checks.runtime-DbS-kMZN.js +278 -0
  165. package/dist/doctor-core-checks.runtime.js +1 -1
  166. package/dist/doctor-health-BdqHwfYE.js +65 -0
  167. package/dist/doctor-health-contributions-DLLTVnll.js +874 -0
  168. package/dist/doctor-lint-PZqkVMWf.js +95 -0
  169. package/dist/doctor-mRfJMSb5.js +6 -0
  170. package/dist/doctor-state-integrity-Cdlm-peH.js +1257 -0
  171. package/dist/draft-stream-controls-B7uLonbw.d.ts +159 -0
  172. package/dist/embedded-agent-CEpOPW6X.js +4 -0
  173. package/dist/embedded-agent-CNINO_M-.d.ts +5 -0
  174. package/dist/embedded-agent-DxwzoZkp.js +4074 -0
  175. package/dist/embedded-agent.runtime-DDbhA85-.js +4 -0
  176. package/dist/embedded-agent.runtime.js +1 -1
  177. package/dist/embedded-backend-ChaKCepC.js +1581 -0
  178. package/dist/embedded-gateway-stub.runtime-e_ZxGhcW.js +12 -0
  179. package/dist/embedded-gateway-stub.runtime.js +1 -1
  180. package/dist/entry.d.ts +1 -1
  181. package/dist/extensionAPI.d.ts +2 -2
  182. package/dist/extensionAPI.js +1 -1
  183. package/dist/extensions/active-memory/index.d.ts +1 -1
  184. package/dist/extensions/active-memory/index.js +1 -1
  185. package/dist/extensions/admin-http-rpc/index.d.ts +1 -1
  186. package/dist/extensions/admin-http-rpc/index.js +1 -1
  187. package/dist/extensions/bonjour/index.d.ts +1 -1
  188. package/dist/extensions/browser/browser-bridge.js +1 -1
  189. package/dist/extensions/browser/browser-config.js +4 -4
  190. package/dist/extensions/browser/browser-control-auth.js +2 -2
  191. package/dist/extensions/browser/browser-doctor.js +2 -2
  192. package/dist/extensions/browser/browser-maintenance.js +1 -1
  193. package/dist/extensions/browser/browser-profiles.js +2 -2
  194. package/dist/extensions/browser/browser-runtime-api.js +12 -12
  195. package/dist/extensions/browser/cli-metadata.d.ts +1 -1
  196. package/dist/extensions/browser/cli-metadata.js +1 -1
  197. package/dist/extensions/browser/index.d.ts +1 -1
  198. package/dist/extensions/browser/index.js +1 -1
  199. package/dist/extensions/browser/plugin-registration.d.ts +1 -1
  200. package/dist/extensions/browser/plugin-registration.js +1 -1
  201. package/dist/extensions/browser/register.runtime.d.ts +2 -2
  202. package/dist/extensions/browser/register.runtime.js +4 -4
  203. package/dist/extensions/browser/runtime-api.d.ts +3 -3
  204. package/dist/extensions/browser/runtime-api.js +14 -14
  205. package/dist/extensions/browser/setup-api.d.ts +1 -1
  206. package/dist/extensions/canvas/cli-metadata.d.ts +1 -1
  207. package/dist/extensions/canvas/index.d.ts +1 -1
  208. package/dist/extensions/canvas/index.js +1 -1
  209. package/dist/extensions/canvas/setup-api.d.ts +1 -1
  210. package/dist/extensions/deepseek/api.d.ts +1 -1
  211. package/dist/extensions/deepseek/index.d.ts +1 -1
  212. package/dist/extensions/deepseek/provider-discovery.d.ts +1 -1
  213. package/dist/extensions/deepseek/stream.d.ts +1 -1
  214. package/dist/extensions/device-pair/api.d.ts +4 -4
  215. package/dist/extensions/device-pair/api.js +1 -1
  216. package/dist/extensions/device-pair/index.d.ts +1 -1
  217. package/dist/extensions/device-pair/notify.d.ts +1 -1
  218. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  219. package/dist/extensions/device-pair/qr-image.d.ts +1 -1
  220. package/dist/extensions/memory-core/api.d.ts +1 -1
  221. package/dist/extensions/memory-core/cli-metadata.d.ts +1 -1
  222. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  223. package/dist/extensions/memory-core/index.d.ts +1 -1
  224. package/dist/extensions/memory-core/manager-runtime.d.ts +1 -1
  225. package/dist/extensions/memory-core/runtime-api.d.ts +3 -3
  226. package/dist/extensions/skill-workshop/api.d.ts +2 -2
  227. package/dist/extensions/skill-workshop/api.js +1 -1
  228. package/dist/extensions/skill-workshop/index.d.ts +1 -1
  229. package/dist/extensions/skill-workshop/index.js +2 -2
  230. package/dist/extensions/tavily/index.d.ts +1 -1
  231. package/dist/extensions/tavily/web-search-contract-api.d.ts +1 -1
  232. package/dist/extensions/tavily/web-search-provider.d.ts +1 -1
  233. package/dist/extensions/thread-ownership/api.d.ts +2 -2
  234. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  235. package/dist/extensions/webhooks/api.d.ts +2 -2
  236. package/dist/extensions/webhooks/api.js +1 -1
  237. package/dist/extensions/webhooks/index.d.ts +1 -1
  238. package/dist/extensions/webhooks/index.js +1 -1
  239. package/dist/extensions/webhooks/runtime-api.d.ts +1 -1
  240. package/dist/extensions/workboard/api.d.ts +2 -2
  241. package/dist/extensions/workboard/index.d.ts +1 -1
  242. package/dist/extensions/workboard/index.js +1 -1
  243. package/dist/extensions/workboard/runtime-api.d.ts +1 -1
  244. package/dist/fengming-runtime-CtRd5677.d.ts +153 -0
  245. package/dist/fengming-tools-DBLsJfsf.js +12221 -0
  246. package/dist/gateway-cli-BgDV2HF9.js +443 -0
  247. package/dist/gateway-method-runtime-d9oN_XO9.js +21 -0
  248. package/dist/get-reply-CEMtvaTJ.js +5198 -0
  249. package/dist/get-reply-from-config.runtime-CE8zmX7o.js +2 -0
  250. package/dist/get-reply-from-config.runtime.js +1 -1
  251. package/dist/heartbeat-runner-H8SmaKmJ.js +5 -0
  252. package/dist/heartbeat-runner.runtime-6hUaxEbl.js +3 -0
  253. package/dist/heartbeat-runner.runtime.js +1 -1
  254. package/dist/hooks-DkEvkwzS.js +536 -0
  255. package/dist/host-compat-DeAq3dnI.d.ts +21 -0
  256. package/dist/http-registry-BDoApjTY.d.ts +23 -0
  257. package/dist/inbound-reply-dispatch-CIYP2OPo.d.ts +156 -0
  258. package/dist/inbound-reply-dispatch-geHu6oUK.js +147 -0
  259. package/dist/inbound-reply-dispatch-vwW5Hl-_.js +2 -0
  260. package/dist/index.js +1 -1
  261. package/dist/init-DpE_6dG4.js +59 -0
  262. package/dist/interactive-Cb_1f91G.d.ts +26 -0
  263. package/dist/isolated-agent-B_upYOOM.js +2 -0
  264. package/dist/isolated-agent-KH9uwWhw.js +1097 -0
  265. package/dist/kernel-BHnBXnm2.d.ts +241 -0
  266. package/dist/lifecycle-BmZwopzF.js +570 -0
  267. package/dist/list.probe-5kzWm9Jk.js +451 -0
  268. package/dist/list.probe-9zBcGGQ4.js +2 -0
  269. package/dist/list.status-command-DY2ifqp1.js +815 -0
  270. package/dist/llm-slug-generator-Bmx0I84M.js +78 -0
  271. package/dist/llm-slug-generator.js +1 -1
  272. package/dist/loader-BVz75gSb.d.ts +142 -0
  273. package/dist/local-dispatch.runtime-CX3IOY1E.js +10 -0
  274. package/dist/local-dispatch.runtime.js +1 -1
  275. package/dist/manager-BXGg8bfG.d.ts +409 -0
  276. package/dist/mcp-http-B1lnh67s.js +2 -0
  277. package/dist/mcp-http-CamghE-W.js +583 -0
  278. package/dist/media-runtime-DpykroJR.d.ts +261 -0
  279. package/dist/memory-core-host-engine-embeddings-N2dX5P40.d.ts +324 -0
  280. package/dist/memory-core-host-engine-storage-WQfkQMer.d.ts +54 -0
  281. package/dist/message-handler-Ca_pqGVS.js +1806 -0
  282. package/dist/model-catalog-BBMLIjhq.d.ts +88 -0
  283. package/dist/model-selection-Cq82FXLy.js +352 -0
  284. package/dist/models-cli-Dm_393dw.js +257 -0
  285. package/dist/monitor-d0eyE2k0.js +60 -0
  286. package/dist/monitor.account-vLQ3bKHu.js +5382 -0
  287. package/dist/nodes-Bunvrb33.js +1483 -0
  288. package/dist/nodes-edNlxb2I.js +3 -0
  289. package/dist/nodes-pending-DEIwVh9v.js +211 -0
  290. package/dist/openai-compat-errors-CvWEoG98.js +136 -0
  291. package/dist/openai-http-Bskdv4Tv.js +836 -0
  292. package/dist/openresponses-http-DxdgCxFU.js +1175 -0
  293. package/dist/operations-Z85LFqsT.js +805 -0
  294. package/dist/outbound.types-DVkbsxo8.d.ts +291 -0
  295. package/dist/plugin-enabled-fvhTpvYS.js +232 -0
  296. package/dist/plugin-entry-CunlVUw6.d.ts +47 -0
  297. package/dist/plugin-registration-9ovnK_Tk.js +97 -0
  298. package/dist/plugin-runtime-DH2ZM9P5.d.ts +117 -0
  299. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  300. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  301. package/dist/plugin-sdk/acp-runtime.js +1 -1
  302. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  303. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  304. package/dist/plugin-sdk/agent-harness.js +6 -6
  305. package/dist/plugin-sdk/agent-runtime.js +2 -2
  306. package/dist/plugin-sdk/bundled-channel-config-schema-Dfn3b8sF.d.ts +3169 -0
  307. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +1 -1
  308. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +1 -1
  309. package/dist/plugin-sdk/channel-core.js +2 -2
  310. package/dist/plugin-sdk/channel-envelope.js +1 -1
  311. package/dist/plugin-sdk/channel-inbound-roots.js +1 -1
  312. package/dist/plugin-sdk/channel-inbound.js +2 -2
  313. package/dist/plugin-sdk/channel-location.js +1 -1
  314. package/dist/plugin-sdk/channel-message-runtime.js +3 -3
  315. package/dist/plugin-sdk/channel-message.js +2 -2
  316. package/dist/plugin-sdk/channel-runtime.js +0 -1
  317. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  318. package/dist/plugin-sdk/compat.js +1 -1
  319. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  320. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  321. package/dist/plugin-sdk/core.js +2 -2
  322. package/dist/plugin-sdk/discord.d.ts +1 -1
  323. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  324. package/dist/plugin-sdk/health.js +1 -1
  325. package/dist/plugin-sdk/hook-runtime.js +0 -1
  326. package/dist/plugin-sdk/inbound-reply-dispatch.js +2 -2
  327. package/dist/plugin-sdk/index.js +1 -1
  328. package/dist/plugin-sdk/infra-runtime.js +3 -1
  329. package/dist/plugin-sdk/provider-auth-api-key.js +0 -1
  330. package/dist/plugin-sdk/provider-stream-family.js +0 -1
  331. package/dist/plugin-sdk/provider-usage.js +649 -1
  332. package/dist/plugin-sdk/reply-runtime.js +4 -4
  333. package/dist/plugin-sdk/video-generation.js +206 -1
  334. package/dist/plugin-service-BdZxoKBZ.js +1249 -0
  335. package/dist/plugin-service-quTl5hT0.d.ts +24 -0
  336. package/dist/plugins/build-smoke-entry.d.ts +2 -2
  337. package/dist/plugins/loader.d.ts +1 -1
  338. package/dist/plugins/provider-discovery.runtime.d.ts +1 -1
  339. package/dist/plugins/provider-runtime.runtime.d.ts +1 -1
  340. package/dist/plugins/runtime/index.d.ts +1 -1
  341. package/dist/plugins/runtime/index.js +4 -4
  342. package/dist/plugins/tools.d.ts +1 -1
  343. package/dist/prepare.runtime-DFvkUqBZ.js +798 -0
  344. package/dist/prepare.runtime.js +1 -1
  345. package/dist/preview-warnings-CGzc8ccG.js +618 -0
  346. package/dist/program-D19g2jaa.js +131 -0
  347. package/dist/provider-api-key-auth-B8GgTfo8.d.ts +27 -0
  348. package/dist/provider-auth-result-Diw-woMA.d.ts +21 -0
  349. package/dist/provider-catalog-shared-hMvzzDgL.d.ts +62 -0
  350. package/dist/provider-dispatcher-DCTc4lG_.js +22 -0
  351. package/dist/provider-dispatcher.runtime.js +1 -1
  352. package/dist/provider-model-shared-BUCh3uCL.d.ts +143 -0
  353. package/dist/provider-registry-BIokPlxa.d.ts +8 -0
  354. package/dist/provider-registry-CyUOXHG-.d.ts +8 -0
  355. package/dist/provider-registry-i--H79Ao.d.ts +29 -0
  356. package/dist/provider-self-hosted-setup-BF8UR8wg.d.ts +74 -0
  357. package/dist/provider-stream-NF0XJnar.d.ts +139 -0
  358. package/dist/provider-stream-shared-DLwDaYed.d.ts +132 -0
  359. package/dist/provider-web-search-contract-fields-D61Vl5Kl.d.ts +25 -0
  360. package/dist/pw-ai-DYR-D7xR.js +3064 -0
  361. package/dist/register.agent-DwW0mQPk.js +152 -0
  362. package/dist/register.crestodian-BhIukKDA.js +24 -0
  363. package/dist/register.maintenance-DWHlvztJ.js +85 -0
  364. package/dist/register.subclis-Bsvdh8RI.js +3 -0
  365. package/dist/register.subclis-DVk0HU4k.js +31 -0
  366. package/dist/register.subclis-core-BK7nVvl6.js +278 -0
  367. package/dist/registry-hscEPAcC.d.ts +8 -0
  368. package/dist/registry-types-Ce-n1tuw.d.ts +392 -0
  369. package/dist/repair-sequencing-0-qGNSUO.js +652 -0
  370. package/dist/reply-payload-mCw4ZND6.d.ts +200 -0
  371. package/dist/reply-turn-admission-DMWNadoS.js +2056 -0
  372. package/dist/reply.runtime-CE8zmX7o.js +2 -0
  373. package/dist/reply.runtime.js +1 -1
  374. package/dist/result-fallback-classifier-BZmv2ACy.js +98 -0
  375. package/dist/route-qQ-jYpFa.js +475 -0
  376. package/dist/routes-dTCmw98g.js +2 -0
  377. package/dist/routes-r8DRKa83.js +3701 -0
  378. package/dist/run-BgH7EPGH.js +1162 -0
  379. package/dist/run-command-DCsM-BVh.js +23 -0
  380. package/dist/run-command-I2ib4dwS.js +2 -0
  381. package/dist/run-context-CWaKUKKJ.js +66 -0
  382. package/dist/run-embedded.runtime-CBnDBWN0.js +4 -0
  383. package/dist/run-embedded.runtime.js +1 -1
  384. package/dist/run-execution-cli.runtime-DlYXI-lw.js +4 -0
  385. package/dist/run-execution-cli.runtime.js +1 -1
  386. package/dist/run-executor.runtime-DwepGrmB.js +330 -0
  387. package/dist/run-executor.runtime.js +1 -1
  388. package/dist/run-subagent-registry.runtime-CeVpoIhj.js +2 -0
  389. package/dist/run-subagent-registry.runtime.js +1 -1
  390. package/dist/runtime-D2ee-rNh.js +436 -0
  391. package/dist/runtime-api-B99ZlkNt.d.ts +5 -0
  392. package/dist/runtime-api-Cta2L_Yo.js +12 -0
  393. package/dist/runtime-channel-LKOkML3M.js +2 -0
  394. package/dist/runtime-channel-UtWvrTZ5.js +148 -0
  395. package/dist/runtime-embedded-agent.runtime-9O2Idzyb.js +2 -0
  396. package/dist/runtime-embedded-agent.runtime.js +1 -1
  397. package/dist/runtime-forwarders-DjI8RFL5.d.ts +39 -0
  398. package/dist/sdk-setup-tools-B-X04pa6.js +8 -0
  399. package/dist/selection-B02h8Old.js +3 -0
  400. package/dist/selection-DEPvzrW2.js +18365 -0
  401. package/dist/server-CMYi8gDo.js +24 -0
  402. package/dist/server-Cx07rsiY.js +72 -0
  403. package/dist/server-close.runtime.js +1 -1
  404. package/dist/server-context-BIemGRt4.js +2 -0
  405. package/dist/server-context-CB_an9iy.js +955 -0
  406. package/dist/server-cron-BeyuBUjb.js +3173 -0
  407. package/dist/server-cron-CV7KkVeB.js +2 -0
  408. package/dist/server-methods-C7EnpOhB.js +497 -0
  409. package/dist/server-node-events-DMMzZciN.js +597 -0
  410. package/dist/server-plugin-bootstrap-O6MzvzL8.js +71 -0
  411. package/dist/server-plugins-Dwnaz9kX.js +435 -0
  412. package/dist/server-reload-handlers-C-6TyPvI.js +719 -0
  413. package/dist/server-restart-sentinel-Dc35eYgk.js +700 -0
  414. package/dist/server-runtime-services-DCs-gqh_.js +3 -0
  415. package/dist/server-runtime-services-DF2fzzVd.js +147 -0
  416. package/dist/server-startup-plugins-t-YeYibm.js +127 -0
  417. package/dist/server-startup-post-attach-CiEki-DC.js +793 -0
  418. package/dist/server-ws-runtime-uaUpI-e8.js +374 -0
  419. package/dist/server.impl-MoHjSMr5.js +2622 -0
  420. package/dist/session-kill-http-CYCiQpt2.js +121 -0
  421. package/dist/session-reset-service-BYbADY57.js +651 -0
  422. package/dist/session-status.runtime-8NASbeO4.js +2 -0
  423. package/dist/session-status.runtime.js +1 -1
  424. package/dist/session-subagent-reactivation.runtime-DGeNY2Rb.js +2 -0
  425. package/dist/session-subagent-reactivation.runtime.js +1 -1
  426. package/dist/session-tab-registry-C2eElZrt.js +551 -0
  427. package/dist/sessions-DXAdVXIx.js +1917 -0
  428. package/dist/sessions-history-http-BwK7b8OH.js +432 -0
  429. package/dist/sessions-patch-BYC5gvY1.js +401 -0
  430. package/dist/sessions-resolve-C3ORcdmo.js +180 -0
  431. package/dist/sessions.runtime-BijldeSY.js +2 -0
  432. package/dist/sessions.runtime.js +1 -1
  433. package/dist/snapshot-urls-C5CfP3Co.js +317 -0
  434. package/dist/speech-core-wWkTZPpQ.d.ts +49 -0
  435. package/dist/standalone-CHrieUsw.js +42 -0
  436. package/dist/startup-context-CZfmG8-g.js +314 -0
  437. package/dist/status-subagents.runtime-D2XMebiS.js +32 -0
  438. package/dist/status-subagents.runtime.js +1 -1
  439. package/dist/status-text-JR7IPyzZ.js +301 -0
  440. package/dist/stream-BJgTkLEI.d.ts +5 -0
  441. package/dist/subagent-announce-B9cfs_KZ.js +353 -0
  442. package/dist/subagent-announce-delivery-CtmEvLTS.js +1369 -0
  443. package/dist/subagent-control-DVqLHi9O.js +492 -0
  444. package/dist/subagent-hooks-D251uSvy.js +230 -0
  445. package/dist/subagent-hooks-api-DvdMKxsC.js +23 -0
  446. package/dist/subagent-hooks-uLORYChc.js +2 -0
  447. package/dist/subagent-registry-BW2l_oYu.js +3 -0
  448. package/dist/subagent-registry-BxEMHuiN.js +2627 -0
  449. package/dist/subagent-registry.runtime.d.ts +1 -1
  450. package/dist/subagent-registry.runtime.js +1 -1
  451. package/dist/subagent-session-cleanup-BC5wV2qQ.js +390 -0
  452. package/dist/system-fvgHsr2x.js +111 -0
  453. package/dist/talk-DU0Sod_K.js +2454 -0
  454. package/dist/target-id-BR2xJIkd.js +107 -0
  455. package/dist/task-registry-control.runtime.js +1 -1
  456. package/dist/thread-bindings-8XNu5U2p.js +228 -0
  457. package/dist/tool-Boeg0N5g.js +143 -0
  458. package/dist/tool-dispatch-BhLLaL2g.js +155 -0
  459. package/dist/tool-resolution-CzsLs-87.js +153 -0
  460. package/dist/tool-split-Bedy42Ms.d.ts +19 -0
  461. package/dist/tools-B6egHpE3.d.ts +38 -0
  462. package/dist/tools-effective-NXscxK8n.js +442 -0
  463. package/dist/tools-effective-inventory-NsGMUVo-.js +379 -0
  464. package/dist/tools-invoke-_sSu96Kq.js +51 -0
  465. package/dist/tools-invoke-http-BDhlRl-G.js +68 -0
  466. package/dist/tools-invoke-shared-BH-T9Bcg.js +200 -0
  467. package/dist/tts-runtime-C1wu3o15.d.ts +230 -0
  468. package/dist/tui-C733Qov0.js +2 -0
  469. package/dist/tui-DqbscVN5.js +3 -0
  470. package/dist/tui-backend-_Pn3Byj-.js +257 -0
  471. package/dist/tui-cli-CAiC39zd.js +40 -0
  472. package/dist/tui-ink-run-ChXEGj1h.js +7414 -0
  473. package/dist/tui-ink-run-D4mSfLHj.js +2 -0
  474. package/dist/types-BQw1qXGl.d.ts +7034 -0
  475. package/dist/types-BzMoU6-C.d.ts +111 -0
  476. package/dist/types-DltHmoCX.d.ts +393 -0
  477. package/dist/types.public-C_bVIMBl.d.ts +70 -0
  478. package/dist/web-fetch/runtime.d.ts +1 -1
  479. package/dist/webhook-targets-DW2jhddP.d.ts +99 -0
  480. package/npm-shrinkwrap.json +12861 -11889
  481. package/package.json +2 -5
  482. package/skills/batch/SKILL.md +118 -0
  483. package/skills/code-review/SKILL.md +107 -0
  484. package/skills/debug/SKILL.md +83 -0
  485. package/skills/loop/SKILL.md +118 -0
  486. package/skills/run/SKILL.md +79 -0
  487. package/skills/run-skill-generator/SKILL.md +179 -0
  488. package/skills/verify/SKILL.md +103 -0
  489. package/dist/abort-DGskei2p.js +0 -277
  490. package/dist/abort.runtime-Buq9IZxn.js +0 -2
  491. package/dist/acp-spawn-DC6IyYaB.js +0 -1286
  492. package/dist/acp-spawn-Diqb3nel.js +0 -2
  493. package/dist/acp-stateful-target-driver-Clhe_L8v.js +0 -89
  494. package/dist/active-tool-schema-warnings-BRhKkyvt.js +0 -2
  495. package/dist/active-tool-schema-warnings-C6N0-ce6.js +0 -105
  496. package/dist/agent-C5lhsEZJ.js +0 -2
  497. package/dist/agent-WEb757bl.js +0 -1825
  498. package/dist/agent-command-iLD_nsVY.js +0 -1435
  499. package/dist/agent-core-BeDN8Ns5.d.ts +0 -13
  500. package/dist/agent-harness-runtime-C89_Q-bW.d.ts +0 -913
  501. package/dist/agent-harness-runtime-Dfn5rik2.js +0 -207
  502. package/dist/agent-runner-utils-DNiuuo43.js +0 -267
  503. package/dist/agent-runner.runtime-CFF_qJ5V.js +0 -3784
  504. package/dist/agent-runtime-BkMtWXxn.js +0 -199
  505. package/dist/agent-runtime-HufMO_YR.d.ts +0 -207
  506. package/dist/agent-tools-HmaDv4ot.js +0 -2506
  507. package/dist/agent-via-gateway-CZQG8RYL.js +0 -486
  508. package/dist/agent-wait-dedupe-C3xQk2Ww.js +0 -180
  509. package/dist/agent-z1cs3c7n.js +0 -3
  510. package/dist/api-B4IMKjSe.js +0 -3
  511. package/dist/api-BwSbBWI8.js +0 -3
  512. package/dist/api-CE9In9m4.js +0 -5
  513. package/dist/api-ClPvYNGa.js +0 -32
  514. package/dist/api-CntBCaZf.js +0 -3
  515. package/dist/api-DBZBwTsn.js +0 -6
  516. package/dist/api-OCPwGOvK.js +0 -2
  517. package/dist/api-yYhEo7gK.js +0 -4
  518. package/dist/approval-client-helpers-CfdQ3-vv.d.ts +0 -78
  519. package/dist/approval-native-helpers-DSHPksK4.d.ts +0 -241
  520. package/dist/approval-renderers-BfEfwk44.d.ts +0 -39
  521. package/dist/assistant-v5fdOYu7.js +0 -291
  522. package/dist/attachment-normalize-BHAbLiL2.js +0 -213
  523. package/dist/attempt-execution-5w9WYbaJ.js +0 -584
  524. package/dist/attempt-execution.runtime-DnhOWGzr.js +0 -3
  525. package/dist/attempt.prompt-helpers-C4M4erF7.js +0 -543
  526. package/dist/binding-routing-Dpes-QF1.js +0 -113
  527. package/dist/binding-targets-B6H5Pd-A.js +0 -121
  528. package/dist/bridge-server-BCpxCRm_.js +0 -113
  529. package/dist/browser-cli-DMhXHopl.js +0 -230
  530. package/dist/browser-cli-Dy_VugK0.js +0 -2
  531. package/dist/browser-cli-actions-input-WMP7_lm6.js +0 -522
  532. package/dist/browser-cli-actions-observe-DQWAWhwU.js +0 -81
  533. package/dist/browser-cli-debug-CaT2ZKAx.js +0 -137
  534. package/dist/browser-cli-inspect-DU-LUXq1.js +0 -117
  535. package/dist/browser-cli-manage-DAuogqIh.js +0 -446
  536. package/dist/browser-cli-resize-Cz5uO_aR.js +0 -32
  537. package/dist/browser-cli-shared-CjPZcG3j.js +0 -69
  538. package/dist/browser-cli-state-CC3l77-K.js +0 -371
  539. package/dist/browser-control-auth-ELccIUZy.js +0 -2
  540. package/dist/browser-profiles-Cuy4ia6_.js +0 -2
  541. package/dist/browser-runtime-De-iUfME.js +0 -389
  542. package/dist/build-DEF8Per9.js +0 -261
  543. package/dist/capability-cli-Bydel4E7.js +0 -1809
  544. package/dist/channel-6SGL4R5P.js +0 -2309
  545. package/dist/channel-D3Q3b8J-.d.ts +0 -427
  546. package/dist/channel-core-Bj71kAB5.d.ts +0 -6
  547. package/dist/channel-core-DMvyWnHg.js +0 -5
  548. package/dist/channel-entry-contract-zYxRmEdf.d.ts +0 -114
  549. package/dist/channel-inbound-DVJzBcJ8.d.ts +0 -97
  550. package/dist/channel-inbound-DlCa7eJe.js +0 -121
  551. package/dist/channel-message-CyPGMMFB.js +0 -12
  552. package/dist/channel-message-Czl4cdoA.d.ts +0 -9
  553. package/dist/channel-outbound-BNbhmruA.d.ts +0 -325
  554. package/dist/channel-pairing-BiS-tSvl.d.ts +0 -58
  555. package/dist/channel-runtime-D8hntg7H.js +0 -7
  556. package/dist/channel.runtime-DxErReJR.js +0 -697
  557. package/dist/chat-BLA8ORQI.js +0 -3
  558. package/dist/chat-DWRXkuvU.js +0 -2940
  559. package/dist/chrome-DPwFYi-g.js +0 -1517
  560. package/dist/cli-compaction-YZpssARf.js +0 -363
  561. package/dist/cli-runner-D2OAqxu3.js +0 -597
  562. package/dist/cli-runner-DO4SORQf.js +0 -2
  563. package/dist/cli-runner.runtime-CNSIpbeT.js +0 -4
  564. package/dist/cli-runner.runtime-DAOYvpVQ.js +0 -3
  565. package/dist/command-registry-DpD0fb8D.js +0 -4
  566. package/dist/command-registry-core-Cl3tLG8G.js +0 -114
  567. package/dist/command-registry-nbP7c8RT.js +0 -9
  568. package/dist/command-status.runtime-BBuXTkq0.js +0 -90
  569. package/dist/commands-CR8MVvlD.d.ts +0 -117
  570. package/dist/commands-compact.runtime-BoafIjjg.js +0 -10
  571. package/dist/commands-handlers.runtime-D9jViG_x.js +0 -6327
  572. package/dist/commands-status-BqqJ7PVq.js +0 -16
  573. package/dist/commands-status-CMd41Vxf.js +0 -3
  574. package/dist/commands-status.runtime-CMd41Vxf.js +0 -3
  575. package/dist/commands-subagents-control.runtime-CU4I3A_n.js +0 -2
  576. package/dist/commands-system-prompt-CTtu1D3-.js +0 -2
  577. package/dist/commands-system-prompt-xswhORdM.js +0 -161
  578. package/dist/commands-types-B67CsqXf.d.ts +0 -132
  579. package/dist/commands.runtime-BUFhkrjQ.js +0 -175
  580. package/dist/compact-Dz_WvRkQ.js +0 -1165
  581. package/dist/compact.runtime-n-AKErni.js +0 -12
  582. package/dist/completion-cli-DJYs_L4_.js +0 -393
  583. package/dist/config-CFMbHJb0.js +0 -374
  584. package/dist/config-mutations-DCAloTKR.js +0 -161
  585. package/dist/config-schema-Drw1zrnG.d.ts +0 -20
  586. package/dist/context-engine-host-compat-4mNm1HCE.js +0 -2
  587. package/dist/context-engine-host-compat-BzJ7fUIn.js +0 -280
  588. package/dist/context-engine-lifecycle-V4PNQp6k.js +0 -627
  589. package/dist/control-auth-DG_cw-aN.js +0 -114
  590. package/dist/control-service-CurYipgK.js +0 -3
  591. package/dist/control-service-VyncoV7j.js +0 -40
  592. package/dist/control-ui/assets/activity-D5Plhlo-.js +0 -124
  593. package/dist/control-ui/assets/agents-Chcdfe1E.js +0 -1030
  594. package/dist/control-ui/assets/channels-BEtB4H37.js +0 -120
  595. package/dist/control-ui/assets/cron-CZyPkxSU.js +0 -1016
  596. package/dist/control-ui/assets/debug-DvM8iG47.js +0 -97
  597. package/dist/control-ui/assets/index-Rmpgh0f1.js +0 -7214
  598. package/dist/control-ui/assets/instances-yTC_uu60.js +0 -57
  599. package/dist/control-ui/assets/nodes-vbAxVHIH.js +0 -444
  600. package/dist/control-ui/assets/sessions-DOviHme5.js +0 -425
  601. package/dist/control-ui/assets/skills-Bfp5HEGW.js +0 -362
  602. package/dist/control-ui/assets/workboard-5sU2kHsV.js +0 -402
  603. package/dist/conversation-runtime-DgaABwHh.js +0 -31
  604. package/dist/core-BeBXdneV.js +0 -284
  605. package/dist/core-Chqb7X6l.d.ts +0 -223
  606. package/dist/core-api-BlK0FgBM.js +0 -2
  607. package/dist/core-api-pAvYk716.js +0 -5
  608. package/dist/crestodian-FeGTBqO1.js +0 -55
  609. package/dist/delegate-BjIjSU_E.d.ts +0 -30
  610. package/dist/deliver-CvtWN4Ey.d.ts +0 -111
  611. package/dist/delivery-queue-CQ-cj3KG.d.ts +0 -161
  612. package/dist/delivery-queue-runtime-ut7MG04m.d.ts +0 -9
  613. package/dist/detect-BjXPyrwn.js +0 -115
  614. package/dist/detect-C1xeIemQ.d.ts +0 -16
  615. package/dist/dialogue-BowVYhEC.js +0 -37
  616. package/dist/direct-dm-DoZZHpA0.d.ts +0 -79
  617. package/dist/directive-handling.fast-lane-hnmQ_CvD.js +0 -70
  618. package/dist/directive-handling.impl-Cai-CFS1.js +0 -2
  619. package/dist/directive-handling.impl-DY84qIfU.js +0 -823
  620. package/dist/directive-handling.model-selection-DASssLFQ.js +0 -122
  621. package/dist/directive-handling.persist.runtime-BY7tJUs2.js +0 -274
  622. package/dist/dispatch-D5iG5A8j.js +0 -2057
  623. package/dist/dispatch-acp-transcript.runtime-D3r16hbD.js +0 -40
  624. package/dist/dispatch-acp.runtime-CAIau5qX.js +0 -18
  625. package/dist/dispatcher-7-d2gw3J.js +0 -106
  626. package/dist/doctor-DD5YEMmf.js +0 -6
  627. package/dist/doctor-config-flow-CdlLHJmX.js +0 -1819
  628. package/dist/doctor-core-checks-6MP99TQG.js +0 -666
  629. package/dist/doctor-core-checks-Dm_o576z.js +0 -2
  630. package/dist/doctor-core-checks.runtime-B2qbKATd.js +0 -278
  631. package/dist/doctor-health-BKrhOv1v.js +0 -65
  632. package/dist/doctor-health-contributions-bIBLmw69.js +0 -874
  633. package/dist/doctor-lint-aOLOWli4.js +0 -95
  634. package/dist/doctor-state-integrity-23NQNNuo.js +0 -1257
  635. package/dist/draft-stream-controls-Bk1GVJ1l.d.ts +0 -159
  636. package/dist/embedded-agent-BeK8FhZr.d.ts +0 -5
  637. package/dist/embedded-agent-CNp_y7jW.js +0 -4074
  638. package/dist/embedded-agent-NEmNlXDR.js +0 -4
  639. package/dist/embedded-agent.runtime-hEby8P2s.js +0 -4
  640. package/dist/embedded-backend-BdbgfpBP.js +0 -1581
  641. package/dist/embedded-gateway-stub.runtime-ySZUA3Gy.js +0 -12
  642. package/dist/extensions/alibaba/fengming.plugin.json +0 -47
  643. package/dist/extensions/alibaba/index.d.ts +0 -12
  644. package/dist/extensions/alibaba/index.js +0 -13
  645. package/dist/extensions/alibaba/package.json +0 -15
  646. package/dist/extensions/alibaba/video-generation-provider.d.ts +0 -6
  647. package/dist/extensions/alibaba/video-generation-provider.js +0 -2
  648. package/dist/extensions/baichuan/fengming.plugin.json +0 -69
  649. package/dist/extensions/baichuan/index.d.ts +0 -11
  650. package/dist/extensions/baichuan/index.js +0 -45
  651. package/dist/extensions/baichuan/models.d.ts +0 -7
  652. package/dist/extensions/baichuan/models.js +0 -2
  653. package/dist/extensions/baichuan/onboard.d.ts +0 -5
  654. package/dist/extensions/baichuan/onboard.js +0 -2
  655. package/dist/extensions/baichuan/package.json +0 -15
  656. package/dist/extensions/baichuan/provider-catalog.d.ts +0 -2
  657. package/dist/extensions/baichuan/provider-catalog.js +0 -2
  658. package/dist/extensions/baichuan/provider-discovery.d.ts +0 -2
  659. package/dist/extensions/baichuan/provider-discovery.js +0 -5
  660. package/dist/extensions/byteplus/api.d.ts +0 -3
  661. package/dist/extensions/byteplus/api.js +0 -3
  662. package/dist/extensions/byteplus/fengming.plugin.json +0 -196
  663. package/dist/extensions/byteplus/index.d.ts +0 -12
  664. package/dist/extensions/byteplus/index.js +0 -85
  665. package/dist/extensions/byteplus/models.d.ts +0 -2
  666. package/dist/extensions/byteplus/models.js +0 -2
  667. package/dist/extensions/byteplus/package.json +0 -15
  668. package/dist/extensions/byteplus/provider-catalog.d.ts +0 -2
  669. package/dist/extensions/byteplus/provider-catalog.js +0 -2
  670. package/dist/extensions/byteplus/provider-discovery.d.ts +0 -5
  671. package/dist/extensions/byteplus/provider-discovery.js +0 -23
  672. package/dist/extensions/byteplus/video-generation-provider.d.ts +0 -6
  673. package/dist/extensions/byteplus/video-generation-provider.js +0 -2
  674. package/dist/extensions/longcat/fengming.plugin.json +0 -84
  675. package/dist/extensions/longcat/index.d.ts +0 -11
  676. package/dist/extensions/longcat/index.js +0 -45
  677. package/dist/extensions/longcat/models.d.ts +0 -7
  678. package/dist/extensions/longcat/models.js +0 -2
  679. package/dist/extensions/longcat/onboard.d.ts +0 -5
  680. package/dist/extensions/longcat/onboard.js +0 -2
  681. package/dist/extensions/longcat/package.json +0 -15
  682. package/dist/extensions/longcat/provider-catalog.d.ts +0 -2
  683. package/dist/extensions/longcat/provider-catalog.js +0 -2
  684. package/dist/extensions/longcat/provider-discovery.d.ts +0 -2
  685. package/dist/extensions/longcat/provider-discovery.js +0 -5
  686. package/dist/extensions/minimax/api.d.ts +0 -5
  687. package/dist/extensions/minimax/api.js +0 -6
  688. package/dist/extensions/minimax/fengming.plugin.json +0 -206
  689. package/dist/extensions/minimax/image-generation-provider.d.ts +0 -6
  690. package/dist/extensions/minimax/image-generation-provider.js +0 -2
  691. package/dist/extensions/minimax/index.d.ts +0 -12
  692. package/dist/extensions/minimax/index.js +0 -29
  693. package/dist/extensions/minimax/media-understanding-provider.d.ts +0 -6
  694. package/dist/extensions/minimax/media-understanding-provider.js +0 -2
  695. package/dist/extensions/minimax/model-definitions.d.ts +0 -2
  696. package/dist/extensions/minimax/model-definitions.js +0 -2
  697. package/dist/extensions/minimax/music-generation-provider.d.ts +0 -6
  698. package/dist/extensions/minimax/music-generation-provider.js +0 -2
  699. package/dist/extensions/minimax/oauth.d.ts +0 -2
  700. package/dist/extensions/minimax/oauth.js +0 -2
  701. package/dist/extensions/minimax/oauth.runtime.d.ts +0 -2
  702. package/dist/extensions/minimax/oauth.runtime.js +0 -2
  703. package/dist/extensions/minimax/onboard.d.ts +0 -2
  704. package/dist/extensions/minimax/onboard.js +0 -2
  705. package/dist/extensions/minimax/package.json +0 -15
  706. package/dist/extensions/minimax/provider-catalog.d.ts +0 -2
  707. package/dist/extensions/minimax/provider-catalog.js +0 -2
  708. package/dist/extensions/minimax/provider-contract-api.d.ts +0 -6
  709. package/dist/extensions/minimax/provider-contract-api.js +0 -77
  710. package/dist/extensions/minimax/provider-discovery.d.ts +0 -5
  711. package/dist/extensions/minimax/provider-discovery.js +0 -23
  712. package/dist/extensions/minimax/provider-models.d.ts +0 -2
  713. package/dist/extensions/minimax/provider-models.js +0 -2
  714. package/dist/extensions/minimax/provider-registration.d.ts +0 -7
  715. package/dist/extensions/minimax/provider-registration.js +0 -2
  716. package/dist/extensions/minimax/speech-provider.d.ts +0 -5
  717. package/dist/extensions/minimax/speech-provider.js +0 -2
  718. package/dist/extensions/minimax/tts.d.ts +0 -20
  719. package/dist/extensions/minimax/tts.js +0 -2
  720. package/dist/extensions/minimax/video-generation-provider.d.ts +0 -7
  721. package/dist/extensions/minimax/video-generation-provider.js +0 -2
  722. package/dist/extensions/minimax/web-search-contract-api.d.ts +0 -5
  723. package/dist/extensions/minimax/web-search-contract-api.js +0 -31
  724. package/dist/extensions/minimax/web-search-provider.d.ts +0 -5
  725. package/dist/extensions/minimax/web-search-provider.js +0 -2
  726. package/dist/extensions/moonshot/api.d.ts +0 -3
  727. package/dist/extensions/moonshot/api.js +0 -4
  728. package/dist/extensions/moonshot/fengming.plugin.json +0 -250
  729. package/dist/extensions/moonshot/index.d.ts +0 -11
  730. package/dist/extensions/moonshot/index.js +0 -70
  731. package/dist/extensions/moonshot/media-understanding-provider.d.ts +0 -6
  732. package/dist/extensions/moonshot/media-understanding-provider.js +0 -2
  733. package/dist/extensions/moonshot/onboard.d.ts +0 -2
  734. package/dist/extensions/moonshot/onboard.js +0 -2
  735. package/dist/extensions/moonshot/package.json +0 -15
  736. package/dist/extensions/moonshot/provider-catalog.d.ts +0 -2
  737. package/dist/extensions/moonshot/provider-catalog.js +0 -2
  738. package/dist/extensions/moonshot/provider-contract-api.d.ts +0 -5
  739. package/dist/extensions/moonshot/provider-contract-api.js +0 -27
  740. package/dist/extensions/moonshot/provider-discovery.d.ts +0 -5
  741. package/dist/extensions/moonshot/provider-discovery.js +0 -15
  742. package/dist/extensions/moonshot/web-search-contract-api.d.ts +0 -5
  743. package/dist/extensions/moonshot/web-search-contract-api.js +0 -29
  744. package/dist/extensions/moonshot/web-search-provider.d.ts +0 -5
  745. package/dist/extensions/moonshot/web-search-provider.js +0 -2
  746. package/dist/extensions/qianfan/api.d.ts +0 -3
  747. package/dist/extensions/qianfan/api.js +0 -3
  748. package/dist/extensions/qianfan/fengming.plugin.json +0 -89
  749. package/dist/extensions/qianfan/index.d.ts +0 -11
  750. package/dist/extensions/qianfan/index.js +0 -26
  751. package/dist/extensions/qianfan/onboard.d.ts +0 -2
  752. package/dist/extensions/qianfan/onboard.js +0 -2
  753. package/dist/extensions/qianfan/package.json +0 -15
  754. package/dist/extensions/qianfan/provider-catalog.d.ts +0 -2
  755. package/dist/extensions/qianfan/provider-catalog.js +0 -2
  756. package/dist/extensions/qwen/api.d.ts +0 -4
  757. package/dist/extensions/qwen/api.js +0 -5
  758. package/dist/extensions/qwen/fengming.plugin.json +0 -389
  759. package/dist/extensions/qwen/index.d.ts +0 -11
  760. package/dist/extensions/qwen/index.js +0 -202
  761. package/dist/extensions/qwen/media-understanding-provider.d.ts +0 -6
  762. package/dist/extensions/qwen/media-understanding-provider.js +0 -2
  763. package/dist/extensions/qwen/model-definitions.d.ts +0 -2
  764. package/dist/extensions/qwen/model-definitions.js +0 -2
  765. package/dist/extensions/qwen/models.d.ts +0 -2
  766. package/dist/extensions/qwen/models.js +0 -2
  767. package/dist/extensions/qwen/onboard.d.ts +0 -21
  768. package/dist/extensions/qwen/onboard.js +0 -2
  769. package/dist/extensions/qwen/package.json +0 -15
  770. package/dist/extensions/qwen/provider-catalog.d.ts +0 -2
  771. package/dist/extensions/qwen/provider-catalog.js +0 -2
  772. package/dist/extensions/qwen/stream.d.ts +0 -2
  773. package/dist/extensions/qwen/stream.js +0 -2
  774. package/dist/extensions/qwen/video-generation-provider.d.ts +0 -6
  775. package/dist/extensions/qwen/video-generation-provider.js +0 -2
  776. package/dist/extensions/sensenova/fengming.plugin.json +0 -69
  777. package/dist/extensions/sensenova/index.d.ts +0 -11
  778. package/dist/extensions/sensenova/index.js +0 -45
  779. package/dist/extensions/sensenova/models.d.ts +0 -7
  780. package/dist/extensions/sensenova/models.js +0 -2
  781. package/dist/extensions/sensenova/onboard.d.ts +0 -5
  782. package/dist/extensions/sensenova/onboard.js +0 -2
  783. package/dist/extensions/sensenova/package.json +0 -15
  784. package/dist/extensions/sensenova/provider-catalog.d.ts +0 -2
  785. package/dist/extensions/sensenova/provider-catalog.js +0 -2
  786. package/dist/extensions/sensenova/provider-discovery.d.ts +0 -2
  787. package/dist/extensions/sensenova/provider-discovery.js +0 -5
  788. package/dist/extensions/stepfun/fengming.plugin.json +0 -162
  789. package/dist/extensions/stepfun/index.d.ts +0 -12
  790. package/dist/extensions/stepfun/index.js +0 -165
  791. package/dist/extensions/stepfun/onboard.d.ts +0 -7
  792. package/dist/extensions/stepfun/onboard.js +0 -2
  793. package/dist/extensions/stepfun/package.json +0 -15
  794. package/dist/extensions/stepfun/provider-catalog.d.ts +0 -14
  795. package/dist/extensions/stepfun/provider-catalog.js +0 -2
  796. package/dist/extensions/tencent/api.d.ts +0 -3
  797. package/dist/extensions/tencent/api.js +0 -4
  798. package/dist/extensions/tencent/fengming.plugin.json +0 -105
  799. package/dist/extensions/tencent/index.d.ts +0 -12
  800. package/dist/extensions/tencent/index.js +0 -62
  801. package/dist/extensions/tencent/models.d.ts +0 -2
  802. package/dist/extensions/tencent/models.js +0 -2
  803. package/dist/extensions/tencent/onboard.d.ts +0 -6
  804. package/dist/extensions/tencent/onboard.js +0 -2
  805. package/dist/extensions/tencent/package.json +0 -15
  806. package/dist/extensions/tencent/provider-catalog.d.ts +0 -2
  807. package/dist/extensions/tencent/provider-catalog.js +0 -2
  808. package/dist/extensions/tencent/provider-discovery.d.ts +0 -5
  809. package/dist/extensions/tencent/provider-discovery.js +0 -14
  810. package/dist/extensions/tiangong/fengming.plugin.json +0 -69
  811. package/dist/extensions/tiangong/index.d.ts +0 -11
  812. package/dist/extensions/tiangong/index.js +0 -45
  813. package/dist/extensions/tiangong/models.d.ts +0 -7
  814. package/dist/extensions/tiangong/models.js +0 -2
  815. package/dist/extensions/tiangong/onboard.d.ts +0 -5
  816. package/dist/extensions/tiangong/onboard.js +0 -2
  817. package/dist/extensions/tiangong/package.json +0 -15
  818. package/dist/extensions/tiangong/provider-catalog.d.ts +0 -2
  819. package/dist/extensions/tiangong/provider-catalog.js +0 -2
  820. package/dist/extensions/tiangong/provider-discovery.d.ts +0 -2
  821. package/dist/extensions/tiangong/provider-discovery.js +0 -5
  822. package/dist/extensions/volcengine/api.d.ts +0 -12
  823. package/dist/extensions/volcengine/api.js +0 -4
  824. package/dist/extensions/volcengine/fengming.plugin.json +0 -263
  825. package/dist/extensions/volcengine/index.d.ts +0 -12
  826. package/dist/extensions/volcengine/index.js +0 -88
  827. package/dist/extensions/volcengine/models.d.ts +0 -2
  828. package/dist/extensions/volcengine/models.js +0 -2
  829. package/dist/extensions/volcengine/package.json +0 -15
  830. package/dist/extensions/volcengine/provider-catalog.d.ts +0 -2
  831. package/dist/extensions/volcengine/provider-catalog.js +0 -2
  832. package/dist/extensions/volcengine/provider-discovery.d.ts +0 -5
  833. package/dist/extensions/volcengine/provider-discovery.js +0 -23
  834. package/dist/extensions/volcengine/speech-provider.d.ts +0 -5
  835. package/dist/extensions/volcengine/speech-provider.js +0 -2
  836. package/dist/extensions/volcengine/tts.d.ts +0 -22
  837. package/dist/extensions/volcengine/tts.js +0 -2
  838. package/dist/extensions/weixin/fengming.plugin.json +0 -22
  839. package/dist/extensions/weixin/index.d.ts +0 -26
  840. package/dist/extensions/weixin/index.js +0 -862
  841. package/dist/extensions/weixin/package.json +0 -45
  842. package/dist/extensions/xiaomi/api.d.ts +0 -3
  843. package/dist/extensions/xiaomi/api.js +0 -3
  844. package/dist/extensions/xiaomi/fengming.plugin.json +0 -260
  845. package/dist/extensions/xiaomi/index.d.ts +0 -12
  846. package/dist/extensions/xiaomi/index.js +0 -284
  847. package/dist/extensions/xiaomi/onboard.d.ts +0 -2
  848. package/dist/extensions/xiaomi/onboard.js +0 -2
  849. package/dist/extensions/xiaomi/package.json +0 -15
  850. package/dist/extensions/xiaomi/provider-catalog.d.ts +0 -2
  851. package/dist/extensions/xiaomi/provider-catalog.js +0 -2
  852. package/dist/extensions/xiaomi/speech-provider.d.ts +0 -5
  853. package/dist/extensions/xiaomi/speech-provider.js +0 -2
  854. package/dist/extensions/xiaomi/stream.d.ts +0 -5
  855. package/dist/extensions/xiaomi/stream.js +0 -2
  856. package/dist/extensions/xiaomi/thinking.d.ts +0 -11
  857. package/dist/extensions/xiaomi/thinking.js +0 -2
  858. package/dist/extensions/xingchen/fengming.plugin.json +0 -69
  859. package/dist/extensions/xingchen/index.d.ts +0 -11
  860. package/dist/extensions/xingchen/index.js +0 -45
  861. package/dist/extensions/xingchen/models.d.ts +0 -7
  862. package/dist/extensions/xingchen/models.js +0 -2
  863. package/dist/extensions/xingchen/onboard.d.ts +0 -5
  864. package/dist/extensions/xingchen/onboard.js +0 -2
  865. package/dist/extensions/xingchen/package.json +0 -15
  866. package/dist/extensions/xingchen/provider-catalog.d.ts +0 -2
  867. package/dist/extensions/xingchen/provider-catalog.js +0 -2
  868. package/dist/extensions/xingchen/provider-discovery.d.ts +0 -2
  869. package/dist/extensions/xingchen/provider-discovery.js +0 -5
  870. package/dist/extensions/yi/fengming.plugin.json +0 -84
  871. package/dist/extensions/yi/index.d.ts +0 -11
  872. package/dist/extensions/yi/index.js +0 -45
  873. package/dist/extensions/yi/models.d.ts +0 -7
  874. package/dist/extensions/yi/models.js +0 -2
  875. package/dist/extensions/yi/onboard.d.ts +0 -5
  876. package/dist/extensions/yi/onboard.js +0 -2
  877. package/dist/extensions/yi/package.json +0 -15
  878. package/dist/extensions/yi/provider-catalog.d.ts +0 -2
  879. package/dist/extensions/yi/provider-catalog.js +0 -2
  880. package/dist/extensions/yi/provider-discovery.d.ts +0 -2
  881. package/dist/extensions/yi/provider-discovery.js +0 -5
  882. package/dist/extensions/zai/api.d.ts +0 -4
  883. package/dist/extensions/zai/api.js +0 -4
  884. package/dist/extensions/zai/detect.d.ts +0 -2
  885. package/dist/extensions/zai/detect.js +0 -2
  886. package/dist/extensions/zai/fengming.plugin.json +0 -377
  887. package/dist/extensions/zai/index.d.ts +0 -12
  888. package/dist/extensions/zai/index.js +0 -297
  889. package/dist/extensions/zai/media-understanding-provider.d.ts +0 -5
  890. package/dist/extensions/zai/media-understanding-provider.js +0 -2
  891. package/dist/extensions/zai/model-definitions.d.ts +0 -2
  892. package/dist/extensions/zai/model-definitions.js +0 -2
  893. package/dist/extensions/zai/onboard.d.ts +0 -2
  894. package/dist/extensions/zai/onboard.js +0 -2
  895. package/dist/extensions/zai/package.json +0 -15
  896. package/dist/extensions/zai/runtime-api.d.ts +0 -2
  897. package/dist/extensions/zai/runtime-api.js +0 -2
  898. package/dist/extensions/zhinao/fengming.plugin.json +0 -69
  899. package/dist/extensions/zhinao/index.d.ts +0 -11
  900. package/dist/extensions/zhinao/index.js +0 -45
  901. package/dist/extensions/zhinao/models.d.ts +0 -7
  902. package/dist/extensions/zhinao/models.js +0 -2
  903. package/dist/extensions/zhinao/onboard.d.ts +0 -5
  904. package/dist/extensions/zhinao/onboard.js +0 -2
  905. package/dist/extensions/zhinao/package.json +0 -15
  906. package/dist/extensions/zhinao/provider-catalog.d.ts +0 -2
  907. package/dist/extensions/zhinao/provider-catalog.js +0 -2
  908. package/dist/extensions/zhinao/provider-discovery.d.ts +0 -2
  909. package/dist/extensions/zhinao/provider-discovery.js +0 -5
  910. package/dist/fengming-runtime-0jdu_329.d.ts +0 -153
  911. package/dist/fengming-tools-gQkwsWYz.js +0 -12221
  912. package/dist/fengming.plugin-C-Kdi1_5.js +0 -130
  913. package/dist/fengming.plugin-CRPqMj85.js +0 -166
  914. package/dist/gateway-cli-BV1V43-D.js +0 -443
  915. package/dist/gateway-method-runtime-J2OPP_oH.js +0 -21
  916. package/dist/get-reply-BE8ZGJos.js +0 -5198
  917. package/dist/get-reply-from-config.runtime-C5wfxVI_.js +0 -2
  918. package/dist/heartbeat-runner-_0HlObMb.js +0 -5
  919. package/dist/heartbeat-runner.runtime-DvYz_4Z3.js +0 -3
  920. package/dist/hook-runtime-BH9moP5T.js +0 -4
  921. package/dist/hooks-icCwsmrQ.js +0 -536
  922. package/dist/host-compat-dfJvEfe7.d.ts +0 -21
  923. package/dist/http-registry-Buj7R-F_.d.ts +0 -23
  924. package/dist/image-generation-provider-hrRXkkGc.js +0 -152
  925. package/dist/inbound-reply-dispatch-5AYt56Yt.js +0 -147
  926. package/dist/inbound-reply-dispatch-B5weFW8i.js +0 -2
  927. package/dist/inbound-reply-dispatch-cJh4H31y.d.ts +0 -156
  928. package/dist/infra-runtime-3_0R8nmO.js +0 -32
  929. package/dist/init-BnfkYG_k.js +0 -59
  930. package/dist/interactive-V8NfYsTW.d.ts +0 -26
  931. package/dist/isolated-agent-CgH7dfOj.js +0 -1097
  932. package/dist/isolated-agent-dBWkiw0a.js +0 -2
  933. package/dist/kernel-Ds2aqAJF.d.ts +0 -241
  934. package/dist/kimi-web-search-provider-QJT3Ftj3.js +0 -80
  935. package/dist/kimi-web-search-provider.runtime-Dj3SS4T5.js +0 -307
  936. package/dist/kimi-web-search-provider.runtime.js +0 -1
  937. package/dist/lib-Dg4yjNFQ.js +0 -871
  938. package/dist/lifecycle-B9k7QGsS.js +0 -570
  939. package/dist/list.probe-CbVHFNwf.js +0 -2
  940. package/dist/list.probe-CxiEBmyW.js +0 -451
  941. package/dist/list.status-command-DE-edGgB.js +0 -815
  942. package/dist/llm-slug-generator-DJgq9eFd.js +0 -78
  943. package/dist/loader-5AqYM9PC.d.ts +0 -142
  944. package/dist/local-dispatch.runtime-D3F4v51B.js +0 -10
  945. package/dist/manager-BWf1ks-Z.d.ts +0 -409
  946. package/dist/mcp-http-DU7Nsg4P.js +0 -583
  947. package/dist/mcp-http-iZCW6Cet.js +0 -2
  948. package/dist/media-runtime-DZ5RpQN7.d.ts +0 -261
  949. package/dist/media-understanding-DEdEyoQB.d.ts +0 -46
  950. package/dist/media-understanding-provider-4JHrQOUE.js +0 -70
  951. package/dist/media-understanding-provider-BV7O82XV.js +0 -29
  952. package/dist/media-understanding-provider-BlPRhYkx.js +0 -69
  953. package/dist/media-understanding-provider-BuX8eQLj.js +0 -13
  954. package/dist/memory-core-host-engine-embeddings-BDu5fx8E.d.ts +0 -324
  955. package/dist/memory-core-host-engine-storage-CdCuH-E2.d.ts +0 -54
  956. package/dist/message-handler-L6QLWNVP.js +0 -1806
  957. package/dist/minimax-web-search-provider-_gxeEOy8.js +0 -58
  958. package/dist/minimax-web-search-provider.runtime-BF4mGi6U.js +0 -148
  959. package/dist/minimax-web-search-provider.runtime.js +0 -1
  960. package/dist/model-catalog-DCnRkX8f.d.ts +0 -88
  961. package/dist/model-definitions-B2gY43hI.d.ts +0 -34
  962. package/dist/model-definitions-BLOyeH5h.js +0 -73
  963. package/dist/model-definitions-CoByf5mT.js +0 -243
  964. package/dist/model-definitions-WP3OmzbS.d.ts +0 -57
  965. package/dist/model-selection-DhTE6GZD.js +0 -352
  966. package/dist/models--iAR9QkZ.js +0 -175
  967. package/dist/models-8ImVEkvh.js +0 -36
  968. package/dist/models-BIDM8htk.js +0 -48
  969. package/dist/models-BRgRfrcS.js +0 -36
  970. package/dist/models-Bib5-APc.js +0 -67
  971. package/dist/models-Bl67zOoe.js +0 -36
  972. package/dist/models-BqDDYFE3.d.ts +0 -65
  973. package/dist/models-BtRQoRIu.js +0 -36
  974. package/dist/models-BvXmOXik.js +0 -48
  975. package/dist/models-C-sJciOD.d.ts +0 -9
  976. package/dist/models-COnXPdlL.js +0 -24
  977. package/dist/models-CXTmk-Da.d.ts +0 -8
  978. package/dist/models-Cz0C_8re.js +0 -36
  979. package/dist/models-DbwEIt-m.d.ts +0 -15
  980. package/dist/models-DgXkSADi.js +0 -30
  981. package/dist/models-cli-Bv3y3JgQ.js +0 -257
  982. package/dist/monitor-BiVOsbbN.js +0 -1024
  983. package/dist/monitor-BumfRp1t.js +0 -60
  984. package/dist/monitor.account-Cd6EwtuZ.js +0 -5382
  985. package/dist/music-generation-provider-ZdDMiC-c.js +0 -308
  986. package/dist/nodes-C0f8XgD5.js +0 -1483
  987. package/dist/nodes-Dk4vOgg9.js +0 -3
  988. package/dist/nodes-pending-Cjg09MXz.js +0 -211
  989. package/dist/oauth-BIO69Qw0.d.ts +0 -25
  990. package/dist/oauth-CnO10TN2.js +0 -207
  991. package/dist/onboard-B3BYT5k7.js +0 -34
  992. package/dist/onboard-BDMNV6RE.js +0 -23
  993. package/dist/onboard-B_WNNy5F.d.ts +0 -6
  994. package/dist/onboard-BbyMaErU.js +0 -69
  995. package/dist/onboard-BuYPNE6j2.js +0 -23
  996. package/dist/onboard-C394zMnM.d.ts +0 -11
  997. package/dist/onboard-CHn4oVbY.js +0 -24
  998. package/dist/onboard-CPpVbb0O.js +0 -73
  999. package/dist/onboard-CWDx7Crt.js +0 -23
  1000. package/dist/onboard-CbzkwBzu.d.ts +0 -12
  1001. package/dist/onboard-D099qUd0.js +0 -23
  1002. package/dist/onboard-D7dbzfHc.js +0 -23
  1003. package/dist/onboard-DB-x0nHF.js +0 -30
  1004. package/dist/onboard-DFVrRnxJ.js +0 -23
  1005. package/dist/onboard-DFiqoOc2.d.ts +0 -7
  1006. package/dist/onboard-DJaMK3rr.d.ts +0 -6
  1007. package/dist/onboard-DMdK8D_h.js +0 -67
  1008. package/dist/onboard-J-KL-I6m.js +0 -48
  1009. package/dist/onboard-MIBU-Rmv.js +0 -39
  1010. package/dist/onboard-vmGylfFe.js +0 -23
  1011. package/dist/openai-compat-errors-Dcr5Y8bF.js +0 -136
  1012. package/dist/openai-http-CcqspzU6.js +0 -836
  1013. package/dist/openresponses-http-BnyYYvUF.js +0 -1175
  1014. package/dist/operations-H2Oq0KYz.js +0 -805
  1015. package/dist/outbound.types-BhRehecY.d.ts +0 -291
  1016. package/dist/plugin-enabled-CEIKWKrq.js +0 -232
  1017. package/dist/plugin-entry-CTVRRaaA.d.ts +0 -47
  1018. package/dist/plugin-registration-BTyO5Fwt.js +0 -97
  1019. package/dist/plugin-runtime-_XF2N_UQ.d.ts +0 -117
  1020. package/dist/plugin-sdk/bundled-channel-config-schema-BsOWCrJT.d.ts +0 -3169
  1021. package/dist/plugin-service-B91jVlmZ.d.ts +0 -24
  1022. package/dist/plugin-service-CtGwVz8V.js +0 -1249
  1023. package/dist/prepare.runtime-9dlboph7.js +0 -798
  1024. package/dist/preview-warnings-DJx4KJpC.js +0 -618
  1025. package/dist/program-CWC-NBBB.js +0 -131
  1026. package/dist/provider-api-key-auth-BmNcYRMl.d.ts +0 -27
  1027. package/dist/provider-auth-api-key-CCaFiqY3.js +0 -5
  1028. package/dist/provider-auth-result-D_E9dcVc.d.ts +0 -21
  1029. package/dist/provider-catalog-5KZLmrDO.js +0 -11
  1030. package/dist/provider-catalog-7P6AvDzS.js +0 -11
  1031. package/dist/provider-catalog-B2gyTjTU.js +0 -88
  1032. package/dist/provider-catalog-B3YBhe77.js +0 -17
  1033. package/dist/provider-catalog-B7XEeuUm.js +0 -11
  1034. package/dist/provider-catalog-BFGPRd9v.js +0 -17
  1035. package/dist/provider-catalog-BLvkIMSk.d.ts +0 -6
  1036. package/dist/provider-catalog-BPBL9mJf.d.ts +0 -5
  1037. package/dist/provider-catalog-BRkZ6-HD.d.ts +0 -5
  1038. package/dist/provider-catalog-Bfl_AoTZ.js +0 -142
  1039. package/dist/provider-catalog-BpiHWHu1.js +0 -11
  1040. package/dist/provider-catalog-C1qDLekT.d.ts +0 -5
  1041. package/dist/provider-catalog-CKWNCfry.js +0 -11
  1042. package/dist/provider-catalog-CUHB2pSt.d.ts +0 -7
  1043. package/dist/provider-catalog-CWqN2j6J.d.ts +0 -5
  1044. package/dist/provider-catalog-CZ8oYbx3.js +0 -11
  1045. package/dist/provider-catalog-CcQ5-4ZW.d.ts +0 -6
  1046. package/dist/provider-catalog-Cd16uZ0U.js +0 -20
  1047. package/dist/provider-catalog-CpF2D0VK.js +0 -61
  1048. package/dist/provider-catalog-CvXq36zW.d.ts +0 -5
  1049. package/dist/provider-catalog-D2pgEME3.js +0 -48
  1050. package/dist/provider-catalog-DPzcupEl.d.ts +0 -5
  1051. package/dist/provider-catalog-DaeI606G.d.ts +0 -9
  1052. package/dist/provider-catalog-DrOCtTb-.js +0 -11
  1053. package/dist/provider-catalog-DwZ1J2Al.d.ts +0 -6
  1054. package/dist/provider-catalog-Dy7IcHmS.js +0 -107
  1055. package/dist/provider-catalog-TsZS52nq.d.ts +0 -10
  1056. package/dist/provider-catalog-YqIFRCND.d.ts +0 -5
  1057. package/dist/provider-catalog-Ywb5jRwG.d.ts +0 -5
  1058. package/dist/provider-catalog-evknl1oN.js +0 -11
  1059. package/dist/provider-catalog-l0hFpFO2.d.ts +0 -17
  1060. package/dist/provider-catalog-shared-DsRBv0Tp.d.ts +0 -62
  1061. package/dist/provider-dispatcher-BMy9mBJ1.js +0 -22
  1062. package/dist/provider-model-shared-CPAfQBNs.d.ts +0 -143
  1063. package/dist/provider-models-Diu65OcG.d.ts +0 -18
  1064. package/dist/provider-models-LE7PlLYY.js +0 -22
  1065. package/dist/provider-onboard-CpvXEmvz.d.ts +0 -91
  1066. package/dist/provider-registration-DF-LkmNE.js +0 -235
  1067. package/dist/provider-registry-D9cTPW1F.d.ts +0 -8
  1068. package/dist/provider-registry-DI7gMKUP.d.ts +0 -8
  1069. package/dist/provider-registry-DZtgZDkl.d.ts +0 -29
  1070. package/dist/provider-self-hosted-setup-CoHvoyKm.d.ts +0 -74
  1071. package/dist/provider-stream-BpXJr5Ap.d.ts +0 -139
  1072. package/dist/provider-stream-family-Bj5aBD8w.js +0 -2
  1073. package/dist/provider-stream-shared-BaUkhUHj.d.ts +0 -132
  1074. package/dist/provider-usage-DFUhW2do.js +0 -651
  1075. package/dist/provider-web-search-contract-fields-CkXzSsWu.d.ts +0 -25
  1076. package/dist/pw-ai-9Q_dIq4B.js +0 -3064
  1077. package/dist/register.agent-CbfrlzXB.js +0 -152
  1078. package/dist/register.crestodian-CEg0rPfK.js +0 -24
  1079. package/dist/register.maintenance-k9N8I4Wg.js +0 -85
  1080. package/dist/register.subclis-CrXOeaS3.js +0 -3
  1081. package/dist/register.subclis-DfKlni8N.js +0 -31
  1082. package/dist/register.subclis-core-Bg4wbDsO.js +0 -278
  1083. package/dist/registry-Bh3-P2HL.d.ts +0 -8
  1084. package/dist/registry-types-BmEUS4d3.d.ts +0 -392
  1085. package/dist/repair-sequencing-E4yViXG9.js +0 -652
  1086. package/dist/reply-payload-S2mrc_Mh.d.ts +0 -200
  1087. package/dist/reply-turn-admission-BBoPjmGB.js +0 -2056
  1088. package/dist/reply.runtime-C5wfxVI_.js +0 -2
  1089. package/dist/result-fallback-classifier-CX4iLD1G.js +0 -98
  1090. package/dist/route-CifxcQZ1.js +0 -475
  1091. package/dist/routes-B3XAOeWo.js +0 -2
  1092. package/dist/routes-H185h3U-.js +0 -3701
  1093. package/dist/run-CTJFbwbB.js +0 -1162
  1094. package/dist/run-command-B7B53tYk.js +0 -23
  1095. package/dist/run-command-BFuxRDxS.js +0 -2
  1096. package/dist/run-context-C7im9ICg.js +0 -66
  1097. package/dist/run-embedded.runtime-TljBTbzh.js +0 -4
  1098. package/dist/run-execution-cli.runtime-Bt5zwx1W.js +0 -4
  1099. package/dist/run-executor.runtime-hmbWX2Ct.js +0 -330
  1100. package/dist/run-subagent-registry.runtime-B70X80nS.js +0 -2
  1101. package/dist/runtime-DoKE0o7v.js +0 -436
  1102. package/dist/runtime-api-Ca4Llbgf.js +0 -12
  1103. package/dist/runtime-api-pa8xcEmg.d.ts +0 -5
  1104. package/dist/runtime-channel-CFQ59svm.js +0 -148
  1105. package/dist/runtime-channel-DRwCWGUx.js +0 -2
  1106. package/dist/runtime-embedded-agent.runtime-DwmqKUVp.js +0 -2
  1107. package/dist/runtime-forwarders-BMThPHg_.d.ts +0 -39
  1108. package/dist/sdk-setup-tools-Cg_Tabrf.js +0 -8
  1109. package/dist/selection-COhr7g82.js +0 -18365
  1110. package/dist/selection-_G44EVqd.js +0 -3
  1111. package/dist/send-media-BNc67G7I.js +0 -2072
  1112. package/dist/server-5rR0RCpI.js +0 -24
  1113. package/dist/server-context-BhiPROPA.js +0 -955
  1114. package/dist/server-context-OShBAJZQ.js +0 -2
  1115. package/dist/server-cron-Bkzb9edh.js +0 -3173
  1116. package/dist/server-cron-DdR-ugiU.js +0 -2
  1117. package/dist/server-lwtC1vaS.js +0 -72
  1118. package/dist/server-methods-BY_ZqDFJ.js +0 -497
  1119. package/dist/server-node-events-CLvE94AS.js +0 -597
  1120. package/dist/server-plugin-bootstrap-cKOAH5GL.js +0 -71
  1121. package/dist/server-plugins-CPpUykw5.js +0 -435
  1122. package/dist/server-reload-handlers-uzt4VDZ-.js +0 -719
  1123. package/dist/server-restart-sentinel-CpvV0t4O.js +0 -700
  1124. package/dist/server-runtime-services-BhOHoerM.js +0 -147
  1125. package/dist/server-runtime-services-D3Ig68nC.js +0 -3
  1126. package/dist/server-startup-plugins-DslzKVHK.js +0 -127
  1127. package/dist/server-startup-post-attach-DPFBTQez.js +0 -793
  1128. package/dist/server-ws-runtime-D0zoWoiz.js +0 -374
  1129. package/dist/server.impl-CzqLQ3qt.js +0 -2622
  1130. package/dist/session-kill-http-D8JhwZVS.js +0 -121
  1131. package/dist/session-reset-service-uoi7E4Xp.js +0 -651
  1132. package/dist/session-status.runtime-CZK5IU8w.js +0 -2
  1133. package/dist/session-subagent-reactivation.runtime-BSO00-FY.js +0 -2
  1134. package/dist/session-tab-registry-DM9U7e3o.js +0 -551
  1135. package/dist/sessions-B-SkIoaa.js +0 -1917
  1136. package/dist/sessions-history-http-DCiOG4FK.js +0 -432
  1137. package/dist/sessions-patch-DlAAvQvB.js +0 -401
  1138. package/dist/sessions-resolve-DfMXookg.js +0 -180
  1139. package/dist/sessions.runtime-0V2YxKxB.js +0 -2
  1140. package/dist/snapshot-urls-Ble1-NEW.js +0 -317
  1141. package/dist/speech-core-Bk60ZS_y.d.ts +0 -49
  1142. package/dist/speech-provider-DQO9eZd0.js +0 -233
  1143. package/dist/speech-provider-DnBCla4V.js +0 -171
  1144. package/dist/speech-provider-DyYHFxT5.js +0 -227
  1145. package/dist/standalone-9EWfcxeO.js +0 -42
  1146. package/dist/startup-context-nti4X0_w.js +0 -314
  1147. package/dist/status-subagents.runtime-CPZb1EF1.js +0 -32
  1148. package/dist/status-text-C1Hf37lF.js +0 -301
  1149. package/dist/stream-9VBt1MDs.js +0 -26
  1150. package/dist/stream-B_3P7v7P.js +0 -86
  1151. package/dist/stream-CXsue2-v.d.ts +0 -9
  1152. package/dist/stream-oNBFxfKt.d.ts +0 -5
  1153. package/dist/subagent-announce-CPjQQLy8.js +0 -353
  1154. package/dist/subagent-announce-delivery-B6iBOicL.js +0 -1369
  1155. package/dist/subagent-control-DP72sk-l.js +0 -492
  1156. package/dist/subagent-hooks-B1oUIYH3.js +0 -2
  1157. package/dist/subagent-hooks-BkGj4_xI.js +0 -230
  1158. package/dist/subagent-hooks-api-D2mulK3S.js +0 -23
  1159. package/dist/subagent-registry-CEKAUB5h.js +0 -3
  1160. package/dist/subagent-registry-OUVucPAn.js +0 -2627
  1161. package/dist/subagent-session-cleanup-Bx8d3kw0.js +0 -390
  1162. package/dist/system-CelaP2zI.js +0 -111
  1163. package/dist/talk-DGOI3Lu3.js +0 -2454
  1164. package/dist/target-id-BXRG7x9x.js +0 -107
  1165. package/dist/thinking-B8V29FhB.js +0 -35
  1166. package/dist/thread-bindings-DpVdEPZ0.js +0 -228
  1167. package/dist/tool-DHzDpxE4.js +0 -143
  1168. package/dist/tool-dispatch-ClP3Rc7g.js +0 -155
  1169. package/dist/tool-resolution-CZcLod1d.js +0 -153
  1170. package/dist/tool-split-BhiQ8676.d.ts +0 -19
  1171. package/dist/tools-ZvSvbsCW.d.ts +0 -38
  1172. package/dist/tools-effective-C2mHZT-A.js +0 -442
  1173. package/dist/tools-effective-inventory-ctnM7hc6.js +0 -379
  1174. package/dist/tools-invoke-Ci6Rux2s.js +0 -51
  1175. package/dist/tools-invoke-http-CJflXcJk.js +0 -68
  1176. package/dist/tools-invoke-shared-BLu_mJEX.js +0 -200
  1177. package/dist/tts-B2rPJPij.js +0 -83
  1178. package/dist/tts-Gp9FI3_n.js +0 -163
  1179. package/dist/tts-runtime-DNi1HXPF.d.ts +0 -230
  1180. package/dist/tui-BUhfQ9vD.js +0 -3
  1181. package/dist/tui-BhH5mvLf.js +0 -2
  1182. package/dist/tui-backend-C_4ajTHI.js +0 -257
  1183. package/dist/tui-cli-BhWJ-QoB.js +0 -40
  1184. package/dist/tui-ink-run-BTWbUQGb.js +0 -7414
  1185. package/dist/tui-ink-run-DfTdivkh.js +0 -2
  1186. package/dist/types-B4fW3r5y.d.ts +0 -111
  1187. package/dist/types-DI62NfFe.d.ts +0 -7034
  1188. package/dist/types-sAih_uQb.d.ts +0 -393
  1189. package/dist/types.public-B3MKhuo2.d.ts +0 -70
  1190. package/dist/video-generation-B9c6a5cw.js +0 -207
  1191. package/dist/video-generation-BgJp7UIA.d.ts +0 -224
  1192. package/dist/video-generation-provider-BjiVjf40.js +0 -325
  1193. package/dist/video-generation-provider-CsnQJg_h.js +0 -297
  1194. package/dist/video-generation-provider-DtU-ZPqP.js +0 -64
  1195. package/dist/video-generation-provider-wZ0bzv0e.js +0 -77
  1196. package/dist/webhook-targets-Cy8e7y3g.d.ts +0 -99
  1197. package/skills/canvas/SKILL.md +0 -78
  1198. package/skills/clawhub/SKILL.md +0 -77
  1199. package/skills/coding-agent/SKILL.md +0 -143
  1200. package/skills/diagram-maker/SKILL.md +0 -53
  1201. package/skills/diagram-maker/references/excalidraw-patterns.md +0 -85
  1202. package/skills/diagram-maker/references/svg-template.md +0 -112
  1203. package/skills/gemini/SKILL.md +0 -47
  1204. package/skills/gh-issues/SKILL.md +0 -213
  1205. package/skills/gifgrep/SKILL.md +0 -85
  1206. package/skills/github/SKILL.md +0 -84
  1207. package/skills/healthcheck/SKILL.md +0 -105
  1208. package/skills/mcporter/SKILL.md +0 -61
  1209. package/skills/meme-maker/SKILL.md +0 -42
  1210. package/skills/meme-maker/references/templates.json +0 -358
  1211. package/skills/meme-maker/scripts/meme.mjs +0 -398
  1212. package/skills/model-usage/SKILL.md +0 -71
  1213. package/skills/model-usage/references/codexbar-cli.md +0 -33
  1214. package/skills/model-usage/scripts/model_usage.py +0 -319
  1215. package/skills/model-usage/scripts/test_model_usage.py +0 -40
  1216. package/skills/nano-pdf/SKILL.md +0 -38
  1217. package/skills/node-connect/SKILL.md +0 -143
  1218. package/skills/node-inspect-debugger/SKILL.md +0 -85
  1219. package/skills/openai-whisper/SKILL.md +0 -38
  1220. package/skills/openai-whisper-api/SKILL.md +0 -71
  1221. package/skills/openai-whisper-api/scripts/transcribe.sh +0 -154
  1222. package/skills/oracle/SKILL.md +0 -126
  1223. package/skills/pyproject.toml +0 -10
  1224. package/skills/python-debugpy/SKILL.md +0 -73
  1225. package/skills/sag/SKILL.md +0 -87
  1226. package/skills/session-logs/SKILL.md +0 -151
  1227. package/skills/sherpa-onnx-tts/SKILL.md +0 -109
  1228. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  1229. package/skills/skill-creator/SKILL.md +0 -78
  1230. package/skills/skill-creator/license.txt +0 -202
  1231. package/skills/skill-creator/scripts/init_skill.py +0 -378
  1232. package/skills/skill-creator/scripts/package_skill.py +0 -139
  1233. package/skills/skill-creator/scripts/quick_validate.py +0 -169
  1234. package/skills/skill-creator/scripts/test_package_skill.py +0 -161
  1235. package/skills/skill-creator/scripts/test_quick_validate.py +0 -116
  1236. package/skills/spike/SKILL.md +0 -51
  1237. package/skills/summarize/SKILL.md +0 -87
  1238. package/skills/taskflow/SKILL.md +0 -149
  1239. package/skills/taskflow/examples/inbox-triage.lobster +0 -33
  1240. package/skills/taskflow/examples/pr-intake.lobster +0 -32
  1241. package/skills/taskflow-inbox-triage/SKILL.md +0 -119
  1242. package/skills/video-frames/SKILL.md +0 -46
  1243. package/skills/video-frames/scripts/frame.sh +0 -81
  1244. package/skills/voice-call/SKILL.md +0 -45
  1245. package/skills/weather/SKILL.md +0 -64
  1246. /package/dist/{acp-runtime-backend-DbchQ02o.js → acp-runtime-backend-DZ1Lnt7f.js} +0 -0
  1247. /package/dist/{delegate-k1aptKei.js → delegate-CwhxUdeb.js} +0 -0
  1248. /package/dist/{dispatch-acp-CD4YxPpf.js → dispatch-acp-BP4I5ZQf.js} +0 -0
  1249. /package/dist/{exec-approvals-ByWUCFQM.js → exec-approvals-ByWUCFQM2.js} +0 -0
  1250. /package/dist/{heartbeat-runner-CM0UZxa_.js → heartbeat-runner-CL3alQ8-.js} +0 -0
  1251. /package/dist/{index-B0VJdRJQ.d.ts → index-B0VJdRJQ2.d.ts} +0 -0
  1252. /package/dist/{library-CQ71yATP.js → library-CiTr_aqC.js} +0 -0
  1253. /package/dist/{run-session-state-DbDeH-q6.js → run-session-state-BOMUtBKZ.js} +0 -0
  1254. /package/dist/{session-subagent-reactivation-Bj91A2ms.js → session-subagent-reactivation-CH0C2I6Y.js} +0 -0
  1255. /package/dist/{types-C4HgagiY2.d.ts → types-C4HgagiY.d.ts} +0 -0
@@ -1,1917 +0,0 @@
1
- import { c as normalizeOptionalString, p as readStringValue, s as normalizeOptionalLowercaseString } from "./string-coerce-DKw2K5wM.js";
2
- import { i as formatErrorMessage } from "./errors-C_Wa6a5T.js";
3
- import "./agent-scope-EEbMCF2I.js";
4
- import { c as parseAgentSessionKey } from "./session-key-utils-CdfsDYvz.js";
5
- import { d as resolveAgentIdFromSessionKey, l as normalizeAgentId, v as toAgentStoreSessionKey } from "./session-key-CJf5_zWs.js";
6
- import { c as resolveDefaultAgentId, n as listAgentIds, o as resolveAgentWorkspaceDir } from "./agent-scope-config-BHdZonI2.js";
7
- import { c as measureDiagnosticsTimelineSpan, l as measureDiagnosticsTimelineSpanSync } from "./plugin-metadata-snapshot-CHymO30I.js";
8
- import { f as normalizeReasoningLevel, p as normalizeThinkLevel } from "./thinking-BmfCvr5O.js";
9
- import { n as GATEWAY_CLIENT_IDS } from "./client-info-D6_UASoA.js";
10
- import { $t as validateSessionsSendParams, Bt as validateSessionsCompactionListParams, Ft as validateSessionsAbortParams, Gt as validateSessionsListParams, Ht as validateSessionsCreateParams, It as validateSessionsCleanupParams, Jt as validateSessionsPatchParams, Kt as validateSessionsMessagesSubscribeParams, Lt as validateSessionsCompactParams, Qt as validateSessionsResolveParams, Ri as ErrorCodes, Rt as validateSessionsCompactionBranchParams, Ut as validateSessionsDeleteParams, Vt as validateSessionsCompactionRestoreParams, Wt as validateSessionsDescribeParams, Xt as validateSessionsPreviewParams, Yt as validateSessionsPluginPatchParams, Zt as validateSessionsResetParams, qt as validateSessionsMessagesUnsubscribeParams, zi as errorShape, zt as validateSessionsCompactionGetParams } from "./src-B1Y482-m.js";
11
- import { t as ADMIN_SCOPE } from "./operator-scopes-DGvgHuOd.js";
12
- import { T as patchPluginSessionExtension } from "./loader-Ct7uZnva.js";
13
- import { i as hasInternalHookListeners, m as triggerInternalHook, n as createInternalHookEvent } from "./internal-hooks-DgzYHw8L.js";
14
- import { t as isPluginJsonValue } from "./host-hook-json-BHsxXV1L.js";
15
- import { i as resolveMainSessionKey, n as resolveAgentMainSessionKey } from "./main-session-BxJmPEXx.js";
16
- import { a as resolveStoredSessionKeyForAgentStore, i as resolveSessionStoreKey, o as resolveStoredSessionOwnerAgentId, r as resolveSessionStoreAgentId } from "./session-store-key-dbCfepNe.js";
17
- import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath } from "./paths-C79m3Aob.js";
18
- import { t as loadSessionStore } from "./store-load-CVdafI-Y.js";
19
- import { d as updateSessionStore } from "./store-DH20opqS.js";
20
- import { t as listConfiguredSessionStoreAgentIds } from "./targets-CQE5epyU.js";
21
- import { t as loadCombinedSessionStoreForGateway } from "./combined-store-gateway-n-bwAWEx.js";
22
- import { i as serializeSessionCleanupResult, r as runSessionsCleanup } from "./sessions-CtMqsEs2.js";
23
- import "./transcript-jsonl-LFU2CQ2E.js";
24
- import { S as waitForEmbeddedAgentRunEnd, n as abortEmbeddedAgentRun, o as isEmbeddedAgentRunActive } from "./runs-B0iD89hy.js";
25
- import { a as readRecentSessionMessagesWithStatsAsync, c as readSessionMessageCountAsync, o as readRecentSessionTranscriptLines, u as readSessionPreviewItemsFromTranscript } from "./session-utils.fs-D-Ly08WB.js";
26
- import { a as resolveSessionTranscriptCandidates, t as archiveFileOnDisk } from "./session-transcript-files.fs-CusxaEql.js";
27
- import { t as resolveModelAgentRuntimeMetadata } from "./agent-runtime-metadata-CbrTK-1N.js";
28
- import { c as loadSessionEntry, d as resolveDeletedAgentIdFromSessionKey, f as resolveFreshestSessionEntryFromStoreKeys, g as resolveSessionDisplayModelIdentityRef, l as migrateAndPruneGatewaySessionStoreKey, m as resolveGatewaySessionStoreTarget, o as listSessionsFromStoreAsync, s as loadGatewaySessionRow, t as buildGatewaySessionRow, v as resolveSessionModelRef } from "./session-utils-pgndLXV7.js";
29
- import { r as triggerSessionPatchHook } from "./fengming-tools-gQkwsWYz.js";
30
- import { a as clearSessionQueues } from "./queue-Bp_sf0n7.js";
31
- import { g as listSessionCompactionCheckpoints, h as getSessionCompactionCheckpoint, m as forkCompactionCheckpointTranscriptAsync } from "./model-context-tokens-BT85ZQUi.js";
32
- import { n as compactEmbeddedAgentSession } from "./embedded-agent-CNp_y7jW.js";
33
- import { i as chatHandlers } from "./chat-DWRXkuvU.js";
34
- import { n as setGatewayDedupeEntry } from "./agent-wait-dedupe-C3xQk2Ww.js";
35
- import { t as resolveSessionKeyFromResolveParams } from "./sessions-resolve-DfMXookg.js";
36
- import { t as reactivateCompletedSubagentSession } from "./session-subagent-reactivation-Bj91A2ms.js";
37
- import { n as resolveSessionKeyForRun } from "./server-session-key-BKIo1HjL.js";
38
- import { t as assertValidParams } from "./validation-V7yffIu7.js";
39
- import { t as applySessionsPatchToStore } from "./sessions-patch-DlAAvQvB.js";
40
- import fs from "node:fs";
41
- import path from "node:path";
42
- import { randomUUID } from "node:crypto";
43
- //#region src/gateway/server-methods/sessions.ts
44
- function filterSessionStoreToConfiguredAgents(cfg, store) {
45
- const configuredAgentIds = new Set(listConfiguredSessionStoreAgentIds(cfg));
46
- const isConfiguredSessionKey = (key) => {
47
- const normalizedKey = normalizeOptionalString(key);
48
- if (!normalizedKey) return false;
49
- const agentId = resolveSessionStoreAgentId(cfg, resolveSessionStoreKey({
50
- cfg,
51
- sessionKey: normalizedKey
52
- }));
53
- return configuredAgentIds.has(normalizeAgentId(agentId));
54
- };
55
- return Object.fromEntries(Object.entries(store).filter(([key, entry]) => {
56
- if (key === "global" || key === "unknown") return true;
57
- if (isConfiguredSessionKey(key)) return true;
58
- return isConfiguredSessionKey(entry?.spawnedBy) || isConfiguredSessionKey(entry?.parentSessionKey);
59
- }));
60
- }
61
- function inheritSessionRuntimeSelection(parentEntry) {
62
- if (!parentEntry) return {};
63
- return {
64
- ...parentEntry.providerOverride ? { providerOverride: parentEntry.providerOverride } : {},
65
- ...parentEntry.modelOverride ? { modelOverride: parentEntry.modelOverride } : {},
66
- ...parentEntry.modelOverrideSource ? { modelOverrideSource: parentEntry.modelOverrideSource } : {},
67
- ...parentEntry.agentRuntimeOverride ? { agentRuntimeOverride: parentEntry.agentRuntimeOverride } : {},
68
- ...parentEntry.modelProvider ? { modelProvider: parentEntry.modelProvider } : {},
69
- ...parentEntry.model ? { model: parentEntry.model } : {},
70
- ...typeof parentEntry.contextTokens === "number" ? { contextTokens: parentEntry.contextTokens } : {},
71
- ...parentEntry.thinkingLevel ? { thinkingLevel: parentEntry.thinkingLevel } : {},
72
- ...typeof parentEntry.fastMode === "boolean" ? { fastMode: parentEntry.fastMode } : {},
73
- ...parentEntry.verboseLevel ? { verboseLevel: parentEntry.verboseLevel } : {},
74
- ...parentEntry.traceLevel ? { traceLevel: parentEntry.traceLevel } : {},
75
- ...parentEntry.reasoningLevel ? { reasoningLevel: parentEntry.reasoningLevel } : {},
76
- ...parentEntry.elevatedLevel ? { elevatedLevel: parentEntry.elevatedLevel } : {},
77
- ...parentEntry.authProfileOverride ? { authProfileOverride: parentEntry.authProfileOverride } : {},
78
- ...parentEntry.authProfileOverrideSource ? { authProfileOverrideSource: parentEntry.authProfileOverrideSource } : {}
79
- };
80
- }
81
- let sessionsRuntimeModulePromise;
82
- let loggedSlowSessionsListCatalog = false;
83
- const SESSIONS_LIST_MODEL_CATALOG_TIMEOUT_MS = 750;
84
- function loadSessionsRuntimeModule() {
85
- sessionsRuntimeModulePromise ??= import("./sessions.runtime.js");
86
- return sessionsRuntimeModulePromise;
87
- }
88
- async function loadOptionalSessionsListModelCatalog(context) {
89
- let timeout;
90
- const timedOut = Symbol("sessions-list-model-catalog-timeout");
91
- const timeoutPromise = new Promise((resolve) => {
92
- timeout = setTimeout(() => resolve(timedOut), SESSIONS_LIST_MODEL_CATALOG_TIMEOUT_MS);
93
- timeout.unref?.();
94
- });
95
- try {
96
- const result = await Promise.race([context.loadGatewayModelCatalog().catch(() => void 0), timeoutPromise]);
97
- if (result === timedOut) {
98
- if (!loggedSlowSessionsListCatalog) {
99
- loggedSlowSessionsListCatalog = true;
100
- context.logGateway.debug(`sessions.list continuing without model catalog after ${SESSIONS_LIST_MODEL_CATALOG_TIMEOUT_MS}ms`);
101
- }
102
- return;
103
- }
104
- return Array.isArray(result) ? result : void 0;
105
- } finally {
106
- if (timeout) clearTimeout(timeout);
107
- }
108
- }
109
- function requireSessionKey(key, respond) {
110
- const normalized = normalizeOptionalString(typeof key === "string" ? key : typeof key === "number" ? String(key) : typeof key === "bigint" ? String(key) : "") ?? "";
111
- if (!normalized) {
112
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "key required"));
113
- return null;
114
- }
115
- return normalized;
116
- }
117
- function rejectPluginRuntimeDeleteMismatch(params) {
118
- const pluginOwnerId = normalizeOptionalString(params.client?.internal?.pluginRuntimeOwnerId);
119
- if (!pluginOwnerId || !params.entry) return false;
120
- if (normalizeOptionalString(params.entry.pluginOwnerId) === pluginOwnerId) return false;
121
- params.respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `Plugin "${pluginOwnerId}" cannot delete session "${params.key}" because it did not create it.`));
122
- return true;
123
- }
124
- function resolveGatewaySessionTargetFromKey(key, cfg, opts) {
125
- const target = resolveGatewaySessionStoreTarget({
126
- cfg,
127
- key,
128
- ...opts?.agentId ? { agentId: opts.agentId } : {}
129
- });
130
- return {
131
- cfg,
132
- target,
133
- storePath: target.storePath
134
- };
135
- }
136
- function resolveOptionalInitialSessionMessage(params) {
137
- if (typeof params.task === "string" && params.task.trim()) return params.task;
138
- if (typeof params.message === "string" && params.message.trim()) return params.message;
139
- }
140
- function shouldAttachPendingMessageSeq(params) {
141
- if (params.cached) return false;
142
- return (params.payload && typeof params.payload === "object" ? params.payload.status : void 0) === "started";
143
- }
144
- function emitSessionsChanged(context, payload) {
145
- const connIds = context.getSessionEventSubscriberConnIds();
146
- if (connIds.size === 0) return;
147
- const sessionRow = payload.sessionKey ? loadGatewaySessionRow(payload.sessionKey, payload.sessionKey === "global" && payload.agentId ? { agentId: payload.agentId } : void 0) : null;
148
- const omitUnscopedGlobalGoal = payload.sessionKey === "global" && !payload.agentId;
149
- const defaultAgentId = resolveDefaultAgentId(context.getRuntimeConfig());
150
- context.broadcastToConnIds("sessions.changed", {
151
- ...payload,
152
- ts: Date.now(),
153
- ...sessionRow ? {
154
- updatedAt: sessionRow.updatedAt ?? void 0,
155
- sessionId: sessionRow.sessionId,
156
- kind: sessionRow.kind,
157
- channel: sessionRow.channel,
158
- subject: sessionRow.subject,
159
- groupChannel: sessionRow.groupChannel,
160
- space: sessionRow.space,
161
- chatType: sessionRow.chatType,
162
- origin: sessionRow.origin,
163
- spawnedBy: sessionRow.spawnedBy,
164
- spawnedWorkspaceDir: sessionRow.spawnedWorkspaceDir,
165
- spawnedCwd: sessionRow.spawnedCwd,
166
- forkedFromParent: sessionRow.forkedFromParent,
167
- spawnDepth: sessionRow.spawnDepth,
168
- subagentRole: sessionRow.subagentRole,
169
- subagentControlScope: sessionRow.subagentControlScope,
170
- label: sessionRow.label,
171
- displayName: sessionRow.displayName,
172
- deliveryContext: sessionRow.deliveryContext,
173
- parentSessionKey: sessionRow.parentSessionKey,
174
- childSessions: sessionRow.childSessions,
175
- thinkingLevel: sessionRow.thinkingLevel,
176
- fastMode: sessionRow.fastMode,
177
- verboseLevel: sessionRow.verboseLevel,
178
- traceLevel: sessionRow.traceLevel,
179
- reasoningLevel: sessionRow.reasoningLevel,
180
- elevatedLevel: sessionRow.elevatedLevel,
181
- sendPolicy: sessionRow.sendPolicy,
182
- systemSent: sessionRow.systemSent,
183
- abortedLastRun: sessionRow.abortedLastRun,
184
- inputTokens: sessionRow.inputTokens,
185
- outputTokens: sessionRow.outputTokens,
186
- lastChannel: sessionRow.lastChannel,
187
- lastTo: sessionRow.lastTo,
188
- lastAccountId: sessionRow.lastAccountId,
189
- lastThreadId: sessionRow.lastThreadId,
190
- totalTokens: sessionRow.totalTokens,
191
- totalTokensFresh: sessionRow.totalTokensFresh,
192
- ...omitUnscopedGlobalGoal ? {} : { goal: sessionRow.goal ?? null },
193
- contextTokens: sessionRow.contextTokens,
194
- estimatedCostUsd: sessionRow.estimatedCostUsd,
195
- responseUsage: sessionRow.responseUsage,
196
- modelProvider: sessionRow.modelProvider,
197
- model: sessionRow.model,
198
- status: sessionRow.status,
199
- hasActiveRun: hasTrackedActiveSessionRun({
200
- context,
201
- requestedKey: payload.sessionKey ?? sessionRow.key,
202
- canonicalKey: sessionRow.key,
203
- agentId: sessionRow.key === "global" ? payload.agentId : void 0,
204
- defaultAgentId
205
- }),
206
- startedAt: sessionRow.startedAt,
207
- endedAt: sessionRow.endedAt,
208
- runtimeMs: sessionRow.runtimeMs,
209
- compactionCheckpointCount: sessionRow.compactionCheckpointCount,
210
- latestCompactionCheckpoint: sessionRow.latestCompactionCheckpoint,
211
- pluginExtensions: sessionRow.pluginExtensions
212
- } : {}
213
- }, connIds, { dropIfSlow: true });
214
- }
215
- function emitSessionOperation(context, payload) {
216
- const connIds = context.getSessionEventSubscriberConnIds();
217
- if (connIds.size === 0) return;
218
- context.broadcastToConnIds("session.operation", {
219
- ...payload,
220
- ts: Date.now()
221
- }, connIds, { dropIfSlow: true });
222
- }
223
- function rejectWebchatSessionMutation(params) {
224
- if (!params.client?.connect || !params.isWebchatConnect(params.client.connect)) return false;
225
- if (params.client.connect.client.id === GATEWAY_CLIENT_IDS.CONTROL_UI) return false;
226
- params.respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `webchat clients cannot ${params.action} sessions; use chat.send for session-scoped updates`));
227
- return true;
228
- }
229
- function buildDashboardSessionKey(agentId) {
230
- return `agent:${agentId}:dashboard:${randomUUID()}`;
231
- }
232
- function cloneCheckpointSessionEntry(params) {
233
- return {
234
- ...params.currentEntry,
235
- sessionId: params.nextSessionId,
236
- sessionFile: params.nextSessionFile,
237
- updatedAt: Date.now(),
238
- systemSent: false,
239
- abortedLastRun: false,
240
- startedAt: void 0,
241
- endedAt: void 0,
242
- runtimeMs: void 0,
243
- status: void 0,
244
- inputTokens: void 0,
245
- outputTokens: void 0,
246
- cacheRead: void 0,
247
- cacheWrite: void 0,
248
- estimatedCostUsd: void 0,
249
- totalTokens: typeof params.totalTokens === "number" && Number.isFinite(params.totalTokens) ? params.totalTokens : void 0,
250
- totalTokensFresh: typeof params.totalTokens === "number" && Number.isFinite(params.totalTokens) ? true : void 0,
251
- label: params.label ?? params.currentEntry.label,
252
- parentSessionKey: params.parentSessionKey ?? params.currentEntry.parentSessionKey,
253
- compactionCheckpoints: params.preserveCompactionCheckpoints ? params.currentEntry.compactionCheckpoints : void 0
254
- };
255
- }
256
- function resolveCheckpointForkSource(checkpoint) {
257
- const preCompactionFile = checkpoint.preCompaction.sessionFile?.trim();
258
- if (preCompactionFile) return {
259
- sourceFile: preCompactionFile,
260
- sourceLeafId: checkpoint.preCompaction.leafId,
261
- totalTokens: checkpoint.tokensBefore
262
- };
263
- const postCompactionFile = checkpoint.postCompaction.sessionFile?.trim();
264
- if (!postCompactionFile) return null;
265
- const postCompactionLeafId = checkpoint.postCompaction.leafId ?? checkpoint.postCompaction.entryId;
266
- if (!postCompactionLeafId) return null;
267
- return {
268
- sourceFile: postCompactionFile,
269
- sourceLeafId: postCompactionLeafId,
270
- totalTokens: checkpoint.tokensAfter
271
- };
272
- }
273
- function isAgentMainSessionKey(cfg, sessionKey) {
274
- const parsed = parseAgentSessionKey(sessionKey);
275
- if (!parsed) return false;
276
- return sessionKey === resolveAgentMainSessionKey({
277
- cfg,
278
- agentId: parsed.agentId
279
- });
280
- }
281
- async function createAgentMainSessionForSend(params) {
282
- const agentId = parseAgentSessionKey(params.canonicalKey)?.agentId;
283
- if (!agentId) return {
284
- ok: false,
285
- error: errorShape(ErrorCodes.INVALID_REQUEST, `session not found: ${params.canonicalKey}`)
286
- };
287
- let createResult;
288
- await sessionsHandlers["sessions.create"]({
289
- req: params.req,
290
- params: {
291
- key: params.canonicalKey,
292
- agentId
293
- },
294
- respond: (ok, payload, error) => {
295
- createResult = {
296
- ok,
297
- payload: payload && typeof payload === "object" ? payload : void 0,
298
- error
299
- };
300
- },
301
- context: params.context,
302
- client: params.client,
303
- isWebchatConnect: params.isWebchatConnect
304
- });
305
- if (!createResult) return {
306
- ok: false,
307
- error: errorShape(ErrorCodes.UNAVAILABLE, "sessions.create did not respond")
308
- };
309
- if (!createResult.ok) return {
310
- ok: false,
311
- error: createResult.error ?? errorShape(ErrorCodes.UNAVAILABLE, "failed to create session")
312
- };
313
- const createdKey = normalizeOptionalString(createResult.payload?.key) ?? params.canonicalKey;
314
- const loaded = loadSessionEntry(createdKey);
315
- if (!loaded.entry?.sessionId) return {
316
- ok: false,
317
- error: errorShape(ErrorCodes.UNAVAILABLE, `session not created: ${createdKey}`)
318
- };
319
- return {
320
- ok: true,
321
- entry: loaded.entry,
322
- canonicalKey: loaded.canonicalKey,
323
- storePath: loaded.storePath
324
- };
325
- }
326
- function ensureSessionTranscriptFile(params) {
327
- try {
328
- const transcriptPath = resolveSessionFilePath(params.sessionId, params.sessionFile ? { sessionFile: params.sessionFile } : void 0, resolveSessionFilePathOptions({
329
- storePath: params.storePath,
330
- agentId: params.agentId
331
- }));
332
- if (!fs.existsSync(transcriptPath)) {
333
- fs.mkdirSync(path.dirname(transcriptPath), { recursive: true });
334
- const header = {
335
- type: "session",
336
- version: 3,
337
- id: params.sessionId,
338
- timestamp: (/* @__PURE__ */ new Date()).toISOString(),
339
- cwd: process.cwd()
340
- };
341
- fs.writeFileSync(transcriptPath, `${JSON.stringify(header)}\n`, {
342
- encoding: "utf-8",
343
- mode: 384
344
- });
345
- }
346
- return {
347
- ok: true,
348
- transcriptPath
349
- };
350
- } catch (err) {
351
- return {
352
- ok: false,
353
- error: formatErrorMessage(err)
354
- };
355
- }
356
- }
357
- function resolveAbortSessionKey(params) {
358
- if (params.activeRunSessionKey) return params.activeRunSessionKey;
359
- const candidates = [
360
- params.canonicalKey,
361
- params.requestedKey,
362
- ...params.aliasKeys ?? []
363
- ];
364
- for (const active of params.context.chatAbortControllers.values()) for (const candidate of candidates) if (active.sessionKey === candidate) return candidate;
365
- return params.requestedKey;
366
- }
367
- function resolveSessionKeyAgentId(sessionKey, cfg) {
368
- const key = normalizeOptionalString(sessionKey);
369
- if (!key) return;
370
- if (!parseAgentSessionKey(key) && key.toLowerCase().startsWith("agent:")) return;
371
- return resolveSessionStoreAgentId(cfg, resolveSessionStoreKey({
372
- cfg,
373
- sessionKey: key
374
- }));
375
- }
376
- function sessionKeyBelongsToAgent(sessionKey, agentId, cfg) {
377
- const key = normalizeOptionalString(sessionKey);
378
- if (cfg.session?.scope === "global" && key?.toLowerCase() === "global") return true;
379
- const sessionAgentId = resolveSessionKeyAgentId(sessionKey, cfg);
380
- return Boolean(sessionAgentId && sessionAgentId === normalizeAgentId(agentId));
381
- }
382
- function resolveScopedAbortKey(params) {
383
- const key = normalizeOptionalString(params.key);
384
- if (!key) return;
385
- const requestedAgentId = normalizeOptionalString(params.agentId);
386
- if (!requestedAgentId) return key;
387
- const scopedAgentId = normalizeAgentId(requestedAgentId);
388
- const ownerAgentId = resolveStoredSessionOwnerAgentId({
389
- cfg: params.cfg,
390
- agentId: scopedAgentId,
391
- sessionKey: key
392
- });
393
- if (ownerAgentId && ownerAgentId !== scopedAgentId) return;
394
- return resolveStoredSessionKeyForAgentStore({
395
- cfg: params.cfg,
396
- agentId: scopedAgentId,
397
- sessionKey: key
398
- });
399
- }
400
- function collectTrackedActiveSessionRuns(context) {
401
- const runs = [];
402
- if (!(context.chatAbortControllers instanceof Map)) return runs;
403
- for (const active of context.chatAbortControllers.values()) if (active.projectSessionActive !== false && typeof active.sessionKey === "string" && active.sessionKey.trim()) runs.push({
404
- sessionKey: active.sessionKey,
405
- agentId: typeof active.agentId === "string" ? normalizeAgentId(active.agentId) : void 0
406
- });
407
- return runs;
408
- }
409
- function isTrackedActiveSessionRunForKey(active, key, agentId, defaultAgentId) {
410
- if (active.sessionKey !== key) return false;
411
- if (key !== "global" || agentId === void 0) return true;
412
- const activeAgentId = active.agentId ?? defaultAgentId;
413
- return activeAgentId ? normalizeAgentId(activeAgentId) === normalizeAgentId(agentId) : false;
414
- }
415
- function hasTrackedActiveSessionRun(params) {
416
- return collectTrackedActiveSessionRuns(params.context).some((active) => isTrackedActiveSessionRunForKey(active, params.canonicalKey, params.agentId, params.defaultAgentId) || isTrackedActiveSessionRunForKey(active, params.requestedKey, params.agentId, params.defaultAgentId));
417
- }
418
- function resolveSessionMessageSubscriptionKey(params) {
419
- const agentId = params.agentId ? normalizeAgentId(params.agentId) : params.canonicalKey === "global" && params.defaultAgentId ? normalizeAgentId(params.defaultAgentId) : void 0;
420
- return params.canonicalKey === "global" && agentId ? `agent:${agentId}:global` : params.canonicalKey;
421
- }
422
- function resolveRequestedGlobalAgentId(cfg, key, explicitAgentId) {
423
- const canonicalKey = resolveSessionStoreKey({
424
- cfg,
425
- sessionKey: key
426
- });
427
- const parsed = parseAgentSessionKey(key);
428
- const requestedAgentId = normalizeOptionalString(explicitAgentId);
429
- if (requestedAgentId) {
430
- const agentId = normalizeAgentId(requestedAgentId);
431
- if (!listAgentIds(cfg).includes(agentId)) return {
432
- ok: false,
433
- error: errorShape(ErrorCodes.INVALID_REQUEST, `Unknown agent id "${explicitAgentId}"`)
434
- };
435
- if (parsed?.agentId && normalizeAgentId(parsed.agentId) !== agentId) return {
436
- ok: false,
437
- error: errorShape(ErrorCodes.INVALID_REQUEST, "session key agent does not match agentId")
438
- };
439
- if (canonicalKey !== "global") {
440
- if ((parsed?.agentId ? normalizeAgentId(parsed.agentId) : normalizeAgentId(resolveSessionStoreAgentId(cfg, canonicalKey))) !== agentId) return {
441
- ok: false,
442
- error: errorShape(ErrorCodes.INVALID_REQUEST, "session key agent does not match agentId")
443
- };
444
- }
445
- return {
446
- ok: true,
447
- agentId
448
- };
449
- }
450
- if (!parsed?.agentId) return { ok: true };
451
- const inferredAgentId = normalizeAgentId(parsed.agentId);
452
- if (canonicalKey === "global" && !listAgentIds(cfg).includes(inferredAgentId)) return {
453
- ok: false,
454
- error: errorShape(ErrorCodes.INVALID_REQUEST, `Unknown agent id "${parsed.agentId}"`)
455
- };
456
- return {
457
- ok: true,
458
- agentId: canonicalKey === "global" ? inferredAgentId : void 0
459
- };
460
- }
461
- async function interruptSessionRunIfActive(params) {
462
- const cfg = params.context.getRuntimeConfig();
463
- const hasTrackedRun = hasTrackedActiveSessionRun({
464
- context: params.context,
465
- requestedKey: params.requestedKey,
466
- canonicalKey: params.canonicalKey,
467
- agentId: params.agentId,
468
- defaultAgentId: resolveDefaultAgentId(cfg)
469
- });
470
- const hasEmbeddedRun = typeof params.sessionId === "string" && params.sessionId ? isEmbeddedAgentRunActive(params.sessionId) : false;
471
- if (!hasTrackedRun && !hasEmbeddedRun) return { interrupted: false };
472
- if (hasTrackedRun) {
473
- let abortOk = true;
474
- let abortError;
475
- const abortSessionKey = resolveAbortSessionKey({
476
- context: params.context,
477
- requestedKey: params.requestedKey,
478
- canonicalKey: params.canonicalKey
479
- });
480
- await chatHandlers["chat.abort"]({
481
- req: params.req,
482
- params: {
483
- sessionKey: abortSessionKey,
484
- ...params.canonicalKey === "global" && params.agentId ? { agentId: params.agentId } : {}
485
- },
486
- respond: (ok, _payload, error) => {
487
- abortOk = ok;
488
- abortError = error;
489
- },
490
- context: params.context,
491
- client: params.client,
492
- isWebchatConnect: params.isWebchatConnect
493
- });
494
- if (!abortOk) return {
495
- interrupted: true,
496
- error: abortError ?? errorShape(ErrorCodes.UNAVAILABLE, "failed to interrupt active session")
497
- };
498
- }
499
- if (hasEmbeddedRun && params.sessionId) abortEmbeddedAgentRun(params.sessionId);
500
- clearSessionQueues([
501
- params.requestedKey,
502
- params.canonicalKey,
503
- params.sessionId
504
- ]);
505
- if (hasEmbeddedRun && params.sessionId) {
506
- if (!await waitForEmbeddedAgentRunEnd(params.sessionId, 15e3)) return {
507
- interrupted: true,
508
- error: errorShape(ErrorCodes.UNAVAILABLE, `Session ${params.requestedKey} is still active; try again in a moment.`)
509
- };
510
- }
511
- return { interrupted: true };
512
- }
513
- async function handleSessionSend(params) {
514
- if (!assertValidParams(params.params, validateSessionsSendParams, params.method, params.respond)) return;
515
- const p = params.params;
516
- const key = requireSessionKey(p.key, params.respond);
517
- if (!key) return;
518
- const cfg = params.context.getRuntimeConfig();
519
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
520
- if (!requestedAgent.ok) {
521
- params.respond(false, void 0, requestedAgent.error);
522
- return;
523
- }
524
- const requestedAgentId = requestedAgent.agentId;
525
- let { entry, canonicalKey, storePath } = loadSessionEntry(key, { agentId: requestedAgentId });
526
- const deletedAgentId = resolveDeletedAgentIdFromSessionKey(cfg, canonicalKey);
527
- if (deletedAgentId !== null) {
528
- params.respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `Agent "${deletedAgentId}" no longer exists in configuration`));
529
- return;
530
- }
531
- if (!entry?.sessionId && !params.interruptIfActive && isAgentMainSessionKey(cfg, canonicalKey)) {
532
- const created = await createAgentMainSessionForSend({
533
- req: params.req,
534
- canonicalKey,
535
- context: params.context,
536
- client: params.client,
537
- isWebchatConnect: params.isWebchatConnect
538
- });
539
- if (!created.ok) {
540
- params.respond(false, void 0, created.error);
541
- return;
542
- }
543
- entry = created.entry;
544
- canonicalKey = created.canonicalKey;
545
- storePath = created.storePath;
546
- }
547
- if (!entry?.sessionId) {
548
- params.respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `session not found: ${key}`));
549
- return;
550
- }
551
- let interruptedActiveRun = false;
552
- if (params.interruptIfActive) {
553
- const interruptResult = await interruptSessionRunIfActive({
554
- req: params.req,
555
- context: params.context,
556
- client: params.client,
557
- isWebchatConnect: params.isWebchatConnect,
558
- requestedKey: key,
559
- canonicalKey,
560
- agentId: requestedAgentId,
561
- sessionId: entry.sessionId
562
- });
563
- if (interruptResult.error) {
564
- params.respond(false, void 0, interruptResult.error);
565
- return;
566
- }
567
- interruptedActiveRun = interruptResult.interrupted;
568
- }
569
- const messageSeq = await readSessionMessageCountAsync(entry.sessionId, storePath, entry.sessionFile) + 1;
570
- let sendAcked = false;
571
- let sendPayload;
572
- let sendCached = false;
573
- let startedRunId;
574
- const rawIdempotencyKey = p.idempotencyKey;
575
- const idempotencyKey = typeof rawIdempotencyKey === "string" && rawIdempotencyKey.trim() ? rawIdempotencyKey.trim() : randomUUID();
576
- await chatHandlers["chat.send"]({
577
- req: params.req,
578
- params: {
579
- sessionKey: canonicalKey,
580
- ...canonicalKey === "global" && requestedAgentId ? { agentId: requestedAgentId } : {},
581
- message: p.message,
582
- thinking: p.thinking,
583
- attachments: p.attachments,
584
- timeoutMs: p.timeoutMs,
585
- idempotencyKey
586
- },
587
- respond: (ok, payload, error, meta) => {
588
- sendAcked = ok;
589
- sendPayload = payload;
590
- sendCached = meta?.cached === true;
591
- startedRunId = payload && typeof payload === "object" && typeof payload.runId === "string" ? payload.runId : void 0;
592
- if (ok && shouldAttachPendingMessageSeq({
593
- payload,
594
- cached: meta?.cached === true
595
- })) {
596
- params.respond(true, {
597
- ...payload && typeof payload === "object" ? payload : {},
598
- messageSeq,
599
- ...interruptedActiveRun ? { interruptedActiveRun: true } : {}
600
- }, void 0, meta);
601
- return;
602
- }
603
- params.respond(ok, ok && payload && typeof payload === "object" ? {
604
- ...payload,
605
- ...interruptedActiveRun ? { interruptedActiveRun: true } : {}
606
- } : payload, error, meta);
607
- },
608
- context: params.context,
609
- client: params.client,
610
- isWebchatConnect: params.isWebchatConnect
611
- });
612
- if (sendAcked) {
613
- if (shouldAttachPendingMessageSeq({
614
- payload: sendPayload,
615
- cached: sendCached
616
- })) await reactivateCompletedSubagentSession({
617
- sessionKey: canonicalKey,
618
- runId: startedRunId
619
- });
620
- emitSessionsChanged(params.context, {
621
- sessionKey: canonicalKey,
622
- ...canonicalKey === "global" && requestedAgentId ? { agentId: requestedAgentId } : {},
623
- reason: interruptedActiveRun ? "steer" : "send"
624
- });
625
- }
626
- }
627
- const sessionsHandlers = {
628
- "sessions.list": async ({ params, respond, context }) => {
629
- if (!assertValidParams(params, validateSessionsListParams, "sessions.list", respond)) return;
630
- const p = params;
631
- const cfg = context.getRuntimeConfig();
632
- const configuredAgentsOnly = p.configuredAgentsOnly === true;
633
- respond(true, await measureDiagnosticsTimelineSpan("gateway.sessions.list", async () => {
634
- const { storePath, store } = measureDiagnosticsTimelineSpanSync("gateway.sessions.list.store_load", () => loadCombinedSessionStoreForGateway(cfg, { agentId: p.agentId }), {
635
- config: cfg,
636
- phase: "sessions.list",
637
- attributes: {
638
- agentId: p.agentId ?? null,
639
- configuredAgentsOnly
640
- }
641
- });
642
- const listStore = configuredAgentsOnly ? filterSessionStoreToConfiguredAgents(cfg, store) : store;
643
- const modelCatalog = await measureDiagnosticsTimelineSpan("gateway.sessions.list.model_catalog", () => loadOptionalSessionsListModelCatalog(context), {
644
- config: cfg,
645
- phase: "sessions.list"
646
- });
647
- const result = await measureDiagnosticsTimelineSpan("gateway.sessions.list.rows", () => listSessionsFromStoreAsync({
648
- cfg,
649
- storePath,
650
- store: listStore,
651
- modelCatalog,
652
- opts: p
653
- }), {
654
- config: cfg,
655
- phase: "sessions.list",
656
- attributes: { storeEntries: Object.keys(listStore).length }
657
- });
658
- const sessions = measureDiagnosticsTimelineSpanSync("gateway.sessions.list.active_run_flags", () => {
659
- const activeRuns = collectTrackedActiveSessionRuns(context);
660
- return result.sessions.map((session) => Object.assign({}, session, { hasActiveRun: activeRuns.some((active) => isTrackedActiveSessionRunForKey(active, session.key, session.key === "global" ? p.agentId : void 0, resolveDefaultAgentId(cfg))) }));
661
- }, {
662
- config: cfg,
663
- phase: "sessions.list",
664
- attributes: { sessions: result.sessions.length }
665
- });
666
- return {
667
- ...result,
668
- sessions
669
- };
670
- }, {
671
- config: cfg,
672
- phase: "sessions.list",
673
- attributes: {
674
- agentId: p.agentId ?? null,
675
- configuredAgentsOnly
676
- }
677
- }), void 0);
678
- },
679
- "sessions.cleanup": async ({ params, respond, context }) => {
680
- if (!assertValidParams(params, validateSessionsCleanupParams, "sessions.cleanup", respond)) return;
681
- const p = params;
682
- try {
683
- const { mode, appliedSummaries } = await runSessionsCleanup({
684
- cfg: context.getRuntimeConfig(),
685
- opts: {
686
- agent: p.agent,
687
- allAgents: p.allAgents,
688
- enforce: p.enforce,
689
- activeKey: p.activeKey,
690
- fixMissing: p.fixMissing,
691
- fixDmScope: p.fixDmScope
692
- }
693
- });
694
- respond(true, serializeSessionCleanupResult({
695
- mode,
696
- dryRun: false,
697
- summaries: appliedSummaries
698
- }), void 0);
699
- for (const summary of appliedSummaries) {
700
- emitSessionsChanged(context, {
701
- reason: "cleanup",
702
- sessionKey: void 0
703
- });
704
- if (summary.wouldMutate) context.logGateway.debug(`sessions.cleanup applied ${summary.storePath}: ${summary.beforeCount} -> ${summary.afterCount}`);
705
- }
706
- } catch (error) {
707
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, formatErrorMessage(error)));
708
- }
709
- },
710
- "sessions.subscribe": ({ client, context, respond }) => {
711
- const connId = client?.connId?.trim();
712
- if (connId) context.subscribeSessionEvents(connId);
713
- respond(true, { subscribed: Boolean(connId) }, void 0);
714
- },
715
- "sessions.unsubscribe": ({ client, context, respond }) => {
716
- const connId = client?.connId?.trim();
717
- if (connId) context.unsubscribeSessionEvents(connId);
718
- respond(true, { subscribed: false }, void 0);
719
- },
720
- "sessions.messages.subscribe": ({ params, client, context, respond }) => {
721
- if (!assertValidParams(params, validateSessionsMessagesSubscribeParams, "sessions.messages.subscribe", respond)) return;
722
- const connId = client?.connId?.trim();
723
- const p = params;
724
- const key = requireSessionKey(p.key, respond);
725
- if (!key) return;
726
- const cfg = context.getRuntimeConfig();
727
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
728
- if (!requestedAgent.ok) {
729
- respond(false, void 0, requestedAgent.error);
730
- return;
731
- }
732
- const requestedAgentId = requestedAgent.agentId;
733
- const { canonicalKey } = loadSessionEntry(key, { agentId: requestedAgentId });
734
- const subscriptionKey = resolveSessionMessageSubscriptionKey({
735
- canonicalKey,
736
- agentId: requestedAgentId,
737
- defaultAgentId: resolveDefaultAgentId(cfg)
738
- });
739
- if (connId) {
740
- context.subscribeSessionMessageEvents(connId, subscriptionKey);
741
- respond(true, {
742
- subscribed: true,
743
- key: canonicalKey
744
- }, void 0);
745
- return;
746
- }
747
- respond(true, {
748
- subscribed: false,
749
- key: canonicalKey
750
- }, void 0);
751
- },
752
- "sessions.messages.unsubscribe": ({ params, client, context, respond }) => {
753
- if (!assertValidParams(params, validateSessionsMessagesUnsubscribeParams, "sessions.messages.unsubscribe", respond)) return;
754
- const connId = client?.connId?.trim();
755
- const p = params;
756
- const key = requireSessionKey(p.key, respond);
757
- if (!key) return;
758
- const cfg = context.getRuntimeConfig();
759
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
760
- if (!requestedAgent.ok) {
761
- respond(false, void 0, requestedAgent.error);
762
- return;
763
- }
764
- const requestedAgentId = requestedAgent.agentId;
765
- const { canonicalKey } = loadSessionEntry(key, { agentId: requestedAgentId });
766
- const subscriptionKey = resolveSessionMessageSubscriptionKey({
767
- canonicalKey,
768
- agentId: requestedAgentId,
769
- defaultAgentId: resolveDefaultAgentId(cfg)
770
- });
771
- if (connId) context.unsubscribeSessionMessageEvents(connId, subscriptionKey);
772
- respond(true, {
773
- subscribed: false,
774
- key: canonicalKey
775
- }, void 0);
776
- },
777
- "sessions.preview": ({ params, respond, context }) => {
778
- if (!assertValidParams(params, validateSessionsPreviewParams, "sessions.preview", respond)) return;
779
- const p = params;
780
- const keys = (Array.isArray(p.keys) ? p.keys : []).map((key) => normalizeOptionalString(key ?? "")).filter((key) => Boolean(key)).slice(0, 64);
781
- const limit = typeof p.limit === "number" && Number.isFinite(p.limit) ? Math.max(1, p.limit) : 12;
782
- const maxChars = typeof p.maxChars === "number" && Number.isFinite(p.maxChars) ? Math.max(20, p.maxChars) : 240;
783
- if (keys.length === 0) {
784
- respond(true, {
785
- ts: Date.now(),
786
- previews: []
787
- }, void 0);
788
- return;
789
- }
790
- const cfg = context.getRuntimeConfig();
791
- const storeCache = /* @__PURE__ */ new Map();
792
- const previews = [];
793
- for (const key of keys) try {
794
- const storeTarget = resolveGatewaySessionStoreTarget({
795
- cfg,
796
- key,
797
- scanLegacyKeys: false
798
- });
799
- const store = storeCache.get(storeTarget.storePath) ?? loadSessionStore(storeTarget.storePath);
800
- storeCache.set(storeTarget.storePath, store);
801
- const target = resolveGatewaySessionStoreTarget({
802
- cfg,
803
- key,
804
- store
805
- });
806
- const entry = resolveFreshestSessionEntryFromStoreKeys(store, target.storeKeys);
807
- if (!entry?.sessionId) {
808
- previews.push({
809
- key,
810
- status: "missing",
811
- items: []
812
- });
813
- continue;
814
- }
815
- const items = readSessionPreviewItemsFromTranscript(entry.sessionId, target.storePath, entry.sessionFile, target.agentId, limit, maxChars);
816
- previews.push({
817
- key,
818
- status: items.length > 0 ? "ok" : "empty",
819
- items
820
- });
821
- } catch {
822
- previews.push({
823
- key,
824
- status: "error",
825
- items: []
826
- });
827
- }
828
- respond(true, {
829
- ts: Date.now(),
830
- previews
831
- }, void 0);
832
- },
833
- "sessions.describe": ({ params, respond, context }) => {
834
- if (!assertValidParams(params, validateSessionsDescribeParams, "sessions.describe", respond)) return;
835
- const p = params;
836
- const key = requireSessionKey(p.key, respond);
837
- if (!key) return;
838
- const cfg = context.getRuntimeConfig();
839
- const { target, storePath } = resolveGatewaySessionTargetFromKey(key, cfg);
840
- const store = loadSessionStore(storePath);
841
- const entry = resolveFreshestSessionEntryFromStoreKeys(store, target.storeKeys);
842
- if (!entry) {
843
- respond(true, { session: null }, void 0);
844
- return;
845
- }
846
- respond(true, { session: buildGatewaySessionRow({
847
- cfg,
848
- storePath,
849
- store,
850
- key: target.canonicalKey,
851
- entry,
852
- includeDerivedTitles: p.includeDerivedTitles,
853
- includeLastMessage: p.includeLastMessage,
854
- transcriptUsageMaxBytes: 64 * 1024
855
- }) }, void 0);
856
- },
857
- "sessions.resolve": async ({ params, respond, context }) => {
858
- if (!assertValidParams(params, validateSessionsResolveParams, "sessions.resolve", respond)) return;
859
- const p = params;
860
- const resolved = await resolveSessionKeyFromResolveParams({
861
- cfg: context.getRuntimeConfig(),
862
- p
863
- });
864
- if (!resolved.ok) {
865
- respond(false, void 0, resolved.error);
866
- return;
867
- }
868
- respond(true, {
869
- ok: true,
870
- key: resolved.key
871
- }, void 0);
872
- },
873
- "sessions.compaction.list": ({ params, respond, context }) => {
874
- if (!assertValidParams(params, validateSessionsCompactionListParams, "sessions.compaction.list", respond)) return;
875
- const p = params;
876
- const key = requireSessionKey(p.key, respond);
877
- if (!key) return;
878
- const requestedAgent = resolveRequestedGlobalAgentId(context.getRuntimeConfig(), key, p.agentId);
879
- if (!requestedAgent.ok) {
880
- respond(false, void 0, requestedAgent.error);
881
- return;
882
- }
883
- const { entry, canonicalKey } = loadSessionEntry(key, { agentId: requestedAgent.agentId });
884
- respond(true, {
885
- ok: true,
886
- key: canonicalKey,
887
- checkpoints: listSessionCompactionCheckpoints(entry)
888
- }, void 0);
889
- },
890
- "sessions.compaction.get": ({ params, respond, context }) => {
891
- if (!assertValidParams(params, validateSessionsCompactionGetParams, "sessions.compaction.get", respond)) return;
892
- const p = params;
893
- const key = requireSessionKey(p.key, respond);
894
- if (!key) return;
895
- const checkpointId = normalizeOptionalString(p.checkpointId) ?? "";
896
- if (!checkpointId) {
897
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "checkpointId required"));
898
- return;
899
- }
900
- const requestedAgent = resolveRequestedGlobalAgentId(context.getRuntimeConfig(), key, p.agentId);
901
- if (!requestedAgent.ok) {
902
- respond(false, void 0, requestedAgent.error);
903
- return;
904
- }
905
- const { entry, canonicalKey } = loadSessionEntry(key, { agentId: requestedAgent.agentId });
906
- const checkpoint = getSessionCompactionCheckpoint({
907
- entry,
908
- checkpointId
909
- });
910
- if (!checkpoint) {
911
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `checkpoint not found: ${checkpointId}`));
912
- return;
913
- }
914
- respond(true, {
915
- ok: true,
916
- key: canonicalKey,
917
- checkpoint
918
- }, void 0);
919
- },
920
- "sessions.create": async ({ req, params, respond, context, client, isWebchatConnect }) => {
921
- if (!assertValidParams(params, validateSessionsCreateParams, "sessions.create", respond)) return;
922
- const p = params;
923
- const cfg = context.getRuntimeConfig();
924
- const requestedKey = normalizeOptionalString(p.key);
925
- const agentId = normalizeAgentId(normalizeOptionalString(p.agentId) ?? resolveDefaultAgentId(cfg));
926
- if (requestedKey) {
927
- const requestedAgentId = parseAgentSessionKey(requestedKey)?.agentId;
928
- if (requestedAgentId && requestedAgentId !== agentId && normalizeOptionalString(p.agentId)) {
929
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `sessions.create key agent (${requestedAgentId}) does not match agentId (${agentId})`));
930
- return;
931
- }
932
- }
933
- const parentSessionKey = normalizeOptionalString(p.parentSessionKey);
934
- let canonicalParentSessionKey;
935
- let parentSessionEntry;
936
- let parentSelectedAgentId;
937
- if (parentSessionKey) {
938
- if (resolveSessionStoreKey({
939
- cfg,
940
- sessionKey: parentSessionKey
941
- }) === "global") {
942
- const parentRequestedAgent = resolveRequestedGlobalAgentId(cfg, parentSessionKey, p.agentId);
943
- if (!parentRequestedAgent.ok) {
944
- respond(false, void 0, parentRequestedAgent.error);
945
- return;
946
- }
947
- parentSelectedAgentId = parentRequestedAgent.agentId;
948
- }
949
- const parent = loadSessionEntry(parentSessionKey, parentSelectedAgentId ? { agentId: parentSelectedAgentId } : void 0);
950
- if (!parent.entry?.sessionId) {
951
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `unknown parent session: ${parentSessionKey}`));
952
- return;
953
- }
954
- canonicalParentSessionKey = parent.canonicalKey;
955
- parentSessionEntry = parent.entry;
956
- }
957
- if (canonicalParentSessionKey && p.emitCommandHooks === true && !requestedKey && !resolveOptionalInitialSessionMessage(p) && cfg.session?.dmScope === "main") {
958
- const parentMainKey = resolveAgentMainSessionKey({
959
- cfg,
960
- agentId: normalizeAgentId(parentSelectedAgentId ?? resolveAgentIdFromSessionKey(canonicalParentSessionKey) ?? resolveDefaultAgentId(cfg))
961
- });
962
- if (canonicalParentSessionKey === parentMainKey) {
963
- const { performGatewaySessionReset } = await loadSessionsRuntimeModule();
964
- const resetResult = await performGatewaySessionReset({
965
- key: canonicalParentSessionKey,
966
- ...canonicalParentSessionKey === "global" && parentSelectedAgentId ? { agentId: parentSelectedAgentId } : {},
967
- reason: "new",
968
- commandSource: "webchat"
969
- });
970
- if (!resetResult.ok) {
971
- respond(false, void 0, resetResult.error);
972
- return;
973
- }
974
- respond(true, {
975
- ok: true,
976
- key: resetResult.key,
977
- sessionId: resetResult.entry.sessionId,
978
- entry: resetResult.entry,
979
- runStarted: false
980
- }, void 0);
981
- emitSessionsChanged(context, {
982
- sessionKey: resetResult.key,
983
- ...resetResult.key === "global" ? { agentId: resetResult.agentId } : {},
984
- reason: "new"
985
- });
986
- return;
987
- }
988
- }
989
- if (canonicalParentSessionKey && p.emitCommandHooks === true) {
990
- const { entry: parentEntry } = loadSessionEntry(canonicalParentSessionKey, parentSelectedAgentId ? { agentId: parentSelectedAgentId } : void 0);
991
- const workspaceDir = resolveAgentWorkspaceDir(cfg, normalizeAgentId(parentSelectedAgentId ?? resolveAgentIdFromSessionKey(canonicalParentSessionKey) ?? resolveDefaultAgentId(cfg)));
992
- if (hasInternalHookListeners("command", "new")) await triggerInternalHook(createInternalHookEvent("command", "new", canonicalParentSessionKey, {
993
- sessionEntry: parentEntry,
994
- previousSessionEntry: parentEntry,
995
- commandSource: "webchat",
996
- cfg,
997
- workspaceDir
998
- }));
999
- const parentTarget = resolveGatewaySessionStoreTarget({
1000
- cfg,
1001
- key: canonicalParentSessionKey,
1002
- ...canonicalParentSessionKey === "global" && parentSelectedAgentId ? { agentId: parentSelectedAgentId } : {}
1003
- });
1004
- const { emitGatewayBeforeResetPluginHook } = await loadSessionsRuntimeModule();
1005
- await emitGatewayBeforeResetPluginHook({
1006
- cfg,
1007
- key: canonicalParentSessionKey,
1008
- target: parentTarget,
1009
- storePath: parentTarget.storePath,
1010
- entry: parentEntry,
1011
- reason: "new"
1012
- });
1013
- }
1014
- const loweredRequestedKey = normalizeOptionalLowercaseString(requestedKey);
1015
- const target = resolveGatewaySessionStoreTarget({
1016
- cfg,
1017
- key: requestedKey ? loweredRequestedKey === "global" || loweredRequestedKey === "unknown" ? loweredRequestedKey : toAgentStoreSessionKey({
1018
- agentId,
1019
- requestKey: requestedKey,
1020
- mainKey: cfg.session?.mainKey
1021
- }) : buildDashboardSessionKey(agentId),
1022
- agentId
1023
- });
1024
- const targetAgentId = target.agentId;
1025
- const created = await updateSessionStore(target.storePath, async (store) => {
1026
- const patched = await applySessionsPatchToStore({
1027
- cfg,
1028
- store,
1029
- storeKey: target.canonicalKey,
1030
- agentId: targetAgentId,
1031
- patch: {
1032
- key: target.canonicalKey,
1033
- label: normalizeOptionalString(p.label),
1034
- model: normalizeOptionalString(p.model)
1035
- },
1036
- loadGatewayModelCatalog: context.loadGatewayModelCatalog
1037
- });
1038
- if (!patched.ok || !canonicalParentSessionKey) return patched;
1039
- const inheritedSelection = normalizeOptionalString(p.model) ? {} : inheritSessionRuntimeSelection(parentSessionEntry);
1040
- const nextEntry = {
1041
- ...patched.entry,
1042
- ...inheritedSelection,
1043
- parentSessionKey: canonicalParentSessionKey
1044
- };
1045
- store[target.canonicalKey] = nextEntry;
1046
- return {
1047
- ...patched,
1048
- entry: nextEntry
1049
- };
1050
- });
1051
- if (!created.ok) {
1052
- respond(false, void 0, created.error);
1053
- return;
1054
- }
1055
- const ensured = ensureSessionTranscriptFile({
1056
- sessionId: created.entry.sessionId,
1057
- storePath: target.storePath,
1058
- sessionFile: created.entry.sessionFile,
1059
- agentId: targetAgentId
1060
- });
1061
- if (!ensured.ok) {
1062
- await updateSessionStore(target.storePath, (store) => {
1063
- delete store[target.canonicalKey];
1064
- });
1065
- respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, `failed to create session transcript: ${ensured.error}`));
1066
- return;
1067
- }
1068
- const createdEntry = created.entry.sessionFile === ensured.transcriptPath ? created.entry : {
1069
- ...created.entry,
1070
- sessionFile: ensured.transcriptPath
1071
- };
1072
- if (createdEntry !== created.entry) await updateSessionStore(target.storePath, (store) => {
1073
- const existing = store[target.canonicalKey];
1074
- if (existing) store[target.canonicalKey] = {
1075
- ...existing,
1076
- sessionFile: ensured.transcriptPath
1077
- };
1078
- });
1079
- const initialMessage = resolveOptionalInitialSessionMessage(p);
1080
- let runPayload;
1081
- let runError;
1082
- let runMeta;
1083
- const messageSeq = initialMessage ? await readSessionMessageCountAsync(createdEntry.sessionId, target.storePath, createdEntry.sessionFile) + 1 : void 0;
1084
- if (initialMessage) await chatHandlers["chat.send"]({
1085
- req,
1086
- params: {
1087
- sessionKey: target.canonicalKey,
1088
- ...target.canonicalKey === "global" ? { agentId: target.agentId } : {},
1089
- message: initialMessage,
1090
- idempotencyKey: randomUUID()
1091
- },
1092
- respond: (ok, payload, error, meta) => {
1093
- if (ok && payload && typeof payload === "object") runPayload = payload;
1094
- else runError = error;
1095
- runMeta = meta;
1096
- },
1097
- context,
1098
- client,
1099
- isWebchatConnect
1100
- });
1101
- const runStarted = runPayload !== void 0 && shouldAttachPendingMessageSeq({
1102
- payload: runPayload,
1103
- cached: runMeta?.cached === true
1104
- });
1105
- respond(true, {
1106
- ok: true,
1107
- key: target.canonicalKey,
1108
- sessionId: createdEntry.sessionId,
1109
- entry: createdEntry,
1110
- runStarted,
1111
- ...runPayload ? runPayload : {},
1112
- ...runStarted && typeof messageSeq === "number" ? { messageSeq } : {},
1113
- ...runError ? { runError } : {}
1114
- }, void 0);
1115
- emitSessionsChanged(context, {
1116
- sessionKey: target.canonicalKey,
1117
- ...target.canonicalKey === "global" ? { agentId: target.agentId } : {},
1118
- reason: "create"
1119
- });
1120
- if (runStarted) emitSessionsChanged(context, {
1121
- sessionKey: target.canonicalKey,
1122
- ...target.canonicalKey === "global" ? { agentId: target.agentId } : {},
1123
- reason: "send"
1124
- });
1125
- if (canonicalParentSessionKey && p.emitCommandHooks === true) {
1126
- const { entry: parentEntry } = loadSessionEntry(canonicalParentSessionKey, parentSelectedAgentId ? { agentId: parentSelectedAgentId } : void 0);
1127
- const parentTarget = resolveGatewaySessionStoreTarget({
1128
- cfg,
1129
- key: canonicalParentSessionKey,
1130
- ...canonicalParentSessionKey === "global" && parentSelectedAgentId ? { agentId: parentSelectedAgentId } : {}
1131
- });
1132
- const { emitGatewaySessionEndPluginHook, emitGatewaySessionStartPluginHook } = await loadSessionsRuntimeModule();
1133
- emitGatewaySessionEndPluginHook({
1134
- cfg,
1135
- sessionKey: canonicalParentSessionKey,
1136
- sessionId: parentEntry?.sessionId,
1137
- storePath: parentTarget.storePath,
1138
- sessionFile: parentEntry?.sessionFile,
1139
- agentId: parentTarget.agentId,
1140
- reason: "new",
1141
- nextSessionId: createdEntry.sessionId,
1142
- nextSessionKey: target.canonicalKey
1143
- });
1144
- emitGatewaySessionStartPluginHook({
1145
- cfg,
1146
- sessionKey: target.canonicalKey,
1147
- sessionId: createdEntry.sessionId,
1148
- resumedFrom: parentEntry?.sessionId,
1149
- storePath: target.storePath,
1150
- sessionFile: createdEntry.sessionFile,
1151
- agentId: target.agentId
1152
- });
1153
- }
1154
- },
1155
- "sessions.compaction.branch": async ({ params, respond, context }) => {
1156
- if (!assertValidParams(params, validateSessionsCompactionBranchParams, "sessions.compaction.branch", respond)) return;
1157
- const p = params;
1158
- const key = requireSessionKey(p.key, respond);
1159
- if (!key) return;
1160
- const checkpointId = typeof p.checkpointId === "string" && p.checkpointId.trim() ? p.checkpointId.trim() : "";
1161
- if (!checkpointId) {
1162
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "checkpointId required"));
1163
- return;
1164
- }
1165
- const requestedAgent = resolveRequestedGlobalAgentId(context.getRuntimeConfig(), key, p.agentId);
1166
- if (!requestedAgent.ok) {
1167
- respond(false, void 0, requestedAgent.error);
1168
- return;
1169
- }
1170
- const { cfg: loadedCfg, entry, canonicalKey } = loadSessionEntry(key, { agentId: requestedAgent.agentId });
1171
- const target = resolveGatewaySessionStoreTarget({
1172
- cfg: loadedCfg,
1173
- key: canonicalKey,
1174
- agentId: requestedAgent.agentId
1175
- });
1176
- if (!entry?.sessionId) {
1177
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `session not found: ${key}`));
1178
- return;
1179
- }
1180
- const checkpoint = getSessionCompactionCheckpoint({
1181
- entry,
1182
- checkpointId
1183
- });
1184
- const forkSource = checkpoint ? resolveCheckpointForkSource(checkpoint) : null;
1185
- if (!checkpoint || !forkSource) {
1186
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `checkpoint not found: ${checkpointId}`));
1187
- return;
1188
- }
1189
- const branchedSession = await forkCompactionCheckpointTranscriptAsync({
1190
- sourceFile: forkSource.sourceFile,
1191
- sourceLeafId: forkSource.sourceLeafId,
1192
- sessionDir: path.dirname(forkSource.sourceFile)
1193
- });
1194
- if (!branchedSession?.sessionFile) {
1195
- respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, "failed to create checkpoint branch transcript"));
1196
- return;
1197
- }
1198
- const nextKey = buildDashboardSessionKey(target.agentId);
1199
- const label = entry.label?.trim() ? `${entry.label.trim()} (checkpoint)` : "Checkpoint branch";
1200
- const nextEntry = cloneCheckpointSessionEntry({
1201
- currentEntry: entry,
1202
- nextSessionId: branchedSession.sessionId,
1203
- nextSessionFile: branchedSession.sessionFile,
1204
- label,
1205
- parentSessionKey: canonicalKey,
1206
- totalTokens: forkSource.totalTokens
1207
- });
1208
- await updateSessionStore(target.storePath, (store) => {
1209
- store[nextKey] = nextEntry;
1210
- });
1211
- respond(true, {
1212
- ok: true,
1213
- sourceKey: canonicalKey,
1214
- key: nextKey,
1215
- sessionId: nextEntry.sessionId,
1216
- checkpoint,
1217
- entry: nextEntry
1218
- }, void 0);
1219
- emitSessionsChanged(context, {
1220
- sessionKey: canonicalKey,
1221
- ...canonicalKey === "global" && requestedAgent.agentId ? { agentId: requestedAgent.agentId } : {},
1222
- reason: "checkpoint-branch"
1223
- });
1224
- emitSessionsChanged(context, {
1225
- sessionKey: nextKey,
1226
- reason: "checkpoint-branch"
1227
- });
1228
- },
1229
- "sessions.compaction.restore": async ({ req, params, respond, context, client, isWebchatConnect }) => {
1230
- if (!assertValidParams(params, validateSessionsCompactionRestoreParams, "sessions.compaction.restore", respond)) return;
1231
- const p = params;
1232
- const key = requireSessionKey(p.key, respond);
1233
- if (!key) return;
1234
- if (rejectWebchatSessionMutation({
1235
- action: "restore",
1236
- client,
1237
- isWebchatConnect,
1238
- respond
1239
- })) return;
1240
- const checkpointId = typeof p.checkpointId === "string" && p.checkpointId.trim() ? p.checkpointId.trim() : "";
1241
- if (!checkpointId) {
1242
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "checkpointId required"));
1243
- return;
1244
- }
1245
- const requestedAgent = resolveRequestedGlobalAgentId(context.getRuntimeConfig(), key, p.agentId);
1246
- if (!requestedAgent.ok) {
1247
- respond(false, void 0, requestedAgent.error);
1248
- return;
1249
- }
1250
- const { entry, canonicalKey, storePath } = loadSessionEntry(key, { agentId: requestedAgent.agentId });
1251
- if (!entry?.sessionId) {
1252
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `session not found: ${key}`));
1253
- return;
1254
- }
1255
- const checkpoint = getSessionCompactionCheckpoint({
1256
- entry,
1257
- checkpointId
1258
- });
1259
- const forkSource = checkpoint ? resolveCheckpointForkSource(checkpoint) : null;
1260
- if (!checkpoint || !forkSource) {
1261
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `checkpoint not found: ${checkpointId}`));
1262
- return;
1263
- }
1264
- const interruptResult = await interruptSessionRunIfActive({
1265
- req,
1266
- context,
1267
- client,
1268
- isWebchatConnect,
1269
- requestedKey: key,
1270
- canonicalKey,
1271
- agentId: requestedAgent.agentId,
1272
- sessionId: entry.sessionId
1273
- });
1274
- if (interruptResult.error) {
1275
- respond(false, void 0, interruptResult.error);
1276
- return;
1277
- }
1278
- const restoredSession = await forkCompactionCheckpointTranscriptAsync({
1279
- sourceFile: forkSource.sourceFile,
1280
- sourceLeafId: forkSource.sourceLeafId,
1281
- sessionDir: path.dirname(forkSource.sourceFile)
1282
- });
1283
- if (!restoredSession?.sessionFile) {
1284
- respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, "failed to restore checkpoint transcript"));
1285
- return;
1286
- }
1287
- const nextEntry = cloneCheckpointSessionEntry({
1288
- currentEntry: entry,
1289
- nextSessionId: restoredSession.sessionId,
1290
- nextSessionFile: restoredSession.sessionFile,
1291
- totalTokens: forkSource.totalTokens,
1292
- preserveCompactionCheckpoints: true
1293
- });
1294
- await updateSessionStore(storePath, (store) => {
1295
- store[canonicalKey] = nextEntry;
1296
- });
1297
- respond(true, {
1298
- ok: true,
1299
- key: canonicalKey,
1300
- sessionId: nextEntry.sessionId,
1301
- checkpoint,
1302
- entry: nextEntry
1303
- }, void 0);
1304
- emitSessionsChanged(context, {
1305
- sessionKey: canonicalKey,
1306
- ...canonicalKey === "global" && requestedAgent.agentId ? { agentId: requestedAgent.agentId } : {},
1307
- reason: "checkpoint-restore"
1308
- });
1309
- },
1310
- "sessions.send": async ({ req, params, respond, context, client, isWebchatConnect }) => {
1311
- await handleSessionSend({
1312
- method: "sessions.send",
1313
- req,
1314
- params,
1315
- respond,
1316
- context,
1317
- client,
1318
- isWebchatConnect,
1319
- interruptIfActive: false
1320
- });
1321
- },
1322
- "sessions.steer": async ({ req, params, respond, context, client, isWebchatConnect }) => {
1323
- await handleSessionSend({
1324
- method: "sessions.steer",
1325
- req,
1326
- params,
1327
- respond,
1328
- context,
1329
- client,
1330
- isWebchatConnect,
1331
- interruptIfActive: true
1332
- });
1333
- },
1334
- "sessions.abort": async ({ req, params, respond, context, client, isWebchatConnect }) => {
1335
- if (!assertValidParams(params, validateSessionsAbortParams, "sessions.abort", respond)) return;
1336
- const p = params;
1337
- const cfg = context.getRuntimeConfig();
1338
- const requestedRunId = readStringValue(p.runId);
1339
- const requestedKey = normalizeOptionalString(p.key);
1340
- const requestedParamAgentId = normalizeOptionalString(p.agentId);
1341
- const scopedRequestedKey = resolveScopedAbortKey({
1342
- cfg,
1343
- key: requestedKey,
1344
- agentId: requestedParamAgentId
1345
- });
1346
- if (requestedKey && requestedParamAgentId && !scopedRequestedKey) {
1347
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "session key agent does not match agentId"));
1348
- return;
1349
- }
1350
- const requestedKeyAgentId = scopedRequestedKey ? resolveSessionKeyAgentId(scopedRequestedKey, cfg) : void 0;
1351
- const activeRun = requestedRunId ? context.chatAbortControllers.get(requestedRunId) : void 0;
1352
- const activeRunSessionKey = activeRun?.sessionKey;
1353
- const activeRunAgentId = normalizeOptionalString(activeRun?.agentId);
1354
- const inferredRunAgentId = requestedParamAgentId ?? (requestedRunId && scopedRequestedKey?.toLowerCase() === "global" ? activeRunAgentId : void 0) ?? requestedKeyAgentId ?? (requestedRunId && !activeRunSessionKey ? resolveDefaultAgentId(cfg) : void 0);
1355
- const requestedRunAgentId = requestedRunId ? inferredRunAgentId ? normalizeAgentId(inferredRunAgentId) : void 0 : void 0;
1356
- const scopedActiveRunSessionKey = activeRunSessionKey ? requestedRunAgentId ? sessionKeyBelongsToAgent(activeRunSessionKey, requestedRunAgentId, cfg) ? activeRunSessionKey : void 0 : activeRunSessionKey : void 0;
1357
- const keyCandidate = scopedRequestedKey ?? scopedActiveRunSessionKey ?? (requestedRunId ? resolveSessionKeyForRun(requestedRunId, { agentId: requestedRunAgentId ?? resolveDefaultAgentId(cfg) }) : void 0);
1358
- if (!keyCandidate && requestedRunId) {
1359
- respond(true, {
1360
- ok: true,
1361
- abortedRunId: null,
1362
- status: "no-active-run"
1363
- });
1364
- return;
1365
- }
1366
- const key = requireSessionKey(keyCandidate, respond);
1367
- if (!key) return;
1368
- const requestedGlobalAgent = resolveRequestedGlobalAgentId(cfg, key, requestedParamAgentId ?? requestedRunAgentId);
1369
- if (!requestedGlobalAgent.ok) {
1370
- respond(false, void 0, requestedGlobalAgent.error);
1371
- return;
1372
- }
1373
- const requestedGlobalAgentId = requestedGlobalAgent.agentId;
1374
- const { canonicalKey } = loadSessionEntry(key, { agentId: requestedGlobalAgentId });
1375
- const resolvedAbortSessionKey = resolveAbortSessionKey({
1376
- context,
1377
- requestedKey: key,
1378
- canonicalKey,
1379
- activeRunSessionKey: scopedActiveRunSessionKey,
1380
- aliasKeys: requestedKey && requestedKey !== key && (!requestedParamAgentId || sessionKeyBelongsToAgent(requestedKey, requestedParamAgentId, cfg)) ? [requestedKey] : void 0
1381
- });
1382
- const abortSessionKey = canonicalKey === "global" && requestedGlobalAgentId ? "global" : resolvedAbortSessionKey;
1383
- const abortAgentId = abortSessionKey === "global" ? requestedGlobalAgentId ?? activeRunAgentId : void 0;
1384
- const preAbortRunKinds = /* @__PURE__ */ new Map();
1385
- if (requestedRunId) preAbortRunKinds.set(requestedRunId, context.chatAbortControllers.get(requestedRunId)?.kind);
1386
- else for (const [rid, entry] of context.chatAbortControllers) preAbortRunKinds.set(rid, entry.kind);
1387
- let abortedRunId = null;
1388
- await chatHandlers["chat.abort"]({
1389
- req,
1390
- params: {
1391
- sessionKey: abortSessionKey,
1392
- runId: requestedRunId,
1393
- ...abortAgentId ? { agentId: abortAgentId } : {}
1394
- },
1395
- respond: (ok, payload, error, meta) => {
1396
- if (!ok) {
1397
- respond(ok, payload, error, meta);
1398
- return;
1399
- }
1400
- const firstAbortedRunId = (payload && typeof payload === "object" && Array.isArray(payload.runIds) ? payload.runIds.filter((value) => Boolean(normalizeOptionalString(value))) : [])[0] ?? null;
1401
- abortedRunId = firstAbortedRunId;
1402
- if (firstAbortedRunId) {
1403
- const endedAt = Date.now();
1404
- const dedupePrefix = preAbortRunKinds.get(firstAbortedRunId) === "agent" ? "agent" : "chat";
1405
- setGatewayDedupeEntry({
1406
- dedupe: context.dedupe,
1407
- key: `${dedupePrefix}:${firstAbortedRunId}`,
1408
- entry: {
1409
- ts: endedAt,
1410
- ok: true,
1411
- payload: {
1412
- status: "timeout",
1413
- runId: firstAbortedRunId,
1414
- ...abortAgentId ? { agentId: abortAgentId } : {},
1415
- stopReason: "rpc",
1416
- endedAt
1417
- }
1418
- }
1419
- });
1420
- }
1421
- respond(true, {
1422
- ok: true,
1423
- abortedRunId,
1424
- status: abortedRunId ? "aborted" : "no-active-run"
1425
- }, void 0, meta);
1426
- },
1427
- context,
1428
- client,
1429
- isWebchatConnect
1430
- });
1431
- if (abortedRunId) emitSessionsChanged(context, {
1432
- sessionKey: canonicalKey,
1433
- ...canonicalKey === "global" && abortAgentId ? { agentId: abortAgentId } : {},
1434
- reason: "abort"
1435
- });
1436
- },
1437
- "sessions.patch": async ({ params, respond, context, client, isWebchatConnect }) => {
1438
- if (!assertValidParams(params, validateSessionsPatchParams, "sessions.patch", respond)) return;
1439
- const p = params;
1440
- const key = requireSessionKey(p.key, respond);
1441
- if (!key) return;
1442
- if (rejectWebchatSessionMutation({
1443
- action: "patch",
1444
- client,
1445
- isWebchatConnect,
1446
- respond
1447
- })) return;
1448
- const cfg = context.getRuntimeConfig();
1449
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
1450
- if (!requestedAgent.ok) {
1451
- respond(false, void 0, requestedAgent.error);
1452
- return;
1453
- }
1454
- const requestedAgentId = requestedAgent.agentId;
1455
- const { target, storePath } = resolveGatewaySessionTargetFromKey(key, cfg, { agentId: requestedAgentId });
1456
- const applied = await updateSessionStore(storePath, async (store) => {
1457
- const { primaryKey } = migrateAndPruneGatewaySessionStoreKey({
1458
- cfg,
1459
- key,
1460
- store,
1461
- agentId: requestedAgentId
1462
- });
1463
- return await applySessionsPatchToStore({
1464
- cfg,
1465
- store,
1466
- storeKey: primaryKey,
1467
- agentId: requestedAgentId,
1468
- patch: p,
1469
- loadGatewayModelCatalog: context.loadGatewayModelCatalog
1470
- });
1471
- });
1472
- if (!applied.ok) {
1473
- respond(false, void 0, applied.error);
1474
- return;
1475
- }
1476
- triggerSessionPatchHook({
1477
- cfg,
1478
- sessionEntry: applied.entry,
1479
- sessionKey: target.canonicalKey ?? key,
1480
- patch: p
1481
- });
1482
- const parsed = parseAgentSessionKey(target.canonicalKey ?? key);
1483
- const agentId = normalizeAgentId(target.canonicalKey === "global" ? target.agentId : parsed?.agentId ?? resolveDefaultAgentId(cfg));
1484
- const resolved = resolveSessionModelRef(cfg, applied.entry, agentId);
1485
- const resolvedDisplayModel = resolveSessionDisplayModelIdentityRef({
1486
- cfg,
1487
- agentId,
1488
- provider: resolved.provider,
1489
- model: resolved.model
1490
- });
1491
- const agentRuntime = resolveModelAgentRuntimeMetadata({
1492
- cfg,
1493
- agentId,
1494
- provider: resolvedDisplayModel.provider,
1495
- model: resolvedDisplayModel.model,
1496
- sessionKey: target.canonicalKey ?? key,
1497
- acpRuntime: applied.entry?.acp != null,
1498
- acpBackend: applied.entry?.acp?.backend
1499
- });
1500
- respond(true, {
1501
- ok: true,
1502
- path: storePath,
1503
- key: target.canonicalKey,
1504
- entry: applied.entry,
1505
- resolved: {
1506
- modelProvider: resolvedDisplayModel.provider,
1507
- model: resolvedDisplayModel.model,
1508
- agentRuntime
1509
- }
1510
- }, void 0);
1511
- emitSessionsChanged(context, {
1512
- sessionKey: target.canonicalKey,
1513
- ...target.canonicalKey === "global" && requestedAgentId ? { agentId: requestedAgentId } : {},
1514
- reason: "patch"
1515
- });
1516
- },
1517
- "sessions.pluginPatch": async ({ params, respond, context, client, isWebchatConnect }) => {
1518
- if (!assertValidParams(params, validateSessionsPluginPatchParams, "sessions.pluginPatch", respond)) return;
1519
- const key = requireSessionKey(params.key, respond);
1520
- if (!key) return;
1521
- if (rejectWebchatSessionMutation({
1522
- action: "patch",
1523
- client,
1524
- isWebchatConnect,
1525
- respond
1526
- })) return;
1527
- if (!(Array.isArray(client?.connect.scopes) ? client.connect.scopes : []).includes("operator.admin")) {
1528
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `sessions.pluginPatch requires gateway scope: ${ADMIN_SCOPE}`));
1529
- return;
1530
- }
1531
- const pluginId = normalizeOptionalString(params.pluginId);
1532
- const namespace = normalizeOptionalString(params.namespace);
1533
- if (!pluginId || !namespace) {
1534
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "pluginId and namespace are required"));
1535
- return;
1536
- }
1537
- if (params.unset === true && params.value !== void 0) {
1538
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "sessions.pluginPatch cannot specify both unset and value"));
1539
- return;
1540
- }
1541
- if (params.value !== void 0 && !isPluginJsonValue(params.value)) {
1542
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "sessions.pluginPatch value must be JSON-compatible"));
1543
- return;
1544
- }
1545
- const patched = await patchPluginSessionExtension({
1546
- cfg: context.getRuntimeConfig(),
1547
- sessionKey: key,
1548
- pluginId,
1549
- namespace,
1550
- value: params.value,
1551
- unset: params.unset === true
1552
- });
1553
- if (!patched.ok) {
1554
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, patched.error));
1555
- return;
1556
- }
1557
- respond(true, {
1558
- ok: true,
1559
- key: patched.key,
1560
- value: patched.value
1561
- }, void 0);
1562
- emitSessionsChanged(context, {
1563
- sessionKey: patched.key,
1564
- reason: "plugin-patch"
1565
- });
1566
- },
1567
- "sessions.reset": async ({ params, respond, context }) => {
1568
- if (!assertValidParams(params, validateSessionsResetParams, "sessions.reset", respond)) return;
1569
- const p = params;
1570
- const key = requireSessionKey(p.key, respond);
1571
- if (!key) return;
1572
- const reason = p.reason === "new" ? "new" : "reset";
1573
- const { performGatewaySessionReset } = await loadSessionsRuntimeModule();
1574
- const result = await performGatewaySessionReset({
1575
- key,
1576
- ...p.agentId ? { agentId: p.agentId } : {},
1577
- reason,
1578
- commandSource: "gateway:sessions.reset"
1579
- });
1580
- if (!result.ok) {
1581
- respond(false, void 0, result.error);
1582
- return;
1583
- }
1584
- respond(true, {
1585
- ok: true,
1586
- key: result.key,
1587
- entry: result.entry
1588
- }, void 0);
1589
- emitSessionsChanged(context, {
1590
- sessionKey: result.key,
1591
- ...result.key === "global" ? { agentId: result.agentId } : {},
1592
- reason
1593
- });
1594
- },
1595
- "sessions.delete": async ({ params, respond, client, isWebchatConnect, context }) => {
1596
- if (!assertValidParams(params, validateSessionsDeleteParams, "sessions.delete", respond)) return;
1597
- const p = params;
1598
- const key = requireSessionKey(p.key, respond);
1599
- if (!key) return;
1600
- if (rejectWebchatSessionMutation({
1601
- action: "delete",
1602
- client,
1603
- isWebchatConnect,
1604
- respond
1605
- })) return;
1606
- const cfg = context.getRuntimeConfig();
1607
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
1608
- if (!requestedAgent.ok) {
1609
- respond(false, void 0, requestedAgent.error);
1610
- return;
1611
- }
1612
- const requestedAgentId = requestedAgent.agentId;
1613
- const { target, storePath } = resolveGatewaySessionTargetFromKey(key, cfg, { agentId: requestedAgentId });
1614
- const mainKey = resolveMainSessionKey(cfg);
1615
- const isSelectedNonDefaultGlobal = target.canonicalKey === "global" && requestedAgentId !== void 0 && requestedAgentId !== resolveDefaultAgentId(cfg);
1616
- if (target.canonicalKey === mainKey && !isSelectedNonDefaultGlobal) {
1617
- respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `Cannot delete the main session (${mainKey}).`));
1618
- return;
1619
- }
1620
- const deleteTranscript = typeof p.deleteTranscript === "boolean" ? p.deleteTranscript : true;
1621
- const { archiveSessionTranscriptsForSessionDetailed, cleanupSessionBeforeMutation, emitGatewaySessionEndPluginHook, emitSessionUnboundLifecycleEvent } = await loadSessionsRuntimeModule();
1622
- const { entry, legacyKey, canonicalKey } = loadSessionEntry(key, { agentId: requestedAgentId });
1623
- if (rejectPluginRuntimeDeleteMismatch({
1624
- client,
1625
- key: canonicalKey ?? key,
1626
- entry,
1627
- respond
1628
- })) return;
1629
- const mutationCleanupError = await cleanupSessionBeforeMutation({
1630
- cfg,
1631
- key,
1632
- target,
1633
- entry,
1634
- legacyKey,
1635
- canonicalKey,
1636
- reason: "session-delete"
1637
- });
1638
- if (mutationCleanupError) {
1639
- respond(false, void 0, mutationCleanupError);
1640
- return;
1641
- }
1642
- const sessionId = entry?.sessionId;
1643
- const deleted = await updateSessionStore(storePath, (store) => {
1644
- const { primaryKey } = migrateAndPruneGatewaySessionStoreKey({
1645
- cfg,
1646
- key,
1647
- store,
1648
- agentId: requestedAgentId
1649
- });
1650
- const hadEntry = Boolean(store[primaryKey]);
1651
- if (hadEntry) delete store[primaryKey];
1652
- return hadEntry;
1653
- });
1654
- const archivedTranscripts = deleted && deleteTranscript ? archiveSessionTranscriptsForSessionDetailed({
1655
- sessionId,
1656
- storePath,
1657
- sessionFile: entry?.sessionFile,
1658
- agentId: target.agentId,
1659
- reason: "deleted"
1660
- }) : [];
1661
- const archived = archivedTranscripts.map((entry) => entry.archivedPath);
1662
- if (deleted) {
1663
- emitGatewaySessionEndPluginHook({
1664
- cfg,
1665
- sessionKey: target.canonicalKey ?? key,
1666
- sessionId,
1667
- storePath,
1668
- sessionFile: entry?.sessionFile,
1669
- agentId: target.agentId,
1670
- reason: "deleted",
1671
- archivedTranscripts
1672
- });
1673
- const emitLifecycleHooks = p.emitLifecycleHooks !== false;
1674
- await emitSessionUnboundLifecycleEvent({
1675
- targetSessionKey: target.canonicalKey ?? key,
1676
- reason: "session-delete",
1677
- emitHooks: emitLifecycleHooks
1678
- });
1679
- }
1680
- respond(true, {
1681
- ok: true,
1682
- key: target.canonicalKey,
1683
- deleted,
1684
- archived
1685
- }, void 0);
1686
- if (deleted) emitSessionsChanged(context, {
1687
- sessionKey: target.canonicalKey,
1688
- ...target.canonicalKey === "global" && requestedAgentId ? { agentId: requestedAgentId } : {},
1689
- reason: "delete"
1690
- });
1691
- },
1692
- "sessions.get": async ({ params, respond, context }) => {
1693
- const p = params;
1694
- const key = requireSessionKey(p.key ?? p.sessionKey, respond);
1695
- if (!key) return;
1696
- const limit = typeof p.limit === "number" && Number.isFinite(p.limit) ? Math.max(1, Math.floor(p.limit)) : 200;
1697
- const cfg = context.getRuntimeConfig();
1698
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, normalizeOptionalString(p.agentId));
1699
- if (!requestedAgent.ok) {
1700
- respond(false, void 0, requestedAgent.error);
1701
- return;
1702
- }
1703
- const { target, storePath } = resolveGatewaySessionTargetFromKey(key, cfg, { agentId: requestedAgent.agentId });
1704
- const entry = resolveFreshestSessionEntryFromStoreKeys(loadSessionStore(storePath), target.storeKeys);
1705
- if (!entry?.sessionId) {
1706
- respond(true, { messages: [] }, void 0);
1707
- return;
1708
- }
1709
- const { messages } = await readRecentSessionMessagesWithStatsAsync(entry.sessionId, storePath, entry.sessionFile, {
1710
- maxMessages: limit,
1711
- maxLines: limit * 20 + 20
1712
- });
1713
- respond(true, { messages }, void 0);
1714
- },
1715
- "sessions.compact": async ({ req, params, respond, context, client, isWebchatConnect }) => {
1716
- if (!assertValidParams(params, validateSessionsCompactParams, "sessions.compact", respond)) return;
1717
- const p = params;
1718
- const key = requireSessionKey(p.key, respond);
1719
- if (!key) return;
1720
- if (rejectWebchatSessionMutation({
1721
- action: "compact",
1722
- client,
1723
- isWebchatConnect,
1724
- respond
1725
- })) return;
1726
- const maxLines = typeof p.maxLines === "number" && Number.isFinite(p.maxLines) ? Math.max(1, Math.floor(p.maxLines)) : void 0;
1727
- const cfg = context.getRuntimeConfig();
1728
- const requestedAgent = resolveRequestedGlobalAgentId(cfg, key, p.agentId);
1729
- if (!requestedAgent.ok) {
1730
- respond(false, void 0, requestedAgent.error);
1731
- return;
1732
- }
1733
- const requestedAgentId = requestedAgent.agentId;
1734
- const { target, storePath } = resolveGatewaySessionTargetFromKey(key, cfg, { agentId: requestedAgentId });
1735
- const compactTarget = await updateSessionStore(storePath, (store) => {
1736
- const { entry, primaryKey } = migrateAndPruneGatewaySessionStoreKey({
1737
- cfg,
1738
- key,
1739
- store,
1740
- agentId: requestedAgentId
1741
- });
1742
- return {
1743
- entry,
1744
- primaryKey
1745
- };
1746
- });
1747
- const entry = compactTarget.entry;
1748
- const sessionId = entry?.sessionId;
1749
- if (!sessionId) {
1750
- respond(true, {
1751
- ok: true,
1752
- key: target.canonicalKey,
1753
- compacted: false,
1754
- reason: "no sessionId"
1755
- }, void 0);
1756
- return;
1757
- }
1758
- const filePath = resolveSessionTranscriptCandidates(sessionId, storePath, entry?.sessionFile, target.agentId).find((candidate) => fs.existsSync(candidate));
1759
- if (!filePath) {
1760
- respond(true, {
1761
- ok: true,
1762
- key: target.canonicalKey,
1763
- compacted: false,
1764
- reason: "no transcript"
1765
- }, void 0);
1766
- return;
1767
- }
1768
- if (maxLines === void 0) {
1769
- const interruptResult = await interruptSessionRunIfActive({
1770
- req,
1771
- context,
1772
- client,
1773
- isWebchatConnect,
1774
- requestedKey: key,
1775
- canonicalKey: target.canonicalKey,
1776
- agentId: requestedAgentId,
1777
- sessionId
1778
- });
1779
- if (interruptResult.error) {
1780
- respond(false, void 0, interruptResult.error);
1781
- return;
1782
- }
1783
- const resolvedModel = resolveSessionModelRef(cfg, entry, target.agentId);
1784
- const workspaceDir = normalizeOptionalString(entry?.spawnedWorkspaceDir) || resolveAgentWorkspaceDir(cfg, target.agentId);
1785
- const cwd = normalizeOptionalString(entry?.spawnedCwd);
1786
- const operationId = randomUUID();
1787
- emitSessionOperation(context, {
1788
- operationId,
1789
- operation: "compact",
1790
- phase: "start",
1791
- sessionKey: target.canonicalKey,
1792
- ...target.canonicalKey === "global" && target.agentId ? { agentId: target.agentId } : {}
1793
- });
1794
- let result;
1795
- try {
1796
- result = await compactEmbeddedAgentSession({
1797
- sessionId,
1798
- sessionKey: target.canonicalKey,
1799
- agentId: target.agentId,
1800
- allowGatewaySubagentBinding: true,
1801
- sessionFile: filePath,
1802
- workspaceDir,
1803
- cwd,
1804
- config: cfg,
1805
- provider: resolvedModel.provider,
1806
- model: resolvedModel.model,
1807
- agentHarnessId: entry?.sessionId === sessionId ? entry.agentHarnessId : void 0,
1808
- thinkLevel: normalizeThinkLevel(entry?.thinkingLevel),
1809
- reasoningLevel: normalizeReasoningLevel(entry?.reasoningLevel),
1810
- bashElevated: {
1811
- enabled: false,
1812
- allowed: false,
1813
- defaultLevel: "off"
1814
- },
1815
- trigger: "manual"
1816
- });
1817
- } catch (err) {
1818
- emitSessionOperation(context, {
1819
- operationId,
1820
- operation: "compact",
1821
- phase: "end",
1822
- sessionKey: target.canonicalKey,
1823
- ...target.canonicalKey === "global" && target.agentId ? { agentId: target.agentId } : {},
1824
- completed: false,
1825
- reason: formatErrorMessage(err)
1826
- });
1827
- throw err;
1828
- }
1829
- emitSessionOperation(context, {
1830
- operationId,
1831
- operation: "compact",
1832
- phase: "end",
1833
- sessionKey: target.canonicalKey,
1834
- ...target.canonicalKey === "global" && target.agentId ? { agentId: target.agentId } : {},
1835
- completed: result.ok && result.compacted,
1836
- reason: result.reason
1837
- });
1838
- if (result.ok && result.compacted) await updateSessionStore(storePath, (store) => {
1839
- const entryToUpdate = store[compactTarget.primaryKey];
1840
- if (!entryToUpdate) return;
1841
- entryToUpdate.updatedAt = Date.now();
1842
- entryToUpdate.compactionCount = Math.max(0, entryToUpdate.compactionCount ?? 0) + 1;
1843
- if (result.result?.sessionId && result.result.sessionId !== entryToUpdate.sessionId) entryToUpdate.sessionId = result.result.sessionId;
1844
- if (result.result?.sessionFile) entryToUpdate.sessionFile = result.result.sessionFile;
1845
- delete entryToUpdate.inputTokens;
1846
- delete entryToUpdate.outputTokens;
1847
- delete entryToUpdate.contextBudgetStatus;
1848
- if (typeof result.result?.tokensAfter === "number" && Number.isFinite(result.result.tokensAfter)) {
1849
- entryToUpdate.totalTokens = result.result.tokensAfter;
1850
- entryToUpdate.totalTokensFresh = true;
1851
- } else {
1852
- delete entryToUpdate.totalTokens;
1853
- delete entryToUpdate.totalTokensFresh;
1854
- }
1855
- });
1856
- respond(true, {
1857
- ok: result.ok,
1858
- key: target.canonicalKey,
1859
- compacted: result.compacted,
1860
- reason: result.reason,
1861
- result: result.result
1862
- }, void 0);
1863
- if (result.ok) emitSessionsChanged(context, {
1864
- sessionKey: target.canonicalKey,
1865
- ...target.canonicalKey === "global" && target.agentId ? { agentId: target.agentId } : {},
1866
- reason: "compact",
1867
- compacted: result.compacted
1868
- });
1869
- return;
1870
- }
1871
- const tail = readRecentSessionTranscriptLines({
1872
- sessionId,
1873
- storePath,
1874
- sessionFile: entry?.sessionFile,
1875
- agentId: target.agentId,
1876
- maxLines
1877
- });
1878
- const lines = tail?.lines ?? [];
1879
- const totalLines = tail?.totalLines ?? 0;
1880
- if (totalLines <= maxLines) {
1881
- respond(true, {
1882
- ok: true,
1883
- key: target.canonicalKey,
1884
- compacted: false,
1885
- kept: totalLines
1886
- }, void 0);
1887
- return;
1888
- }
1889
- const archived = archiveFileOnDisk(filePath, "bak");
1890
- fs.writeFileSync(filePath, `${lines.join("\n")}\n`, "utf-8");
1891
- await updateSessionStore(storePath, (store) => {
1892
- const entryToUpdate = store[compactTarget.primaryKey];
1893
- if (!entryToUpdate) return;
1894
- delete entryToUpdate.inputTokens;
1895
- delete entryToUpdate.outputTokens;
1896
- delete entryToUpdate.totalTokens;
1897
- delete entryToUpdate.totalTokensFresh;
1898
- delete entryToUpdate.contextBudgetStatus;
1899
- entryToUpdate.updatedAt = Date.now();
1900
- });
1901
- respond(true, {
1902
- ok: true,
1903
- key: target.canonicalKey,
1904
- compacted: true,
1905
- archived,
1906
- kept: lines.length
1907
- }, void 0);
1908
- emitSessionsChanged(context, {
1909
- sessionKey: target.canonicalKey,
1910
- ...target.canonicalKey === "global" && target.agentId ? { agentId: target.agentId } : {},
1911
- reason: "compact",
1912
- compacted: true
1913
- });
1914
- }
1915
- };
1916
- //#endregion
1917
- export { sessionsHandlers };