@nocobase/app-plugin-agents 0.0.0-stage → 0.1.0-beta.2

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 (1341) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/README.md +200 -2
  3. package/dist/cli/index.d.ts +4 -0
  4. package/dist/cli/index.d.ts.map +1 -0
  5. package/dist/cli/index.js +9 -0
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/cli/runner-token.d.ts +21 -0
  8. package/dist/cli/runner-token.d.ts.map +1 -0
  9. package/dist/cli/runner-token.js +52 -0
  10. package/dist/cli/runner-token.js.map +1 -0
  11. package/dist/client/api/client.d.ts +136 -0
  12. package/dist/client/api/client.d.ts.map +1 -0
  13. package/dist/client/api/client.js +284 -0
  14. package/dist/client/api/client.js.map +1 -0
  15. package/dist/client/api/keys.d.ts +31 -0
  16. package/dist/client/api/keys.d.ts.map +1 -0
  17. package/dist/client/api/keys.js +40 -0
  18. package/dist/client/api/keys.js.map +1 -0
  19. package/dist/client/api/runners.d.ts +24 -0
  20. package/dist/client/api/runners.d.ts.map +1 -0
  21. package/dist/client/api/runners.js +58 -0
  22. package/dist/client/api/runners.js.map +1 -0
  23. package/dist/client/chat/api.d.ts +42 -0
  24. package/dist/client/chat/api.d.ts.map +1 -0
  25. package/dist/client/chat/api.js +125 -0
  26. package/dist/client/chat/api.js.map +1 -0
  27. package/dist/client/chat/context-model.d.ts +67 -0
  28. package/dist/client/chat/context-model.d.ts.map +1 -0
  29. package/dist/client/chat/context-model.js +113 -0
  30. package/dist/client/chat/context-model.js.map +1 -0
  31. package/dist/client/chat/extensions.d.ts +41 -0
  32. package/dist/client/chat/extensions.d.ts.map +1 -0
  33. package/dist/client/chat/extensions.js +14 -0
  34. package/dist/client/chat/extensions.js.map +1 -0
  35. package/dist/client/chat/keys.d.ts +13 -0
  36. package/dist/client/chat/keys.d.ts.map +1 -0
  37. package/dist/client/chat/keys.js +12 -0
  38. package/dist/client/chat/keys.js.map +1 -0
  39. package/dist/client/chat/message-model.d.ts +111 -0
  40. package/dist/client/chat/message-model.d.ts.map +1 -0
  41. package/dist/client/chat/message-model.js +213 -0
  42. package/dist/client/chat/message-model.js.map +1 -0
  43. package/dist/client/chat/panel-state.d.ts +43 -0
  44. package/dist/client/chat/panel-state.d.ts.map +1 -0
  45. package/dist/client/chat/panel-state.js +113 -0
  46. package/dist/client/chat/panel-state.js.map +1 -0
  47. package/dist/client/chat/provider.d.ts +101 -0
  48. package/dist/client/chat/provider.d.ts.map +1 -0
  49. package/dist/client/chat/provider.js +399 -0
  50. package/dist/client/chat/provider.js.map +1 -0
  51. package/dist/client/chat/redirect.d.ts +8 -0
  52. package/dist/client/chat/redirect.d.ts.map +1 -0
  53. package/dist/client/chat/redirect.js +34 -0
  54. package/dist/client/chat/redirect.js.map +1 -0
  55. package/dist/client/chat/settings-section.d.ts +5 -0
  56. package/dist/client/chat/settings-section.d.ts.map +1 -0
  57. package/dist/client/chat/settings-section.js +86 -0
  58. package/dist/client/chat/settings-section.js.map +1 -0
  59. package/dist/client/chat/ui-hooks.d.ts +16 -0
  60. package/dist/client/chat/ui-hooks.d.ts.map +1 -0
  61. package/dist/client/chat/ui-hooks.js +35 -0
  62. package/dist/client/chat/ui-hooks.js.map +1 -0
  63. package/dist/client/chat/use-chat.d.ts +88 -0
  64. package/dist/client/chat/use-chat.d.ts.map +1 -0
  65. package/dist/client/chat/use-chat.js +399 -0
  66. package/dist/client/chat/use-chat.js.map +1 -0
  67. package/dist/client/chat.d.ts +41 -0
  68. package/dist/client/chat.d.ts.map +1 -0
  69. package/dist/client/chat.js +43 -0
  70. package/dist/client/chat.js.map +1 -0
  71. package/dist/client/components/ag-markdown.d.ts +7 -0
  72. package/dist/client/components/ag-markdown.d.ts.map +1 -0
  73. package/dist/client/components/ag-markdown.js +29 -0
  74. package/dist/client/components/ag-markdown.js.map +1 -0
  75. package/dist/client/components/ag-multi-select.d.ts +26 -0
  76. package/dist/client/components/ag-multi-select.d.ts.map +1 -0
  77. package/dist/client/components/ag-multi-select.js +48 -0
  78. package/dist/client/components/ag-multi-select.js.map +1 -0
  79. package/dist/client/components/ag-pulse.d.ts +4 -0
  80. package/dist/client/components/ag-pulse.d.ts.map +1 -0
  81. package/dist/client/components/ag-pulse.js +6 -0
  82. package/dist/client/components/ag-pulse.js.map +1 -0
  83. package/dist/client/components/ag-section.d.ts +11 -0
  84. package/dist/client/components/ag-section.d.ts.map +1 -0
  85. package/dist/client/components/ag-section.js +7 -0
  86. package/dist/client/components/ag-section.js.map +1 -0
  87. package/dist/client/components/ag-states.d.ts +27 -0
  88. package/dist/client/components/ag-states.d.ts.map +1 -0
  89. package/dist/client/components/ag-states.js +33 -0
  90. package/dist/client/components/ag-states.js.map +1 -0
  91. package/dist/client/components/ag-tag.d.ts +9 -0
  92. package/dist/client/components/ag-tag.d.ts.map +1 -0
  93. package/dist/client/components/ag-tag.js +20 -0
  94. package/dist/client/components/ag-tag.js.map +1 -0
  95. package/dist/client/components/agent-avatar.d.ts +16 -0
  96. package/dist/client/components/agent-avatar.d.ts.map +1 -0
  97. package/dist/client/components/agent-avatar.js +48 -0
  98. package/dist/client/components/agent-avatar.js.map +1 -0
  99. package/dist/client/components/agent-fields.d.ts +45 -0
  100. package/dist/client/components/agent-fields.d.ts.map +1 -0
  101. package/dist/client/components/agent-fields.js +83 -0
  102. package/dist/client/components/agent-fields.js.map +1 -0
  103. package/dist/client/components/agent-picker.d.ts +128 -0
  104. package/dist/client/components/agent-picker.d.ts.map +1 -0
  105. package/dist/client/components/agent-picker.js +150 -0
  106. package/dist/client/components/agent-picker.js.map +1 -0
  107. package/dist/client/components/agent-type.d.ts +32 -0
  108. package/dist/client/components/agent-type.d.ts.map +1 -0
  109. package/dist/client/components/agent-type.js +80 -0
  110. package/dist/client/components/agent-type.js.map +1 -0
  111. package/dist/client/components/availability-dot.d.ts +8 -0
  112. package/dist/client/components/availability-dot.d.ts.map +1 -0
  113. package/dist/client/components/availability-dot.js +15 -0
  114. package/dist/client/components/availability-dot.js.map +1 -0
  115. package/dist/client/components/brief-view.d.ts +6 -0
  116. package/dist/client/components/brief-view.d.ts.map +1 -0
  117. package/dist/client/components/brief-view.js +34 -0
  118. package/dist/client/components/brief-view.js.map +1 -0
  119. package/dist/client/components/command-line.d.ts +6 -0
  120. package/dist/client/components/command-line.d.ts.map +1 -0
  121. package/dist/client/components/command-line.js +24 -0
  122. package/dist/client/components/command-line.js.map +1 -0
  123. package/dist/client/components/default-skills.d.ts +10 -0
  124. package/dist/client/components/default-skills.d.ts.map +1 -0
  125. package/dist/client/components/default-skills.js +47 -0
  126. package/dist/client/components/default-skills.js.map +1 -0
  127. package/dist/client/components/diff-block.d.ts +8 -0
  128. package/dist/client/components/diff-block.d.ts.map +1 -0
  129. package/dist/client/components/diff-block.js +14 -0
  130. package/dist/client/components/diff-block.js.map +1 -0
  131. package/dist/client/components/model-entries.d.ts +35 -0
  132. package/dist/client/components/model-entries.d.ts.map +1 -0
  133. package/dist/client/components/model-entries.js +82 -0
  134. package/dist/client/components/model-entries.js.map +1 -0
  135. package/dist/client/components/page-container.d.ts +11 -0
  136. package/dist/client/components/page-container.d.ts.map +1 -0
  137. package/dist/client/components/page-container.js +13 -0
  138. package/dist/client/components/page-container.js.map +1 -0
  139. package/dist/client/components/page-header.d.ts +14 -0
  140. package/dist/client/components/page-header.d.ts.map +1 -0
  141. package/dist/client/components/page-header.js +10 -0
  142. package/dist/client/components/page-header.js.map +1 -0
  143. package/dist/client/components/refresh-button.d.ts +6 -0
  144. package/dist/client/components/refresh-button.d.ts.map +1 -0
  145. package/dist/client/components/refresh-button.js +26 -0
  146. package/dist/client/components/refresh-button.js.map +1 -0
  147. package/dist/client/components/route-child-page.d.ts +24 -0
  148. package/dist/client/components/route-child-page.d.ts.map +1 -0
  149. package/dist/client/components/route-child-page.js +46 -0
  150. package/dist/client/components/route-child-page.js.map +1 -0
  151. package/dist/client/components/route-dialog.d.ts +6 -0
  152. package/dist/client/components/route-dialog.d.ts.map +1 -0
  153. package/dist/client/components/route-dialog.js +7 -0
  154. package/dist/client/components/route-dialog.js.map +1 -0
  155. package/dist/client/components/route-overlay.d.ts +21 -0
  156. package/dist/client/components/route-overlay.d.ts.map +1 -0
  157. package/dist/client/components/route-overlay.js +87 -0
  158. package/dist/client/components/route-overlay.js.map +1 -0
  159. package/dist/client/components/runners-refresh.d.ts +3 -0
  160. package/dist/client/components/runners-refresh.d.ts.map +1 -0
  161. package/dist/client/components/runners-refresh.js +13 -0
  162. package/dist/client/components/runners-refresh.js.map +1 -0
  163. package/dist/client/components/secret-input.d.ts +7 -0
  164. package/dist/client/components/secret-input.d.ts.map +1 -0
  165. package/dist/client/components/secret-input.js +12 -0
  166. package/dist/client/components/secret-input.js.map +1 -0
  167. package/dist/client/components/skills-select.d.ts +16 -0
  168. package/dist/client/components/skills-select.d.ts.map +1 -0
  169. package/dist/client/components/skills-select.js +39 -0
  170. package/dist/client/components/skills-select.js.map +1 -0
  171. package/dist/client/components/ui/alert-dialog.d.ts +19 -0
  172. package/dist/client/components/ui/alert-dialog.d.ts.map +1 -0
  173. package/dist/client/components/ui/alert-dialog.js +42 -0
  174. package/dist/client/components/ui/alert-dialog.js.map +1 -0
  175. package/dist/client/components/ui/alert.d.ts +13 -0
  176. package/dist/client/components/ui/alert.d.ts.map +1 -0
  177. package/dist/client/components/ui/alert.js +31 -0
  178. package/dist/client/components/ui/alert.js.map +1 -0
  179. package/dist/client/components/ui/avatar.d.ts +12 -0
  180. package/dist/client/components/ui/avatar.d.ts.map +1 -0
  181. package/dist/client/components/ui/avatar.js +23 -0
  182. package/dist/client/components/ui/avatar.js.map +1 -0
  183. package/dist/client/components/ui/badge.d.ts +11 -0
  184. package/dist/client/components/ui/badge.d.ts.map +1 -0
  185. package/dist/client/components/ui/badge.js +37 -0
  186. package/dist/client/components/ui/badge.js.map +1 -0
  187. package/dist/client/components/ui/button.d.ts +12 -0
  188. package/dist/client/components/ui/button.d.ts.map +1 -0
  189. package/dist/client/components/ui/button.js +38 -0
  190. package/dist/client/components/ui/button.js.map +1 -0
  191. package/dist/client/components/ui/calendar.d.ts +11 -0
  192. package/dist/client/components/ui/calendar.d.ts.map +1 -0
  193. package/dist/client/components/ui/calendar.js +76 -0
  194. package/dist/client/components/ui/calendar.js.map +1 -0
  195. package/dist/client/components/ui/card.d.ts +12 -0
  196. package/dist/client/components/ui/card.d.ts.map +1 -0
  197. package/dist/client/components/ui/card.js +25 -0
  198. package/dist/client/components/ui/card.js.map +1 -0
  199. package/dist/client/components/ui/chart.d.ts +45 -0
  200. package/dist/client/components/ui/chart.d.ts.map +1 -0
  201. package/dist/client/components/ui/chart.js +133 -0
  202. package/dist/client/components/ui/chart.js.map +1 -0
  203. package/dist/client/components/ui/checkbox.d.ts +5 -0
  204. package/dist/client/components/ui/checkbox.d.ts.map +1 -0
  205. package/dist/client/components/ui/checkbox.js +9 -0
  206. package/dist/client/components/ui/checkbox.js.map +1 -0
  207. package/dist/client/components/ui/collapsible.d.ts +7 -0
  208. package/dist/client/components/ui/collapsible.d.ts.map +1 -0
  209. package/dist/client/components/ui/collapsible.js +13 -0
  210. package/dist/client/components/ui/collapsible.js.map +1 -0
  211. package/dist/client/components/ui/combobox.d.ts +25 -0
  212. package/dist/client/components/ui/combobox.d.ts.map +1 -0
  213. package/dist/client/components/ui/combobox.js +58 -0
  214. package/dist/client/components/ui/combobox.js.map +1 -0
  215. package/dist/client/components/ui/dialog.d.ts +18 -0
  216. package/dist/client/components/ui/dialog.d.ts.map +1 -0
  217. package/dist/client/components/ui/dialog.js +40 -0
  218. package/dist/client/components/ui/dialog.js.map +1 -0
  219. package/dist/client/components/ui/dropdown-menu.d.ts +30 -0
  220. package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -0
  221. package/dist/client/components/ui/dropdown-menu.js +51 -0
  222. package/dist/client/components/ui/dropdown-menu.js.map +1 -0
  223. package/dist/client/components/ui/empty.d.ts +15 -0
  224. package/dist/client/components/ui/empty.d.ts.map +1 -0
  225. package/dist/client/components/ui/empty.js +37 -0
  226. package/dist/client/components/ui/empty.js.map +1 -0
  227. package/dist/client/components/ui/field.d.ts +28 -0
  228. package/dist/client/components/ui/field.d.ts.map +1 -0
  229. package/dist/client/components/ui/field.js +71 -0
  230. package/dist/client/components/ui/field.js.map +1 -0
  231. package/dist/client/components/ui/input-group.d.ts +22 -0
  232. package/dist/client/components/ui/input-group.d.ts.map +1 -0
  233. package/dist/client/components/ui/input-group.js +63 -0
  234. package/dist/client/components/ui/input-group.js.map +1 -0
  235. package/dist/client/components/ui/input.d.ts +4 -0
  236. package/dist/client/components/ui/input.d.ts.map +1 -0
  237. package/dist/client/components/ui/input.js +8 -0
  238. package/dist/client/components/ui/input.js.map +1 -0
  239. package/dist/client/components/ui/item.d.ts +25 -0
  240. package/dist/client/components/ui/item.d.ts.map +1 -0
  241. package/dist/client/components/ui/item.js +82 -0
  242. package/dist/client/components/ui/item.js.map +1 -0
  243. package/dist/client/components/ui/label.d.ts +4 -0
  244. package/dist/client/components/ui/label.d.ts.map +1 -0
  245. package/dist/client/components/ui/label.js +7 -0
  246. package/dist/client/components/ui/label.js.map +1 -0
  247. package/dist/client/components/ui/popover.d.ts +10 -0
  248. package/dist/client/components/ui/popover.d.ts.map +1 -0
  249. package/dist/client/components/ui/popover.js +23 -0
  250. package/dist/client/components/ui/popover.js.map +1 -0
  251. package/dist/client/components/ui/radio-group.d.ts +7 -0
  252. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  253. package/dist/client/components/ui/radio-group.js +12 -0
  254. package/dist/client/components/ui/radio-group.js.map +1 -0
  255. package/dist/client/components/ui/select.d.ts +16 -0
  256. package/dist/client/components/ui/select.d.ts.map +1 -0
  257. package/dist/client/components/ui/select.js +34 -0
  258. package/dist/client/components/ui/select.js.map +1 -0
  259. package/dist/client/components/ui/separator.d.ts +5 -0
  260. package/dist/client/components/ui/separator.d.ts.map +1 -0
  261. package/dist/client/components/ui/separator.js +8 -0
  262. package/dist/client/components/ui/separator.js.map +1 -0
  263. package/dist/client/components/ui/sheet.d.ts +15 -0
  264. package/dist/client/components/ui/sheet.d.ts.map +1 -0
  265. package/dist/client/components/ui/sheet.js +39 -0
  266. package/dist/client/components/ui/sheet.js.map +1 -0
  267. package/dist/client/components/ui/skeleton.d.ts +4 -0
  268. package/dist/client/components/ui/skeleton.d.ts.map +1 -0
  269. package/dist/client/components/ui/skeleton.js +7 -0
  270. package/dist/client/components/ui/skeleton.js.map +1 -0
  271. package/dist/client/components/ui/spinner.d.ts +4 -0
  272. package/dist/client/components/ui/spinner.d.ts.map +1 -0
  273. package/dist/client/components/ui/spinner.js +11 -0
  274. package/dist/client/components/ui/spinner.js.map +1 -0
  275. package/dist/client/components/ui/switch.d.ts +7 -0
  276. package/dist/client/components/ui/switch.d.ts.map +1 -0
  277. package/dist/client/components/ui/switch.js +8 -0
  278. package/dist/client/components/ui/switch.js.map +1 -0
  279. package/dist/client/components/ui/table.d.ts +11 -0
  280. package/dist/client/components/ui/table.d.ts.map +1 -0
  281. package/dist/client/components/ui/table.js +28 -0
  282. package/dist/client/components/ui/table.js.map +1 -0
  283. package/dist/client/components/ui/tabs.d.ts +14 -0
  284. package/dist/client/components/ui/tabs.d.ts.map +1 -0
  285. package/dist/client/components/ui/tabs.js +32 -0
  286. package/dist/client/components/ui/tabs.js.map +1 -0
  287. package/dist/client/components/ui/textarea.d.ts +4 -0
  288. package/dist/client/components/ui/textarea.d.ts.map +1 -0
  289. package/dist/client/components/ui/textarea.js +7 -0
  290. package/dist/client/components/ui/textarea.js.map +1 -0
  291. package/dist/client/components/ui/tooltip.d.ts +8 -0
  292. package/dist/client/components/ui/tooltip.d.ts.map +1 -0
  293. package/dist/client/components/ui/tooltip.js +17 -0
  294. package/dist/client/components/ui/tooltip.js.map +1 -0
  295. package/dist/client/components/unsaved-changes.d.ts +8 -0
  296. package/dist/client/components/unsaved-changes.d.ts.map +1 -0
  297. package/dist/client/components/unsaved-changes.js +19 -0
  298. package/dist/client/components/unsaved-changes.js.map +1 -0
  299. package/dist/client/components/use-route-overlay.d.ts +15 -0
  300. package/dist/client/components/use-route-overlay.d.ts.map +1 -0
  301. package/dist/client/components/use-route-overlay.js +15 -0
  302. package/dist/client/components/use-route-overlay.js.map +1 -0
  303. package/dist/client/components/variables/access-log.d.ts +17 -0
  304. package/dist/client/components/variables/access-log.d.ts.map +1 -0
  305. package/dist/client/components/variables/access-log.js +52 -0
  306. package/dist/client/components/variables/access-log.js.map +1 -0
  307. package/dist/client/components/variables/variable-dialogs.d.ts +30 -0
  308. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -0
  309. package/dist/client/components/variables/variable-dialogs.js +106 -0
  310. package/dist/client/components/variables/variable-dialogs.js.map +1 -0
  311. package/dist/client/components/variables/variables-panel.d.ts +24 -0
  312. package/dist/client/components/variables/variables-panel.d.ts.map +1 -0
  313. package/dist/client/components/variables/variables-panel.js +119 -0
  314. package/dist/client/components/variables/variables-panel.js.map +1 -0
  315. package/dist/client/config.d.ts +6 -0
  316. package/dist/client/config.d.ts.map +1 -0
  317. package/dist/client/config.js +6 -0
  318. package/dist/client/config.js.map +1 -0
  319. package/dist/client/hooks/use-access.d.ts +6 -0
  320. package/dist/client/hooks/use-access.d.ts.map +1 -0
  321. package/dist/client/hooks/use-access.js +8 -0
  322. package/dist/client/hooks/use-access.js.map +1 -0
  323. package/dist/client/hooks/use-agent-picker-labels.d.ts +4 -0
  324. package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -0
  325. package/dist/client/hooks/use-agent-picker-labels.js +39 -0
  326. package/dist/client/hooks/use-agent-picker-labels.js.map +1 -0
  327. package/dist/client/hooks/use-agent-save.d.ts +9 -0
  328. package/dist/client/hooks/use-agent-save.d.ts.map +1 -0
  329. package/dist/client/hooks/use-agent-save.js +40 -0
  330. package/dist/client/hooks/use-agent-save.js.map +1 -0
  331. package/dist/client/hooks/use-agents-api.d.ts +4 -0
  332. package/dist/client/hooks/use-agents-api.d.ts.map +1 -0
  333. package/dist/client/hooks/use-agents-api.js +9 -0
  334. package/dist/client/hooks/use-agents-api.js.map +1 -0
  335. package/dist/client/hooks/use-media-query.d.ts +3 -0
  336. package/dist/client/hooks/use-media-query.d.ts.map +1 -0
  337. package/dist/client/hooks/use-media-query.js +14 -0
  338. package/dist/client/hooks/use-media-query.js.map +1 -0
  339. package/dist/client/hooks/use-model-catalog.d.ts +9 -0
  340. package/dist/client/hooks/use-model-catalog.d.ts.map +1 -0
  341. package/dist/client/hooks/use-model-catalog.js +27 -0
  342. package/dist/client/hooks/use-model-catalog.js.map +1 -0
  343. package/dist/client/hooks/use-notify.d.ts +9 -0
  344. package/dist/client/hooks/use-notify.d.ts.map +1 -0
  345. package/dist/client/hooks/use-notify.js +27 -0
  346. package/dist/client/hooks/use-notify.js.map +1 -0
  347. package/dist/client/hooks/use-realtime-topic.d.ts +6 -0
  348. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -0
  349. package/dist/client/hooks/use-realtime-topic.js +24 -0
  350. package/dist/client/hooks/use-realtime-topic.js.map +1 -0
  351. package/dist/client/hooks/use-server-url.d.ts +6 -0
  352. package/dist/client/hooks/use-server-url.d.ts.map +1 -0
  353. package/dist/client/hooks/use-server-url.js +10 -0
  354. package/dist/client/hooks/use-server-url.js.map +1 -0
  355. package/dist/client/hooks/use-vocabulary.d.ts +38 -0
  356. package/dist/client/hooks/use-vocabulary.d.ts.map +1 -0
  357. package/dist/client/hooks/use-vocabulary.js +77 -0
  358. package/dist/client/hooks/use-vocabulary.js.map +1 -0
  359. package/dist/client/index.d.ts +2 -0
  360. package/dist/client/index.d.ts.map +1 -0
  361. package/dist/client/index.js +4 -0
  362. package/dist/client/index.js.map +1 -0
  363. package/dist/client/kit.d.ts +65 -0
  364. package/dist/client/kit.d.ts.map +1 -0
  365. package/dist/client/kit.js +124 -0
  366. package/dist/client/kit.js.map +1 -0
  367. package/dist/client/lib/action-catalog.d.ts +13 -0
  368. package/dist/client/lib/action-catalog.d.ts.map +1 -0
  369. package/dist/client/lib/action-catalog.js +45 -0
  370. package/dist/client/lib/action-catalog.js.map +1 -0
  371. package/dist/client/lib/agents.d.ts +15 -0
  372. package/dist/client/lib/agents.d.ts.map +1 -0
  373. package/dist/client/lib/agents.js +49 -0
  374. package/dist/client/lib/agents.js.map +1 -0
  375. package/dist/client/lib/diff.d.ts +8 -0
  376. package/dist/client/lib/diff.d.ts.map +1 -0
  377. package/dist/client/lib/diff.js +55 -0
  378. package/dist/client/lib/diff.js.map +1 -0
  379. package/dist/client/lib/download.d.ts +5 -0
  380. package/dist/client/lib/download.d.ts.map +1 -0
  381. package/dist/client/lib/download.js +17 -0
  382. package/dist/client/lib/download.js.map +1 -0
  383. package/dist/client/lib/format.d.ts +15 -0
  384. package/dist/client/lib/format.d.ts.map +1 -0
  385. package/dist/client/lib/format.js +76 -0
  386. package/dist/client/lib/format.js.map +1 -0
  387. package/dist/client/lib/install.d.ts +23 -0
  388. package/dist/client/lib/install.d.ts.map +1 -0
  389. package/dist/client/lib/install.js +54 -0
  390. package/dist/client/lib/install.js.map +1 -0
  391. package/dist/client/lib/revision.d.ts +3 -0
  392. package/dist/client/lib/revision.d.ts.map +1 -0
  393. package/dist/client/lib/revision.js +10 -0
  394. package/dist/client/lib/revision.js.map +1 -0
  395. package/dist/client/lib/runs.d.ts +11 -0
  396. package/dist/client/lib/runs.d.ts.map +1 -0
  397. package/dist/client/lib/runs.js +22 -0
  398. package/dist/client/lib/runs.js.map +1 -0
  399. package/dist/client/lib/text.d.ts +3 -0
  400. package/dist/client/lib/text.d.ts.map +1 -0
  401. package/dist/client/lib/text.js +6 -0
  402. package/dist/client/lib/text.js.map +1 -0
  403. package/dist/client/lib/tool-policy.d.ts +5 -0
  404. package/dist/client/lib/tool-policy.d.ts.map +1 -0
  405. package/dist/client/lib/tool-policy.js +10 -0
  406. package/dist/client/lib/tool-policy.js.map +1 -0
  407. package/dist/client/lib/tool-slots.d.ts +16 -0
  408. package/dist/client/lib/tool-slots.d.ts.map +1 -0
  409. package/dist/client/lib/tool-slots.js +37 -0
  410. package/dist/client/lib/tool-slots.js.map +1 -0
  411. package/dist/client/lib/tool-summary.d.ts +6 -0
  412. package/dist/client/lib/tool-summary.d.ts.map +1 -0
  413. package/dist/client/lib/tool-summary.js +44 -0
  414. package/dist/client/lib/tool-summary.js.map +1 -0
  415. package/dist/client/locales/chat.en-US.d.ts +90 -0
  416. package/dist/client/locales/chat.en-US.d.ts.map +1 -0
  417. package/dist/client/locales/chat.en-US.js +89 -0
  418. package/dist/client/locales/chat.en-US.js.map +1 -0
  419. package/dist/client/locales/chat.zh-CN.d.ts +4 -0
  420. package/dist/client/locales/chat.zh-CN.d.ts.map +1 -0
  421. package/dist/client/locales/chat.zh-CN.js +83 -0
  422. package/dist/client/locales/chat.zh-CN.js.map +1 -0
  423. package/dist/client/locales/en-US.d.ts +615 -0
  424. package/dist/client/locales/en-US.d.ts.map +1 -0
  425. package/dist/client/locales/en-US.js +610 -0
  426. package/dist/client/locales/en-US.js.map +1 -0
  427. package/dist/client/locales/index.d.ts +4 -0
  428. package/dist/client/locales/index.d.ts.map +1 -0
  429. package/dist/client/locales/index.js +7 -0
  430. package/dist/client/locales/index.js.map +1 -0
  431. package/dist/client/locales/prices.en-US.d.ts +49 -0
  432. package/dist/client/locales/prices.en-US.d.ts.map +1 -0
  433. package/dist/client/locales/prices.en-US.js +48 -0
  434. package/dist/client/locales/prices.en-US.js.map +1 -0
  435. package/dist/client/locales/prices.zh-CN.d.ts +5 -0
  436. package/dist/client/locales/prices.zh-CN.d.ts.map +1 -0
  437. package/dist/client/locales/prices.zh-CN.js +48 -0
  438. package/dist/client/locales/prices.zh-CN.js.map +1 -0
  439. package/dist/client/locales/runWait.en-US.d.ts +31 -0
  440. package/dist/client/locales/runWait.en-US.d.ts.map +1 -0
  441. package/dist/client/locales/runWait.en-US.js +30 -0
  442. package/dist/client/locales/runWait.en-US.js.map +1 -0
  443. package/dist/client/locales/runWait.zh-CN.d.ts +5 -0
  444. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -0
  445. package/dist/client/locales/runWait.zh-CN.js +25 -0
  446. package/dist/client/locales/runWait.zh-CN.js.map +1 -0
  447. package/dist/client/locales/runtimes.en-US.d.ts +172 -0
  448. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -0
  449. package/dist/client/locales/runtimes.en-US.js +171 -0
  450. package/dist/client/locales/runtimes.en-US.js.map +1 -0
  451. package/dist/client/locales/runtimes.zh-CN.d.ts +4 -0
  452. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -0
  453. package/dist/client/locales/runtimes.zh-CN.js +170 -0
  454. package/dist/client/locales/runtimes.zh-CN.js.map +1 -0
  455. package/dist/client/locales/services.en-US.d.ts +112 -0
  456. package/dist/client/locales/services.en-US.d.ts.map +1 -0
  457. package/dist/client/locales/services.en-US.js +111 -0
  458. package/dist/client/locales/services.en-US.js.map +1 -0
  459. package/dist/client/locales/services.zh-CN.d.ts +4 -0
  460. package/dist/client/locales/services.zh-CN.d.ts.map +1 -0
  461. package/dist/client/locales/services.zh-CN.js +110 -0
  462. package/dist/client/locales/services.zh-CN.js.map +1 -0
  463. package/dist/client/locales/skills.en-US.d.ts +149 -0
  464. package/dist/client/locales/skills.en-US.d.ts.map +1 -0
  465. package/dist/client/locales/skills.en-US.js +149 -0
  466. package/dist/client/locales/skills.en-US.js.map +1 -0
  467. package/dist/client/locales/skills.zh-CN.d.ts +4 -0
  468. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -0
  469. package/dist/client/locales/skills.zh-CN.js +148 -0
  470. package/dist/client/locales/skills.zh-CN.js.map +1 -0
  471. package/dist/client/locales/zh-CN.d.ts +4 -0
  472. package/dist/client/locales/zh-CN.d.ts.map +1 -0
  473. package/dist/client/locales/zh-CN.js +605 -0
  474. package/dist/client/locales/zh-CN.js.map +1 -0
  475. package/dist/client/online/default-model.d.ts +5 -0
  476. package/dist/client/online/default-model.d.ts.map +1 -0
  477. package/dist/client/online/default-model.js +65 -0
  478. package/dist/client/online/default-model.js.map +1 -0
  479. package/dist/client/online/model.d.ts +45 -0
  480. package/dist/client/online/model.d.ts.map +1 -0
  481. package/dist/client/online/model.js +128 -0
  482. package/dist/client/online/model.js.map +1 -0
  483. package/dist/client/online/service-editor.d.ts +11 -0
  484. package/dist/client/online/service-editor.d.ts.map +1 -0
  485. package/dist/client/online/service-editor.js +235 -0
  486. package/dist/client/online/service-editor.js.map +1 -0
  487. package/dist/client/online/services.d.ts +3 -0
  488. package/dist/client/online/services.d.ts.map +1 -0
  489. package/dist/client/online/services.js +109 -0
  490. package/dist/client/online/services.js.map +1 -0
  491. package/dist/client/pages/agents/agent-model.d.ts +73 -0
  492. package/dist/client/pages/agents/agent-model.d.ts.map +1 -0
  493. package/dist/client/pages/agents/agent-model.js +172 -0
  494. package/dist/client/pages/agents/agent-model.js.map +1 -0
  495. package/dist/client/pages/agents/detail/brief-preview.d.ts +7 -0
  496. package/dist/client/pages/agents/detail/brief-preview.d.ts.map +1 -0
  497. package/dist/client/pages/agents/detail/brief-preview.js +43 -0
  498. package/dist/client/pages/agents/detail/brief-preview.js.map +1 -0
  499. package/dist/client/pages/agents/detail/history.d.ts +11 -0
  500. package/dist/client/pages/agents/detail/history.d.ts.map +1 -0
  501. package/dist/client/pages/agents/detail/history.js +149 -0
  502. package/dist/client/pages/agents/detail/history.js.map +1 -0
  503. package/dist/client/pages/agents/detail/index.d.ts +3 -0
  504. package/dist/client/pages/agents/detail/index.d.ts.map +1 -0
  505. package/dist/client/pages/agents/detail/index.js +241 -0
  506. package/dist/client/pages/agents/detail/index.js.map +1 -0
  507. package/dist/client/pages/agents/detail/sections.d.ts +22 -0
  508. package/dist/client/pages/agents/detail/sections.d.ts.map +1 -0
  509. package/dist/client/pages/agents/detail/sections.js +311 -0
  510. package/dist/client/pages/agents/detail/sections.js.map +1 -0
  511. package/dist/client/pages/agents/detail/tab-draft.d.ts +43 -0
  512. package/dist/client/pages/agents/detail/tab-draft.d.ts.map +1 -0
  513. package/dist/client/pages/agents/detail/tab-draft.js +115 -0
  514. package/dist/client/pages/agents/detail/tab-draft.js.map +1 -0
  515. package/dist/client/pages/agents/detail/unsaved-bar.d.ts +13 -0
  516. package/dist/client/pages/agents/detail/unsaved-bar.d.ts.map +1 -0
  517. package/dist/client/pages/agents/detail/unsaved-bar.js +21 -0
  518. package/dist/client/pages/agents/detail/unsaved-bar.js.map +1 -0
  519. package/dist/client/pages/agents/index.d.ts +3 -0
  520. package/dist/client/pages/agents/index.d.ts.map +1 -0
  521. package/dist/client/pages/agents/index.js +109 -0
  522. package/dist/client/pages/agents/index.js.map +1 -0
  523. package/dist/client/pages/agents/new.d.ts +3 -0
  524. package/dist/client/pages/agents/new.d.ts.map +1 -0
  525. package/dist/client/pages/agents/new.js +149 -0
  526. package/dist/client/pages/agents/new.js.map +1 -0
  527. package/dist/client/pages/agents/preset-picker.d.ts +8 -0
  528. package/dist/client/pages/agents/preset-picker.d.ts.map +1 -0
  529. package/dist/client/pages/agents/preset-picker.js +41 -0
  530. package/dist/client/pages/agents/preset-picker.js.map +1 -0
  531. package/dist/client/pages/models/index.d.ts +6 -0
  532. package/dist/client/pages/models/index.d.ts.map +1 -0
  533. package/dist/client/pages/models/index.js +6 -0
  534. package/dist/client/pages/models/index.js.map +1 -0
  535. package/dist/client/pages/runtimes/connect.d.ts +3 -0
  536. package/dist/client/pages/runtimes/connect.d.ts.map +1 -0
  537. package/dist/client/pages/runtimes/connect.js +155 -0
  538. package/dist/client/pages/runtimes/connect.js.map +1 -0
  539. package/dist/client/pages/runtimes/index.d.ts +3 -0
  540. package/dist/client/pages/runtimes/index.d.ts.map +1 -0
  541. package/dist/client/pages/runtimes/index.js +110 -0
  542. package/dist/client/pages/runtimes/index.js.map +1 -0
  543. package/dist/client/pages/runtimes/runner-cells.d.ts +39 -0
  544. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -0
  545. package/dist/client/pages/runtimes/runner-cells.js +117 -0
  546. package/dist/client/pages/runtimes/runner-cells.js.map +1 -0
  547. package/dist/client/pages/runtimes/runner-policy.d.ts +18 -0
  548. package/dist/client/pages/runtimes/runner-policy.d.ts.map +1 -0
  549. package/dist/client/pages/runtimes/runner-policy.js +10 -0
  550. package/dist/client/pages/runtimes/runner-policy.js.map +1 -0
  551. package/dist/client/pages/runtimes/runner-sheet.d.ts +8 -0
  552. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -0
  553. package/dist/client/pages/runtimes/runner-sheet.js +188 -0
  554. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -0
  555. package/dist/client/pages/runtimes/tool-slots-fields.d.ts +33 -0
  556. package/dist/client/pages/runtimes/tool-slots-fields.d.ts.map +1 -0
  557. package/dist/client/pages/runtimes/tool-slots-fields.js +28 -0
  558. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -0
  559. package/dist/client/pages/skills/detail/index.d.ts +3 -0
  560. package/dist/client/pages/skills/detail/index.d.ts.map +1 -0
  561. package/dist/client/pages/skills/detail/index.js +115 -0
  562. package/dist/client/pages/skills/detail/index.js.map +1 -0
  563. package/dist/client/pages/skills/detail/skill-editor.d.ts +13 -0
  564. package/dist/client/pages/skills/detail/skill-editor.d.ts.map +1 -0
  565. package/dist/client/pages/skills/detail/skill-editor.js +80 -0
  566. package/dist/client/pages/skills/detail/skill-editor.js.map +1 -0
  567. package/dist/client/pages/skills/detail/skill-versions.d.ts +7 -0
  568. package/dist/client/pages/skills/detail/skill-versions.d.ts.map +1 -0
  569. package/dist/client/pages/skills/detail/skill-versions.js +115 -0
  570. package/dist/client/pages/skills/detail/skill-versions.js.map +1 -0
  571. package/dist/client/pages/skills/import-button.d.ts +9 -0
  572. package/dist/client/pages/skills/import-button.d.ts.map +1 -0
  573. package/dist/client/pages/skills/import-button.js +69 -0
  574. package/dist/client/pages/skills/import-button.js.map +1 -0
  575. package/dist/client/pages/skills/index.d.ts +3 -0
  576. package/dist/client/pages/skills/index.d.ts.map +1 -0
  577. package/dist/client/pages/skills/index.js +49 -0
  578. package/dist/client/pages/skills/index.js.map +1 -0
  579. package/dist/client/pages/skills/new.d.ts +3 -0
  580. package/dist/client/pages/skills/new.d.ts.map +1 -0
  581. package/dist/client/pages/skills/new.js +81 -0
  582. package/dist/client/pages/skills/new.js.map +1 -0
  583. package/dist/client/pages/skills/workbench/discard-dialog.d.ts +8 -0
  584. package/dist/client/pages/skills/workbench/discard-dialog.d.ts.map +1 -0
  585. package/dist/client/pages/skills/workbench/discard-dialog.js +9 -0
  586. package/dist/client/pages/skills/workbench/discard-dialog.js.map +1 -0
  587. package/dist/client/pages/skills/workbench/entry-dialog.d.ts +23 -0
  588. package/dist/client/pages/skills/workbench/entry-dialog.d.ts.map +1 -0
  589. package/dist/client/pages/skills/workbench/entry-dialog.js +63 -0
  590. package/dist/client/pages/skills/workbench/entry-dialog.js.map +1 -0
  591. package/dist/client/pages/skills/workbench/file-pane.d.ts +27 -0
  592. package/dist/client/pages/skills/workbench/file-pane.d.ts.map +1 -0
  593. package/dist/client/pages/skills/workbench/file-pane.js +101 -0
  594. package/dist/client/pages/skills/workbench/file-pane.js.map +1 -0
  595. package/dist/client/pages/skills/workbench/file-tree.d.ts +23 -0
  596. package/dist/client/pages/skills/workbench/file-tree.d.ts.map +1 -0
  597. package/dist/client/pages/skills/workbench/file-tree.js +85 -0
  598. package/dist/client/pages/skills/workbench/file-tree.js.map +1 -0
  599. package/dist/client/pages/skills/workbench/model.d.ts +72 -0
  600. package/dist/client/pages/skills/workbench/model.d.ts.map +1 -0
  601. package/dist/client/pages/skills/workbench/model.js +176 -0
  602. package/dist/client/pages/skills/workbench/model.js.map +1 -0
  603. package/dist/client/pages/skills/workbench/skill-workbench.d.ts +13 -0
  604. package/dist/client/pages/skills/workbench/skill-workbench.d.ts.map +1 -0
  605. package/dist/client/pages/skills/workbench/skill-workbench.js +223 -0
  606. package/dist/client/pages/skills/workbench/skill-workbench.js.map +1 -0
  607. package/dist/client/pages/skills/workbench/state.d.ts +28 -0
  608. package/dist/client/pages/skills/workbench/state.d.ts.map +1 -0
  609. package/dist/client/pages/skills/workbench/state.js +62 -0
  610. package/dist/client/pages/skills/workbench/state.js.map +1 -0
  611. package/dist/client/pages/skills/workbench/use-element-width.d.ts +6 -0
  612. package/dist/client/pages/skills/workbench/use-element-width.d.ts.map +1 -0
  613. package/dist/client/pages/skills/workbench/use-element-width.js +18 -0
  614. package/dist/client/pages/skills/workbench/use-element-width.js.map +1 -0
  615. package/dist/client/pages/usage/date-range-picker.d.ts +10 -0
  616. package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -0
  617. package/dist/client/pages/usage/date-range-picker.js +45 -0
  618. package/dist/client/pages/usage/date-range-picker.js.map +1 -0
  619. package/dist/client/pages/usage/index.d.ts +3 -0
  620. package/dist/client/pages/usage/index.d.ts.map +1 -0
  621. package/dist/client/pages/usage/index.js +269 -0
  622. package/dist/client/pages/usage/index.js.map +1 -0
  623. package/dist/client/pages/usage/model.d.ts +70 -0
  624. package/dist/client/pages/usage/model.d.ts.map +1 -0
  625. package/dist/client/pages/usage/model.js +234 -0
  626. package/dist/client/pages/usage/model.js.map +1 -0
  627. package/dist/client/pages/usage/prices/index.d.ts +6 -0
  628. package/dist/client/pages/usage/prices/index.d.ts.map +1 -0
  629. package/dist/client/pages/usage/prices/index.js +35 -0
  630. package/dist/client/pages/usage/prices/index.js.map +1 -0
  631. package/dist/client/pages/usage/prices/model.d.ts +43 -0
  632. package/dist/client/pages/usage/prices/model.d.ts.map +1 -0
  633. package/dist/client/pages/usage/prices/model.js +104 -0
  634. package/dist/client/pages/usage/prices/model.js.map +1 -0
  635. package/dist/client/pages/usage/prices/price-cells.d.ts +24 -0
  636. package/dist/client/pages/usage/prices/price-cells.d.ts.map +1 -0
  637. package/dist/client/pages/usage/prices/price-cells.js +61 -0
  638. package/dist/client/pages/usage/prices/price-cells.js.map +1 -0
  639. package/dist/client/pages/usage/prices/prices-section.d.ts +7 -0
  640. package/dist/client/pages/usage/prices/prices-section.d.ts.map +1 -0
  641. package/dist/client/pages/usage/prices/prices-section.js +50 -0
  642. package/dist/client/pages/usage/prices/prices-section.js.map +1 -0
  643. package/dist/client/pages/usage/prices/tool-panel.d.ts +9 -0
  644. package/dist/client/pages/usage/prices/tool-panel.d.ts.map +1 -0
  645. package/dist/client/pages/usage/prices/tool-panel.js +78 -0
  646. package/dist/client/pages/usage/prices/tool-panel.js.map +1 -0
  647. package/dist/client/pages/usage/prices/use-save-prices.d.ts +6 -0
  648. package/dist/client/pages/usage/prices/use-save-prices.d.ts.map +1 -0
  649. package/dist/client/pages/usage/prices/use-save-prices.js +14 -0
  650. package/dist/client/pages/usage/prices/use-save-prices.js.map +1 -0
  651. package/dist/client/plugin.d.ts +4 -0
  652. package/dist/client/plugin.d.ts.map +1 -0
  653. package/dist/client/plugin.js +11 -0
  654. package/dist/client/plugin.js.map +1 -0
  655. package/dist/client/profile/default-agent.d.ts +3 -0
  656. package/dist/client/profile/default-agent.d.ts.map +1 -0
  657. package/dist/client/profile/default-agent.js +89 -0
  658. package/dist/client/profile/default-agent.js.map +1 -0
  659. package/dist/client/profile.d.ts +8 -0
  660. package/dist/client/profile.d.ts.map +1 -0
  661. package/dist/client/profile.js +4 -0
  662. package/dist/client/profile.js.map +1 -0
  663. package/dist/client/query.d.ts +9 -0
  664. package/dist/client/query.d.ts.map +1 -0
  665. package/dist/client/query.js +41 -0
  666. package/dist/client/query.js.map +1 -0
  667. package/dist/client/routes.d.ts +25 -0
  668. package/dist/client/routes.d.ts.map +1 -0
  669. package/dist/client/routes.js +89 -0
  670. package/dist/client/routes.js.map +1 -0
  671. package/dist/client/runs/format-wait.d.ts +21 -0
  672. package/dist/client/runs/format-wait.d.ts.map +1 -0
  673. package/dist/client/runs/format-wait.js +76 -0
  674. package/dist/client/runs/format-wait.js.map +1 -0
  675. package/dist/client/runs/run-hooks.d.ts +35 -0
  676. package/dist/client/runs/run-hooks.d.ts.map +1 -0
  677. package/dist/client/runs/run-hooks.js +92 -0
  678. package/dist/client/runs/run-hooks.js.map +1 -0
  679. package/dist/client/runs/subject-runs.d.ts +12 -0
  680. package/dist/client/runs/subject-runs.d.ts.map +1 -0
  681. package/dist/client/runs/subject-runs.js +56 -0
  682. package/dist/client/runs/subject-runs.js.map +1 -0
  683. package/dist/client/runs/use-run-events.d.ts +24 -0
  684. package/dist/client/runs/use-run-events.d.ts.map +1 -0
  685. package/dist/client/runs/use-run-events.js +80 -0
  686. package/dist/client/runs/use-run-events.js.map +1 -0
  687. package/dist/client/runs.d.ts +16 -0
  688. package/dist/client/runs.d.ts.map +1 -0
  689. package/dist/client/runs.js +15 -0
  690. package/dist/client/runs.js.map +1 -0
  691. package/dist/database/migrations/.manifest.json +61 -0
  692. package/dist/database/migrations/202610020001_ag_create_agents.d.ts +4 -0
  693. package/dist/database/migrations/202610020001_ag_create_agents.d.ts.map +1 -0
  694. package/dist/database/migrations/202610020001_ag_create_agents.js +108 -0
  695. package/dist/database/migrations/202610020001_ag_create_agents.js.map +1 -0
  696. package/dist/database/migrations/202610020002_ag_create_runners.d.ts +4 -0
  697. package/dist/database/migrations/202610020002_ag_create_runners.d.ts.map +1 -0
  698. package/dist/database/migrations/202610020002_ag_create_runners.js +115 -0
  699. package/dist/database/migrations/202610020002_ag_create_runners.js.map +1 -0
  700. package/dist/database/migrations/202610020003_ag_create_runs.d.ts +4 -0
  701. package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -0
  702. package/dist/database/migrations/202610020003_ag_create_runs.js +289 -0
  703. package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -0
  704. package/dist/database/migrations/202610020004_ag_create_variables.d.ts +4 -0
  705. package/dist/database/migrations/202610020004_ag_create_variables.d.ts.map +1 -0
  706. package/dist/database/migrations/202610020004_ag_create_variables.js +52 -0
  707. package/dist/database/migrations/202610020004_ag_create_variables.js.map +1 -0
  708. package/dist/database/migrations/202610020005_ag_create_skills.d.ts +4 -0
  709. package/dist/database/migrations/202610020005_ag_create_skills.d.ts.map +1 -0
  710. package/dist/database/migrations/202610020005_ag_create_skills.js +94 -0
  711. package/dist/database/migrations/202610020005_ag_create_skills.js.map +1 -0
  712. package/dist/database/migrations/202610020006_ag_create_model_prices.d.ts +4 -0
  713. package/dist/database/migrations/202610020006_ag_create_model_prices.d.ts.map +1 -0
  714. package/dist/database/migrations/202610020006_ag_create_model_prices.js +46 -0
  715. package/dist/database/migrations/202610020006_ag_create_model_prices.js.map +1 -0
  716. package/dist/database/migrations/202610020008_ag_create_conversations.d.ts +4 -0
  717. package/dist/database/migrations/202610020008_ag_create_conversations.d.ts.map +1 -0
  718. package/dist/database/migrations/202610020008_ag_create_conversations.js +113 -0
  719. package/dist/database/migrations/202610020008_ag_create_conversations.js.map +1 -0
  720. package/dist/database/migrations/202610020009_ag_create_jobs.d.ts +4 -0
  721. package/dist/database/migrations/202610020009_ag_create_jobs.d.ts.map +1 -0
  722. package/dist/database/migrations/202610020009_ag_create_jobs.js +102 -0
  723. package/dist/database/migrations/202610020009_ag_create_jobs.js.map +1 -0
  724. package/dist/database/migrations/202610020010_ag_create_model_services.d.ts +4 -0
  725. package/dist/database/migrations/202610020010_ag_create_model_services.d.ts.map +1 -0
  726. package/dist/database/migrations/202610020010_ag_create_model_services.js +57 -0
  727. package/dist/database/migrations/202610020010_ag_create_model_services.js.map +1 -0
  728. package/dist/database/migrations/202610020011_ag_create_vectors.d.ts +4 -0
  729. package/dist/database/migrations/202610020011_ag_create_vectors.d.ts.map +1 -0
  730. package/dist/database/migrations/202610020011_ag_create_vectors.js +68 -0
  731. package/dist/database/migrations/202610020011_ag_create_vectors.js.map +1 -0
  732. package/dist/database/migrations/202610060001_ag_add_runner_product.d.ts +8 -0
  733. package/dist/database/migrations/202610060001_ag_add_runner_product.d.ts.map +1 -0
  734. package/dist/database/migrations/202610060001_ag_add_runner_product.js +21 -0
  735. package/dist/database/migrations/202610060001_ag_add_runner_product.js.map +1 -0
  736. package/dist/database/migrations/202610070001_ag_create_chat_attachments.d.ts +4 -0
  737. package/dist/database/migrations/202610070001_ag_create_chat_attachments.d.ts.map +1 -0
  738. package/dist/database/migrations/202610070001_ag_create_chat_attachments.js +35 -0
  739. package/dist/database/migrations/202610070001_ag_create_chat_attachments.js.map +1 -0
  740. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.d.ts +9 -0
  741. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.d.ts.map +1 -0
  742. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.js +30 -0
  743. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.js.map +1 -0
  744. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts +9 -0
  745. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts.map +1 -0
  746. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js +28 -0
  747. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js.map +1 -0
  748. package/dist/database/seeds/.manifest.json +9 -0
  749. package/dist/database/seeds/202610020007_ag_default_model_prices.d.ts +4 -0
  750. package/dist/database/seeds/202610020007_ag_default_model_prices.d.ts.map +1 -0
  751. package/dist/database/seeds/202610020007_ag_default_model_prices.js +142 -0
  752. package/dist/database/seeds/202610020007_ag_default_model_prices.js.map +1 -0
  753. package/dist/package.d.ts +2 -0
  754. package/dist/package.d.ts.map +1 -0
  755. package/dist/package.js +2 -0
  756. package/dist/package.js.map +1 -0
  757. package/dist/package.json +312 -0
  758. package/dist/server/cli/run-credential.d.ts +17 -0
  759. package/dist/server/cli/run-credential.d.ts.map +1 -0
  760. package/dist/server/cli/run-credential.js +52 -0
  761. package/dist/server/cli/run-credential.js.map +1 -0
  762. package/dist/server/cli/surface.d.ts +20 -0
  763. package/dist/server/cli/surface.d.ts.map +1 -0
  764. package/dist/server/cli/surface.js +66 -0
  765. package/dist/server/cli/surface.js.map +1 -0
  766. package/dist/server/composition.d.ts +199 -0
  767. package/dist/server/composition.d.ts.map +1 -0
  768. package/dist/server/composition.js +373 -0
  769. package/dist/server/composition.js.map +1 -0
  770. package/dist/server/core/agents/actions.d.ts +16 -0
  771. package/dist/server/core/agents/actions.d.ts.map +1 -0
  772. package/dist/server/core/agents/actions.js +26 -0
  773. package/dist/server/core/agents/actions.js.map +1 -0
  774. package/dist/server/core/agents/agent.history.d.ts +32 -0
  775. package/dist/server/core/agents/agent.history.d.ts.map +1 -0
  776. package/dist/server/core/agents/agent.history.js +71 -0
  777. package/dist/server/core/agents/agent.history.js.map +1 -0
  778. package/dist/server/core/agents/agent.service.d.ts +85 -0
  779. package/dist/server/core/agents/agent.service.d.ts.map +1 -0
  780. package/dist/server/core/agents/agent.service.js +427 -0
  781. package/dist/server/core/agents/agent.service.js.map +1 -0
  782. package/dist/server/core/agents/agent.store.d.ts +51 -0
  783. package/dist/server/core/agents/agent.store.d.ts.map +1 -0
  784. package/dist/server/core/agents/agent.store.js +152 -0
  785. package/dist/server/core/agents/agent.store.js.map +1 -0
  786. package/dist/server/core/agents/index.d.ts +4 -0
  787. package/dist/server/core/agents/index.d.ts.map +1 -0
  788. package/dist/server/core/agents/index.js +4 -0
  789. package/dist/server/core/agents/index.js.map +1 -0
  790. package/dist/server/core/brief/brief.d.ts +114 -0
  791. package/dist/server/core/brief/brief.d.ts.map +1 -0
  792. package/dist/server/core/brief/brief.js +216 -0
  793. package/dist/server/core/brief/brief.js.map +1 -0
  794. package/dist/server/core/brief/index.d.ts +2 -0
  795. package/dist/server/core/brief/index.d.ts.map +1 -0
  796. package/dist/server/core/brief/index.js +2 -0
  797. package/dist/server/core/brief/index.js.map +1 -0
  798. package/dist/server/core/callers/index.d.ts +63 -0
  799. package/dist/server/core/callers/index.d.ts.map +1 -0
  800. package/dist/server/core/callers/index.js +42 -0
  801. package/dist/server/core/callers/index.js.map +1 -0
  802. package/dist/server/core/consultations/consultation.service.d.ts +59 -0
  803. package/dist/server/core/consultations/consultation.service.d.ts.map +1 -0
  804. package/dist/server/core/consultations/consultation.service.js +195 -0
  805. package/dist/server/core/consultations/consultation.service.js.map +1 -0
  806. package/dist/server/core/consultations/index.d.ts +3 -0
  807. package/dist/server/core/consultations/index.d.ts.map +1 -0
  808. package/dist/server/core/consultations/index.js +3 -0
  809. package/dist/server/core/consultations/index.js.map +1 -0
  810. package/dist/server/core/consultations/prompt.d.ts +41 -0
  811. package/dist/server/core/consultations/prompt.d.ts.map +1 -0
  812. package/dist/server/core/consultations/prompt.js +64 -0
  813. package/dist/server/core/consultations/prompt.js.map +1 -0
  814. package/dist/server/core/conversations/attachments.d.ts +159 -0
  815. package/dist/server/core/conversations/attachments.d.ts.map +1 -0
  816. package/dist/server/core/conversations/attachments.js +281 -0
  817. package/dist/server/core/conversations/attachments.js.map +1 -0
  818. package/dist/server/core/conversations/availability.d.ts +20 -0
  819. package/dist/server/core/conversations/availability.d.ts.map +1 -0
  820. package/dist/server/core/conversations/availability.js +28 -0
  821. package/dist/server/core/conversations/availability.js.map +1 -0
  822. package/dist/server/core/conversations/chat-settings.d.ts +26 -0
  823. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -0
  824. package/dist/server/core/conversations/chat-settings.js +116 -0
  825. package/dist/server/core/conversations/chat-settings.js.map +1 -0
  826. package/dist/server/core/conversations/conversation.service.d.ts +32 -0
  827. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -0
  828. package/dist/server/core/conversations/conversation.service.js +1356 -0
  829. package/dist/server/core/conversations/conversation.service.js.map +1 -0
  830. package/dist/server/core/conversations/conversation.store.d.ts +104 -0
  831. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -0
  832. package/dist/server/core/conversations/conversation.store.js +159 -0
  833. package/dist/server/core/conversations/conversation.store.js.map +1 -0
  834. package/dist/server/core/conversations/index.d.ts +8 -0
  835. package/dist/server/core/conversations/index.d.ts.map +1 -0
  836. package/dist/server/core/conversations/index.js +7 -0
  837. package/dist/server/core/conversations/index.js.map +1 -0
  838. package/dist/server/core/conversations/page-context.d.ts +35 -0
  839. package/dist/server/core/conversations/page-context.d.ts.map +1 -0
  840. package/dist/server/core/conversations/page-context.js +144 -0
  841. package/dist/server/core/conversations/page-context.js.map +1 -0
  842. package/dist/server/core/conversations/ports.d.ts +145 -0
  843. package/dist/server/core/conversations/ports.d.ts.map +1 -0
  844. package/dist/server/core/conversations/ports.js +2 -0
  845. package/dist/server/core/conversations/ports.js.map +1 -0
  846. package/dist/server/core/conversations/prompt.d.ts +46 -0
  847. package/dist/server/core/conversations/prompt.d.ts.map +1 -0
  848. package/dist/server/core/conversations/prompt.js +107 -0
  849. package/dist/server/core/conversations/prompt.js.map +1 -0
  850. package/dist/server/core/conversations/titles.d.ts +9 -0
  851. package/dist/server/core/conversations/titles.d.ts.map +1 -0
  852. package/dist/server/core/conversations/titles.js +20 -0
  853. package/dist/server/core/conversations/titles.js.map +1 -0
  854. package/dist/server/core/presets/index.d.ts +19 -0
  855. package/dist/server/core/presets/index.d.ts.map +1 -0
  856. package/dist/server/core/presets/index.js +28 -0
  857. package/dist/server/core/presets/index.js.map +1 -0
  858. package/dist/server/core/reports/index.d.ts +7 -0
  859. package/dist/server/core/reports/index.d.ts.map +1 -0
  860. package/dist/server/core/reports/index.js +7 -0
  861. package/dist/server/core/reports/index.js.map +1 -0
  862. package/dist/server/core/reports/metrics.d.ts +23 -0
  863. package/dist/server/core/reports/metrics.d.ts.map +1 -0
  864. package/dist/server/core/reports/metrics.js +60 -0
  865. package/dist/server/core/reports/metrics.js.map +1 -0
  866. package/dist/server/core/reports/model-usage.d.ts +35 -0
  867. package/dist/server/core/reports/model-usage.d.ts.map +1 -0
  868. package/dist/server/core/reports/model-usage.js +84 -0
  869. package/dist/server/core/reports/model-usage.js.map +1 -0
  870. package/dist/server/core/reports/prices.d.ts +35 -0
  871. package/dist/server/core/reports/prices.d.ts.map +1 -0
  872. package/dist/server/core/reports/prices.js +173 -0
  873. package/dist/server/core/reports/prices.js.map +1 -0
  874. package/dist/server/core/reports/report.service.d.ts +57 -0
  875. package/dist/server/core/reports/report.service.d.ts.map +1 -0
  876. package/dist/server/core/reports/report.service.js +310 -0
  877. package/dist/server/core/reports/report.service.js.map +1 -0
  878. package/dist/server/core/reports/usage.d.ts +50 -0
  879. package/dist/server/core/reports/usage.d.ts.map +1 -0
  880. package/dist/server/core/reports/usage.js +159 -0
  881. package/dist/server/core/reports/usage.js.map +1 -0
  882. package/dist/server/core/runs/availability.d.ts +23 -0
  883. package/dist/server/core/runs/availability.d.ts.map +1 -0
  884. package/dist/server/core/runs/availability.js +42 -0
  885. package/dist/server/core/runs/availability.js.map +1 -0
  886. package/dist/server/core/runs/claim.d.ts +183 -0
  887. package/dist/server/core/runs/claim.d.ts.map +1 -0
  888. package/dist/server/core/runs/claim.js +862 -0
  889. package/dist/server/core/runs/claim.js.map +1 -0
  890. package/dist/server/core/runs/cli-package.d.ts +16 -0
  891. package/dist/server/core/runs/cli-package.d.ts.map +1 -0
  892. package/dist/server/core/runs/cli-package.js +18 -0
  893. package/dist/server/core/runs/cli-package.js.map +1 -0
  894. package/dist/server/core/runs/eligibility.d.ts +49 -0
  895. package/dist/server/core/runs/eligibility.d.ts.map +1 -0
  896. package/dist/server/core/runs/eligibility.js +44 -0
  897. package/dist/server/core/runs/eligibility.js.map +1 -0
  898. package/dist/server/core/runs/extensions.d.ts +131 -0
  899. package/dist/server/core/runs/extensions.d.ts.map +1 -0
  900. package/dist/server/core/runs/extensions.js +184 -0
  901. package/dist/server/core/runs/extensions.js.map +1 -0
  902. package/dist/server/core/runs/index.d.ts +17 -0
  903. package/dist/server/core/runs/index.d.ts.map +1 -0
  904. package/dist/server/core/runs/index.js +16 -0
  905. package/dist/server/core/runs/index.js.map +1 -0
  906. package/dist/server/core/runs/lifecycle.d.ts +56 -0
  907. package/dist/server/core/runs/lifecycle.d.ts.map +1 -0
  908. package/dist/server/core/runs/lifecycle.js +348 -0
  909. package/dist/server/core/runs/lifecycle.js.map +1 -0
  910. package/dist/server/core/runs/policy.d.ts +33 -0
  911. package/dist/server/core/runs/policy.d.ts.map +1 -0
  912. package/dist/server/core/runs/policy.js +38 -0
  913. package/dist/server/core/runs/policy.js.map +1 -0
  914. package/dist/server/core/runs/ports.d.ts +197 -0
  915. package/dist/server/core/runs/ports.d.ts.map +1 -0
  916. package/dist/server/core/runs/ports.js +33 -0
  917. package/dist/server/core/runs/ports.js.map +1 -0
  918. package/dist/server/core/runs/preview.d.ts +47 -0
  919. package/dist/server/core/runs/preview.d.ts.map +1 -0
  920. package/dist/server/core/runs/preview.js +104 -0
  921. package/dist/server/core/runs/preview.js.map +1 -0
  922. package/dist/server/core/runs/run-tokens.d.ts +21 -0
  923. package/dist/server/core/runs/run-tokens.d.ts.map +1 -0
  924. package/dist/server/core/runs/run-tokens.js +51 -0
  925. package/dist/server/core/runs/run-tokens.js.map +1 -0
  926. package/dist/server/core/runs/run.service.d.ts +168 -0
  927. package/dist/server/core/runs/run.service.d.ts.map +1 -0
  928. package/dist/server/core/runs/run.service.js +482 -0
  929. package/dist/server/core/runs/run.service.js.map +1 -0
  930. package/dist/server/core/runs/run.store.d.ts +191 -0
  931. package/dist/server/core/runs/run.store.d.ts.map +1 -0
  932. package/dist/server/core/runs/run.store.js +252 -0
  933. package/dist/server/core/runs/run.store.js.map +1 -0
  934. package/dist/server/core/runs/runner-view.d.ts +46 -0
  935. package/dist/server/core/runs/runner-view.d.ts.map +1 -0
  936. package/dist/server/core/runs/runner-view.js +119 -0
  937. package/dist/server/core/runs/runner-view.js.map +1 -0
  938. package/dist/server/core/runs/sweeper.d.ts +28 -0
  939. package/dist/server/core/runs/sweeper.d.ts.map +1 -0
  940. package/dist/server/core/runs/sweeper.js +199 -0
  941. package/dist/server/core/runs/sweeper.js.map +1 -0
  942. package/dist/server/core/runs/transitions.d.ts +41 -0
  943. package/dist/server/core/runs/transitions.d.ts.map +1 -0
  944. package/dist/server/core/runs/transitions.js +106 -0
  945. package/dist/server/core/runs/transitions.js.map +1 -0
  946. package/dist/server/core/runs/workload.d.ts +49 -0
  947. package/dist/server/core/runs/workload.d.ts.map +1 -0
  948. package/dist/server/core/runs/workload.js +312 -0
  949. package/dist/server/core/runs/workload.js.map +1 -0
  950. package/dist/server/core/runs/workspace.store.d.ts +23 -0
  951. package/dist/server/core/runs/workspace.store.d.ts.map +1 -0
  952. package/dist/server/core/runs/workspace.store.js +77 -0
  953. package/dist/server/core/runs/workspace.store.js.map +1 -0
  954. package/dist/server/core/skills/blobs.d.ts +65 -0
  955. package/dist/server/core/skills/blobs.d.ts.map +1 -0
  956. package/dist/server/core/skills/blobs.js +212 -0
  957. package/dist/server/core/skills/blobs.js.map +1 -0
  958. package/dist/server/core/skills/bundle.d.ts +27 -0
  959. package/dist/server/core/skills/bundle.d.ts.map +1 -0
  960. package/dist/server/core/skills/bundle.js +71 -0
  961. package/dist/server/core/skills/bundle.js.map +1 -0
  962. package/dist/server/core/skills/index.d.ts +6 -0
  963. package/dist/server/core/skills/index.d.ts.map +1 -0
  964. package/dist/server/core/skills/index.js +6 -0
  965. package/dist/server/core/skills/index.js.map +1 -0
  966. package/dist/server/core/skills/skill.service.d.ts +105 -0
  967. package/dist/server/core/skills/skill.service.d.ts.map +1 -0
  968. package/dist/server/core/skills/skill.service.js +625 -0
  969. package/dist/server/core/skills/skill.service.js.map +1 -0
  970. package/dist/server/core/skills/skill.store.d.ts +50 -0
  971. package/dist/server/core/skills/skill.store.d.ts.map +1 -0
  972. package/dist/server/core/skills/skill.store.js +58 -0
  973. package/dist/server/core/skills/skill.store.js.map +1 -0
  974. package/dist/server/core/skills/zip.d.ts +13 -0
  975. package/dist/server/core/skills/zip.d.ts.map +1 -0
  976. package/dist/server/core/skills/zip.js +126 -0
  977. package/dist/server/core/skills/zip.js.map +1 -0
  978. package/dist/server/core/variables/index.d.ts +2 -0
  979. package/dist/server/core/variables/index.d.ts.map +1 -0
  980. package/dist/server/core/variables/index.js +2 -0
  981. package/dist/server/core/variables/index.js.map +1 -0
  982. package/dist/server/core/variables/variable.service.d.ts +100 -0
  983. package/dist/server/core/variables/variable.service.d.ts.map +1 -0
  984. package/dist/server/core/variables/variable.service.js +278 -0
  985. package/dist/server/core/variables/variable.service.js.map +1 -0
  986. package/dist/server/distribution/dist.service.d.ts +50 -0
  987. package/dist/server/distribution/dist.service.d.ts.map +1 -0
  988. package/dist/server/distribution/dist.service.js +201 -0
  989. package/dist/server/distribution/dist.service.js.map +1 -0
  990. package/dist/server/distribution/download-tokens.d.ts +30 -0
  991. package/dist/server/distribution/download-tokens.d.ts.map +1 -0
  992. package/dist/server/distribution/download-tokens.js +82 -0
  993. package/dist/server/distribution/download-tokens.js.map +1 -0
  994. package/dist/server/distribution/index.d.ts +14 -0
  995. package/dist/server/distribution/index.d.ts.map +1 -0
  996. package/dist/server/distribution/index.js +28 -0
  997. package/dist/server/distribution/index.js.map +1 -0
  998. package/dist/server/index.d.ts +4 -0
  999. package/dist/server/index.d.ts.map +1 -0
  1000. package/dist/server/index.js +4 -0
  1001. package/dist/server/index.js.map +1 -0
  1002. package/dist/server/jobs/index.d.ts +5 -0
  1003. package/dist/server/jobs/index.d.ts.map +1 -0
  1004. package/dist/server/jobs/index.js +5 -0
  1005. package/dist/server/jobs/index.js.map +1 -0
  1006. package/dist/server/jobs/job.service.d.ts +154 -0
  1007. package/dist/server/jobs/job.service.d.ts.map +1 -0
  1008. package/dist/server/jobs/job.service.js +715 -0
  1009. package/dist/server/jobs/job.service.js.map +1 -0
  1010. package/dist/server/jobs/job.store.d.ts +74 -0
  1011. package/dist/server/jobs/job.store.d.ts.map +1 -0
  1012. package/dist/server/jobs/job.store.js +110 -0
  1013. package/dist/server/jobs/job.store.js.map +1 -0
  1014. package/dist/server/jobs/job.transitions.d.ts +41 -0
  1015. package/dist/server/jobs/job.transitions.d.ts.map +1 -0
  1016. package/dist/server/jobs/job.transitions.js +112 -0
  1017. package/dist/server/jobs/job.transitions.js.map +1 -0
  1018. package/dist/server/jobs/registry.d.ts +53 -0
  1019. package/dist/server/jobs/registry.d.ts.map +1 -0
  1020. package/dist/server/jobs/registry.js +32 -0
  1021. package/dist/server/jobs/registry.js.map +1 -0
  1022. package/dist/server/jobs/spec.d.ts +49 -0
  1023. package/dist/server/jobs/spec.d.ts.map +1 -0
  1024. package/dist/server/jobs/spec.js +112 -0
  1025. package/dist/server/jobs/spec.js.map +1 -0
  1026. package/dist/server/kernel/clock.d.ts +10 -0
  1027. package/dist/server/kernel/clock.d.ts.map +1 -0
  1028. package/dist/server/kernel/clock.js +10 -0
  1029. package/dist/server/kernel/clock.js.map +1 -0
  1030. package/dist/server/kernel/crypto.d.ts +18 -0
  1031. package/dist/server/kernel/crypto.d.ts.map +1 -0
  1032. package/dist/server/kernel/crypto.js +25 -0
  1033. package/dist/server/kernel/crypto.js.map +1 -0
  1034. package/dist/server/kernel/errors.d.ts +16 -0
  1035. package/dist/server/kernel/errors.d.ts.map +1 -0
  1036. package/dist/server/kernel/errors.js +44 -0
  1037. package/dist/server/kernel/errors.js.map +1 -0
  1038. package/dist/server/kernel/events.d.ts +127 -0
  1039. package/dist/server/kernel/events.d.ts.map +1 -0
  1040. package/dist/server/kernel/events.js +32 -0
  1041. package/dist/server/kernel/events.js.map +1 -0
  1042. package/dist/server/kernel/http.d.ts +23 -0
  1043. package/dist/server/kernel/http.d.ts.map +1 -0
  1044. package/dist/server/kernel/http.js +56 -0
  1045. package/dist/server/kernel/http.js.map +1 -0
  1046. package/dist/server/kernel/ids.d.ts +9 -0
  1047. package/dist/server/kernel/ids.d.ts.map +1 -0
  1048. package/dist/server/kernel/ids.js +5 -0
  1049. package/dist/server/kernel/ids.js.map +1 -0
  1050. package/dist/server/kernel/people.d.ts +28 -0
  1051. package/dist/server/kernel/people.d.ts.map +1 -0
  1052. package/dist/server/kernel/people.js +30 -0
  1053. package/dist/server/kernel/people.js.map +1 -0
  1054. package/dist/server/kernel/redaction.d.ts +25 -0
  1055. package/dist/server/kernel/redaction.d.ts.map +1 -0
  1056. package/dist/server/kernel/redaction.js +39 -0
  1057. package/dist/server/kernel/redaction.js.map +1 -0
  1058. package/dist/server/kernel/scopes.d.ts +34 -0
  1059. package/dist/server/kernel/scopes.d.ts.map +1 -0
  1060. package/dist/server/kernel/scopes.js +47 -0
  1061. package/dist/server/kernel/scopes.js.map +1 -0
  1062. package/dist/server/kernel/secrets.d.ts +12 -0
  1063. package/dist/server/kernel/secrets.d.ts.map +1 -0
  1064. package/dist/server/kernel/secrets.js +20 -0
  1065. package/dist/server/kernel/secrets.js.map +1 -0
  1066. package/dist/server/kernel/tx.d.ts +18 -0
  1067. package/dist/server/kernel/tx.d.ts.map +1 -0
  1068. package/dist/server/kernel/tx.js +15 -0
  1069. package/dist/server/kernel/tx.js.map +1 -0
  1070. package/dist/server/kernel/values.d.ts +19 -0
  1071. package/dist/server/kernel/values.d.ts.map +1 -0
  1072. package/dist/server/kernel/values.js +64 -0
  1073. package/dist/server/kernel/values.js.map +1 -0
  1074. package/dist/server/locales/en-US.d.ts +4 -0
  1075. package/dist/server/locales/en-US.d.ts.map +1 -0
  1076. package/dist/server/locales/en-US.js +6 -0
  1077. package/dist/server/locales/en-US.js.map +1 -0
  1078. package/dist/server/locales/index.d.ts +4 -0
  1079. package/dist/server/locales/index.d.ts.map +1 -0
  1080. package/dist/server/locales/index.js +6 -0
  1081. package/dist/server/locales/index.js.map +1 -0
  1082. package/dist/server/locales/zh-CN.d.ts +4 -0
  1083. package/dist/server/locales/zh-CN.d.ts.map +1 -0
  1084. package/dist/server/locales/zh-CN.js +6 -0
  1085. package/dist/server/locales/zh-CN.js.map +1 -0
  1086. package/dist/server/online/cli-command.d.ts +20 -0
  1087. package/dist/server/online/cli-command.d.ts.map +1 -0
  1088. package/dist/server/online/cli-command.js +345 -0
  1089. package/dist/server/online/cli-command.js.map +1 -0
  1090. package/dist/server/online/consult-tool.d.ts +54 -0
  1091. package/dist/server/online/consult-tool.d.ts.map +1 -0
  1092. package/dist/server/online/consult-tool.js +177 -0
  1093. package/dist/server/online/consult-tool.js.map +1 -0
  1094. package/dist/server/online/executor.d.ts +83 -0
  1095. package/dist/server/online/executor.d.ts.map +1 -0
  1096. package/dist/server/online/executor.js +714 -0
  1097. package/dist/server/online/executor.js.map +1 -0
  1098. package/dist/server/online/gateway.d.ts +240 -0
  1099. package/dist/server/online/gateway.d.ts.map +1 -0
  1100. package/dist/server/online/gateway.js +552 -0
  1101. package/dist/server/online/gateway.js.map +1 -0
  1102. package/dist/server/online/index.d.ts +10 -0
  1103. package/dist/server/online/index.d.ts.map +1 -0
  1104. package/dist/server/online/index.js +10 -0
  1105. package/dist/server/online/index.js.map +1 -0
  1106. package/dist/server/online/providers.d.ts +58 -0
  1107. package/dist/server/online/providers.d.ts.map +1 -0
  1108. package/dist/server/online/providers.js +370 -0
  1109. package/dist/server/online/providers.js.map +1 -0
  1110. package/dist/server/online/routes.d.ts +9 -0
  1111. package/dist/server/online/routes.d.ts.map +1 -0
  1112. package/dist/server/online/routes.js +197 -0
  1113. package/dist/server/online/routes.js.map +1 -0
  1114. package/dist/server/online/sandbox.d.ts +32 -0
  1115. package/dist/server/online/sandbox.d.ts.map +1 -0
  1116. package/dist/server/online/sandbox.js +246 -0
  1117. package/dist/server/online/sandbox.js.map +1 -0
  1118. package/dist/server/online/scripted.d.ts +12 -0
  1119. package/dist/server/online/scripted.d.ts.map +1 -0
  1120. package/dist/server/online/scripted.js +176 -0
  1121. package/dist/server/online/scripted.js.map +1 -0
  1122. package/dist/server/online/services.d.ts +49 -0
  1123. package/dist/server/online/services.d.ts.map +1 -0
  1124. package/dist/server/online/services.js +444 -0
  1125. package/dist/server/online/services.js.map +1 -0
  1126. package/dist/server/online/tools.d.ts +17 -0
  1127. package/dist/server/online/tools.d.ts.map +1 -0
  1128. package/dist/server/online/tools.js +31 -0
  1129. package/dist/server/online/tools.js.map +1 -0
  1130. package/dist/server/plugin.d.ts +4 -0
  1131. package/dist/server/plugin.d.ts.map +1 -0
  1132. package/dist/server/plugin.js +20 -0
  1133. package/dist/server/plugin.js.map +1 -0
  1134. package/dist/server/providers/agents.d.ts +84 -0
  1135. package/dist/server/providers/agents.d.ts.map +1 -0
  1136. package/dist/server/providers/agents.js +303 -0
  1137. package/dist/server/providers/agents.js.map +1 -0
  1138. package/dist/server/providers/authorization.d.ts +17 -0
  1139. package/dist/server/providers/authorization.d.ts.map +1 -0
  1140. package/dist/server/providers/authorization.js +60 -0
  1141. package/dist/server/providers/authorization.js.map +1 -0
  1142. package/dist/server/providers/index.d.ts +4 -0
  1143. package/dist/server/providers/index.d.ts.map +1 -0
  1144. package/dist/server/providers/index.js +10 -0
  1145. package/dist/server/providers/index.js.map +1 -0
  1146. package/dist/server/providers/runners.d.ts +19 -0
  1147. package/dist/server/providers/runners.d.ts.map +1 -0
  1148. package/dist/server/providers/runners.js +143 -0
  1149. package/dist/server/providers/runners.js.map +1 -0
  1150. package/dist/server/routes/admin.d.ts +27 -0
  1151. package/dist/server/routes/admin.d.ts.map +1 -0
  1152. package/dist/server/routes/admin.js +1431 -0
  1153. package/dist/server/routes/admin.js.map +1 -0
  1154. package/dist/server/routes/chat.d.ts +9 -0
  1155. package/dist/server/routes/chat.d.ts.map +1 -0
  1156. package/dist/server/routes/chat.js +573 -0
  1157. package/dist/server/routes/chat.js.map +1 -0
  1158. package/dist/server/routes/index.d.ts +6 -0
  1159. package/dist/server/routes/index.d.ts.map +1 -0
  1160. package/dist/server/routes/index.js +105 -0
  1161. package/dist/server/routes/index.js.map +1 -0
  1162. package/dist/server/routes/openapi.d.ts +30 -0
  1163. package/dist/server/routes/openapi.d.ts.map +1 -0
  1164. package/dist/server/routes/openapi.js +101 -0
  1165. package/dist/server/routes/openapi.js.map +1 -0
  1166. package/dist/server/routes/roster.d.ts +6 -0
  1167. package/dist/server/routes/roster.d.ts.map +1 -0
  1168. package/dist/server/routes/roster.js +53 -0
  1169. package/dist/server/routes/roster.js.map +1 -0
  1170. package/dist/server/routes/run.d.ts +10 -0
  1171. package/dist/server/routes/run.d.ts.map +1 -0
  1172. package/dist/server/routes/run.js +91 -0
  1173. package/dist/server/routes/run.js.map +1 -0
  1174. package/dist/server/routes/runners/admin.d.ts +28 -0
  1175. package/dist/server/routes/runners/admin.d.ts.map +1 -0
  1176. package/dist/server/routes/runners/admin.js +318 -0
  1177. package/dist/server/routes/runners/admin.js.map +1 -0
  1178. package/dist/server/routes/runners/dist.d.ts +20 -0
  1179. package/dist/server/routes/runners/dist.d.ts.map +1 -0
  1180. package/dist/server/routes/runners/dist.js +190 -0
  1181. package/dist/server/routes/runners/dist.js.map +1 -0
  1182. package/dist/server/routes/runners/install.d.ts +23 -0
  1183. package/dist/server/routes/runners/install.d.ts.map +1 -0
  1184. package/dist/server/routes/runners/install.js +352 -0
  1185. package/dist/server/routes/runners/install.js.map +1 -0
  1186. package/dist/server/routes/runners/runner.d.ts +9 -0
  1187. package/dist/server/routes/runners/runner.d.ts.map +1 -0
  1188. package/dist/server/routes/runners/runner.js +303 -0
  1189. package/dist/server/routes/runners/runner.js.map +1 -0
  1190. package/dist/server/routes/runners/runs.d.ts +5 -0
  1191. package/dist/server/routes/runners/runs.d.ts.map +1 -0
  1192. package/dist/server/routes/runners/runs.js +74 -0
  1193. package/dist/server/routes/runners/runs.js.map +1 -0
  1194. package/dist/server/routes/schemas.d.ts +222 -0
  1195. package/dist/server/routes/schemas.d.ts.map +1 -0
  1196. package/dist/server/routes/schemas.js +1073 -0
  1197. package/dist/server/routes/schemas.js.map +1 -0
  1198. package/dist/server/runners/index.d.ts +13 -0
  1199. package/dist/server/runners/index.d.ts.map +1 -0
  1200. package/dist/server/runners/index.js +6 -0
  1201. package/dist/server/runners/index.js.map +1 -0
  1202. package/dist/server/runners/runner.service.d.ts +82 -0
  1203. package/dist/server/runners/runner.service.d.ts.map +1 -0
  1204. package/dist/server/runners/runner.service.js +404 -0
  1205. package/dist/server/runners/runner.service.js.map +1 -0
  1206. package/dist/server/runners/runner.store.d.ts +74 -0
  1207. package/dist/server/runners/runner.store.d.ts.map +1 -0
  1208. package/dist/server/runners/runner.store.js +121 -0
  1209. package/dist/server/runners/runner.store.js.map +1 -0
  1210. package/dist/server/runners/signal.d.ts +13 -0
  1211. package/dist/server/runners/signal.d.ts.map +1 -0
  1212. package/dist/server/runners/signal.js +30 -0
  1213. package/dist/server/runners/signal.js.map +1 -0
  1214. package/dist/server/runners/slots.d.ts +26 -0
  1215. package/dist/server/runners/slots.d.ts.map +1 -0
  1216. package/dist/server/runners/slots.js +27 -0
  1217. package/dist/server/runners/slots.js.map +1 -0
  1218. package/dist/server/runners/sweeper.d.ts +21 -0
  1219. package/dist/server/runners/sweeper.d.ts.map +1 -0
  1220. package/dist/server/runners/sweeper.js +19 -0
  1221. package/dist/server/runners/sweeper.js.map +1 -0
  1222. package/dist/server/secrets-stores.d.ts +8 -0
  1223. package/dist/server/secrets-stores.d.ts.map +1 -0
  1224. package/dist/server/secrets-stores.js +43 -0
  1225. package/dist/server/secrets-stores.js.map +1 -0
  1226. package/dist/server/testing.d.ts +16 -0
  1227. package/dist/server/testing.d.ts.map +1 -0
  1228. package/dist/server/testing.js +24 -0
  1229. package/dist/server/testing.js.map +1 -0
  1230. package/dist/server/tokens.d.ts +40 -0
  1231. package/dist/server/tokens.d.ts.map +1 -0
  1232. package/dist/server/tokens.js +9 -0
  1233. package/dist/server/tokens.js.map +1 -0
  1234. package/dist/server/vectors/index.d.ts +7 -0
  1235. package/dist/server/vectors/index.d.ts.map +1 -0
  1236. package/dist/server/vectors/index.js +6 -0
  1237. package/dist/server/vectors/index.js.map +1 -0
  1238. package/dist/server/vectors/naming.d.ts +6 -0
  1239. package/dist/server/vectors/naming.d.ts.map +1 -0
  1240. package/dist/server/vectors/naming.js +15 -0
  1241. package/dist/server/vectors/naming.js.map +1 -0
  1242. package/dist/server/vectors/pgvector.d.ts +26 -0
  1243. package/dist/server/vectors/pgvector.d.ts.map +1 -0
  1244. package/dist/server/vectors/pgvector.js +346 -0
  1245. package/dist/server/vectors/pgvector.js.map +1 -0
  1246. package/dist/server/vectors/sqlite-vec.d.ts +14 -0
  1247. package/dist/server/vectors/sqlite-vec.d.ts.map +1 -0
  1248. package/dist/server/vectors/sqlite-vec.js +286 -0
  1249. package/dist/server/vectors/sqlite-vec.js.map +1 -0
  1250. package/dist/server/vectors/types.d.ts +256 -0
  1251. package/dist/server/vectors/types.d.ts.map +1 -0
  1252. package/dist/server/vectors/types.js +2 -0
  1253. package/dist/server/vectors/types.js.map +1 -0
  1254. package/dist/server/vectors/vectors.d.ts +34 -0
  1255. package/dist/server/vectors/vectors.d.ts.map +1 -0
  1256. package/dist/server/vectors/vectors.js +866 -0
  1257. package/dist/server/vectors/vectors.js.map +1 -0
  1258. package/dist/server/vendor/THIRD_PARTY_LICENSES.txt +782 -0
  1259. package/dist/server/vendor/just-bash.d.ts +83 -0
  1260. package/dist/server/vendor/just-bash.js +2102 -0
  1261. package/dist/shared/access.d.ts +154 -0
  1262. package/dist/shared/access.d.ts.map +1 -0
  1263. package/dist/shared/access.js +166 -0
  1264. package/dist/shared/access.js.map +1 -0
  1265. package/dist/shared/agents.d.ts +284 -0
  1266. package/dist/shared/agents.d.ts.map +1 -0
  1267. package/dist/shared/agents.js +143 -0
  1268. package/dist/shared/agents.js.map +1 -0
  1269. package/dist/shared/briefs.d.ts +46 -0
  1270. package/dist/shared/briefs.d.ts.map +1 -0
  1271. package/dist/shared/briefs.js +10 -0
  1272. package/dist/shared/briefs.js.map +1 -0
  1273. package/dist/shared/conversations.d.ts +658 -0
  1274. package/dist/shared/conversations.d.ts.map +1 -0
  1275. package/dist/shared/conversations.js +182 -0
  1276. package/dist/shared/conversations.js.map +1 -0
  1277. package/dist/shared/i18n.d.ts +10 -0
  1278. package/dist/shared/i18n.d.ts.map +1 -0
  1279. package/dist/shared/i18n.js +2 -0
  1280. package/dist/shared/i18n.js.map +1 -0
  1281. package/dist/shared/jobs.d.ts +73 -0
  1282. package/dist/shared/jobs.d.ts.map +1 -0
  1283. package/dist/shared/jobs.js +3 -0
  1284. package/dist/shared/jobs.js.map +1 -0
  1285. package/dist/shared/locales/access.en-US.d.ts +47 -0
  1286. package/dist/shared/locales/access.en-US.d.ts.map +1 -0
  1287. package/dist/shared/locales/access.en-US.js +51 -0
  1288. package/dist/shared/locales/access.en-US.js.map +1 -0
  1289. package/dist/shared/locales/access.zh-CN.d.ts +4 -0
  1290. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -0
  1291. package/dist/shared/locales/access.zh-CN.js +51 -0
  1292. package/dist/shared/locales/access.zh-CN.js.map +1 -0
  1293. package/dist/shared/models.d.ts +196 -0
  1294. package/dist/shared/models.d.ts.map +1 -0
  1295. package/dist/shared/models.js +142 -0
  1296. package/dist/shared/models.js.map +1 -0
  1297. package/dist/shared/presets.d.ts +30 -0
  1298. package/dist/shared/presets.d.ts.map +1 -0
  1299. package/dist/shared/presets.js +2 -0
  1300. package/dist/shared/presets.js.map +1 -0
  1301. package/dist/shared/realtime.d.ts +27 -0
  1302. package/dist/shared/realtime.d.ts.map +1 -0
  1303. package/dist/shared/realtime.js +7 -0
  1304. package/dist/shared/realtime.js.map +1 -0
  1305. package/dist/shared/reports.d.ts +293 -0
  1306. package/dist/shared/reports.d.ts.map +1 -0
  1307. package/dist/shared/reports.js +135 -0
  1308. package/dist/shared/reports.js.map +1 -0
  1309. package/dist/shared/runners.d.ts +251 -0
  1310. package/dist/shared/runners.d.ts.map +1 -0
  1311. package/dist/shared/runners.js +90 -0
  1312. package/dist/shared/runners.js.map +1 -0
  1313. package/dist/shared/runs.d.ts +226 -0
  1314. package/dist/shared/runs.d.ts.map +1 -0
  1315. package/dist/shared/runs.js +44 -0
  1316. package/dist/shared/runs.js.map +1 -0
  1317. package/dist/shared/skill-markdown.d.ts +45 -0
  1318. package/dist/shared/skill-markdown.d.ts.map +1 -0
  1319. package/dist/shared/skill-markdown.js +131 -0
  1320. package/dist/shared/skill-markdown.js.map +1 -0
  1321. package/dist/shared/skills.d.ts +155 -0
  1322. package/dist/shared/skills.d.ts.map +1 -0
  1323. package/dist/shared/skills.js +61 -0
  1324. package/dist/shared/skills.js.map +1 -0
  1325. package/dist/shared/variables.d.ts +63 -0
  1326. package/dist/shared/variables.d.ts.map +1 -0
  1327. package/dist/shared/variables.js +50 -0
  1328. package/dist/shared/variables.js.map +1 -0
  1329. package/dist/shared/vocabulary.d.ts +44 -0
  1330. package/dist/shared/vocabulary.d.ts.map +1 -0
  1331. package/dist/shared/vocabulary.js +2 -0
  1332. package/dist/shared/vocabulary.js.map +1 -0
  1333. package/package.json +202 -3
  1334. package/skills/nocobase-app-plugin-agents/SKILL.md +34 -0
  1335. package/skills/nocobase-app-plugin-agents/references/distribution.md +62 -0
  1336. package/skills/nocobase-app-plugin-agents/references/extension-points.md +36 -0
  1337. package/skills/nocobase-app-plugin-agents/references/online-agents.md +31 -0
  1338. package/skills/nocobase-app-plugin-agents/references/runners.md +32 -0
  1339. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +60 -0
  1340. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +21 -0
  1341. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +46 -0
@@ -0,0 +1,862 @@
1
+ /**
2
+ * Claiming: handing queued runs to a runner that fits them, within each agent's concurrency limit, one run per
3
+ * (agent, subject, thread) at a time, through the runners' one long-poll (`routes/runners/runner.ts`), which hands
4
+ * out jobs from the same slots. A runner fits a run when it has the agent's
5
+ * tool enabled (on the web), installed and signed in, the agent names no runner or names it, it is shared with the
6
+ * team or belongs to the person who woke the agent, its features cover what the run requires (worked out from the
7
+ * payload: checkouts, directories, skills, secrets), its owner's local policy (`Runner.policy`) lets it take the
8
+ * agent's runs on the run's subject and repositories, and it has a free slot. A working directory that is a directory
9
+ * on one runner pins the run to that runner, one run at a time per directory. A run's variables go to the runner that
10
+ * takes it, personal ones included, unless one of them is for team runners only (`teamRunnersOnly`): then only a team
11
+ * runner takes the run, and the variables that asked for one are noted on it (`teamOnlyVariables`), so its wait says
12
+ * which.
13
+ *
14
+ * A slot is free for a run when the runner's total has room and so does the coding tool it runs with: the tool's limit
15
+ * (`Runner.toolSlots`, never above the total) over the runs of that tool the runner holds here, and what the runner
16
+ * said it can still take of that tool across every application (`ClaimRequest.tools`). The run takes the first of its
17
+ * agent's entries whose tool the runner runs and has room for, so an agent listing two tools runs with the second while
18
+ * the first is full; a run none of whose tools has room is passed over for the runs behind it.
19
+ *
20
+ * Variables are checked and opened in the claim's own transaction, on its connection: which ones the assembled payload
21
+ * gets, whether any is for team runners only, and their values, so what the runner receives is what was checked.
22
+ *
23
+ * A claim is one transaction per run. It first writes the agent's row (`lockAgentForClaim`): on databases with row
24
+ * locks, concurrent claims for the same agent wait there, so the concurrency count read next is current. The run is
25
+ * then taken with a guarded update (`status = 'queued'`), so two runners can never take the same run. The payload is
26
+ * assembled in the same transaction; if assembly fails the transaction rolls back, the run stays queued, and the
27
+ * failure is counted (`claimFailures`) until the run fails `setupFailed`.
28
+ *
29
+ * Portable by design: the database layer offers no `FOR UPDATE SKIP LOCKED` or advisory locks, and the guarded update
30
+ * plus the agent-row write give the same guarantees on every dialect (SQLite serializes writers anyway).
31
+ *
32
+ * Runners take only runner agents' runs. Online agents' runs are taken by the application itself (`claimServer`, for the
33
+ * server executor of each instance), through the same guarded update, so two instances never take the same run: the
34
+ * holder is the instance (`server:<instance>`), there is no per-agent or per-holder limit, and the payload is a brief,
35
+ * the run's token and its skills (read in the run's sandbox, `online/sandbox.ts`), without directories, variables or
36
+ * mounts.
37
+ */
38
+ import { policyAllowsAgent, policyAllowsRepo, policyAllowsSubject, TIMINGS, } from '@nocobase/agent-protocol';
39
+ import { runsTool, toolLimit } from '../../../shared/runners.js';
40
+ import { createHash } from 'node:crypto';
41
+ import { onlineEntriesOrDefault, runnerEntries, sameEntry, } from '../../../shared/agents.js';
42
+ import { later } from '../../kernel/clock.js';
43
+ import { notFound } from '../../kernel/errors.js';
44
+ import { runSecretsKey } from '../../kernel/redaction.js';
45
+ import { cleanList, covers } from '../../kernel/values.js';
46
+ import { findAgent, lockAgentForClaim } from '../agents/index.js';
47
+ import { consultSection, } from '../consultations/index.js';
48
+ import { joinBrief, onlineSkillsSection, renderBrief, } from '../brief/index.js';
49
+ import { cliPackageFor } from './cli-package.js';
50
+ import { describeVariables, variableRefs, } from '../variables/index.js';
51
+ import { mountsFor, prepareExtensions, repoAccessFor, sessionKeyOf, withSections, } from './extensions.js';
52
+ import { dialectOf, } from './ports.js';
53
+ import { MAX_CLAIM_FAILURES, toolPolicyFor } from './policy.js';
54
+ import { mintRunToken } from './run-tokens.js';
55
+ import { runsHeldByTool } from './runner-view.js';
56
+ import { ACTIVE, countActive, eventsRepo, findRunRecord, markDelivered, pendingInputs, runsOfKey, runsRepo, sessionsRepo, toInput, toRun, } from './run.store.js';
57
+ import { finishRun } from './transitions.js';
58
+ import { consumeReset, saveBrief } from './workspace.store.js';
59
+ /** Queued runs looked at per claim, oldest first by priority. */
60
+ const CANDIDATES = 50;
61
+ /** Whether a run holder id is an application instance's (an online run's), not a runner's. */
62
+ export function isServerHolder(runnerId) {
63
+ return runnerId !== null && runnerId.startsWith('server:');
64
+ }
65
+ class AssemblyError extends Error {
66
+ cause;
67
+ constructor(message, cause) {
68
+ super(message);
69
+ this.cause = cause;
70
+ this.name = 'AssemblyError';
71
+ }
72
+ }
73
+ /** The run does not fit this runner after all (its payload needs another runner, or a busy directory). */
74
+ class NotForThisRunner extends Error {
75
+ constructor() {
76
+ super('The run does not fit this runner.');
77
+ this.name = 'NotForThisRunner';
78
+ }
79
+ }
80
+ /** The run gets variables only team runners may receive, and this runner is a personal one. */
81
+ class TeamRunnersOnly extends NotForThisRunner {
82
+ variables;
83
+ constructor(variables) {
84
+ super();
85
+ this.variables = variables;
86
+ this.name = 'TeamRunnersOnly';
87
+ }
88
+ }
89
+ function toolRoom(tools) {
90
+ const left = new Map(Object.entries(tools ?? {}));
91
+ return {
92
+ has: (tool) => (left.get(tool) ?? Number.POSITIVE_INFINITY) > 0,
93
+ take: (tool) => {
94
+ const count = left.get(tool);
95
+ if (count !== undefined)
96
+ left.set(tool, count - 1);
97
+ },
98
+ };
99
+ }
100
+ /**
101
+ * The entry `runner` takes a run of `agent` with: the first whose tool it has enabled, installed and signed in. Null
102
+ * when it has none of them, and always for an online agent, which has no tool.
103
+ */
104
+ export function pickEntry(runner, agent) {
105
+ return (runnerEntries(agent).find((entry) => runsTool(runner, entry.tool)) ?? null);
106
+ }
107
+ /**
108
+ * The entry `runner` takes a run of `agent` with when some of its tools are full: the first whose tool it runs and
109
+ * `open` says has room. Null when none has.
110
+ */
111
+ export function pickOpenEntry(runner, agent, open) {
112
+ return (runnerEntries(agent).find((entry) => runsTool(runner, entry.tool) && open(entry.tool)) ?? null);
113
+ }
114
+ /** Whether `runner` has one of `agent`'s tools enabled, installed and signed in; never for an online agent. */
115
+ export function hasTool(runner, agent) {
116
+ return pickEntry(runner, agent) !== null;
117
+ }
118
+ /**
119
+ * The entry an online run uses: the one its subject asks for while the agent lists it, else the agent's first; for an
120
+ * agent that lists none, the system default chat model (`fallback`).
121
+ */
122
+ export function onlineEntryOf(agent, wanted, fallback = null) {
123
+ const entries = onlineEntriesOrDefault(agent, fallback);
124
+ return ((wanted && entries.find((entry) => sameEntry(entry, wanted))) ??
125
+ entries[0] ??
126
+ null);
127
+ }
128
+ /**
129
+ * Whether `runner` may run work of `agent` as `actorUserId` that needs `requires`, before any lock is taken and before
130
+ * a payload is known: the agent's tool signed in there, its owner's policy, the agent's named runners, and trust.
131
+ */
132
+ export function fitsActor(runner, agent, actorUserId, requires) {
133
+ if (agent.archivedAt || agent.type !== 'runner')
134
+ return false;
135
+ if (!covers(runner.features, requires))
136
+ return false;
137
+ if (!hasTool(runner, agent))
138
+ return false;
139
+ if (!policyAllowsAgent(runner.policy, agent))
140
+ return false;
141
+ if (agent.runnerIds.length > 0 && !agent.runnerIds.includes(runner.id))
142
+ return false;
143
+ return runner.trust === 'team' || runner.ownerUserId === actorUserId;
144
+ }
145
+ /** Whether `runner` may run `run` of `agent`, before any lock is taken and before its payload is known. */
146
+ export function fits(runner, agent, run) {
147
+ return fitsActor(runner, agent, run.actorUserId, toRun(run).requires);
148
+ }
149
+ /** The runner features a payload needs. */
150
+ export function payloadRequires(dirs, skills, variables) {
151
+ return [
152
+ ...(dirs.some((dir) => dir.kind === 'repo') ? ['checkout'] : []),
153
+ ...(dirs.some((dir) => dir.kind === 'directory')
154
+ ? ['directories']
155
+ : []),
156
+ ...(skills > 0 ? ['skills'] : []),
157
+ ...(variables > 0 ? ['secrets'] : []),
158
+ ];
159
+ }
160
+ /** The working directories as a runner receives them: without what only the server uses. */
161
+ export function payloadDirs(dirs) {
162
+ return dirs.map((dir) => {
163
+ const { scopeId: _scope, runnerId: _runner, ...rest } = dir;
164
+ return rest;
165
+ });
166
+ }
167
+ /** Where a run's variables come from, in merge order: the subject's scopes, its directories', the agent's. */
168
+ export function variableTargets(agent, assembly) {
169
+ return [
170
+ ...assembly.scopes,
171
+ ...assembly.dirs.flatMap((dir) => dir.scopeId ? [{ scope: 'workdir', scopeId: dir.scopeId }] : []),
172
+ { scope: 'agent', scopeId: agent.id },
173
+ ];
174
+ }
175
+ /** Where a run's skills come from, the agent's first so its own win a shared slug. */
176
+ export function skillTargets(agent, assembly) {
177
+ return [
178
+ { scope: 'agent', scopeId: agent.id },
179
+ ...assembly.scopes,
180
+ ...assembly.dirs.flatMap((dir) => dir.scopeId ? [{ scope: 'workdir', scopeId: dir.scopeId }] : []),
181
+ ];
182
+ }
183
+ function fingerprint(agent, entry, layers, skills) {
184
+ return createHash('sha256')
185
+ .update(JSON.stringify([
186
+ entry.tool,
187
+ entry.model,
188
+ agent.instructions,
189
+ layers.system,
190
+ layers.agent,
191
+ skills.map((skill) => [skill.slug, skill.hash]),
192
+ ]))
193
+ .digest('hex');
194
+ }
195
+ /** The brief for `assembly`, with the skills a run would get. */
196
+ export function briefOf(agent, assembly, skills, cli, appName) {
197
+ const rendered = renderBrief({
198
+ dialect: dialectOf(agent),
199
+ agentName: agent.name,
200
+ subject: { noun: assembly.subject.noun, key: assembly.subject.key },
201
+ task: assembly.task,
202
+ context: assembly.context,
203
+ instructions: agent.instructions,
204
+ dirs: payloadDirs(assembly.dirs),
205
+ skills,
206
+ cli,
207
+ appName,
208
+ ...(assembly.guidance ? { guidance: assembly.guidance } : {}),
209
+ });
210
+ const layers = assembly.system === undefined
211
+ ? rendered
212
+ : { ...rendered, system: assembly.system };
213
+ const turn = assembly.turn.previousSummary
214
+ ? `${assembly.turn.prompt}\n\nWhat earlier runs on this already did:\n\n${assembly.turn.previousSummary}`
215
+ : assembly.turn.prompt;
216
+ return { layers, turn, prompt: joinBrief(layers) };
217
+ }
218
+ const DIRECTORY_KEY_SEPARATOR = '\n';
219
+ /** The directories a run holds on its runner, as stored in `agRuns.directoryKey`. */
220
+ function directoryKeyOf(runnerId, dirs) {
221
+ const paths = dirs
222
+ .filter((dir) => dir.kind === 'directory')
223
+ .map((dir) => `${runnerId}:${dir.path}`);
224
+ return paths.length > 0 ? paths.join(DIRECTORY_KEY_SEPARATOR) : null;
225
+ }
226
+ /** Whether another run held by the runner works in any of `key`'s directories. */
227
+ async function directoryBusy(conn, runnerId, runId, key) {
228
+ const wanted = new Set(key.split(DIRECTORY_KEY_SEPARATOR));
229
+ const held = await runsRepo(conn).findMany({
230
+ filter: (f) => f.and([
231
+ f.string('runnerId').eq(runnerId),
232
+ f.string('id').ne(runId),
233
+ f.or(ACTIVE.map((status) => f.string('status').eq(status))),
234
+ ]),
235
+ });
236
+ return held.some((run) => (run.directoryKey ?? '')
237
+ .split(DIRECTORY_KEY_SEPARATOR)
238
+ .some((part) => part !== '' && wanted.has(part)));
239
+ }
240
+ export function createClaimService(deps) {
241
+ const { tx, clock } = deps;
242
+ async function assemble({ conn }, run, agent, runner, inputs, leaseExpiresAt, prepared, entry) {
243
+ const binding = deps.subjects.get(run.subjectKind);
244
+ if (!binding)
245
+ throw new Error(`No context provider is registered for subjects of kind "${run.subjectKind}".`);
246
+ const view = toRun(run);
247
+ const claim = {
248
+ run: view,
249
+ agent,
250
+ runner,
251
+ inputs,
252
+ cli: deps.cli.name,
253
+ appName: deps.app.name,
254
+ dialect: 'cli',
255
+ };
256
+ const assembly = await binding.context.assemble(conn, claim);
257
+ // Its owner's local policy keeps this runner off the subject, or off one of the repositories: another runner takes
258
+ // the run.
259
+ if (!policyAllowsSubject(runner.policy, assembly.subject.key) ||
260
+ assembly.dirs.some((dir) => dir.kind === 'repo' && !policyAllowsRepo(runner.policy, dir.url)))
261
+ throw new NotForThisRunner();
262
+ // A directory on another runner: that runner takes the run.
263
+ if (assembly.dirs.some((dir) => dir.kind === 'directory' && dir.runnerId !== runner.id))
264
+ throw new NotForThisRunner();
265
+ const dirs = payloadDirs(assembly.dirs);
266
+ const directoryKey = directoryKeyOf(runner.id, dirs);
267
+ if (directoryKey !== null &&
268
+ (await directoryBusy(conn, runner.id, run.id, directoryKey)))
269
+ throw new NotForThisRunner();
270
+ const skills = await deps.skills.forRun(conn, skillTargets(agent, assembly), run.id);
271
+ const variables = variableTargets(agent, assembly);
272
+ const names = await deps.variables.namesOf(conn, variables);
273
+ const requires = cleanList([
274
+ ...view.requires,
275
+ ...payloadRequires(dirs, skills.length, names.length),
276
+ ]);
277
+ if (!covers(runner.features, requires))
278
+ throw new NotForThisRunner();
279
+ // A variable for team runners only keeps a personal runner off the run.
280
+ if (names.length > 0 && runner.trust !== 'team') {
281
+ const teamOnly = await deps.variables.teamOnly(conn, variables);
282
+ if (teamOnly.length > 0)
283
+ throw new TeamRunnersOnly(teamOnly);
284
+ }
285
+ const env = names.length > 0
286
+ ? await deps.variables.forRun(conn, variables, {
287
+ runId: run.id,
288
+ runnerId: runner.id,
289
+ })
290
+ : [];
291
+ const nowText = clock.now().toISOString();
292
+ const clean = await consumeReset(conn, { kind: run.subjectKind, id: run.subjectId }, run.id, nowText);
293
+ const session = await sessionsRepo(conn).findOne({
294
+ filter: {
295
+ agentId: run.agentId,
296
+ runnerId: runner.id,
297
+ subjectKind: run.subjectKind,
298
+ subjectId: run.subjectId,
299
+ threadScope: run.threadScope,
300
+ },
301
+ });
302
+ const token = await mintRunToken(conn, deps, run, runner.id);
303
+ const git = await repoAccessFor(conn, deps.repoAccess, {
304
+ claim,
305
+ repos: dirs.filter((dir) => dir.kind === 'repo'),
306
+ }, prepared);
307
+ deps.secrets?.remember(runSecretsKey(run.id), [
308
+ ...env.map((variable) => variable.value),
309
+ token.value,
310
+ ...(git?.credentials ?? []).map((credential) => credential.password),
311
+ ]);
312
+ const last = await eventsRepo(conn).findOne({
313
+ filter: { runId: run.id },
314
+ sort: (sort) => sort.field('seq').desc(),
315
+ });
316
+ const brief = briefOf(agent, await withSections(conn, deps.sections, claim, assembly, prepared), skills, deps.cli.name, deps.app.name);
317
+ const briefFingerprint = fingerprint(agent, entry, brief.layers, skills);
318
+ const resume = !clean &&
319
+ session &&
320
+ !session.poisoned &&
321
+ session.fingerprint === briefFingerprint;
322
+ // Mounts only for a runner that places them; their hashes stay out of the fingerprint, and a resumed session
323
+ // hears what changed in them in its turn instead.
324
+ const { mounts, resumeNotes } = runner.features.includes('mounts')
325
+ ? await mountsFor(conn, deps.mounts, {
326
+ claim,
327
+ assembly,
328
+ session: resume ? 'resume' : 'fresh',
329
+ sessionKey: sessionKeyOf(view),
330
+ }, prepared)
331
+ : { mounts: [], resumeNotes: [] };
332
+ const turn = [brief.turn, ...resumeNotes].join('\n\n');
333
+ await saveBrief(conn, () => deps.ids.next(), {
334
+ runId: run.id,
335
+ attempt: Number(run.attempt),
336
+ layers: brief.layers,
337
+ turn,
338
+ prompt: brief.prompt,
339
+ createdAt: nowText,
340
+ });
341
+ const payload = {
342
+ run: {
343
+ id: run.id,
344
+ attempt: Number(run.attempt),
345
+ maxAttempts: Number(run.maxAttempts),
346
+ priority: Number(run.priority),
347
+ createdAt: run.createdAt,
348
+ leaseExpiresAt,
349
+ requires,
350
+ firstSeq: (last ? Number(last.seq) : 0) + 1,
351
+ },
352
+ app: deps.app,
353
+ subject: {
354
+ key: assembly.subject.key,
355
+ ...(assembly.subject.title ? { title: assembly.subject.title } : {}),
356
+ url: assembly.subject.url,
357
+ },
358
+ tool: {
359
+ kind: entry.tool,
360
+ ...(entry.model ? { model: entry.model } : {}),
361
+ ...(entry.effort ? { effort: entry.effort } : {}),
362
+ policy: toolPolicyFor(agent.toolPolicy),
363
+ },
364
+ prompt: {
365
+ system: brief.prompt,
366
+ turn,
367
+ session: resume ? 'resume' : 'fresh',
368
+ ...(resume ? { resumeSessionId: session.sessionId } : {}),
369
+ },
370
+ inputs,
371
+ workspace: {
372
+ dirs,
373
+ env,
374
+ ...(clean ? { clean: true } : {}),
375
+ ...(git ? { git } : {}),
376
+ },
377
+ skills,
378
+ ...(mounts.length > 0 ? { mounts } : {}),
379
+ cli: {
380
+ name: deps.cli.name,
381
+ package: await cliPackageFor(deps.cli.name, deps.cli.package, deps.dist, runner),
382
+ credential: {
383
+ file: deps.cli.credentialFile,
384
+ content: {
385
+ token: token.value,
386
+ runId: run.id,
387
+ manifestUrl: deps.manifestUrl,
388
+ expiresAt: token.expiresAt,
389
+ },
390
+ },
391
+ },
392
+ agent: { id: agent.id, name: agent.name },
393
+ };
394
+ return {
395
+ payload,
396
+ fingerprint: briefFingerprint,
397
+ requires,
398
+ directoryKey,
399
+ entry,
400
+ };
401
+ }
402
+ /**
403
+ * Notes on a queued run which of its variables kept a personal runner off it, and tells its actor and owner the first
404
+ * time; nothing when that is what it says already.
405
+ */
406
+ async function noteTeamOnly(candidate, variables) {
407
+ const same = (value) => JSON.stringify(variableRefs(value)) === JSON.stringify(variables);
408
+ if (same(candidate.teamOnlyVariables))
409
+ return;
410
+ await tx.run(async (unit) => {
411
+ const run = await findRunRecord(unit.conn, candidate.id);
412
+ if (!run || run.status !== 'queued' || same(run.teamOnlyVariables))
413
+ return;
414
+ await runsRepo(unit.conn).updateMany({
415
+ filter: (f) => f.and([f.string('id').eq(run.id), f.string('status').eq('queued')]),
416
+ values: { teamOnlyVariables: variables.map((each) => ({ ...each })) },
417
+ });
418
+ unit.emit({ type: 'run.changed', runId: run.id, status: 'queued' });
419
+ if (variableRefs(run.teamOnlyVariables).length === 0)
420
+ unit.emit({
421
+ type: 'notice',
422
+ notice: {
423
+ key: `run-secrets:${run.id}`,
424
+ type: 'run_secrets_not_allowed',
425
+ userIds: [
426
+ ...new Set([run.actorUserId, run.ownerUserId].filter((id) => Boolean(id))),
427
+ ],
428
+ subject: { kind: 'run', id: run.id, label: run.id },
429
+ title: 'A run waits for a team runtime',
430
+ body: `Some of its variables are for team runtimes only: ${describeVariables(variables)}.`,
431
+ params: {
432
+ runId: run.id,
433
+ agentId: run.agentId,
434
+ variables: describeVariables(variables),
435
+ },
436
+ },
437
+ });
438
+ });
439
+ }
440
+ async function attempt(runner, agent, candidate, reported) {
441
+ // Avoid assembling or asking authorization when a cheap claim rule already rules this work out.
442
+ const conn = tx.read();
443
+ if (!fits(runner, agent, candidate) ||
444
+ (await deps.slotsUsed(conn, runner.id)) >= runner.slots ||
445
+ (await countActive(conn, 'agentId', agent.id)) >=
446
+ agent.maxConcurrentRuns ||
447
+ (await runsOfKey(conn, candidate, ACTIVE)).length > 0)
448
+ return { kind: 'skipped' };
449
+ // Before the transaction: on SQLite it holds the only connection, so the providers read what else they need now.
450
+ const prepared = await prepareExtensions(toRun(candidate), deps.sections, deps.mounts, (error) => deps.onClaimFailure?.(candidate.id, error), deps.repoAccess);
451
+ let taken;
452
+ try {
453
+ taken = await tx.run(async (unit) => {
454
+ const { conn } = unit;
455
+ const now = clock.now();
456
+ const nowText = now.toISOString();
457
+ await lockAgentForClaim(conn, agent.id, nowText);
458
+ if ((await countActive(conn, 'agentId', agent.id)) >=
459
+ agent.maxConcurrentRuns)
460
+ return null;
461
+ // Slots are shared with the jobs the runner holds.
462
+ if ((await deps.slotsUsed(conn, runner.id)) >= runner.slots)
463
+ return null;
464
+ // The first of the agent's tools with room, by its limit here and by what the runner said it can take.
465
+ const byTool = await runsHeldByTool(conn, runner.id);
466
+ const entry = pickOpenEntry(runner, agent, (tool) => (byTool[tool] ?? 0) < toolLimit(runner, tool) && reported.has(tool));
467
+ if (!entry)
468
+ return null;
469
+ const busy = await runsOfKey(conn, candidate, ACTIVE);
470
+ if (busy.length > 0)
471
+ return null;
472
+ const leaseExpiresAt = later(now, TIMINGS.leaseMs);
473
+ const claimed = await runsRepo(conn).updateMany({
474
+ filter: (f) => f.and([
475
+ f.string('id').eq(candidate.id),
476
+ f.string('status').eq('queued'),
477
+ ]),
478
+ values: {
479
+ status: 'dispatched',
480
+ runnerId: runner.id,
481
+ leaseExpiresAt,
482
+ dispatchedAt: nowText,
483
+ lastActivityAt: nowText,
484
+ availableAt: null,
485
+ updatedAt: nowText,
486
+ },
487
+ });
488
+ if (claimed.updatedCount !== 1)
489
+ return null;
490
+ const run = (await findRunRecord(conn, candidate.id));
491
+ const pending = await pendingInputs(conn, run.id);
492
+ let assembled;
493
+ try {
494
+ assembled = await assemble(unit, run, agent, runner, pending.map(toInput), leaseExpiresAt, prepared, entry);
495
+ }
496
+ catch (error) {
497
+ if (error instanceof NotForThisRunner)
498
+ throw error;
499
+ throw new AssemblyError(error instanceof Error ? error.message : String(error), error);
500
+ }
501
+ await markDelivered(conn, pending, nowText);
502
+ await runsRepo(conn).updateMany({
503
+ filter: { id: run.id },
504
+ values: {
505
+ payloadFingerprint: assembled.fingerprint,
506
+ requires: [...assembled.requires],
507
+ directoryKey: assembled.directoryKey,
508
+ tool: assembled.entry.tool,
509
+ modelService: null,
510
+ model: assembled.entry.model,
511
+ effort: assembled.entry.effort ?? null,
512
+ teamOnlyVariables: null,
513
+ },
514
+ });
515
+ unit.emit({ type: 'run.changed', runId: run.id, status: 'dispatched' });
516
+ if (variableRefs(candidate.teamOnlyVariables).length > 0)
517
+ unit.emit({
518
+ type: 'notice.cleared',
519
+ notice: {
520
+ type: 'run_secrets_not_allowed',
521
+ subject: { kind: 'run', id: run.id, label: run.id },
522
+ },
523
+ });
524
+ return assembled.payload;
525
+ });
526
+ }
527
+ catch (error) {
528
+ await discardRepoAccess(candidate, prepared);
529
+ if (error instanceof TeamRunnersOnly) {
530
+ await noteTeamOnly(candidate, error.variables);
531
+ return { kind: 'skipped' };
532
+ }
533
+ throw error;
534
+ }
535
+ if (!taken) {
536
+ await discardRepoAccess(candidate, prepared);
537
+ return { kind: 'skipped' };
538
+ }
539
+ return { kind: 'claimed', payload: taken };
540
+ }
541
+ async function discardRepoAccess(run, prepared) {
542
+ for (const provider of deps.repoAccess?.list() ?? []) {
543
+ try {
544
+ await provider.discard?.(toRun(run), prepared.get(`repo:${provider.key}`));
545
+ }
546
+ catch (error) {
547
+ deps.onClaimFailure?.(run.id, error);
548
+ }
549
+ }
550
+ }
551
+ /** Counts a failed assembly; the run fails once it has failed too often. */
552
+ async function recordFailure(runId, error) {
553
+ deps.onClaimFailure?.(runId, error.cause);
554
+ await tx.run(async (unit) => {
555
+ const run = await findRunRecord(unit.conn, runId);
556
+ if (!run || run.status !== 'queued')
557
+ return;
558
+ const failures = Number(run.claimFailures) + 1;
559
+ if (failures >= MAX_CLAIM_FAILURES) {
560
+ await finishRun(unit, deps, run, {
561
+ status: 'failed',
562
+ reason: 'setupFailed',
563
+ detail: error.message,
564
+ });
565
+ return;
566
+ }
567
+ await runsRepo(unit.conn).updateMany({
568
+ filter: { id: runId },
569
+ values: {
570
+ claimFailures: failures,
571
+ failureDetail: error.message.slice(0, 10_000),
572
+ },
573
+ });
574
+ });
575
+ }
576
+ /** Queued runs of agents of `type` that may be claimed now, in claim order. */
577
+ async function candidatesOf(type) {
578
+ const now = clock.now();
579
+ return runsRepo(tx.read()).findMany({
580
+ filter: (f) => f.and([
581
+ f.string('status').eq('queued'),
582
+ f.string('agentType').eq(type),
583
+ // A consultation is taken by the holder of the run that asked it, never from the queue.
584
+ f.string('parentRunId').empty(),
585
+ f.or([
586
+ f.date('availableAt').empty(),
587
+ f.date('availableAt').notAfter(now),
588
+ ]),
589
+ ]),
590
+ sort: (sort) => [
591
+ sort.field('priority').asc(),
592
+ sort.field('createdAt').asc(),
593
+ sort.field('id').asc(),
594
+ ],
595
+ limit: CANDIDATES,
596
+ });
597
+ }
598
+ /** Takes an online run for `holder` in one transaction, or skips it when another holder or run got there first. */
599
+ async function attemptServer(holder, agent, candidate) {
600
+ const prepared = await prepareExtensions(toRun(candidate), deps.sections, undefined, (error) => deps.onClaimFailure?.(candidate.id, error));
601
+ return tx.run(async (unit) => {
602
+ const { conn } = unit;
603
+ const now = clock.now();
604
+ const nowText = now.toISOString();
605
+ // Serializes claims and enqueues of this agent, so one key never has two runs held.
606
+ await lockAgentForClaim(conn, agent.id, nowText);
607
+ if ((await runsOfKey(conn, candidate, ACTIVE)).length > 0)
608
+ return null;
609
+ const leaseExpiresAt = later(now, TIMINGS.leaseMs);
610
+ const taken = await runsRepo(conn).updateMany({
611
+ filter: (f) => f.and([
612
+ f.string('id').eq(candidate.id),
613
+ f.string('status').eq('queued'),
614
+ ]),
615
+ values: {
616
+ status: 'dispatched',
617
+ runnerId: holder.id,
618
+ leaseExpiresAt,
619
+ dispatchedAt: nowText,
620
+ lastActivityAt: nowText,
621
+ availableAt: null,
622
+ updatedAt: nowText,
623
+ },
624
+ });
625
+ if (taken.updatedCount !== 1)
626
+ return null;
627
+ const run = (await findRunRecord(conn, candidate.id));
628
+ const pending = await pendingInputs(conn, run.id);
629
+ const inputs = pending.map(toInput);
630
+ let claimed;
631
+ try {
632
+ claimed = await assembleServer(unit, run, agent, holder, inputs, leaseExpiresAt, prepared);
633
+ }
634
+ catch (error) {
635
+ throw new AssemblyError(error instanceof Error ? error.message : String(error), error);
636
+ }
637
+ await markDelivered(conn, pending, nowText);
638
+ await runsRepo(conn).updateMany({
639
+ filter: { id: run.id },
640
+ values: {
641
+ tool: null,
642
+ modelService: claimed.model?.modelService ?? null,
643
+ model: claimed.model?.model ?? null,
644
+ effort: claimed.model?.effort ?? null,
645
+ },
646
+ });
647
+ unit.emit({ type: 'run.changed', runId: run.id, status: 'dispatched' });
648
+ return {
649
+ ...claimed,
650
+ run: {
651
+ ...claimed.run,
652
+ tool: null,
653
+ modelService: claimed.model?.modelService ?? null,
654
+ model: claimed.model?.model ?? null,
655
+ effort: claimed.model?.effort ?? null,
656
+ },
657
+ };
658
+ });
659
+ }
660
+ async function assembleServer({ conn }, run, agent, holder, inputs, leaseExpiresAt, prepared) {
661
+ const binding = deps.subjects.get(run.subjectKind);
662
+ if (!binding)
663
+ throw new Error(`No context provider is registered for subjects of kind "${run.subjectKind}".`);
664
+ const view = toRun(run);
665
+ const claim = {
666
+ run: view,
667
+ agent,
668
+ runner: null,
669
+ inputs,
670
+ cli: deps.cli.name,
671
+ appName: deps.app.name,
672
+ dialect: 'tools',
673
+ };
674
+ const assembly = await binding.context.assemble(conn, claim);
675
+ if (assembly.dirs.length > 0)
676
+ throw new Error('An online agent has no working directory, and this work needs one.');
677
+ const skills = await deps.skills.forRun(conn, skillTargets(agent, assembly), run.id);
678
+ const own = new Set(skills.map((skill) => skill.slug));
679
+ const rendered = briefOf(agent, await withSections(conn, deps.sections, claim, assembly, prepared), [], deps.cli.name, deps.app.name);
680
+ // The skills an online run reads through its tools, and the agents it may consult, whatever system layer its
681
+ // subject gives it.
682
+ const consultable = (await deps.consultations?.targets(conn, run, agent)) ?? [];
683
+ const depth = run.parentRunId
684
+ ? ((await deps.consultations?.chain(conn, run))?.length ?? 1) - 1
685
+ : 0;
686
+ const section = [
687
+ ...onlineSkillsSection([
688
+ ...skills,
689
+ ...(deps.onlineSkills?.() ?? []).filter((skill) => !own.has(skill.slug)),
690
+ ]),
691
+ ...(consultable.length > 0 ? ['', ...consultSection(consultable)] : []),
692
+ ];
693
+ const layers = section.length > 0
694
+ ? {
695
+ ...rendered.layers,
696
+ system: [rendered.layers.system, '', ...section].join('\n'),
697
+ }
698
+ : rendered.layers;
699
+ const brief = { ...rendered, layers, prompt: joinBrief(layers) };
700
+ const token = await mintRunToken(conn, deps, run, holder.id);
701
+ deps.secrets?.remember(runSecretsKey(run.id), [token.value]);
702
+ const last = await eventsRepo(conn).findOne({
703
+ filter: { runId: run.id },
704
+ sort: (sort) => sort.field('seq').desc(),
705
+ });
706
+ await saveBrief(conn, () => deps.ids.next(), {
707
+ runId: run.id,
708
+ attempt: Number(run.attempt),
709
+ layers: brief.layers,
710
+ turn: brief.turn,
711
+ prompt: brief.prompt,
712
+ createdAt: clock.now().toISOString(),
713
+ });
714
+ return {
715
+ runId: run.id,
716
+ attempt: Number(run.attempt),
717
+ agent,
718
+ run: view,
719
+ model: onlineEntryOf(agent, assembly.model, (await deps.defaultModel?.(conn)) ?? null),
720
+ system: brief.prompt,
721
+ turn: brief.turn,
722
+ inputs,
723
+ token: token.value,
724
+ skills,
725
+ leaseExpiresAt,
726
+ firstSeq: (last ? Number(last.seq) : 0) + 1,
727
+ consultable,
728
+ depth,
729
+ };
730
+ }
731
+ async function claimOne(runner, seen, reported) {
732
+ const conn = tx.read();
733
+ const candidates = await candidatesOf('runner');
734
+ const agents = new Map();
735
+ for (const candidate of candidates) {
736
+ if (seen.has(candidate.id))
737
+ continue;
738
+ seen.add(candidate.id);
739
+ if (!agents.has(candidate.agentId))
740
+ agents.set(candidate.agentId, await findAgent(conn, candidate.agentId));
741
+ const agent = agents.get(candidate.agentId);
742
+ if (!agent || !fits(runner, agent, candidate))
743
+ continue;
744
+ // None of its tools has room on the runner's side: the runs behind it may still fit.
745
+ if (!pickOpenEntry(runner, agent, (tool) => reported.has(tool)))
746
+ continue;
747
+ try {
748
+ const result = await attempt(runner, agent, candidate, reported);
749
+ if (result.kind === 'claimed')
750
+ return result.payload;
751
+ }
752
+ catch (error) {
753
+ // Rolled back: the run stays queued for a runner it fits.
754
+ if (error instanceof NotForThisRunner)
755
+ continue;
756
+ if (!(error instanceof AssemblyError))
757
+ throw error;
758
+ await recordFailure(candidate.id, error);
759
+ }
760
+ }
761
+ return null;
762
+ }
763
+ return {
764
+ async claim(runner, free, tools) {
765
+ if (runner.status !== 'online')
766
+ return [];
767
+ if ((await deps.slotsUsed(tx.read(), runner.id)) >= runner.slots)
768
+ return [];
769
+ const payloads = [];
770
+ const seen = new Set();
771
+ const limit = Math.min(free, runner.slots);
772
+ const reported = toolRoom(tools);
773
+ while (payloads.length < limit) {
774
+ const payload = await claimOne(runner, seen, reported);
775
+ if (!payload)
776
+ break;
777
+ payloads.push(payload);
778
+ reported.take(payload.tool.kind);
779
+ }
780
+ return payloads;
781
+ },
782
+ async claimServer(holder, limit) {
783
+ const claimed = [];
784
+ const conn = tx.read();
785
+ const agents = new Map();
786
+ for (const candidate of await candidatesOf('online')) {
787
+ if (claimed.length >= limit)
788
+ break;
789
+ if (!agents.has(candidate.agentId))
790
+ agents.set(candidate.agentId, await findAgent(conn, candidate.agentId));
791
+ const agent = agents.get(candidate.agentId);
792
+ if (!agent || agent.archivedAt || agent.type !== 'online')
793
+ continue;
794
+ try {
795
+ const taken = await attemptServer(holder, agent, candidate);
796
+ if (taken)
797
+ claimed.push(taken);
798
+ }
799
+ catch (error) {
800
+ if (!(error instanceof AssemblyError))
801
+ throw error;
802
+ await recordFailure(candidate.id, error);
803
+ }
804
+ }
805
+ return claimed;
806
+ },
807
+ async claimChild(holder, runId) {
808
+ const conn = tx.read();
809
+ const candidate = await findRunRecord(conn, runId);
810
+ if (!candidate?.parentRunId || candidate.status !== 'queued')
811
+ throw notFound('Run');
812
+ const parent = await findRunRecord(conn, candidate.parentRunId);
813
+ if (parent?.runnerId !== holder.id)
814
+ throw notFound('Run');
815
+ const agent = await findAgent(conn, candidate.agentId);
816
+ if (!agent || agent.archivedAt || agent.type !== 'online')
817
+ throw notFound('Agent');
818
+ try {
819
+ const taken = await attemptServer(holder, agent, candidate);
820
+ if (!taken)
821
+ throw notFound('Run');
822
+ return taken;
823
+ }
824
+ catch (error) {
825
+ if (!(error instanceof AssemblyError))
826
+ throw error;
827
+ // One attempt: a consultation that cannot be assembled fails at once.
828
+ await tx.run(async (unit) => {
829
+ const run = await findRunRecord(unit.conn, runId);
830
+ if (run)
831
+ await finishRun(unit, deps, run, {
832
+ status: 'failed',
833
+ reason: 'setupFailed',
834
+ detail: error.message,
835
+ });
836
+ });
837
+ throw error;
838
+ }
839
+ },
840
+ async runSkills(runner, runId) {
841
+ const conn = tx.read();
842
+ const run = await findRunRecord(conn, runId);
843
+ if (!run)
844
+ throw notFound('Run');
845
+ const agent = await findAgent(conn, run.agentId);
846
+ const binding = deps.subjects.get(run.subjectKind);
847
+ if (!agent || !binding)
848
+ return [];
849
+ const assembly = await binding.context.assemble(conn, {
850
+ run: toRun(run),
851
+ agent,
852
+ runner,
853
+ inputs: [],
854
+ cli: deps.cli.name,
855
+ appName: deps.app.name,
856
+ dialect: dialectOf(agent),
857
+ });
858
+ return deps.skills.forRun(conn, skillTargets(agent, assembly), run.id);
859
+ },
860
+ };
861
+ }
862
+ //# sourceMappingURL=claim.js.map