@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
@@ -13,7 +13,10 @@
13
13
  *
14
14
  * - Repository access is asked per run (`forRun`, in the claim's transaction) once the run has repositories to check
15
15
  * out. Its credentials are minted in `prepare` (a network call is fine there), handed to the runner in the payload
16
- * and never stored; the claim remembers them as secrets, so nothing the run reports carries them.
16
+ * and never stored; the claim remembers them as secrets, so nothing the run reports carries them. When the runner
17
+ * asks for credentials on demand (the `gitCredentials` feature, `RepoAccessContext.onDemand`), a provider that can
18
+ * `issue` one lists its repositories in `RunGit.onDemand` instead and mints nothing at the claim: the runner asks
19
+ * for each credential whenever git needs one, for as long as it holds the run (`git-credentials.ts`).
17
20
  *
18
21
  * Inside the claim's transaction a provider reads through the claim's connection only: on SQLite that transaction
19
22
  * holds the one connection there is, so anything else (a person's permissions, another plugin's services) would wait
@@ -104,6 +107,19 @@ export async function mountsFor(conn, registry, context, prepared) {
104
107
  }
105
108
  return { mounts, resumeNotes };
106
109
  }
110
+ /**
111
+ * What a provider throws from `issue` when it cannot give a credential, with a message safe to show the run's people
112
+ * and the agent (no credential, no internal detail): `unavailable` when its code host is down or slow and asking again
113
+ * later may work, `denied` when it will not issue one (no access to the repository, an installation gone).
114
+ */
115
+ export class RepoAccessError extends Error {
116
+ name = 'RepoAccessError';
117
+ kind;
118
+ constructor(kind, message) {
119
+ super(message);
120
+ this.kind = kind;
121
+ }
122
+ }
107
123
  export function createRepoAccessRegistry() {
108
124
  const providers = new Map();
109
125
  return {
@@ -121,7 +137,9 @@ export function createRepoAccessRegistry() {
121
137
  }
122
138
  /**
123
139
  * The run's git, from every provider: the first author given, every trailer and credential in order (one credential
124
- * per URL, the first).
140
+ * per URL, the first). With `context.onDemand`, the URLs any provider lists in `onDemand` (only repositories of the
141
+ * run) are asked for on demand, and no credential of the claim is handed out for them; without it, `onDemand` is
142
+ * dropped.
125
143
  */
126
144
  export async function repoAccessFor(conn, registry, context, prepared) {
127
145
  if (context.repos.length === 0)
@@ -129,6 +147,8 @@ export async function repoAccessFor(conn, registry, context, prepared) {
129
147
  let author;
130
148
  const trailers = [];
131
149
  const credentials = new Map();
150
+ const repoUrls = new Set(context.repos.map((repo) => repo.url));
151
+ const onDemand = new Set();
132
152
  for (const provider of registry?.list() ?? []) {
133
153
  const given = await provider.forRun(conn, context, prepared.get(`repo:${provider.key}`));
134
154
  if (!given)
@@ -140,20 +160,30 @@ export async function repoAccessFor(conn, registry, context, prepared) {
140
160
  for (const credential of given.credentials ?? [])
141
161
  if (!credentials.has(credential.url))
142
162
  credentials.set(credential.url, credential);
163
+ if (context.onDemand)
164
+ for (const url of given.onDemand ?? [])
165
+ if (repoUrls.has(url))
166
+ onDemand.add(url);
143
167
  }
144
- if (!author && trailers.length === 0 && credentials.size === 0)
168
+ for (const url of onDemand)
169
+ credentials.delete(url);
170
+ if (!author &&
171
+ trailers.length === 0 &&
172
+ credentials.size === 0 &&
173
+ onDemand.size === 0)
145
174
  return null;
146
175
  return {
147
176
  ...(author ? { author } : {}),
148
177
  ...(trailers.length > 0 ? { trailers } : {}),
149
178
  ...(credentials.size > 0 ? { credentials: [...credentials.values()] } : {}),
179
+ ...(onDemand.size > 0 ? { onDemand: [...onDemand] } : {}),
150
180
  };
151
181
  }
152
182
  /**
153
183
  * Runs every provider's `prepare` for `run`, outside any transaction. A provider whose preparation fails gets
154
184
  * undefined, and is told so by its own absent answer; the claim goes on.
155
185
  */
156
- export async function prepareExtensions(run, sections, mounts, onError, repoAccess) {
186
+ export async function prepareExtensions(run, sections, mounts, onError, repoAccess, repoOptions = { onDemand: false }) {
157
187
  const prepared = new Map();
158
188
  const hooks = [
159
189
  ...(sections?.list() ?? []).flatMap((provider) => provider.prepare
@@ -166,11 +196,17 @@ export async function prepareExtensions(run, sections, mounts, onError, repoAcce
166
196
  [`mount:${provider.name}`, provider.prepare],
167
197
  ]
168
198
  : []),
169
- ...(repoAccess?.list() ?? []).flatMap((provider) => provider.prepare
170
- ? [
171
- [`repo:${provider.key}`, provider.prepare],
172
- ]
173
- : []),
199
+ ...(repoAccess?.list() ?? []).flatMap((provider) => {
200
+ const prepare = provider.prepare;
201
+ return prepare
202
+ ? [
203
+ [
204
+ `repo:${provider.key}`,
205
+ (each) => prepare(each, repoOptions),
206
+ ],
207
+ ]
208
+ : [];
209
+ }),
174
210
  ];
175
211
  for (const [key, prepare] of hooks)
176
212
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../../server/core/runs/extensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../../server/core/runs/extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Repository credentials on demand (`RUNNER_ROUTES.gitCredential`, the `gitCredentials` feature): a runner asks for the
3
+ * credential of one of its run's repositories whenever git needs one, instead of keeping the one a claim handed out
4
+ * for the whole run, which a long run outlives.
5
+ *
6
+ * The answer is given only while the asking runner holds the run (`reports.holds`), for the attempt it names, under a
7
+ * lease that has not run out, and for a URL the claim listed in `RunGit.onDemand` (`agRuns.gitCredentialUrls`),
8
+ * compared exactly: case, a trailing `.git` and anything else the runner sends must match what it was given. Anything
9
+ * else is refused, so a run that ended, went back to the queue or was taken by another attempt gets nothing.
10
+ *
11
+ * The application issues the credential (`RepoAccessProvider.issue`), outside any transaction, within
12
+ * `ISSUE_TIMEOUT_MS`; whether a cached one is still good enough is its decision. Every credential handed out is added
13
+ * to the run's remembered secrets, so what the run reports afterwards is redacted of it too. A failure is answered
14
+ * with a reason the runner can act on and a message safe to show: `REPO_ACCESS_UNAVAILABLE` (try again later) or
15
+ * `REPO_ACCESS_DENIED` (the application will not issue one).
16
+ */
17
+ import { type GitCredential, type GitCredentialRequest } from '@nocobase/agent-protocol';
18
+ import type { Clock } from '../../kernel/clock.js';
19
+ import { type SecretMemory } from '../../kernel/redaction.js';
20
+ import type { TxRunner } from '../../kernel/tx.js';
21
+ import type { Runner } from '../../../shared/runners.js';
22
+ import { type RepoAccessRegistry } from './extensions.js';
23
+ import type { RunnerReports } from './lifecycle.js';
24
+ import { type RunRecord } from './run.store.js';
25
+ /** How long the server waits for the application to issue a credential before answering `REPO_ACCESS_UNAVAILABLE`. */
26
+ export declare const ISSUE_TIMEOUT_MS = 15000;
27
+ export interface GitCredentialService {
28
+ issue(runner: Pick<Runner, 'id'>, runId: string, request: GitCredentialRequest): Promise<GitCredential>;
29
+ }
30
+ export interface GitCredentialDeps {
31
+ readonly tx: TxRunner;
32
+ readonly clock: Clock;
33
+ readonly reports: Pick<RunnerReports, 'holds'>;
34
+ readonly repoAccess: RepoAccessRegistry;
35
+ readonly secrets?: SecretMemory;
36
+ /** Told what went wrong when a provider failed in a way it did not explain (`RepoAccessError`). */
37
+ readonly onError?: (message: string, error: unknown) => void;
38
+ readonly timeoutMs?: number;
39
+ }
40
+ /** The URLs a claim listed for on-demand credentials, as stored on the run. */
41
+ export declare function gitCredentialUrls(run: Pick<RunRecord, 'gitCredentialUrls'>): string[];
42
+ export declare function createGitCredentialService(deps: GitCredentialDeps): GitCredentialService;
43
+ //# sourceMappingURL=git-credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-credentials.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/git-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAEL,KAAK,kBAAkB,EAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtE,sHAAsH;AACtH,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACnC,KAAK,CACH,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,aAAa,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,mGAAmG;IACnG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,GACxC,MAAM,EAAE,CAEV;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,iBAAiB,GACtB,oBAAoB,CAwJtB"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Repository credentials on demand (`RUNNER_ROUTES.gitCredential`, the `gitCredentials` feature): a runner asks for the
3
+ * credential of one of its run's repositories whenever git needs one, instead of keeping the one a claim handed out
4
+ * for the whole run, which a long run outlives.
5
+ *
6
+ * The answer is given only while the asking runner holds the run (`reports.holds`), for the attempt it names, under a
7
+ * lease that has not run out, and for a URL the claim listed in `RunGit.onDemand` (`agRuns.gitCredentialUrls`),
8
+ * compared exactly: case, a trailing `.git` and anything else the runner sends must match what it was given. Anything
9
+ * else is refused, so a run that ended, went back to the queue or was taken by another attempt gets nothing.
10
+ *
11
+ * The application issues the credential (`RepoAccessProvider.issue`), outside any transaction, within
12
+ * `ISSUE_TIMEOUT_MS`; whether a cached one is still good enough is its decision. Every credential handed out is added
13
+ * to the run's remembered secrets, so what the run reports afterwards is redacted of it too. A failure is answered
14
+ * with a reason the runner can act on and a message safe to show: `REPO_ACCESS_UNAVAILABLE` (try again later) or
15
+ * `REPO_ACCESS_DENIED` (the application will not issue one).
16
+ */
17
+ import { ProtocolError, } from '@nocobase/agent-protocol';
18
+ import { runSecretsKey } from '../../kernel/redaction.js';
19
+ import { stringArray } from '../../kernel/values.js';
20
+ import { RepoAccessError, } from './extensions.js';
21
+ import { findRunRecord, toRun } from './run.store.js';
22
+ /** How long the server waits for the application to issue a credential before answering `REPO_ACCESS_UNAVAILABLE`. */
23
+ export const ISSUE_TIMEOUT_MS = 15_000;
24
+ /** The URLs a claim listed for on-demand credentials, as stored on the run. */
25
+ export function gitCredentialUrls(run) {
26
+ return stringArray(run.gitCredentialUrls);
27
+ }
28
+ export function createGitCredentialService(deps) {
29
+ const timeoutMs = deps.timeoutMs ?? ISSUE_TIMEOUT_MS;
30
+ const lost = (message, status) => new ProtocolError('LEASE_LOST', message, { status });
31
+ async function withTimeout(issue) {
32
+ const controller = new AbortController();
33
+ let timer;
34
+ const timeout = new Promise((_, reject) => {
35
+ timer = setTimeout(() => {
36
+ controller.abort();
37
+ reject(new RepoAccessError('unavailable', 'The application did not issue a credential in time.'));
38
+ }, timeoutMs);
39
+ });
40
+ try {
41
+ return await Promise.race([issue(controller.signal), timeout]);
42
+ }
43
+ finally {
44
+ clearTimeout(timer);
45
+ }
46
+ }
47
+ function checked(grant, now) {
48
+ const expires = Date.parse(grant.expiresAt);
49
+ if (typeof grant.username !== 'string' ||
50
+ grant.username === '' ||
51
+ typeof grant.password !== 'string' ||
52
+ grant.password === '' ||
53
+ Number.isNaN(expires) ||
54
+ expires <= now.getTime())
55
+ throw new RepoAccessError('unavailable', 'The application issued a credential that is incomplete or already expired.');
56
+ return grant;
57
+ }
58
+ /**
59
+ * The run while `runner` still holds this attempt of it under a live lease and the claim listed `url`; the protocol
60
+ * reason otherwise. Checked before the application is asked and again once it answered, since issuing may take long
61
+ * enough for the run to end, be taken back or move to another attempt.
62
+ */
63
+ async function held(runner, runId, request) {
64
+ await deps.reports.holds(runner, runId);
65
+ const run = await findRunRecord(deps.tx.read(), runId);
66
+ if (!run)
67
+ throw new ProtocolError('RUN_NOT_FOUND', 'No such run.');
68
+ if (Number(run.attempt) !== request.attempt)
69
+ throw lost(`Attempt ${request.attempt} of the run is over; it is on attempt ${Number(run.attempt)}.`, run.status);
70
+ if (run.leaseExpiresAt === null ||
71
+ Date.parse(run.leaseExpiresAt) <= deps.clock.now().getTime())
72
+ throw lost('The run’s lease ran out.', run.status);
73
+ if (!gitCredentialUrls(run).includes(request.url))
74
+ throw new ProtocolError('INVALID_REQUEST', 'This repository is not one the run asks credentials for on demand.', { url: request.url });
75
+ return run;
76
+ }
77
+ /** The first answer of a provider that issues for the URL; null when none does. */
78
+ async function ask(run, runner, request) {
79
+ const providers = deps.repoAccess
80
+ .list()
81
+ .filter((provider) => provider.issue !== undefined);
82
+ try {
83
+ for (const provider of providers) {
84
+ const grant = await withTimeout((signal) => provider.issue({
85
+ run: toRun(run),
86
+ runnerId: runner.id,
87
+ attempt: request.attempt,
88
+ url: request.url,
89
+ refresh: request.refresh === true,
90
+ signal,
91
+ }));
92
+ if (grant)
93
+ return grant;
94
+ }
95
+ return null;
96
+ }
97
+ catch (error) {
98
+ if (error instanceof RepoAccessError)
99
+ throw new ProtocolError(error.kind === 'denied'
100
+ ? 'REPO_ACCESS_DENIED'
101
+ : 'REPO_ACCESS_UNAVAILABLE', error.message, { url: request.url });
102
+ deps.onError?.(`Agents could not issue a repository credential for run ${run.id}.`, error);
103
+ throw new ProtocolError('REPO_ACCESS_UNAVAILABLE', 'The application could not issue a credential for this repository.', { url: request.url });
104
+ }
105
+ }
106
+ return {
107
+ async issue(runner, runId, request) {
108
+ const run = await held(runner, runId, request);
109
+ const grant = await ask(run, runner, request);
110
+ if (!grant)
111
+ throw new ProtocolError('REPO_ACCESS_DENIED', 'The application issues no credential for this repository.', { url: request.url });
112
+ // The run may have ended, been taken back or moved to another attempt while the application issued: then the
113
+ // credential is dropped, never remembered, and the runner told why.
114
+ await held(runner, runId, request);
115
+ let valid;
116
+ try {
117
+ // Checked against the time it came back, not the time it was asked for.
118
+ valid = checked(grant, deps.clock.now());
119
+ }
120
+ catch (error) {
121
+ throw new ProtocolError('REPO_ACCESS_UNAVAILABLE', error instanceof Error ? error.message : String(error), { url: request.url });
122
+ }
123
+ const { username, password, expiresAt } = valid;
124
+ deps.secrets?.add(runSecretsKey(run.id), [password]);
125
+ return { username, password, expiresAt };
126
+ },
127
+ };
128
+ }
129
+ //# sourceMappingURL=git-credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-credentials.js","sourceRoot":"","sources":["../../../../server/core/runs/git-credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /** Subject-selected identities, refreshed before a queued run can borrow a runner or credentials. */
2
+ import type { Tx } from '../../kernel/tx.js';
3
+ import type { TransitionDeps } from './transitions.js';
4
+ import { type RunRecord } from './run.store.js';
5
+ export declare function refreshQueuedIdentity(unit: Tx, deps: TransitionDeps, run: RunRecord): Promise<RunRecord | null>;
6
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/identity.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA+C3B"}
@@ -0,0 +1,49 @@
1
+ import { finishRun } from './transitions.js';
2
+ import { inputsRepo, runsRepo, toInput, toExecutions, } from './run.store.js';
3
+ export async function refreshQueuedIdentity(unit, deps, run) {
4
+ const resolve = deps.subjects.get(run.subjectKind)?.actsAs;
5
+ // A run returned to the queue after a lease loss has already fixed its identity.
6
+ if (!resolve ||
7
+ run.status !== 'queued' ||
8
+ run.dispatchedAt ||
9
+ Number(run.attempt) > 1 ||
10
+ toExecutions(run).length > 0)
11
+ return run;
12
+ const inputs = await inputsRepo(unit.conn).findMany({
13
+ filter: { runId: run.id },
14
+ });
15
+ const identity = await resolve(unit.conn, {
16
+ subjectId: run.subjectId,
17
+ agentId: run.agentId,
18
+ causedByRunId: run.retryOfRunId ?? undefined,
19
+ inputs: inputs.map(toInput),
20
+ });
21
+ if (!identity)
22
+ return run;
23
+ if (!identity.actorUserId) {
24
+ await finishRun(unit, deps, run, {
25
+ status: 'cancelled',
26
+ reason: null,
27
+ detail: identity.reason ?? 'noOwner',
28
+ });
29
+ return null;
30
+ }
31
+ if (run.actorUserId === identity.actorUserId &&
32
+ run.ownerUserId === identity.actorUserId)
33
+ return run;
34
+ const values = {
35
+ actorUserId: identity.actorUserId,
36
+ ownerUserId: identity.actorUserId,
37
+ requestedByUserId: run.requestedByUserId ?? run.actorUserId,
38
+ updatedAt: deps.clock.now().toISOString(),
39
+ };
40
+ const updated = await runsRepo(unit.conn).updateMany({
41
+ filter: { id: run.id, status: 'queued', actorUserId: run.actorUserId },
42
+ values,
43
+ });
44
+ if (updated.updatedCount !== 1)
45
+ return null;
46
+ unit.emit({ type: 'run.changed', runId: run.id, status: 'queued' });
47
+ return { ...run, ...values };
48
+ }
49
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../../server/core/runs/identity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,GAEb,MAAM,gBAAgB,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAQ,EACR,IAAoB,EACpB,GAAc;IAEd,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC3D,iFAAiF;IACjF,IACE,CAAC,OAAO;QACR,GAAG,CAAC,MAAM,KAAK,QAAQ;QACvB,GAAG,CAAC,YAAY;QAChB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QACvB,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;QAE5B,OAAO,GAAG,CAAC;IACb,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;QAClD,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;KAC1B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;QACxC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;QAC5C,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;KAC5B,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC/B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,SAAS;SACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IACE,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QACxC,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QAExC,OAAO,GAAG,CAAC;IACb,MAAM,MAAM,GAAG;QACb,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,WAAW;QAC3D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;KAC1C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC;QACnD,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QACtE,MAAM;KACP,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,YAAY,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,15 +1,19 @@
1
- export { briefOf, createClaimService, fits, hasTool, onlineEntryOf, pickEntry, isServerHolder, payloadDirs, payloadRequires, skillTargets, variableTargets, type ClaimService, type RenderedBrief, type ServerClaim, type ServerHolder, } from './claim.js';
1
+ export { briefOf, createClaimService, fits, fitsActor, hasTool, pickEntry, payloadDirs, payloadRequires, skillTargets, variableTargets, type ClaimService, type RenderedBrief, } from './claim.js';
2
2
  export { resolveAgentCli, type AgentCli } from './policy.js';
3
- export { createBriefSectionRegistry, createRepoAccessRegistry, createRunMountRegistry, sessionKeyOf, type BriefSectionProvider, type BriefSectionRegistry, type ExtensionPrepare, type MountContext, type MountOffer, type RepoAccessContext, type RepoAccessProvider, type RepoAccessRegistry, type RunMountProvider, type RunMountRegistry, } from './extensions.js';
3
+ export { createClaimEligibility, type ClaimEligibility, type EligibilityRequest, } from './eligibility.js';
4
+ export { createBriefSectionRegistry, createRepoAccessRegistry, createRunMountRegistry, sessionKeyOf, type BriefSectionProvider, type BriefSectionRegistry, type ExtensionPrepare, type MountContext, type MountOffer, RepoAccessError, type RepoAccessContext, type RepoAccessProvider, type RepoAccessRegistry, type RepoCredentialGrant, type RepoCredentialRequest, type RepoPrepareOptions, type RunMountProvider, type RunMountRegistry, } from './extensions.js';
5
+ export { createGitCredentialService, ISSUE_TIMEOUT_MS, type GitCredentialService, } from './git-credentials.js';
4
6
  export { createBriefPreviewer, type BriefPreviewer } from './preview.js';
5
7
  export { findBrief, requestReset } from './workspace.store.js';
6
- export { createRunnerReports, type OnlineUsageRecord, type RunnerReports, } from './lifecycle.js';
7
- export { commandRef, createSubjectRegistry, dialectOf, takesType, type ClaimContext, type CommandDialect, type ContextProvider, type SubjectAssembly, type SubjectSample, type SubjectBinding, type SubjectDir, type SubjectFacts, type SubjectRegistry, type SubjectReports, type SubjectScope, type WorkSink, } from './ports.js';
8
+ export { createRunnerReports, type RunnerReports } from './lifecycle.js';
9
+ export { commandRef, createSubjectRegistry, type ClaimContext, type ContextProvider, type SubjectAssembly, type SubjectSample, type SubjectBinding, type SubjectDir, type SubjectFacts, type SubjectRegistry, type SubjectReports, type SubjectWorkspaces, type SubjectScope, type WorkSink, } from './ports.js';
8
10
  export { DEFAULT_TOOL_POLICY, MAX_CLAIM_FAILURES, retryDelayMs, toolPolicyFor, } from './policy.js';
9
11
  export type { RunTokenIdentity } from './run-tokens.js';
10
12
  export { countActive, eventsAfter, hasSession, inputsOnSince, lastSummary, openCounts, openRunsOn, openRunsOnEach, pendingInputs, type EventRecord, } from './run.store.js';
11
- export { createRunService, DEFAULT_THREAD, type EnqueueRequest, type EnqueueResult, type NewInput, type RunFilter, type RunService, } from './run.service.js';
13
+ export { createRunService, DEFAULT_THREAD, queuedRun, type EnqueueRequest, type EnqueueResult, type NewInput, type RunEnqueued, type RunFilter, type RunRequestPending, type RunService, } from './run.service.js';
14
+ export { RUN_REQUEST_TTL_MS, type RequestedRun, type RunRequestFilter, type RunRequestReassignment, type RunRequestService, } from './run-requests.js';
12
15
  export { createSweeper, type Sweeper, type SweepReport } from './sweeper.js';
16
+ export { executionForViewer, runForViewer, type RunMachineViewer, } from './execution-view.js';
13
17
  export { createAvailability, type AgentAvailability, type Availability, } from './availability.js';
14
18
  export { cliPackageFor, type AgentCliSource } from './cli-package.js';
15
19
  export { createRunnerView, runsHeldBy, runsHeldByTool, type RunnerView, } from './runner-view.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,IAAI,EACJ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,aAAa,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,SAAS,EACT,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,KAAK,UAAU,GAChB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/index.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
- export { briefOf, createClaimService, fits, hasTool, onlineEntryOf, pickEntry, isServerHolder, payloadDirs, payloadRequires, skillTargets, variableTargets, } from './claim.js';
1
+ export { briefOf, createClaimService, fits, fitsActor, hasTool, pickEntry, payloadDirs, payloadRequires, skillTargets, variableTargets, } from './claim.js';
2
2
  export { resolveAgentCli } from './policy.js';
3
- export { createBriefSectionRegistry, createRepoAccessRegistry, createRunMountRegistry, sessionKeyOf, } from './extensions.js';
3
+ export { createClaimEligibility, } from './eligibility.js';
4
+ export { createBriefSectionRegistry, createRepoAccessRegistry, createRunMountRegistry, sessionKeyOf, RepoAccessError, } from './extensions.js';
5
+ export { createGitCredentialService, ISSUE_TIMEOUT_MS, } from './git-credentials.js';
4
6
  export { createBriefPreviewer } from './preview.js';
5
7
  export { findBrief, requestReset } from './workspace.store.js';
6
- export { createRunnerReports, } from './lifecycle.js';
7
- export { commandRef, createSubjectRegistry, dialectOf, takesType, } from './ports.js';
8
+ export { createRunnerReports } from './lifecycle.js';
9
+ export { commandRef, createSubjectRegistry, } from './ports.js';
8
10
  export { DEFAULT_TOOL_POLICY, MAX_CLAIM_FAILURES, retryDelayMs, toolPolicyFor, } from './policy.js';
9
11
  export { countActive, eventsAfter, hasSession, inputsOnSince, lastSummary, openCounts, openRunsOn, openRunsOnEach, pendingInputs, } from './run.store.js';
10
- export { createRunService, DEFAULT_THREAD, } from './run.service.js';
12
+ export { createRunService, DEFAULT_THREAD, queuedRun, } from './run.service.js';
13
+ export { RUN_REQUEST_TTL_MS, } from './run-requests.js';
11
14
  export { createSweeper } from './sweeper.js';
15
+ export { executionForViewer, runForViewer, } from './execution-view.js';
12
16
  export { createAvailability, } from './availability.js';
13
17
  export { cliPackageFor } from './cli-package.js';
14
18
  export { createRunnerView, runsHeldBy, runsHeldByTool, } from './runner-view.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/core/runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,IAAI,EACJ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,GAKhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,GAWb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,mBAAmB,GAGpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,SAAS,GAaV,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,GAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,cAAc,GAMf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAkC,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,cAAc,GAEf,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/core/runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,kBAAkB,EAClB,IAAI,EACJ,SAAS,EACT,OAAO,EACP,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,GAGhB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,YAAY,EAMZ,eAAe,GAShB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAuB,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,qBAAqB,GAatB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,aAAa,GAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,SAAS,GAQV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,GAKnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAkC,MAAM,cAAc,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,YAAY,GAEb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,GAGnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAuB,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,cAAc,GAEf,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The subject's admission and input policy (`ContextProvider.admit` and `selectInputs`) applied to a run that is
3
+ * already working: before new input joins it, and before its pending input is delivered.
4
+ */
5
+ import type { RunInput } from '@nocobase/agent-protocol';
6
+ import type { DatabaseConnection } from '@nocobase/db';
7
+ import type { Agent } from '../../../shared/agents.js';
8
+ import { type InputRecord, type RunRecord } from './run.store.js';
9
+ import type { SubjectRegistry } from './ports.js';
10
+ export interface InputGateDeps {
11
+ readonly subjects: SubjectRegistry;
12
+ readonly cliName: string;
13
+ readonly appName: string;
14
+ }
15
+ /**
16
+ * Of `inputs` for `run`, the ones its agent may act on now: none when the subject rejects the agent's work on it, else
17
+ * what the subject selects. Without a policy, all of them.
18
+ */
19
+ export declare function gateInputs(conn: DatabaseConnection, deps: InputGateDeps, run: RunRecord, agent: Agent, inputs: readonly RunInput[]): Promise<readonly RunInput[]>;
20
+ /** Marks the inputs of `ids` handled without delivering them: the run is not to act on them. */
21
+ export declare function dropInputs(conn: DatabaseConnection, ids: readonly string[], now: string): Promise<void>;
22
+ /** A working run's unhandled input, split by whether the run may still act on it. */
23
+ export interface GatedPending {
24
+ /** What the run was already given, and the new input the subject still admits and selects. */
25
+ readonly kept: readonly InputRecord[];
26
+ /** New input the subject no longer lets the run act on. */
27
+ readonly withheld: readonly InputRecord[];
28
+ }
29
+ /**
30
+ * Splits `run`'s unhandled input by the subject's policy. Input already delivered stays with the run, whatever
31
+ * happened since; only input not yet delivered is judged.
32
+ */
33
+ export declare function gatePending(conn: DatabaseConnection, deps: InputGateDeps, run: RunRecord): Promise<GatedPending>;
34
+ //# sourceMappingURL=input-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-gate.d.ts","sourceRoot":"","sources":["../../../../server/core/runs/input-gate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,SAAS,QAAQ,EAAE,GAC1B,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAe9B;AAED,gGAAgG;AAChG,wBAAsB,UAAU,CAC9B,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,8FAA8F;IAC9F,QAAQ,CAAC,IAAI,EAAE,SAAS,WAAW,EAAE,CAAC;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,kBAAkB,EACxB,IAAI,EAAE,aAAa,EACnB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,YAAY,CAAC,CAevB"}
@@ -0,0 +1,54 @@
1
+ import { findAgent } from '../agents/index.js';
2
+ import { inputsRepo, pendingInputs, toInput, toRun, } from './run.store.js';
3
+ /**
4
+ * Of `inputs` for `run`, the ones its agent may act on now: none when the subject rejects the agent's work on it, else
5
+ * what the subject selects. Without a policy, all of them.
6
+ */
7
+ export async function gateInputs(conn, deps, run, agent, inputs) {
8
+ const context = deps.subjects.get(run.subjectKind)?.context;
9
+ if (!context || inputs.length === 0)
10
+ return inputs;
11
+ const claim = {
12
+ run: toRun(run),
13
+ agent,
14
+ runner: null,
15
+ inputs,
16
+ cli: deps.cliName,
17
+ appName: deps.appName,
18
+ };
19
+ if (await context.admit?.(conn, claim))
20
+ return [];
21
+ return context.selectInputs
22
+ ? await context.selectInputs(conn, claim)
23
+ : inputs;
24
+ }
25
+ /** Marks the inputs of `ids` handled without delivering them: the run is not to act on them. */
26
+ export async function dropInputs(conn, ids, now) {
27
+ if (ids.length === 0)
28
+ return;
29
+ await inputsRepo(conn).updateMany({
30
+ filter: (f) => f.and([
31
+ f.or(ids.map((id) => f.string('id').eq(id))),
32
+ f.date('handledAt').empty(),
33
+ ]),
34
+ values: { handledAt: now },
35
+ });
36
+ }
37
+ /**
38
+ * Splits `run`'s unhandled input by the subject's policy. Input already delivered stays with the run, whatever
39
+ * happened since; only input not yet delivered is judged.
40
+ */
41
+ export async function gatePending(conn, deps, run) {
42
+ const pending = await pendingInputs(conn, run.id);
43
+ const fresh = pending.filter((input) => !input.deliveredAt);
44
+ const agent = fresh.length > 0 ? await findAgent(conn, run.agentId) : null;
45
+ if (!agent)
46
+ return { kept: pending, withheld: [] };
47
+ const admitted = new Set((await gateInputs(conn, deps, run, agent, fresh.map(toInput))).map((input) => input.id));
48
+ const withheld = fresh.filter((input) => !admitted.has(input.id));
49
+ return {
50
+ kept: pending.filter((input) => !withheld.includes(input)),
51
+ withheld,
52
+ };
53
+ }
54
+ //# sourceMappingURL=input-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-gate.js","sourceRoot":"","sources":["../../../../server/core/runs/input-gate.ts"],"names":[],"mappings":"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"}