@nocobase/app-plugin-agents 0.1.0-beta.1 → 0.1.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/CHANGELOG.md +355 -0
  2. package/README.md +107 -67
  3. package/dist/client/api/client.d.ts +25 -17
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +29 -27
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/keys.d.ts +1 -1
  8. package/dist/client/api/keys.d.ts.map +1 -1
  9. package/dist/client/api/keys.js +1 -1
  10. package/dist/client/api/keys.js.map +1 -1
  11. package/dist/client/chat/api.d.ts +2 -7
  12. package/dist/client/chat/api.d.ts.map +1 -1
  13. package/dist/client/chat/api.js +0 -7
  14. package/dist/client/chat/api.js.map +1 -1
  15. package/dist/client/chat/consultation-identity.d.ts +7 -0
  16. package/dist/client/chat/consultation-identity.d.ts.map +1 -0
  17. package/dist/client/chat/consultation-identity.js +39 -0
  18. package/dist/client/chat/consultation-identity.js.map +1 -0
  19. package/dist/client/chat/message-model.d.ts +4 -2
  20. package/dist/client/chat/message-model.d.ts.map +1 -1
  21. package/dist/client/chat/message-model.js +28 -3
  22. package/dist/client/chat/message-model.js.map +1 -1
  23. package/dist/client/chat/use-chat.d.ts +2 -10
  24. package/dist/client/chat/use-chat.d.ts.map +1 -1
  25. package/dist/client/chat/use-chat.js +3 -10
  26. package/dist/client/chat/use-chat.js.map +1 -1
  27. package/dist/client/chat.d.ts +4 -1
  28. package/dist/client/chat.d.ts.map +1 -1
  29. package/dist/client/chat.js +3 -0
  30. package/dist/client/chat.js.map +1 -1
  31. package/dist/client/components/agent-picker.d.ts +6 -23
  32. package/dist/client/components/agent-picker.d.ts.map +1 -1
  33. package/dist/client/components/agent-picker.js +19 -39
  34. package/dist/client/components/agent-picker.js.map +1 -1
  35. package/dist/client/components/variables/variable-dialogs.d.ts +6 -1
  36. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -1
  37. package/dist/client/components/variables/variable-dialogs.js +27 -11
  38. package/dist/client/components/variables/variable-dialogs.js.map +1 -1
  39. package/dist/client/components/variables/variables-panel.d.ts.map +1 -1
  40. package/dist/client/components/variables/variables-panel.js +9 -2
  41. package/dist/client/components/variables/variables-panel.js.map +1 -1
  42. package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -1
  43. package/dist/client/hooks/use-agent-picker-labels.js +3 -12
  44. package/dist/client/hooks/use-agent-picker-labels.js.map +1 -1
  45. package/dist/client/kit.d.ts +9 -12
  46. package/dist/client/kit.d.ts.map +1 -1
  47. package/dist/client/kit.js +12 -14
  48. package/dist/client/kit.js.map +1 -1
  49. package/dist/client/lib/agents.d.ts +5 -13
  50. package/dist/client/lib/agents.d.ts.map +1 -1
  51. package/dist/client/lib/agents.js +17 -32
  52. package/dist/client/lib/agents.js.map +1 -1
  53. package/dist/client/lib/install.js +1 -1
  54. package/dist/client/locales/chat.en-US.d.ts +9 -22
  55. package/dist/client/locales/chat.en-US.d.ts.map +1 -1
  56. package/dist/client/locales/chat.en-US.js +13 -25
  57. package/dist/client/locales/chat.en-US.js.map +1 -1
  58. package/dist/client/locales/chat.zh-CN.d.ts.map +1 -1
  59. package/dist/client/locales/chat.zh-CN.js +10 -22
  60. package/dist/client/locales/chat.zh-CN.js.map +1 -1
  61. package/dist/client/locales/en-US.d.ts +100 -219
  62. package/dist/client/locales/en-US.d.ts.map +1 -1
  63. package/dist/client/locales/en-US.js +105 -219
  64. package/dist/client/locales/en-US.js.map +1 -1
  65. package/dist/client/locales/runWait.en-US.d.ts +38 -0
  66. package/dist/client/locales/runWait.en-US.d.ts.map +1 -0
  67. package/dist/client/locales/runWait.en-US.js +37 -0
  68. package/dist/client/locales/runWait.en-US.js.map +1 -0
  69. package/dist/client/locales/runWait.zh-CN.d.ts +5 -0
  70. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -0
  71. package/dist/client/locales/runWait.zh-CN.js +32 -0
  72. package/dist/client/locales/runWait.zh-CN.js.map +1 -0
  73. package/dist/client/locales/runtimes.en-US.d.ts +55 -0
  74. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  75. package/dist/client/locales/runtimes.en-US.js +58 -3
  76. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  77. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  78. package/dist/client/locales/runtimes.zh-CN.js +58 -3
  79. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  80. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  81. package/dist/client/locales/zh-CN.js +107 -221
  82. package/dist/client/locales/zh-CN.js.map +1 -1
  83. package/dist/client/online/services.d.ts.map +1 -1
  84. package/dist/client/online/services.js +5 -6
  85. package/dist/client/online/services.js.map +1 -1
  86. package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
  87. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
  88. package/dist/client/pages/agents/agent-dialog.js +106 -0
  89. package/dist/client/pages/agents/agent-dialog.js.map +1 -0
  90. package/dist/client/pages/agents/agent-state.d.ts +11 -0
  91. package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
  92. package/dist/client/pages/agents/agent-state.js +28 -0
  93. package/dist/client/pages/agents/agent-state.js.map +1 -0
  94. package/dist/client/pages/agents/index.d.ts +1 -1
  95. package/dist/client/pages/agents/index.d.ts.map +1 -1
  96. package/dist/client/pages/agents/index.js +6 -100
  97. package/dist/client/pages/agents/index.js.map +1 -1
  98. package/dist/client/pages/agents/runner-agents.d.ts +3 -0
  99. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
  100. package/dist/client/pages/agents/runner-agents.js +172 -0
  101. package/dist/client/pages/agents/runner-agents.js.map +1 -0
  102. package/dist/client/pages/runtimes/connect.js +1 -1
  103. package/dist/client/pages/runtimes/connect.js.map +1 -1
  104. package/dist/client/pages/runtimes/index.d.ts.map +1 -1
  105. package/dist/client/pages/runtimes/index.js +3 -2
  106. package/dist/client/pages/runtimes/index.js.map +1 -1
  107. package/dist/client/pages/runtimes/runner-cells.d.ts +1 -1
  108. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  109. package/dist/client/pages/runtimes/runner-cells.js +4 -1
  110. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  111. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -1
  112. package/dist/client/pages/runtimes/runner-sheet.js +12 -3
  113. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  114. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +9 -0
  115. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -0
  116. package/dist/client/pages/runtimes/workspace-diagnostics.js +70 -0
  117. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -0
  118. package/dist/client/pages/usage/index.js +2 -2
  119. package/dist/client/pages/usage/index.js.map +1 -1
  120. package/dist/client/profile/default-agent.d.ts.map +1 -1
  121. package/dist/client/profile/default-agent.js +2 -4
  122. package/dist/client/profile/default-agent.js.map +1 -1
  123. package/dist/client/routes.d.ts +1 -1
  124. package/dist/client/routes.d.ts.map +1 -1
  125. package/dist/client/routes.js +1 -13
  126. package/dist/client/routes.js.map +1 -1
  127. package/dist/client/runs/format-wait.d.ts +21 -0
  128. package/dist/client/runs/format-wait.d.ts.map +1 -0
  129. package/dist/client/runs/format-wait.js +90 -0
  130. package/dist/client/runs/format-wait.js.map +1 -0
  131. package/dist/client/runs/subject-runs.d.ts +5 -0
  132. package/dist/client/runs/subject-runs.d.ts.map +1 -1
  133. package/dist/client/runs/subject-runs.js +13 -7
  134. package/dist/client/runs/subject-runs.js.map +1 -1
  135. package/dist/client/runs.d.ts +3 -1
  136. package/dist/client/runs.d.ts.map +1 -1
  137. package/dist/client/runs.js +3 -1
  138. package/dist/client/runs.js.map +1 -1
  139. package/dist/database/migrations/.manifest.json +48 -0
  140. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts +9 -0
  141. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts.map +1 -0
  142. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js +28 -0
  143. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js.map +1 -0
  144. package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts +10 -0
  145. package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts.map +1 -0
  146. package/dist/database/migrations/202610090002_ag_create_run_requests.js +105 -0
  147. package/dist/database/migrations/202610090002_ag_create_run_requests.js.map +1 -0
  148. package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts +4 -0
  149. package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts.map +1 -0
  150. package/dist/database/migrations/202610090003_ag_add_execution_history.js +17 -0
  151. package/dist/database/migrations/202610090003_ag_add_execution_history.js.map +1 -0
  152. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts +9 -0
  153. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts.map +1 -0
  154. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js +22 -0
  155. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js.map +1 -0
  156. package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts +10 -0
  157. package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts.map +1 -0
  158. package/dist/database/migrations/202610090005_ag_add_runner_variables.js +36 -0
  159. package/dist/database/migrations/202610090005_ag_add_runner_variables.js.map +1 -0
  160. package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts +4 -0
  161. package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts.map +1 -0
  162. package/dist/database/migrations/202610100001_ag_index_run_event_types.js +17 -0
  163. package/dist/database/migrations/202610100001_ag_index_run_event_types.js.map +1 -0
  164. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts +9 -0
  165. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts.map +1 -0
  166. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js +30 -0
  167. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js.map +1 -0
  168. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts +4 -0
  169. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts.map +1 -0
  170. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js +23 -0
  171. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js.map +1 -0
  172. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts +4 -0
  173. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts.map +1 -0
  174. package/dist/database/migrations/202610120001_ag_index_run_retries.js +17 -0
  175. package/dist/database/migrations/202610120001_ag_index_run_retries.js.map +1 -0
  176. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
  177. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
  178. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
  179. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
  180. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
  181. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
  182. package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
  183. package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
  184. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
  185. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
  186. package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
  187. package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
  188. package/dist/package.json +8 -10
  189. package/dist/server/cli/run-credential.js +1 -1
  190. package/dist/server/composition.d.ts +39 -37
  191. package/dist/server/composition.d.ts.map +1 -1
  192. package/dist/server/composition.js +53 -65
  193. package/dist/server/composition.js.map +1 -1
  194. package/dist/server/core/agents/agent.service.d.ts +51 -43
  195. package/dist/server/core/agents/agent.service.d.ts.map +1 -1
  196. package/dist/server/core/agents/agent.service.js +342 -317
  197. package/dist/server/core/agents/agent.service.js.map +1 -1
  198. package/dist/server/core/agents/agent.store.d.ts +24 -12
  199. package/dist/server/core/agents/agent.store.d.ts.map +1 -1
  200. package/dist/server/core/agents/agent.store.js +65 -64
  201. package/dist/server/core/agents/agent.store.js.map +1 -1
  202. package/dist/server/core/agents/agent.views.d.ts +29 -0
  203. package/dist/server/core/agents/agent.views.d.ts.map +1 -0
  204. package/dist/server/core/agents/agent.views.js +86 -0
  205. package/dist/server/core/agents/agent.views.js.map +1 -0
  206. package/dist/server/core/agents/discovery.d.ts +12 -0
  207. package/dist/server/core/agents/discovery.d.ts.map +1 -0
  208. package/dist/server/core/agents/discovery.js +39 -0
  209. package/dist/server/core/agents/discovery.js.map +1 -0
  210. package/dist/server/core/agents/index.d.ts +2 -1
  211. package/dist/server/core/agents/index.d.ts.map +1 -1
  212. package/dist/server/core/agents/index.js +2 -1
  213. package/dist/server/core/agents/index.js.map +1 -1
  214. package/dist/server/core/brief/brief.js +1 -1
  215. package/dist/server/core/brief/brief.js.map +1 -1
  216. package/dist/server/core/callers/index.d.ts +1 -1
  217. package/dist/server/core/conversations/availability.d.ts +11 -10
  218. package/dist/server/core/conversations/availability.d.ts.map +1 -1
  219. package/dist/server/core/conversations/availability.js +14 -32
  220. package/dist/server/core/conversations/availability.js.map +1 -1
  221. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -1
  222. package/dist/server/core/conversations/chat-settings.js +5 -3
  223. package/dist/server/core/conversations/chat-settings.js.map +1 -1
  224. package/dist/server/core/conversations/conversation.service.d.ts +3 -5
  225. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  226. package/dist/server/core/conversations/conversation.service.js +161 -221
  227. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  228. package/dist/server/core/conversations/ports.d.ts +3 -17
  229. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  230. package/dist/server/core/reports/report.service.d.ts.map +1 -1
  231. package/dist/server/core/reports/report.service.js +5 -2
  232. package/dist/server/core/reports/report.service.js.map +1 -1
  233. package/dist/server/core/runs/availability.d.ts +18 -7
  234. package/dist/server/core/runs/availability.d.ts.map +1 -1
  235. package/dist/server/core/runs/availability.js +35 -24
  236. package/dist/server/core/runs/availability.js.map +1 -1
  237. package/dist/server/core/runs/claim.d.ts +33 -65
  238. package/dist/server/core/runs/claim.d.ts.map +1 -1
  239. package/dist/server/core/runs/claim.js +566 -307
  240. package/dist/server/core/runs/claim.js.map +1 -1
  241. package/dist/server/core/runs/eligibility.d.ts +51 -0
  242. package/dist/server/core/runs/eligibility.d.ts.map +1 -0
  243. package/dist/server/core/runs/eligibility.js +44 -0
  244. package/dist/server/core/runs/eligibility.js.map +1 -0
  245. package/dist/server/core/runs/execution-view.d.ts +10 -0
  246. package/dist/server/core/runs/execution-view.d.ts.map +1 -0
  247. package/dist/server/core/runs/execution-view.js +25 -0
  248. package/dist/server/core/runs/execution-view.js.map +1 -0
  249. package/dist/server/core/runs/execution.d.ts +13 -0
  250. package/dist/server/core/runs/execution.d.ts.map +1 -0
  251. package/dist/server/core/runs/execution.js +85 -0
  252. package/dist/server/core/runs/execution.js.map +1 -0
  253. package/dist/server/core/runs/extensions.d.ts +59 -4
  254. package/dist/server/core/runs/extensions.d.ts.map +1 -1
  255. package/dist/server/core/runs/extensions.js +45 -9
  256. package/dist/server/core/runs/extensions.js.map +1 -1
  257. package/dist/server/core/runs/git-credentials.d.ts +43 -0
  258. package/dist/server/core/runs/git-credentials.d.ts.map +1 -0
  259. package/dist/server/core/runs/git-credentials.js +129 -0
  260. package/dist/server/core/runs/git-credentials.js.map +1 -0
  261. package/dist/server/core/runs/identity.d.ts +6 -0
  262. package/dist/server/core/runs/identity.d.ts.map +1 -0
  263. package/dist/server/core/runs/identity.js +49 -0
  264. package/dist/server/core/runs/identity.js.map +1 -0
  265. package/dist/server/core/runs/index.d.ts +9 -5
  266. package/dist/server/core/runs/index.d.ts.map +1 -1
  267. package/dist/server/core/runs/index.js +9 -5
  268. package/dist/server/core/runs/index.js.map +1 -1
  269. package/dist/server/core/runs/input-gate.d.ts +34 -0
  270. package/dist/server/core/runs/input-gate.d.ts.map +1 -0
  271. package/dist/server/core/runs/input-gate.js +54 -0
  272. package/dist/server/core/runs/input-gate.js.map +1 -0
  273. package/dist/server/core/runs/lifecycle.d.ts +9 -19
  274. package/dist/server/core/runs/lifecycle.d.ts.map +1 -1
  275. package/dist/server/core/runs/lifecycle.js +76 -34
  276. package/dist/server/core/runs/lifecycle.js.map +1 -1
  277. package/dist/server/core/runs/policy.d.ts +8 -0
  278. package/dist/server/core/runs/policy.d.ts.map +1 -1
  279. package/dist/server/core/runs/policy.js +10 -0
  280. package/dist/server/core/runs/policy.js.map +1 -1
  281. package/dist/server/core/runs/ports.d.ts +84 -28
  282. package/dist/server/core/runs/ports.d.ts.map +1 -1
  283. package/dist/server/core/runs/ports.js +2 -13
  284. package/dist/server/core/runs/ports.js.map +1 -1
  285. package/dist/server/core/runs/preview.d.ts.map +1 -1
  286. package/dist/server/core/runs/preview.js +3 -3
  287. package/dist/server/core/runs/preview.js.map +1 -1
  288. package/dist/server/core/runs/run-requests.d.ts +220 -0
  289. package/dist/server/core/runs/run-requests.d.ts.map +1 -0
  290. package/dist/server/core/runs/run-requests.js +475 -0
  291. package/dist/server/core/runs/run-requests.js.map +1 -0
  292. package/dist/server/core/runs/run.service.d.ts +84 -11
  293. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  294. package/dist/server/core/runs/run.service.js +433 -93
  295. package/dist/server/core/runs/run.service.js.map +1 -1
  296. package/dist/server/core/runs/run.store.d.ts +20 -3
  297. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  298. package/dist/server/core/runs/run.store.js +49 -2
  299. package/dist/server/core/runs/run.store.js.map +1 -1
  300. package/dist/server/core/runs/runner-view.d.ts +6 -4
  301. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  302. package/dist/server/core/runs/runner-view.js +13 -11
  303. package/dist/server/core/runs/runner-view.js.map +1 -1
  304. package/dist/server/core/runs/selection.d.ts +13 -0
  305. package/dist/server/core/runs/selection.d.ts.map +1 -0
  306. package/dist/server/core/runs/selection.js +21 -0
  307. package/dist/server/core/runs/selection.js.map +1 -0
  308. package/dist/server/core/runs/sweeper.d.ts.map +1 -1
  309. package/dist/server/core/runs/sweeper.js +54 -10
  310. package/dist/server/core/runs/sweeper.js.map +1 -1
  311. package/dist/server/core/runs/transitions.d.ts +1 -1
  312. package/dist/server/core/runs/transitions.d.ts.map +1 -1
  313. package/dist/server/core/runs/transitions.js +69 -5
  314. package/dist/server/core/runs/transitions.js.map +1 -1
  315. package/dist/server/core/runs/workload.d.ts +3 -3
  316. package/dist/server/core/runs/workload.d.ts.map +1 -1
  317. package/dist/server/core/runs/workload.js +154 -45
  318. package/dist/server/core/runs/workload.js.map +1 -1
  319. package/dist/server/core/variables/index.d.ts +1 -1
  320. package/dist/server/core/variables/index.d.ts.map +1 -1
  321. package/dist/server/core/variables/index.js +1 -1
  322. package/dist/server/core/variables/index.js.map +1 -1
  323. package/dist/server/core/variables/variable.service.d.ts +38 -6
  324. package/dist/server/core/variables/variable.service.d.ts.map +1 -1
  325. package/dist/server/core/variables/variable.service.js +201 -30
  326. package/dist/server/core/variables/variable.service.js.map +1 -1
  327. package/dist/server/distribution/dist.service.d.ts +27 -5
  328. package/dist/server/distribution/dist.service.d.ts.map +1 -1
  329. package/dist/server/distribution/dist.service.js +41 -5
  330. package/dist/server/distribution/dist.service.js.map +1 -1
  331. package/dist/server/distribution/download-tokens.d.ts +1 -1
  332. package/dist/server/distribution/download-tokens.d.ts.map +1 -1
  333. package/dist/server/distribution/download-tokens.js +7 -4
  334. package/dist/server/distribution/download-tokens.js.map +1 -1
  335. package/dist/server/distribution/index.d.ts +11 -3
  336. package/dist/server/distribution/index.d.ts.map +1 -1
  337. package/dist/server/distribution/index.js +31 -8
  338. package/dist/server/distribution/index.js.map +1 -1
  339. package/dist/server/jobs/index.d.ts +1 -1
  340. package/dist/server/jobs/index.d.ts.map +1 -1
  341. package/dist/server/jobs/index.js +1 -1
  342. package/dist/server/jobs/index.js.map +1 -1
  343. package/dist/server/jobs/job.service.d.ts +3 -1
  344. package/dist/server/jobs/job.service.d.ts.map +1 -1
  345. package/dist/server/jobs/job.service.js +11 -3
  346. package/dist/server/jobs/job.service.js.map +1 -1
  347. package/dist/server/jobs/spec.d.ts +4 -0
  348. package/dist/server/jobs/spec.d.ts.map +1 -1
  349. package/dist/server/jobs/spec.js +6 -0
  350. package/dist/server/jobs/spec.js.map +1 -1
  351. package/dist/server/kernel/errors.d.ts +1 -1
  352. package/dist/server/kernel/errors.d.ts.map +1 -1
  353. package/dist/server/kernel/errors.js +1 -0
  354. package/dist/server/kernel/errors.js.map +1 -1
  355. package/dist/server/kernel/events.d.ts +34 -9
  356. package/dist/server/kernel/events.d.ts.map +1 -1
  357. package/dist/server/kernel/events.js.map +1 -1
  358. package/dist/server/kernel/redaction.d.ts +2 -0
  359. package/dist/server/kernel/redaction.d.ts.map +1 -1
  360. package/dist/server/kernel/redaction.js +17 -0
  361. package/dist/server/kernel/redaction.js.map +1 -1
  362. package/dist/server/online/index.d.ts +0 -5
  363. package/dist/server/online/index.d.ts.map +1 -1
  364. package/dist/server/online/index.js +0 -5
  365. package/dist/server/online/index.js.map +1 -1
  366. package/dist/server/online/routes.d.ts.map +1 -1
  367. package/dist/server/online/routes.js +6 -35
  368. package/dist/server/online/routes.js.map +1 -1
  369. package/dist/server/providers/agents.d.ts +4 -25
  370. package/dist/server/providers/agents.d.ts.map +1 -1
  371. package/dist/server/providers/agents.js +8 -75
  372. package/dist/server/providers/agents.js.map +1 -1
  373. package/dist/server/routes/admin.d.ts.map +1 -1
  374. package/dist/server/routes/admin.js +140 -201
  375. package/dist/server/routes/admin.js.map +1 -1
  376. package/dist/server/routes/chat.d.ts.map +1 -1
  377. package/dist/server/routes/chat.js +12 -70
  378. package/dist/server/routes/chat.js.map +1 -1
  379. package/dist/server/routes/index.d.ts.map +1 -1
  380. package/dist/server/routes/index.js +11 -1
  381. package/dist/server/routes/index.js.map +1 -1
  382. package/dist/server/routes/roster.d.ts.map +1 -1
  383. package/dist/server/routes/roster.js +6 -21
  384. package/dist/server/routes/roster.js.map +1 -1
  385. package/dist/server/routes/run-requests.d.ts +6 -0
  386. package/dist/server/routes/run-requests.d.ts.map +1 -0
  387. package/dist/server/routes/run-requests.js +216 -0
  388. package/dist/server/routes/run-requests.js.map +1 -0
  389. package/dist/server/routes/runners/admin.d.ts +9 -1
  390. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  391. package/dist/server/routes/runners/admin.js +62 -24
  392. package/dist/server/routes/runners/admin.js.map +1 -1
  393. package/dist/server/routes/runners/dist.d.ts +5 -1
  394. package/dist/server/routes/runners/dist.d.ts.map +1 -1
  395. package/dist/server/routes/runners/dist.js +36 -9
  396. package/dist/server/routes/runners/dist.js.map +1 -1
  397. package/dist/server/routes/runners/install.d.ts.map +1 -1
  398. package/dist/server/routes/runners/install.js +98 -15
  399. package/dist/server/routes/runners/install.js.map +1 -1
  400. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  401. package/dist/server/routes/runners/runner.js +25 -7
  402. package/dist/server/routes/runners/runner.js.map +1 -1
  403. package/dist/server/routes/runners/runs.d.ts +1 -1
  404. package/dist/server/routes/runners/runs.d.ts.map +1 -1
  405. package/dist/server/routes/runners/runs.js +23 -3
  406. package/dist/server/routes/runners/runs.js.map +1 -1
  407. package/dist/server/routes/schemas.d.ts +37 -8
  408. package/dist/server/routes/schemas.d.ts.map +1 -1
  409. package/dist/server/routes/schemas.js +367 -82
  410. package/dist/server/routes/schemas.js.map +1 -1
  411. package/dist/server/runners/index.d.ts +1 -0
  412. package/dist/server/runners/index.d.ts.map +1 -1
  413. package/dist/server/runners/index.js +1 -0
  414. package/dist/server/runners/index.js.map +1 -1
  415. package/dist/server/runners/runner.service.d.ts +22 -8
  416. package/dist/server/runners/runner.service.d.ts.map +1 -1
  417. package/dist/server/runners/runner.service.js +112 -14
  418. package/dist/server/runners/runner.service.js.map +1 -1
  419. package/dist/server/runners/runner.store.d.ts +10 -1
  420. package/dist/server/runners/runner.store.d.ts.map +1 -1
  421. package/dist/server/runners/runner.store.js +117 -4
  422. package/dist/server/runners/runner.store.js.map +1 -1
  423. package/dist/server/runners/sweeper.d.ts +5 -0
  424. package/dist/server/runners/sweeper.d.ts.map +1 -1
  425. package/dist/server/runners/sweeper.js +4 -2
  426. package/dist/server/runners/sweeper.js.map +1 -1
  427. package/dist/server/runners/workspaces.d.ts +33 -0
  428. package/dist/server/runners/workspaces.d.ts.map +1 -0
  429. package/dist/server/runners/workspaces.js +248 -0
  430. package/dist/server/runners/workspaces.js.map +1 -0
  431. package/dist/server/testing.d.ts +0 -2
  432. package/dist/server/testing.d.ts.map +1 -1
  433. package/dist/server/testing.js +1 -4
  434. package/dist/server/testing.js.map +1 -1
  435. package/dist/server/tokens.d.ts +12 -9
  436. package/dist/server/tokens.d.ts.map +1 -1
  437. package/dist/server/tokens.js +6 -2
  438. package/dist/server/tokens.js.map +1 -1
  439. package/dist/shared/access.d.ts +2 -6
  440. package/dist/shared/access.d.ts.map +1 -1
  441. package/dist/shared/access.js +2 -6
  442. package/dist/shared/access.js.map +1 -1
  443. package/dist/shared/agents.d.ts +128 -165
  444. package/dist/shared/agents.d.ts.map +1 -1
  445. package/dist/shared/agents.js +46 -97
  446. package/dist/shared/agents.js.map +1 -1
  447. package/dist/shared/conversations.d.ts +43 -89
  448. package/dist/shared/conversations.d.ts.map +1 -1
  449. package/dist/shared/conversations.js +5 -24
  450. package/dist/shared/conversations.js.map +1 -1
  451. package/dist/shared/model-catalog.d.ts +48 -0
  452. package/dist/shared/model-catalog.d.ts.map +1 -0
  453. package/dist/shared/model-catalog.js +148 -0
  454. package/dist/shared/model-catalog.js.map +1 -0
  455. package/dist/shared/models.js +1 -1
  456. package/dist/shared/models.js.map +1 -1
  457. package/dist/shared/runners.d.ts +107 -17
  458. package/dist/shared/runners.d.ts.map +1 -1
  459. package/dist/shared/runners.js +49 -7
  460. package/dist/shared/runners.js.map +1 -1
  461. package/dist/shared/runs.d.ts +203 -1
  462. package/dist/shared/runs.d.ts.map +1 -1
  463. package/dist/shared/runs.js +24 -0
  464. package/dist/shared/runs.js.map +1 -1
  465. package/dist/shared/variables.d.ts +22 -0
  466. package/dist/shared/variables.d.ts.map +1 -1
  467. package/dist/shared/variables.js +9 -1
  468. package/dist/shared/variables.js.map +1 -1
  469. package/package.json +24 -26
  470. package/skills/nocobase-app-plugin-agents/SKILL.md +8 -7
  471. package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
  472. package/skills/nocobase-app-plugin-agents/references/distribution.md +21 -4
  473. package/skills/nocobase-app-plugin-agents/references/extension-points.md +30 -20
  474. package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
  475. package/skills/nocobase-app-plugin-agents/references/runners.md +15 -1
  476. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +4 -7
  477. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +4 -4
  478. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +33 -32
  479. package/dist/client/chat/settings-section.d.ts +0 -5
  480. package/dist/client/chat/settings-section.d.ts.map +0 -1
  481. package/dist/client/chat/settings-section.js +0 -76
  482. package/dist/client/chat/settings-section.js.map +0 -1
  483. package/dist/client/components/agent-fields.d.ts +0 -45
  484. package/dist/client/components/agent-fields.d.ts.map +0 -1
  485. package/dist/client/components/agent-fields.js +0 -83
  486. package/dist/client/components/agent-fields.js.map +0 -1
  487. package/dist/client/components/agent-type.d.ts +0 -32
  488. package/dist/client/components/agent-type.d.ts.map +0 -1
  489. package/dist/client/components/agent-type.js +0 -80
  490. package/dist/client/components/agent-type.js.map +0 -1
  491. package/dist/client/components/model-entries.d.ts +0 -35
  492. package/dist/client/components/model-entries.d.ts.map +0 -1
  493. package/dist/client/components/model-entries.js +0 -82
  494. package/dist/client/components/model-entries.js.map +0 -1
  495. package/dist/client/hooks/use-agent-save.d.ts +0 -9
  496. package/dist/client/hooks/use-agent-save.d.ts.map +0 -1
  497. package/dist/client/hooks/use-agent-save.js +0 -40
  498. package/dist/client/hooks/use-agent-save.js.map +0 -1
  499. package/dist/client/hooks/use-model-catalog.d.ts +0 -9
  500. package/dist/client/hooks/use-model-catalog.d.ts.map +0 -1
  501. package/dist/client/hooks/use-model-catalog.js +0 -27
  502. package/dist/client/hooks/use-model-catalog.js.map +0 -1
  503. package/dist/client/lib/tool-policy.d.ts +0 -5
  504. package/dist/client/lib/tool-policy.d.ts.map +0 -1
  505. package/dist/client/lib/tool-policy.js +0 -10
  506. package/dist/client/lib/tool-policy.js.map +0 -1
  507. package/dist/client/online/default-model.d.ts +0 -5
  508. package/dist/client/online/default-model.d.ts.map +0 -1
  509. package/dist/client/online/default-model.js +0 -65
  510. package/dist/client/online/default-model.js.map +0 -1
  511. package/dist/client/pages/agents/agent-model.d.ts +0 -73
  512. package/dist/client/pages/agents/agent-model.d.ts.map +0 -1
  513. package/dist/client/pages/agents/agent-model.js +0 -172
  514. package/dist/client/pages/agents/agent-model.js.map +0 -1
  515. package/dist/client/pages/agents/detail/brief-preview.d.ts +0 -7
  516. package/dist/client/pages/agents/detail/brief-preview.d.ts.map +0 -1
  517. package/dist/client/pages/agents/detail/brief-preview.js +0 -43
  518. package/dist/client/pages/agents/detail/brief-preview.js.map +0 -1
  519. package/dist/client/pages/agents/detail/history.d.ts +0 -11
  520. package/dist/client/pages/agents/detail/history.d.ts.map +0 -1
  521. package/dist/client/pages/agents/detail/history.js +0 -149
  522. package/dist/client/pages/agents/detail/history.js.map +0 -1
  523. package/dist/client/pages/agents/detail/index.d.ts +0 -3
  524. package/dist/client/pages/agents/detail/index.d.ts.map +0 -1
  525. package/dist/client/pages/agents/detail/index.js +0 -241
  526. package/dist/client/pages/agents/detail/index.js.map +0 -1
  527. package/dist/client/pages/agents/detail/sections.d.ts +0 -22
  528. package/dist/client/pages/agents/detail/sections.d.ts.map +0 -1
  529. package/dist/client/pages/agents/detail/sections.js +0 -311
  530. package/dist/client/pages/agents/detail/sections.js.map +0 -1
  531. package/dist/client/pages/agents/detail/tab-draft.d.ts +0 -43
  532. package/dist/client/pages/agents/detail/tab-draft.d.ts.map +0 -1
  533. package/dist/client/pages/agents/detail/tab-draft.js +0 -115
  534. package/dist/client/pages/agents/detail/tab-draft.js.map +0 -1
  535. package/dist/client/pages/agents/detail/unsaved-bar.d.ts +0 -13
  536. package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +0 -1
  537. package/dist/client/pages/agents/detail/unsaved-bar.js +0 -21
  538. package/dist/client/pages/agents/detail/unsaved-bar.js.map +0 -1
  539. package/dist/client/pages/agents/new.d.ts +0 -3
  540. package/dist/client/pages/agents/new.d.ts.map +0 -1
  541. package/dist/client/pages/agents/new.js +0 -149
  542. package/dist/client/pages/agents/new.js.map +0 -1
  543. package/dist/client/pages/agents/preset-picker.d.ts +0 -8
  544. package/dist/client/pages/agents/preset-picker.d.ts.map +0 -1
  545. package/dist/client/pages/agents/preset-picker.js +0 -41
  546. package/dist/client/pages/agents/preset-picker.js.map +0 -1
  547. package/dist/server/core/consultations/consultation.service.d.ts +0 -59
  548. package/dist/server/core/consultations/consultation.service.d.ts.map +0 -1
  549. package/dist/server/core/consultations/consultation.service.js +0 -195
  550. package/dist/server/core/consultations/consultation.service.js.map +0 -1
  551. package/dist/server/core/consultations/index.d.ts +0 -3
  552. package/dist/server/core/consultations/index.d.ts.map +0 -1
  553. package/dist/server/core/consultations/index.js +0 -3
  554. package/dist/server/core/consultations/index.js.map +0 -1
  555. package/dist/server/core/consultations/prompt.d.ts +0 -41
  556. package/dist/server/core/consultations/prompt.d.ts.map +0 -1
  557. package/dist/server/core/consultations/prompt.js +0 -64
  558. package/dist/server/core/consultations/prompt.js.map +0 -1
  559. package/dist/server/core/presets/index.d.ts +0 -19
  560. package/dist/server/core/presets/index.d.ts.map +0 -1
  561. package/dist/server/core/presets/index.js +0 -28
  562. package/dist/server/core/presets/index.js.map +0 -1
  563. package/dist/server/online/cli-command.d.ts +0 -20
  564. package/dist/server/online/cli-command.d.ts.map +0 -1
  565. package/dist/server/online/cli-command.js +0 -345
  566. package/dist/server/online/cli-command.js.map +0 -1
  567. package/dist/server/online/consult-tool.d.ts +0 -54
  568. package/dist/server/online/consult-tool.d.ts.map +0 -1
  569. package/dist/server/online/consult-tool.js +0 -177
  570. package/dist/server/online/consult-tool.js.map +0 -1
  571. package/dist/server/online/executor.d.ts +0 -83
  572. package/dist/server/online/executor.d.ts.map +0 -1
  573. package/dist/server/online/executor.js +0 -714
  574. package/dist/server/online/executor.js.map +0 -1
  575. package/dist/server/online/sandbox.d.ts +0 -32
  576. package/dist/server/online/sandbox.d.ts.map +0 -1
  577. package/dist/server/online/sandbox.js +0 -246
  578. package/dist/server/online/sandbox.js.map +0 -1
  579. package/dist/server/online/scripted.d.ts +0 -12
  580. package/dist/server/online/scripted.d.ts.map +0 -1
  581. package/dist/server/online/scripted.js +0 -176
  582. package/dist/server/online/scripted.js.map +0 -1
  583. package/dist/server/online/tools.d.ts +0 -17
  584. package/dist/server/online/tools.d.ts.map +0 -1
  585. package/dist/server/online/tools.js +0 -31
  586. package/dist/server/online/tools.js.map +0 -1
  587. package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +0 -782
  588. package/dist/server/vendor/just-bash.d.ts +0 -83
  589. package/dist/server/vendor/just-bash.js +0 -2102
  590. package/dist/shared/presets.d.ts +0 -30
  591. package/dist/shared/presets.d.ts.map +0 -1
  592. package/dist/shared/presets.js +0 -2
  593. package/dist/shared/presets.js.map +0 -1
  594. package/skills/nocobase-app-plugin-agents/references/online-agents.md +0 -31
@@ -1,227 +1,201 @@
1
1
  /**
2
2
  * Agents as the browser and the server's admin API exchange them.
3
3
  *
4
- * An agent is who works and how: its name and instructions, its type, the business actions it may perform. Its type is
5
- * chosen when it is created and never changes:
4
+ * Nobody creates an agent. Each coding tool and model the runners report becomes one agent (`source: 'runner'`): the
5
+ * runners report, per tool, whether it is installed and signed in and which models it can use, and the server keeps one
6
+ * agent per tool and model (`model-catalog.ts` names it and normalizes the model), however many runners report it. A new
7
+ * one waits (`pending`) until someone who manages agents writes what it is good at and enables it. The application may
8
+ * also keep agents of its own (`source: 'system'`), such as a project manager, which it configures through its own
9
+ * settings and runs with the tool and model of the agents it names.
6
10
  *
7
- * - `runner`: it drives a coding tool on a runner, with its skills, its tool policy and its own
8
- * variables. Where it runs is not configured beyond an optional list of runners: a run goes to any online runner that
9
- * has one of its tools installed and signed in, may run the waking person's work, and has a free slot.
10
- * - `online`: it talks to a model of a model service directly, on the server: no runner, no working directory, no
11
- * variables. Its tools are the application's commands it may run, and whatever else the application offers
12
- * (knowledge search). It answers in seconds and runs only on subjects that need no working directory, such as
13
- * conversations.
14
- *
15
- * Which tool or model it works with, and with what reasoning effort, is an ordered list (`modelEntries`), the first
16
- * being its default. A runner takes a runner agent's run with the first entry whose tool it has enabled and signed in;
17
- * nobody chooses. An online agent's runs use the first entry, except in a conversation, whose owner may pick another of
18
- * its entries. The run records the entry it used (`Run.tool`, `Run.modelService`, `Run.model`, `Run.effort`).
19
- *
20
- * An online agent with no entry is not configured yet (such as an application's built-in assistant before a model service exists): it is
21
- * kept, shown as needing a model, and offered no work until an entry is added. A runner agent always has one.
11
+ * Which tool and model an agent works with, and with what reasoning effort, is an ordered list (`modelEntries`); a
12
+ * runner takes a run with the first entry it reports. An agent discovered from runners has exactly one entry, its own
13
+ * tool and model; only its default reasoning effort can be changed. The rest of what an agent is (its instructions,
14
+ * the business actions it may perform, how many attempts a run gets) is the application's, the same for every agent.
22
15
  */
23
16
  import { type AgentTool, type ToolPolicy } from '@nocobase/agent-protocol';
24
17
  import type { I18nText } from './i18n.js';
25
- /** Who may wake an agent: its owner, the listed users, or everyone. */
26
- export declare const AGENT_ACCESS: readonly ["ownerOnly", "users", "everyone"];
27
- export type AgentAccess = (typeof AGENT_ACCESS)[number];
28
- /** What kind of agent it is; chosen at creation and never changed (`runner`: a coding tool on a runner, `online`: a model on the server). */
29
- export declare const AGENT_TYPES: readonly ["online", "runner"];
30
- export type AgentType = (typeof AGENT_TYPES)[number];
18
+ /** Where an agent comes from: discovered from what runners report, or kept by the application. */
19
+ export declare const AGENT_SOURCES: readonly ["runner", "system"];
20
+ export type AgentSource = (typeof AGENT_SOURCES)[number];
31
21
  /**
32
- * When an agent in a conversation asks the person before changing data for them: `always` (every change goes through an
33
- * operation plan they confirm) or `larger` (small changes are made directly, within the application's direct-write
34
- * rules, and anything larger goes through a plan). There is no "never": what the rules call larger (waking an agent,
35
- * finishing an issue, changing an owner, …) always needs the person's confirmation.
22
+ * Whether an agent is offered work: `pending` (discovered, nobody enabled it yet), `enabled`, `disabled`. Only enabled
23
+ * agents are offered work, mentioned or chatted with.
36
24
  */
25
+ export declare const AGENT_STATUSES: readonly ["pending", "enabled", "disabled"];
26
+ export type AgentStatus = (typeof AGENT_STATUSES)[number];
27
+ /** How long a tool and model may go unreported by every runner before its agent shows as having no runner. */
28
+ export declare const AGENT_UNREPORTED_AFTER_MS: number;
29
+ /** When in a conversation an agent asks before changing data: every change, or only larger ones. */
37
30
  export declare const CONFIRM_CHANGES: readonly ["always", "larger"];
38
31
  export type ConfirmChanges = (typeof CONFIRM_CHANGES)[number];
39
- /** The reasoning efforts an online agent's entry may name, weakest first, as the model gateway passes them to providers. */
40
- export declare const ONLINE_EFFORTS: readonly ["minimal", "low", "medium", "high", "xhigh"];
41
32
  /**
42
- * An entry of a runner agent's list: a coding tool, its model (null: the tool's default) and its reasoning effort, one
43
- * of the tool's (`TOOL_EFFORTS`; null or absent: the tool's default).
33
+ * An entry of an agent's list: a coding tool, its model (null: the tool's default) and its reasoning effort, one of the
34
+ * tool's (`TOOL_EFFORTS`; null or absent: the tool's default).
44
35
  */
45
36
  export interface RunnerModelEntry {
46
37
  readonly tool: AgentTool;
47
38
  readonly model: string | null;
48
39
  readonly effort?: string | null;
49
40
  }
50
- /**
51
- * An entry of an online agent's list: a model service (its name among the application's), one of its models, and its
52
- * reasoning effort (`ONLINE_EFFORTS`; null or absent: the provider's default).
53
- */
54
- export interface OnlineModelEntry {
55
- readonly modelService: string;
56
- readonly model: string;
57
- readonly effort?: string | null;
58
- }
59
- /** A tool and model an agent may work with; a runner agent's entries are all `RunnerModelEntry`, an online agent's all `OnlineModelEntry`. */
60
- export type AgentModelEntry = RunnerModelEntry | OnlineModelEntry;
61
41
  /** The most entries an agent's list holds. */
62
42
  export declare const MAX_MODEL_ENTRIES = 20;
63
- export declare function isRunnerEntry(entry: AgentModelEntry): entry is RunnerModelEntry;
64
- export declare function isOnlineEntry(entry: AgentModelEntry): entry is OnlineModelEntry;
65
- /** The reasoning efforts `entry` may name: its tool's for a runner entry, `ONLINE_EFFORTS` for an online one. */
43
+ /** The reasoning efforts `entry`'s tool takes. */
66
44
  export declare function effortsFor(entry: {
67
45
  readonly tool: AgentTool;
68
- } | {
69
- readonly modelService: string;
70
46
  }): readonly string[];
71
- /** A runner agent's entries, in order; empty for an online agent. */
72
- export declare function runnerEntries(agent: {
73
- readonly modelEntries: readonly AgentModelEntry[];
74
- }): RunnerModelEntry[];
75
- /** An online agent's entries, in order; empty for a runner agent. */
76
- export declare function onlineEntries(agent: {
77
- readonly modelEntries: readonly AgentModelEntry[];
78
- }): OnlineModelEntry[];
79
- /**
80
- * The entries an online agent answers with: its own, or, when it lists none, the system default chat model
81
- * (`DefaultModels`) as its only one; empty for a runner agent or when there is no default either.
82
- */
83
- export declare function onlineEntriesOrDefault(agent: {
84
- readonly type: AgentType;
85
- readonly modelEntries: readonly AgentModelEntry[];
86
- }, defaultModel: {
87
- readonly modelService: string;
88
- readonly model: string;
89
- } | null): OnlineModelEntry[];
90
- /** The coding tools a runner agent's entries name, in order and once each; empty for an online agent. */
47
+ /** The coding tools an agent's entries name, in order and once each. */
91
48
  export declare function entryTools(agent: {
92
- readonly modelEntries: readonly AgentModelEntry[];
49
+ readonly modelEntries: readonly RunnerModelEntry[];
93
50
  }): AgentTool[];
94
- /** Whether two entries name the same tool or service and model, whatever their efforts. */
95
- export declare function sameEntry(a: AgentModelEntry, b: AgentModelEntry): boolean;
51
+ /** Whether two entries name the same tool and model, whatever their efforts. */
52
+ export declare function sameEntry(a: RunnerModelEntry, b: RunnerModelEntry): boolean;
96
53
  export interface Agent {
97
54
  readonly id: string;
98
- /** As written; for an agent the application ships, the English its `nameText` translates. */
55
+ /** As the model catalog names it (`Claude · Opus 5.5`), or as the application named its own. */
99
56
  readonly name: string;
57
+ /** What it is good at: the project manager hands it work by this. Null until someone writes it. */
100
58
  readonly description: string | null;
101
- /**
102
- * For an agent the application ships (such as an application's built-in agents): its name and description as i18n references, shown
103
- * in the viewer's language in place of `name` and `description`. Editing a field drops its reference, so the text
104
- * someone wrote shows as written. Null otherwise.
105
- */
59
+ /** An application's own agent's name as an i18n reference, shown in the viewer's language in place of `name`. */
106
60
  readonly nameText: I18nText | null;
107
61
  readonly descriptionText: I18nText | null;
108
62
  /** An image URL; null shows the bot icon. */
109
63
  readonly avatar: string | null;
110
- /** Immutable. */
111
- readonly type: AgentType;
64
+ readonly source: AgentSource;
65
+ readonly status: AgentStatus;
66
+ /** For an agent discovered from runners: its coding tool and its model, normalized. Null for the application's own. */
67
+ readonly tool: AgentTool | null;
68
+ readonly model: string | null;
112
69
  /**
113
- * The tools and models it works with, each with its reasoning effort, in order; the first is its default. Never empty
114
- * for a runner agent; empty for an online agent not configured yet.
70
+ * The tools and models it works with, each with its reasoning effort, in order; the first is its default. Exactly one
71
+ * for an agent discovered from runners; an application's own agent may have none until it is configured.
115
72
  */
116
- readonly modelEntries: readonly AgentModelEntry[];
117
- /** Rendered as the last layer of the brief; they are preferences and never override the rules or the task. */
73
+ readonly modelEntries: readonly RunnerModelEntry[];
74
+ /** The application's built-in instructions, the last layer of the brief. */
118
75
  readonly instructions: string | null;
119
76
  /** Business action keys the agent may perform, within what the person who woke it may do. */
120
77
  readonly actions: readonly string[];
121
78
  /** In conversations: whether it asks before every change or only before larger ones. */
122
79
  readonly confirmChanges: ConfirmChanges;
123
- readonly access: AgentAccess;
124
- /** For access `users`. */
125
- readonly userIds: readonly string[];
126
- readonly ownerUserId: string;
127
- /** Run only on these runners; empty: any runner that fits. */
128
- readonly runnerIds: readonly string[];
129
80
  /** The skills attached to the agent, in the skill library. */
130
81
  readonly skillIds: readonly string[];
131
82
  readonly maxConcurrentRuns: number;
132
83
  readonly maxAttempts: number;
133
84
  /** Overrides of the default tool policy (`DEFAULT_TOOL_POLICY`). */
134
85
  readonly toolPolicy: Partial<ToolPolicy> | null;
135
- readonly archivedAt: string | null;
86
+ /** When a runner last reported its tool and model; null for the application's own. */
87
+ readonly lastReportedAt: string | null;
136
88
  /**
137
- * Raised by every change to its configuration (editing, archiving, restoring). An edit names the revision it was
138
- * made against (`AgentPatch.expectedRevision`) and is refused with 409 when the agent changed since.
89
+ * Raised by every change (its good-at, its effort, enabling or disabling it). An edit names the revision it was made
90
+ * against (`AgentPatch.expectedRevision`) and is refused with 409 when the agent changed since.
139
91
  */
140
92
  readonly revision: number;
141
93
  readonly createdAt: string;
142
94
  readonly updatedAt: string;
143
95
  }
144
- /** An agent in the list: with what the list shows about its runs and runners. */
145
- export interface AgentSummary extends Agent {
146
- readonly ownerName: string | null;
147
- /** Runs dispatched or running now. */
148
- readonly activeRuns: number;
149
- /**
150
- * `runner`: online runners that have the agent's tool installed and signed in, among `runnerIds` when it names any.
151
- * `online`: 1 while its model service offers its model, else 0.
152
- */
153
- readonly onlineRunners: number;
154
- /**
155
- * Whether the caller may change it: edit, archive, restore and delete it and set its variables. Managers of agents
156
- * may change every agent; others the agents their role's "related" level reaches (the ones they own).
157
- */
96
+ /**
97
+ * Why an agent cannot take the caller's work now: `pending` and `disabled` (not enabled), `unreported` (no runner
98
+ * reported its tool and model for `AGENT_UNREPORTED_AFTER_MS`), `notConfigured` (an application's own agent with no
99
+ * tool and model yet), `noRunner` (no runner online that has it and would take the caller's work), `othersPersonal`
100
+ * (only other people's personal runners have it).
101
+ */
102
+ export declare const AGENT_UNUSABLE_REASONS: readonly ["pending", "disabled", "unreported", "notConfigured", "noRunner", "othersPersonal"];
103
+ export type AgentUnusableReason = (typeof AGENT_UNUSABLE_REASONS)[number];
104
+ /** Where an agent can run now: the online runners that have its tool and model signed in and take its work. */
105
+ export interface AgentRunners {
106
+ /** Online team runners: they take anyone's work. */
107
+ readonly team: number;
108
+ /** Online personal runners: each takes only its owner's work. */
109
+ readonly personal: number;
110
+ /** Of `personal`, the caller's own. */
111
+ readonly mine: number;
112
+ /** A few of their names, team runners first. */
113
+ readonly names: readonly string[];
114
+ }
115
+ /** An agent as the Agent page lists it (`GET /api/agents`), for the caller. */
116
+ export interface AgentView extends Agent {
117
+ readonly discoveryKey?: string;
118
+ readonly discoveryRevision?: number;
119
+ readonly ignored?: boolean;
120
+ /** Its default reasoning effort: its first entry's. */
121
+ readonly effort: string | null;
122
+ /** The efforts its tool takes, weakest first; empty for an application's own agent. */
123
+ readonly efforts: readonly string[];
124
+ /** A runner reported its tool and model within `AGENT_UNREPORTED_AFTER_MS`, or it is the application's own. */
125
+ readonly reported: boolean;
126
+ readonly runners: AgentRunners;
127
+ /** Only personal runners have it: it takes the work of their owners only. */
128
+ readonly personalOnly: boolean;
129
+ /** Null when it could take the caller's work now; otherwise why not. */
130
+ readonly unusable: AgentUnusableReason | null;
131
+ /** Its runs that have not finished. */
132
+ readonly busy: number;
133
+ /** What the model catalog says it is good at, to start from when enabling it; null for a model it does not know. */
134
+ readonly suggestion: {
135
+ readonly en: string;
136
+ readonly zh: string;
137
+ } | null;
138
+ /** Whether the caller may change it: good-at, effort, enabled. */
158
139
  readonly canEdit: boolean;
159
- /** Whether the caller may wake it, and so make a private copy of it for themselves (`ChatApi.copyAgent`). */
160
- readonly canCopy: boolean;
140
+ }
141
+ /** An agent's name (`GET /api/agents/agentNames`): every agent there has been, for the runs that name it. */
142
+ export interface AgentName {
143
+ readonly id: string;
144
+ readonly name: string;
145
+ readonly nameText: I18nText | null;
161
146
  }
162
147
  /** An agent the caller may give work to: what it is good at, and whether it can take work now. */
163
148
  export interface AvailableAgent {
149
+ readonly runners?: AgentRunners;
164
150
  readonly id: string;
165
151
  readonly name: string;
166
152
  /** Its description. */
167
153
  readonly goodAt: string;
168
- readonly type: AgentType;
169
- /** A runner agent's default coding tool (its first entry's); null for an online agent. */
154
+ /** Its coding tool and model. */
170
155
  readonly tool: AgentTool | null;
171
- /** Whether it could start work now: an online runner that fits it, or its model offered. */
156
+ readonly model: string | null;
157
+ /** Whether it could start the caller's work now: an online runner that has it and would take the work. */
172
158
  readonly online: boolean;
159
+ /** Only personal runners have it: it takes the work of their owners only. */
160
+ readonly personalOnly: boolean;
173
161
  /** Its runs that have not finished. */
174
162
  readonly busy: number;
175
163
  }
176
164
  /**
177
- * What creating an agent takes; updating takes any subset but `type`, which an agent keeps for good. A `runner` agent
178
- * needs at least one entry in `modelEntries`, each naming a coding tool; an `online` agent's entries name model services
179
- * and their models, and it may have none until one is configured. Each entry may name a reasoning effort its tool or
180
- * service takes (`effortsFor`). An `online` agent takes no runners, tool policy or variables.
165
+ * What changing an agent takes (`PATCH /api/agents/:agentId`): what it is good at, its default reasoning effort and
166
+ * whether it is enabled, with the revision the edit was made against. An agent is enabled only with a description.
181
167
  */
182
- export interface AgentInput {
183
- readonly name: string;
168
+ export interface AgentPatch {
184
169
  readonly description?: string | null;
185
- readonly avatar?: string | null;
186
- /** `runner` by default. */
187
- readonly type?: AgentType;
188
- readonly modelEntries?: readonly AgentModelEntry[];
189
- readonly instructions?: string | null;
190
- readonly actions?: readonly string[];
191
- /** `larger` by default. */
192
- readonly confirmChanges?: ConfirmChanges;
193
- readonly access?: AgentAccess;
194
- readonly userIds?: readonly string[];
195
- /** Defaults to the creator. */
196
- readonly ownerUserId?: string;
197
- readonly runnerIds?: readonly string[];
198
- readonly skillIds?: readonly string[];
199
- readonly maxConcurrentRuns?: number;
200
- readonly maxAttempts?: number;
201
- readonly toolPolicy?: Partial<ToolPolicy> | null;
170
+ readonly effort?: string | null;
171
+ readonly enabled?: boolean;
172
+ readonly expectedRevision: number;
202
173
  }
203
174
  /**
204
- * What updating an agent takes (`PATCH /api/agents/:agentId`): any fields of the input, and the revision the edit was made
205
- * against. A stale revision is refused with 409 `REVISION_CONFLICT` (`metadata.revision` the
206
- * current one).
175
+ * What the application keeps of an agent of its own (`AgentService.ensureSystem`): its fixed id, name, description,
176
+ * instructions, actions and the tools and models it runs with (none until it is configured).
207
177
  */
208
- export type AgentPatch = Partial<Omit<AgentInput, 'type'>> & {
209
- readonly expectedRevision: number;
210
- };
211
- /** What a change to an agent's configuration was. */
212
- export declare const AGENT_CHANGE_ACTIONS: readonly ["created", "updated", "archived", "restored", "variables"];
178
+ export interface SystemAgentInput {
179
+ readonly id: string;
180
+ readonly name: string;
181
+ readonly nameText?: I18nText | null;
182
+ readonly description: string | null;
183
+ readonly instructions: string | null;
184
+ readonly actions: readonly string[];
185
+ readonly modelEntries: readonly RunnerModelEntry[];
186
+ }
187
+ /** What a change to an agent was. */
188
+ export declare const AGENT_CHANGE_ACTIONS: readonly ["created", "updated", "enabled", "disabled", "variables", "archived", "restored"];
213
189
  export type AgentChangeAction = (typeof AGENT_CHANGE_ACTIONS)[number];
214
190
  /** The fields of an agent whose changes its history records, in the order the history shows them. */
215
- export declare const AGENT_HISTORY_FIELDS: readonly ["name", "description", "avatar", "instructions", "type", "modelEntries", "skillIds", "actions", "confirmChanges", "toolPolicy", "runnerIds", "maxConcurrentRuns", "maxAttempts", "access", "userIds", "ownerUserId"];
191
+ export declare const AGENT_HISTORY_FIELDS: readonly ["name", "description", "status", "modelEntries", "instructions", "actions"];
216
192
  export type AgentHistoryField = (typeof AGENT_HISTORY_FIELDS)[number];
217
- /** Fields no longer recorded that older history entries still carry, so the history can still name them. */
218
- export declare const RETIRED_AGENT_HISTORY_FIELDS: readonly ["tool", "model", "llmService", "modelService", "reasoningEffort"];
219
193
  /**
220
194
  * One field that changed. A variable is a secret: it is named (`name`) with what happened to it (`change`), never with
221
- * its value.
195
+ * its value. Entries recorded by earlier versions may name fields no longer listed here.
222
196
  */
223
197
  export type AgentFieldChange = {
224
- readonly field: AgentHistoryField;
198
+ readonly field: string;
225
199
  readonly before: unknown;
226
200
  readonly after: unknown;
227
201
  } | {
@@ -242,43 +216,32 @@ export interface AgentChange {
242
216
  readonly createdAt: string;
243
217
  }
244
218
  /**
245
- * A business action an agent may be configured with (`GET /api/agents/actions`), as the application offers it:
246
- * the key its commands name, and how the editor shows it.
219
+ * A business action the application lets agents perform (`GET /api/agents/actions`): the key its commands name, and
220
+ * how it is shown.
247
221
  */
248
222
  export interface AgentActionOption {
249
223
  /** The business action key the server stores, such as `crm.deals/comment`. */
250
224
  readonly key: string;
251
- /** What groups it in the editor, such as `crm.deals`. */
225
+ /** What groups it, such as `crm.deals`. */
252
226
  readonly group: string;
253
- /** The checkbox label; the key when absent. */
227
+ /** The label; the key when absent. */
254
228
  readonly title?: I18nText;
255
229
  /** The group's heading; the group when absent. */
256
230
  readonly groupTitle?: I18nText;
257
- /** One line under the label saying what it lets the agent do. */
231
+ /** One line saying what it lets the agent do. */
258
232
  readonly description?: I18nText;
259
- /** Ticked in the new-agent dialog. */
233
+ /** Given to every agent the runners report. */
260
234
  readonly defaultOn?: boolean;
261
- /**
262
- * False for an action listed only to show where the boundary is: the agent page shows it greyed out with `reason`,
263
- * and it is never offered or granted. Grantable when absent.
264
- */
235
+ /** False for an action listed only to show where the boundary is: it is never granted. Grantable when absent. */
265
236
  readonly grantable?: boolean;
266
237
  /** Why it can never be granted to an agent, for a `grantable: false` action. */
267
238
  readonly reason?: I18nText;
268
- /**
269
- * The agent types it may be given; both when absent. An action that needs a working directory (attaching a file
270
- * from one) is `['runner']`.
271
- */
272
- readonly types?: readonly AgentType[];
273
239
  }
274
240
  /** A person, as pickers and audit lines show them (`GET /api/agents/users`). */
275
241
  export interface UserRef {
276
242
  readonly id: string;
277
243
  readonly name: string;
278
244
  }
279
- /**
280
- * The tool policy an agent starts from; an agent's `toolPolicy` overrides fields of it. The editor shows it so people
281
- * see what they override.
282
- */
245
+ /** The tool policy every agent runs with; an agent's `toolPolicy` overrides fields of it. */
283
246
  export declare const DEFAULT_TOOL_POLICY: ToolPolicy;
284
247
  //# sourceMappingURL=agents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../shared/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../shared/agents.ts"],"names":[],"mappings":"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"}
@@ -1,130 +1,79 @@
1
1
  /**
2
2
  * Agents as the browser and the server's admin API exchange them.
3
3
  *
4
- * An agent is who works and how: its name and instructions, its type, the business actions it may perform. Its type is
5
- * chosen when it is created and never changes:
4
+ * Nobody creates an agent. Each coding tool and model the runners report becomes one agent (`source: 'runner'`): the
5
+ * runners report, per tool, whether it is installed and signed in and which models it can use, and the server keeps one
6
+ * agent per tool and model (`model-catalog.ts` names it and normalizes the model), however many runners report it. A new
7
+ * one waits (`pending`) until someone who manages agents writes what it is good at and enables it. The application may
8
+ * also keep agents of its own (`source: 'system'`), such as a project manager, which it configures through its own
9
+ * settings and runs with the tool and model of the agents it names.
6
10
  *
7
- * - `runner`: it drives a coding tool on a runner, with its skills, its tool policy and its own
8
- * variables. Where it runs is not configured beyond an optional list of runners: a run goes to any online runner that
9
- * has one of its tools installed and signed in, may run the waking person's work, and has a free slot.
10
- * - `online`: it talks to a model of a model service directly, on the server: no runner, no working directory, no
11
- * variables. Its tools are the application's commands it may run, and whatever else the application offers
12
- * (knowledge search). It answers in seconds and runs only on subjects that need no working directory, such as
13
- * conversations.
14
- *
15
- * Which tool or model it works with, and with what reasoning effort, is an ordered list (`modelEntries`), the first
16
- * being its default. A runner takes a runner agent's run with the first entry whose tool it has enabled and signed in;
17
- * nobody chooses. An online agent's runs use the first entry, except in a conversation, whose owner may pick another of
18
- * its entries. The run records the entry it used (`Run.tool`, `Run.modelService`, `Run.model`, `Run.effort`).
19
- *
20
- * An online agent with no entry is not configured yet (such as an application's built-in assistant before a model service exists): it is
21
- * kept, shown as needing a model, and offered no work until an entry is added. A runner agent always has one.
11
+ * Which tool and model an agent works with, and with what reasoning effort, is an ordered list (`modelEntries`); a
12
+ * runner takes a run with the first entry it reports. An agent discovered from runners has exactly one entry, its own
13
+ * tool and model; only its default reasoning effort can be changed. The rest of what an agent is (its instructions,
14
+ * the business actions it may perform, how many attempts a run gets) is the application's, the same for every agent.
22
15
  */
23
16
  import { TOOL_EFFORTS, } from '@nocobase/agent-protocol';
24
- /** Who may wake an agent: its owner, the listed users, or everyone. */
25
- export const AGENT_ACCESS = ['ownerOnly', 'users', 'everyone'];
26
- /** What kind of agent it is; chosen at creation and never changed (`runner`: a coding tool on a runner, `online`: a model on the server). */
27
- export const AGENT_TYPES = ['online', 'runner'];
17
+ /** Where an agent comes from: discovered from what runners report, or kept by the application. */
18
+ export const AGENT_SOURCES = ['runner', 'system'];
28
19
  /**
29
- * When an agent in a conversation asks the person before changing data for them: `always` (every change goes through an
30
- * operation plan they confirm) or `larger` (small changes are made directly, within the application's direct-write
31
- * rules, and anything larger goes through a plan). There is no "never": what the rules call larger (waking an agent,
32
- * finishing an issue, changing an owner, …) always needs the person's confirmation.
20
+ * Whether an agent is offered work: `pending` (discovered, nobody enabled it yet), `enabled`, `disabled`. Only enabled
21
+ * agents are offered work, mentioned or chatted with.
33
22
  */
23
+ export const AGENT_STATUSES = ['pending', 'enabled', 'disabled'];
24
+ /** How long a tool and model may go unreported by every runner before its agent shows as having no runner. */
25
+ export const AGENT_UNREPORTED_AFTER_MS = 14 * 24 * 60 * 60_000;
26
+ /** When in a conversation an agent asks before changing data: every change, or only larger ones. */
34
27
  export const CONFIRM_CHANGES = ['always', 'larger'];
35
- /** The reasoning efforts an online agent's entry may name, weakest first, as the model gateway passes them to providers. */
36
- export const ONLINE_EFFORTS = [
37
- 'minimal',
38
- 'low',
39
- 'medium',
40
- 'high',
41
- 'xhigh',
42
- ];
43
28
  /** The most entries an agent's list holds. */
44
29
  export const MAX_MODEL_ENTRIES = 20;
45
- export function isRunnerEntry(entry) {
46
- return 'tool' in entry;
47
- }
48
- export function isOnlineEntry(entry) {
49
- return 'modelService' in entry;
50
- }
51
- /** The reasoning efforts `entry` may name: its tool's for a runner entry, `ONLINE_EFFORTS` for an online one. */
30
+ /** The reasoning efforts `entry`'s tool takes. */
52
31
  export function effortsFor(entry) {
53
- return 'tool' in entry ? TOOL_EFFORTS[entry.tool] : ONLINE_EFFORTS;
54
- }
55
- /** A runner agent's entries, in order; empty for an online agent. */
56
- export function runnerEntries(agent) {
57
- return agent.modelEntries.filter(isRunnerEntry);
58
- }
59
- /** An online agent's entries, in order; empty for a runner agent. */
60
- export function onlineEntries(agent) {
61
- return agent.modelEntries.filter(isOnlineEntry);
62
- }
63
- /**
64
- * The entries an online agent answers with: its own, or, when it lists none, the system default chat model
65
- * (`DefaultModels`) as its only one; empty for a runner agent or when there is no default either.
66
- */
67
- export function onlineEntriesOrDefault(agent, defaultModel) {
68
- if (agent.type !== 'online')
69
- return [];
70
- const own = onlineEntries(agent);
71
- if (own.length > 0)
72
- return own;
73
- return defaultModel
74
- ? [{ modelService: defaultModel.modelService, model: defaultModel.model }]
75
- : [];
32
+ return TOOL_EFFORTS[entry.tool];
76
33
  }
77
- /** The coding tools a runner agent's entries name, in order and once each; empty for an online agent. */
34
+ /** The coding tools an agent's entries name, in order and once each. */
78
35
  export function entryTools(agent) {
79
- return [...new Set(runnerEntries(agent).map((entry) => entry.tool))];
36
+ return [...new Set(agent.modelEntries.map((entry) => entry.tool))];
80
37
  }
81
- /** Whether two entries name the same tool or service and model, whatever their efforts. */
38
+ /** Whether two entries name the same tool and model, whatever their efforts. */
82
39
  export function sameEntry(a, b) {
83
- if (isRunnerEntry(a))
84
- return (isRunnerEntry(b) &&
85
- a.tool === b.tool &&
86
- (a.model ?? null) === (b.model ?? null));
87
- return (isOnlineEntry(b) && a.modelService === b.modelService && a.model === b.model);
40
+ return a.tool === b.tool && (a.model ?? null) === (b.model ?? null);
88
41
  }
89
- /** What a change to an agent's configuration was. */
42
+ /**
43
+ * Why an agent cannot take the caller's work now: `pending` and `disabled` (not enabled), `unreported` (no runner
44
+ * reported its tool and model for `AGENT_UNREPORTED_AFTER_MS`), `notConfigured` (an application's own agent with no
45
+ * tool and model yet), `noRunner` (no runner online that has it and would take the caller's work), `othersPersonal`
46
+ * (only other people's personal runners have it).
47
+ */
48
+ export const AGENT_UNUSABLE_REASONS = [
49
+ 'pending',
50
+ 'disabled',
51
+ 'unreported',
52
+ 'notConfigured',
53
+ 'noRunner',
54
+ 'othersPersonal',
55
+ ];
56
+ /** What a change to an agent was. */
90
57
  export const AGENT_CHANGE_ACTIONS = [
91
58
  'created',
92
59
  'updated',
60
+ 'enabled',
61
+ 'disabled',
62
+ 'variables',
63
+ // Recorded by earlier versions, which kept agents people configured.
93
64
  'archived',
94
65
  'restored',
95
- 'variables',
96
66
  ];
97
67
  /** The fields of an agent whose changes its history records, in the order the history shows them. */
98
68
  export const AGENT_HISTORY_FIELDS = [
99
69
  'name',
100
70
  'description',
101
- 'avatar',
102
- 'instructions',
103
- 'type',
71
+ 'status',
104
72
  'modelEntries',
105
- 'skillIds',
73
+ 'instructions',
106
74
  'actions',
107
- 'confirmChanges',
108
- 'toolPolicy',
109
- 'runnerIds',
110
- 'maxConcurrentRuns',
111
- 'maxAttempts',
112
- 'access',
113
- 'userIds',
114
- 'ownerUserId',
115
- ];
116
- /** Fields no longer recorded that older history entries still carry, so the history can still name them. */
117
- export const RETIRED_AGENT_HISTORY_FIELDS = [
118
- 'tool',
119
- 'model',
120
- 'llmService',
121
- 'modelService',
122
- 'reasoningEffort',
123
75
  ];
124
- /**
125
- * The tool policy an agent starts from; an agent's `toolPolicy` overrides fields of it. The editor shows it so people
126
- * see what they override.
127
- */
76
+ /** The tool policy every agent runs with; an agent's `toolPolicy` overrides fields of it. */
128
77
  export const DEFAULT_TOOL_POLICY = {
129
78
  permissionMode: 'acceptEdits',
130
79
  allowedCommands: [