@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,83 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Fields the new-agent dialog and the agent page share: the coding tool (with how many runners offer it now), an
4
- * entry's reasoning effort, and the business actions the application lets an agent be given.
5
- */
6
- import { AGENT_TOOLS } from '@nocobase/agent-protocol';
7
- import { useTranslation } from '@nocobase/i18n/client';
8
- import { useText } from '../hooks/use-vocabulary.js';
9
- import { useAgentActions } from '../lib/action-catalog.js';
10
- import { onlineFor } from '../lib/agents.js';
11
- import { cn } from 'cn';
12
- import { Checkbox } from './ui/checkbox.js';
13
- import { Field, FieldContent, FieldDescription, FieldLabel, } from './ui/field.js';
14
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from './ui/select.js';
15
- import { Skeleton } from './ui/skeleton.js';
16
- import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip.js';
17
- /** How many runtimes can run a tool now, as a dot and a count, with the full sentence in a tooltip. */
18
- function OnlineCount({ count }) {
19
- const { t } = useTranslation();
20
- const label = t('agentForm.toolOnline', { count });
21
- return (_jsxs(Tooltip, { children: [_jsxs(TooltipTrigger, { render: _jsx("span", { "aria-label": label, className: 'ml-auto inline-flex items-center gap-1 text-xs text-muted-foreground tabular-nums' }), children: [_jsx("span", { "aria-hidden": true, className: cn('size-1.5 rounded-full', count > 0 ? 'bg-primary' : 'bg-muted-foreground/40') }), count] }), _jsx(TooltipContent, { children: label })] }));
22
- }
23
- export function ToolSelect({ id, value, runners, disabled, ariaLabel, onChange, }) {
24
- const { t } = useTranslation();
25
- const items = AGENT_TOOLS.map((tool) => ({
26
- value: tool,
27
- label: t(`tools.${tool}`),
28
- }));
29
- return (_jsxs(Select, { items: items, value: value, disabled: disabled, onValueChange: (next) => {
30
- const tool = AGENT_TOOLS.find((candidate) => candidate === next);
31
- if (tool)
32
- onChange(tool);
33
- }, children: [_jsx(SelectTrigger, { id: id, "aria-label": ariaLabel, className: 'w-full', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: AGENT_TOOLS.map((tool) => (_jsx(SelectItem, { value: tool, children: _jsxs("span", { className: 'flex min-w-0 flex-1 items-center gap-2', children: [_jsx("span", { children: t(`tools.${tool}`) }), runners ? (_jsx(OnlineCount, { count: onlineFor(runners, tool) })) : null] }) }, tool))) })] }));
34
- }
35
- /** An entry's reasoning effort, among those its tool or service takes (`effortsFor`). */
36
- export function EffortSelect({ id, efforts, value, disabled, ariaLabel, onChange, }) {
37
- const { t } = useTranslation();
38
- const items = [
39
- { value: 'default', label: t('agentForm.reasoningDefault') },
40
- ...efforts.map((effort) => ({
41
- value: effort,
42
- label: t(`agentForm.efforts.${effort}`, { defaultValue: effort }),
43
- })),
44
- // An effort saved before stays listed so it shows.
45
- ...(value && !efforts.includes(value) ? [{ value, label: value }] : []),
46
- ];
47
- return (_jsxs(Select, { items: items, value: value || 'default', disabled: disabled, onValueChange: (next) => onChange(!next || next === 'default' ? '' : next), children: [_jsx(SelectTrigger, { id: id, "aria-label": ariaLabel, className: 'w-full', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: items.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] }));
48
- }
49
- /**
50
- * The business actions as checkboxes, grouped as the application groups them, with its titles. Actions meant for
51
- * another type of agent (`AgentActionOption.types`) are left out. `detailed` (the agent page) adds each action's
52
- * description, and lists the actions that are never granted to an agent greyed out with the reason, so people see the
53
- * boundary; elsewhere those are left out.
54
- */
55
- export function ActionCheckboxes({ idPrefix, value, type, disabled, detailed, onChange, }) {
56
- const { t } = useTranslation();
57
- const text = useText();
58
- const all = useAgentActions(value);
59
- const actions = all?.filter((action) => (!type || !action.types || action.types.includes(type)) &&
60
- (detailed || action.grantable !== false));
61
- if (!actions)
62
- return _jsx(Skeleton, { className: 'h-16 w-full' });
63
- const groups = new Map();
64
- for (const action of actions)
65
- groups.set(action.group, [...(groups.get(action.group) ?? []), action]);
66
- if (![...actions].some((action) => action.grantable !== false))
67
- return (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('capabilities.none') }));
68
- return (_jsx("div", { className: detailed
69
- ? 'grid gap-x-6 gap-y-5 sm:grid-cols-2'
70
- : 'grid gap-3 sm:grid-cols-2', children: [...groups].map(([group, options]) => (_jsxs("div", { role: 'group', "aria-label": text(options[0]?.groupTitle, group), className: detailed ? 'space-y-3' : 'space-y-2', children: [_jsx("p", { className: 'text-xs font-medium text-muted-foreground', children: text(options[0]?.groupTitle, group) }), options.map((option) => {
71
- const grantable = option.grantable !== false;
72
- const id = `${idPrefix}-${option.key}`;
73
- const label = text(option.title, option.key);
74
- return (_jsxs(Field, { orientation: 'horizontal', "data-disabled": grantable ? undefined : true, "data-testid": detailed ? `capability-${option.key}` : undefined, children: [_jsx(Checkbox, { id: id, checked: grantable && value.includes(option.key), disabled: disabled || !grantable, onCheckedChange: (checked) => onChange(checked
75
- ? [...value, option.key]
76
- : value.filter((item) => item !== option.key)) }), detailed ? (_jsxs(FieldContent, { children: [_jsx(FieldLabel, { htmlFor: id, className: 'font-normal', children: label }), grantable ? (option.description ? (_jsx(FieldDescription, { children: text(option.description, '') })) : null) : (_jsx(FieldDescription, { children: option.reason
77
- ? t('capabilities.notGrantableBecause', {
78
- reason: text(option.reason, ''),
79
- })
80
- : t('capabilities.notGrantable') }))] })) : (_jsx(FieldLabel, { htmlFor: id, className: 'font-normal', children: label }))] }, option.key));
81
- })] }, group))) }));
82
- }
83
- //# sourceMappingURL=agent-fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-fields.js","sourceRoot":"","sources":["../../../client/components/agent-fields.tsx"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { ReactElement } from 'react';
2
- import { type AgentType } from '../../shared/agents.js';
3
- import type { ModelCatalog } from '../../shared/models.js';
4
- /** A small Online / Runner tag. */
5
- export declare function AgentTypeTag({ type, }: {
6
- readonly type: AgentType;
7
- }): ReactElement;
8
- /** The new-agent dialog's first question: an online agent or a runner agent. */
9
- export declare function AgentTypePicker({ value, onChange, }: {
10
- readonly value: AgentType;
11
- readonly onChange: (type: AgentType) => void;
12
- }): ReactElement;
13
- /**
14
- * What an online agent that lists no model answers with: the system default chat model, with a link to change it on
15
- * the Models page; or, while no service offers a chat model, that it needs one, with a link to set one up.
16
- */
17
- export declare function DefaultModelNote(): ReactElement | null;
18
- /** What online agents need and is missing: no model service offers a model yet. */
19
- export declare function NoModels(): ReactElement;
20
- /**
21
- * The model service and model selects of a row of the tools-and-models list, labelled for assistive technology only
22
- * (the list's header names the columns); a model no longer offered stays listed so it shows.
23
- */
24
- export declare function ModelFields({ idPrefix, catalog, modelService, model, disabled, onChange, }: {
25
- readonly idPrefix: string;
26
- readonly catalog: ModelCatalog | undefined;
27
- readonly modelService: string;
28
- readonly model: string;
29
- readonly disabled?: boolean;
30
- readonly onChange: (modelService: string, model: string) => void;
31
- }): ReactElement;
32
- //# sourceMappingURL=agent-type.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-type.d.ts","sourceRoot":"","sources":["../../../client/components/agent-type.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAsB3D,mCAAmC;AACnC,wBAAgB,YAAY,CAAC,EAC3B,IAAI,GACL,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GAAG,YAAY,CAQf;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;CAC9C,GAAG,YAAY,CA4Bf;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,GAAG,IAAI,CAiBtD;AAED,mFAAmF;AACnF,wBAAgB,QAAQ,IAAI,YAAY,CAGvC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE,GAAG,YAAY,CA0Ef"}
@@ -1,80 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * What the agent pages show of an agent's type: the Online / Runner tag, the type choice of the new-agent dialog, the
4
- * model service and model selects of an online agent's entry, whose options come from the server's model catalog
5
- * (`GET agents/admin/models`), and what an online agent that lists no model answers with: the system default chat
6
- * model (`GET agents/defaultModels`), with the way to the Models page to change it.
7
- */
8
- import { useTranslation } from '@nocobase/i18n/client';
9
- import { MessageSquareIcon, WrenchIcon } from 'lucide-react';
10
- import { Link } from 'react-router';
11
- import { AGENT_TYPES } from '../../shared/agents.js';
12
- import { useDefaultModels, useDefaultModelText, } from '../hooks/use-model-catalog.js';
13
- import { AgTag } from './ag-tag.js';
14
- import { Field, FieldContent, FieldDescription, FieldLabel, FieldTitle, } from './ui/field.js';
15
- import { RadioGroup, RadioGroupItem } from './ui/radio-group.js';
16
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from './ui/select.js';
17
- /** A small Online / Runner tag. */
18
- export function AgentTypeTag({ type, }) {
19
- const { t } = useTranslation();
20
- return (_jsxs(AgTag, { tone: type === 'online' ? 'violet' : 'blue', children: [type === 'online' ? _jsx(MessageSquareIcon, {}) : _jsx(WrenchIcon, {}), t(`agentTypes.${type}`)] }));
21
- }
22
- /** The new-agent dialog's first question: an online agent or a runner agent. */
23
- export function AgentTypePicker({ value, onChange, }) {
24
- const { t } = useTranslation();
25
- return (_jsx(RadioGroup, { "aria-label": t('agentTypes.label'), value: value, className: 'grid-cols-1 sm:grid-cols-2', onValueChange: (next) => {
26
- const type = AGENT_TYPES.find((candidate) => candidate === next);
27
- if (type)
28
- onChange(type);
29
- }, children: ['online', 'runner'].map((type) => (_jsx(FieldLabel, { htmlFor: `ag-agent-type-${type}`, children: _jsxs(Field, { orientation: 'horizontal', children: [_jsxs(FieldContent, { children: [_jsxs(FieldTitle, { children: [type === 'online' ? _jsx(MessageSquareIcon, {}) : _jsx(WrenchIcon, {}), t(`agentTypes.${type}`)] }), _jsx(FieldDescription, { children: t(`agentTypes.${type}Hint`) })] }), _jsx(RadioGroupItem, { value: type, id: `ag-agent-type-${type}` })] }) }, type))) }));
30
- }
31
- /**
32
- * What an online agent that lists no model answers with: the system default chat model, with a link to change it on
33
- * the Models page; or, while no service offers a chat model, that it needs one, with a link to set one up.
34
- */
35
- export function DefaultModelNote() {
36
- const { t } = useTranslation();
37
- const defaults = useDefaultModels();
38
- const model = useDefaultModelText();
39
- if (!defaults.data)
40
- return null;
41
- return (_jsxs(FieldDescription, { "data-testid": 'ag-default-model-note', children: [_jsx("span", { children: model
42
- ? t('agents.usesDefaultModel', { model })
43
- : t('agentForm.noModels') }), ' ', _jsx(Link, { to: '/models', className: 'underline underline-offset-4', children: model ? t('agents.changeDefaultModel') : t('agents.setUpModels') })] }));
44
- }
45
- /** What online agents need and is missing: no model service offers a model yet. */
46
- export function NoModels() {
47
- const { t } = useTranslation();
48
- return _jsx(FieldDescription, { children: t('agentForm.noModels') });
49
- }
50
- /**
51
- * The model service and model selects of a row of the tools-and-models list, labelled for assistive technology only
52
- * (the list's header names the columns); a model no longer offered stays listed so it shows.
53
- */
54
- export function ModelFields({ idPrefix, catalog, modelService, model, disabled, onChange, }) {
55
- const { t } = useTranslation();
56
- const services = catalog?.services ?? [];
57
- const serviceItems = [
58
- ...services.map((service) => ({
59
- value: service.name,
60
- label: service.title,
61
- })),
62
- ...(modelService &&
63
- !services.some((service) => service.name === modelService)
64
- ? [{ value: modelService, label: modelService }]
65
- : []),
66
- ];
67
- const offered = services.find((service) => service.name === modelService)?.models ?? [];
68
- const modelItems = [
69
- ...offered.map((option) => ({ value: option.value, label: option.label })),
70
- ...(model && !offered.some((option) => option.value === model)
71
- ? [{ value: model, label: model }]
72
- : []),
73
- ];
74
- return (_jsxs(_Fragment, { children: [_jsxs(Select, { items: serviceItems, value: modelService || null, disabled: disabled, onValueChange: (next) => {
75
- const first = services.find((service) => service.name === next)?.models[0]
76
- ?.value ?? '';
77
- onChange(next ?? '', first);
78
- }, children: [_jsx(SelectTrigger, { id: `${idPrefix}-service`, "aria-label": t('agentForm.modelService'), className: 'w-full', children: _jsx(SelectValue, { placeholder: t('agentForm.chooseService') }) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: serviceItems.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] }), _jsxs(Select, { items: modelItems, value: model || null, disabled: disabled || !modelService, onValueChange: (next) => onChange(modelService, next ?? ''), children: [_jsx(SelectTrigger, { id: `${idPrefix}-model`, "aria-label": t('agentForm.model'), className: 'w-full', children: _jsx(SelectValue, { placeholder: t('agentForm.chooseModel') }) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: modelItems.map((item) => (_jsx(SelectItem, { value: item.value, children: item.label }, item.value))) })] })] }));
79
- }
80
- //# sourceMappingURL=agent-type.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-type.js","sourceRoot":"","sources":["../../../client/components/agent-type.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAkB,MAAM,wBAAwB,CAAC;AAErE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EACL,KAAK,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,mCAAmC;AACnC,MAAM,UAAU,YAAY,CAAC,EAC3B,IAAI,GAGL;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,CACL,MAAC,KAAK,IAAC,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,aAC/C,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,EAC1D,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,IAClB,CACT,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,EAC9B,KAAK,EACL,QAAQ,GAIT;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,CACL,KAAC,UAAU,kBACG,CAAC,CAAC,kBAAkB,CAAC,EACjC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,4BAA4B,EACtC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;YACjE,IAAI,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC,YAEC,CAAC,QAAQ,EAAE,QAAQ,CAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC7C,KAAC,UAAU,IAAY,OAAO,EAAE,iBAAiB,IAAI,EAAE,YACrD,MAAC,KAAK,IAAC,WAAW,EAAC,YAAY,aAC7B,MAAC,YAAY,eACX,MAAC,UAAU,eACR,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,CAAC,CAAC,CAAC,KAAC,UAAU,KAAG,EAC1D,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,IACb,EACb,KAAC,gBAAgB,cAAE,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,GAAoB,IACrD,EACf,KAAC,cAAc,IAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,IAAI,EAAE,GAAI,IACtD,IAVO,IAAI,CAWR,CACd,CAAC,GACS,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,OAAO,CACL,MAAC,gBAAgB,mBAAa,uBAAuB,aACnD,yBACG,KAAK;oBACJ,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,CAAC;oBACzC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GACtB,EAAC,GAAG,EACX,KAAC,IAAI,IAAC,EAAE,EAAC,SAAS,EAAC,SAAS,EAAC,8BAA8B,YACxD,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAC5D,IACU,CACpB,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,KAAC,gBAAgB,cAAE,CAAC,CAAC,oBAAoB,CAAC,GAAoB,CAAC;AACxE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,QAAQ,GAQT;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG;QACnB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;QACH,GAAG,CAAC,YAAY;YAChB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC;YACxD,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YAChD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,OAAO,GACX,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC;IAC1E,MAAM,UAAU,GAAG;QACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1E,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC;YAC5D,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,OAAO,CACL,8BACE,MAAC,MAAM,IACL,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,YAAY,IAAI,IAAI,EAC3B,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,CAAC,IAAmB,EAAE,EAAE;oBACrC,MAAM,KAAK,GACT,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;wBAC1D,EAAE,KAAK,IAAI,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC9B,CAAC,aAED,KAAC,aAAa,IACZ,EAAE,EAAE,GAAG,QAAQ,UAAU,gBACb,CAAC,CAAC,wBAAwB,CAAC,EACvC,SAAS,EAAC,QAAQ,YAElB,KAAC,WAAW,IAAC,WAAW,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAI,GAC5C,EAChB,KAAC,aAAa,IAAC,SAAS,EAAC,kJAAkJ,YACxK,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1B,KAAC,UAAU,IAAkB,KAAK,EAAE,IAAI,CAAC,KAAK,YAC3C,IAAI,CAAC,KAAK,IADI,IAAI,CAAC,KAAK,CAEd,CACd,CAAC,GACY,IACT,EACT,MAAC,MAAM,IACL,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,KAAK,IAAI,IAAI,EACpB,QAAQ,EAAE,QAAQ,IAAI,CAAC,YAAY,EACnC,aAAa,EAAE,CAAC,IAAmB,EAAE,EAAE,CACrC,QAAQ,CAAC,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,aAGpC,KAAC,aAAa,IACZ,EAAE,EAAE,GAAG,QAAQ,QAAQ,gBACX,CAAC,CAAC,iBAAiB,CAAC,EAChC,SAAS,EAAC,QAAQ,YAElB,KAAC,WAAW,IAAC,WAAW,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAI,GAC1C,EAChB,KAAC,aAAa,IAAC,SAAS,EAAC,kJAAkJ,YACxK,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,KAAC,UAAU,IAAkB,KAAK,EAAE,IAAI,CAAC,KAAK,YAC3C,IAAI,CAAC,KAAK,IADI,IAAI,CAAC,KAAK,CAEd,CACd,CAAC,GACY,IACT,IACR,CACJ,CAAC;AACJ,CAAC"}
@@ -1,35 +0,0 @@
1
- import { type AgentTool } from '@nocobase/agent-protocol';
2
- import type { ReactElement, ReactNode } from 'react';
3
- import { type AgentType } from '../../shared/agents.js';
4
- import type { ModelCatalog } from '../../shared/models.js';
5
- import type { RunnerSummary } from '../../shared/runners.js';
6
- import { type EntryDraft } from '../pages/agents/agent-model.js';
7
- /** A model typed freely, with the tool's common models suggested as the person types. */
8
- export declare function ModelInput({ id, tool, value, disabled, placeholder, ariaLabel, onChange, }: {
9
- readonly id: string;
10
- readonly tool: AgentTool;
11
- readonly value: string;
12
- readonly disabled?: boolean;
13
- readonly placeholder?: string;
14
- /** For a field with no visible label. */
15
- readonly ariaLabel?: string;
16
- readonly onChange: (model: string) => void;
17
- }): ReactElement;
18
- export declare function ModelEntriesEditor({ idPrefix, type, value, runners, catalog, disabled, onChange, onTest, testing, empty, }: {
19
- readonly idPrefix: string;
20
- readonly type: AgentType;
21
- readonly value: readonly EntryDraft[];
22
- /** For the count of runners each tool can run on now. */
23
- readonly runners?: readonly RunnerSummary[] | undefined;
24
- /** The services and models online rows choose from. */
25
- readonly catalog?: ModelCatalog | undefined;
26
- readonly disabled?: boolean;
27
- readonly onChange: (entries: EntryDraft[]) => void;
28
- /** Online rows: asks the model of a row for a short answer. */
29
- readonly onTest?: (entry: EntryDraft) => void;
30
- /** The key of the row being tested. */
31
- readonly testing?: string | null;
32
- /** What an online list without rows says: which model answers instead (`DefaultModelNote`). */
33
- readonly empty?: ReactNode;
34
- }): ReactElement;
35
- //# sourceMappingURL=model-entries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-entries.d.ts","sourceRoot":"","sources":["../../../client/components/model-entries.tsx"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,gCAAgC,CAAC;AAQxC,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C,GAAG,YAAY,CA8Cf;AA2DD,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,GACN,EAAE;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IACxD,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IACnD,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,uCAAuC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;CAC5B,GAAG,YAAY,CA8Lf"}
@@ -1,82 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * An agent's tools and models, in order, as a compact list: one header row names the columns, and each row is one entry
4
- * with its reasoning effort. A runner agent's rows pair a coding tool with a model (free text, suggested from what the
5
- * tool is commonly run with; empty for the tool's default), an online agent's rows a model service with one of its
6
- * models. The efforts offered are the row's tool's or the online ones. The first row is the default. Rows are added,
7
- * removed and moved up or down; an online agent may remove its last row and wait for a model, a runner agent may not.
8
- */
9
- import { Autocomplete } from '@base-ui/react';
10
- import { TOOL_MODEL_SUGGESTIONS, } from '@nocobase/agent-protocol';
11
- import { useTranslation } from '@nocobase/i18n/client';
12
- import { ArrowDownIcon, ArrowUpIcon, FlaskConicalIcon, PlusIcon, Trash2Icon, } from 'lucide-react';
13
- import { effortsFor, MAX_MODEL_ENTRIES, } from '../../shared/agents.js';
14
- import { cn } from 'cn';
15
- import { moveEntry, newEntryDraft, } from '../pages/agents/agent-model.js';
16
- import { EffortSelect, ToolSelect } from './agent-fields.js';
17
- import { ModelFields } from './agent-type.js';
18
- import { Badge } from './ui/badge.js';
19
- import { Button } from './ui/button.js';
20
- import { InputGroup, InputGroupInput } from './ui/input-group.js';
21
- import { Tooltip, TooltipContent, TooltipTrigger } from './ui/tooltip.js';
22
- /** A model typed freely, with the tool's common models suggested as the person types. */
23
- export function ModelInput({ id, tool, value, disabled, placeholder, ariaLabel, onChange, }) {
24
- const { t } = useTranslation();
25
- return (_jsxs(Autocomplete.Root, { items: TOOL_MODEL_SUGGESTIONS[tool], value: value, openOnInputClick: true, disabled: disabled, onValueChange: (next) => onChange(next), children: [_jsx(InputGroup, { className: 'w-full', children: _jsx(Autocomplete.Input, { id: id, render: _jsx(InputGroupInput, { disabled: disabled }), placeholder: placeholder, "aria-label": ariaLabel, title: t('modelEntries.suggestions') }) }), _jsx(Autocomplete.Portal, { children: _jsx(Autocomplete.Positioner, { side: 'bottom', sideOffset: 6, align: 'start', className: 'isolate z-50', children: _jsx(Autocomplete.Popup, { "data-slot": 'combobox-content', className: 'max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) origin-(--transform-origin) overflow-hidden rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95', children: _jsx(Autocomplete.List, { className: 'max-h-72 scroll-py-1 overflow-y-auto overscroll-contain p-1 data-empty:p-0', children: (item) => (_jsx(Autocomplete.Item, { value: item, className: 'relative flex w-full cursor-default items-center gap-2 rounded-md px-1.5 py-1 font-mono text-sm outline-hidden select-none data-highlighted:bg-accent data-highlighted:text-accent-foreground', children: item }, item)) }) }) }) })] }));
26
- }
27
- /**
28
- * Columns: index and default badge, tool or service, model, effort, the row's buttons. The header and every row are
29
- * subgrids of one grid, so a column is as wide in each; the selects keep room for their placeholders.
30
- */
31
- const COLUMNS = 'grid grid-cols-[auto_minmax(10rem,1fr)_minmax(10rem,1.5fr)_minmax(8rem,1fr)_auto] items-center gap-x-2 gap-y-1.5';
32
- const ROW = 'col-span-full grid grid-cols-subgrid items-center';
33
- /** The effort a row keeps when its tool changes: its own while the new tool takes it, else the default. */
34
- function effortFor(tool, effort) {
35
- return effortsFor({ tool }).includes(effort) ? effort : '';
36
- }
37
- /** A new online row starts on the first service and model offered, when there is one. */
38
- function firstOffered(catalog) {
39
- const service = catalog?.services[0];
40
- const model = service?.models[0]?.value;
41
- return service && model ? { modelService: service.name, model } : {};
42
- }
43
- /** Removes a row; the last row of a runner agent stays, with a tooltip saying why. */
44
- function RemoveButton({ required, disabled, onClick, }) {
45
- const { t } = useTranslation();
46
- const button = (_jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.remove'), title: required ? undefined : t('modelEntries.remove'), disabled: disabled || required, onClick: onClick, children: _jsx(Trash2Icon, {}) }));
47
- if (!required)
48
- return button;
49
- return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: _jsx("span", { tabIndex: 0, className: 'inline-flex' }), children: button }), _jsx(TooltipContent, { children: t('modelEntries.runnerNeedsOne') })] }));
50
- }
51
- export function ModelEntriesEditor({ idPrefix, type, value, runners, catalog, disabled, onChange, onTest, testing, empty, }) {
52
- const { t } = useTranslation();
53
- const replace = (index, patch) => onChange(value.map((entry, at) => (at === index ? { ...entry, ...patch } : entry)));
54
- const add = () => onChange([
55
- ...value,
56
- newEntryDraft(type === 'online'
57
- ? firstOffered(catalog)
58
- : value.length > 0
59
- ? { tool: value[value.length - 1].tool }
60
- : {}),
61
- ]);
62
- return (_jsxs("div", { className: 'flex flex-col gap-2', children: [value.length > 0 ? (_jsx("div", { className: 'overflow-x-auto', children: _jsxs("div", { className: COLUMNS, children: [_jsxs("div", { "aria-hidden": true, className: cn(ROW, 'text-xs font-medium text-muted-foreground'), children: [_jsx("span", {}), _jsx("span", { children: type === 'online'
63
- ? t('agentForm.modelService')
64
- : t('agentForm.tool') }), _jsx("span", { children: t('agentForm.model') }), _jsx("span", { children: t('agentForm.reasoningEffort') }), _jsx("span", {})] }), _jsx("ol", { className: cn(ROW, 'gap-y-1.5'), "aria-label": t('modelEntries.title'), children: value.map((entry, index) => {
65
- const rowId = `${idPrefix}-${index}`;
66
- return (_jsxs("li", { "data-testid": 'ag-model-entry', "aria-label": t('modelEntries.row', { index: index + 1 }), className: ROW, children: [_jsxs("div", { className: 'flex items-center gap-1.5', children: [_jsx("span", { className: 'w-4 text-right text-sm text-muted-foreground tabular-nums', children: index + 1 }), index === 0 ? (_jsx(Badge, { variant: 'secondary', children: t('modelEntries.default') })) : null] }), type === 'online' ? (_jsx(ModelFields, { idPrefix: rowId, catalog: catalog, modelService: entry.modelService, model: entry.model, disabled: disabled, onChange: (modelService, model) => replace(index, { modelService, model }) })) : (_jsxs(_Fragment, { children: [_jsx(ToolSelect, { id: `${rowId}-tool`, value: entry.tool, runners: runners, disabled: disabled, ariaLabel: t('agentForm.tool'), onChange: (tool) => replace(index, {
67
- tool,
68
- effort: effortFor(tool, entry.effort),
69
- }) }), _jsx(ModelInput, { id: `${rowId}-model`, tool: entry.tool, value: entry.model, disabled: disabled, placeholder: t('agents.defaultModel'), ariaLabel: t('agentForm.model'), onChange: (model) => replace(index, { model }) })] })), _jsx(EffortSelect, { id: `${rowId}-effort`, efforts: effortsFor(type === 'online'
70
- ? { modelService: entry.modelService }
71
- : { tool: entry.tool }), value: entry.effort, disabled: disabled, ariaLabel: t('agentForm.reasoningEffort'), onChange: (effort) => replace(index, { effort }) }), _jsxs("div", { className: 'flex items-center', children: [type === 'online' && onTest ? (_jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelSection.test'), title: t('modelSection.test'), disabled: !entry.modelService ||
72
- !entry.model ||
73
- testing === entry.key, onClick: () => onTest(entry), children: _jsx(FlaskConicalIcon, {}) })) : null, _jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.moveUp'), title: t('modelEntries.moveUp'), disabled: disabled || index === 0, onClick: () => onChange(moveEntry(value, index, index - 1)), children: _jsx(ArrowUpIcon, {}) }), _jsx(Button, { type: 'button', variant: 'ghost', size: 'icon-sm', "aria-label": t('modelEntries.moveDown'), title: t('modelEntries.moveDown'), disabled: disabled || index === value.length - 1, onClick: () => onChange(moveEntry(value, index, index + 1)), children: _jsx(ArrowDownIcon, {}) }), _jsx(RemoveButton
74
- // A runner agent needs an entry to run; an online one may wait for a model.
75
- , {
76
- // A runner agent needs an entry to run; an online one may wait for a model.
77
- required: type === 'runner' && value.length === 1, disabled: disabled, onClick: () => onChange(value.filter((_, at) => at !== index)) })] })] }, entry.key));
78
- }) })] }) })) : type === 'online' ? (empty) : (_jsx("p", { className: 'text-sm text-muted-foreground', children: t('modelEntries.required') })), _jsx("div", { children: _jsxs(Button, { type: 'button', variant: 'ghost', size: 'sm', disabled: disabled || value.length >= MAX_MODEL_ENTRIES, onClick: add, children: [_jsx(PlusIcon, { "data-icon": 'inline-start' }), type === 'online' && value.length === 0
79
- ? t('modelEntries.choose')
80
- : t('modelEntries.add')] }) })] }));
81
- }
82
- //# sourceMappingURL=model-entries.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-entries.js","sourceRoot":"","sources":["../../../client/components/model-entries.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { type UseMutationResult } from '@tanstack/react-query';
2
- import type { Agent, AgentInput } from '../../shared/agents.js';
3
- /**
4
- * Saves part of an agent (a tab of its page) against the revision the page shows, and refreshes it and the list. When
5
- * someone else saved the agent meanwhile, nothing is saved and `onConflict` hears the revision the page held; without
6
- * it, the refusal is a toast.
7
- */
8
- export declare function useAgentSave(agent: Pick<Agent, 'id' | 'revision'>, onConflict?: (revision: number) => void): UseMutationResult<Agent, unknown, Partial<AgentInput>>;
9
- //# sourceMappingURL=use-agent-save.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-agent-save.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-agent-save.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAMhE;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,UAAU,CAAC,EACrC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GACtC,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CA2BxD"}
@@ -1,40 +0,0 @@
1
- import { useMutation, useQueryClient, } from '@tanstack/react-query';
2
- import { useTranslation } from '@nocobase/i18n/client';
3
- import { agentsKeys } from '../api/keys.js';
4
- import { isRevisionConflict } from '../lib/revision.js';
5
- import { useAgentsApi } from './use-agents-api.js';
6
- import { useNotify } from './use-notify.js';
7
- /**
8
- * Saves part of an agent (a tab of its page) against the revision the page shows, and refreshes it and the list. When
9
- * someone else saved the agent meanwhile, nothing is saved and `onConflict` hears the revision the page held; without
10
- * it, the refusal is a toast.
11
- */
12
- export function useAgentSave(agent, onConflict) {
13
- const api = useAgentsApi();
14
- const notify = useNotify();
15
- const { t } = useTranslation();
16
- const queryClient = useQueryClient();
17
- return useMutation({
18
- mutationFn: (patch) => api.updateAgent(agent.id, {
19
- ...patch,
20
- expectedRevision: agent.revision,
21
- }),
22
- onSuccess: (saved) => notify.success(t('agentDetail.saved', { name: saved.name })),
23
- onError: (error) => {
24
- if (isRevisionConflict(error) && onConflict)
25
- onConflict(agent.revision);
26
- else
27
- notify.error(error);
28
- },
29
- onSettled: () => {
30
- void queryClient.invalidateQueries({ queryKey: agentsKeys.agents });
31
- void queryClient.invalidateQueries({
32
- queryKey: agentsKeys.agent(agent.id),
33
- });
34
- void queryClient.invalidateQueries({
35
- queryKey: agentsKeys.agentHistory(agent.id),
36
- });
37
- },
38
- });
39
- }
40
- //# sourceMappingURL=use-agent-save.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-agent-save.js","sourceRoot":"","sources":["../../../client/hooks/use-agent-save.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,GAEf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAqC,EACrC,UAAuC;IAEvC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC;QACjB,UAAU,EAAE,CAAC,KAA0B,EAAE,EAAE,CACzC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE;YACxB,GAAG,KAAK;YACR,gBAAgB,EAAE,KAAK,CAAC,QAAQ;SACjC,CAAC;QACJ,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CACnB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,UAAU;gBAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;;gBACnE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;aACrC,CAAC,CAAC;YACH,KAAK,WAAW,CAAC,iBAAiB,CAAC;gBACjC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,9 +0,0 @@
1
- import { type UseQueryResult } from '@tanstack/react-query';
2
- import type { DefaultModels, ModelCatalog } from '../../shared/models.js';
3
- /** The model services and models online agents may use (`GET agents/admin/models`). */
4
- export declare function useModelCatalog(): UseQueryResult<ModelCatalog>;
5
- /** The system default chat model online agents with no models of their own use (`GET agents/defaultModels`). */
6
- export declare function useDefaultModels(): UseQueryResult<DefaultModels>;
7
- /** The system default chat model as the agent pages name it, "service · model"; null while there is none or loading. */
8
- export declare function useDefaultModelText(): string | null;
9
- //# sourceMappingURL=use-model-catalog.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-model-catalog.d.ts","sourceRoot":"","sources":["../../../client/hooks/use-model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI1E,uFAAuF;AACvF,wBAAgB,eAAe,IAAI,cAAc,CAAC,YAAY,CAAC,CAO9D;AAED,gHAAgH;AAChH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,aAAa,CAAC,CAOhE;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAGnD"}
@@ -1,27 +0,0 @@
1
- import { useQuery } from '@tanstack/react-query';
2
- import { agentsKeys } from '../api/keys.js';
3
- import { useAgentsApi } from './use-agents-api.js';
4
- /** The model services and models online agents may use (`GET agents/admin/models`). */
5
- export function useModelCatalog() {
6
- const api = useAgentsApi();
7
- return useQuery({
8
- queryKey: agentsKeys.models,
9
- queryFn: () => api.models(),
10
- staleTime: 30_000,
11
- });
12
- }
13
- /** The system default chat model online agents with no models of their own use (`GET agents/defaultModels`). */
14
- export function useDefaultModels() {
15
- const api = useAgentsApi();
16
- return useQuery({
17
- queryKey: agentsKeys.defaultModels,
18
- queryFn: () => api.defaultModels(),
19
- staleTime: 30_000,
20
- });
21
- }
22
- /** The system default chat model as the agent pages name it, "service · model"; null while there is none or loading. */
23
- export function useDefaultModelText() {
24
- const chosen = useDefaultModels().data?.effectiveChat;
25
- return chosen ? `${chosen.serviceTitle} · ${chosen.modelLabel}` : null;
26
- }
27
- //# sourceMappingURL=use-model-catalog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-model-catalog.js","sourceRoot":"","sources":["../../../client/hooks/use-model-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,uBAAuB,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,uFAAuF;AACvF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,UAAU,CAAC,MAAM;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE;QAC3B,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;IAC3B,OAAO,QAAQ,CAAC;QACd,QAAQ,EAAE,UAAU,CAAC,aAAa;QAClC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE;QAClC,SAAS,EAAE,MAAM;KAClB,CAAC,CAAC;AACL,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC;IACtD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const DEFAULT_ALLOWED_COMMANDS: readonly string[];
2
- export declare const DEFAULT_DENIED_PATTERNS: readonly string[];
3
- /** 30 minutes. */
4
- export declare const DEFAULT_IDLE_TIMEOUT_MS: number;
5
- //# sourceMappingURL=tool-policy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-policy.d.ts","sourceRoot":"","sources":["../../../client/lib/tool-policy.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EACjB,CAAC;AAEtC,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EACjB,CAAC;AAErC,kBAAkB;AAClB,eAAO,MAAM,uBAAuB,EAAE,MACH,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * The tool policy an agent starts from, as the server applies it (`DEFAULT_TOOL_POLICY` in `shared/agents.ts`), shown
3
- * in the agent's advanced settings so people see what they override.
4
- */
5
- import { DEFAULT_TOOL_POLICY } from '../../shared/agents.js';
6
- export const DEFAULT_ALLOWED_COMMANDS = DEFAULT_TOOL_POLICY.allowedCommands;
7
- export const DEFAULT_DENIED_PATTERNS = DEFAULT_TOOL_POLICY.deniedPatterns;
8
- /** 30 minutes. */
9
- export const DEFAULT_IDLE_TIMEOUT_MS = DEFAULT_TOOL_POLICY.idleTimeoutMs;
10
- //# sourceMappingURL=tool-policy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-policy.js","sourceRoot":"","sources":["../../../client/lib/tool-policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,CAAC,MAAM,wBAAwB,GACnC,mBAAmB,CAAC,eAAe,CAAC;AAEtC,MAAM,CAAC,MAAM,uBAAuB,GAClC,mBAAmB,CAAC,cAAc,CAAC;AAErC,kBAAkB;AAClB,MAAM,CAAC,MAAM,uBAAuB,GAClC,mBAAmB,CAAC,aAAa,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { ReactElement } from 'react';
2
- export declare function DefaultModelSection({ canManage, }: {
3
- readonly canManage: boolean;
4
- }): ReactElement;
5
- //# sourceMappingURL=default-model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default-model.d.ts","sourceRoot":"","sources":["../../../client/online/default-model.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA8C1C,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,GAAG,YAAY,CAyFf"}
@@ -1,65 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * The system default chat model, at the top of the Models page: the chat model online agents with no models of their
4
- * own answer with, chosen among the chat models the enabled services offer. With none set, the first one offered is
5
- * used (and the first one turned on becomes it). Who only reads services sees it, unchangeable.
6
- */
7
- import { useTranslation } from '@nocobase/i18n/client';
8
- import { useMutation, useQueryClient } from '@tanstack/react-query';
9
- import { agentsKeys } from '../api/keys.js';
10
- import { Field, FieldContent, FieldDescription, FieldGroup, FieldLabel, } from '../components/ui/field.js';
11
- import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectTrigger, SelectValue, } from '../components/ui/select.js';
12
- import { Skeleton } from '../components/ui/skeleton.js';
13
- import { useAgentsApi } from '../hooks/use-agents-api.js';
14
- import { useDefaultModels, useModelCatalog, } from '../hooks/use-model-catalog.js';
15
- import { useNotify } from '../hooks/use-notify.js';
16
- const SEPARATOR = '\u0000';
17
- /** A chat model as the select holds it. */
18
- const refValue = (ref) => `${ref.modelService}${SEPARATOR}${ref.model}`;
19
- /** The chat models of the catalog as the select lists them, labelled "service · model". */
20
- function defaultModelItems(catalog) {
21
- return catalog.services.flatMap((service) => service.models.map((model) => ({
22
- value: refValue({ modelService: service.name, model: model.value }),
23
- label: `${service.title} · ${model.label}`,
24
- })));
25
- }
26
- export function DefaultModelSection({ canManage, }) {
27
- const { t } = useTranslation();
28
- const api = useAgentsApi();
29
- const notify = useNotify();
30
- const queryClient = useQueryClient();
31
- const catalog = useModelCatalog();
32
- const defaults = useDefaultModels();
33
- const save = useMutation({
34
- mutationFn: (ref) => api.setDefaultChatModel(ref),
35
- onSuccess: async (saved) => {
36
- queryClient.setQueryData(agentsKeys.defaultModels, saved);
37
- await queryClient.invalidateQueries({ queryKey: agentsKeys.all });
38
- const chosen = saved.effectiveChat;
39
- notify.success(t('defaultModel.saved', {
40
- model: chosen ? `${chosen.serviceTitle} · ${chosen.modelLabel}` : '',
41
- }));
42
- },
43
- onError: (error) => notify.error(error),
44
- });
45
- const items = catalog.data ? defaultModelItems(catalog.data) : [];
46
- const effective = defaults.data?.effectiveChat ?? null;
47
- const id = 'ag-default-chat-model';
48
- let control;
49
- if (!catalog.data || !defaults.data)
50
- control = _jsx(Skeleton, { className: 'h-8 w-full sm:w-80' });
51
- else if (items.length === 0 || !effective)
52
- control = (_jsx("p", { className: 'text-sm text-muted-foreground sm:max-w-80', children: t('defaultModel.none') }));
53
- else
54
- control = (_jsxs(Select, { items: items, value: refValue(effective), disabled: !canManage || save.isPending, onValueChange: (value) => {
55
- if (!value)
56
- return;
57
- const [modelService = '', model = ''] = value.split(SEPARATOR);
58
- save.mutate({ modelService, model });
59
- }, children: [_jsx(SelectTrigger, { id: id, className: 'w-full min-w-0 sm:w-80', children: _jsx(SelectValue, {}) }), _jsx(SelectContent, { className: 'w-auto max-w-[min(var(--container-sm),var(--available-width))] min-w-(--anchor-width) [&_[data-slot=select-item]>:first-child]:whitespace-normal', children: catalog.data.services.map((service) => (_jsxs(SelectGroup, { children: [_jsx(SelectLabel, { children: service.title }), service.models.map((model) => (_jsx(SelectItem, { value: refValue({
60
- modelService: service.name,
61
- model: model.value,
62
- }), children: model.label }, model.value)))] }, service.name))) })] }));
63
- return (_jsx("section", { className: 'rounded-lg border p-4', "aria-labelledby": `${id}-title`, "data-testid": 'ag-default-model', children: _jsx(FieldGroup, { children: _jsxs(Field, { orientation: 'responsive', children: [_jsxs(FieldContent, { children: [_jsx(FieldLabel, { id: `${id}-title`, htmlFor: id, children: t('defaultModel.title') }), _jsx(FieldDescription, { children: t('defaultModel.description') })] }), control] }) }) }));
64
- }
65
- //# sourceMappingURL=default-model.js.map