@nocobase/app-plugin-agents 0.1.0-beta.8 → 1.0.0-beta.15

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 (835) hide show
  1. package/CHANGELOG.md +304 -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/en-US.d.ts +87 -217
  139. package/dist/client/locales/en-US.d.ts.map +1 -1
  140. package/dist/client/locales/en-US.js +92 -218
  141. package/dist/client/locales/en-US.js.map +1 -1
  142. package/dist/client/locales/runWait.en-US.d.ts +7 -0
  143. package/dist/client/locales/runWait.en-US.d.ts.map +1 -1
  144. package/dist/client/locales/runWait.en-US.js +10 -3
  145. package/dist/client/locales/runWait.en-US.js.map +1 -1
  146. package/dist/client/locales/runWait.zh-CN.d.ts +1 -1
  147. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -1
  148. package/dist/client/locales/runWait.zh-CN.js +11 -4
  149. package/dist/client/locales/runWait.zh-CN.js.map +1 -1
  150. package/dist/client/locales/runtimes.en-US.d.ts +83 -0
  151. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  152. package/dist/client/locales/runtimes.en-US.js +84 -1
  153. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  154. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  155. package/dist/client/locales/runtimes.zh-CN.js +83 -0
  156. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  157. package/dist/client/locales/skills.en-US.d.ts +7 -0
  158. package/dist/client/locales/skills.en-US.d.ts.map +1 -1
  159. package/dist/client/locales/skills.en-US.js +8 -1
  160. package/dist/client/locales/skills.en-US.js.map +1 -1
  161. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -1
  162. package/dist/client/locales/skills.zh-CN.js +8 -1
  163. package/dist/client/locales/skills.zh-CN.js.map +1 -1
  164. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  165. package/dist/client/locales/zh-CN.js +94 -220
  166. package/dist/client/locales/zh-CN.js.map +1 -1
  167. package/dist/client/online/services.d.ts.map +1 -1
  168. package/dist/client/online/services.js +5 -6
  169. package/dist/client/online/services.js.map +1 -1
  170. package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
  171. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
  172. package/dist/client/pages/agents/agent-dialog.js +106 -0
  173. package/dist/client/pages/agents/agent-dialog.js.map +1 -0
  174. package/dist/client/pages/agents/agent-state.d.ts +11 -0
  175. package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
  176. package/dist/client/pages/agents/agent-state.js +28 -0
  177. package/dist/client/pages/agents/agent-state.js.map +1 -0
  178. package/dist/client/pages/agents/index.d.ts +1 -1
  179. package/dist/client/pages/agents/index.d.ts.map +1 -1
  180. package/dist/client/pages/agents/index.js +7 -101
  181. package/dist/client/pages/agents/index.js.map +1 -1
  182. package/dist/client/pages/agents/runner-agents.d.ts +3 -0
  183. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
  184. package/dist/client/pages/agents/runner-agents.js +185 -0
  185. package/dist/client/pages/agents/runner-agents.js.map +1 -0
  186. package/dist/client/pages/runtimes/connect.js.map +1 -1
  187. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  188. package/dist/client/pages/runtimes/index.js +1 -1
  189. package/dist/client/pages/runtimes/index.js.map +1 -1
  190. package/dist/client/pages/runtimes/quota-targets.d.ts +4 -0
  191. package/dist/client/pages/runtimes/quota-targets.d.ts.map +1 -0
  192. package/dist/client/pages/runtimes/quota-targets.js +18 -0
  193. package/dist/client/pages/runtimes/quota-targets.js.map +1 -0
  194. package/dist/client/pages/runtimes/quota.d.ts +17 -0
  195. package/dist/client/pages/runtimes/quota.d.ts.map +1 -0
  196. package/dist/client/pages/runtimes/quota.js +50 -0
  197. package/dist/client/pages/runtimes/quota.js.map +1 -0
  198. package/dist/client/pages/runtimes/runner-cells.d.ts +11 -4
  199. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  200. package/dist/client/pages/runtimes/runner-cells.js +6 -3
  201. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  202. package/dist/client/pages/runtimes/runner-overview.d.ts +9 -0
  203. package/dist/client/pages/runtimes/runner-overview.d.ts.map +1 -0
  204. package/dist/client/pages/runtimes/runner-overview.js +109 -0
  205. package/dist/client/pages/runtimes/runner-overview.js.map +1 -0
  206. package/dist/client/pages/runtimes/runner-runs.d.ts +5 -0
  207. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -0
  208. package/dist/client/pages/runtimes/runner-runs.js +35 -0
  209. package/dist/client/pages/runtimes/runner-runs.js.map +1 -0
  210. package/dist/client/pages/runtimes/runner-sheet.d.ts +2 -3
  211. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  212. package/dist/client/pages/runtimes/runner-sheet.js +43 -171
  213. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  214. package/dist/client/pages/runtimes/runner-tools.d.ts +17 -0
  215. package/dist/client/pages/runtimes/runner-tools.d.ts.map +1 -0
  216. package/dist/client/pages/runtimes/runner-tools.js +75 -0
  217. package/dist/client/pages/runtimes/runner-tools.js.map +1 -0
  218. package/dist/client/pages/runtimes/runner-workspaces.d.ts +6 -0
  219. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -0
  220. package/dist/client/pages/runtimes/runner-workspaces.js +37 -0
  221. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -0
  222. package/dist/client/pages/runtimes/tool-slots-fields.js +1 -1
  223. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -1
  224. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +6 -4
  225. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -1
  226. package/dist/client/pages/runtimes/workspace-diagnostics.js +67 -33
  227. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -1
  228. package/dist/client/pages/skills/detail/index.d.ts.map +1 -1
  229. package/dist/client/pages/skills/detail/index.js +11 -15
  230. package/dist/client/pages/skills/detail/index.js.map +1 -1
  231. package/dist/client/pages/skills/index.d.ts.map +1 -1
  232. package/dist/client/pages/skills/index.js +2 -2
  233. package/dist/client/pages/skills/index.js.map +1 -1
  234. package/dist/client/pages/usage/index.js +2 -2
  235. package/dist/client/pages/usage/index.js.map +1 -1
  236. package/dist/client/profile/default-agent.d.ts.map +1 -1
  237. package/dist/client/profile/default-agent.js +2 -4
  238. package/dist/client/profile/default-agent.js.map +1 -1
  239. package/dist/client/routes.d.ts +1 -1
  240. package/dist/client/routes.d.ts.map +1 -1
  241. package/dist/client/routes.js +1 -13
  242. package/dist/client/routes.js.map +1 -1
  243. package/dist/client/runs/format-wait.d.ts.map +1 -1
  244. package/dist/client/runs/format-wait.js +15 -1
  245. package/dist/client/runs/format-wait.js.map +1 -1
  246. package/dist/client/runs/subject-runs.d.ts +5 -0
  247. package/dist/client/runs/subject-runs.d.ts.map +1 -1
  248. package/dist/client/runs/subject-runs.js +24 -9
  249. package/dist/client/runs/subject-runs.js.map +1 -1
  250. package/dist/client/runs/use-run-events.d.ts +1 -1
  251. package/dist/client/runs/use-run-events.d.ts.map +1 -1
  252. package/dist/client/runs/use-run-events.js +5 -2
  253. package/dist/client/runs/use-run-events.js.map +1 -1
  254. package/dist/client/runs.d.ts +1 -1
  255. package/dist/client/runs.d.ts.map +1 -1
  256. package/dist/client/runs.js +1 -1
  257. package/dist/client/runs.js.map +1 -1
  258. package/dist/database/migrations/.manifest.json +42 -2
  259. package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -1
  260. package/dist/database/migrations/202610020003_ag_create_runs.js +0 -1
  261. package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -1
  262. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts +4 -0
  263. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts.map +1 -0
  264. package/dist/database/migrations/202610120001_ag_index_run_retries.js +17 -0
  265. package/dist/database/migrations/202610120001_ag_index_run_retries.js.map +1 -0
  266. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
  267. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
  268. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
  269. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
  270. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts +4 -0
  271. package/dist/database/migrations/202610170001_ag_runner_quota.d.ts.map +1 -0
  272. package/dist/database/migrations/202610170001_ag_runner_quota.js +19 -0
  273. package/dist/database/migrations/202610170001_ag_runner_quota.js.map +1 -0
  274. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
  275. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
  276. package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
  277. package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
  278. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
  279. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
  280. package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
  281. package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
  282. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts +4 -0
  283. package/dist/database/migrations/202610250001_ag_comment_runner_consent.d.ts.map +1 -0
  284. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js +41 -0
  285. package/dist/database/migrations/202610250001_ag_comment_runner_consent.js.map +1 -0
  286. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts +4 -0
  287. package/dist/database/migrations/202610260001_ag_drop_directory_index.d.ts.map +1 -0
  288. package/dist/database/migrations/202610260001_ag_drop_directory_index.js +24 -0
  289. package/dist/database/migrations/202610260001_ag_drop_directory_index.js.map +1 -0
  290. package/dist/database/migrations/202610260001_ag_run_revision.d.ts +4 -0
  291. package/dist/database/migrations/202610260001_ag_run_revision.d.ts.map +1 -0
  292. package/dist/database/migrations/202610260001_ag_run_revision.js +19 -0
  293. package/dist/database/migrations/202610260001_ag_run_revision.js.map +1 -0
  294. package/dist/database/migrations/202610270001_ag_online_agent.d.ts +4 -0
  295. package/dist/database/migrations/202610270001_ag_online_agent.d.ts.map +1 -0
  296. package/dist/database/migrations/202610270001_ag_online_agent.js +43 -0
  297. package/dist/database/migrations/202610270001_ag_online_agent.js.map +1 -0
  298. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts +4 -0
  299. package/dist/database/migrations/202610270002_ag_chat_list_visibility.d.ts.map +1 -0
  300. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js +17 -0
  301. package/dist/database/migrations/202610270002_ag_chat_list_visibility.js.map +1 -0
  302. package/dist/package.json +34 -12
  303. package/dist/server/cli/run-credential.js +1 -1
  304. package/dist/server/cli/surface.d.ts.map +1 -1
  305. package/dist/server/cli/surface.js +4 -1
  306. package/dist/server/cli/surface.js.map +1 -1
  307. package/dist/server/composition.d.ts +36 -35
  308. package/dist/server/composition.d.ts.map +1 -1
  309. package/dist/server/composition.js +99 -66
  310. package/dist/server/composition.js.map +1 -1
  311. package/dist/server/core/agents/agent.service.d.ts +51 -43
  312. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  313. package/dist/server/core/agents/agent.service.js +347 -321
  314. package/dist/server/core/agents/agent.service.js.map +1 -1
  315. package/dist/server/core/agents/agent.store.d.ts +26 -12
  316. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  317. package/dist/server/core/agents/agent.store.js +74 -66
  318. package/dist/server/core/agents/agent.store.js.map +1 -1
  319. package/dist/server/core/agents/agent.views.d.ts +29 -0
  320. package/dist/server/core/agents/agent.views.d.ts.map +1 -0
  321. package/dist/server/core/agents/agent.views.js +88 -0
  322. package/dist/server/core/agents/agent.views.js.map +1 -0
  323. package/dist/server/core/agents/discovery.d.ts +12 -0
  324. package/dist/server/core/agents/discovery.d.ts.map +1 -0
  325. package/dist/server/core/agents/discovery.js +39 -0
  326. package/dist/server/core/agents/discovery.js.map +1 -0
  327. package/dist/server/core/agents/index.d.ts +3 -2
  328. package/dist/server/core/agents/index.d.ts.map +1 -1
  329. package/dist/server/core/agents/index.js +3 -2
  330. package/dist/server/core/agents/index.js.map +1 -1
  331. package/dist/server/core/brief/brief.js +3 -3
  332. package/dist/server/core/brief/brief.js.map +1 -1
  333. package/dist/server/core/callers/index.d.ts +10 -1
  334. package/dist/server/core/callers/index.d.ts.map +1 -1
  335. package/dist/server/core/callers/index.js +15 -0
  336. package/dist/server/core/callers/index.js.map +1 -1
  337. package/dist/server/core/conversations/attachments.d.ts.map +1 -1
  338. package/dist/server/core/conversations/attachments.js +6 -1
  339. package/dist/server/core/conversations/attachments.js.map +1 -1
  340. package/dist/server/core/conversations/availability.d.ts +6 -11
  341. package/dist/server/core/conversations/availability.d.ts.map +1 -1
  342. package/dist/server/core/conversations/availability.js +11 -15
  343. package/dist/server/core/conversations/availability.js.map +1 -1
  344. package/dist/server/core/conversations/chat-settings.d.ts +2 -2
  345. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
  346. package/dist/server/core/conversations/chat-settings.js +17 -22
  347. package/dist/server/core/conversations/chat-settings.js.map +1 -1
  348. package/dist/server/core/conversations/conversation.service.d.ts +13 -8
  349. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  350. package/dist/server/core/conversations/conversation.service.js +397 -383
  351. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  352. package/dist/server/core/conversations/conversation.store.d.ts +3 -0
  353. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
  354. package/dist/server/core/conversations/conversation.store.js +2 -1
  355. package/dist/server/core/conversations/conversation.store.js.map +1 -1
  356. package/dist/server/core/conversations/page-context.d.ts +8 -2
  357. package/dist/server/core/conversations/page-context.d.ts.map +1 -1
  358. package/dist/server/core/conversations/page-context.js +61 -2
  359. package/dist/server/core/conversations/page-context.js.map +1 -1
  360. package/dist/server/core/conversations/ports.d.ts +18 -20
  361. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  362. package/dist/server/core/reports/model-usage.d.ts.map +1 -1
  363. package/dist/server/core/reports/model-usage.js +42 -44
  364. package/dist/server/core/reports/model-usage.js.map +1 -1
  365. package/dist/server/core/reports/prices.d.ts.map +1 -1
  366. package/dist/server/core/reports/prices.js +29 -5
  367. package/dist/server/core/reports/prices.js.map +1 -1
  368. package/dist/server/core/reports/report.service.d.ts +4 -2
  369. package/dist/server/core/reports/report.service.d.ts.map +1 -1
  370. package/dist/server/core/reports/report.service.js +148 -66
  371. package/dist/server/core/reports/report.service.js.map +1 -1
  372. package/dist/server/core/runs/access.d.ts +5 -0
  373. package/dist/server/core/runs/access.d.ts.map +1 -0
  374. package/dist/server/core/runs/access.js +10 -0
  375. package/dist/server/core/runs/access.js.map +1 -0
  376. package/dist/server/core/runs/availability.d.ts +18 -6
  377. package/dist/server/core/runs/availability.d.ts.map +1 -1
  378. package/dist/server/core/runs/availability.js +40 -34
  379. package/dist/server/core/runs/availability.js.map +1 -1
  380. package/dist/server/core/runs/claim.d.ts +30 -106
  381. package/dist/server/core/runs/claim.d.ts.map +1 -1
  382. package/dist/server/core/runs/claim.js +630 -323
  383. package/dist/server/core/runs/claim.js.map +1 -1
  384. package/dist/server/core/runs/comment-consent.d.ts +24 -0
  385. package/dist/server/core/runs/comment-consent.d.ts.map +1 -0
  386. package/dist/server/core/runs/comment-consent.js +116 -0
  387. package/dist/server/core/runs/comment-consent.js.map +1 -0
  388. package/dist/server/core/runs/eligibility.d.ts +13 -1
  389. package/dist/server/core/runs/eligibility.d.ts.map +1 -1
  390. package/dist/server/core/runs/eligibility.js +41 -10
  391. package/dist/server/core/runs/eligibility.js.map +1 -1
  392. package/dist/server/core/runs/execution-view.d.ts +8 -0
  393. package/dist/server/core/runs/execution-view.d.ts.map +1 -1
  394. package/dist/server/core/runs/execution-view.js +9 -0
  395. package/dist/server/core/runs/execution-view.js.map +1 -1
  396. package/dist/server/core/runs/execution.d.ts +1 -1
  397. package/dist/server/core/runs/execution.d.ts.map +1 -1
  398. package/dist/server/core/runs/execution.js +8 -2
  399. package/dist/server/core/runs/execution.js.map +1 -1
  400. package/dist/server/core/runs/identity.d.ts +9 -0
  401. package/dist/server/core/runs/identity.d.ts.map +1 -0
  402. package/dist/server/core/runs/identity.js +75 -0
  403. package/dist/server/core/runs/identity.js.map +1 -0
  404. package/dist/server/core/runs/index.d.ts +6 -6
  405. package/dist/server/core/runs/index.d.ts.map +1 -1
  406. package/dist/server/core/runs/index.js +6 -6
  407. package/dist/server/core/runs/index.js.map +1 -1
  408. package/dist/server/core/runs/input-gate.d.ts +1 -1
  409. package/dist/server/core/runs/input-gate.d.ts.map +1 -1
  410. package/dist/server/core/runs/input-gate.js +4 -2
  411. package/dist/server/core/runs/input-gate.js.map +1 -1
  412. package/dist/server/core/runs/lifecycle.d.ts +16 -18
  413. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  414. package/dist/server/core/runs/lifecycle.js +146 -60
  415. package/dist/server/core/runs/lifecycle.js.map +1 -1
  416. package/dist/server/core/runs/policy.d.ts +9 -2
  417. package/dist/server/core/runs/policy.d.ts.map +1 -1
  418. package/dist/server/core/runs/policy.js +17 -8
  419. package/dist/server/core/runs/policy.js.map +1 -1
  420. package/dist/server/core/runs/ports.d.ts +41 -31
  421. package/dist/server/core/runs/ports.d.ts.map +1 -1
  422. package/dist/server/core/runs/ports.js +2 -13
  423. package/dist/server/core/runs/ports.js.map +1 -1
  424. package/dist/server/core/runs/preview.d.ts.map +1 -1
  425. package/dist/server/core/runs/preview.js +1 -3
  426. package/dist/server/core/runs/preview.js.map +1 -1
  427. package/dist/server/core/runs/run-data-purge.d.ts +15 -0
  428. package/dist/server/core/runs/run-data-purge.d.ts.map +1 -0
  429. package/dist/server/core/runs/run-data-purge.js +82 -0
  430. package/dist/server/core/runs/run-data-purge.js.map +1 -0
  431. package/dist/server/core/runs/run-requests.d.ts +25 -0
  432. package/dist/server/core/runs/run-requests.d.ts.map +1 -1
  433. package/dist/server/core/runs/run-requests.js +131 -64
  434. package/dist/server/core/runs/run-requests.js.map +1 -1
  435. package/dist/server/core/runs/run.service.d.ts +39 -3
  436. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  437. package/dist/server/core/runs/run.service.js +729 -102
  438. package/dist/server/core/runs/run.service.js.map +1 -1
  439. package/dist/server/core/runs/run.store.d.ts +11 -0
  440. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  441. package/dist/server/core/runs/run.store.js +39 -11
  442. package/dist/server/core/runs/run.store.js.map +1 -1
  443. package/dist/server/core/runs/runner-view.d.ts +12 -2
  444. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  445. package/dist/server/core/runs/runner-view.js +55 -13
  446. package/dist/server/core/runs/runner-view.js.map +1 -1
  447. package/dist/server/core/runs/selection.d.ts +13 -0
  448. package/dist/server/core/runs/selection.d.ts.map +1 -0
  449. package/dist/server/core/runs/selection.js +21 -0
  450. package/dist/server/core/runs/selection.js.map +1 -0
  451. package/dist/server/core/runs/sweeper.d.ts +1 -0
  452. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  453. package/dist/server/core/runs/sweeper.js +66 -17
  454. package/dist/server/core/runs/sweeper.js.map +1 -1
  455. package/dist/server/core/runs/transitions.d.ts +6 -2
  456. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  457. package/dist/server/core/runs/transitions.js +73 -19
  458. package/dist/server/core/runs/transitions.js.map +1 -1
  459. package/dist/server/core/runs/workload.d.ts +17 -5
  460. package/dist/server/core/runs/workload.d.ts.map +1 -1
  461. package/dist/server/core/runs/workload.js +203 -68
  462. package/dist/server/core/runs/workload.js.map +1 -1
  463. package/dist/server/core/skills/skill.service.d.ts +6 -2
  464. package/dist/server/core/skills/skill.service.d.ts.map +1 -1
  465. package/dist/server/core/skills/skill.service.js +87 -66
  466. package/dist/server/core/skills/skill.service.js.map +1 -1
  467. package/dist/server/core/skills/skill.store.d.ts +14 -0
  468. package/dist/server/core/skills/skill.store.d.ts.map +1 -1
  469. package/dist/server/core/skills/skill.store.js +30 -0
  470. package/dist/server/core/skills/skill.store.js.map +1 -1
  471. package/dist/server/core/transaction-read.d.ts +4 -0
  472. package/dist/server/core/transaction-read.d.ts.map +1 -0
  473. package/dist/server/core/transaction-read.js +30 -0
  474. package/dist/server/core/transaction-read.js.map +1 -0
  475. package/dist/server/core/variables/index.d.ts +1 -1
  476. package/dist/server/core/variables/index.d.ts.map +1 -1
  477. package/dist/server/core/variables/index.js.map +1 -1
  478. package/dist/server/core/variables/variable.service.d.ts +18 -0
  479. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  480. package/dist/server/core/variables/variable.service.js +95 -20
  481. package/dist/server/core/variables/variable.service.js.map +1 -1
  482. package/dist/server/index.d.ts +4 -0
  483. package/dist/server/index.d.ts.map +1 -1
  484. package/dist/server/index.js +3 -0
  485. package/dist/server/index.js.map +1 -1
  486. package/dist/server/jobs/job.service.d.ts +1 -1
  487. package/dist/server/jobs/job.service.d.ts.map +1 -1
  488. package/dist/server/jobs/job.service.js +8 -2
  489. package/dist/server/jobs/job.service.js.map +1 -1
  490. package/dist/server/kernel/events.d.ts +12 -3
  491. package/dist/server/kernel/events.d.ts.map +1 -1
  492. package/dist/server/kernel/events.js.map +1 -1
  493. package/dist/server/kernel/scopes.d.ts +6 -0
  494. package/dist/server/kernel/scopes.d.ts.map +1 -1
  495. package/dist/server/kernel/scopes.js +3 -1
  496. package/dist/server/kernel/scopes.js.map +1 -1
  497. package/dist/server/online/agent/configuration.d.ts +26 -0
  498. package/dist/server/online/agent/configuration.d.ts.map +1 -0
  499. package/dist/server/online/agent/configuration.js +261 -0
  500. package/dist/server/online/agent/configuration.js.map +1 -0
  501. package/dist/server/online/agent/contracts.d.ts +87 -0
  502. package/dist/server/online/agent/contracts.d.ts.map +1 -0
  503. package/dist/server/online/agent/contracts.js +2 -0
  504. package/dist/server/online/agent/contracts.js.map +1 -0
  505. package/dist/server/online/agent/errors.d.ts +11 -0
  506. package/dist/server/online/agent/errors.d.ts.map +1 -0
  507. package/dist/server/online/agent/errors.js +21 -0
  508. package/dist/server/online/agent/errors.js.map +1 -0
  509. package/dist/server/online/agent/index.d.ts +11 -0
  510. package/dist/server/online/agent/index.d.ts.map +1 -0
  511. package/dist/server/online/agent/index.js +9 -0
  512. package/dist/server/online/agent/index.js.map +1 -0
  513. package/dist/server/online/agent/messages/json.d.ts +5 -0
  514. package/dist/server/online/agent/messages/json.d.ts.map +1 -0
  515. package/dist/server/online/agent/messages/json.js +88 -0
  516. package/dist/server/online/agent/messages/json.js.map +1 -0
  517. package/dist/server/online/agent/messages/projection.d.ts +20 -0
  518. package/dist/server/online/agent/messages/projection.d.ts.map +1 -0
  519. package/dist/server/online/agent/messages/projection.js +495 -0
  520. package/dist/server/online/agent/messages/projection.js.map +1 -0
  521. package/dist/server/online/agent/messages/validation.d.ts +7 -0
  522. package/dist/server/online/agent/messages/validation.d.ts.map +1 -0
  523. package/dist/server/online/agent/messages/validation.js +159 -0
  524. package/dist/server/online/agent/messages/validation.js.map +1 -0
  525. package/dist/server/online/agent/native/backend.d.ts +60 -0
  526. package/dist/server/online/agent/native/backend.d.ts.map +1 -0
  527. package/dist/server/online/agent/native/backend.js +411 -0
  528. package/dist/server/online/agent/native/backend.js.map +1 -0
  529. package/dist/server/online/agent/native/execution.d.ts +41 -0
  530. package/dist/server/online/agent/native/execution.d.ts.map +1 -0
  531. package/dist/server/online/agent/native/execution.js +430 -0
  532. package/dist/server/online/agent/native/execution.js.map +1 -0
  533. package/dist/server/online/agent/native/session.d.ts +40 -0
  534. package/dist/server/online/agent/native/session.d.ts.map +1 -0
  535. package/dist/server/online/agent/native/session.js +104 -0
  536. package/dist/server/online/agent/native/session.js.map +1 -0
  537. package/dist/server/online/agent/native/types.d.ts +32 -0
  538. package/dist/server/online/agent/native/types.d.ts.map +1 -0
  539. package/dist/server/online/agent/native/types.js +2 -0
  540. package/dist/server/online/agent/native/types.js.map +1 -0
  541. package/dist/server/online/agent/persistence/manager.d.ts +16 -0
  542. package/dist/server/online/agent/persistence/manager.d.ts.map +1 -0
  543. package/dist/server/online/agent/persistence/manager.js +209 -0
  544. package/dist/server/online/agent/persistence/manager.js.map +1 -0
  545. package/dist/server/online/agent/persistence/state.d.ts +11 -0
  546. package/dist/server/online/agent/persistence/state.d.ts.map +1 -0
  547. package/dist/server/online/agent/persistence/state.js +45 -0
  548. package/dist/server/online/agent/persistence/state.js.map +1 -0
  549. package/dist/server/online/agent/persistence/store.d.ts +58 -0
  550. package/dist/server/online/agent/persistence/store.d.ts.map +1 -0
  551. package/dist/server/online/agent/persistence/store.js +634 -0
  552. package/dist/server/online/agent/persistence/store.js.map +1 -0
  553. package/dist/server/online/agent/persistence/types.d.ts +44 -0
  554. package/dist/server/online/agent/persistence/types.d.ts.map +1 -0
  555. package/dist/server/online/agent/persistence/types.js +2 -0
  556. package/dist/server/online/agent/persistence/types.js.map +1 -0
  557. package/dist/server/online/agent/runner/backend.d.ts +57 -0
  558. package/dist/server/online/agent/runner/backend.d.ts.map +1 -0
  559. package/dist/server/online/agent/runner/backend.js +501 -0
  560. package/dist/server/online/agent/runner/backend.js.map +1 -0
  561. package/dist/server/online/agent/runner/projection.d.ts +10 -0
  562. package/dist/server/online/agent/runner/projection.d.ts.map +1 -0
  563. package/dist/server/online/agent/runner/projection.js +171 -0
  564. package/dist/server/online/agent/runner/projection.js.map +1 -0
  565. package/dist/server/online/agent/runner/types.d.ts +44 -0
  566. package/dist/server/online/agent/runner/types.d.ts.map +1 -0
  567. package/dist/server/online/agent/runner/types.js +2 -0
  568. package/dist/server/online/agent/runner/types.js.map +1 -0
  569. package/dist/server/online/agent/service.d.ts +47 -0
  570. package/dist/server/online/agent/service.d.ts.map +1 -0
  571. package/dist/server/online/agent/service.js +111 -0
  572. package/dist/server/online/agent/service.js.map +1 -0
  573. package/dist/server/online/agent/transport/streams.d.ts +54 -0
  574. package/dist/server/online/agent/transport/streams.d.ts.map +1 -0
  575. package/dist/server/online/agent/transport/streams.js +440 -0
  576. package/dist/server/online/agent/transport/streams.js.map +1 -0
  577. package/dist/server/online/agent/types.d.ts +155 -0
  578. package/dist/server/online/agent/types.d.ts.map +1 -0
  579. package/dist/server/online/agent/types.js +2 -0
  580. package/dist/server/online/agent/types.js.map +1 -0
  581. package/dist/server/online/index.d.ts +0 -5
  582. package/dist/server/online/index.d.ts.map +1 -1
  583. package/dist/server/online/index.js +0 -5
  584. package/dist/server/online/index.js.map +1 -1
  585. package/dist/server/online/providers.d.ts.map +1 -1
  586. package/dist/server/online/providers.js +26 -2
  587. package/dist/server/online/providers.js.map +1 -1
  588. package/dist/server/online/routes.d.ts.map +1 -1
  589. package/dist/server/online/routes.js +6 -35
  590. package/dist/server/online/routes.js.map +1 -1
  591. package/dist/server/online/services.d.ts.map +1 -1
  592. package/dist/server/online/services.js +101 -24
  593. package/dist/server/online/services.js.map +1 -1
  594. package/dist/server/providers/agents.d.ts +18 -25
  595. package/dist/server/providers/agents.d.ts.map +1 -1
  596. package/dist/server/providers/agents.js +79 -100
  597. package/dist/server/providers/agents.js.map +1 -1
  598. package/dist/server/providers/runners.d.ts +3 -1
  599. package/dist/server/providers/runners.d.ts.map +1 -1
  600. package/dist/server/providers/runners.js +38 -9
  601. package/dist/server/providers/runners.js.map +1 -1
  602. package/dist/server/routes/admin.d.ts +4 -0
  603. package/dist/server/routes/admin.d.ts.map +1 -1
  604. package/dist/server/routes/admin.js +139 -212
  605. package/dist/server/routes/admin.js.map +1 -1
  606. package/dist/server/routes/chat.d.ts.map +1 -1
  607. package/dist/server/routes/chat.js +313 -164
  608. package/dist/server/routes/chat.js.map +1 -1
  609. package/dist/server/routes/index.d.ts.map +1 -1
  610. package/dist/server/routes/index.js +8 -0
  611. package/dist/server/routes/index.js.map +1 -1
  612. package/dist/server/routes/roster.d.ts.map +1 -1
  613. package/dist/server/routes/roster.js +6 -22
  614. package/dist/server/routes/roster.js.map +1 -1
  615. package/dist/server/routes/run-requests.js +3 -3
  616. package/dist/server/routes/run-requests.js.map +1 -1
  617. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  618. package/dist/server/routes/runners/admin.js +219 -25
  619. package/dist/server/routes/runners/admin.js.map +1 -1
  620. package/dist/server/routes/runners/install.d.ts.map +1 -1
  621. package/dist/server/routes/runners/install.js +7 -2
  622. package/dist/server/routes/runners/install.js.map +1 -1
  623. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  624. package/dist/server/routes/runners/runner.js +2 -0
  625. package/dist/server/routes/runners/runner.js.map +1 -1
  626. package/dist/server/routes/schemas.d.ts +18 -10
  627. package/dist/server/routes/schemas.d.ts.map +1 -1
  628. package/dist/server/routes/schemas.js +498 -153
  629. package/dist/server/routes/schemas.js.map +1 -1
  630. package/dist/server/runners/runner.service.d.ts +47 -4
  631. package/dist/server/runners/runner.service.d.ts.map +1 -1
  632. package/dist/server/runners/runner.service.js +423 -79
  633. package/dist/server/runners/runner.service.js.map +1 -1
  634. package/dist/server/runners/runner.store.d.ts +8 -3
  635. package/dist/server/runners/runner.store.d.ts.map +1 -1
  636. package/dist/server/runners/runner.store.js +63 -6
  637. package/dist/server/runners/runner.store.js.map +1 -1
  638. package/dist/server/runners/slots.d.ts +5 -2
  639. package/dist/server/runners/slots.d.ts.map +1 -1
  640. package/dist/server/runners/slots.js +3 -4
  641. package/dist/server/runners/slots.js.map +1 -1
  642. package/dist/server/runners/workspaces.d.ts.map +1 -1
  643. package/dist/server/runners/workspaces.js +18 -2
  644. package/dist/server/runners/workspaces.js.map +1 -1
  645. package/dist/server/testing.d.ts +0 -2
  646. package/dist/server/testing.d.ts.map +1 -1
  647. package/dist/server/testing.js +1 -4
  648. package/dist/server/testing.js.map +1 -1
  649. package/dist/server/tokens.d.ts +8 -7
  650. package/dist/server/tokens.d.ts.map +1 -1
  651. package/dist/server/tokens.js +4 -2
  652. package/dist/server/tokens.js.map +1 -1
  653. package/dist/shared/access.d.ts +2 -6
  654. package/dist/shared/access.d.ts.map +1 -1
  655. package/dist/shared/access.js +2 -6
  656. package/dist/shared/access.js.map +1 -1
  657. package/dist/shared/agents.d.ts +131 -169
  658. package/dist/shared/agents.d.ts.map +1 -1
  659. package/dist/shared/agents.js +36 -102
  660. package/dist/shared/agents.js.map +1 -1
  661. package/dist/shared/conversations.d.ts +93 -170
  662. package/dist/shared/conversations.d.ts.map +1 -1
  663. package/dist/shared/conversations.js +8 -30
  664. package/dist/shared/conversations.js.map +1 -1
  665. package/dist/shared/model-catalog.d.ts +53 -0
  666. package/dist/shared/model-catalog.d.ts.map +1 -0
  667. package/dist/shared/model-catalog.js +182 -0
  668. package/dist/shared/model-catalog.js.map +1 -0
  669. package/dist/shared/online-agent.d.ts +3 -0
  670. package/dist/shared/online-agent.d.ts.map +1 -0
  671. package/dist/shared/online-agent.js +3 -0
  672. package/dist/shared/online-agent.js.map +1 -0
  673. package/dist/shared/page-ui-context.d.ts +26 -0
  674. package/dist/shared/page-ui-context.d.ts.map +1 -0
  675. package/dist/shared/page-ui-context.js +129 -0
  676. package/dist/shared/page-ui-context.js.map +1 -0
  677. package/dist/shared/quota.d.ts +15 -0
  678. package/dist/shared/quota.d.ts.map +1 -0
  679. package/dist/shared/quota.js +2 -0
  680. package/dist/shared/quota.js.map +1 -0
  681. package/dist/shared/runners.d.ts +132 -14
  682. package/dist/shared/runners.d.ts.map +1 -1
  683. package/dist/shared/runners.js +171 -11
  684. package/dist/shared/runners.js.map +1 -1
  685. package/dist/shared/runs.d.ts +59 -1
  686. package/dist/shared/runs.d.ts.map +1 -1
  687. package/dist/shared/runs.js +28 -0
  688. package/dist/shared/runs.js.map +1 -1
  689. package/dist/shared/skills.d.ts +11 -5
  690. package/dist/shared/skills.d.ts.map +1 -1
  691. package/dist/shared/skills.js +7 -2
  692. package/dist/shared/skills.js.map +1 -1
  693. package/dist/shared/ui-message.d.ts +80 -0
  694. package/dist/shared/ui-message.d.ts.map +1 -0
  695. package/dist/shared/ui-message.js +153 -0
  696. package/dist/shared/ui-message.js.map +1 -0
  697. package/dist/shared/variables.js +1 -1
  698. package/dist/shared/variables.js.map +1 -1
  699. package/docs/ai-forms.md +346 -0
  700. package/docs/execution-history.md +19 -0
  701. package/docs/mysql-installation-upgrade.md +7 -0
  702. package/docs/runner-agents.md +27 -0
  703. package/docs/ui-message-clients.md +80 -0
  704. package/docs/ui-messages.md +209 -0
  705. package/docs/workspace-cleanup.md +13 -0
  706. package/package.json +39 -25
  707. package/skills/nocobase-app-plugin-agents/SKILL.md +16 -13
  708. package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
  709. package/skills/nocobase-app-plugin-agents/references/extension-points.md +21 -21
  710. package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
  711. package/skills/nocobase-app-plugin-agents/references/online-agent.md +216 -0
  712. package/skills/nocobase-app-plugin-agents/references/runners.md +12 -0
  713. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +6 -7
  714. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +6 -4
  715. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +29 -32
  716. package/dist/client/chat/settings-section.d.ts +0 -5
  717. package/dist/client/chat/settings-section.d.ts.map +0 -1
  718. package/dist/client/chat/settings-section.js +0 -86
  719. package/dist/client/chat/settings-section.js.map +0 -1
  720. package/dist/client/components/agent-fields.d.ts +0 -45
  721. package/dist/client/components/agent-fields.d.ts.map +0 -1
  722. package/dist/client/components/agent-fields.js +0 -83
  723. package/dist/client/components/agent-fields.js.map +0 -1
  724. package/dist/client/components/agent-type.d.ts +0 -32
  725. package/dist/client/components/agent-type.d.ts.map +0 -1
  726. package/dist/client/components/agent-type.js +0 -80
  727. package/dist/client/components/agent-type.js.map +0 -1
  728. package/dist/client/components/model-entries.d.ts +0 -44
  729. package/dist/client/components/model-entries.d.ts.map +0 -1
  730. package/dist/client/components/model-entries.js +0 -104
  731. package/dist/client/components/model-entries.js.map +0 -1
  732. package/dist/client/hooks/use-agent-save.d.ts +0 -9
  733. package/dist/client/hooks/use-agent-save.d.ts.map +0 -1
  734. package/dist/client/hooks/use-agent-save.js +0 -40
  735. package/dist/client/hooks/use-agent-save.js.map +0 -1
  736. package/dist/client/hooks/use-model-catalog.d.ts +0 -9
  737. package/dist/client/hooks/use-model-catalog.d.ts.map +0 -1
  738. package/dist/client/hooks/use-model-catalog.js +0 -27
  739. package/dist/client/hooks/use-model-catalog.js.map +0 -1
  740. package/dist/client/lib/model-suggestions.d.ts +0 -28
  741. package/dist/client/lib/model-suggestions.d.ts.map +0 -1
  742. package/dist/client/lib/model-suggestions.js +0 -44
  743. package/dist/client/lib/model-suggestions.js.map +0 -1
  744. package/dist/client/lib/tool-policy.d.ts +0 -3
  745. package/dist/client/lib/tool-policy.d.ts.map +0 -1
  746. package/dist/client/lib/tool-policy.js +0 -5
  747. package/dist/client/lib/tool-policy.js.map +0 -1
  748. package/dist/client/online/default-model.d.ts +0 -5
  749. package/dist/client/online/default-model.d.ts.map +0 -1
  750. package/dist/client/online/default-model.js +0 -65
  751. package/dist/client/online/default-model.js.map +0 -1
  752. package/dist/client/pages/agents/agent-model.d.ts +0 -69
  753. package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
  754. package/dist/client/pages/agents/agent-model.js +0 -153
  755. package/dist/client/pages/agents/agent-model.js.map +0 -1
  756. package/dist/client/pages/agents/detail/brief-preview.d.ts +0 -7
  757. package/dist/client/pages/agents/detail/brief-preview.d.ts.map +0 -1
  758. package/dist/client/pages/agents/detail/brief-preview.js +0 -43
  759. package/dist/client/pages/agents/detail/brief-preview.js.map +0 -1
  760. package/dist/client/pages/agents/detail/history.d.ts +0 -11
  761. package/dist/client/pages/agents/detail/history.d.ts.map +0 -1
  762. package/dist/client/pages/agents/detail/history.js +0 -149
  763. package/dist/client/pages/agents/detail/history.js.map +0 -1
  764. package/dist/client/pages/agents/detail/index.d.ts +0 -3
  765. package/dist/client/pages/agents/detail/index.d.ts.map +0 -1
  766. package/dist/client/pages/agents/detail/index.js +0 -241
  767. package/dist/client/pages/agents/detail/index.js.map +0 -1
  768. package/dist/client/pages/agents/detail/sections.d.ts +0 -21
  769. package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
  770. package/dist/client/pages/agents/detail/sections.js +0 -280
  771. package/dist/client/pages/agents/detail/sections.js.map +0 -1
  772. package/dist/client/pages/agents/detail/tab-draft.d.ts +0 -43
  773. package/dist/client/pages/agents/detail/tab-draft.d.ts.map +0 -1
  774. package/dist/client/pages/agents/detail/tab-draft.js +0 -115
  775. package/dist/client/pages/agents/detail/tab-draft.js.map +0 -1
  776. package/dist/client/pages/agents/detail/unsaved-bar.d.ts +0 -13
  777. package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +0 -1
  778. package/dist/client/pages/agents/detail/unsaved-bar.js +0 -21
  779. package/dist/client/pages/agents/detail/unsaved-bar.js.map +0 -1
  780. package/dist/client/pages/agents/new.d.ts +0 -3
  781. package/dist/client/pages/agents/new.d.ts.map +0 -1
  782. package/dist/client/pages/agents/new.js +0 -149
  783. package/dist/client/pages/agents/new.js.map +0 -1
  784. package/dist/client/pages/agents/preset-picker.d.ts +0 -8
  785. package/dist/client/pages/agents/preset-picker.d.ts.map +0 -1
  786. package/dist/client/pages/agents/preset-picker.js +0 -41
  787. package/dist/client/pages/agents/preset-picker.js.map +0 -1
  788. package/dist/server/core/consultations/consultation.service.d.ts +0 -59
  789. package/dist/server/core/consultations/consultation.service.d.ts.map +0 -1
  790. package/dist/server/core/consultations/consultation.service.js +0 -198
  791. package/dist/server/core/consultations/consultation.service.js.map +0 -1
  792. package/dist/server/core/consultations/index.d.ts +0 -3
  793. package/dist/server/core/consultations/index.d.ts.map +0 -1
  794. package/dist/server/core/consultations/index.js +0 -3
  795. package/dist/server/core/consultations/index.js.map +0 -1
  796. package/dist/server/core/consultations/prompt.d.ts +0 -41
  797. package/dist/server/core/consultations/prompt.d.ts.map +0 -1
  798. package/dist/server/core/consultations/prompt.js +0 -64
  799. package/dist/server/core/consultations/prompt.js.map +0 -1
  800. package/dist/server/core/presets/index.d.ts +0 -19
  801. package/dist/server/core/presets/index.d.ts.map +0 -1
  802. package/dist/server/core/presets/index.js +0 -28
  803. package/dist/server/core/presets/index.js.map +0 -1
  804. package/dist/server/online/cli-command.d.ts +0 -20
  805. package/dist/server/online/cli-command.d.ts.map +0 -1
  806. package/dist/server/online/cli-command.js +0 -345
  807. package/dist/server/online/cli-command.js.map +0 -1
  808. package/dist/server/online/consult-tool.d.ts +0 -54
  809. package/dist/server/online/consult-tool.d.ts.map +0 -1
  810. package/dist/server/online/consult-tool.js +0 -177
  811. package/dist/server/online/consult-tool.js.map +0 -1
  812. package/dist/server/online/executor.d.ts +0 -83
  813. package/dist/server/online/executor.d.ts.map +0 -1
  814. package/dist/server/online/executor.js +0 -714
  815. package/dist/server/online/executor.js.map +0 -1
  816. package/dist/server/online/sandbox.d.ts +0 -32
  817. package/dist/server/online/sandbox.d.ts.map +0 -1
  818. package/dist/server/online/sandbox.js +0 -246
  819. package/dist/server/online/sandbox.js.map +0 -1
  820. package/dist/server/online/scripted.d.ts +0 -12
  821. package/dist/server/online/scripted.d.ts.map +0 -1
  822. package/dist/server/online/scripted.js +0 -176
  823. package/dist/server/online/scripted.js.map +0 -1
  824. package/dist/server/online/tools.d.ts +0 -17
  825. package/dist/server/online/tools.d.ts.map +0 -1
  826. package/dist/server/online/tools.js +0 -31
  827. package/dist/server/online/tools.js.map +0 -1
  828. package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +0 -782
  829. package/dist/server/vendor/just-bash.d.ts +0 -83
  830. package/dist/server/vendor/just-bash.js +0 -2102
  831. package/dist/shared/presets.d.ts +0 -30
  832. package/dist/shared/presets.d.ts.map +0 -1
  833. package/dist/shared/presets.js +0 -2
  834. package/dist/shared/presets.js.map +0 -1
  835. package/skills/nocobase-app-plugin-agents/references/online-agents.md +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../shared/quota.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../shared/quota.ts"],"names":[],"mappings":""}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Runners as the browser and the server's admin API exchange them.
3
3
  */
4
+ import type { QuotaLocation } from './quota.js';
4
5
  import { type AgentTool, type RunnerFeature, type RunnerPolicy, type RunStatus, type ToolInfo, type ToolLoad, type ToolSlots, type WorkspaceDecision, type WorkspaceCleanupResult } from '@nocobase/agent-protocol';
5
- import { type AgentModelEntry } from './agents.js';
6
+ import type { RunnerModelEntry } from './agents.js';
6
7
  /**
7
8
  * `team` runs anyone's work; `ownerOnly` (shown as "personal") runs only work its owner started. A runner added by its
8
9
  * owner starts personal; the owner may share it with the team, and an administrator may add one shared from the start.
@@ -16,6 +17,11 @@ export type RunnerTrust = (typeof RUNNER_TRUST)[number];
16
17
  */
17
18
  export declare const RUNNER_STATUSES: readonly ["online", "offline", "revoked", "upgrade_required"];
18
19
  export type RunnerStatus = (typeof RUNNER_STATUSES)[number];
20
+ /**
21
+ * Optional payload support is established by capabilities, never package versions.
22
+ * Protocol 9 runners may ignore workspace.key; only its explicit declaration is evidence.
23
+ */
24
+ export declare function supportsWorkspaceKey(runner: Pick<Runner, 'features'>): boolean;
19
25
  export interface Runner {
20
26
  readonly id: string;
21
27
  readonly name: string;
@@ -54,6 +60,9 @@ export interface Runner {
54
60
  * and could take now, across every application it serves. Null or absent when it reported none (unknown: read as
55
61
  * room left).
56
62
  */
63
+ /** Last heartbeat free slots across all applications; absent before a heartbeat. */
64
+ readonly globalFree?: number;
65
+ readonly draining?: 'updatePending' | 'pruning';
57
66
  readonly toolLoad?: Readonly<Partial<Record<AgentTool, ToolLoad>>> | null;
58
67
  /**
59
68
  * Its owner (or a manager of runners) lets it take jobs: builds and other steps an application configures, run
@@ -78,12 +87,50 @@ export interface Runner {
78
87
  * reported them. Null or absent when it never reported any (a runner that does not report, or one that has not yet).
79
88
  */
80
89
  readonly workspaceUsage?: RunnerWorkspaceUsage | null;
90
+ /**
91
+ * The tools and models a run failed `modelUnavailable` with here: not offered here until the runner reports that
92
+ * tool's models differently. Null or absent for none.
93
+ */
94
+ readonly unavailableModels?: readonly UnavailableModel[] | null;
95
+ readonly quotaRevision: number;
96
+ readonly quotaUsage?: readonly RunnerQuotaUsage[] | null;
81
97
  readonly lastSeenAt: string | null;
82
98
  readonly createdAt: string;
83
99
  readonly updatedAt: string;
84
100
  }
101
+ export interface RunnerQuotaUsage {
102
+ readonly tool: AgentTool;
103
+ readonly window: string;
104
+ readonly scope: 'tool' | 'provider' | 'model';
105
+ readonly target: string;
106
+ readonly usedPercent?: number;
107
+ readonly resetsAt: string | null;
108
+ readonly observedAt: string;
109
+ /** Whether this observation exhausted its window. */
110
+ readonly exhausted?: boolean;
111
+ }
112
+ /** Active quota blocks for a candidate; default models still obey tool blocks. */
113
+ export declare function quotaBlocks(runner: Pick<Runner, 'unavailableModels'>, entry: Pick<RunnerModelEntry, 'tool' | 'model'>, now: number): UnavailableModel[];
114
+ /** A tool and model a run failed `modelUnavailable` with on a runner (`Runner.unavailableModels`). */
115
+ export interface UnavailableModel {
116
+ readonly reason?: 'modelUnavailable' | 'toolQuota';
117
+ readonly scope?: 'tool' | 'provider' | 'model';
118
+ readonly window?: string;
119
+ readonly resetsAt?: string | null;
120
+ readonly tool: AgentTool;
121
+ /** Normalized (`normalizeModel`). */
122
+ readonly model: string;
123
+ readonly at: string;
124
+ /** The tool's models as the runner reported them then, normalized: a different report lifts the mark. */
125
+ readonly reported: readonly string[];
126
+ }
85
127
  /** A runner's working directories, as it last reported them (`Runner.workspaceUsage`). */
86
128
  export interface RunnerWorkspaceUsage {
129
+ /** Computed from reported directory sizes; not a new runner protocol field. */
130
+ readonly totalBytes?: number;
131
+ readonly sizeUnknownCount?: number;
132
+ readonly counts?: Readonly<Record<'all' | 'active' | 'retained' | 'ended', number>>;
133
+ readonly diskMeasuredAt?: string;
87
134
  readonly intervalMs?: number;
88
135
  /** The disk holding the runner's working directories; null when it did not say. */
89
136
  readonly disk: RunnerWorkspaceDisk | null;
@@ -91,8 +138,8 @@ export interface RunnerWorkspaceUsage {
91
138
  readonly count: number;
92
139
  /** How many of those hold work that was never pushed, and are never removed on the application's word. */
93
140
  readonly unpushedCount: number;
94
- /** When it reported them. */
95
- readonly measuredAt: string;
141
+ /** When directories were collected; null until the first directory report. */
142
+ readonly measuredAt: string | null;
96
143
  /** This application's, most recently used first. */
97
144
  readonly workspaces: readonly RunnerWorkspace[];
98
145
  }
@@ -105,6 +152,8 @@ export interface RunnerWorkspaceDisk {
105
152
  }
106
153
  /** One working directory a runner keeps for this application. */
107
154
  export interface RunnerWorkspace {
155
+ readonly subjectKey?: string;
156
+ readonly sizeBytes?: number;
108
157
  readonly decision?: WorkspaceDecision;
109
158
  readonly cleanup?: WorkspaceCleanupResult;
110
159
  /** The last run that worked in it. */
@@ -120,6 +169,8 @@ export interface RunnerWorkspace {
120
169
  /** The subject's work is over (it may be removed), goes on, or cannot be told (null). */
121
170
  readonly settled: boolean | null;
122
171
  }
172
+ /** A directory's display category; subject completion alone does not mean it can be removed. */
173
+ export declare function workspaceCategory(workspace: RunnerWorkspace): 'active' | 'retained' | 'ended';
123
174
  /** What a runner takes work for, as the kind of work it serves names it: an agent, for agent runs. */
124
175
  export interface RunnerWorkTarget {
125
176
  readonly id: string;
@@ -138,6 +189,8 @@ export interface RunnerHeldItem {
138
189
  }
139
190
  /** One of a runner's latest runs, for its page. */
140
191
  export interface RunnerRecentRun {
192
+ readonly subjectLabel?: string | null;
193
+ readonly failureReason?: string | null;
141
194
  readonly id: string;
142
195
  /** The agent that ran. */
143
196
  readonly title: string;
@@ -153,7 +206,7 @@ export interface RunnerRecentRun {
153
206
  * executable paths) is shown only to its owner, the managers of runners and anyone who may wake an agent: `hostname`
154
207
  * is null and the tools carry no `path` for everyone else.
155
208
  */
156
- export interface RunnerSummary extends Omit<Runner, 'hostname'> {
209
+ export interface RunnerSummary extends Omit<Runner, 'hostname' | 'quotaRevision'> {
157
210
  readonly canSeeMachine?: boolean;
158
211
  /** Null when the viewer may not manage it. */
159
212
  readonly hostname: string | null;
@@ -180,6 +233,9 @@ export interface RunnerSummary extends Omit<Runner, 'hostname'> {
180
233
  readonly canChangeTrust: boolean;
181
234
  /** The viewer may revoke it, and delete it once revoked: its owner, or a manager of runners in an emergency. */
182
235
  readonly canRevoke: boolean;
236
+ readonly canClearQuota: boolean;
237
+ /** Count of the recent (at most ten) run rows, without loading their details. */
238
+ readonly recentRunsCount: number;
183
239
  /**
184
240
  * A newer runner version the application serves for its platform, which the runner installs on its own between
185
241
  * runs; null when it is up to date or the application serves none.
@@ -196,6 +252,49 @@ export interface RunnerSummary extends Omit<Runner, 'hostname'> {
196
252
  */
197
253
  readonly offersJobs: boolean;
198
254
  }
255
+ /** The list carries totals only; fetch a single runner for directory diagnostics. */
256
+ export declare const RUNNER_LIST_FIELDS: {
257
+ readonly id: true;
258
+ readonly name: true;
259
+ readonly hostname: true;
260
+ readonly os: true;
261
+ readonly arch: true;
262
+ readonly version: true;
263
+ readonly product: true;
264
+ readonly tools: true;
265
+ readonly enabledTools: true;
266
+ readonly trust: true;
267
+ readonly ownerUserId: true;
268
+ readonly ownerName: true;
269
+ readonly status: true;
270
+ readonly slots: true;
271
+ readonly toolSlots: true;
272
+ readonly activeRuns: true;
273
+ readonly activeJobs: true;
274
+ readonly activeByTool: true;
275
+ readonly lastSeenAt: true;
276
+ readonly draining: true;
277
+ readonly canManage: true;
278
+ readonly canChangeTrust: true;
279
+ readonly canRevoke: true;
280
+ readonly takes: true;
281
+ readonly updateVersion: true;
282
+ };
283
+ export interface RunnerListItem extends Pick<RunnerSummary, keyof typeof RUNNER_LIST_FIELDS> {
284
+ readonly takesCount: number;
285
+ readonly workspaceUsage?: Omit<RunnerWorkspaceUsage, 'workspaces'> | null;
286
+ }
287
+ /** The single public runtime-list projection; schema and type use the same field set. */
288
+ export declare function runnerListItem(summary: Omit<RunnerSummary, 'recentRunsCount'>): RunnerListItem;
289
+ export interface RunnerWorkspacePage {
290
+ readonly data: readonly RunnerWorkspace[];
291
+ readonly meta: {
292
+ readonly total: number;
293
+ readonly page: number;
294
+ readonly pageSize: number;
295
+ readonly usage: Omit<RunnerWorkspaceUsage, 'workspaces'> | null;
296
+ };
297
+ }
199
298
  /** What people change about a runner after it registered. */
200
299
  export interface RunnerPatch {
201
300
  readonly name?: string;
@@ -234,6 +333,11 @@ export interface RegistrationToken {
234
333
  readonly toolSlots?: ToolSlots | null;
235
334
  readonly expiresAt: string;
236
335
  }
336
+ /** Usable token metadata; the secret and its hash are never returned by a list. */
337
+ export interface RegistrationTokenSummary extends Omit<RegistrationToken, 'token'> {
338
+ readonly createdById: string | null;
339
+ readonly createdAt: string;
340
+ }
237
341
  /**
238
342
  * A short-lived token that lets the install script download the `acme` CLI for one platform (the one its first
239
343
  * download names) and nothing else; `token` is shown only in this answer. It registers no runner.
@@ -248,6 +352,16 @@ export interface DownloadToken {
248
352
  export declare function toolEnabled(runner: Pick<Runner, 'enabledTools'>, tool: AgentTool): boolean;
249
353
  /** Whether `runner` can run `tool`'s work: it is enabled there, installed and signed in. */
250
354
  export declare function runsTool(runner: Pick<Runner, 'enabledTools' | 'tools'>, tool: AgentTool): boolean;
355
+ /**
356
+ * The models a runner reports for `tool`, normalized and each once, when the tool is enabled there and signed in;
357
+ * empty otherwise, and when the runner reported no models.
358
+ */
359
+ export declare function reportedModels(runner: Pick<Runner, 'enabledTools' | 'tools'>, tool: AgentTool): string[];
360
+ /**
361
+ * Whether `runner` can run `entry`: its tool enabled, installed and signed in, and, for an entry naming a model, the
362
+ * model among those the runner reports for the tool and not marked unavailable there (`unavailableModels`).
363
+ */
364
+ export declare function runsEntry(runner: Pick<Runner, 'enabledTools' | 'tools' | 'unavailableModels'>, entry: Pick<RunnerModelEntry, 'tool' | 'model'>, now: number): boolean;
251
365
  /** The job kinds a runner reports it executes (`jobs.<kind>` features). */
252
366
  export declare function jobKindsOf(runner: Pick<Runner, 'features'>): string[];
253
367
  /** The state of one of a runner's coding tools, as a page shows it. */
@@ -264,8 +378,8 @@ export declare function listedTools(runner: Pick<Runner, 'tools'>): AgentTool[];
264
378
  * How a runner reads at a glance: `busy` is online with every slot taken. Revoked and upgrade-required runners take
265
379
  * no work whatever their slots say.
266
380
  */
267
- export type RunnerActivity = 'online' | 'busy' | 'offline' | 'revoked' | 'upgrade_required';
268
- export declare function runnerActivity(runner: Pick<RunnerSummary, 'status' | 'slots' | 'activeRuns' | 'activeJobs'>): RunnerActivity;
381
+ export type RunnerActivity = 'online' | 'busy' | 'low_disk' | 'offline' | 'revoked' | 'upgrade_required' | 'updatePending' | 'pruning';
382
+ export declare function runnerActivity(runner: Pick<RunnerListItem, 'status' | 'slots' | 'activeRuns' | 'activeJobs' | 'workspaceUsage' | 'draining'>): RunnerActivity;
269
383
  /** How many runs of `tool` the runner may hold at once: its limit for the tool, never above its total slots. */
270
384
  export declare function toolLimit(runner: Pick<Runner, 'slots' | 'toolSlots'>, tool: AgentTool): number;
271
385
  /** One coding tool's use of a runner's slots, as a page shows it. */
@@ -287,15 +401,19 @@ export declare function toolUsage(runner: Pick<RunnerSummary, 'slots' | 'toolSlo
287
401
  export interface RunnerAgentFit {
288
402
  readonly id: string;
289
403
  readonly name: string;
290
- /** Runner agents list their coding tools; online agents' entries name none, and never run on a runner. */
291
- readonly modelEntries: readonly AgentModelEntry[];
292
- /** The runners it is limited to; empty for any runner that fits. */
293
- readonly runnerIds: readonly string[];
404
+ /** Its coding tools and models, in order. */
405
+ readonly modelEntries: readonly RunnerModelEntry[];
294
406
  }
295
407
  /**
296
- * Whether `runner` may take `agent`'s runs, by what people configured and what it reported: the agent is not limited
297
- * to other runners, one of its tools is enabled, installed and signed in here, and the owner's local policy lets it in. Whether
298
- * the runner is online right now is left to the caller.
408
+ * Whether `runner` may take `agent`'s runs, by what it reported: one of the agent's tools and models is enabled, signed
409
+ * in and reported here (`runsEntry`), and the owner's local policy lets it in. Whether the runner is online right now is
410
+ * left to the caller.
299
411
  */
300
- export declare function runnerTakesAgent(runner: Pick<Runner, 'id' | 'enabledTools' | 'tools' | 'policy'>, agent: RunnerAgentFit): boolean;
412
+ /** Shared by admission, availability and the page; does not affect existing leases. */
413
+ export declare function runnerLowOnDisk(runner: Pick<RunnerListItem, 'workspaceUsage'>): boolean;
414
+ export declare function runnerTakesAgent(runner: Pick<Runner, 'id' | 'enabledTools' | 'tools' | 'policy' | 'unavailableModels' | 'workspaceUsage'>, agent: RunnerAgentFit, now: number): boolean;
415
+ /** Quota information for runtimes that otherwise fit; unrelated personal machines stay private. */
416
+ export declare function quotaForAgent(runners: readonly Runner[], agent: RunnerAgentFit, actorUserId: string | undefined, now: number): QuotaLocation[];
417
+ /** Reuse the directory snapshot already read for detail; list reads keep their small JSON projection. */
418
+ export declare function workspaceSummary(usage: RunnerWorkspaceUsage): RunnerWorkspaceUsage;
301
419
  //# sourceMappingURL=runners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../shared/runners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runners.d.ts","sourceRoot":"","sources":["../../shared/runners.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,5 @@
1
- /**
2
- * Runners as the browser and the server's admin API exchange them.
3
- */
4
1
  import { AGENT_TOOLS, policyAllowsAgent, } from '@nocobase/agent-protocol';
5
- import { entryTools } from './agents.js';
2
+ import { normalizeModel } from './model-catalog.js';
6
3
  /**
7
4
  * `team` runs anyone's work; `ownerOnly` (shown as "personal") runs only work its owner started. A runner added by its
8
5
  * owner starts personal; the owner may share it with the team, and an administrator may add one shared from the start.
@@ -19,6 +16,84 @@ export const RUNNER_STATUSES = [
19
16
  'revoked',
20
17
  'upgrade_required',
21
18
  ];
19
+ /**
20
+ * Optional payload support is established by capabilities, never package versions.
21
+ * Protocol 9 runners may ignore workspace.key; only its explicit declaration is evidence.
22
+ */
23
+ export function supportsWorkspaceKey(runner) {
24
+ return runner.features.includes('workspaceKey');
25
+ }
26
+ /** Active quota blocks for a candidate; default models still obey tool blocks. */
27
+ export function quotaBlocks(runner, entry, now) {
28
+ const model = entry.model ? normalizeModel(entry.tool, entry.model) : '';
29
+ return (runner.unavailableModels ?? []).filter((mark) => mark.reason === 'toolQuota' &&
30
+ mark.tool === entry.tool &&
31
+ (!mark.resetsAt || Date.parse(mark.resetsAt) > now) &&
32
+ (mark.scope === 'tool' ||
33
+ (model !== '' &&
34
+ (mark.scope === 'provider'
35
+ ? model.split('/')[0] === mark.model
36
+ : model === mark.model))));
37
+ }
38
+ /** A directory's display category; subject completion alone does not mean it can be removed. */
39
+ export function workspaceCategory(workspace) {
40
+ if (workspace.settled === false)
41
+ return 'active';
42
+ if (workspace.settled === true &&
43
+ !workspace.unpushed &&
44
+ (!workspace.cleanup || workspace.cleanup.reason === 'allowed'))
45
+ return 'ended';
46
+ return 'retained';
47
+ }
48
+ /** The list carries totals only; fetch a single runner for directory diagnostics. */
49
+ export const RUNNER_LIST_FIELDS = {
50
+ id: true,
51
+ name: true,
52
+ hostname: true,
53
+ os: true,
54
+ arch: true,
55
+ version: true,
56
+ product: true,
57
+ tools: true,
58
+ enabledTools: true,
59
+ trust: true,
60
+ ownerUserId: true,
61
+ ownerName: true,
62
+ status: true,
63
+ slots: true,
64
+ toolSlots: true,
65
+ activeRuns: true,
66
+ activeJobs: true,
67
+ activeByTool: true,
68
+ lastSeenAt: true,
69
+ draining: true,
70
+ canManage: true,
71
+ canChangeTrust: true,
72
+ canRevoke: true,
73
+ takes: true,
74
+ updateVersion: true,
75
+ };
76
+ /** The single public runtime-list projection; schema and type use the same field set. */
77
+ export function runnerListItem(summary) {
78
+ const selected = Object.fromEntries(Object.keys(RUNNER_LIST_FIELDS).map((key) => [
79
+ key,
80
+ summary[key],
81
+ ]));
82
+ const totals = summary.workspaceUsage
83
+ ? (({ workspaces: _rows, ...rest }) => rest)(summary.workspaceUsage)
84
+ : null;
85
+ return {
86
+ ...selected,
87
+ tools: summary.tools.map(({ kind, version, authenticated }) => ({
88
+ kind,
89
+ version,
90
+ authenticated,
91
+ })),
92
+ takes: summary.takes.slice(0, 3),
93
+ takesCount: summary.takes.length,
94
+ workspaceUsage: summary.workspaceUsage ? totals : null,
95
+ };
96
+ }
22
97
  /** Whether people let `runner` run `tool` (whether it is installed and signed in is another matter). */
23
98
  export function toolEnabled(runner, tool) {
24
99
  return runner.enabledTools === null || runner.enabledTools.includes(tool);
@@ -28,6 +103,34 @@ export function runsTool(runner, tool) {
28
103
  return (toolEnabled(runner, tool) &&
29
104
  runner.tools.some((item) => item.kind === tool && item.authenticated));
30
105
  }
106
+ /**
107
+ * The models a runner reports for `tool`, normalized and each once, when the tool is enabled there and signed in;
108
+ * empty otherwise, and when the runner reported no models.
109
+ */
110
+ export function reportedModels(runner, tool) {
111
+ if (!runsTool(runner, tool))
112
+ return [];
113
+ const info = runner.tools.find((item) => item.kind === tool && item.authenticated);
114
+ return [
115
+ ...new Set((info?.models ?? []).map((model) => normalizeModel(tool, model.id))),
116
+ ];
117
+ }
118
+ /**
119
+ * Whether `runner` can run `entry`: its tool enabled, installed and signed in, and, for an entry naming a model, the
120
+ * model among those the runner reports for the tool and not marked unavailable there (`unavailableModels`).
121
+ */
122
+ export function runsEntry(runner, entry, now) {
123
+ if (!runsTool(runner, entry.tool) ||
124
+ quotaBlocks(runner, entry, now).length > 0)
125
+ return false;
126
+ if (!entry.model)
127
+ return true;
128
+ const model = normalizeModel(entry.tool, entry.model);
129
+ return (reportedModels(runner, entry.tool).includes(model) &&
130
+ !(runner.unavailableModels ?? []).some((mark) => mark.reason !== 'toolQuota' &&
131
+ mark.tool === entry.tool &&
132
+ mark.model === model));
133
+ }
31
134
  /** The job kinds a runner reports it executes (`jobs.<kind>` features). */
32
135
  export function jobKindsOf(runner) {
33
136
  return runner.features
@@ -54,6 +157,10 @@ export function listedTools(runner) {
54
157
  export function runnerActivity(runner) {
55
158
  if (runner.status !== 'online')
56
159
  return runner.status;
160
+ if (runner.draining)
161
+ return runner.draining;
162
+ if (runnerLowOnDisk(runner))
163
+ return 'low_disk';
57
164
  return runner.activeRuns + runner.activeJobs >= runner.slots
58
165
  ? 'busy'
59
166
  : 'online';
@@ -77,14 +184,67 @@ export function toolUsage(runner) {
77
184
  });
78
185
  }
79
186
  /**
80
- * Whether `runner` may take `agent`'s runs, by what people configured and what it reported: the agent is not limited
81
- * to other runners, one of its tools is enabled, installed and signed in here, and the owner's local policy lets it in. Whether
82
- * the runner is online right now is left to the caller.
187
+ * Whether `runner` may take `agent`'s runs, by what it reported: one of the agent's tools and models is enabled, signed
188
+ * in and reported here (`runsEntry`), and the owner's local policy lets it in. Whether the runner is online right now is
189
+ * left to the caller.
83
190
  */
84
- export function runnerTakesAgent(runner, agent) {
85
- if (agent.runnerIds.length > 0 && !agent.runnerIds.includes(runner.id))
86
- return false;
87
- return (entryTools(agent).some((tool) => runsTool(runner, tool)) &&
191
+ /** Shared by admission, availability and the page; does not affect existing leases. */
192
+ export function runnerLowOnDisk(runner) {
193
+ const disk = runner.workspaceUsage?.disk;
194
+ return (disk != null &&
195
+ disk.minFreeBytes !== null &&
196
+ disk.freeBytes < disk.minFreeBytes);
197
+ }
198
+ export function runnerTakesAgent(runner, agent, now) {
199
+ return (!runnerLowOnDisk(runner) &&
200
+ agent.modelEntries.some((entry) => runsEntry(runner, entry, now)) &&
88
201
  policyAllowsAgent(runner.policy, agent));
89
202
  }
203
+ /** Quota information for runtimes that otherwise fit; unrelated personal machines stay private. */
204
+ export function quotaForAgent(runners, agent, actorUserId, now) {
205
+ return runners.flatMap((runner) => {
206
+ if (!(runner.unavailableModels ?? []).some((mark) => mark.reason === 'toolQuota' &&
207
+ (!mark.resetsAt || Date.parse(mark.resetsAt) > now)))
208
+ return [];
209
+ if (runner.trust !== 'team' &&
210
+ actorUserId !== undefined &&
211
+ runner.ownerUserId !== actorUserId)
212
+ return [];
213
+ const compatible = {
214
+ ...runner,
215
+ unavailableModels: (runner.unavailableModels ?? []).filter((mark) => mark.reason !== 'toolQuota'),
216
+ };
217
+ if (!runnerTakesAgent(compatible, agent, now))
218
+ return [];
219
+ const blocks = agent.modelEntries
220
+ .filter((entry) => runsEntry(compatible, entry, now))
221
+ .map((entry) => quotaBlocks(runner, entry, now));
222
+ if (blocks.some((list) => !list.length))
223
+ return [];
224
+ const resets = blocks.map((list) => list.some((mark) => !mark.resetsAt)
225
+ ? null
226
+ : new Date(Math.max(...list.map((mark) => Date.parse(mark.resetsAt)))).toISOString());
227
+ return [
228
+ {
229
+ runnerId: runner.id,
230
+ runnerName: runner.name,
231
+ resetsAt: resets.filter((reset) => reset !== null).sort()[0] ??
232
+ null,
233
+ },
234
+ ];
235
+ });
236
+ }
237
+ /** Reuse the directory snapshot already read for detail; list reads keep their small JSON projection. */
238
+ export function workspaceSummary(usage) {
239
+ const counts = { all: usage.count, active: 0, retained: 0, ended: 0 };
240
+ let totalBytes = 0, sizeUnknownCount = 0;
241
+ for (const workspace of usage.workspaces) {
242
+ counts[workspaceCategory(workspace)]++;
243
+ if (workspace.sizeBytes === undefined)
244
+ sizeUnknownCount++;
245
+ else
246
+ totalBytes += workspace.sizeBytes;
247
+ }
248
+ return { ...usage, totalBytes, sizeUnknownCount, counts };
249
+ }
90
250
  //# sourceMappingURL=runners.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runners.js","sourceRoot":"","sources":["../../shared/runners.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,WAAW,EACX,iBAAiB,GAUlB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,UAAU,EAAwB,MAAM,aAAa,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,WAAW,CAAU,CAAC;AAI3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ;IACR,SAAS;IACT,SAAS;IACT,kBAAkB;CACV,CAAC;AAiPX,wGAAwG;AACxG,MAAM,UAAU,WAAW,CACzB,MAAoC,EACpC,IAAe;IAEf,OAAO,MAAM,CAAC,YAAY,KAAK,IAAI,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5E,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,QAAQ,CACtB,MAA8C,EAC9C,IAAe;IAEf,OAAO,CACL,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,MAAgC;IACzD,OAAO,MAAM,CAAC,QAAQ;SACnB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAChD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AACrD,CAAC;AAKD,uGAAuG;AACvG,MAAM,UAAU,SAAS,CACvB,MAA8C,EAC9C,IAAe;IAEf,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,cAAc,CAAC;IACjC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,MAA6B;IACvD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAChD,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,cAAc,CAC5B,MAA6E;IAE7E,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrD,OAAO,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK;QAC1D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,SAAS,CACvB,MAA2C,EAC3C,IAAe;IAEf,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,SAAS,CACvB,MAAmE;IAEnE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QACvD,OAAO,OAAO,IAAI,IAAI,GAAG,CAAC;YACxB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;YAC3D,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAYD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAgE,EAChE,KAAqB;IAErB,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,OAAO,CACL,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runners.js","sourceRoot":"","sources":["../../shared/runners.ts"],"names":[],"mappings":"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"}