@nocobase/app-plugin-agents 0.1.0-beta.9 → 1.0.0-beta.16

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 (914) hide show
  1. package/CHANGELOG.md +315 -0
  2. package/README.md +94 -51
  3. package/dist/client/api/client.d.ts +25 -19
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +23 -24
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +4 -1
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +4 -1
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/api/runners.d.ts +8 -4
  12. package/dist/client/api/runners.d.ts.map +1 -1
  13. package/dist/client/api/runners.js +9 -0
  14. package/dist/client/api/runners.js.map +1 -1
  15. package/dist/client/chat/ai-form.d.ts +13 -0
  16. package/dist/client/chat/ai-form.d.ts.map +1 -0
  17. package/dist/client/chat/ai-form.js +57 -0
  18. package/dist/client/chat/ai-form.js.map +1 -0
  19. package/dist/client/chat/api.d.ts +16 -14
  20. package/dist/client/chat/api.d.ts.map +1 -1
  21. package/dist/client/chat/api.js +85 -18
  22. package/dist/client/chat/api.js.map +1 -1
  23. package/dist/client/chat/client-id.d.ts +3 -0
  24. package/dist/client/chat/client-id.d.ts.map +1 -0
  25. package/dist/client/chat/client-id.js +17 -0
  26. package/dist/client/chat/client-id.js.map +1 -0
  27. package/dist/client/chat/consultation-identity.d.ts +7 -0
  28. package/dist/client/chat/consultation-identity.d.ts.map +1 -0
  29. package/dist/client/chat/consultation-identity.js +39 -0
  30. package/dist/client/chat/consultation-identity.js.map +1 -0
  31. package/dist/client/chat/context-model.d.ts +21 -3
  32. package/dist/client/chat/context-model.d.ts.map +1 -1
  33. package/dist/client/chat/context-model.js +33 -4
  34. package/dist/client/chat/context-model.js.map +1 -1
  35. package/dist/client/chat/controller.d.ts +83 -0
  36. package/dist/client/chat/controller.d.ts.map +1 -0
  37. package/dist/client/chat/controller.js +767 -0
  38. package/dist/client/chat/controller.js.map +1 -0
  39. package/dist/client/chat/extensions.d.ts +8 -3
  40. package/dist/client/chat/extensions.d.ts.map +1 -1
  41. package/dist/client/chat/extensions.js.map +1 -1
  42. package/dist/client/chat/feedback.d.ts +18 -0
  43. package/dist/client/chat/feedback.d.ts.map +1 -0
  44. package/dist/client/chat/feedback.js +38 -0
  45. package/dist/client/chat/feedback.js.map +1 -0
  46. package/dist/client/chat/form-registry.d.ts +95 -0
  47. package/dist/client/chat/form-registry.d.ts.map +1 -0
  48. package/dist/client/chat/form-registry.js +384 -0
  49. package/dist/client/chat/form-registry.js.map +1 -0
  50. package/dist/client/chat/keys.d.ts +1 -0
  51. package/dist/client/chat/keys.d.ts.map +1 -1
  52. package/dist/client/chat/keys.js +3 -1
  53. package/dist/client/chat/keys.js.map +1 -1
  54. package/dist/client/chat/message-model.d.ts +38 -44
  55. package/dist/client/chat/message-model.d.ts.map +1 -1
  56. package/dist/client/chat/message-model.js +138 -56
  57. package/dist/client/chat/message-model.js.map +1 -1
  58. package/dist/client/chat/provider.d.ts +12 -2
  59. package/dist/client/chat/provider.d.ts.map +1 -1
  60. package/dist/client/chat/provider.js +130 -4
  61. package/dist/client/chat/provider.js.map +1 -1
  62. package/dist/client/chat/submissions.d.ts +67 -0
  63. package/dist/client/chat/submissions.d.ts.map +1 -0
  64. package/dist/client/chat/submissions.js +241 -0
  65. package/dist/client/chat/submissions.js.map +1 -0
  66. package/dist/client/chat/tool-renderer.d.ts +39 -0
  67. package/dist/client/chat/tool-renderer.d.ts.map +1 -0
  68. package/dist/client/chat/tool-renderer.js +27 -0
  69. package/dist/client/chat/tool-renderer.js.map +1 -0
  70. package/dist/client/chat/use-chat-scroll.d.ts +4 -0
  71. package/dist/client/chat/use-chat-scroll.d.ts.map +1 -0
  72. package/dist/client/chat/use-chat-scroll.js +73 -0
  73. package/dist/client/chat/use-chat-scroll.js.map +1 -0
  74. package/dist/client/chat/use-chat.d.ts +13 -24
  75. package/dist/client/chat/use-chat.d.ts.map +1 -1
  76. package/dist/client/chat/use-chat.js +250 -235
  77. package/dist/client/chat/use-chat.js.map +1 -1
  78. package/dist/client/chat.d.ts +20 -8
  79. package/dist/client/chat.d.ts.map +1 -1
  80. package/dist/client/chat.js +16 -4
  81. package/dist/client/chat.js.map +1 -1
  82. package/dist/client/components/agent-picker.d.ts +6 -23
  83. package/dist/client/components/agent-picker.d.ts.map +1 -1
  84. package/dist/client/components/agent-picker.js +20 -39
  85. package/dist/client/components/agent-picker.js.map +1 -1
  86. package/dist/client/components/quota-status.d.ts +16 -0
  87. package/dist/client/components/quota-status.d.ts.map +1 -0
  88. package/dist/client/components/quota-status.js +39 -0
  89. package/dist/client/components/quota-status.js.map +1 -0
  90. package/dist/client/components/runners-refresh.d.ts.map +1 -1
  91. package/dist/client/components/runners-refresh.js +1 -0
  92. package/dist/client/components/runners-refresh.js.map +1 -1
  93. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
  94. package/dist/client/components/variables/variable-dialogs.js +7 -7
  95. package/dist/client/components/variables/variable-dialogs.js.map +1 -1
  96. package/dist/client/config.d.ts +2 -0
  97. package/dist/client/config.d.ts.map +1 -1
  98. package/dist/client/config.js +2 -0
  99. package/dist/client/config.js.map +1 -1
  100. package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -1
  101. package/dist/client/hooks/use-agent-picker-labels.js +4 -12
  102. package/dist/client/hooks/use-agent-picker-labels.js.map +1 -1
  103. package/dist/client/hooks/use-quota-expiry.d.ts +7 -0
  104. package/dist/client/hooks/use-quota-expiry.d.ts.map +1 -0
  105. package/dist/client/hooks/use-quota-expiry.js +92 -0
  106. package/dist/client/hooks/use-quota-expiry.js.map +1 -0
  107. package/dist/client/hooks/use-realtime-topic.d.ts +1 -4
  108. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -1
  109. package/dist/client/hooks/use-realtime-topic.js +7 -11
  110. package/dist/client/hooks/use-realtime-topic.js.map +1 -1
  111. package/dist/client/kit.d.ts +14 -12
  112. package/dist/client/kit.d.ts.map +1 -1
  113. package/dist/client/kit.js +37 -14
  114. package/dist/client/kit.js.map +1 -1
  115. package/dist/client/lib/agents.d.ts +5 -18
  116. package/dist/client/lib/agents.d.ts.map +1 -1
  117. package/dist/client/lib/agents.js +18 -55
  118. package/dist/client/lib/agents.js.map +1 -1
  119. package/dist/client/lib/format.d.ts +3 -1
  120. package/dist/client/lib/format.d.ts.map +1 -1
  121. package/dist/client/lib/format.js +25 -0
  122. package/dist/client/lib/format.js.map +1 -1
  123. package/dist/client/lib/skill-settings-context.d.ts +9 -0
  124. package/dist/client/lib/skill-settings-context.d.ts.map +1 -0
  125. package/dist/client/lib/skill-settings-context.js +4 -0
  126. package/dist/client/lib/skill-settings-context.js.map +1 -0
  127. package/dist/client/lib/skill-settings.d.ts +12 -0
  128. package/dist/client/lib/skill-settings.d.ts.map +1 -0
  129. package/dist/client/lib/skill-settings.js +37 -0
  130. package/dist/client/lib/skill-settings.js.map +1 -0
  131. package/dist/client/locales/chat.en-US.d.ts +8 -27
  132. package/dist/client/locales/chat.en-US.d.ts.map +1 -1
  133. package/dist/client/locales/chat.en-US.js +12 -30
  134. package/dist/client/locales/chat.en-US.js.map +1 -1
  135. package/dist/client/locales/chat.zh-CN.d.ts.map +1 -1
  136. package/dist/client/locales/chat.zh-CN.js +9 -27
  137. package/dist/client/locales/chat.zh-CN.js.map +1 -1
  138. package/dist/client/locales/de-DE.d.ts +5 -0
  139. package/dist/client/locales/de-DE.d.ts.map +1 -0
  140. package/dist/client/locales/de-DE.js +1219 -0
  141. package/dist/client/locales/de-DE.js.map +1 -0
  142. package/dist/client/locales/en-US.d.ts +95 -217
  143. package/dist/client/locales/en-US.d.ts.map +1 -1
  144. package/dist/client/locales/en-US.js +100 -218
  145. package/dist/client/locales/en-US.js.map +1 -1
  146. package/dist/client/locales/es-ES.d.ts +5 -0
  147. package/dist/client/locales/es-ES.d.ts.map +1 -0
  148. package/dist/client/locales/es-ES.js +1228 -0
  149. package/dist/client/locales/es-ES.js.map +1 -0
  150. package/dist/client/locales/fr-FR.d.ts +5 -0
  151. package/dist/client/locales/fr-FR.d.ts.map +1 -0
  152. package/dist/client/locales/fr-FR.js +1229 -0
  153. package/dist/client/locales/fr-FR.js.map +1 -0
  154. package/dist/client/locales/id-ID.d.ts +5 -0
  155. package/dist/client/locales/id-ID.d.ts.map +1 -0
  156. package/dist/client/locales/id-ID.js +1219 -0
  157. package/dist/client/locales/id-ID.js.map +1 -0
  158. package/dist/client/locales/index.d.ts.map +1 -1
  159. package/dist/client/locales/index.js +8 -0
  160. package/dist/client/locales/index.js.map +1 -1
  161. package/dist/client/locales/ja-JP.d.ts +5 -0
  162. package/dist/client/locales/ja-JP.d.ts.map +1 -0
  163. package/dist/client/locales/ja-JP.js +1219 -0
  164. package/dist/client/locales/ja-JP.js.map +1 -0
  165. package/dist/client/locales/pt-BR.d.ts +5 -0
  166. package/dist/client/locales/pt-BR.d.ts.map +1 -0
  167. package/dist/client/locales/pt-BR.js +1229 -0
  168. package/dist/client/locales/pt-BR.js.map +1 -0
  169. package/dist/client/locales/runWait.en-US.d.ts +7 -0
  170. package/dist/client/locales/runWait.en-US.d.ts.map +1 -1
  171. package/dist/client/locales/runWait.en-US.js +10 -3
  172. package/dist/client/locales/runWait.en-US.js.map +1 -1
  173. package/dist/client/locales/runWait.zh-CN.d.ts +1 -1
  174. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -1
  175. package/dist/client/locales/runWait.zh-CN.js +11 -4
  176. package/dist/client/locales/runWait.zh-CN.js.map +1 -1
  177. package/dist/client/locales/runtimes.en-US.d.ts +83 -0
  178. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  179. package/dist/client/locales/runtimes.en-US.js +84 -1
  180. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  181. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  182. package/dist/client/locales/runtimes.zh-CN.js +83 -0
  183. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  184. package/dist/client/locales/skills.en-US.d.ts +7 -0
  185. package/dist/client/locales/skills.en-US.d.ts.map +1 -1
  186. package/dist/client/locales/skills.en-US.js +8 -1
  187. package/dist/client/locales/skills.en-US.js.map +1 -1
  188. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
  189. package/dist/client/locales/skills.zh-CN.js +8 -1
  190. package/dist/client/locales/skills.zh-CN.js.map +1 -1
  191. package/dist/client/locales/vi-VN.d.ts +5 -0
  192. package/dist/client/locales/vi-VN.d.ts.map +1 -0
  193. package/dist/client/locales/vi-VN.js +1219 -0
  194. package/dist/client/locales/vi-VN.js.map +1 -0
  195. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  196. package/dist/client/locales/zh-CN.js +102 -220
  197. package/dist/client/locales/zh-CN.js.map +1 -1
  198. package/dist/client/locales/zh-TW.d.ts +5 -0
  199. package/dist/client/locales/zh-TW.d.ts.map +1 -0
  200. package/dist/client/locales/zh-TW.js +1219 -0
  201. package/dist/client/locales/zh-TW.js.map +1 -0
  202. package/dist/client/model-suggestion.d.ts +6 -0
  203. package/dist/client/model-suggestion.d.ts.map +1 -0
  204. package/dist/client/model-suggestion.js +25 -0
  205. package/dist/client/model-suggestion.js.map +1 -0
  206. package/dist/client/online/services.d.ts.map +1 -1
  207. package/dist/client/online/services.js +5 -6
  208. package/dist/client/online/services.js.map +1 -1
  209. package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
  210. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
  211. package/dist/client/pages/agents/agent-dialog.js +99 -0
  212. package/dist/client/pages/agents/agent-dialog.js.map +1 -0
  213. package/dist/client/pages/agents/agent-state.d.ts +11 -0
  214. package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
  215. package/dist/client/pages/agents/agent-state.js +28 -0
  216. package/dist/client/pages/agents/agent-state.js.map +1 -0
  217. package/dist/client/pages/agents/index.d.ts +1 -1
  218. package/dist/client/pages/agents/index.d.ts.map +1 -1
  219. package/dist/client/pages/agents/index.js +7 -101
  220. package/dist/client/pages/agents/index.js.map +1 -1
  221. package/dist/client/pages/agents/runner-agents.d.ts +3 -0
  222. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
  223. package/dist/client/pages/agents/runner-agents.js +185 -0
  224. package/dist/client/pages/agents/runner-agents.js.map +1 -0
  225. package/dist/client/pages/runtimes/connect.js.map +1 -1
  226. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  227. package/dist/client/pages/runtimes/index.js +1 -1
  228. package/dist/client/pages/runtimes/index.js.map +1 -1
  229. package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
  230. package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
  231. package/dist/client/pages/runtimes/quota-targets.js +18 -0
  232. package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
  233. package/dist/client/pages/runtimes/quota.d.ts +17 -0
  234. package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
  235. package/dist/client/pages/runtimes/quota.js +50 -0
  236. package/dist/client/pages/runtimes/quota.js.map +1 -0
  237. package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
  238. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  239. package/dist/client/pages/runtimes/runner-cells.js +6 -3
  240. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  241. package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
  242. package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
  243. package/dist/client/pages/runtimes/runner-overview.js +109 -0
  244. package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
  245. package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
  246. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
  247. package/dist/client/pages/runtimes/runner-runs.js +35 -0
  248. package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
  249. package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
  250. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  251. package/dist/client/pages/runtimes/runner-sheet.js +43 -171
  252. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  253. package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
  254. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
  255. package/dist/client/pages/runtimes/runner-tools.js +75 -0
  256. package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
  257. package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
  258. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
  259. package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
  260. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
  261. package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
  262. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
  263. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
  264. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
  265. package/dist/client/pages/runtimes/workspace-diagnostics.js +67 -33
  266. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
  267. package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
  268. package/dist/client/pages/skills/detail/index.js +11 -15
  269. package/dist/client/pages/skills/detail/index.js.map +1 -1
  270. package/dist/client/pages/skills/index.d.ts.map +1 -1
  271. package/dist/client/pages/skills/index.js +2 -2
  272. package/dist/client/pages/skills/index.js.map +1 -1
  273. package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -1
  274. package/dist/client/pages/usage/date-range-picker.js +14 -2
  275. package/dist/client/pages/usage/date-range-picker.js.map +1 -1
  276. package/dist/client/pages/usage/index.js +2 -2
  277. package/dist/client/pages/usage/index.js.map +1 -1
  278. package/dist/client/profile/default-agent.d.ts.map +1 -1
  279. package/dist/client/profile/default-agent.js +2 -4
  280. package/dist/client/profile/default-agent.js.map +1 -1
  281. package/dist/client/routes.d.ts +1 -1
  282. package/dist/client/routes.d.ts.map +1 -1
  283. package/dist/client/routes.js +1 -13
  284. package/dist/client/routes.js.map +1 -1
  285. package/dist/client/runs/format-wait.d.ts.map +1 -1
  286. package/dist/client/runs/format-wait.js +15 -1
  287. package/dist/client/runs/format-wait.js.map +1 -1
  288. package/dist/client/runs/subject-runs.d.ts +5 -0
  289. package/dist/client/runs/subject-runs.d.ts.map +1 -1
  290. package/dist/client/runs/subject-runs.js +24 -9
  291. package/dist/client/runs/subject-runs.js.map +1 -1
  292. package/dist/client/runs/use-run-events.d.ts +1 -1
  293. package/dist/client/runs/use-run-events.d.ts.map +1 -1
  294. package/dist/client/runs/use-run-events.js +5 -2
  295. package/dist/client/runs/use-run-events.js.map +1 -1
  296. package/dist/client/runs.d.ts +1 -1
  297. package/dist/client/runs.d.ts.map +1 -1
  298. package/dist/client/runs.js +1 -1
  299. package/dist/client/runs.js.map +1 -1
  300. package/dist/database/migrations/.manifest.json +38 -2
  301. package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -1
  302. package/dist/database/migrations/202610020003_ag_create_runs.js +0 -1
  303. package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -1
  304. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
  305. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
  306. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
  307. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
  308. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
  309. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
  310. package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
  311. package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
  312. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
  313. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
  314. package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
  315. package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
  316. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
  317. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
  318. package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
  319. package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
  320. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts +4 -0
  321. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts.map +1 -0
  322. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js +41 -0
  323. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js.map +1 -0
  324. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts +4 -0
  325. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts.map +1 -0
  326. package/dist/database/migrations/202610260001_ag_drop_directory_index.js +24 -0
  327. package/dist/database/migrations/202610260001_ag_drop_directory_index.js.map +1 -0
  328. package/dist/database/migrations/202610260001_ag_run_revision.d.ts +4 -0
  329. package/dist/database/migrations/202610260001_ag_run_revision.d.ts.map +1 -0
  330. package/dist/database/migrations/202610260001_ag_run_revision.js +19 -0
  331. package/dist/database/migrations/202610260001_ag_run_revision.js.map +1 -0
  332. package/dist/database/migrations/202610270001_ag_online_agent.d.ts +4 -0
  333. package/dist/database/migrations/202610270001_ag_online_agent.d.ts.map +1 -0
  334. package/dist/database/migrations/202610270001_ag_online_agent.js +43 -0
  335. package/dist/database/migrations/202610270001_ag_online_agent.js.map +1 -0
  336. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts +4 -0
  337. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts.map +1 -0
  338. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js +17 -0
  339. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js.map +1 -0
  340. package/dist/package.json +34 -12
  341. package/dist/server/cli/run-credential.js +1 -1
  342. package/dist/server/cli/surface.d.ts.map +1 -1
  343. package/dist/server/cli/surface.js +4 -1
  344. package/dist/server/cli/surface.js.map +1 -1
  345. package/dist/server/composition.d.ts +36 -35
  346. package/dist/server/composition.d.ts.map +1 -1
  347. package/dist/server/composition.js +99 -66
  348. package/dist/server/composition.js.map +1 -1
  349. package/dist/server/core/agents/agent.service.d.ts +51 -43
  350. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  351. package/dist/server/core/agents/agent.service.js +347 -321
  352. package/dist/server/core/agents/agent.service.js.map +1 -1
  353. package/dist/server/core/agents/agent.store.d.ts +26 -12
  354. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  355. package/dist/server/core/agents/agent.store.js +74 -66
  356. package/dist/server/core/agents/agent.store.js.map +1 -1
  357. package/dist/server/core/agents/agent.views.d.ts +29 -0
  358. package/dist/server/core/agents/agent.views.d.ts.map +1 -0
  359. package/dist/server/core/agents/agent.views.js +88 -0
  360. package/dist/server/core/agents/agent.views.js.map +1 -0
  361. package/dist/server/core/agents/discovery.d.ts +12 -0
  362. package/dist/server/core/agents/discovery.d.ts.map +1 -0
  363. package/dist/server/core/agents/discovery.js +39 -0
  364. package/dist/server/core/agents/discovery.js.map +1 -0
  365. package/dist/server/core/agents/index.d.ts +3 -2
  366. package/dist/server/core/agents/index.d.ts.map +1 -1
  367. package/dist/server/core/agents/index.js +3 -2
  368. package/dist/server/core/agents/index.js.map +1 -1
  369. package/dist/server/core/brief/brief.js +3 -3
  370. package/dist/server/core/brief/brief.js.map +1 -1
  371. package/dist/server/core/callers/index.d.ts +10 -1
  372. package/dist/server/core/callers/index.d.ts.map +1 -1
  373. package/dist/server/core/callers/index.js +15 -0
  374. package/dist/server/core/callers/index.js.map +1 -1
  375. package/dist/server/core/conversations/attachments.d.ts.map +1 -1
  376. package/dist/server/core/conversations/attachments.js +6 -1
  377. package/dist/server/core/conversations/attachments.js.map +1 -1
  378. package/dist/server/core/conversations/availability.d.ts +6 -11
  379. package/dist/server/core/conversations/availability.d.ts.map +1 -1
  380. package/dist/server/core/conversations/availability.js +11 -15
  381. package/dist/server/core/conversations/availability.js.map +1 -1
  382. package/dist/server/core/conversations/chat-settings.d.ts +2 -2
  383. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
  384. package/dist/server/core/conversations/chat-settings.js +17 -22
  385. package/dist/server/core/conversations/chat-settings.js.map +1 -1
  386. package/dist/server/core/conversations/conversation.service.d.ts +13 -8
  387. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  388. package/dist/server/core/conversations/conversation.service.js +397 -383
  389. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  390. package/dist/server/core/conversations/conversation.store.d.ts +3 -0
  391. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
  392. package/dist/server/core/conversations/conversation.store.js +2 -1
  393. package/dist/server/core/conversations/conversation.store.js.map +1 -1
  394. package/dist/server/core/conversations/page-context.d.ts +8 -2
  395. package/dist/server/core/conversations/page-context.d.ts.map +1 -1
  396. package/dist/server/core/conversations/page-context.js +61 -2
  397. package/dist/server/core/conversations/page-context.js.map +1 -1
  398. package/dist/server/core/conversations/ports.d.ts +18 -20
  399. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  400. package/dist/server/core/reports/model-usage.d.ts.map +1 -1
  401. package/dist/server/core/reports/model-usage.js +42 -44
  402. package/dist/server/core/reports/model-usage.js.map +1 -1
  403. package/dist/server/core/reports/prices.d.ts.map +1 -1
  404. package/dist/server/core/reports/prices.js +29 -5
  405. package/dist/server/core/reports/prices.js.map +1 -1
  406. package/dist/server/core/reports/report.service.d.ts +4 -2
  407. package/dist/server/core/reports/report.service.d.ts.map +1 -1
  408. package/dist/server/core/reports/report.service.js +148 -66
  409. package/dist/server/core/reports/report.service.js.map +1 -1
  410. package/dist/server/core/runs/access.d.ts +5 -0
  411. package/dist/server/core/runs/access.d.ts.map +1 -0
  412. package/dist/server/core/runs/access.js +10 -0
  413. package/dist/server/core/runs/access.js.map +1 -0
  414. package/dist/server/core/runs/availability.d.ts +18 -6
  415. package/dist/server/core/runs/availability.d.ts.map +1 -1
  416. package/dist/server/core/runs/availability.js +40 -34
  417. package/dist/server/core/runs/availability.js.map +1 -1
  418. package/dist/server/core/runs/claim.d.ts +30 -106
  419. package/dist/server/core/runs/claim.d.ts.map +1 -1
  420. package/dist/server/core/runs/claim.js +630 -323
  421. package/dist/server/core/runs/claim.js.map +1 -1
  422. package/dist/server/core/runs/comment-consent.d.ts +24 -0
  423. package/dist/server/core/runs/comment-consent.d.ts.map +1 -0
  424. package/dist/server/core/runs/comment-consent.js +116 -0
  425. package/dist/server/core/runs/comment-consent.js.map +1 -0
  426. package/dist/server/core/runs/eligibility.d.ts +13 -1
  427. package/dist/server/core/runs/eligibility.d.ts.map +1 -1
  428. package/dist/server/core/runs/eligibility.js +41 -10
  429. package/dist/server/core/runs/eligibility.js.map +1 -1
  430. package/dist/server/core/runs/execution-view.d.ts +8 -0
  431. package/dist/server/core/runs/execution-view.d.ts.map +1 -1
  432. package/dist/server/core/runs/execution-view.js +9 -0
  433. package/dist/server/core/runs/execution-view.js.map +1 -1
  434. package/dist/server/core/runs/execution.d.ts +1 -1
  435. package/dist/server/core/runs/execution.d.ts.map +1 -1
  436. package/dist/server/core/runs/execution.js +8 -2
  437. package/dist/server/core/runs/execution.js.map +1 -1
  438. package/dist/server/core/runs/identity.d.ts +9 -0
  439. package/dist/server/core/runs/identity.d.ts.map +1 -0
  440. package/dist/server/core/runs/identity.js +75 -0
  441. package/dist/server/core/runs/identity.js.map +1 -0
  442. package/dist/server/core/runs/index.d.ts +6 -6
  443. package/dist/server/core/runs/index.d.ts.map +1 -1
  444. package/dist/server/core/runs/index.js +6 -6
  445. package/dist/server/core/runs/index.js.map +1 -1
  446. package/dist/server/core/runs/input-gate.d.ts +1 -1
  447. package/dist/server/core/runs/input-gate.d.ts.map +1 -1
  448. package/dist/server/core/runs/input-gate.js +4 -2
  449. package/dist/server/core/runs/input-gate.js.map +1 -1
  450. package/dist/server/core/runs/lifecycle.d.ts +16 -18
  451. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  452. package/dist/server/core/runs/lifecycle.js +150 -62
  453. package/dist/server/core/runs/lifecycle.js.map +1 -1
  454. package/dist/server/core/runs/policy.d.ts +9 -2
  455. package/dist/server/core/runs/policy.d.ts.map +1 -1
  456. package/dist/server/core/runs/policy.js +17 -8
  457. package/dist/server/core/runs/policy.js.map +1 -1
  458. package/dist/server/core/runs/ports.d.ts +41 -31
  459. package/dist/server/core/runs/ports.d.ts.map +1 -1
  460. package/dist/server/core/runs/ports.js +2 -13
  461. package/dist/server/core/runs/ports.js.map +1 -1
  462. package/dist/server/core/runs/preview.d.ts.map +1 -1
  463. package/dist/server/core/runs/preview.js +1 -3
  464. package/dist/server/core/runs/preview.js.map +1 -1
  465. package/dist/server/core/runs/run-data-purge.d.ts +15 -0
  466. package/dist/server/core/runs/run-data-purge.d.ts.map +1 -0
  467. package/dist/server/core/runs/run-data-purge.js +82 -0
  468. package/dist/server/core/runs/run-data-purge.js.map +1 -0
  469. package/dist/server/core/runs/run-requests.d.ts +25 -0
  470. package/dist/server/core/runs/run-requests.d.ts.map +1 -1
  471. package/dist/server/core/runs/run-requests.js +131 -64
  472. package/dist/server/core/runs/run-requests.js.map +1 -1
  473. package/dist/server/core/runs/run.service.d.ts +31 -2
  474. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  475. package/dist/server/core/runs/run.service.js +638 -74
  476. package/dist/server/core/runs/run.service.js.map +1 -1
  477. package/dist/server/core/runs/run.store.d.ts +11 -0
  478. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  479. package/dist/server/core/runs/run.store.js +39 -11
  480. package/dist/server/core/runs/run.store.js.map +1 -1
  481. package/dist/server/core/runs/runner-view.d.ts +12 -2
  482. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  483. package/dist/server/core/runs/runner-view.js +55 -13
  484. package/dist/server/core/runs/runner-view.js.map +1 -1
  485. package/dist/server/core/runs/selection.d.ts +13 -0
  486. package/dist/server/core/runs/selection.d.ts.map +1 -0
  487. package/dist/server/core/runs/selection.js +21 -0
  488. package/dist/server/core/runs/selection.js.map +1 -0
  489. package/dist/server/core/runs/sweeper.d.ts +1 -0
  490. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  491. package/dist/server/core/runs/sweeper.js +66 -17
  492. package/dist/server/core/runs/sweeper.js.map +1 -1
  493. package/dist/server/core/runs/transitions.d.ts +6 -2
  494. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  495. package/dist/server/core/runs/transitions.js +73 -19
  496. package/dist/server/core/runs/transitions.js.map +1 -1
  497. package/dist/server/core/runs/workload.d.ts +17 -5
  498. package/dist/server/core/runs/workload.d.ts.map +1 -1
  499. package/dist/server/core/runs/workload.js +203 -68
  500. package/dist/server/core/runs/workload.js.map +1 -1
  501. package/dist/server/core/skills/skill.service.d.ts +6 -2
  502. package/dist/server/core/skills/skill.service.d.ts.map +1 -1
  503. package/dist/server/core/skills/skill.service.js +87 -66
  504. package/dist/server/core/skills/skill.service.js.map +1 -1
  505. package/dist/server/core/skills/skill.store.d.ts +14 -0
  506. package/dist/server/core/skills/skill.store.d.ts.map +1 -1
  507. package/dist/server/core/skills/skill.store.js +30 -0
  508. package/dist/server/core/skills/skill.store.js.map +1 -1
  509. package/dist/server/core/transaction-read.d.ts +4 -0
  510. package/dist/server/core/transaction-read.d.ts.map +1 -0
  511. package/dist/server/core/transaction-read.js +30 -0
  512. package/dist/server/core/transaction-read.js.map +1 -0
  513. package/dist/server/core/variables/index.d.ts +1 -1
  514. package/dist/server/core/variables/index.d.ts.map +1 -1
  515. package/dist/server/core/variables/index.js.map +1 -1
  516. package/dist/server/core/variables/variable.service.d.ts +18 -0
  517. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  518. package/dist/server/core/variables/variable.service.js +95 -20
  519. package/dist/server/core/variables/variable.service.js.map +1 -1
  520. package/dist/server/index.d.ts +4 -0
  521. package/dist/server/index.d.ts.map +1 -1
  522. package/dist/server/index.js +3 -0
  523. package/dist/server/index.js.map +1 -1
  524. package/dist/server/jobs/job.service.d.ts +1 -1
  525. package/dist/server/jobs/job.service.d.ts.map +1 -1
  526. package/dist/server/jobs/job.service.js +8 -2
  527. package/dist/server/jobs/job.service.js.map +1 -1
  528. package/dist/server/kernel/events.d.ts +7 -3
  529. package/dist/server/kernel/events.d.ts.map +1 -1
  530. package/dist/server/kernel/events.js.map +1 -1
  531. package/dist/server/kernel/scopes.d.ts +6 -0
  532. package/dist/server/kernel/scopes.d.ts.map +1 -1
  533. package/dist/server/kernel/scopes.js +3 -1
  534. package/dist/server/kernel/scopes.js.map +1 -1
  535. package/dist/server/locales/de-DE.d.ts +5 -0
  536. package/dist/server/locales/de-DE.d.ts.map +1 -0
  537. package/dist/server/locales/de-DE.js +54 -0
  538. package/dist/server/locales/de-DE.js.map +1 -0
  539. package/dist/server/locales/es-ES.d.ts +5 -0
  540. package/dist/server/locales/es-ES.d.ts.map +1 -0
  541. package/dist/server/locales/es-ES.js +54 -0
  542. package/dist/server/locales/es-ES.js.map +1 -0
  543. package/dist/server/locales/fr-FR.d.ts +5 -0
  544. package/dist/server/locales/fr-FR.d.ts.map +1 -0
  545. package/dist/server/locales/fr-FR.js +54 -0
  546. package/dist/server/locales/fr-FR.js.map +1 -0
  547. package/dist/server/locales/id-ID.d.ts +5 -0
  548. package/dist/server/locales/id-ID.d.ts.map +1 -0
  549. package/dist/server/locales/id-ID.js +54 -0
  550. package/dist/server/locales/id-ID.js.map +1 -0
  551. package/dist/server/locales/index.d.ts.map +1 -1
  552. package/dist/server/locales/index.js +8 -0
  553. package/dist/server/locales/index.js.map +1 -1
  554. package/dist/server/locales/ja-JP.d.ts +5 -0
  555. package/dist/server/locales/ja-JP.d.ts.map +1 -0
  556. package/dist/server/locales/ja-JP.js +54 -0
  557. package/dist/server/locales/ja-JP.js.map +1 -0
  558. package/dist/server/locales/pt-BR.d.ts +5 -0
  559. package/dist/server/locales/pt-BR.d.ts.map +1 -0
  560. package/dist/server/locales/pt-BR.js +54 -0
  561. package/dist/server/locales/pt-BR.js.map +1 -0
  562. package/dist/server/locales/vi-VN.d.ts +5 -0
  563. package/dist/server/locales/vi-VN.d.ts.map +1 -0
  564. package/dist/server/locales/vi-VN.js +54 -0
  565. package/dist/server/locales/vi-VN.js.map +1 -0
  566. package/dist/server/locales/zh-TW.d.ts +5 -0
  567. package/dist/server/locales/zh-TW.d.ts.map +1 -0
  568. package/dist/server/locales/zh-TW.js +54 -0
  569. package/dist/server/locales/zh-TW.js.map +1 -0
  570. package/dist/server/online/agent/configuration.d.ts +26 -0
  571. package/dist/server/online/agent/configuration.d.ts.map +1 -0
  572. package/dist/server/online/agent/configuration.js +261 -0
  573. package/dist/server/online/agent/configuration.js.map +1 -0
  574. package/dist/server/online/agent/contracts.d.ts +87 -0
  575. package/dist/server/online/agent/contracts.d.ts.map +1 -0
  576. package/dist/server/online/agent/contracts.js +2 -0
  577. package/dist/server/online/agent/contracts.js.map +1 -0
  578. package/dist/server/online/agent/errors.d.ts +11 -0
  579. package/dist/server/online/agent/errors.d.ts.map +1 -0
  580. package/dist/server/online/agent/errors.js +21 -0
  581. package/dist/server/online/agent/errors.js.map +1 -0
  582. package/dist/server/online/agent/index.d.ts +11 -0
  583. package/dist/server/online/agent/index.d.ts.map +1 -0
  584. package/dist/server/online/agent/index.js +9 -0
  585. package/dist/server/online/agent/index.js.map +1 -0
  586. package/dist/server/online/agent/messages/json.d.ts +5 -0
  587. package/dist/server/online/agent/messages/json.d.ts.map +1 -0
  588. package/dist/server/online/agent/messages/json.js +88 -0
  589. package/dist/server/online/agent/messages/json.js.map +1 -0
  590. package/dist/server/online/agent/messages/projection.d.ts +20 -0
  591. package/dist/server/online/agent/messages/projection.d.ts.map +1 -0
  592. package/dist/server/online/agent/messages/projection.js +495 -0
  593. package/dist/server/online/agent/messages/projection.js.map +1 -0
  594. package/dist/server/online/agent/messages/validation.d.ts +7 -0
  595. package/dist/server/online/agent/messages/validation.d.ts.map +1 -0
  596. package/dist/server/online/agent/messages/validation.js +159 -0
  597. package/dist/server/online/agent/messages/validation.js.map +1 -0
  598. package/dist/server/online/agent/native/backend.d.ts +60 -0
  599. package/dist/server/online/agent/native/backend.d.ts.map +1 -0
  600. package/dist/server/online/agent/native/backend.js +411 -0
  601. package/dist/server/online/agent/native/backend.js.map +1 -0
  602. package/dist/server/online/agent/native/execution.d.ts +41 -0
  603. package/dist/server/online/agent/native/execution.d.ts.map +1 -0
  604. package/dist/server/online/agent/native/execution.js +430 -0
  605. package/dist/server/online/agent/native/execution.js.map +1 -0
  606. package/dist/server/online/agent/native/session.d.ts +40 -0
  607. package/dist/server/online/agent/native/session.d.ts.map +1 -0
  608. package/dist/server/online/agent/native/session.js +104 -0
  609. package/dist/server/online/agent/native/session.js.map +1 -0
  610. package/dist/server/online/agent/native/types.d.ts +32 -0
  611. package/dist/server/online/agent/native/types.d.ts.map +1 -0
  612. package/dist/server/online/agent/native/types.js +2 -0
  613. package/dist/server/online/agent/native/types.js.map +1 -0
  614. package/dist/server/online/agent/persistence/manager.d.ts +16 -0
  615. package/dist/server/online/agent/persistence/manager.d.ts.map +1 -0
  616. package/dist/server/online/agent/persistence/manager.js +209 -0
  617. package/dist/server/online/agent/persistence/manager.js.map +1 -0
  618. package/dist/server/online/agent/persistence/state.d.ts +11 -0
  619. package/dist/server/online/agent/persistence/state.d.ts.map +1 -0
  620. package/dist/server/online/agent/persistence/state.js +45 -0
  621. package/dist/server/online/agent/persistence/state.js.map +1 -0
  622. package/dist/server/online/agent/persistence/store.d.ts +58 -0
  623. package/dist/server/online/agent/persistence/store.d.ts.map +1 -0
  624. package/dist/server/online/agent/persistence/store.js +634 -0
  625. package/dist/server/online/agent/persistence/store.js.map +1 -0
  626. package/dist/server/online/agent/persistence/types.d.ts +44 -0
  627. package/dist/server/online/agent/persistence/types.d.ts.map +1 -0
  628. package/dist/server/online/agent/persistence/types.js +2 -0
  629. package/dist/server/online/agent/persistence/types.js.map +1 -0
  630. package/dist/server/online/agent/runner/backend.d.ts +57 -0
  631. package/dist/server/online/agent/runner/backend.d.ts.map +1 -0
  632. package/dist/server/online/agent/runner/backend.js +501 -0
  633. package/dist/server/online/agent/runner/backend.js.map +1 -0
  634. package/dist/server/online/agent/runner/projection.d.ts +10 -0
  635. package/dist/server/online/agent/runner/projection.d.ts.map +1 -0
  636. package/dist/server/online/agent/runner/projection.js +171 -0
  637. package/dist/server/online/agent/runner/projection.js.map +1 -0
  638. package/dist/server/online/agent/runner/types.d.ts +44 -0
  639. package/dist/server/online/agent/runner/types.d.ts.map +1 -0
  640. package/dist/server/online/agent/runner/types.js +2 -0
  641. package/dist/server/online/agent/runner/types.js.map +1 -0
  642. package/dist/server/online/agent/service.d.ts +47 -0
  643. package/dist/server/online/agent/service.d.ts.map +1 -0
  644. package/dist/server/online/agent/service.js +111 -0
  645. package/dist/server/online/agent/service.js.map +1 -0
  646. package/dist/server/online/agent/transport/streams.d.ts +54 -0
  647. package/dist/server/online/agent/transport/streams.d.ts.map +1 -0
  648. package/dist/server/online/agent/transport/streams.js +440 -0
  649. package/dist/server/online/agent/transport/streams.js.map +1 -0
  650. package/dist/server/online/agent/types.d.ts +155 -0
  651. package/dist/server/online/agent/types.d.ts.map +1 -0
  652. package/dist/server/online/agent/types.js +2 -0
  653. package/dist/server/online/agent/types.js.map +1 -0
  654. package/dist/server/online/index.d.ts +0 -5
  655. package/dist/server/online/index.d.ts.map +1 -1
  656. package/dist/server/online/index.js +0 -5
  657. package/dist/server/online/index.js.map +1 -1
  658. package/dist/server/online/providers.d.ts.map +1 -1
  659. package/dist/server/online/providers.js +26 -2
  660. package/dist/server/online/providers.js.map +1 -1
  661. package/dist/server/online/routes.d.ts.map +1 -1
  662. package/dist/server/online/routes.js +6 -35
  663. package/dist/server/online/routes.js.map +1 -1
  664. package/dist/server/online/services.d.ts.map +1 -1
  665. package/dist/server/online/services.js +101 -24
  666. package/dist/server/online/services.js.map +1 -1
  667. package/dist/server/providers/agents.d.ts +18 -25
  668. package/dist/server/providers/agents.d.ts.map +1 -1
  669. package/dist/server/providers/agents.js +72 -101
  670. package/dist/server/providers/agents.js.map +1 -1
  671. package/dist/server/providers/authorization.d.ts +1 -1
  672. package/dist/server/providers/authorization.d.ts.map +1 -1
  673. package/dist/server/providers/authorization.js +3 -2
  674. package/dist/server/providers/authorization.js.map +1 -1
  675. package/dist/server/providers/runners.d.ts +3 -1
  676. package/dist/server/providers/runners.d.ts.map +1 -1
  677. package/dist/server/providers/runners.js +38 -9
  678. package/dist/server/providers/runners.js.map +1 -1
  679. package/dist/server/routes/admin.d.ts +4 -0
  680. package/dist/server/routes/admin.d.ts.map +1 -1
  681. package/dist/server/routes/admin.js +131 -209
  682. package/dist/server/routes/admin.js.map +1 -1
  683. package/dist/server/routes/chat.d.ts.map +1 -1
  684. package/dist/server/routes/chat.js +313 -164
  685. package/dist/server/routes/chat.js.map +1 -1
  686. package/dist/server/routes/index.d.ts.map +1 -1
  687. package/dist/server/routes/index.js +8 -0
  688. package/dist/server/routes/index.js.map +1 -1
  689. package/dist/server/routes/roster.d.ts.map +1 -1
  690. package/dist/server/routes/roster.js +6 -22
  691. package/dist/server/routes/roster.js.map +1 -1
  692. package/dist/server/routes/run-requests.js +3 -3
  693. package/dist/server/routes/run-requests.js.map +1 -1
  694. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  695. package/dist/server/routes/runners/admin.js +219 -25
  696. package/dist/server/routes/runners/admin.js.map +1 -1
  697. package/dist/server/routes/runners/install.d.ts.map +1 -1
  698. package/dist/server/routes/runners/install.js +7 -2
  699. package/dist/server/routes/runners/install.js.map +1 -1
  700. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  701. package/dist/server/routes/runners/runner.js +2 -0
  702. package/dist/server/routes/runners/runner.js.map +1 -1
  703. package/dist/server/routes/schemas.d.ts +18 -10
  704. package/dist/server/routes/schemas.d.ts.map +1 -1
  705. package/dist/server/routes/schemas.js +497 -153
  706. package/dist/server/routes/schemas.js.map +1 -1
  707. package/dist/server/runners/runner.service.d.ts +47 -4
  708. package/dist/server/runners/runner.service.d.ts.map +1 -1
  709. package/dist/server/runners/runner.service.js +423 -79
  710. package/dist/server/runners/runner.service.js.map +1 -1
  711. package/dist/server/runners/runner.store.d.ts +8 -3
  712. package/dist/server/runners/runner.store.d.ts.map +1 -1
  713. package/dist/server/runners/runner.store.js +63 -6
  714. package/dist/server/runners/runner.store.js.map +1 -1
  715. package/dist/server/runners/slots.d.ts +5 -2
  716. package/dist/server/runners/slots.d.ts.map +1 -1
  717. package/dist/server/runners/slots.js +3 -4
  718. package/dist/server/runners/slots.js.map +1 -1
  719. package/dist/server/runners/workspaces.d.ts.map +1 -1
  720. package/dist/server/runners/workspaces.js +18 -2
  721. package/dist/server/runners/workspaces.js.map +1 -1
  722. package/dist/server/testing.d.ts +0 -2
  723. package/dist/server/testing.d.ts.map +1 -1
  724. package/dist/server/testing.js +1 -4
  725. package/dist/server/testing.js.map +1 -1
  726. package/dist/server/tokens.d.ts +8 -7
  727. package/dist/server/tokens.d.ts.map +1 -1
  728. package/dist/server/tokens.js +4 -2
  729. package/dist/server/tokens.js.map +1 -1
  730. package/dist/shared/access.d.ts +3 -7
  731. package/dist/shared/access.d.ts.map +1 -1
  732. package/dist/shared/access.js +3 -7
  733. package/dist/shared/access.js.map +1 -1
  734. package/dist/shared/agents.d.ts +131 -169
  735. package/dist/shared/agents.d.ts.map +1 -1
  736. package/dist/shared/agents.js +36 -102
  737. package/dist/shared/agents.js.map +1 -1
  738. package/dist/shared/conversations.d.ts +93 -170
  739. package/dist/shared/conversations.d.ts.map +1 -1
  740. package/dist/shared/conversations.js +8 -30
  741. package/dist/shared/conversations.js.map +1 -1
  742. package/dist/shared/locales/access.en-US.js +3 -3
  743. package/dist/shared/locales/access.zh-CN.js +4 -4
  744. package/dist/shared/model-catalog.d.ts +53 -0
  745. package/dist/shared/model-catalog.d.ts.map +1 -0
  746. package/dist/shared/model-catalog.js +182 -0
  747. package/dist/shared/model-catalog.js.map +1 -0
  748. package/dist/shared/online-agent.d.ts +3 -0
  749. package/dist/shared/online-agent.d.ts.map +1 -0
  750. package/dist/shared/online-agent.js +3 -0
  751. package/dist/shared/online-agent.js.map +1 -0
  752. package/dist/shared/page-ui-context.d.ts +26 -0
  753. package/dist/shared/page-ui-context.d.ts.map +1 -0
  754. package/dist/shared/page-ui-context.js +129 -0
  755. package/dist/shared/page-ui-context.js.map +1 -0
  756. package/dist/shared/quota.d.ts +15 -0
  757. package/dist/shared/quota.d.ts.map +1 -0
  758. package/dist/shared/quota.js +2 -0
  759. package/dist/shared/quota.js.map +1 -0
  760. package/dist/shared/runners.d.ts +132 -14
  761. package/dist/shared/runners.d.ts.map +1 -1
  762. package/dist/shared/runners.js +171 -11
  763. package/dist/shared/runners.js.map +1 -1
  764. package/dist/shared/runs.d.ts +57 -1
  765. package/dist/shared/runs.d.ts.map +1 -1
  766. package/dist/shared/runs.js +28 -0
  767. package/dist/shared/runs.js.map +1 -1
  768. package/dist/shared/skills.d.ts +11 -5
  769. package/dist/shared/skills.d.ts.map +1 -1
  770. package/dist/shared/skills.js +7 -2
  771. package/dist/shared/skills.js.map +1 -1
  772. package/dist/shared/ui-message.d.ts +80 -0
  773. package/dist/shared/ui-message.d.ts.map +1 -0
  774. package/dist/shared/ui-message.js +153 -0
  775. package/dist/shared/ui-message.js.map +1 -0
  776. package/dist/shared/variables.js +1 -1
  777. package/dist/shared/variables.js.map +1 -1
  778. package/docs/ai-forms.md +346 -0
  779. package/docs/execution-history.md +19 -0
  780. package/docs/mysql-installation-upgrade.md +7 -0
  781. package/docs/runner-agents.md +27 -0
  782. package/docs/ui-message-clients.md +80 -0
  783. package/docs/ui-messages.md +209 -0
  784. package/docs/workspace-cleanup.md +13 -0
  785. package/package.json +40 -26
  786. package/skills/nocobase-app-plugin-agents/SKILL.md +16 -13
  787. package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
  788. package/skills/nocobase-app-plugin-agents/references/extension-points.md +21 -21
  789. package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
  790. package/skills/nocobase-app-plugin-agents/references/online-agent.md +216 -0
  791. package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
  792. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +6 -7
  793. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +6 -4
  794. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +29 -32
  795. package/dist/client/chat/settings-section.d.ts +0 -5
  796. package/dist/client/chat/settings-section.d.ts.map +0 -1
  797. package/dist/client/chat/settings-section.js +0 -86
  798. package/dist/client/chat/settings-section.js.map +0 -1
  799. package/dist/client/components/agent-fields.d.ts +0 -45
  800. package/dist/client/components/agent-fields.d.ts.map +0 -1
  801. package/dist/client/components/agent-fields.js +0 -83
  802. package/dist/client/components/agent-fields.js.map +0 -1
  803. package/dist/client/components/agent-type.d.ts +0 -32
  804. package/dist/client/components/agent-type.d.ts.map +0 -1
  805. package/dist/client/components/agent-type.js +0 -80
  806. package/dist/client/components/agent-type.js.map +0 -1
  807. package/dist/client/components/model-entries.d.ts +0 -44
  808. package/dist/client/components/model-entries.d.ts.map +0 -1
  809. package/dist/client/components/model-entries.js +0 -104
  810. package/dist/client/components/model-entries.js.map +0 -1
  811. package/dist/client/hooks/use-agent-save.d.ts +0 -9
  812. package/dist/client/hooks/use-agent-save.d.ts.map +0 -1
  813. package/dist/client/hooks/use-agent-save.js +0 -40
  814. package/dist/client/hooks/use-agent-save.js.map +0 -1
  815. package/dist/client/hooks/use-model-catalog.d.ts +0 -9
  816. package/dist/client/hooks/use-model-catalog.d.ts.map +0 -1
  817. package/dist/client/hooks/use-model-catalog.js +0 -27
  818. package/dist/client/hooks/use-model-catalog.js.map +0 -1
  819. package/dist/client/lib/model-suggestions.d.ts +0 -28
  820. package/dist/client/lib/model-suggestions.d.ts.map +0 -1
  821. package/dist/client/lib/model-suggestions.js +0 -44
  822. package/dist/client/lib/model-suggestions.js.map +0 -1
  823. package/dist/client/lib/tool-policy.d.ts +0 -3
  824. package/dist/client/lib/tool-policy.d.ts.map +0 -1
  825. package/dist/client/lib/tool-policy.js +0 -5
  826. package/dist/client/lib/tool-policy.js.map +0 -1
  827. package/dist/client/online/default-model.d.ts +0 -5
  828. package/dist/client/online/default-model.d.ts.map +0 -1
  829. package/dist/client/online/default-model.js +0 -65
  830. package/dist/client/online/default-model.js.map +0 -1
  831. package/dist/client/pages/agents/agent-model.d.ts +0 -69
  832. package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
  833. package/dist/client/pages/agents/agent-model.js +0 -153
  834. package/dist/client/pages/agents/agent-model.js.map +0 -1
  835. package/dist/client/pages/agents/detail/brief-preview.d.ts +0 -7
  836. package/dist/client/pages/agents/detail/brief-preview.d.ts.map +0 -1
  837. package/dist/client/pages/agents/detail/brief-preview.js +0 -43
  838. package/dist/client/pages/agents/detail/brief-preview.js.map +0 -1
  839. package/dist/client/pages/agents/detail/history.d.ts +0 -11
  840. package/dist/client/pages/agents/detail/history.d.ts.map +0 -1
  841. package/dist/client/pages/agents/detail/history.js +0 -149
  842. package/dist/client/pages/agents/detail/history.js.map +0 -1
  843. package/dist/client/pages/agents/detail/index.d.ts +0 -3
  844. package/dist/client/pages/agents/detail/index.d.ts.map +0 -1
  845. package/dist/client/pages/agents/detail/index.js +0 -241
  846. package/dist/client/pages/agents/detail/index.js.map +0 -1
  847. package/dist/client/pages/agents/detail/sections.d.ts +0 -21
  848. package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
  849. package/dist/client/pages/agents/detail/sections.js +0 -280
  850. package/dist/client/pages/agents/detail/sections.js.map +0 -1
  851. package/dist/client/pages/agents/detail/tab-draft.d.ts +0 -43
  852. package/dist/client/pages/agents/detail/tab-draft.d.ts.map +0 -1
  853. package/dist/client/pages/agents/detail/tab-draft.js +0 -115
  854. package/dist/client/pages/agents/detail/tab-draft.js.map +0 -1
  855. package/dist/client/pages/agents/detail/unsaved-bar.d.ts +0 -13
  856. package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +0 -1
  857. package/dist/client/pages/agents/detail/unsaved-bar.js +0 -21
  858. package/dist/client/pages/agents/detail/unsaved-bar.js.map +0 -1
  859. package/dist/client/pages/agents/new.d.ts +0 -3
  860. package/dist/client/pages/agents/new.d.ts.map +0 -1
  861. package/dist/client/pages/agents/new.js +0 -149
  862. package/dist/client/pages/agents/new.js.map +0 -1
  863. package/dist/client/pages/agents/preset-picker.d.ts +0 -8
  864. package/dist/client/pages/agents/preset-picker.d.ts.map +0 -1
  865. package/dist/client/pages/agents/preset-picker.js +0 -41
  866. package/dist/client/pages/agents/preset-picker.js.map +0 -1
  867. package/dist/server/core/consultations/consultation.service.d.ts +0 -59
  868. package/dist/server/core/consultations/consultation.service.d.ts.map +0 -1
  869. package/dist/server/core/consultations/consultation.service.js +0 -198
  870. package/dist/server/core/consultations/consultation.service.js.map +0 -1
  871. package/dist/server/core/consultations/index.d.ts +0 -3
  872. package/dist/server/core/consultations/index.d.ts.map +0 -1
  873. package/dist/server/core/consultations/index.js +0 -3
  874. package/dist/server/core/consultations/index.js.map +0 -1
  875. package/dist/server/core/consultations/prompt.d.ts +0 -41
  876. package/dist/server/core/consultations/prompt.d.ts.map +0 -1
  877. package/dist/server/core/consultations/prompt.js +0 -64
  878. package/dist/server/core/consultations/prompt.js.map +0 -1
  879. package/dist/server/core/presets/index.d.ts +0 -19
  880. package/dist/server/core/presets/index.d.ts.map +0 -1
  881. package/dist/server/core/presets/index.js +0 -28
  882. package/dist/server/core/presets/index.js.map +0 -1
  883. package/dist/server/online/cli-command.d.ts +0 -20
  884. package/dist/server/online/cli-command.d.ts.map +0 -1
  885. package/dist/server/online/cli-command.js +0 -345
  886. package/dist/server/online/cli-command.js.map +0 -1
  887. package/dist/server/online/consult-tool.d.ts +0 -54
  888. package/dist/server/online/consult-tool.d.ts.map +0 -1
  889. package/dist/server/online/consult-tool.js +0 -177
  890. package/dist/server/online/consult-tool.js.map +0 -1
  891. package/dist/server/online/executor.d.ts +0 -83
  892. package/dist/server/online/executor.d.ts.map +0 -1
  893. package/dist/server/online/executor.js +0 -714
  894. package/dist/server/online/executor.js.map +0 -1
  895. package/dist/server/online/sandbox.d.ts +0 -32
  896. package/dist/server/online/sandbox.d.ts.map +0 -1
  897. package/dist/server/online/sandbox.js +0 -246
  898. package/dist/server/online/sandbox.js.map +0 -1
  899. package/dist/server/online/scripted.d.ts +0 -12
  900. package/dist/server/online/scripted.d.ts.map +0 -1
  901. package/dist/server/online/scripted.js +0 -176
  902. package/dist/server/online/scripted.js.map +0 -1
  903. package/dist/server/online/tools.d.ts +0 -17
  904. package/dist/server/online/tools.d.ts.map +0 -1
  905. package/dist/server/online/tools.js +0 -31
  906. package/dist/server/online/tools.js.map +0 -1
  907. package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +0 -782
  908. package/dist/server/vendor/just-bash.d.ts +0 -83
  909. package/dist/server/vendor/just-bash.js +0 -2102
  910. package/dist/shared/presets.d.ts +0 -30
  911. package/dist/shared/presets.d.ts.map +0 -1
  912. package/dist/shared/presets.js +0 -2
  913. package/dist/shared/presets.js.map +0 -1
  914. package/skills/nocobase-app-plugin-agents/references/online-agents.md +0 -31
@@ -0,0 +1,501 @@
1
+ import { runnerUIMessages, runnerUIPage, runnerMessageId, } from './projection.js';
2
+ import { isDeepStrictEqual } from 'node:util';
3
+ import { conversationsRepo, findConversation, lockConversation, messagesRepo, toMessage, } from '../../../core/conversations/conversation.store.js';
4
+ import { openRunsOnEach } from '../../../core/runs/index.js';
5
+ import { findRunRecord, toRun } from '../../../core/runs/run.store.js';
6
+ import { conflict, forbidden, invalid, notFound, } from '../../../kernel/errors.js';
7
+ import { asJson, jsonObject } from '../../../kernel/values.js';
8
+ import { unsupportedCapability } from '../errors.js';
9
+ import { runnerBinding } from '../persistence/state.js';
10
+ function credentials(context) {
11
+ if (!context.user.id ||
12
+ !context.authorization ||
13
+ context.credentials === undefined ||
14
+ context.credentials === null ||
15
+ context.authorization.identity.principal?.type !== 'user' ||
16
+ context.authorization.identity.principal.id !== context.user.id)
17
+ throw invalid('A trusted user, authorization and full entry credentials are required.');
18
+ const entry = jsonObject(context.credentials);
19
+ if (context.authorization.identity.keyScope ||
20
+ entry.credential ||
21
+ jsonObject(entry.user).kind === 'service')
22
+ throw forbidden('Runner chat cannot preserve restricted entry credentials.');
23
+ }
24
+ function supported(config, selectedModel) {
25
+ if (!config.agentId ||
26
+ config.agentId === 'online' ||
27
+ config.model.length ||
28
+ config.tool.length ||
29
+ config.thinking !== undefined ||
30
+ selectedModel)
31
+ throw unsupportedCapability('runner', 'native models, local tools or thinking configuration');
32
+ }
33
+ async function owned(deps, userId, id) {
34
+ const row = await findConversation(deps.tx.read(), id);
35
+ if (!row || row.userId !== userId)
36
+ throw notFound('Conversation');
37
+ return row;
38
+ }
39
+ function overrides(options) {
40
+ const { sessionId: _id, source: _source, title: _title, showInChatList: _showInChatList, selectedModel: _selectedModel, ...pending } = options;
41
+ return Object.keys(pending).length ? pending : undefined;
42
+ }
43
+ /** One trusted facade, with pending configuration and only its last accepted response pinned. */
44
+ export class RunnerRealtimeOnlineAgent {
45
+ host;
46
+ context;
47
+ sessionId;
48
+ agentId;
49
+ pendingOptions;
50
+ boundary;
51
+ backend = 'runner';
52
+ response;
53
+ constructor(host, context, sessionId, agentId, pendingOptions, boundary) {
54
+ this.host = host;
55
+ this.context = context;
56
+ this.sessionId = sessionId;
57
+ this.agentId = agentId;
58
+ this.pendingOptions = pendingOptions;
59
+ this.boundary = boundary;
60
+ }
61
+ async status() {
62
+ const row = await owned(this.host.deps, this.context.user.id, this.sessionId);
63
+ return this.host.state.active.has(this.sessionId) ||
64
+ runnerBinding(row.metadata)?.closingRunId ||
65
+ (await openRunsOnEach(this.host.deps.tx.read(), 'conversation', [
66
+ this.sessionId,
67
+ ])).length
68
+ ? 'running'
69
+ : 'idle';
70
+ }
71
+ async history() {
72
+ const { deps } = this.host;
73
+ await owned(deps, this.context.user.id, this.sessionId);
74
+ const rows = await messagesRepo(deps.tx.read()).findMany({
75
+ filter: { conversationId: this.sessionId },
76
+ sort: (s) => s.field('seq').asc(),
77
+ });
78
+ return runnerUIMessages(rows.map((row) => toMessage(row, deps.basePath())));
79
+ }
80
+ async messages(query) {
81
+ const { deps } = this.host;
82
+ const row = await owned(deps, this.context.user.id, this.sessionId);
83
+ return runnerUIPage(deps.tx, this.sessionId, Number(row.lastSeq), query, deps.basePath());
84
+ }
85
+ async receive() {
86
+ await owned(this.host.deps, this.context.user.id, this.sessionId);
87
+ return this.host.deps.streams.receive(this.context.user.id, this.sessionId, this.response ?? this.host.state.active.get(this.sessionId)?.writer);
88
+ }
89
+ async abort() {
90
+ await owned(this.host.deps, this.context.user.id, this.sessionId);
91
+ // Stop is a request. The active projection and gate remain until terminal confirmation.
92
+ await this.host.deps.conversations.stop(this.context.user.id, this.sessionId);
93
+ const execution = this.host.state.active.get(this.sessionId);
94
+ if (execution)
95
+ await this.host.refresh(execution);
96
+ }
97
+ async retryFinalization() {
98
+ const row = await owned(this.host.deps, this.context.user.id, this.sessionId);
99
+ const execution = this.host.state.active.get(this.sessionId);
100
+ if (execution)
101
+ await this.host.refresh(execution);
102
+ else {
103
+ const runId = runnerBinding(row.metadata)?.closingRunId;
104
+ if (runId)
105
+ await this.host.finalizeSavedRun(this.context.user.id, this.sessionId, runId);
106
+ }
107
+ }
108
+ async approve(_input) {
109
+ throw unsupportedCapability('runner', 'approval');
110
+ }
111
+ send(messages, input) {
112
+ const { state } = this.host;
113
+ if (state.stopping)
114
+ return Promise.reject(conflict('OnlineAgent is stopping.'));
115
+ if (state.admitting.has(this.sessionId) || state.active.has(this.sessionId))
116
+ return Promise.reject(conflict('This conversation is busy.'));
117
+ // Reserve synchronously, and track the whole admission, including providers and stream registration.
118
+ state.admitting.add(this.sessionId);
119
+ const task = Promise.resolve().then(() => this.submit(messages, input));
120
+ state.admissions.add(task);
121
+ void task
122
+ .finally(() => {
123
+ state.admitting.delete(this.sessionId);
124
+ state.admissions.delete(task);
125
+ })
126
+ .catch(() => { });
127
+ return task;
128
+ }
129
+ async submit(messages, input) {
130
+ const { deps, state } = this.host;
131
+ credentials(this.context);
132
+ if (input?.selectedModel)
133
+ throw unsupportedCapability('runner', 'native models');
134
+ if (messages.length !== 1 || messages[0].role !== 'user')
135
+ throw invalid('Runner chat accepts one user message per turn.');
136
+ if (messages[0].providerOptions !== undefined)
137
+ throw unsupportedCapability('runner', 'provider-specific message options');
138
+ const content = messages[0].content;
139
+ if (Array.isArray(content) &&
140
+ content.some((part) => part.type !== 'text' || part.providerOptions !== undefined))
141
+ throw unsupportedCapability('runner', 'native binary parts; send attachments by attachmentIds');
142
+ if ((input?.attachmentIds?.length ?? 0) > 1)
143
+ throw invalid('Attachments must belong to the single user message.');
144
+ const before = await owned(deps, this.context.user.id, this.sessionId);
145
+ if (state.active.has(this.sessionId) ||
146
+ runnerBinding(before.metadata)?.closingRunId ||
147
+ (await openRunsOnEach(deps.tx.read(), 'conversation', [this.sessionId]))
148
+ .length)
149
+ throw conflict('This conversation is busy.');
150
+ const current = runnerBinding(before.metadata)?.config;
151
+ if (!current)
152
+ throw invalid('This is not a Runner OnlineAgent conversation.');
153
+ const requested = input?.overrides ?? this.pendingOptions;
154
+ const config = requested
155
+ ? await deps.configurator.resolve(this.context, requested, current, [], this.boundary === 'http')
156
+ : current;
157
+ if (config.agentId !== this.agentId)
158
+ throw conflict('Start a new conversation to choose another agent.');
159
+ supported(config);
160
+ if (state.active.size >= 1024)
161
+ throw conflict('OnlineAgent execution limit exceeded.');
162
+ // Install the channel before enqueue can notify a fast execution machine.
163
+ const writer = await deps.streams.open(this.context.user.id, this.sessionId, input?.clientId ?? this.sessionId, 'runner');
164
+ const execution = {
165
+ id: this.sessionId,
166
+ userId: this.context.user.id,
167
+ cursor: Number(before.lastSeq),
168
+ writer,
169
+ published: new Set(),
170
+ ready: false,
171
+ started: false,
172
+ again: false,
173
+ };
174
+ state.active.set(this.sessionId, execution);
175
+ let accepted;
176
+ try {
177
+ accepted = await deps.conversations.sendRealtime(this.context.user.id, this.sessionId, {
178
+ content: typeof content === 'string'
179
+ ? content
180
+ : content
181
+ .map((part) => (part.type === 'text' ? part.text : ''))
182
+ .join(''),
183
+ attachmentIds: input?.attachmentIds?.[0],
184
+ clientId: input?.clientId,
185
+ }, {
186
+ config,
187
+ expectedConfig: current,
188
+ workContext: input?.workContext,
189
+ business: this.context.business,
190
+ });
191
+ }
192
+ catch (error) {
193
+ if (state.active.get(this.sessionId) === execution)
194
+ state.active.delete(this.sessionId);
195
+ await deps.streams.close(this.sessionId, writer);
196
+ throw error;
197
+ }
198
+ // Nothing after durable acceptance may turn it into a failed/retried business admission.
199
+ this.response = writer;
200
+ this.pendingOptions = undefined;
201
+ execution.runId = accepted.run.id;
202
+ execution.cursor = accepted.seq;
203
+ await deps.streams
204
+ .bind(this.sessionId, writer, execution.runId)
205
+ .catch((error) => writer.fail(error));
206
+ execution.ready = true;
207
+ void this.host.refresh(execution).catch((error) => deps.onError(error));
208
+ return accepted.seq;
209
+ }
210
+ }
211
+ /** Full Runner backend over the existing queue, events and canonical conversation history. */
212
+ export class RunnerOnlineAgentAdapter {
213
+ deps;
214
+ kind = 'runner';
215
+ state = {
216
+ active: new Map(),
217
+ admitting: new Set(),
218
+ admissions: new Set(),
219
+ stopping: false,
220
+ detaching: false,
221
+ };
222
+ shutdownTask;
223
+ constructor(deps) {
224
+ this.deps = deps;
225
+ }
226
+ available(context) {
227
+ credentials(context);
228
+ if (this.state.stopping)
229
+ throw conflict('OnlineAgent is stopping.');
230
+ }
231
+ session(context, id, config, pending, boundary) {
232
+ return new RunnerRealtimeOnlineAgent({
233
+ deps: this.deps,
234
+ state: this.state,
235
+ refresh: (execution) => this.refresh(execution),
236
+ finalizeSavedRun: (userId, sessionId, runId) => this.finalizeSavedRun(userId, sessionId, runId),
237
+ }, context, id, config.agentId, pending, boundary);
238
+ }
239
+ async createRealtime(context, initial, options, boundary) {
240
+ this.available(context);
241
+ supported(initial.config, options.selectedModel);
242
+ const row = await this.deps.conversations.create(context.user.id, {
243
+ agentId: initial.config.agentId,
244
+ source: options.source,
245
+ title: options.title,
246
+ showInChatList: options.showInChatList,
247
+ }, initial.config);
248
+ // The router already resolved the initial selection. Never execute its providers again here.
249
+ return this.session(context, row.id, initial.config, undefined, boundary);
250
+ }
251
+ async restoreRealtime(context, options, boundary) {
252
+ this.available(context);
253
+ const row = await owned(this.deps, context.user.id, options.sessionId);
254
+ const binding = runnerBinding(row.metadata);
255
+ if (!binding)
256
+ throw invalid('This is not a Runner OnlineAgent conversation.');
257
+ if (options.agentId && options.agentId !== binding.config.agentId)
258
+ throw conflict('Start a new conversation to choose another agent.');
259
+ supported(binding.config, options.selectedModel);
260
+ if (binding.closingRunId && !this.state.active.has(row.id)) {
261
+ // Missing streams never imply completion. Only a saved terminal Run can release this gate.
262
+ const stored = await findRunRecord(this.deps.tx.read(), binding.closingRunId);
263
+ if (stored && this.terminal(toRun(stored)))
264
+ await this.finalizeSavedRun(context.user.id, row.id, binding.closingRunId);
265
+ }
266
+ const pending = overrides(options);
267
+ const session = this.session(context, row.id, binding.config, pending, boundary);
268
+ if (pending && (await session.status()) === 'running')
269
+ throw conflict('This conversation is busy.');
270
+ // Pending options are resolved against the latest saved configuration only on successful send.
271
+ return session;
272
+ }
273
+ async createBackground(_context, _initial, _options, _boundary) {
274
+ throw unsupportedCapability('runner', 'background');
275
+ }
276
+ async restoreBackground(_context, _options, _boundary) {
277
+ throw unsupportedCapability('runner', 'background');
278
+ }
279
+ async configuration(context, id) {
280
+ const row = await owned(this.deps, context.user.id, id);
281
+ const config = runnerBinding(row.metadata)?.config;
282
+ if (!config)
283
+ throw invalid('This is not a Runner OnlineAgent conversation.');
284
+ credentials(context);
285
+ return { ...config, selectedModel: null };
286
+ }
287
+ async configure(context, id, options, selectedModel, boundary) {
288
+ this.available(context);
289
+ if (selectedModel)
290
+ throw unsupportedCapability('runner', 'native models');
291
+ const current = await this.configuration(context, id);
292
+ const { selectedModel: _selectedModel, ...expectedConfig } = current;
293
+ const session = this.session(context, id, expectedConfig);
294
+ if (this.state.admitting.has(id) || (await session.status()) === 'running')
295
+ throw conflict('This conversation is busy.');
296
+ const config = await this.deps.configurator.resolve(context, options, expectedConfig, [], boundary === 'http');
297
+ supported(config);
298
+ if (config.agentId !== expectedConfig.agentId)
299
+ throw conflict('Start a new conversation to choose another agent.');
300
+ await this.deps.tx.run(async (unit) => {
301
+ const row = await lockConversation(unit.conn, id, this.deps.now());
302
+ if (!row || row.userId !== context.user.id)
303
+ throw notFound('Conversation');
304
+ const binding = runnerBinding(row.metadata);
305
+ if (!binding)
306
+ throw invalid('This is not a Runner OnlineAgent conversation.');
307
+ if (!isDeepStrictEqual(binding.config, expectedConfig))
308
+ throw conflict('The conversation configuration changed; read it again.');
309
+ if (config.agentId !== row.agentId)
310
+ throw conflict('Start a new conversation to choose another agent.');
311
+ if (this.state.admitting.has(id) ||
312
+ this.state.active.has(id) ||
313
+ binding.closingRunId ||
314
+ (await openRunsOnEach(unit.conn, 'conversation', [id])).length)
315
+ throw conflict('This conversation is busy.');
316
+ await conversationsRepo(unit.conn).updateMany({
317
+ filter: { id },
318
+ values: {
319
+ metadata: asJson({
320
+ ...jsonObject(row.metadata),
321
+ runnerOnlineAgent: { ...binding, config },
322
+ }),
323
+ },
324
+ });
325
+ });
326
+ return { ...config, selectedModel: null };
327
+ }
328
+ /** Notifications wake a persisted read; they never supply authoritative text. */
329
+ notify(runId) {
330
+ const execution = [...this.state.active.values()].find((item) => item.runId === runId);
331
+ if (!execution)
332
+ return false;
333
+ void this.refresh(execution).catch((error) => this.deps.onError(error));
334
+ return true;
335
+ }
336
+ refresh(execution) {
337
+ if (this.state.detaching)
338
+ return execution.pending ?? Promise.resolve();
339
+ if (!execution.runId ||
340
+ !execution.ready ||
341
+ this.state.active.get(execution.id) !== execution)
342
+ return Promise.resolve();
343
+ if (execution.pending) {
344
+ execution.again = true;
345
+ return execution.pending;
346
+ }
347
+ clearTimeout(execution.timer);
348
+ execution.pending = (async () => {
349
+ do {
350
+ execution.again = false;
351
+ await this.read(execution);
352
+ } while (execution.again &&
353
+ this.state.active.get(execution.id) === execution);
354
+ })().finally(() => {
355
+ execution.pending = undefined;
356
+ if (!this.state.stopping &&
357
+ this.state.active.get(execution.id) === execution) {
358
+ execution.timer = setTimeout(() => {
359
+ void this.refresh(execution).catch((error) => this.deps.onError(error));
360
+ }, 1000);
361
+ execution.timer.unref();
362
+ }
363
+ });
364
+ return execution.pending;
365
+ }
366
+ async read(execution) {
367
+ const run = await this.deps.conversations.syncRun(execution.runId);
368
+ if (run.actorUserId !== execution.userId ||
369
+ run.subject.kind !== 'conversation' ||
370
+ run.subject.id !== execution.id)
371
+ throw forbidden('This run does not belong to the conversation.');
372
+ // Synchronization commits first. Independent notices are delivered by durable business rereads.
373
+ const row = await owned(this.deps, execution.userId, execution.id);
374
+ if (Number(row.lastSeq) > execution.cursor) {
375
+ const records = await messagesRepo(this.deps.tx.read()).findMany({
376
+ filter: {
377
+ conversationId: execution.id,
378
+ runId: execution.runId,
379
+ role: 'assistant',
380
+ },
381
+ sort: (s) => s.field('seq').asc(),
382
+ });
383
+ const message = runnerUIMessages(records.map((record) => toMessage(record, this.deps.basePath())))[0];
384
+ if (message) {
385
+ if (!execution.started) {
386
+ execution.writer.write({
387
+ type: 'start',
388
+ messageId: runnerMessageId(execution.runId),
389
+ messageMetadata: message.metadata,
390
+ });
391
+ execution.started = true;
392
+ }
393
+ execution.writer.write({
394
+ type: 'message-metadata',
395
+ messageMetadata: message.metadata,
396
+ });
397
+ for (const source of message.metadata.sourceRecords) {
398
+ if (execution.published.has(source.partId))
399
+ continue;
400
+ const part = message.parts[source.partIndex];
401
+ if (part.type === 'text') {
402
+ execution.writer.write({ type: 'text-start', id: source.partId });
403
+ execution.writer.write({
404
+ type: 'text-delta',
405
+ id: source.partId,
406
+ delta: part.text,
407
+ });
408
+ execution.writer.write({ type: 'text-end', id: source.partId });
409
+ }
410
+ else if (part.type === 'file')
411
+ execution.writer.write({
412
+ type: 'file',
413
+ url: part.url,
414
+ mediaType: part.mediaType,
415
+ ...(part.filename ? { filename: part.filename } : {}),
416
+ });
417
+ execution.published.add(source.partId);
418
+ }
419
+ execution.snapshot = message;
420
+ }
421
+ execution.cursor = Number(row.lastSeq);
422
+ }
423
+ if (!this.terminal(run))
424
+ return;
425
+ const started = performance.now();
426
+ try {
427
+ if (!execution.cleared)
428
+ await this.clearClosing(execution.userId, execution.id, run.id);
429
+ execution.cleared = true;
430
+ }
431
+ finally {
432
+ this.deps.measure?.('runner-finish', performance.now() - started);
433
+ }
434
+ await this.deps.streams.release(execution.id, execution.writer);
435
+ execution.writer.write({
436
+ type: 'finish',
437
+ finishReason: run.status === 'completed' ? 'stop' : 'other',
438
+ ...(execution.snapshot
439
+ ? { messageMetadata: execution.snapshot.metadata }
440
+ : {}),
441
+ });
442
+ execution.writer.close();
443
+ if (this.state.active.get(execution.id) === execution)
444
+ this.state.active.delete(execution.id);
445
+ clearTimeout(execution.timer);
446
+ }
447
+ async finalizeSavedRun(userId, id, runId) {
448
+ const run = await this.deps.conversations.syncRun(runId);
449
+ if (run.actorUserId !== userId ||
450
+ run.subject.kind !== 'conversation' ||
451
+ run.subject.id !== id)
452
+ throw forbidden('This run does not belong to the conversation.');
453
+ if (!this.terminal(run))
454
+ throw conflict('This run has not confirmed termination.');
455
+ await this.deps.streams.forgetCompleted(userId, id, runId);
456
+ await this.clearClosing(userId, id, runId);
457
+ }
458
+ async clearClosing(userId, id, runId) {
459
+ await this.deps.tx.run(async ({ conn }) => {
460
+ const current = await lockConversation(conn, id, this.deps.now());
461
+ if (!current || current.userId !== userId)
462
+ throw notFound('Conversation');
463
+ const binding = runnerBinding(current.metadata);
464
+ if (binding?.closingRunId && binding.closingRunId !== runId)
465
+ throw conflict('Another execution is being finalized.');
466
+ if (!binding?.closingRunId)
467
+ return;
468
+ const { closingRunId: _closed, ...kept } = binding;
469
+ await conversationsRepo(conn).updateMany({
470
+ filter: { id },
471
+ values: {
472
+ metadata: asJson({
473
+ ...jsonObject(current.metadata),
474
+ runnerOnlineAgent: kept,
475
+ }),
476
+ },
477
+ });
478
+ });
479
+ }
480
+ terminal(run) {
481
+ return (run.status === 'completed' ||
482
+ run.status === 'failed' ||
483
+ run.status === 'cancelled');
484
+ }
485
+ shutdown() {
486
+ this.state.stopping = true;
487
+ return (this.shutdownTask ??= this.detach());
488
+ }
489
+ async detach() {
490
+ // Admission may still be opening a stream or committing a Run. Drain it before detaching producers.
491
+ await Promise.allSettled([...this.state.admissions]);
492
+ this.state.detaching = true;
493
+ for (const execution of this.state.active.values())
494
+ clearTimeout(execution.timer);
495
+ await Promise.allSettled([...this.state.active.values()].map((item) => item.pending ?? Promise.resolve()));
496
+ await Promise.allSettled([...this.state.active.values()].map((item) => this.deps.streams.close(item.id, item.writer)));
497
+ this.state.active.clear();
498
+ // Shared UIStreams belong to the service. Never close them, cancel or redispatch Runner work here.
499
+ }
500
+ }
501
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../../server/online/agent/runner/backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ConversationMessage } from '../../../../shared/conversations.js';
2
+ import { type AppUIMessage } from '../../../../shared/online-agent.js';
3
+ import type { TxRunner } from '../../../kernel/tx.js';
4
+ import type { NativeHistoryQuery, NativeHistoryPage } from '../types.js';
5
+ export declare const runnerMessageId: (runId: string) => string;
6
+ /** Pure projection: no Run inference from prose and no invented tools or approvals. */
7
+ export declare function runnerUIMessages(rows: ConversationMessage[]): AppUIMessage[];
8
+ /** Seed a bounded source page, then expand whole Runs and the intervening independent records. */
9
+ export declare function runnerUIPage(tx: TxRunner, id: string, lastSeq: number, query: NativeHistoryQuery, basePath: string): Promise<NativeHistoryPage>;
10
+ //# sourceMappingURL=projection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../../server/online/agent/runner/projection.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,oCAAoC,CAAC;AAK5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEzE,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAA2B,CAAC;AAC5E,uFAAuF;AACvF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,YAAY,EAAE,CAwF5E;AAED,kGAAkG;AAClG,wBAAsB,YAAY,CAChC,EAAE,EAAE,QAAQ,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,iBAAiB,CAAC,CA4F5B"}