@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
@@ -2,9 +2,11 @@
2
2
  * The path parameters, query strings and small bodies of the plugin's routes. Bodies the services own (an agent, a
3
3
  * skill, a model service) keep their schemas beside the service, strict there too.
4
4
  */
5
+ import { RUNNER_LIST_FIELDS } from '../../shared/runners.js';
5
6
  import { ACTOR_KINDS, AGENT_TOOLS, AgentToolSchema, FailureReasonSchema, PERMISSION_MODES, RUN_INPUT_TYPES, RUN_EVENT_TYPES, RUN_STATUSES, RunEventSchema, RunnerFeatureSchema, RunnerPolicySchema, RunStatusSchema, ToolInfoSchema, ToolLoadSchema, ToolSlotsSchema, WorkspaceDecisionSchema, WorkspaceCleanupResultSchema, } from '@nocobase/agent-protocol';
6
7
  import { z } from 'zod';
7
- import { AGENT_ACCESS, AGENT_CHANGE_ACTIONS, AGENT_HISTORY_FIELDS, AGENT_TYPES, CONFIRM_CHANGES, } from '../../shared/agents.js';
8
+ import { QuotaReportSchema } from '@nocobase/agent-protocol';
9
+ import { AGENT_CHANGE_ACTIONS, AGENT_SOURCES, AGENT_STATUSES, AGENT_UNUSABLE_REASONS, CONFIRM_CHANGES, } from '../../shared/agents.js';
8
10
  import { CONSULTATION_STATES, CONVERSATION_SOURCE_PATTERN, MESSAGE_ROLES, OFFLINE_REASONS, TITLE_SOURCES, } from '../../shared/conversations.js';
9
11
  import { MODEL_KINDS, MODEL_PROVIDER_NAMES, } from '../../shared/models.js';
10
12
  import { USAGE_GROUP_BYS, } from '../../shared/reports.js';
@@ -20,39 +22,83 @@ const pageToken = z.string().min(1).max(2000).optional();
20
22
  function pageSize(fallback, max) {
21
23
  return z.coerce.number().int().min(1).max(max).default(fallback);
22
24
  }
25
+ export const QuotaLocationSchema = z
26
+ .object({
27
+ runnerId: z.string().describe('The visible runtime with the quota mark.'),
28
+ runnerName: z.string().describe('The runtime display name.'),
29
+ resetsAt: z
30
+ .string()
31
+ .nullable()
32
+ .describe('The known reset time, or null for an unknown reset.'),
33
+ })
34
+ .meta({
35
+ ref: 'AgentsQuotaLocation',
36
+ description: 'A runtime whose quota blocks this agent for the viewer.',
37
+ });
23
38
  export const AgentParams = z.object({
24
- agentId: id,
39
+ agentId: id.describe('The agent identifier.'),
25
40
  });
26
41
  export const RunParams = z.object({
27
- runId: id,
42
+ runId: id.describe('The run identifier.'),
28
43
  });
29
44
  export const SkillParams = z.object({
30
- skillId: id,
45
+ skillId: id.describe('The skill identifier.'),
31
46
  });
32
- export const SkillVersionParams = z.object({ skillId: id, version: z.coerce.number().int().min(1) });
33
- export const ScopeParams = z.object({ scopeKind: id, scopeId: id });
34
- export const VariableParams = z.object({ scopeKind: id, scopeId: id, variableName: id });
35
- export const WorkspaceParams = z.object({ subjectKind: id, subjectId: id });
36
- export const ConversationParams = z.object({ conversationId: id });
47
+ export const SkillVersionParams = z.object({
48
+ skillId: id.describe('The skill identifier.'),
49
+ version: z.coerce
50
+ .number()
51
+ .int()
52
+ .min(1)
53
+ .describe('The version to read or restore.'),
54
+ });
55
+ export const ScopeParams = z.object({ scopeKind: id, scopeId: id.describe('The scope identifier.') });
56
+ export const VariableParams = z.object({
57
+ scopeKind: id,
58
+ scopeId: id.describe('The scope identifier.'),
59
+ variableName: id.describe('The variable name.'),
60
+ });
61
+ export const WorkspaceParams = z.object({
62
+ subjectKind: id.describe('The kind of subject.'),
63
+ subjectId: id.describe('The subject identifier.'),
64
+ });
65
+ export const ConversationParams = z.object({ conversationId: id.describe('The conversation identifier.') });
37
66
  export const ServiceParams = z.object({
38
- serviceName: id,
67
+ serviceName: id.describe('The configured model service name.'),
39
68
  });
40
69
  export const RunnerParams = z.object({
41
- runnerId: id,
70
+ runnerId: id.describe('The runner identifier.'),
71
+ });
72
+ export const JobParams = z.object({
73
+ jobId: id.describe('The job identifier.'),
74
+ });
75
+ export const RunSkillParams = z.object({
76
+ runId: id.describe('The run identifier.'),
77
+ slug: id.describe('The document’s stable URL slug.'),
78
+ });
79
+ export const RunMountParams = z.object({
80
+ runId: id.describe('The run identifier.'),
81
+ name: id.describe('The name to display.'),
42
82
  });
43
- export const JobParams = z.object({ jobId: id });
44
- export const RunSkillParams = z.object({ runId: id, slug: id });
45
- export const RunMountParams = z.object({ runId: id, name: id });
46
83
  export const CommandParams = z.object({
47
- commandId: id,
84
+ commandId: id.describe('The command identifier.'),
48
85
  });
49
86
  export const DistTargetParams = z.object({ product: id, target: id });
50
- export const DistFileParams = z.object({ product: id, version: id, file: id });
87
+ export const DistFileParams = z.object({
88
+ product: id,
89
+ version: id.describe('The version to read or restore.'),
90
+ file: id.describe('The file to upload.'),
91
+ });
51
92
  export const AgentListQuery = z.object({ includeArchived: queryBoolean.optional() });
52
93
  export const AgentHistoryQuery = z.object({
53
- afterRevision: z.coerce.number().int().min(0).optional(),
54
- pageSize: pageSize(50, 100),
55
- pageToken,
94
+ afterRevision: z.coerce
95
+ .number()
96
+ .int()
97
+ .min(0)
98
+ .optional()
99
+ .describe('Return history after this revision.'),
100
+ pageSize: pageSize(50, 100).describe('The maximum number of records to return.'),
101
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
56
102
  });
57
103
  export const PreviewBriefQuery = z.object({
58
104
  scenario: id.optional().meta({
@@ -60,23 +106,31 @@ export const PreviewBriefQuery = z.object({
60
106
  }),
61
107
  });
62
108
  export const AuditListQuery = z.object({
63
- pageSize: pageSize(50, 100),
64
- pageToken,
109
+ pageSize: pageSize(50, 100).describe('The maximum number of records to return.'),
110
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
65
111
  });
66
112
  export const RunListQuery = z.object({
67
- subjectKind: id.optional(),
68
- subjectId: id.optional(),
69
- agentId: id.optional(),
70
- status: z.enum(RUN_STATUSES).optional(),
71
- pageSize: pageSize(50, 100),
72
- pageToken,
113
+ subjectKind: id.optional().describe('The kind of subject.'),
114
+ subjectId: id.optional().describe('The subject identifier.'),
115
+ agentId: id.optional().describe('The agent identifier.'),
116
+ status: z
117
+ .enum(RUN_STATUSES)
118
+ .optional()
119
+ .describe('The status to set or filter by.'),
120
+ pageSize: pageSize(50, 100).describe('The maximum number of records to return.'),
121
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
73
122
  });
74
123
  /**
75
124
  * A run's transcript after `after` (a `seq`). The run panel reads a transcript whole, so a page holds up to 1000
76
125
  * events, beyond the usual cap of 100.
77
126
  */
78
127
  export const RunEventsQuery = z.object({
79
- after: z.coerce.number().int().min(0).optional(),
128
+ after: z.coerce
129
+ .number()
130
+ .int()
131
+ .min(0)
132
+ .optional()
133
+ .describe('Return messages after this cursor.'),
80
134
  // Hono represents one query value as a string and repeated values as an array.
81
135
  type: z
82
136
  .preprocess((value) => (typeof value === 'string' ? [value] : value), z.array(z.enum(RUN_EVENT_TYPES)).min(1).max(100))
@@ -86,40 +140,84 @@ export const RunEventsQuery = z.object({
86
140
  items: { type: 'string', enum: [...RUN_EVENT_TYPES] },
87
141
  description: 'Only these raw event types (repeat for more). Omit to read every type.',
88
142
  }),
89
- pageSize: pageSize(500, 1000),
90
- pageToken,
143
+ pageSize: pageSize(500, 1000).describe('The maximum number of records to return.'),
144
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
91
145
  });
92
146
  export const UsageQuerySchema = z.object({
93
- from: z.string().min(1).max(40).optional(),
94
- to: z.string().min(1).max(40).optional(),
95
- groupBy: z.enum(USAGE_GROUP_BYS).default('agent'),
96
- groupId: id.optional(),
97
- agentId: id.optional(),
98
- userId: id.optional(),
147
+ from: z
148
+ .string()
149
+ .min(1)
150
+ .max(40)
151
+ .optional()
152
+ .describe('The beginning of the reporting period.'),
153
+ to: z
154
+ .string()
155
+ .min(1)
156
+ .max(40)
157
+ .optional()
158
+ .describe('The end of the reporting period.'),
159
+ groupBy: z
160
+ .enum(USAGE_GROUP_BYS)
161
+ .default('agent')
162
+ .describe('The dimension to group usage by.'),
163
+ groupId: id.optional().describe('The group identifier.'),
164
+ agentId: id.optional().describe('The agent identifier.'),
165
+ userId: id.optional().describe('The user identifier.'),
99
166
  series: queryBoolean.optional().meta({
100
167
  description: 'Also break each day of `daily` down by the `groupBy` key (`daily[].series`).',
101
168
  }),
102
169
  });
103
170
  export const ModelUsageQuery = z.object({
104
- from: z.string().min(1).max(40).optional(),
105
- to: z.string().min(1).max(40).optional(),
171
+ from: z
172
+ .string()
173
+ .min(1)
174
+ .max(40)
175
+ .optional()
176
+ .describe('The beginning of the reporting period.'),
177
+ to: z
178
+ .string()
179
+ .min(1)
180
+ .max(40)
181
+ .optional()
182
+ .describe('The end of the reporting period.'),
106
183
  });
107
184
  export const ConversationListQuerySchema = z.object({
108
- q: z.string().max(200).optional(),
109
- archived: z.enum(['true', 'false', 'all']).optional(),
110
- agentId: id.optional(),
111
- source: z.string().regex(CONVERSATION_SOURCE_PATTERN).optional(),
112
- pageSize: pageSize(30, 100),
113
- pageToken,
185
+ q: z.string().max(200).optional().describe('Text to search for.'),
186
+ archived: z
187
+ .enum(['true', 'false', 'all'])
188
+ .optional()
189
+ .describe('Filter by archive state.'),
190
+ agentId: id.optional().describe('The agent identifier.'),
191
+ source: z
192
+ .string()
193
+ .regex(CONVERSATION_SOURCE_PATTERN)
194
+ .optional()
195
+ .describe('The source context associated with this record.'),
196
+ pageSize: pageSize(30, 100).describe('The maximum number of records to return.'),
197
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
114
198
  });
115
199
  /** Messages, newest page first; `after` reads what arrived since a `seq`. Up to 200 for a whole short chat. */
116
200
  export const MessageListQuerySchema = z.object({
117
- after: z.coerce.number().int().min(0).optional(),
118
- pageSize: pageSize(50, 200),
119
- pageToken,
201
+ ids: z
202
+ .string()
203
+ .min(1)
204
+ .max(4000)
205
+ .optional()
206
+ .describe('Comma-separated native UI message IDs to refresh revisions; at most 100.'),
207
+ after: z.coerce
208
+ .number()
209
+ .int()
210
+ .min(0)
211
+ .optional()
212
+ .describe('Return messages after this cursor.'),
213
+ pageSize: pageSize(50, 200).describe('The maximum number of records to return.'),
214
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
120
215
  });
121
216
  export const ModelCatalogQuery = z.object({
122
- kind: z.enum(MODEL_KINDS).default('chat'),
217
+ kind: z
218
+ .enum(MODEL_KINDS)
219
+ .default('chat')
220
+ .describe('The model capability: chat, embedding, or rerank.'),
123
221
  });
124
222
  export const ClaimQuery = z.object({
125
223
  wait: queryBoolean.optional(),
@@ -141,27 +239,43 @@ export const VariableValueInput = z.strictObject({
141
239
  description: 'Take it from the runner: no value is kept here, and the runner that takes the run provides it (`nocobase-runner env set NAME`, or `--pass-env NAME`). Leave `value` out.',
142
240
  }),
143
241
  });
144
- export const SkillRestoreInput = z.strictObject({ expectedRevision: z.number().int().min(1) });
242
+ export const SkillRestoreInput = z.strictObject({
243
+ expectedRevision: z
244
+ .number()
245
+ .int()
246
+ .min(1)
247
+ .describe('The revision last read; reject if the record has changed.'),
248
+ });
145
249
  export const RunnerPatchInput = z
146
250
  .strictObject({
147
- name: z.string().trim().min(1).max(200),
148
- trust: z.enum(RUNNER_TRUST),
149
- slots: z.number().int().min(1).max(64),
251
+ name: z.string().trim().min(1).max(200).describe('The name to display.'),
252
+ trust: z.enum(RUNNER_TRUST).describe('The runner trust level.'),
253
+ slots: z
254
+ .number()
255
+ .int()
256
+ .min(1)
257
+ .max(64)
258
+ .describe('The maximum number of concurrent runs.'),
150
259
  toolSlots: ToolSlotsSchema.nullable().meta({
151
260
  description: 'How many runs of each coding tool it may hold at once, beside `slots`; null, or a tool left out, for no limit of its own.',
152
261
  }),
153
- enabledTools: z.array(AgentToolSchema).max(AGENT_TOOLS.length).nullable(),
154
- acceptJobs: z.boolean(),
262
+ enabledTools: z
263
+ .array(AgentToolSchema)
264
+ .max(AGENT_TOOLS.length)
265
+ .nullable()
266
+ .describe('The agent tools this runner accepts.'),
267
+ acceptJobs: z.boolean().describe('Whether the runner accepts new work.'),
155
268
  })
156
269
  .partial();
157
270
  export const RegistrationTokenInputSchema = z.strictObject({
158
- trust: z.enum(RUNNER_TRUST).optional(),
271
+ trust: z.enum(RUNNER_TRUST).optional().describe('The runner trust level.'),
159
272
  enabledTools: z
160
273
  .array(AgentToolSchema)
161
274
  .min(1)
162
275
  .max(AGENT_TOOLS.length)
163
276
  .nullable()
164
- .optional(),
277
+ .optional()
278
+ .describe('The agent tools this runner accepts.'),
165
279
  slots: z.number().int().min(1).max(64).nullable().optional().meta({
166
280
  description: "How many runs at once the runner takes; omitted or null leaves it to the runner. A runner's own `--slots` overrides it.",
167
281
  }),
@@ -208,65 +322,46 @@ const RunnerModelEntrySchema = z
208
322
  })
209
323
  .meta({
210
324
  ref: 'AgentsRunnerModelEntry',
211
- description: "A runner agent's entry: a coding tool and its model.",
212
- });
213
- const OnlineModelEntrySchema = z
214
- .object({
215
- modelService: z.string(),
216
- model: z.string(),
217
- effort: z.string().nullable().optional().meta({
218
- description: "The reasoning effort: minimal, low, medium, high or xhigh; null for the provider's default.",
219
- }),
220
- })
221
- .meta({
222
- ref: 'AgentsOnlineModelEntry',
223
- description: "An online agent's entry: a model service (its name) and one of its models.",
224
- });
225
- const ChatModelChoiceSchema = OnlineModelEntrySchema.extend({
226
- serviceTitle: z.string().meta({
227
- description: "Its service's title; its name when no enabled service has it any more.",
228
- }),
229
- modelLabel: z.string().meta({
230
- description: "The model's label in its service; its id when the service no longer offers it.",
231
- }),
232
- }).meta({
233
- ref: 'AgentsChatModelChoice',
234
- description: 'An entry a conversation may answer with, named as the person reads it.',
325
+ description: "An agent's entry: a coding tool and its model.",
235
326
  });
236
327
  const agentObject = z.object({
237
328
  id: z.string(),
238
- name: z.string(),
239
- description: z.string().nullable(),
240
- nameText: I18nTextSchema.nullable().meta({
241
- description: "For an agent the application ships: its name as an i18n reference, shown in the viewer's language in place of `name` until someone edits the name.",
329
+ name: z.string().meta({
330
+ description: 'As the model catalog names its tool and model (`Claude · Opus 5.5`), or as the application named its own.',
331
+ }),
332
+ description: z.string().nullable().meta({
333
+ description: 'What it is good at: the project manager hands it work by this. Null until someone writes it.',
242
334
  }),
243
- descriptionText: I18nTextSchema.nullable().meta({
244
- description: "For an agent the application ships: its description as an i18n reference, shown in the viewer's language in place of `description` until someone edits it.",
335
+ nameText: I18nTextSchema.nullable().meta({
336
+ description: "An application's own agent: its name as an i18n reference, shown in the viewer's language in place of `name`.",
245
337
  }),
338
+ descriptionText: I18nTextSchema.nullable(),
246
339
  avatar: z
247
340
  .string()
248
341
  .nullable()
249
342
  .meta({ description: 'An image URL; null shows the bot icon.' }),
250
- type: z.enum(AGENT_TYPES).meta({
251
- description: '`runner`: a coding tool on a runner; `online`: a model on the server. Never changes.',
343
+ source: z.enum(AGENT_SOURCES).meta({
344
+ description: '`runner`: one of the coding tools and models runners report; `system`: kept by the application.',
252
345
  }),
253
- modelEntries: z
254
- .array(z.union([RunnerModelEntrySchema, OnlineModelEntrySchema]))
255
- .meta({
256
- description: "The tools and models it works with, in order; the first is its default. A runner takes a runner agent's run with the first entry whose tool it has signed in; an online agent's runs use the first entry, or the one a conversation chose.",
346
+ status: z.enum(AGENT_STATUSES).meta({
347
+ description: '`pending` until someone enables it; only `enabled` agents are offered work.',
348
+ }),
349
+ tool: AgentToolSchema.nullable(),
350
+ model: z.string().nullable().meta({
351
+ description: 'Its model, normalized; null for the application’s own.',
352
+ }),
353
+ modelEntries: z.array(RunnerModelEntrySchema).meta({
354
+ description: 'The tools and models it works with, in order; a runner takes a run with the first it reports.',
257
355
  }),
258
356
  instructions: z.string().nullable(),
259
357
  actions: z.array(z.string()),
260
358
  confirmChanges: z.enum(CONFIRM_CHANGES),
261
- access: z.enum(AGENT_ACCESS),
262
- userIds: z.array(z.string()),
263
- ownerUserId: z.string(),
264
- runnerIds: z.array(z.string()),
265
- skillIds: z.array(z.string()),
266
359
  maxConcurrentRuns: z.number().int(),
267
360
  maxAttempts: z.number().int(),
268
361
  toolPolicy: toolPolicyOverrides.nullable(),
269
- archivedAt: dateTime.nullable(),
362
+ lastReportedAt: dateTime.nullable().meta({
363
+ description: 'When a runner last reported its tool and model.',
364
+ }),
270
365
  revision: z.number().int().meta({
271
366
  description: 'Raised by every change; an edit names the revision it was made against.',
272
367
  }),
@@ -276,28 +371,77 @@ const agentObject = z.object({
276
371
  export const AgentSchema = agentObject.meta({
277
372
  ref: 'AgentsAgent',
278
373
  });
279
- export const AgentSummarySchema = agentObject
374
+ export const AgentViewSchema = agentObject
280
375
  .extend({
281
- ownerName: z.string().nullable(),
282
- activeRuns: z.number().int(),
283
- onlineRunners: z.number().int(),
376
+ discoveryKey: z.string().optional().meta({
377
+ description: 'Persistent display group; known catalog models share a tool/model key across providers.',
378
+ }),
379
+ discoveryRevision: z.number().int().optional().meta({
380
+ description: 'Expected preference revision for ignore or restore; zero when no preference exists yet.',
381
+ }),
382
+ ignored: z.boolean().optional().meta({
383
+ description: 'Shared administrator preference hiding pending discoveries in this group.',
384
+ }),
385
+ effort: z.string().nullable().meta({
386
+ description: 'Its default reasoning effort.',
387
+ }),
388
+ efforts: z.array(z.string()).meta({
389
+ description: 'The efforts its tool takes, weakest first.',
390
+ }),
391
+ reported: z.boolean().meta({
392
+ description: 'A runner reported its tool and model in the last 14 days.',
393
+ }),
394
+ runners: z
395
+ .object({
396
+ team: z.number().int(),
397
+ personal: z.number().int(),
398
+ mine: z.number().int(),
399
+ names: z.array(z.string()),
400
+ })
401
+ .meta({
402
+ description: 'The online runners that have its tool and model: team ones, personal ones, the caller’s own, and a few names.',
403
+ }),
404
+ quota: z
405
+ .array(QuotaLocationSchema)
406
+ .optional()
407
+ .describe('Viewer-visible runtime quota blocks; an empty list means no quota block.'),
408
+ personalOnly: z.boolean().meta({
409
+ description: 'Only personal runners have it.',
410
+ }),
411
+ unusable: z.enum(AGENT_UNUSABLE_REASONS).nullable().meta({
412
+ description: 'Why it cannot take the caller’s work now; null when it can.',
413
+ }),
414
+ busy: z.number().int(),
415
+ suggestion: z.object({ en: z.string(), zh: z.string() }).nullable().meta({
416
+ description: 'What the model catalog says it is good at, to start from when enabling it.',
417
+ }),
284
418
  canEdit: z.boolean(),
285
- owned: z.boolean(),
286
- canCopy: z.boolean(),
287
419
  })
288
- .meta({ ref: 'AgentsAgentSummary' });
420
+ .meta({ ref: 'AgentsAgentView' });
421
+ export const AgentNameSchema = z
422
+ .object({
423
+ id: z.string(),
424
+ name: z.string(),
425
+ nameText: I18nTextSchema.nullable(),
426
+ })
427
+ .meta({ ref: 'AgentsAgentName' });
289
428
  export const AvailableAgentSchema = z
290
429
  .object({
291
430
  id: z.string(),
292
431
  name: z.string(),
293
432
  goodAt: z.string().meta({ description: "The agent's description." }),
294
- type: z.enum(AGENT_TYPES),
295
- tool: AgentToolSchema.nullable().meta({
296
- description: "A runner agent's default coding tool; null for an online agent.",
433
+ tool: AgentToolSchema.nullable(),
434
+ model: z.string().nullable(),
435
+ online: z.boolean().meta({
436
+ description: 'Whether a runner would take the caller’s work now.',
437
+ }),
438
+ quota: z
439
+ .array(QuotaLocationSchema)
440
+ .optional()
441
+ .describe('Viewer-visible runtime quota blocks; an empty list means no quota block.'),
442
+ personalOnly: z.boolean().meta({
443
+ description: 'Only personal runners have it.',
297
444
  }),
298
- online: z
299
- .boolean()
300
- .meta({ description: 'Whether it could start work now.' }),
301
445
  busy: z
302
446
  .number()
303
447
  .int()
@@ -313,7 +457,7 @@ export const AgentChangeSchema = z.object({
313
457
  actorName: z.string().nullable(),
314
458
  changes: z.array(z.union([
315
459
  z.object({
316
- field: z.enum(AGENT_HISTORY_FIELDS),
460
+ field: z.string(),
317
461
  before: z.unknown(),
318
462
  after: z.unknown(),
319
463
  }),
@@ -334,22 +478,11 @@ export const AgentActionOptionSchema = z.object({
334
478
  defaultOn: z.boolean().optional(),
335
479
  grantable: z.boolean().optional(),
336
480
  reason: I18nTextSchema.optional(),
337
- types: z.array(z.enum(AGENT_TYPES)).optional(),
338
481
  });
339
482
  export const UserRefSchema = z.object({
340
483
  id: z.string(),
341
484
  name: z.string(),
342
485
  });
343
- export const AgentPresetSchema = z.object({
344
- key: z.string(),
345
- name: z.string(),
346
- description: z.string(),
347
- nameText: I18nTextSchema,
348
- descriptionText: I18nTextSchema,
349
- instructions: z.string(),
350
- type: z.enum(AGENT_TYPES).optional(),
351
- actions: z.array(z.string()),
352
- });
353
486
  export const VocabularySchema = z.object({
354
487
  subjects: z.array(z.object({
355
488
  kind: z.string(),
@@ -457,7 +590,6 @@ const skillObject = z.object({
457
590
  scripts: z
458
591
  .array(z.string())
459
592
  .meta({ description: 'The paths of those scripts.' }),
460
- agentCount: z.number().int(),
461
593
  createdById: z.string().nullable(),
462
594
  createdAt: dateTime,
463
595
  updatedAt: dateTime,
@@ -483,6 +615,7 @@ const skillDetailObject = skillObject.extend({
483
615
  scope: z.string(),
484
616
  scopeId: z.string(),
485
617
  name: z.string().nullable(),
618
+ href: z.string().optional(),
486
619
  })),
487
620
  });
488
621
  export const SkillDetailSchema = skillDetailObject;
@@ -537,6 +670,16 @@ const RunEffortReportSchema = z
537
670
  .meta({ ref: 'AgentsRunEffortReport' });
538
671
  export const RunExecutionSnapshotSchema = z
539
672
  .object({
673
+ quota: QuotaReportSchema.optional(),
674
+ selection: z
675
+ .object({
676
+ reason: z.enum(['preferredQueued', 'preferredUnavailable']),
677
+ preferredTool: z.string(),
678
+ preferredModel: z.string().nullable(),
679
+ queueEnteredAt: dateTime,
680
+ waitedSeconds: z.number(),
681
+ })
682
+ .optional(),
540
683
  attempt: z.number().int(),
541
684
  runnerId: z.string(),
542
685
  runnerName: z.string().nullable(),
@@ -558,6 +701,9 @@ export const RunExecutionSnapshotSchema = z
558
701
  dispatchedAt: dateTime,
559
702
  finishedAt: dateTime.nullable(),
560
703
  failureReason: z.string().nullable(),
704
+ failureSource: z.literal('sweeper').optional().meta({
705
+ description: 'The server reclaimed this pre-start attempt; absent on runner-reported failures.',
706
+ }),
561
707
  })
562
708
  .meta({ ref: 'AgentsRunExecutionSnapshot' });
563
709
  const runObject = z.object({
@@ -603,6 +749,11 @@ const runObject = z.object({
603
749
  actorUserId: z.string().meta({
604
750
  description: 'The person the run acts as: their permissions bound it, and only their runners (or team runners) take it.',
605
751
  }),
752
+ commentRootRunId: z.string().nullable().optional().meta({
753
+ description: 'Root of this comment run chain; null for independent events.',
754
+ }),
755
+ commentExecution: z.enum(['owner', 'requester']).nullable().optional(),
756
+ commentOwnerKey: z.string().nullable().optional(),
606
757
  requestedByUserId: z.string().meta({
607
758
  description: 'Who the chain of work the run belongs to started with; the actor when they started it themselves.',
608
759
  }),
@@ -613,6 +764,7 @@ const runObject = z.object({
613
764
  requires: z.array(RunnerFeatureSchema),
614
765
  acceptsInput: z.boolean(),
615
766
  availableAt: dateTime.nullable(),
767
+ queueEnteredAt: dateTime.nullable().optional(),
616
768
  leaseExpiresAt: dateTime.nullable(),
617
769
  dispatchedAt: dateTime.nullable(),
618
770
  startedAt: dateTime.nullable(),
@@ -627,6 +779,16 @@ const runObject = z.object({
627
779
  });
628
780
  export const RunSchema = runObject.meta({ ref: 'AgentsRun' });
629
781
  export const RunDetailSchema = runObject.extend({
782
+ confirmedByName: z.string().optional().meta({
783
+ description: 'The person who confirmed personal runner access for this comment chain.',
784
+ }),
785
+ actorName: z
786
+ .string()
787
+ .optional()
788
+ .meta({ description: 'The name of the execution identity.' }),
789
+ requestedByName: z.string().optional().meta({
790
+ description: 'The name of the user associated with the chain origin; input actors identify individual triggers.',
791
+ }),
630
792
  retriedRunId: z.string().nullable().optional(),
631
793
  inputs: z.array(z.object({
632
794
  id: z.string(),
@@ -683,8 +845,13 @@ export const RunEventItemSchema = RunEventSchema;
683
845
  /** The `meta` of a page read after a `seq`: the highest `seq` returned, and a token for the next page. */
684
846
  export const SeqPageMetaSchema = z
685
847
  .object({
848
+ nextAfter: z
849
+ .number()
850
+ .int()
851
+ .optional()
852
+ .describe('Continue an incomplete forward page with after=nextAfter; lastSeq is the current conversation watermark.'),
686
853
  lastSeq: z.number().int().meta({
687
- description: 'The highest `seq` returned; ask for what follows with `after`.',
854
+ description: 'The current conversation sequence watermark; when nextAfter is present, drain further pages first.',
688
855
  }),
689
856
  nextPageToken: z.string().optional(),
690
857
  })
@@ -844,17 +1011,26 @@ const availability = z.object({
844
1011
  onlineRunners: z.number().int(),
845
1012
  });
846
1013
  const conversationSummaryObject = z.object({
1014
+ execution: z
1015
+ .object({
1016
+ status: z.enum(['running', 'idle']),
1017
+ outcome: z.enum(['completed', 'cancelled', 'failed']).optional(),
1018
+ requiresEffectReview: z.boolean().optional(),
1019
+ waitingApproval: z.boolean().optional(),
1020
+ interrupted: z.boolean().optional(),
1021
+ messageId: z.string().optional(),
1022
+ revision: z.number().int().nonnegative().optional(),
1023
+ })
1024
+ .optional(),
847
1025
  id: z.string(),
848
1026
  title: z.string().nullable(),
849
1027
  titleSource: z.enum(TITLE_SOURCES),
850
1028
  category: z.literal('chat'),
1029
+ showInChatList: z.boolean(),
851
1030
  source: z.string(),
852
1031
  mode: z.enum(['online', 'runner']),
853
1032
  agent: conversationAgent,
854
1033
  fallbackFrom: conversationAgent.nullable(),
855
- model: OnlineModelEntrySchema.nullable().meta({
856
- description: "An online conversation's model: the owner's choice while the agent lists it, else the agent's first entry. Null for a runner conversation.",
857
- }),
858
1034
  read: z.boolean(),
859
1035
  lastMessageAt: dateTime,
860
1036
  archivedAt: dateTime.nullable(),
@@ -871,9 +1047,6 @@ const conversationSummaryObject = z.object({
871
1047
  export const ConversationSummarySchema = conversationSummaryObject.meta({ ref: 'AgentsConversationSummary' });
872
1048
  const conversationDetailObject = conversationSummaryObject.extend({
873
1049
  availability,
874
- models: z.array(ChatModelChoiceSchema).meta({
875
- description: "An online conversation: the entries of its agent's list the owner may choose from; empty otherwise.",
876
- }),
877
1050
  canFallback: z.boolean(),
878
1051
  canRestore: z.boolean(),
879
1052
  });
@@ -919,6 +1092,7 @@ const notice = z.discriminatedUnion('code', [
919
1092
  }),
920
1093
  z.object({
921
1094
  code: z.literal('consultation'),
1095
+ identitySnapshot: z.boolean().optional(),
922
1096
  callId: z.string(),
923
1097
  runId: z.string().nullable(),
924
1098
  agentId: z.string().nullable(),
@@ -962,7 +1136,7 @@ export const ChatAttachmentContentQuery = z.object({
962
1136
  .transform((value) => value === 'true')
963
1137
  .meta({ description: '`true` to save the file rather than show it.' }),
964
1138
  });
965
- export const ChatAttachmentParams = z.object({ attachmentId: id });
1139
+ export const ChatAttachmentParams = z.object({ attachmentId: id.describe('The attachment identifier.') });
966
1140
  const messageObject = z.object({
967
1141
  id: z.string(),
968
1142
  conversationId: z.string(),
@@ -1018,22 +1192,21 @@ export const SendMessageResultSchema = z
1018
1192
  })
1019
1193
  .meta({ ref: 'AgentsSendMessageResult' });
1020
1194
  export const ChatAgentSchema = z.object({
1195
+ runnerNames: z
1196
+ .array(z.string())
1197
+ .describe('Eligible runtime display names visible to this caller.'),
1021
1198
  id: z.string(),
1022
1199
  name: z.string(),
1023
1200
  description: z.string().nullable(),
1024
1201
  nameText: I18nTextSchema.nullable(),
1025
1202
  descriptionText: I18nTextSchema.nullable(),
1026
1203
  avatar: z.string().nullable(),
1027
- type: z.enum(['online', 'runner']),
1028
- models: z.array(ChatModelChoiceSchema).meta({
1029
- description: 'An online agent: the entries a new conversation may answer with, the first its default; empty for a runner agent.',
1030
- }),
1031
- personal: z.boolean(),
1032
1204
  isSystemDefault: z.boolean(),
1033
1205
  isMyDefault: z.boolean(),
1206
+ quota: z.array(QuotaLocationSchema).optional(),
1034
1207
  availability,
1035
- fallbackAgentId: z.string().nullable().meta({
1036
- description: 'A runner agent no runner may run for the caller now: the online agent a new conversation with it starts on instead. Null otherwise.',
1208
+ personalOnly: z.boolean().meta({
1209
+ description: 'Only personal runners have it.',
1037
1210
  }),
1038
1211
  });
1039
1212
  export const ChatDefaultAgentSchema = z.object({
@@ -1043,12 +1216,11 @@ export const ChatSettingsSchema = z.object({
1043
1216
  defaultAgentId: z.string().nullable().meta({
1044
1217
  description: 'The agent new conversations go to when a person has no default of their own.',
1045
1218
  }),
1046
- onlineFallbackAgentId: z.string().nullable().meta({
1047
- description: 'The online agent that answers in place of a runner agent no runner may run for the person now.',
1048
- }),
1049
1219
  });
1050
1220
  // A runner's working directories, as it last reported them.
1051
- const RunnerWorkspaceSchema = z.object({
1221
+ export const RunnerWorkspaceSchema = z.object({
1222
+ subjectKey: z.string().optional(),
1223
+ sizeBytes: z.number().int().nonnegative().optional(),
1052
1224
  decision: WorkspaceDecisionSchema.optional(),
1053
1225
  cleanup: WorkspaceCleanupResultSchema.optional(),
1054
1226
  runId: z
@@ -1081,9 +1253,29 @@ const RunnerWorkspaceUsageSchema = z
1081
1253
  description: "The disk holding the runner's working directories; null when it did not say.",
1082
1254
  }),
1083
1255
  intervalMs: z.number().int().positive().optional(),
1256
+ totalBytes: z
1257
+ .number()
1258
+ .nonnegative()
1259
+ .optional()
1260
+ .describe('Sum of measured directory sizes in bytes.'),
1261
+ sizeUnknownCount: z
1262
+ .number()
1263
+ .int()
1264
+ .nonnegative()
1265
+ .optional()
1266
+ .describe('Directories without a measured size.'),
1267
+ counts: z
1268
+ .object({
1269
+ all: z.number().int(),
1270
+ active: z.number().int(),
1271
+ retained: z.number().int(),
1272
+ ended: z.number().int(),
1273
+ })
1274
+ .optional(),
1084
1275
  count: z.number().int(),
1085
1276
  unpushedCount: z.number().int(),
1086
- measuredAt: dateTime,
1277
+ measuredAt: dateTime.nullable(),
1278
+ diskMeasuredAt: dateTime.optional(),
1087
1279
  workspaces: z.array(RunnerWorkspaceSchema).meta({
1088
1280
  description: "This application's, most recently used first; empty for a caller who may not see the runner's machine.",
1089
1281
  }),
@@ -1112,6 +1304,12 @@ const runnerObject = z.object({
1112
1304
  toolSlots: ToolSlotsSchema.nullable().meta({
1113
1305
  description: 'How many runs of each coding tool it may hold at once, beside `slots`; null, or a tool left out, for no limit of its own.',
1114
1306
  }),
1307
+ draining: z.enum(['updatePending', 'pruning']).optional().meta({
1308
+ description: 'Why the runner temporarily accepts no new work, regardless of available slots.',
1309
+ }),
1310
+ globalFree: z.number().nonnegative().optional().meta({
1311
+ description: 'Free slots reported in the latest heartbeat across all applications; absent before a heartbeat.',
1312
+ }),
1115
1313
  toolLoad: z.partialRecord(AgentToolSchema, ToolLoadSchema).nullable().meta({
1116
1314
  description: 'What it last reported per coding tool it limits on its own side, across every application it serves: how many runs of each it holds at most and could take now.',
1117
1315
  }),
@@ -1120,6 +1318,68 @@ const runnerObject = z.object({
1120
1318
  variables: z.array(z.string()).nullable().optional().meta({
1121
1319
  description: 'The names of the variables it provides to runs that take them from the runner, as it last reported them; null when it reported none. Names only.',
1122
1320
  }),
1321
+ quotaRevision: z
1322
+ .number()
1323
+ .int()
1324
+ .describe('The server quota-state revision; clearing does not require it.'),
1325
+ quotaUsage: z
1326
+ .array(z.object({
1327
+ tool: AgentToolSchema.describe('The coding tool whose quota was observed.'),
1328
+ window: z
1329
+ .string()
1330
+ .describe('The tool-reported usage window identifier.'),
1331
+ scope: z
1332
+ .enum(['tool', 'provider', 'model'])
1333
+ .describe('The affected quota scope.'),
1334
+ target: z
1335
+ .string()
1336
+ .describe('Provider or model identifier; empty for the whole tool.'),
1337
+ usedPercent: z
1338
+ .number()
1339
+ .optional()
1340
+ .describe('Observed usage percentage, when the tool reports it.'),
1341
+ resetsAt: z
1342
+ .string()
1343
+ .nullable()
1344
+ .describe('Known reset instant; null means manual recovery.'),
1345
+ observedAt: z
1346
+ .string()
1347
+ .describe('When the usage snapshot was accepted.'),
1348
+ exhausted: z
1349
+ .boolean()
1350
+ .optional()
1351
+ .describe('Whether the observed window was exhausted.'),
1352
+ }))
1353
+ .nullable()
1354
+ .optional()
1355
+ .describe('Throttled usage snapshots, persisted at five-point changes or state transitions.'),
1356
+ unavailableModels: z
1357
+ .array(z.object({
1358
+ tool: AgentToolSchema.describe('The coding tool whose quota was observed.'),
1359
+ model: z
1360
+ .string()
1361
+ .describe('Affected model or provider; empty for a tool-wide mark.'),
1362
+ at: z.string().describe('When the unavailable mark was observed.'),
1363
+ reported: z
1364
+ .array(z.string())
1365
+ .describe('Models reported by the tool when the mark was recorded.'),
1366
+ reason: z
1367
+ .enum(['modelUnavailable', 'toolQuota'])
1368
+ .optional()
1369
+ .describe('The reason this scope cannot accept work.'),
1370
+ scope: z
1371
+ .enum(['tool', 'provider', 'model'])
1372
+ .optional()
1373
+ .describe('The marked scope; legacy marks target one model.'),
1374
+ window: z.string().optional().describe('The exhausted usage window.'),
1375
+ resetsAt: z
1376
+ .string()
1377
+ .nullable()
1378
+ .optional()
1379
+ .describe('Automatic recovery instant; absent or null means unknown.'),
1380
+ }))
1381
+ .nullable()
1382
+ .optional(),
1123
1383
  workspaceUsage: RunnerWorkspaceUsageSchema.nullable().optional().meta({
1124
1384
  description: 'The working directories it keeps for this application and the free space on the disk holding them, as it last reported them; null or absent before it reports.',
1125
1385
  }),
@@ -1127,10 +1387,11 @@ const runnerObject = z.object({
1127
1387
  createdAt: dateTime,
1128
1388
  updatedAt: dateTime,
1129
1389
  });
1130
- export const RunnerSchema = runnerObject.meta({
1390
+ export const RunnerSchema = runnerObject.omit({ quotaRevision: true }).meta({
1131
1391
  ref: 'AgentsRunner',
1132
1392
  });
1133
- export const RunnerSummarySchema = runnerObject
1393
+ const runnerSummaryObject = runnerObject
1394
+ .omit({ quotaRevision: true })
1134
1395
  .extend({
1135
1396
  hostname: z.string().nullable().meta({
1136
1397
  description: 'The host name it reported; null for a caller who may not manage it.',
@@ -1148,6 +1409,14 @@ export const RunnerSummarySchema = runnerObject
1148
1409
  canManage: z.boolean(),
1149
1410
  canChangeTrust: z.boolean(),
1150
1411
  canRevoke: z.boolean(),
1412
+ canClearQuota: z
1413
+ .boolean()
1414
+ .describe('The viewer may clear an unknown-reset quota mark.'),
1415
+ recentRunsCount: z
1416
+ .number()
1417
+ .int()
1418
+ .nonnegative()
1419
+ .describe('Recent run rows shown by the Runs tab, bounded to ten.'),
1151
1420
  updateVersion: z.string().nullable(),
1152
1421
  requiredProtocol: z.object({
1153
1422
  min: z.number().int(),
@@ -1158,8 +1427,60 @@ export const RunnerSummarySchema = runnerObject
1158
1427
  }),
1159
1428
  })
1160
1429
  .meta({ ref: 'AgentsRunnerSummary' });
1430
+ export const RunnerSummarySchema = runnerSummaryObject;
1431
+ export const RunnerListItemSchema = runnerSummaryObject
1432
+ .pick(RUNNER_LIST_FIELDS)
1433
+ .extend({
1434
+ tools: z
1435
+ .array(z
1436
+ .object({
1437
+ kind: AgentToolSchema,
1438
+ version: z.string().optional(),
1439
+ authenticated: z.boolean(),
1440
+ })
1441
+ .meta({
1442
+ ref: 'AgentsRunnerToolSummary',
1443
+ description: 'Tool identity, version and sign-in state; model catalogs and machine paths belong to runtime get.',
1444
+ }))
1445
+ .describe('Compact coding tool states for this list.'),
1446
+ takesCount: z
1447
+ .number()
1448
+ .int()
1449
+ .describe('Total eligible agents; takes contains at most three.'),
1450
+ workspaceUsage: RunnerWorkspaceUsageSchema.omit({ workspaces: true })
1451
+ .nullable()
1452
+ .optional()
1453
+ .describe('Directory and disk totals without directory rows.'),
1454
+ })
1455
+ .meta({ ref: 'AgentsRunnerListItem' });
1456
+ export const RunnerWorkspacePageMetaSchema = z
1457
+ .object({
1458
+ total: z
1459
+ .number()
1460
+ .int()
1461
+ .describe('Directories matching the selected status.'),
1462
+ page: z.number().int().min(1).describe('The requested one-based page.'),
1463
+ pageSize: z.number().int().min(1).describe('Maximum rows per page.'),
1464
+ usage: RunnerWorkspaceUsageSchema.omit({ workspaces: true })
1465
+ .nullable()
1466
+ .describe('Disk and directory totals, without directory rows.'),
1467
+ })
1468
+ .meta({
1469
+ ref: 'AgentsRunnerWorkspacePageMeta',
1470
+ description: 'Paging and shared runtime workspace totals.',
1471
+ });
1161
1472
  export const RunnerRecentRunSchema = z
1162
1473
  .object({
1474
+ subjectLabel: z
1475
+ .string()
1476
+ .nullable()
1477
+ .optional()
1478
+ .describe('The visible task or conversation label.'),
1479
+ failureReason: z
1480
+ .string()
1481
+ .nullable()
1482
+ .optional()
1483
+ .describe('Terminal failure classification, including toolQuota.'),
1163
1484
  id: z.string(),
1164
1485
  title: z.string(),
1165
1486
  status: RunStatusSchema,
@@ -1188,6 +1509,20 @@ export const RegistrationTokenSchema = z.object({
1188
1509
  toolSlots: ToolSlotsSchema.nullable(),
1189
1510
  expiresAt: dateTime,
1190
1511
  });
1512
+ export const RegistrationTokenListQuery = z.object({
1513
+ page: z.coerce.number().int().min(1).default(1).describe('The page number.'),
1514
+ pageSize: pageSize(50, 100).describe('The maximum number of registration tokens to return.'),
1515
+ });
1516
+ export const RegistrationTokenSummarySchema = z.object({
1517
+ id: z.string(),
1518
+ createdById: z.string().nullable(),
1519
+ trust: z.enum(RUNNER_TRUST),
1520
+ enabledTools: z.array(AgentToolSchema).nullable(),
1521
+ slots: z.number().int().nullable(),
1522
+ toolSlots: ToolSlotsSchema.nullable().optional(),
1523
+ createdAt: dateTime,
1524
+ expiresAt: dateTime,
1525
+ });
1191
1526
  export const DownloadTokenSchema = z.object({
1192
1527
  token: z.string().meta({
1193
1528
  description: 'The download token, shown only in this answer; the install script downloads the CLI with it.',
@@ -1205,18 +1540,21 @@ export const RunContextSchema = z
1205
1540
  });
1206
1541
  // Run requests: work someone asked of an agent on a subject another person answers for.
1207
1542
  export const RunRequestParams = z.object({
1208
- requestId: id,
1543
+ requestId: id.describe('The request identifier.'),
1209
1544
  });
1210
1545
  export const RunRequestListQuery = z.object({
1211
1546
  role: z.enum(['responsible', 'requester']).optional().meta({
1212
1547
  description: '`responsible`: the requests the caller answers for (to confirm); `requester`: the ones the caller asked. Both when left out.',
1213
1548
  }),
1214
- status: z.enum(RUN_REQUEST_STATUSES).optional(),
1215
- subjectKind: id.optional(),
1216
- subjectId: id.optional(),
1217
- agentId: id.optional(),
1218
- pageSize: pageSize(50, 200),
1219
- pageToken,
1549
+ status: z
1550
+ .enum(RUN_REQUEST_STATUSES)
1551
+ .optional()
1552
+ .describe('The status to set or filter by.'),
1553
+ subjectKind: id.optional().describe('The kind of subject.'),
1554
+ subjectId: id.optional().describe('The subject identifier.'),
1555
+ agentId: id.optional().describe('The agent identifier.'),
1556
+ pageSize: pageSize(50, 200).describe('The maximum number of records to return.'),
1557
+ pageToken: pageToken.describe('The continuation token returned by the previous page.'),
1220
1558
  });
1221
1559
  export const RunRequestRejectInput = z.strictObject({
1222
1560
  note: z.string().max(2000).optional().meta({
@@ -1224,6 +1562,12 @@ export const RunRequestRejectInput = z.strictObject({
1224
1562
  }),
1225
1563
  });
1226
1564
  const runRequestObject = z.object({
1565
+ purpose: z.literal('personalRunner').nullable().optional().meta({
1566
+ description: 'Personal runner consent releases existing comment work rather than creating a second run.',
1567
+ }),
1568
+ commentRootRunId: z.string().nullable().optional(),
1569
+ commentRunId: z.string().nullable().optional(),
1570
+ commentOwnerKey: z.string().nullable().optional(),
1227
1571
  freshSession: z.boolean().optional(),
1228
1572
  id: z.string(),
1229
1573
  agentId: z.string(),