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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1339) hide show
  1. package/CHANGELOG.md +464 -0
  2. package/README.md +234 -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 +139 -0
  12. package/dist/client/api/client.d.ts.map +1 -0
  13. package/dist/client/api/client.js +278 -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 +37 -0
  24. package/dist/client/chat/api.d.ts.map +1 -0
  25. package/dist/client/chat/api.js +118 -0
  26. package/dist/client/chat/api.js.map +1 -0
  27. package/dist/client/chat/consultation-identity.d.ts +7 -0
  28. package/dist/client/chat/consultation-identity.d.ts.map +1 -0
  29. package/dist/client/chat/consultation-identity.js +39 -0
  30. package/dist/client/chat/consultation-identity.js.map +1 -0
  31. package/dist/client/chat/context-model.d.ts +67 -0
  32. package/dist/client/chat/context-model.d.ts.map +1 -0
  33. package/dist/client/chat/context-model.js +113 -0
  34. package/dist/client/chat/context-model.js.map +1 -0
  35. package/dist/client/chat/extensions.d.ts +41 -0
  36. package/dist/client/chat/extensions.d.ts.map +1 -0
  37. package/dist/client/chat/extensions.js +14 -0
  38. package/dist/client/chat/extensions.js.map +1 -0
  39. package/dist/client/chat/keys.d.ts +13 -0
  40. package/dist/client/chat/keys.d.ts.map +1 -0
  41. package/dist/client/chat/keys.js +12 -0
  42. package/dist/client/chat/keys.js.map +1 -0
  43. package/dist/client/chat/message-model.d.ts +113 -0
  44. package/dist/client/chat/message-model.d.ts.map +1 -0
  45. package/dist/client/chat/message-model.js +228 -0
  46. package/dist/client/chat/message-model.js.map +1 -0
  47. package/dist/client/chat/panel-state.d.ts +43 -0
  48. package/dist/client/chat/panel-state.d.ts.map +1 -0
  49. package/dist/client/chat/panel-state.js +113 -0
  50. package/dist/client/chat/panel-state.js.map +1 -0
  51. package/dist/client/chat/provider.d.ts +101 -0
  52. package/dist/client/chat/provider.d.ts.map +1 -0
  53. package/dist/client/chat/provider.js +399 -0
  54. package/dist/client/chat/provider.js.map +1 -0
  55. package/dist/client/chat/redirect.d.ts +8 -0
  56. package/dist/client/chat/redirect.d.ts.map +1 -0
  57. package/dist/client/chat/redirect.js +34 -0
  58. package/dist/client/chat/redirect.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 +80 -0
  64. package/dist/client/chat/use-chat.d.ts.map +1 -0
  65. package/dist/client/chat/use-chat.js +392 -0
  66. package/dist/client/chat/use-chat.js.map +1 -0
  67. package/dist/client/chat.d.ts +44 -0
  68. package/dist/client/chat.d.ts.map +1 -0
  69. package/dist/client/chat.js +46 -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-picker.d.ts +111 -0
  100. package/dist/client/components/agent-picker.d.ts.map +1 -0
  101. package/dist/client/components/agent-picker.js +130 -0
  102. package/dist/client/components/agent-picker.js.map +1 -0
  103. package/dist/client/components/availability-dot.d.ts +8 -0
  104. package/dist/client/components/availability-dot.d.ts.map +1 -0
  105. package/dist/client/components/availability-dot.js +15 -0
  106. package/dist/client/components/availability-dot.js.map +1 -0
  107. package/dist/client/components/brief-view.d.ts +6 -0
  108. package/dist/client/components/brief-view.d.ts.map +1 -0
  109. package/dist/client/components/brief-view.js +34 -0
  110. package/dist/client/components/brief-view.js.map +1 -0
  111. package/dist/client/components/command-line.d.ts +6 -0
  112. package/dist/client/components/command-line.d.ts.map +1 -0
  113. package/dist/client/components/command-line.js +24 -0
  114. package/dist/client/components/command-line.js.map +1 -0
  115. package/dist/client/components/default-skills.d.ts +10 -0
  116. package/dist/client/components/default-skills.d.ts.map +1 -0
  117. package/dist/client/components/default-skills.js +47 -0
  118. package/dist/client/components/default-skills.js.map +1 -0
  119. package/dist/client/components/diff-block.d.ts +8 -0
  120. package/dist/client/components/diff-block.d.ts.map +1 -0
  121. package/dist/client/components/diff-block.js +14 -0
  122. package/dist/client/components/diff-block.js.map +1 -0
  123. package/dist/client/components/page-container.d.ts +11 -0
  124. package/dist/client/components/page-container.d.ts.map +1 -0
  125. package/dist/client/components/page-container.js +13 -0
  126. package/dist/client/components/page-container.js.map +1 -0
  127. package/dist/client/components/page-header.d.ts +14 -0
  128. package/dist/client/components/page-header.d.ts.map +1 -0
  129. package/dist/client/components/page-header.js +10 -0
  130. package/dist/client/components/page-header.js.map +1 -0
  131. package/dist/client/components/refresh-button.d.ts +6 -0
  132. package/dist/client/components/refresh-button.d.ts.map +1 -0
  133. package/dist/client/components/refresh-button.js +26 -0
  134. package/dist/client/components/refresh-button.js.map +1 -0
  135. package/dist/client/components/route-child-page.d.ts +24 -0
  136. package/dist/client/components/route-child-page.d.ts.map +1 -0
  137. package/dist/client/components/route-child-page.js +46 -0
  138. package/dist/client/components/route-child-page.js.map +1 -0
  139. package/dist/client/components/route-dialog.d.ts +6 -0
  140. package/dist/client/components/route-dialog.d.ts.map +1 -0
  141. package/dist/client/components/route-dialog.js +7 -0
  142. package/dist/client/components/route-dialog.js.map +1 -0
  143. package/dist/client/components/route-overlay.d.ts +21 -0
  144. package/dist/client/components/route-overlay.d.ts.map +1 -0
  145. package/dist/client/components/route-overlay.js +87 -0
  146. package/dist/client/components/route-overlay.js.map +1 -0
  147. package/dist/client/components/runners-refresh.d.ts +3 -0
  148. package/dist/client/components/runners-refresh.d.ts.map +1 -0
  149. package/dist/client/components/runners-refresh.js +13 -0
  150. package/dist/client/components/runners-refresh.js.map +1 -0
  151. package/dist/client/components/secret-input.d.ts +7 -0
  152. package/dist/client/components/secret-input.d.ts.map +1 -0
  153. package/dist/client/components/secret-input.js +12 -0
  154. package/dist/client/components/secret-input.js.map +1 -0
  155. package/dist/client/components/skills-select.d.ts +16 -0
  156. package/dist/client/components/skills-select.d.ts.map +1 -0
  157. package/dist/client/components/skills-select.js +39 -0
  158. package/dist/client/components/skills-select.js.map +1 -0
  159. package/dist/client/components/ui/alert-dialog.d.ts +19 -0
  160. package/dist/client/components/ui/alert-dialog.d.ts.map +1 -0
  161. package/dist/client/components/ui/alert-dialog.js +42 -0
  162. package/dist/client/components/ui/alert-dialog.js.map +1 -0
  163. package/dist/client/components/ui/alert.d.ts +13 -0
  164. package/dist/client/components/ui/alert.d.ts.map +1 -0
  165. package/dist/client/components/ui/alert.js +31 -0
  166. package/dist/client/components/ui/alert.js.map +1 -0
  167. package/dist/client/components/ui/avatar.d.ts +12 -0
  168. package/dist/client/components/ui/avatar.d.ts.map +1 -0
  169. package/dist/client/components/ui/avatar.js +23 -0
  170. package/dist/client/components/ui/avatar.js.map +1 -0
  171. package/dist/client/components/ui/badge.d.ts +11 -0
  172. package/dist/client/components/ui/badge.d.ts.map +1 -0
  173. package/dist/client/components/ui/badge.js +37 -0
  174. package/dist/client/components/ui/badge.js.map +1 -0
  175. package/dist/client/components/ui/button.d.ts +12 -0
  176. package/dist/client/components/ui/button.d.ts.map +1 -0
  177. package/dist/client/components/ui/button.js +38 -0
  178. package/dist/client/components/ui/button.js.map +1 -0
  179. package/dist/client/components/ui/calendar.d.ts +11 -0
  180. package/dist/client/components/ui/calendar.d.ts.map +1 -0
  181. package/dist/client/components/ui/calendar.js +76 -0
  182. package/dist/client/components/ui/calendar.js.map +1 -0
  183. package/dist/client/components/ui/card.d.ts +12 -0
  184. package/dist/client/components/ui/card.d.ts.map +1 -0
  185. package/dist/client/components/ui/card.js +25 -0
  186. package/dist/client/components/ui/card.js.map +1 -0
  187. package/dist/client/components/ui/chart.d.ts +45 -0
  188. package/dist/client/components/ui/chart.d.ts.map +1 -0
  189. package/dist/client/components/ui/chart.js +133 -0
  190. package/dist/client/components/ui/chart.js.map +1 -0
  191. package/dist/client/components/ui/checkbox.d.ts +5 -0
  192. package/dist/client/components/ui/checkbox.d.ts.map +1 -0
  193. package/dist/client/components/ui/checkbox.js +9 -0
  194. package/dist/client/components/ui/checkbox.js.map +1 -0
  195. package/dist/client/components/ui/collapsible.d.ts +7 -0
  196. package/dist/client/components/ui/collapsible.d.ts.map +1 -0
  197. package/dist/client/components/ui/collapsible.js +13 -0
  198. package/dist/client/components/ui/collapsible.js.map +1 -0
  199. package/dist/client/components/ui/combobox.d.ts +25 -0
  200. package/dist/client/components/ui/combobox.d.ts.map +1 -0
  201. package/dist/client/components/ui/combobox.js +58 -0
  202. package/dist/client/components/ui/combobox.js.map +1 -0
  203. package/dist/client/components/ui/dialog.d.ts +18 -0
  204. package/dist/client/components/ui/dialog.d.ts.map +1 -0
  205. package/dist/client/components/ui/dialog.js +40 -0
  206. package/dist/client/components/ui/dialog.js.map +1 -0
  207. package/dist/client/components/ui/dropdown-menu.d.ts +30 -0
  208. package/dist/client/components/ui/dropdown-menu.d.ts.map +1 -0
  209. package/dist/client/components/ui/dropdown-menu.js +51 -0
  210. package/dist/client/components/ui/dropdown-menu.js.map +1 -0
  211. package/dist/client/components/ui/empty.d.ts +15 -0
  212. package/dist/client/components/ui/empty.d.ts.map +1 -0
  213. package/dist/client/components/ui/empty.js +37 -0
  214. package/dist/client/components/ui/empty.js.map +1 -0
  215. package/dist/client/components/ui/field.d.ts +28 -0
  216. package/dist/client/components/ui/field.d.ts.map +1 -0
  217. package/dist/client/components/ui/field.js +71 -0
  218. package/dist/client/components/ui/field.js.map +1 -0
  219. package/dist/client/components/ui/input-group.d.ts +22 -0
  220. package/dist/client/components/ui/input-group.d.ts.map +1 -0
  221. package/dist/client/components/ui/input-group.js +63 -0
  222. package/dist/client/components/ui/input-group.js.map +1 -0
  223. package/dist/client/components/ui/input.d.ts +4 -0
  224. package/dist/client/components/ui/input.d.ts.map +1 -0
  225. package/dist/client/components/ui/input.js +8 -0
  226. package/dist/client/components/ui/input.js.map +1 -0
  227. package/dist/client/components/ui/item.d.ts +25 -0
  228. package/dist/client/components/ui/item.d.ts.map +1 -0
  229. package/dist/client/components/ui/item.js +82 -0
  230. package/dist/client/components/ui/item.js.map +1 -0
  231. package/dist/client/components/ui/label.d.ts +4 -0
  232. package/dist/client/components/ui/label.d.ts.map +1 -0
  233. package/dist/client/components/ui/label.js +7 -0
  234. package/dist/client/components/ui/label.js.map +1 -0
  235. package/dist/client/components/ui/popover.d.ts +10 -0
  236. package/dist/client/components/ui/popover.d.ts.map +1 -0
  237. package/dist/client/components/ui/popover.js +23 -0
  238. package/dist/client/components/ui/popover.js.map +1 -0
  239. package/dist/client/components/ui/radio-group.d.ts +7 -0
  240. package/dist/client/components/ui/radio-group.d.ts.map +1 -0
  241. package/dist/client/components/ui/radio-group.js +12 -0
  242. package/dist/client/components/ui/radio-group.js.map +1 -0
  243. package/dist/client/components/ui/select.d.ts +16 -0
  244. package/dist/client/components/ui/select.d.ts.map +1 -0
  245. package/dist/client/components/ui/select.js +34 -0
  246. package/dist/client/components/ui/select.js.map +1 -0
  247. package/dist/client/components/ui/separator.d.ts +5 -0
  248. package/dist/client/components/ui/separator.d.ts.map +1 -0
  249. package/dist/client/components/ui/separator.js +8 -0
  250. package/dist/client/components/ui/separator.js.map +1 -0
  251. package/dist/client/components/ui/sheet.d.ts +15 -0
  252. package/dist/client/components/ui/sheet.d.ts.map +1 -0
  253. package/dist/client/components/ui/sheet.js +39 -0
  254. package/dist/client/components/ui/sheet.js.map +1 -0
  255. package/dist/client/components/ui/skeleton.d.ts +4 -0
  256. package/dist/client/components/ui/skeleton.d.ts.map +1 -0
  257. package/dist/client/components/ui/skeleton.js +7 -0
  258. package/dist/client/components/ui/skeleton.js.map +1 -0
  259. package/dist/client/components/ui/spinner.d.ts +4 -0
  260. package/dist/client/components/ui/spinner.d.ts.map +1 -0
  261. package/dist/client/components/ui/spinner.js +11 -0
  262. package/dist/client/components/ui/spinner.js.map +1 -0
  263. package/dist/client/components/ui/switch.d.ts +7 -0
  264. package/dist/client/components/ui/switch.d.ts.map +1 -0
  265. package/dist/client/components/ui/switch.js +8 -0
  266. package/dist/client/components/ui/switch.js.map +1 -0
  267. package/dist/client/components/ui/table.d.ts +11 -0
  268. package/dist/client/components/ui/table.d.ts.map +1 -0
  269. package/dist/client/components/ui/table.js +28 -0
  270. package/dist/client/components/ui/table.js.map +1 -0
  271. package/dist/client/components/ui/tabs.d.ts +14 -0
  272. package/dist/client/components/ui/tabs.d.ts.map +1 -0
  273. package/dist/client/components/ui/tabs.js +32 -0
  274. package/dist/client/components/ui/tabs.js.map +1 -0
  275. package/dist/client/components/ui/textarea.d.ts +4 -0
  276. package/dist/client/components/ui/textarea.d.ts.map +1 -0
  277. package/dist/client/components/ui/textarea.js +7 -0
  278. package/dist/client/components/ui/textarea.js.map +1 -0
  279. package/dist/client/components/ui/tooltip.d.ts +8 -0
  280. package/dist/client/components/ui/tooltip.d.ts.map +1 -0
  281. package/dist/client/components/ui/tooltip.js +17 -0
  282. package/dist/client/components/ui/tooltip.js.map +1 -0
  283. package/dist/client/components/unsaved-changes.d.ts +8 -0
  284. package/dist/client/components/unsaved-changes.d.ts.map +1 -0
  285. package/dist/client/components/unsaved-changes.js +19 -0
  286. package/dist/client/components/unsaved-changes.js.map +1 -0
  287. package/dist/client/components/use-route-overlay.d.ts +15 -0
  288. package/dist/client/components/use-route-overlay.d.ts.map +1 -0
  289. package/dist/client/components/use-route-overlay.js +15 -0
  290. package/dist/client/components/use-route-overlay.js.map +1 -0
  291. package/dist/client/components/variables/access-log.d.ts +17 -0
  292. package/dist/client/components/variables/access-log.d.ts.map +1 -0
  293. package/dist/client/components/variables/access-log.js +52 -0
  294. package/dist/client/components/variables/access-log.js.map +1 -0
  295. package/dist/client/components/variables/variable-dialogs.d.ts +31 -0
  296. package/dist/client/components/variables/variable-dialogs.d.ts.map +1 -0
  297. package/dist/client/components/variables/variable-dialogs.js +116 -0
  298. package/dist/client/components/variables/variable-dialogs.js.map +1 -0
  299. package/dist/client/components/variables/variables-panel.d.ts +24 -0
  300. package/dist/client/components/variables/variables-panel.d.ts.map +1 -0
  301. package/dist/client/components/variables/variables-panel.js +121 -0
  302. package/dist/client/components/variables/variables-panel.js.map +1 -0
  303. package/dist/client/config.d.ts +6 -0
  304. package/dist/client/config.d.ts.map +1 -0
  305. package/dist/client/config.js +6 -0
  306. package/dist/client/config.js.map +1 -0
  307. package/dist/client/hooks/use-access.d.ts +6 -0
  308. package/dist/client/hooks/use-access.d.ts.map +1 -0
  309. package/dist/client/hooks/use-access.js +8 -0
  310. package/dist/client/hooks/use-access.js.map +1 -0
  311. package/dist/client/hooks/use-agent-picker-labels.d.ts +4 -0
  312. package/dist/client/hooks/use-agent-picker-labels.d.ts.map +1 -0
  313. package/dist/client/hooks/use-agent-picker-labels.js +30 -0
  314. package/dist/client/hooks/use-agent-picker-labels.js.map +1 -0
  315. package/dist/client/hooks/use-agents-api.d.ts +4 -0
  316. package/dist/client/hooks/use-agents-api.d.ts.map +1 -0
  317. package/dist/client/hooks/use-agents-api.js +9 -0
  318. package/dist/client/hooks/use-agents-api.js.map +1 -0
  319. package/dist/client/hooks/use-media-query.d.ts +3 -0
  320. package/dist/client/hooks/use-media-query.d.ts.map +1 -0
  321. package/dist/client/hooks/use-media-query.js +14 -0
  322. package/dist/client/hooks/use-media-query.js.map +1 -0
  323. package/dist/client/hooks/use-notify.d.ts +9 -0
  324. package/dist/client/hooks/use-notify.d.ts.map +1 -0
  325. package/dist/client/hooks/use-notify.js +27 -0
  326. package/dist/client/hooks/use-notify.js.map +1 -0
  327. package/dist/client/hooks/use-realtime-topic.d.ts +6 -0
  328. package/dist/client/hooks/use-realtime-topic.d.ts.map +1 -0
  329. package/dist/client/hooks/use-realtime-topic.js +24 -0
  330. package/dist/client/hooks/use-realtime-topic.js.map +1 -0
  331. package/dist/client/hooks/use-server-url.d.ts +6 -0
  332. package/dist/client/hooks/use-server-url.d.ts.map +1 -0
  333. package/dist/client/hooks/use-server-url.js +10 -0
  334. package/dist/client/hooks/use-server-url.js.map +1 -0
  335. package/dist/client/hooks/use-vocabulary.d.ts +38 -0
  336. package/dist/client/hooks/use-vocabulary.d.ts.map +1 -0
  337. package/dist/client/hooks/use-vocabulary.js +77 -0
  338. package/dist/client/hooks/use-vocabulary.js.map +1 -0
  339. package/dist/client/index.d.ts +2 -0
  340. package/dist/client/index.d.ts.map +1 -0
  341. package/dist/client/index.js +4 -0
  342. package/dist/client/index.js.map +1 -0
  343. package/dist/client/kit.d.ts +62 -0
  344. package/dist/client/kit.d.ts.map +1 -0
  345. package/dist/client/kit.js +122 -0
  346. package/dist/client/kit.js.map +1 -0
  347. package/dist/client/lib/action-catalog.d.ts +13 -0
  348. package/dist/client/lib/action-catalog.d.ts.map +1 -0
  349. package/dist/client/lib/action-catalog.js +45 -0
  350. package/dist/client/lib/action-catalog.js.map +1 -0
  351. package/dist/client/lib/agents.d.ts +7 -0
  352. package/dist/client/lib/agents.d.ts.map +1 -0
  353. package/dist/client/lib/agents.js +33 -0
  354. package/dist/client/lib/agents.js.map +1 -0
  355. package/dist/client/lib/diff.d.ts +8 -0
  356. package/dist/client/lib/diff.d.ts.map +1 -0
  357. package/dist/client/lib/diff.js +55 -0
  358. package/dist/client/lib/diff.js.map +1 -0
  359. package/dist/client/lib/download.d.ts +5 -0
  360. package/dist/client/lib/download.d.ts.map +1 -0
  361. package/dist/client/lib/download.js +17 -0
  362. package/dist/client/lib/download.js.map +1 -0
  363. package/dist/client/lib/format.d.ts +15 -0
  364. package/dist/client/lib/format.d.ts.map +1 -0
  365. package/dist/client/lib/format.js +76 -0
  366. package/dist/client/lib/format.js.map +1 -0
  367. package/dist/client/lib/install.d.ts +23 -0
  368. package/dist/client/lib/install.d.ts.map +1 -0
  369. package/dist/client/lib/install.js +54 -0
  370. package/dist/client/lib/install.js.map +1 -0
  371. package/dist/client/lib/revision.d.ts +3 -0
  372. package/dist/client/lib/revision.d.ts.map +1 -0
  373. package/dist/client/lib/revision.js +10 -0
  374. package/dist/client/lib/revision.js.map +1 -0
  375. package/dist/client/lib/runs.d.ts +11 -0
  376. package/dist/client/lib/runs.d.ts.map +1 -0
  377. package/dist/client/lib/runs.js +22 -0
  378. package/dist/client/lib/runs.js.map +1 -0
  379. package/dist/client/lib/text.d.ts +3 -0
  380. package/dist/client/lib/text.d.ts.map +1 -0
  381. package/dist/client/lib/text.js +6 -0
  382. package/dist/client/lib/text.js.map +1 -0
  383. package/dist/client/lib/tool-slots.d.ts +16 -0
  384. package/dist/client/lib/tool-slots.d.ts.map +1 -0
  385. package/dist/client/lib/tool-slots.js +37 -0
  386. package/dist/client/lib/tool-slots.js.map +1 -0
  387. package/dist/client/lib/tool-summary.d.ts +6 -0
  388. package/dist/client/lib/tool-summary.d.ts.map +1 -0
  389. package/dist/client/lib/tool-summary.js +44 -0
  390. package/dist/client/lib/tool-summary.js.map +1 -0
  391. package/dist/client/locales/chat.en-US.d.ts +70 -0
  392. package/dist/client/locales/chat.en-US.d.ts.map +1 -0
  393. package/dist/client/locales/chat.en-US.js +70 -0
  394. package/dist/client/locales/chat.en-US.js.map +1 -0
  395. package/dist/client/locales/chat.zh-CN.d.ts +4 -0
  396. package/dist/client/locales/chat.zh-CN.d.ts.map +1 -0
  397. package/dist/client/locales/chat.zh-CN.js +64 -0
  398. package/dist/client/locales/chat.zh-CN.js.map +1 -0
  399. package/dist/client/locales/en-US.d.ts +491 -0
  400. package/dist/client/locales/en-US.d.ts.map +1 -0
  401. package/dist/client/locales/en-US.js +490 -0
  402. package/dist/client/locales/en-US.js.map +1 -0
  403. package/dist/client/locales/index.d.ts +4 -0
  404. package/dist/client/locales/index.d.ts.map +1 -0
  405. package/dist/client/locales/index.js +7 -0
  406. package/dist/client/locales/index.js.map +1 -0
  407. package/dist/client/locales/prices.en-US.d.ts +49 -0
  408. package/dist/client/locales/prices.en-US.d.ts.map +1 -0
  409. package/dist/client/locales/prices.en-US.js +48 -0
  410. package/dist/client/locales/prices.en-US.js.map +1 -0
  411. package/dist/client/locales/prices.zh-CN.d.ts +5 -0
  412. package/dist/client/locales/prices.zh-CN.d.ts.map +1 -0
  413. package/dist/client/locales/prices.zh-CN.js +48 -0
  414. package/dist/client/locales/prices.zh-CN.js.map +1 -0
  415. package/dist/client/locales/runWait.en-US.d.ts +38 -0
  416. package/dist/client/locales/runWait.en-US.d.ts.map +1 -0
  417. package/dist/client/locales/runWait.en-US.js +37 -0
  418. package/dist/client/locales/runWait.en-US.js.map +1 -0
  419. package/dist/client/locales/runWait.zh-CN.d.ts +5 -0
  420. package/dist/client/locales/runWait.zh-CN.d.ts.map +1 -0
  421. package/dist/client/locales/runWait.zh-CN.js +32 -0
  422. package/dist/client/locales/runWait.zh-CN.js.map +1 -0
  423. package/dist/client/locales/runtimes.en-US.d.ts +227 -0
  424. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -0
  425. package/dist/client/locales/runtimes.en-US.js +226 -0
  426. package/dist/client/locales/runtimes.en-US.js.map +1 -0
  427. package/dist/client/locales/runtimes.zh-CN.d.ts +4 -0
  428. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -0
  429. package/dist/client/locales/runtimes.zh-CN.js +225 -0
  430. package/dist/client/locales/runtimes.zh-CN.js.map +1 -0
  431. package/dist/client/locales/services.en-US.d.ts +112 -0
  432. package/dist/client/locales/services.en-US.d.ts.map +1 -0
  433. package/dist/client/locales/services.en-US.js +111 -0
  434. package/dist/client/locales/services.en-US.js.map +1 -0
  435. package/dist/client/locales/services.zh-CN.d.ts +4 -0
  436. package/dist/client/locales/services.zh-CN.d.ts.map +1 -0
  437. package/dist/client/locales/services.zh-CN.js +110 -0
  438. package/dist/client/locales/services.zh-CN.js.map +1 -0
  439. package/dist/client/locales/skills.en-US.d.ts +149 -0
  440. package/dist/client/locales/skills.en-US.d.ts.map +1 -0
  441. package/dist/client/locales/skills.en-US.js +149 -0
  442. package/dist/client/locales/skills.en-US.js.map +1 -0
  443. package/dist/client/locales/skills.zh-CN.d.ts +4 -0
  444. package/dist/client/locales/skills.zh-CN.d.ts.map +1 -0
  445. package/dist/client/locales/skills.zh-CN.js +148 -0
  446. package/dist/client/locales/skills.zh-CN.js.map +1 -0
  447. package/dist/client/locales/zh-CN.d.ts +4 -0
  448. package/dist/client/locales/zh-CN.d.ts.map +1 -0
  449. package/dist/client/locales/zh-CN.js +485 -0
  450. package/dist/client/locales/zh-CN.js.map +1 -0
  451. package/dist/client/online/model.d.ts +45 -0
  452. package/dist/client/online/model.d.ts.map +1 -0
  453. package/dist/client/online/model.js +128 -0
  454. package/dist/client/online/model.js.map +1 -0
  455. package/dist/client/online/service-editor.d.ts +11 -0
  456. package/dist/client/online/service-editor.d.ts.map +1 -0
  457. package/dist/client/online/service-editor.js +235 -0
  458. package/dist/client/online/service-editor.js.map +1 -0
  459. package/dist/client/online/services.d.ts +3 -0
  460. package/dist/client/online/services.d.ts.map +1 -0
  461. package/dist/client/online/services.js +108 -0
  462. package/dist/client/online/services.js.map +1 -0
  463. package/dist/client/pages/agents/agent-dialog.d.ts +9 -0
  464. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -0
  465. package/dist/client/pages/agents/agent-dialog.js +106 -0
  466. package/dist/client/pages/agents/agent-dialog.js.map +1 -0
  467. package/dist/client/pages/agents/agent-state.d.ts +11 -0
  468. package/dist/client/pages/agents/agent-state.d.ts.map +1 -0
  469. package/dist/client/pages/agents/agent-state.js +28 -0
  470. package/dist/client/pages/agents/agent-state.js.map +1 -0
  471. package/dist/client/pages/agents/index.d.ts +3 -0
  472. package/dist/client/pages/agents/index.d.ts.map +1 -0
  473. package/dist/client/pages/agents/index.js +15 -0
  474. package/dist/client/pages/agents/index.js.map +1 -0
  475. package/dist/client/pages/agents/runner-agents.d.ts +3 -0
  476. package/dist/client/pages/agents/runner-agents.d.ts.map +1 -0
  477. package/dist/client/pages/agents/runner-agents.js +172 -0
  478. package/dist/client/pages/agents/runner-agents.js.map +1 -0
  479. package/dist/client/pages/models/index.d.ts +6 -0
  480. package/dist/client/pages/models/index.d.ts.map +1 -0
  481. package/dist/client/pages/models/index.js +6 -0
  482. package/dist/client/pages/models/index.js.map +1 -0
  483. package/dist/client/pages/runtimes/connect.d.ts +3 -0
  484. package/dist/client/pages/runtimes/connect.d.ts.map +1 -0
  485. package/dist/client/pages/runtimes/connect.js +155 -0
  486. package/dist/client/pages/runtimes/connect.js.map +1 -0
  487. package/dist/client/pages/runtimes/index.d.ts +3 -0
  488. package/dist/client/pages/runtimes/index.d.ts.map +1 -0
  489. package/dist/client/pages/runtimes/index.js +111 -0
  490. package/dist/client/pages/runtimes/index.js.map +1 -0
  491. package/dist/client/pages/runtimes/runner-cells.d.ts +39 -0
  492. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -0
  493. package/dist/client/pages/runtimes/runner-cells.js +120 -0
  494. package/dist/client/pages/runtimes/runner-cells.js.map +1 -0
  495. package/dist/client/pages/runtimes/runner-policy.d.ts +18 -0
  496. package/dist/client/pages/runtimes/runner-policy.d.ts.map +1 -0
  497. package/dist/client/pages/runtimes/runner-policy.js +10 -0
  498. package/dist/client/pages/runtimes/runner-policy.js.map +1 -0
  499. package/dist/client/pages/runtimes/runner-sheet.d.ts +8 -0
  500. package/dist/client/pages/runtimes/runner-sheet.d.ts.map +1 -0
  501. package/dist/client/pages/runtimes/runner-sheet.js +197 -0
  502. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -0
  503. package/dist/client/pages/runtimes/tool-slots-fields.d.ts +33 -0
  504. package/dist/client/pages/runtimes/tool-slots-fields.d.ts.map +1 -0
  505. package/dist/client/pages/runtimes/tool-slots-fields.js +28 -0
  506. package/dist/client/pages/runtimes/tool-slots-fields.js.map +1 -0
  507. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts +9 -0
  508. package/dist/client/pages/runtimes/workspace-diagnostics.d.ts.map +1 -0
  509. package/dist/client/pages/runtimes/workspace-diagnostics.js +70 -0
  510. package/dist/client/pages/runtimes/workspace-diagnostics.js.map +1 -0
  511. package/dist/client/pages/skills/detail/index.d.ts +3 -0
  512. package/dist/client/pages/skills/detail/index.d.ts.map +1 -0
  513. package/dist/client/pages/skills/detail/index.js +115 -0
  514. package/dist/client/pages/skills/detail/index.js.map +1 -0
  515. package/dist/client/pages/skills/detail/skill-editor.d.ts +13 -0
  516. package/dist/client/pages/skills/detail/skill-editor.d.ts.map +1 -0
  517. package/dist/client/pages/skills/detail/skill-editor.js +80 -0
  518. package/dist/client/pages/skills/detail/skill-editor.js.map +1 -0
  519. package/dist/client/pages/skills/detail/skill-versions.d.ts +7 -0
  520. package/dist/client/pages/skills/detail/skill-versions.d.ts.map +1 -0
  521. package/dist/client/pages/skills/detail/skill-versions.js +115 -0
  522. package/dist/client/pages/skills/detail/skill-versions.js.map +1 -0
  523. package/dist/client/pages/skills/import-button.d.ts +9 -0
  524. package/dist/client/pages/skills/import-button.d.ts.map +1 -0
  525. package/dist/client/pages/skills/import-button.js +69 -0
  526. package/dist/client/pages/skills/import-button.js.map +1 -0
  527. package/dist/client/pages/skills/index.d.ts +3 -0
  528. package/dist/client/pages/skills/index.d.ts.map +1 -0
  529. package/dist/client/pages/skills/index.js +49 -0
  530. package/dist/client/pages/skills/index.js.map +1 -0
  531. package/dist/client/pages/skills/new.d.ts +3 -0
  532. package/dist/client/pages/skills/new.d.ts.map +1 -0
  533. package/dist/client/pages/skills/new.js +81 -0
  534. package/dist/client/pages/skills/new.js.map +1 -0
  535. package/dist/client/pages/skills/workbench/discard-dialog.d.ts +8 -0
  536. package/dist/client/pages/skills/workbench/discard-dialog.d.ts.map +1 -0
  537. package/dist/client/pages/skills/workbench/discard-dialog.js +9 -0
  538. package/dist/client/pages/skills/workbench/discard-dialog.js.map +1 -0
  539. package/dist/client/pages/skills/workbench/entry-dialog.d.ts +23 -0
  540. package/dist/client/pages/skills/workbench/entry-dialog.d.ts.map +1 -0
  541. package/dist/client/pages/skills/workbench/entry-dialog.js +63 -0
  542. package/dist/client/pages/skills/workbench/entry-dialog.js.map +1 -0
  543. package/dist/client/pages/skills/workbench/file-pane.d.ts +27 -0
  544. package/dist/client/pages/skills/workbench/file-pane.d.ts.map +1 -0
  545. package/dist/client/pages/skills/workbench/file-pane.js +101 -0
  546. package/dist/client/pages/skills/workbench/file-pane.js.map +1 -0
  547. package/dist/client/pages/skills/workbench/file-tree.d.ts +23 -0
  548. package/dist/client/pages/skills/workbench/file-tree.d.ts.map +1 -0
  549. package/dist/client/pages/skills/workbench/file-tree.js +85 -0
  550. package/dist/client/pages/skills/workbench/file-tree.js.map +1 -0
  551. package/dist/client/pages/skills/workbench/model.d.ts +72 -0
  552. package/dist/client/pages/skills/workbench/model.d.ts.map +1 -0
  553. package/dist/client/pages/skills/workbench/model.js +176 -0
  554. package/dist/client/pages/skills/workbench/model.js.map +1 -0
  555. package/dist/client/pages/skills/workbench/skill-workbench.d.ts +13 -0
  556. package/dist/client/pages/skills/workbench/skill-workbench.d.ts.map +1 -0
  557. package/dist/client/pages/skills/workbench/skill-workbench.js +223 -0
  558. package/dist/client/pages/skills/workbench/skill-workbench.js.map +1 -0
  559. package/dist/client/pages/skills/workbench/state.d.ts +28 -0
  560. package/dist/client/pages/skills/workbench/state.d.ts.map +1 -0
  561. package/dist/client/pages/skills/workbench/state.js +62 -0
  562. package/dist/client/pages/skills/workbench/state.js.map +1 -0
  563. package/dist/client/pages/skills/workbench/use-element-width.d.ts +6 -0
  564. package/dist/client/pages/skills/workbench/use-element-width.d.ts.map +1 -0
  565. package/dist/client/pages/skills/workbench/use-element-width.js +18 -0
  566. package/dist/client/pages/skills/workbench/use-element-width.js.map +1 -0
  567. package/dist/client/pages/usage/date-range-picker.d.ts +10 -0
  568. package/dist/client/pages/usage/date-range-picker.d.ts.map +1 -0
  569. package/dist/client/pages/usage/date-range-picker.js +45 -0
  570. package/dist/client/pages/usage/date-range-picker.js.map +1 -0
  571. package/dist/client/pages/usage/index.d.ts +3 -0
  572. package/dist/client/pages/usage/index.d.ts.map +1 -0
  573. package/dist/client/pages/usage/index.js +269 -0
  574. package/dist/client/pages/usage/index.js.map +1 -0
  575. package/dist/client/pages/usage/model.d.ts +70 -0
  576. package/dist/client/pages/usage/model.d.ts.map +1 -0
  577. package/dist/client/pages/usage/model.js +234 -0
  578. package/dist/client/pages/usage/model.js.map +1 -0
  579. package/dist/client/pages/usage/prices/index.d.ts +6 -0
  580. package/dist/client/pages/usage/prices/index.d.ts.map +1 -0
  581. package/dist/client/pages/usage/prices/index.js +35 -0
  582. package/dist/client/pages/usage/prices/index.js.map +1 -0
  583. package/dist/client/pages/usage/prices/model.d.ts +43 -0
  584. package/dist/client/pages/usage/prices/model.d.ts.map +1 -0
  585. package/dist/client/pages/usage/prices/model.js +104 -0
  586. package/dist/client/pages/usage/prices/model.js.map +1 -0
  587. package/dist/client/pages/usage/prices/price-cells.d.ts +24 -0
  588. package/dist/client/pages/usage/prices/price-cells.d.ts.map +1 -0
  589. package/dist/client/pages/usage/prices/price-cells.js +61 -0
  590. package/dist/client/pages/usage/prices/price-cells.js.map +1 -0
  591. package/dist/client/pages/usage/prices/prices-section.d.ts +7 -0
  592. package/dist/client/pages/usage/prices/prices-section.d.ts.map +1 -0
  593. package/dist/client/pages/usage/prices/prices-section.js +50 -0
  594. package/dist/client/pages/usage/prices/prices-section.js.map +1 -0
  595. package/dist/client/pages/usage/prices/tool-panel.d.ts +9 -0
  596. package/dist/client/pages/usage/prices/tool-panel.d.ts.map +1 -0
  597. package/dist/client/pages/usage/prices/tool-panel.js +78 -0
  598. package/dist/client/pages/usage/prices/tool-panel.js.map +1 -0
  599. package/dist/client/pages/usage/prices/use-save-prices.d.ts +6 -0
  600. package/dist/client/pages/usage/prices/use-save-prices.d.ts.map +1 -0
  601. package/dist/client/pages/usage/prices/use-save-prices.js +14 -0
  602. package/dist/client/pages/usage/prices/use-save-prices.js.map +1 -0
  603. package/dist/client/plugin.d.ts +4 -0
  604. package/dist/client/plugin.d.ts.map +1 -0
  605. package/dist/client/plugin.js +11 -0
  606. package/dist/client/plugin.js.map +1 -0
  607. package/dist/client/profile/default-agent.d.ts +3 -0
  608. package/dist/client/profile/default-agent.d.ts.map +1 -0
  609. package/dist/client/profile/default-agent.js +87 -0
  610. package/dist/client/profile/default-agent.js.map +1 -0
  611. package/dist/client/profile.d.ts +8 -0
  612. package/dist/client/profile.d.ts.map +1 -0
  613. package/dist/client/profile.js +4 -0
  614. package/dist/client/profile.js.map +1 -0
  615. package/dist/client/query.d.ts +9 -0
  616. package/dist/client/query.d.ts.map +1 -0
  617. package/dist/client/query.js +41 -0
  618. package/dist/client/query.js.map +1 -0
  619. package/dist/client/routes.d.ts +25 -0
  620. package/dist/client/routes.d.ts.map +1 -0
  621. package/dist/client/routes.js +77 -0
  622. package/dist/client/routes.js.map +1 -0
  623. package/dist/client/runs/format-wait.d.ts +21 -0
  624. package/dist/client/runs/format-wait.d.ts.map +1 -0
  625. package/dist/client/runs/format-wait.js +90 -0
  626. package/dist/client/runs/format-wait.js.map +1 -0
  627. package/dist/client/runs/run-hooks.d.ts +35 -0
  628. package/dist/client/runs/run-hooks.d.ts.map +1 -0
  629. package/dist/client/runs/run-hooks.js +92 -0
  630. package/dist/client/runs/run-hooks.js.map +1 -0
  631. package/dist/client/runs/subject-runs.d.ts +17 -0
  632. package/dist/client/runs/subject-runs.d.ts.map +1 -0
  633. package/dist/client/runs/subject-runs.js +62 -0
  634. package/dist/client/runs/subject-runs.js.map +1 -0
  635. package/dist/client/runs/use-run-events.d.ts +24 -0
  636. package/dist/client/runs/use-run-events.d.ts.map +1 -0
  637. package/dist/client/runs/use-run-events.js +80 -0
  638. package/dist/client/runs/use-run-events.js.map +1 -0
  639. package/dist/client/runs.d.ts +16 -0
  640. package/dist/client/runs.d.ts.map +1 -0
  641. package/dist/client/runs.js +15 -0
  642. package/dist/client/runs.js.map +1 -0
  643. package/dist/database/migrations/.manifest.json +105 -0
  644. package/dist/database/migrations/202610020001_ag_create_agents.d.ts +4 -0
  645. package/dist/database/migrations/202610020001_ag_create_agents.d.ts.map +1 -0
  646. package/dist/database/migrations/202610020001_ag_create_agents.js +108 -0
  647. package/dist/database/migrations/202610020001_ag_create_agents.js.map +1 -0
  648. package/dist/database/migrations/202610020002_ag_create_runners.d.ts +4 -0
  649. package/dist/database/migrations/202610020002_ag_create_runners.d.ts.map +1 -0
  650. package/dist/database/migrations/202610020002_ag_create_runners.js +115 -0
  651. package/dist/database/migrations/202610020002_ag_create_runners.js.map +1 -0
  652. package/dist/database/migrations/202610020003_ag_create_runs.d.ts +4 -0
  653. package/dist/database/migrations/202610020003_ag_create_runs.d.ts.map +1 -0
  654. package/dist/database/migrations/202610020003_ag_create_runs.js +289 -0
  655. package/dist/database/migrations/202610020003_ag_create_runs.js.map +1 -0
  656. package/dist/database/migrations/202610020004_ag_create_variables.d.ts +4 -0
  657. package/dist/database/migrations/202610020004_ag_create_variables.d.ts.map +1 -0
  658. package/dist/database/migrations/202610020004_ag_create_variables.js +52 -0
  659. package/dist/database/migrations/202610020004_ag_create_variables.js.map +1 -0
  660. package/dist/database/migrations/202610020005_ag_create_skills.d.ts +4 -0
  661. package/dist/database/migrations/202610020005_ag_create_skills.d.ts.map +1 -0
  662. package/dist/database/migrations/202610020005_ag_create_skills.js +94 -0
  663. package/dist/database/migrations/202610020005_ag_create_skills.js.map +1 -0
  664. package/dist/database/migrations/202610020006_ag_create_model_prices.d.ts +4 -0
  665. package/dist/database/migrations/202610020006_ag_create_model_prices.d.ts.map +1 -0
  666. package/dist/database/migrations/202610020006_ag_create_model_prices.js +46 -0
  667. package/dist/database/migrations/202610020006_ag_create_model_prices.js.map +1 -0
  668. package/dist/database/migrations/202610020008_ag_create_conversations.d.ts +4 -0
  669. package/dist/database/migrations/202610020008_ag_create_conversations.d.ts.map +1 -0
  670. package/dist/database/migrations/202610020008_ag_create_conversations.js +113 -0
  671. package/dist/database/migrations/202610020008_ag_create_conversations.js.map +1 -0
  672. package/dist/database/migrations/202610020009_ag_create_jobs.d.ts +4 -0
  673. package/dist/database/migrations/202610020009_ag_create_jobs.d.ts.map +1 -0
  674. package/dist/database/migrations/202610020009_ag_create_jobs.js +102 -0
  675. package/dist/database/migrations/202610020009_ag_create_jobs.js.map +1 -0
  676. package/dist/database/migrations/202610020010_ag_create_model_services.d.ts +4 -0
  677. package/dist/database/migrations/202610020010_ag_create_model_services.d.ts.map +1 -0
  678. package/dist/database/migrations/202610020010_ag_create_model_services.js +57 -0
  679. package/dist/database/migrations/202610020010_ag_create_model_services.js.map +1 -0
  680. package/dist/database/migrations/202610020011_ag_create_vectors.d.ts +4 -0
  681. package/dist/database/migrations/202610020011_ag_create_vectors.d.ts.map +1 -0
  682. package/dist/database/migrations/202610020011_ag_create_vectors.js +68 -0
  683. package/dist/database/migrations/202610020011_ag_create_vectors.js.map +1 -0
  684. package/dist/database/migrations/202610060001_ag_add_runner_product.d.ts +8 -0
  685. package/dist/database/migrations/202610060001_ag_add_runner_product.d.ts.map +1 -0
  686. package/dist/database/migrations/202610060001_ag_add_runner_product.js +21 -0
  687. package/dist/database/migrations/202610060001_ag_add_runner_product.js.map +1 -0
  688. package/dist/database/migrations/202610070001_ag_create_chat_attachments.d.ts +4 -0
  689. package/dist/database/migrations/202610070001_ag_create_chat_attachments.d.ts.map +1 -0
  690. package/dist/database/migrations/202610070001_ag_create_chat_attachments.js +35 -0
  691. package/dist/database/migrations/202610070001_ag_create_chat_attachments.js.map +1 -0
  692. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.d.ts +9 -0
  693. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.d.ts.map +1 -0
  694. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.js +30 -0
  695. package/dist/database/migrations/202610080001_ag_add_runner_tool_slots.js.map +1 -0
  696. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts +9 -0
  697. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.d.ts.map +1 -0
  698. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js +28 -0
  699. package/dist/database/migrations/202610090001_ag_add_team_runner_variables.js.map +1 -0
  700. package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts +10 -0
  701. package/dist/database/migrations/202610090002_ag_create_run_requests.d.ts.map +1 -0
  702. package/dist/database/migrations/202610090002_ag_create_run_requests.js +105 -0
  703. package/dist/database/migrations/202610090002_ag_create_run_requests.js.map +1 -0
  704. package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts +4 -0
  705. package/dist/database/migrations/202610090003_ag_add_execution_history.d.ts.map +1 -0
  706. package/dist/database/migrations/202610090003_ag_add_execution_history.js +17 -0
  707. package/dist/database/migrations/202610090003_ag_add_execution_history.js.map +1 -0
  708. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts +9 -0
  709. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.d.ts.map +1 -0
  710. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js +22 -0
  711. package/dist/database/migrations/202610090004_ag_add_runner_workspace_usage.js.map +1 -0
  712. package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts +10 -0
  713. package/dist/database/migrations/202610090005_ag_add_runner_variables.d.ts.map +1 -0
  714. package/dist/database/migrations/202610090005_ag_add_runner_variables.js +36 -0
  715. package/dist/database/migrations/202610090005_ag_add_runner_variables.js.map +1 -0
  716. package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts +4 -0
  717. package/dist/database/migrations/202610100001_ag_index_run_event_types.d.ts.map +1 -0
  718. package/dist/database/migrations/202610100001_ag_index_run_event_types.js +17 -0
  719. package/dist/database/migrations/202610100001_ag_index_run_event_types.js.map +1 -0
  720. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts +9 -0
  721. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.d.ts.map +1 -0
  722. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js +30 -0
  723. package/dist/database/migrations/202610100002_ag_add_run_git_credentials.js.map +1 -0
  724. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts +4 -0
  725. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.d.ts.map +1 -0
  726. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js +23 -0
  727. package/dist/database/migrations/202610110001_ag_add_fresh_sessions.js.map +1 -0
  728. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts +4 -0
  729. package/dist/database/migrations/202610120001_ag_index_run_retries.d.ts.map +1 -0
  730. package/dist/database/migrations/202610120001_ag_index_run_retries.js +17 -0
  731. package/dist/database/migrations/202610120001_ag_index_run_retries.js.map +1 -0
  732. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts +4 -0
  733. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.d.ts.map +1 -0
  734. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js +50 -0
  735. package/dist/database/migrations/202610120002_ag_add_queue_entered_at.js.map +1 -0
  736. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts +4 -0
  737. package/dist/database/migrations/202610240020_ag_runner_agents.d.ts.map +1 -0
  738. package/dist/database/migrations/202610240020_ag_runner_agents.js +115 -0
  739. package/dist/database/migrations/202610240020_ag_runner_agents.js.map +1 -0
  740. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts +4 -0
  741. package/dist/database/migrations/202610240040_ag_discovery_preferences.d.ts.map +1 -0
  742. package/dist/database/migrations/202610240040_ag_discovery_preferences.js +18 -0
  743. package/dist/database/migrations/202610240040_ag_discovery_preferences.js.map +1 -0
  744. package/dist/database/seeds/.manifest.json +9 -0
  745. package/dist/database/seeds/202610020007_ag_default_model_prices.d.ts +4 -0
  746. package/dist/database/seeds/202610020007_ag_default_model_prices.d.ts.map +1 -0
  747. package/dist/database/seeds/202610020007_ag_default_model_prices.js +142 -0
  748. package/dist/database/seeds/202610020007_ag_default_model_prices.js.map +1 -0
  749. package/dist/package.d.ts +2 -0
  750. package/dist/package.d.ts.map +1 -0
  751. package/dist/package.js +2 -0
  752. package/dist/package.js.map +1 -0
  753. package/dist/package.json +310 -0
  754. package/dist/server/cli/run-credential.d.ts +17 -0
  755. package/dist/server/cli/run-credential.d.ts.map +1 -0
  756. package/dist/server/cli/run-credential.js +52 -0
  757. package/dist/server/cli/run-credential.js.map +1 -0
  758. package/dist/server/cli/surface.d.ts +20 -0
  759. package/dist/server/cli/surface.d.ts.map +1 -0
  760. package/dist/server/cli/surface.js +66 -0
  761. package/dist/server/cli/surface.js.map +1 -0
  762. package/dist/server/composition.d.ts +196 -0
  763. package/dist/server/composition.d.ts.map +1 -0
  764. package/dist/server/composition.js +353 -0
  765. package/dist/server/composition.js.map +1 -0
  766. package/dist/server/core/agents/actions.d.ts +16 -0
  767. package/dist/server/core/agents/actions.d.ts.map +1 -0
  768. package/dist/server/core/agents/actions.js +26 -0
  769. package/dist/server/core/agents/actions.js.map +1 -0
  770. package/dist/server/core/agents/agent.history.d.ts +32 -0
  771. package/dist/server/core/agents/agent.history.d.ts.map +1 -0
  772. package/dist/server/core/agents/agent.history.js +71 -0
  773. package/dist/server/core/agents/agent.history.js.map +1 -0
  774. package/dist/server/core/agents/agent.service.d.ts +93 -0
  775. package/dist/server/core/agents/agent.service.d.ts.map +1 -0
  776. package/dist/server/core/agents/agent.service.js +452 -0
  777. package/dist/server/core/agents/agent.service.js.map +1 -0
  778. package/dist/server/core/agents/agent.store.d.ts +63 -0
  779. package/dist/server/core/agents/agent.store.d.ts.map +1 -0
  780. package/dist/server/core/agents/agent.store.js +153 -0
  781. package/dist/server/core/agents/agent.store.js.map +1 -0
  782. package/dist/server/core/agents/agent.views.d.ts +29 -0
  783. package/dist/server/core/agents/agent.views.d.ts.map +1 -0
  784. package/dist/server/core/agents/agent.views.js +86 -0
  785. package/dist/server/core/agents/agent.views.js.map +1 -0
  786. package/dist/server/core/agents/discovery.d.ts +12 -0
  787. package/dist/server/core/agents/discovery.d.ts.map +1 -0
  788. package/dist/server/core/agents/discovery.js +39 -0
  789. package/dist/server/core/agents/discovery.js.map +1 -0
  790. package/dist/server/core/agents/index.d.ts +5 -0
  791. package/dist/server/core/agents/index.d.ts.map +1 -0
  792. package/dist/server/core/agents/index.js +5 -0
  793. package/dist/server/core/agents/index.js.map +1 -0
  794. package/dist/server/core/brief/brief.d.ts +114 -0
  795. package/dist/server/core/brief/brief.d.ts.map +1 -0
  796. package/dist/server/core/brief/brief.js +216 -0
  797. package/dist/server/core/brief/brief.js.map +1 -0
  798. package/dist/server/core/brief/index.d.ts +2 -0
  799. package/dist/server/core/brief/index.d.ts.map +1 -0
  800. package/dist/server/core/brief/index.js +2 -0
  801. package/dist/server/core/brief/index.js.map +1 -0
  802. package/dist/server/core/callers/index.d.ts +63 -0
  803. package/dist/server/core/callers/index.d.ts.map +1 -0
  804. package/dist/server/core/callers/index.js +42 -0
  805. package/dist/server/core/callers/index.js.map +1 -0
  806. package/dist/server/core/conversations/attachments.d.ts +159 -0
  807. package/dist/server/core/conversations/attachments.d.ts.map +1 -0
  808. package/dist/server/core/conversations/attachments.js +281 -0
  809. package/dist/server/core/conversations/attachments.js.map +1 -0
  810. package/dist/server/core/conversations/availability.d.ts +15 -0
  811. package/dist/server/core/conversations/availability.d.ts.map +1 -0
  812. package/dist/server/core/conversations/availability.js +24 -0
  813. package/dist/server/core/conversations/availability.js.map +1 -0
  814. package/dist/server/core/conversations/chat-settings.d.ts +26 -0
  815. package/dist/server/core/conversations/chat-settings.d.ts.map +1 -0
  816. package/dist/server/core/conversations/chat-settings.js +100 -0
  817. package/dist/server/core/conversations/chat-settings.js.map +1 -0
  818. package/dist/server/core/conversations/conversation.service.d.ts +29 -0
  819. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -0
  820. package/dist/server/core/conversations/conversation.service.js +1098 -0
  821. package/dist/server/core/conversations/conversation.service.js.map +1 -0
  822. package/dist/server/core/conversations/conversation.store.d.ts +104 -0
  823. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -0
  824. package/dist/server/core/conversations/conversation.store.js +159 -0
  825. package/dist/server/core/conversations/conversation.store.js.map +1 -0
  826. package/dist/server/core/conversations/index.d.ts +8 -0
  827. package/dist/server/core/conversations/index.d.ts.map +1 -0
  828. package/dist/server/core/conversations/index.js +7 -0
  829. package/dist/server/core/conversations/index.js.map +1 -0
  830. package/dist/server/core/conversations/page-context.d.ts +35 -0
  831. package/dist/server/core/conversations/page-context.d.ts.map +1 -0
  832. package/dist/server/core/conversations/page-context.js +144 -0
  833. package/dist/server/core/conversations/page-context.js.map +1 -0
  834. package/dist/server/core/conversations/ports.d.ts +131 -0
  835. package/dist/server/core/conversations/ports.d.ts.map +1 -0
  836. package/dist/server/core/conversations/ports.js +2 -0
  837. package/dist/server/core/conversations/ports.js.map +1 -0
  838. package/dist/server/core/conversations/prompt.d.ts +46 -0
  839. package/dist/server/core/conversations/prompt.d.ts.map +1 -0
  840. package/dist/server/core/conversations/prompt.js +107 -0
  841. package/dist/server/core/conversations/prompt.js.map +1 -0
  842. package/dist/server/core/conversations/titles.d.ts +9 -0
  843. package/dist/server/core/conversations/titles.d.ts.map +1 -0
  844. package/dist/server/core/conversations/titles.js +20 -0
  845. package/dist/server/core/conversations/titles.js.map +1 -0
  846. package/dist/server/core/reports/index.d.ts +7 -0
  847. package/dist/server/core/reports/index.d.ts.map +1 -0
  848. package/dist/server/core/reports/index.js +7 -0
  849. package/dist/server/core/reports/index.js.map +1 -0
  850. package/dist/server/core/reports/metrics.d.ts +23 -0
  851. package/dist/server/core/reports/metrics.d.ts.map +1 -0
  852. package/dist/server/core/reports/metrics.js +60 -0
  853. package/dist/server/core/reports/metrics.js.map +1 -0
  854. package/dist/server/core/reports/model-usage.d.ts +35 -0
  855. package/dist/server/core/reports/model-usage.d.ts.map +1 -0
  856. package/dist/server/core/reports/model-usage.js +84 -0
  857. package/dist/server/core/reports/model-usage.js.map +1 -0
  858. package/dist/server/core/reports/prices.d.ts +35 -0
  859. package/dist/server/core/reports/prices.d.ts.map +1 -0
  860. package/dist/server/core/reports/prices.js +173 -0
  861. package/dist/server/core/reports/prices.js.map +1 -0
  862. package/dist/server/core/reports/report.service.d.ts +57 -0
  863. package/dist/server/core/reports/report.service.d.ts.map +1 -0
  864. package/dist/server/core/reports/report.service.js +313 -0
  865. package/dist/server/core/reports/report.service.js.map +1 -0
  866. package/dist/server/core/reports/usage.d.ts +50 -0
  867. package/dist/server/core/reports/usage.d.ts.map +1 -0
  868. package/dist/server/core/reports/usage.js +159 -0
  869. package/dist/server/core/reports/usage.js.map +1 -0
  870. package/dist/server/core/runs/availability.d.ts +31 -0
  871. package/dist/server/core/runs/availability.d.ts.map +1 -0
  872. package/dist/server/core/runs/availability.js +42 -0
  873. package/dist/server/core/runs/availability.js.map +1 -0
  874. package/dist/server/core/runs/claim.d.ts +140 -0
  875. package/dist/server/core/runs/claim.d.ts.map +1 -0
  876. package/dist/server/core/runs/claim.js +1009 -0
  877. package/dist/server/core/runs/claim.js.map +1 -0
  878. package/dist/server/core/runs/cli-package.d.ts +16 -0
  879. package/dist/server/core/runs/cli-package.d.ts.map +1 -0
  880. package/dist/server/core/runs/cli-package.js +18 -0
  881. package/dist/server/core/runs/cli-package.js.map +1 -0
  882. package/dist/server/core/runs/eligibility.d.ts +51 -0
  883. package/dist/server/core/runs/eligibility.d.ts.map +1 -0
  884. package/dist/server/core/runs/eligibility.js +44 -0
  885. package/dist/server/core/runs/eligibility.js.map +1 -0
  886. package/dist/server/core/runs/execution-view.d.ts +10 -0
  887. package/dist/server/core/runs/execution-view.d.ts.map +1 -0
  888. package/dist/server/core/runs/execution-view.js +25 -0
  889. package/dist/server/core/runs/execution-view.js.map +1 -0
  890. package/dist/server/core/runs/execution.d.ts +13 -0
  891. package/dist/server/core/runs/execution.d.ts.map +1 -0
  892. package/dist/server/core/runs/execution.js +85 -0
  893. package/dist/server/core/runs/execution.js.map +1 -0
  894. package/dist/server/core/runs/extensions.d.ts +184 -0
  895. package/dist/server/core/runs/extensions.d.ts.map +1 -0
  896. package/dist/server/core/runs/extensions.js +220 -0
  897. package/dist/server/core/runs/extensions.js.map +1 -0
  898. package/dist/server/core/runs/git-credentials.d.ts +43 -0
  899. package/dist/server/core/runs/git-credentials.d.ts.map +1 -0
  900. package/dist/server/core/runs/git-credentials.js +129 -0
  901. package/dist/server/core/runs/git-credentials.js.map +1 -0
  902. package/dist/server/core/runs/identity.d.ts +6 -0
  903. package/dist/server/core/runs/identity.d.ts.map +1 -0
  904. package/dist/server/core/runs/identity.js +49 -0
  905. package/dist/server/core/runs/identity.js.map +1 -0
  906. package/dist/server/core/runs/index.d.ts +20 -0
  907. package/dist/server/core/runs/index.d.ts.map +1 -0
  908. package/dist/server/core/runs/index.js +19 -0
  909. package/dist/server/core/runs/index.js.map +1 -0
  910. package/dist/server/core/runs/input-gate.d.ts +34 -0
  911. package/dist/server/core/runs/input-gate.d.ts.map +1 -0
  912. package/dist/server/core/runs/input-gate.js +54 -0
  913. package/dist/server/core/runs/input-gate.js.map +1 -0
  914. package/dist/server/core/runs/lifecycle.d.ts +46 -0
  915. package/dist/server/core/runs/lifecycle.d.ts.map +1 -0
  916. package/dist/server/core/runs/lifecycle.js +390 -0
  917. package/dist/server/core/runs/lifecycle.js.map +1 -0
  918. package/dist/server/core/runs/policy.d.ts +41 -0
  919. package/dist/server/core/runs/policy.d.ts.map +1 -0
  920. package/dist/server/core/runs/policy.js +48 -0
  921. package/dist/server/core/runs/policy.js.map +1 -0
  922. package/dist/server/core/runs/ports.d.ts +253 -0
  923. package/dist/server/core/runs/ports.d.ts.map +1 -0
  924. package/dist/server/core/runs/ports.js +22 -0
  925. package/dist/server/core/runs/ports.js.map +1 -0
  926. package/dist/server/core/runs/preview.d.ts +47 -0
  927. package/dist/server/core/runs/preview.d.ts.map +1 -0
  928. package/dist/server/core/runs/preview.js +104 -0
  929. package/dist/server/core/runs/preview.js.map +1 -0
  930. package/dist/server/core/runs/run-requests.d.ts +220 -0
  931. package/dist/server/core/runs/run-requests.d.ts.map +1 -0
  932. package/dist/server/core/runs/run-requests.js +475 -0
  933. package/dist/server/core/runs/run-requests.js.map +1 -0
  934. package/dist/server/core/runs/run-tokens.d.ts +21 -0
  935. package/dist/server/core/runs/run-tokens.d.ts.map +1 -0
  936. package/dist/server/core/runs/run-tokens.js +51 -0
  937. package/dist/server/core/runs/run-tokens.js.map +1 -0
  938. package/dist/server/core/runs/run.service.d.ts +240 -0
  939. package/dist/server/core/runs/run.service.d.ts.map +1 -0
  940. package/dist/server/core/runs/run.service.js +813 -0
  941. package/dist/server/core/runs/run.service.js.map +1 -0
  942. package/dist/server/core/runs/run.store.d.ts +203 -0
  943. package/dist/server/core/runs/run.store.d.ts.map +1 -0
  944. package/dist/server/core/runs/run.store.js +293 -0
  945. package/dist/server/core/runs/run.store.js.map +1 -0
  946. package/dist/server/core/runs/runner-view.d.ts +48 -0
  947. package/dist/server/core/runs/runner-view.d.ts.map +1 -0
  948. package/dist/server/core/runs/runner-view.js +121 -0
  949. package/dist/server/core/runs/runner-view.js.map +1 -0
  950. package/dist/server/core/runs/selection.d.ts +13 -0
  951. package/dist/server/core/runs/selection.d.ts.map +1 -0
  952. package/dist/server/core/runs/selection.js +21 -0
  953. package/dist/server/core/runs/selection.js.map +1 -0
  954. package/dist/server/core/runs/sweeper.d.ts +28 -0
  955. package/dist/server/core/runs/sweeper.d.ts.map +1 -0
  956. package/dist/server/core/runs/sweeper.js +243 -0
  957. package/dist/server/core/runs/sweeper.js.map +1 -0
  958. package/dist/server/core/runs/transitions.d.ts +41 -0
  959. package/dist/server/core/runs/transitions.d.ts.map +1 -0
  960. package/dist/server/core/runs/transitions.js +169 -0
  961. package/dist/server/core/runs/transitions.js.map +1 -0
  962. package/dist/server/core/runs/workload.d.ts +49 -0
  963. package/dist/server/core/runs/workload.d.ts.map +1 -0
  964. package/dist/server/core/runs/workload.js +390 -0
  965. package/dist/server/core/runs/workload.js.map +1 -0
  966. package/dist/server/core/runs/workspace.store.d.ts +23 -0
  967. package/dist/server/core/runs/workspace.store.d.ts.map +1 -0
  968. package/dist/server/core/runs/workspace.store.js +77 -0
  969. package/dist/server/core/runs/workspace.store.js.map +1 -0
  970. package/dist/server/core/skills/blobs.d.ts +65 -0
  971. package/dist/server/core/skills/blobs.d.ts.map +1 -0
  972. package/dist/server/core/skills/blobs.js +212 -0
  973. package/dist/server/core/skills/blobs.js.map +1 -0
  974. package/dist/server/core/skills/bundle.d.ts +27 -0
  975. package/dist/server/core/skills/bundle.d.ts.map +1 -0
  976. package/dist/server/core/skills/bundle.js +71 -0
  977. package/dist/server/core/skills/bundle.js.map +1 -0
  978. package/dist/server/core/skills/index.d.ts +6 -0
  979. package/dist/server/core/skills/index.d.ts.map +1 -0
  980. package/dist/server/core/skills/index.js +6 -0
  981. package/dist/server/core/skills/index.js.map +1 -0
  982. package/dist/server/core/skills/skill.service.d.ts +105 -0
  983. package/dist/server/core/skills/skill.service.d.ts.map +1 -0
  984. package/dist/server/core/skills/skill.service.js +625 -0
  985. package/dist/server/core/skills/skill.service.js.map +1 -0
  986. package/dist/server/core/skills/skill.store.d.ts +50 -0
  987. package/dist/server/core/skills/skill.store.d.ts.map +1 -0
  988. package/dist/server/core/skills/skill.store.js +58 -0
  989. package/dist/server/core/skills/skill.store.js.map +1 -0
  990. package/dist/server/core/skills/zip.d.ts +13 -0
  991. package/dist/server/core/skills/zip.d.ts.map +1 -0
  992. package/dist/server/core/skills/zip.js +126 -0
  993. package/dist/server/core/skills/zip.js.map +1 -0
  994. package/dist/server/core/variables/index.d.ts +2 -0
  995. package/dist/server/core/variables/index.d.ts.map +1 -0
  996. package/dist/server/core/variables/index.js +2 -0
  997. package/dist/server/core/variables/index.js.map +1 -0
  998. package/dist/server/core/variables/variable.service.d.ts +115 -0
  999. package/dist/server/core/variables/variable.service.d.ts.map +1 -0
  1000. package/dist/server/core/variables/variable.service.js +370 -0
  1001. package/dist/server/core/variables/variable.service.js.map +1 -0
  1002. package/dist/server/distribution/dist.service.d.ts +72 -0
  1003. package/dist/server/distribution/dist.service.d.ts.map +1 -0
  1004. package/dist/server/distribution/dist.service.js +237 -0
  1005. package/dist/server/distribution/dist.service.js.map +1 -0
  1006. package/dist/server/distribution/download-tokens.d.ts +30 -0
  1007. package/dist/server/distribution/download-tokens.d.ts.map +1 -0
  1008. package/dist/server/distribution/download-tokens.js +85 -0
  1009. package/dist/server/distribution/download-tokens.js.map +1 -0
  1010. package/dist/server/distribution/index.d.ts +22 -0
  1011. package/dist/server/distribution/index.d.ts.map +1 -0
  1012. package/dist/server/distribution/index.js +51 -0
  1013. package/dist/server/distribution/index.js.map +1 -0
  1014. package/dist/server/index.d.ts +4 -0
  1015. package/dist/server/index.d.ts.map +1 -0
  1016. package/dist/server/index.js +4 -0
  1017. package/dist/server/index.js.map +1 -0
  1018. package/dist/server/jobs/index.d.ts +5 -0
  1019. package/dist/server/jobs/index.d.ts.map +1 -0
  1020. package/dist/server/jobs/index.js +5 -0
  1021. package/dist/server/jobs/index.js.map +1 -0
  1022. package/dist/server/jobs/job.service.d.ts +154 -0
  1023. package/dist/server/jobs/job.service.d.ts.map +1 -0
  1024. package/dist/server/jobs/job.service.js +721 -0
  1025. package/dist/server/jobs/job.service.js.map +1 -0
  1026. package/dist/server/jobs/job.store.d.ts +74 -0
  1027. package/dist/server/jobs/job.store.d.ts.map +1 -0
  1028. package/dist/server/jobs/job.store.js +110 -0
  1029. package/dist/server/jobs/job.store.js.map +1 -0
  1030. package/dist/server/jobs/job.transitions.d.ts +41 -0
  1031. package/dist/server/jobs/job.transitions.d.ts.map +1 -0
  1032. package/dist/server/jobs/job.transitions.js +112 -0
  1033. package/dist/server/jobs/job.transitions.js.map +1 -0
  1034. package/dist/server/jobs/registry.d.ts +53 -0
  1035. package/dist/server/jobs/registry.d.ts.map +1 -0
  1036. package/dist/server/jobs/registry.js +32 -0
  1037. package/dist/server/jobs/registry.js.map +1 -0
  1038. package/dist/server/jobs/spec.d.ts +49 -0
  1039. package/dist/server/jobs/spec.d.ts.map +1 -0
  1040. package/dist/server/jobs/spec.js +112 -0
  1041. package/dist/server/jobs/spec.js.map +1 -0
  1042. package/dist/server/kernel/clock.d.ts +10 -0
  1043. package/dist/server/kernel/clock.d.ts.map +1 -0
  1044. package/dist/server/kernel/clock.js +10 -0
  1045. package/dist/server/kernel/clock.js.map +1 -0
  1046. package/dist/server/kernel/crypto.d.ts +18 -0
  1047. package/dist/server/kernel/crypto.d.ts.map +1 -0
  1048. package/dist/server/kernel/crypto.js +25 -0
  1049. package/dist/server/kernel/crypto.js.map +1 -0
  1050. package/dist/server/kernel/errors.d.ts +16 -0
  1051. package/dist/server/kernel/errors.d.ts.map +1 -0
  1052. package/dist/server/kernel/errors.js +45 -0
  1053. package/dist/server/kernel/errors.js.map +1 -0
  1054. package/dist/server/kernel/events.d.ts +147 -0
  1055. package/dist/server/kernel/events.d.ts.map +1 -0
  1056. package/dist/server/kernel/events.js +32 -0
  1057. package/dist/server/kernel/events.js.map +1 -0
  1058. package/dist/server/kernel/http.d.ts +23 -0
  1059. package/dist/server/kernel/http.d.ts.map +1 -0
  1060. package/dist/server/kernel/http.js +56 -0
  1061. package/dist/server/kernel/http.js.map +1 -0
  1062. package/dist/server/kernel/ids.d.ts +9 -0
  1063. package/dist/server/kernel/ids.d.ts.map +1 -0
  1064. package/dist/server/kernel/ids.js +5 -0
  1065. package/dist/server/kernel/ids.js.map +1 -0
  1066. package/dist/server/kernel/people.d.ts +28 -0
  1067. package/dist/server/kernel/people.d.ts.map +1 -0
  1068. package/dist/server/kernel/people.js +30 -0
  1069. package/dist/server/kernel/people.js.map +1 -0
  1070. package/dist/server/kernel/redaction.d.ts +27 -0
  1071. package/dist/server/kernel/redaction.d.ts.map +1 -0
  1072. package/dist/server/kernel/redaction.js +56 -0
  1073. package/dist/server/kernel/redaction.js.map +1 -0
  1074. package/dist/server/kernel/scopes.d.ts +34 -0
  1075. package/dist/server/kernel/scopes.d.ts.map +1 -0
  1076. package/dist/server/kernel/scopes.js +47 -0
  1077. package/dist/server/kernel/scopes.js.map +1 -0
  1078. package/dist/server/kernel/secrets.d.ts +12 -0
  1079. package/dist/server/kernel/secrets.d.ts.map +1 -0
  1080. package/dist/server/kernel/secrets.js +20 -0
  1081. package/dist/server/kernel/secrets.js.map +1 -0
  1082. package/dist/server/kernel/tx.d.ts +18 -0
  1083. package/dist/server/kernel/tx.d.ts.map +1 -0
  1084. package/dist/server/kernel/tx.js +15 -0
  1085. package/dist/server/kernel/tx.js.map +1 -0
  1086. package/dist/server/kernel/values.d.ts +19 -0
  1087. package/dist/server/kernel/values.d.ts.map +1 -0
  1088. package/dist/server/kernel/values.js +64 -0
  1089. package/dist/server/kernel/values.js.map +1 -0
  1090. package/dist/server/locales/en-US.d.ts +4 -0
  1091. package/dist/server/locales/en-US.d.ts.map +1 -0
  1092. package/dist/server/locales/en-US.js +6 -0
  1093. package/dist/server/locales/en-US.js.map +1 -0
  1094. package/dist/server/locales/index.d.ts +4 -0
  1095. package/dist/server/locales/index.d.ts.map +1 -0
  1096. package/dist/server/locales/index.js +6 -0
  1097. package/dist/server/locales/index.js.map +1 -0
  1098. package/dist/server/locales/zh-CN.d.ts +4 -0
  1099. package/dist/server/locales/zh-CN.d.ts.map +1 -0
  1100. package/dist/server/locales/zh-CN.js +6 -0
  1101. package/dist/server/locales/zh-CN.js.map +1 -0
  1102. package/dist/server/online/gateway.d.ts +240 -0
  1103. package/dist/server/online/gateway.d.ts.map +1 -0
  1104. package/dist/server/online/gateway.js +552 -0
  1105. package/dist/server/online/gateway.js.map +1 -0
  1106. package/dist/server/online/index.d.ts +5 -0
  1107. package/dist/server/online/index.d.ts.map +1 -0
  1108. package/dist/server/online/index.js +5 -0
  1109. package/dist/server/online/index.js.map +1 -0
  1110. package/dist/server/online/providers.d.ts +58 -0
  1111. package/dist/server/online/providers.d.ts.map +1 -0
  1112. package/dist/server/online/providers.js +370 -0
  1113. package/dist/server/online/providers.js.map +1 -0
  1114. package/dist/server/online/routes.d.ts +9 -0
  1115. package/dist/server/online/routes.d.ts.map +1 -0
  1116. package/dist/server/online/routes.js +168 -0
  1117. package/dist/server/online/routes.js.map +1 -0
  1118. package/dist/server/online/services.d.ts +49 -0
  1119. package/dist/server/online/services.d.ts.map +1 -0
  1120. package/dist/server/online/services.js +444 -0
  1121. package/dist/server/online/services.js.map +1 -0
  1122. package/dist/server/plugin.d.ts +4 -0
  1123. package/dist/server/plugin.d.ts.map +1 -0
  1124. package/dist/server/plugin.js +20 -0
  1125. package/dist/server/plugin.js.map +1 -0
  1126. package/dist/server/providers/agents.d.ts +63 -0
  1127. package/dist/server/providers/agents.d.ts.map +1 -0
  1128. package/dist/server/providers/agents.js +236 -0
  1129. package/dist/server/providers/agents.js.map +1 -0
  1130. package/dist/server/providers/authorization.d.ts +17 -0
  1131. package/dist/server/providers/authorization.d.ts.map +1 -0
  1132. package/dist/server/providers/authorization.js +60 -0
  1133. package/dist/server/providers/authorization.js.map +1 -0
  1134. package/dist/server/providers/index.d.ts +4 -0
  1135. package/dist/server/providers/index.d.ts.map +1 -0
  1136. package/dist/server/providers/index.js +10 -0
  1137. package/dist/server/providers/index.js.map +1 -0
  1138. package/dist/server/providers/runners.d.ts +19 -0
  1139. package/dist/server/providers/runners.d.ts.map +1 -0
  1140. package/dist/server/providers/runners.js +143 -0
  1141. package/dist/server/providers/runners.js.map +1 -0
  1142. package/dist/server/routes/admin.d.ts +27 -0
  1143. package/dist/server/routes/admin.d.ts.map +1 -0
  1144. package/dist/server/routes/admin.js +1363 -0
  1145. package/dist/server/routes/admin.js.map +1 -0
  1146. package/dist/server/routes/chat.d.ts +9 -0
  1147. package/dist/server/routes/chat.d.ts.map +1 -0
  1148. package/dist/server/routes/chat.js +512 -0
  1149. package/dist/server/routes/chat.js.map +1 -0
  1150. package/dist/server/routes/index.d.ts +6 -0
  1151. package/dist/server/routes/index.d.ts.map +1 -0
  1152. package/dist/server/routes/index.js +110 -0
  1153. package/dist/server/routes/index.js.map +1 -0
  1154. package/dist/server/routes/openapi.d.ts +30 -0
  1155. package/dist/server/routes/openapi.d.ts.map +1 -0
  1156. package/dist/server/routes/openapi.js +101 -0
  1157. package/dist/server/routes/openapi.js.map +1 -0
  1158. package/dist/server/routes/roster.d.ts +6 -0
  1159. package/dist/server/routes/roster.d.ts.map +1 -0
  1160. package/dist/server/routes/roster.js +37 -0
  1161. package/dist/server/routes/roster.js.map +1 -0
  1162. package/dist/server/routes/run-requests.d.ts +6 -0
  1163. package/dist/server/routes/run-requests.d.ts.map +1 -0
  1164. package/dist/server/routes/run-requests.js +216 -0
  1165. package/dist/server/routes/run-requests.js.map +1 -0
  1166. package/dist/server/routes/run.d.ts +10 -0
  1167. package/dist/server/routes/run.d.ts.map +1 -0
  1168. package/dist/server/routes/run.js +91 -0
  1169. package/dist/server/routes/run.js.map +1 -0
  1170. package/dist/server/routes/runners/admin.d.ts +28 -0
  1171. package/dist/server/routes/runners/admin.d.ts.map +1 -0
  1172. package/dist/server/routes/runners/admin.js +318 -0
  1173. package/dist/server/routes/runners/admin.js.map +1 -0
  1174. package/dist/server/routes/runners/dist.d.ts +24 -0
  1175. package/dist/server/routes/runners/dist.d.ts.map +1 -0
  1176. package/dist/server/routes/runners/dist.js +217 -0
  1177. package/dist/server/routes/runners/dist.js.map +1 -0
  1178. package/dist/server/routes/runners/install.d.ts +23 -0
  1179. package/dist/server/routes/runners/install.d.ts.map +1 -0
  1180. package/dist/server/routes/runners/install.js +435 -0
  1181. package/dist/server/routes/runners/install.js.map +1 -0
  1182. package/dist/server/routes/runners/runner.d.ts +9 -0
  1183. package/dist/server/routes/runners/runner.d.ts.map +1 -0
  1184. package/dist/server/routes/runners/runner.js +321 -0
  1185. package/dist/server/routes/runners/runner.js.map +1 -0
  1186. package/dist/server/routes/runners/runs.d.ts +5 -0
  1187. package/dist/server/routes/runners/runs.d.ts.map +1 -0
  1188. package/dist/server/routes/runners/runs.js +94 -0
  1189. package/dist/server/routes/runners/runs.js.map +1 -0
  1190. package/dist/server/routes/schemas.d.ts +249 -0
  1191. package/dist/server/routes/schemas.d.ts.map +1 -0
  1192. package/dist/server/routes/schemas.js +1325 -0
  1193. package/dist/server/routes/schemas.js.map +1 -0
  1194. package/dist/server/runners/index.d.ts +14 -0
  1195. package/dist/server/runners/index.d.ts.map +1 -0
  1196. package/dist/server/runners/index.js +7 -0
  1197. package/dist/server/runners/index.js.map +1 -0
  1198. package/dist/server/runners/runner.service.d.ts +91 -0
  1199. package/dist/server/runners/runner.service.d.ts.map +1 -0
  1200. package/dist/server/runners/runner.service.js +482 -0
  1201. package/dist/server/runners/runner.service.js.map +1 -0
  1202. package/dist/server/runners/runner.store.d.ts +83 -0
  1203. package/dist/server/runners/runner.store.d.ts.map +1 -0
  1204. package/dist/server/runners/runner.store.js +234 -0
  1205. package/dist/server/runners/runner.store.js.map +1 -0
  1206. package/dist/server/runners/signal.d.ts +13 -0
  1207. package/dist/server/runners/signal.d.ts.map +1 -0
  1208. package/dist/server/runners/signal.js +30 -0
  1209. package/dist/server/runners/signal.js.map +1 -0
  1210. package/dist/server/runners/slots.d.ts +26 -0
  1211. package/dist/server/runners/slots.d.ts.map +1 -0
  1212. package/dist/server/runners/slots.js +27 -0
  1213. package/dist/server/runners/slots.js.map +1 -0
  1214. package/dist/server/runners/sweeper.d.ts +26 -0
  1215. package/dist/server/runners/sweeper.d.ts.map +1 -0
  1216. package/dist/server/runners/sweeper.js +21 -0
  1217. package/dist/server/runners/sweeper.js.map +1 -0
  1218. package/dist/server/runners/workspaces.d.ts +33 -0
  1219. package/dist/server/runners/workspaces.d.ts.map +1 -0
  1220. package/dist/server/runners/workspaces.js +248 -0
  1221. package/dist/server/runners/workspaces.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 +14 -0
  1227. package/dist/server/testing.d.ts.map +1 -0
  1228. package/dist/server/testing.js +21 -0
  1229. package/dist/server/testing.js.map +1 -0
  1230. package/dist/server/tokens.d.ts +42 -0
  1231. package/dist/server/tokens.d.ts.map +1 -0
  1232. package/dist/server/tokens.js +12 -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/shared/access.d.ts +150 -0
  1259. package/dist/shared/access.d.ts.map +1 -0
  1260. package/dist/shared/access.js +162 -0
  1261. package/dist/shared/access.js.map +1 -0
  1262. package/dist/shared/agents.d.ts +247 -0
  1263. package/dist/shared/agents.d.ts.map +1 -0
  1264. package/dist/shared/agents.js +92 -0
  1265. package/dist/shared/agents.js.map +1 -0
  1266. package/dist/shared/briefs.d.ts +46 -0
  1267. package/dist/shared/briefs.d.ts.map +1 -0
  1268. package/dist/shared/briefs.js +10 -0
  1269. package/dist/shared/briefs.js.map +1 -0
  1270. package/dist/shared/conversations.d.ts +577 -0
  1271. package/dist/shared/conversations.d.ts.map +1 -0
  1272. package/dist/shared/conversations.js +163 -0
  1273. package/dist/shared/conversations.js.map +1 -0
  1274. package/dist/shared/i18n.d.ts +10 -0
  1275. package/dist/shared/i18n.d.ts.map +1 -0
  1276. package/dist/shared/i18n.js +2 -0
  1277. package/dist/shared/i18n.js.map +1 -0
  1278. package/dist/shared/jobs.d.ts +73 -0
  1279. package/dist/shared/jobs.d.ts.map +1 -0
  1280. package/dist/shared/jobs.js +3 -0
  1281. package/dist/shared/jobs.js.map +1 -0
  1282. package/dist/shared/locales/access.en-US.d.ts +47 -0
  1283. package/dist/shared/locales/access.en-US.d.ts.map +1 -0
  1284. package/dist/shared/locales/access.en-US.js +51 -0
  1285. package/dist/shared/locales/access.en-US.js.map +1 -0
  1286. package/dist/shared/locales/access.zh-CN.d.ts +4 -0
  1287. package/dist/shared/locales/access.zh-CN.d.ts.map +1 -0
  1288. package/dist/shared/locales/access.zh-CN.js +51 -0
  1289. package/dist/shared/locales/access.zh-CN.js.map +1 -0
  1290. package/dist/shared/model-catalog.d.ts +48 -0
  1291. package/dist/shared/model-catalog.d.ts.map +1 -0
  1292. package/dist/shared/model-catalog.js +148 -0
  1293. package/dist/shared/model-catalog.js.map +1 -0
  1294. package/dist/shared/models.d.ts +196 -0
  1295. package/dist/shared/models.d.ts.map +1 -0
  1296. package/dist/shared/models.js +142 -0
  1297. package/dist/shared/models.js.map +1 -0
  1298. package/dist/shared/realtime.d.ts +27 -0
  1299. package/dist/shared/realtime.d.ts.map +1 -0
  1300. package/dist/shared/realtime.js +7 -0
  1301. package/dist/shared/realtime.js.map +1 -0
  1302. package/dist/shared/reports.d.ts +293 -0
  1303. package/dist/shared/reports.d.ts.map +1 -0
  1304. package/dist/shared/reports.js +135 -0
  1305. package/dist/shared/reports.js.map +1 -0
  1306. package/dist/shared/runners.d.ts +336 -0
  1307. package/dist/shared/runners.d.ts.map +1 -0
  1308. package/dist/shared/runners.js +132 -0
  1309. package/dist/shared/runners.js.map +1 -0
  1310. package/dist/shared/runs.d.ts +407 -0
  1311. package/dist/shared/runs.d.ts.map +1 -0
  1312. package/dist/shared/runs.js +65 -0
  1313. package/dist/shared/runs.js.map +1 -0
  1314. package/dist/shared/skill-markdown.d.ts +45 -0
  1315. package/dist/shared/skill-markdown.d.ts.map +1 -0
  1316. package/dist/shared/skill-markdown.js +131 -0
  1317. package/dist/shared/skill-markdown.js.map +1 -0
  1318. package/dist/shared/skills.d.ts +155 -0
  1319. package/dist/shared/skills.d.ts.map +1 -0
  1320. package/dist/shared/skills.js +61 -0
  1321. package/dist/shared/skills.js.map +1 -0
  1322. package/dist/shared/variables.d.ts +73 -0
  1323. package/dist/shared/variables.d.ts.map +1 -0
  1324. package/dist/shared/variables.js +54 -0
  1325. package/dist/shared/variables.js.map +1 -0
  1326. package/dist/shared/vocabulary.d.ts +44 -0
  1327. package/dist/shared/vocabulary.d.ts.map +1 -0
  1328. package/dist/shared/vocabulary.js +2 -0
  1329. package/dist/shared/vocabulary.js.map +1 -0
  1330. package/package.json +200 -3
  1331. package/skills/nocobase-app-plugin-agents/SKILL.md +35 -0
  1332. package/skills/nocobase-app-plugin-agents/references/agents.md +30 -0
  1333. package/skills/nocobase-app-plugin-agents/references/distribution.md +79 -0
  1334. package/skills/nocobase-app-plugin-agents/references/extension-points.md +43 -0
  1335. package/skills/nocobase-app-plugin-agents/references/model-services.md +17 -0
  1336. package/skills/nocobase-app-plugin-agents/references/runners.md +46 -0
  1337. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +57 -0
  1338. package/skills/nocobase-app-plugin-agents/references/variables-skills-usage.md +21 -0
  1339. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +47 -0
@@ -0,0 +1,813 @@
1
+ /**
2
+ * Runs as the rest of the application starts and follows them: queueing work for an agent, adding input to a run,
3
+ * cancelling and retrying, and reading runs and their transcripts. Who may read or change a run is decided by the
4
+ * callers (the admin routes, the application); this service checks only that the person who wakes an agent may wake it.
5
+ *
6
+ * Work is keyed by (agent, subject, thread). New work for a key joins the run already working on it as the same person
7
+ * while it can still be told (dispatched, or running with input), else that person's run waiting for it (queued), else
8
+ * starts a new run. Runs of one key working as different people are claimed one at a time (`claim.ts`).
9
+ */
10
+ import { ProtocolError, TERMINAL_RUN_STATUSES, } from '@nocobase/agent-protocol';
11
+ import { conflict, forbidden, invalid, notFound, precondition, } from '../../kernel/errors.js';
12
+ import { asJson, cleanList, jsonObject } from '../../kernel/values.js';
13
+ import { findAgent, lockAgentForClaim } from '../agents/index.js';
14
+ import { agentNamesOf } from '../agents/agent.store.js';
15
+ import { createRunRequestService, insertRunRequest, } from './run-requests.js';
16
+ import { authenticateRunToken } from './run-tokens.js';
17
+ import { ACTIVE, eventsRepo, findRunRecord, inputsOnSince, inputsRepo, isActive, isTerminal, lastSummary, openRunsOn, pendingInputs, reposRepo, runsOfKey, runsRepo, toInput, toInputView, toRepo, toRun, usageRepo, } from './run.store.js';
18
+ import { readWorkload } from './workload.js';
19
+ import { finishRun } from './transitions.js';
20
+ import { gateInputs, gatePending } from './input-gate.js';
21
+ import { findBrief, requestReset } from './workspace.store.js';
22
+ export const DEFAULT_THREAD = 'main';
23
+ /**
24
+ * The run work went into, for a caller that names no responsible (a conversation, a consultation): such work is never
25
+ * pending, so a pending result is a programming error.
26
+ */
27
+ export function queuedRun(result) {
28
+ if (result.outcome === 'pending')
29
+ throw new Error('Work that names no responsible was turned into a run request.');
30
+ return result;
31
+ }
32
+ /** Who a chain of work a run belongs to started with: who confirmed it, else who it was requested by. */
33
+ function chainSourceOf(run) {
34
+ return run.confirmedByUserId ?? run.requestedByUserId ?? run.actorUserId;
35
+ }
36
+ /** A delay as the moment a run may be claimed, or null for now (and for any moment already past). */
37
+ function fireAtOf(value, now) {
38
+ if (value === undefined)
39
+ return null;
40
+ const at = typeof value === 'string' ? new Date(value) : value;
41
+ if (Number.isNaN(at.getTime()))
42
+ throw invalid('fireAt is not a date.');
43
+ return at.getTime() > now.getTime() ? at.toISOString() : null;
44
+ }
45
+ export function createRunService(deps) {
46
+ const { tx, ids, clock } = deps;
47
+ const require = async (conn, id) => {
48
+ const run = await findRunRecord(conn, id);
49
+ if (!run)
50
+ throw notFound('Run');
51
+ return run;
52
+ };
53
+ async function insertInput(unit, runId, input) {
54
+ const id = ids.next();
55
+ await inputsRepo(unit.conn).createOne({
56
+ values: {
57
+ id,
58
+ runId,
59
+ type: input.type,
60
+ actorKind: input.actor.kind,
61
+ actorId: input.actor.id,
62
+ actorName: input.actor.name,
63
+ text: input.text,
64
+ payload: asJson(input.payload),
65
+ createdAt: clock.now().toISOString(),
66
+ deliveredAt: null,
67
+ handledAt: null,
68
+ },
69
+ });
70
+ unit.emit({ type: 'run.input', runId, inputId: id });
71
+ await runsRepo(unit.conn).updateMany({
72
+ filter: { id: runId, status: 'queued' },
73
+ // New input may change the scopes its variables come from: the next claim tells again.
74
+ values: { teamOnlyVariables: null },
75
+ });
76
+ return id;
77
+ }
78
+ async function requireInvocable(unit, agentId, userId) {
79
+ const agent = await findAgent(unit.conn, agentId);
80
+ if (!agent)
81
+ throw notFound('Agent');
82
+ if (agent.status !== 'enabled')
83
+ throw precondition('AGENT_NOT_ENABLED', 'The agent is not enabled.');
84
+ if (!deps.agents.mayInvoke(agent, userId))
85
+ throw forbidden('You may not wake this agent.');
86
+ return agent;
87
+ }
88
+ async function createRun(unit, agent, values) {
89
+ const now = clock.now().toISOString();
90
+ const id = ids.next();
91
+ await runsRepo(unit.conn).createOne({
92
+ values: {
93
+ id,
94
+ agentId: agent.id,
95
+ agentType: 'runner',
96
+ runnerId: null,
97
+ status: 'queued',
98
+ priority: values.priority,
99
+ attempt: 1,
100
+ maxAttempts: values.maxAttempts ?? agent.maxAttempts,
101
+ retryOfRunId: values.retryOfRunId,
102
+ freshSession: values.freshSession === true,
103
+ parentRunId: values.parentRunId ?? null,
104
+ subjectKind: values.subject.kind,
105
+ subjectId: values.subject.id,
106
+ threadScope: values.threadScope,
107
+ actorUserId: values.actorUserId,
108
+ requestedByUserId: values.requestedByUserId,
109
+ confirmedByUserId: values.confirmedByUserId,
110
+ ownerUserId: values.ownerUserId,
111
+ requires: cleanList([...values.requires]),
112
+ acceptsInput: false,
113
+ availableAt: values.availableAt ?? null,
114
+ queueEnteredAt: now,
115
+ leaseExpiresAt: null,
116
+ dispatchedAt: null,
117
+ startedAt: null,
118
+ finishedAt: null,
119
+ lastActivityAt: null,
120
+ cancelRequestedAt: null,
121
+ cancelledById: null,
122
+ failureReason: null,
123
+ failureDetail: null,
124
+ summary: null,
125
+ sessionId: null,
126
+ workDir: null,
127
+ directoryKey: null,
128
+ claimFailures: 0,
129
+ teamOnlyVariables: null,
130
+ payloadFingerprint: null,
131
+ createdAt: now,
132
+ updatedAt: now,
133
+ },
134
+ });
135
+ unit.emit({ type: 'run.queued', runId: id, agentId: agent.id });
136
+ unit.emit({ type: 'run.changed', runId: id, status: 'queued' });
137
+ return id;
138
+ }
139
+ /** A waiting run takes on the more urgent priority and the earlier moment of the work merged into it. */
140
+ async function hurry(unit, run, priority, fireAt) {
141
+ const values = {};
142
+ if (priority < Number(run.priority))
143
+ values.priority = priority;
144
+ if (run.availableAt &&
145
+ (fireAt === null || Date.parse(fireAt) < Date.parse(run.availableAt)))
146
+ values.availableAt = fireAt;
147
+ if (Object.keys(values).length === 0)
148
+ return;
149
+ await runsRepo(unit.conn).updateMany({
150
+ filter: (f) => f.and([f.string('id').eq(run.id), f.string('status').eq('queued')]),
151
+ values: { ...values, updatedAt: clock.now().toISOString() },
152
+ });
153
+ }
154
+ async function usageOf(conn, runId) {
155
+ const rows = await usageRepo(conn).findMany({ filter: { runId } });
156
+ const totals = new Map();
157
+ for (const row of rows) {
158
+ const key = `${row.tool}\u0000${row.model ?? ''}`;
159
+ const total = totals.get(key) ?? {
160
+ tool: row.tool,
161
+ model: row.model,
162
+ inputTokens: 0,
163
+ outputTokens: 0,
164
+ cacheReadTokens: 0,
165
+ cacheWriteTokens: 0,
166
+ reasoningTokens: 0,
167
+ };
168
+ totals.set(key, {
169
+ ...total,
170
+ inputTokens: total.inputTokens + Number(row.inputTokens),
171
+ outputTokens: total.outputTokens + Number(row.outputTokens),
172
+ cacheReadTokens: total.cacheReadTokens + Number(row.cacheReadTokens),
173
+ cacheWriteTokens: total.cacheWriteTokens + Number(row.cacheWriteTokens),
174
+ reasoningTokens: total.reasoningTokens + Number(row.reasoningTokens),
175
+ });
176
+ }
177
+ return [...totals.values()];
178
+ }
179
+ /** Legacy runs have no snapshots; report their known primary-tool models without inventing attempt boundaries. */
180
+ async function readRuns(records) {
181
+ const runs = records.map(toRun);
182
+ const legacy = runs.filter((run) => run.executions?.length === 0 &&
183
+ (run.dispatchedAt !== null ||
184
+ run.tool !== null ||
185
+ run.modelService !== null));
186
+ if (legacy.length === 0)
187
+ return runs;
188
+ const usage = await usageRepo(tx.read()).findMany({
189
+ select: (select) => select.fields('runId', 'tool', 'model'),
190
+ distinct: ['runId', 'tool', 'model'],
191
+ filter: (f) => f.and([
192
+ f.string('model').ne(null),
193
+ f.or(legacy.map((run) => f.and([
194
+ f.string('runId').eq(run.id),
195
+ f.string('tool').eq(run.tool ?? 'online'),
196
+ ]))),
197
+ ]),
198
+ });
199
+ const models = new Map();
200
+ for (const row of usage)
201
+ if (row.model)
202
+ models.set(row.runId, [...(models.get(row.runId) ?? []), row.model]);
203
+ return runs.map((run) => run.executions?.length
204
+ ? run
205
+ : {
206
+ ...run,
207
+ actualModels: models.get(run.id) ?? [],
208
+ });
209
+ }
210
+ /**
211
+ * Queues `work` for `agent`: it joins the run working on its key while that run can still be told, else the run
212
+ * waiting for it, else starts a new run.
213
+ */
214
+ async function queue(unit, agent, work) {
215
+ // Serializes enqueues and claims for this agent, so a key never gets two waiting runs.
216
+ await lockAgentForClaim(unit.conn, agent.id, clock.now().toISOString());
217
+ const key = {
218
+ agentId: agent.id,
219
+ subjectKind: work.subject.kind,
220
+ subjectId: work.subject.id,
221
+ threadScope: work.threadScope,
222
+ };
223
+ // Only into work done as the same person: merged into another's run, it would borrow their identity, or wait
224
+ // for a runner that never takes it.
225
+ const open = await runsOfKey(unit.conn, key, ['queued', ...ACTIVE], work.actorUserId);
226
+ const candidate = open.find((run) => !work.freshSession &&
227
+ (run.status === 'dispatched' ||
228
+ (run.status === 'running' && Boolean(run.acceptsInput))));
229
+ // Joins the working run only when the subject would let the agent act on it now; otherwise it waits in a queued run,
230
+ // which the claim admits or cancels.
231
+ const working = candidate &&
232
+ (await gateInputs(unit.conn, deps, candidate, agent, [
233
+ {
234
+ id: '',
235
+ at: clock.now().toISOString(),
236
+ ...work.input,
237
+ },
238
+ ])).length > 0
239
+ ? candidate
240
+ : undefined;
241
+ const waiting = open.find((run) => run.status === 'queued');
242
+ const target = working ?? waiting;
243
+ if (!working && waiting)
244
+ await hurry(unit, waiting, work.priority, work.fireAt);
245
+ if (target) {
246
+ if (!working && work.freshSession && !target.freshSession)
247
+ await runsRepo(unit.conn).updateMany({
248
+ filter: { id: target.id, status: 'queued' },
249
+ values: { freshSession: true, updatedAt: clock.now().toISOString() },
250
+ });
251
+ const inputId = await insertInput(unit, target.id, work.input);
252
+ return {
253
+ runId: target.id,
254
+ outcome: working ? 'appended' : 'merged',
255
+ status: target.status,
256
+ inputId,
257
+ };
258
+ }
259
+ const runId = await createRun(unit, agent, {
260
+ freshSession: work.freshSession,
261
+ subject: work.subject,
262
+ threadScope: work.threadScope,
263
+ actorUserId: work.actorUserId,
264
+ requestedByUserId: work.requestedByUserId,
265
+ confirmedByUserId: work.confirmedByUserId,
266
+ ownerUserId: work.ownerUserId,
267
+ priority: work.priority,
268
+ requires: work.requires,
269
+ retryOfRunId: null,
270
+ availableAt: work.fireAt,
271
+ ...(work.parentRunId ? { parentRunId: work.parentRunId } : {}),
272
+ ...(work.maxAttempts ? { maxAttempts: work.maxAttempts } : {}),
273
+ });
274
+ const inputId = await insertInput(unit, runId, work.input);
275
+ return { runId, outcome: 'created', status: 'queued', inputId };
276
+ }
277
+ /** The source of the chain of work a request belongs to (`EnqueueRequest.requestedByUserId`). */
278
+ async function sourceOf(unit, request) {
279
+ if (request.causedByRunId) {
280
+ const cause = await findRunRecord(unit.conn, request.causedByRunId);
281
+ if (!cause)
282
+ throw invalid('causedByRunId names no run.');
283
+ return chainSourceOf(cause);
284
+ }
285
+ const source = request.requestedByUserId ??
286
+ request.actorUserId ??
287
+ request.responsibleUserId;
288
+ if (!source)
289
+ throw invalid('Name who woke the agent: actorUserId, requestedByUserId or responsibleUserId.');
290
+ return source;
291
+ }
292
+ async function selectedIdentity(unit, request) {
293
+ const identity = await deps.subjects
294
+ .get(request.subject.kind)
295
+ ?.actsAs?.(unit.conn, {
296
+ subjectId: request.subject.id,
297
+ agentId: request.agentId,
298
+ causedByRunId: request.causedByRunId,
299
+ inputs: [request.input],
300
+ });
301
+ if (identity && !identity.actorUserId)
302
+ throw new ProtocolError('FORBIDDEN', 'The subject has no valid execution identity.', { identityReason: identity.reason ?? 'noOwner' });
303
+ return identity;
304
+ }
305
+ /** Refuses work run as `userId` when no runner they may use can run the agent now: it would only wait. */
306
+ async function requireRunnerFor(unit, agent, userId, requires) {
307
+ // By the claim's own rules, the agent's variables included; the subject's are the claim's to check.
308
+ if (!(await deps.eligibility.canClaim(unit.conn, agent, {
309
+ actorUserId: userId,
310
+ requires: requires,
311
+ })))
312
+ throw precondition('NO_RUNNER_AVAILABLE', 'No runner you may use can run this agent now: connect one of your own, or ask the person who answers for this to confirm it.', { agentId: agent.id });
313
+ }
314
+ const requests = createRunRequestService({
315
+ tx,
316
+ ids,
317
+ clock,
318
+ people: deps.people,
319
+ currentResponsible: (unit, subject) => deps.subjects
320
+ .get(subject.kind)
321
+ ?.responsibleUserId?.(unit.conn, subject.id),
322
+ mayInvoke: (agent, userId) => deps.agents.mayInvoke(agent, userId),
323
+ requireInvocable,
324
+ requireRunnerFor,
325
+ direct: async (unit, run) => {
326
+ const identity = await selectedIdentity(unit, {
327
+ agentId: run.agent.id,
328
+ subject: run.subject,
329
+ input: run.input,
330
+ });
331
+ const actorUserId = identity?.actorUserId ?? run.actorUserId;
332
+ const agent = await requireInvocable(unit, run.agent.id, actorUserId);
333
+ return queue(unit, agent, {
334
+ freshSession: run.freshSession,
335
+ subject: run.subject,
336
+ threadScope: run.threadScope,
337
+ actorUserId,
338
+ requestedByUserId: run.requestedByUserId,
339
+ confirmedByUserId: run.confirmedByUserId,
340
+ ownerUserId: identity ? actorUserId : run.ownerUserId,
341
+ priority: run.priority,
342
+ // As it was asked: a moment already past when it is confirmed means now.
343
+ fireAt: fireAtOf(run.fireAt ?? undefined, clock.now()),
344
+ requires: run.requires,
345
+ ...(run.maxAttempts === null ? {} : { maxAttempts: run.maxAttempts }),
346
+ input: run.input,
347
+ });
348
+ },
349
+ });
350
+ return {
351
+ enqueue: (request, outer) => tx.run(async (unit) => {
352
+ const source = await sourceOf(unit, request);
353
+ const identity = await selectedIdentity(unit, request);
354
+ const responsible = identity
355
+ ? null
356
+ : (request.responsibleUserId ?? null);
357
+ const threadScope = request.threadScope ?? DEFAULT_THREAD;
358
+ const foreign = responsible !== null && source !== responsible;
359
+ if (foreign && (request.execution ?? 'auto') === 'auto') {
360
+ // A consultation's asker waits for its answer at once: it can never wait for someone's confirmation.
361
+ if (request.parentRunId)
362
+ throw invalid('A consultation cannot wait for confirmation: name no responsible for it.');
363
+ // Someone else's work waits for the responsible, who must be able to run it once they confirm it.
364
+ const agent = await requireInvocable(unit, request.agentId, source);
365
+ if (!deps.agents.mayInvoke(agent, responsible))
366
+ throw forbidden('The person who answers for this may not wake this agent.');
367
+ const created = await insertRunRequest(unit, { ids, clock }, {
368
+ agentId: agent.id,
369
+ freshSession: request.freshSession,
370
+ subject: request.subject,
371
+ threadScope,
372
+ responsibleUserId: responsible,
373
+ requestedByUserId: source,
374
+ ownerUserId: request.ownerUserId ?? null,
375
+ priority: request.priority ?? 0,
376
+ requires: request.requires ?? [],
377
+ fireAt: fireAtOf(request.fireAt, clock.now()),
378
+ maxAttempts: request.maxAttempts ?? null,
379
+ input: request.input,
380
+ });
381
+ return {
382
+ outcome: 'pending',
383
+ requestId: created.id,
384
+ status: 'pending',
385
+ runId: null,
386
+ inputId: null,
387
+ };
388
+ }
389
+ // As the responsible when they caused it; as the source when they run it as themselves (`mine`); as whoever
390
+ // woke the agent when nobody answers for the subject.
391
+ const actorUserId = identity?.actorUserId ??
392
+ (foreign ? source : (responsible ?? request.actorUserId ?? source));
393
+ const agent = await requireInvocable(unit, request.agentId, actorUserId);
394
+ if (foreign)
395
+ await requireRunnerFor(unit, agent, actorUserId, request.requires ?? []);
396
+ return queue(unit, agent, {
397
+ freshSession: request.freshSession,
398
+ subject: request.subject,
399
+ threadScope,
400
+ actorUserId,
401
+ requestedByUserId: source,
402
+ confirmedByUserId: null,
403
+ ownerUserId: identity ? actorUserId : (request.ownerUserId ?? null),
404
+ priority: request.priority ?? 0,
405
+ fireAt: fireAtOf(request.fireAt, clock.now()),
406
+ requires: request.requires ?? [],
407
+ ...(request.parentRunId ? { parentRunId: request.parentRunId } : {}),
408
+ ...(request.maxAttempts ? { maxAttempts: request.maxAttempts } : {}),
409
+ input: request.input,
410
+ });
411
+ }, outer),
412
+ requests,
413
+ identityInputs: async (conn, runId) => {
414
+ const run = await findRunRecord(conn, runId);
415
+ if (!run)
416
+ return null;
417
+ const inputs = await inputsRepo(conn).findMany({ filter: { runId } });
418
+ return { run: toRun(run), inputs: inputs.map(toInput) };
419
+ },
420
+ addInput: (runId, input, outer) => tx.run(async (unit) => {
421
+ const run = await require(unit.conn, runId);
422
+ if (isTerminal(run.status))
423
+ throw new ProtocolError('RUN_NOT_ACTIVE', `The run is ${run.status}.`);
424
+ return insertInput(unit, run.id, input);
425
+ }, outer),
426
+ cancel: (runId, byUserId, outer) => tx.run(async (unit) => {
427
+ const run = await require(unit.conn, runId);
428
+ if (isTerminal(run.status))
429
+ throw new ProtocolError('RUN_NOT_ACTIVE', `The run is ${run.status}.`);
430
+ if (run.status === 'queued') {
431
+ const ended = await finishRun(unit, deps, run, {
432
+ status: 'cancelled',
433
+ reason: 'cancelled',
434
+ cancelledById: byUserId,
435
+ });
436
+ if (!ended)
437
+ throw conflict('The run changed; try again.');
438
+ return toRun(ended);
439
+ }
440
+ if (!run.cancelRequestedAt) {
441
+ const now = clock.now().toISOString();
442
+ await runsRepo(unit.conn).updateMany({
443
+ filter: { id: run.id },
444
+ values: {
445
+ cancelRequestedAt: now,
446
+ cancelledById: byUserId,
447
+ updatedAt: now,
448
+ },
449
+ });
450
+ unit.emit({ type: 'run.changed', runId: run.id, status: run.status });
451
+ }
452
+ return toRun(await require(unit.conn, run.id));
453
+ }, outer),
454
+ withdrawQueued: (request, outer) => tx.run(async (unit) => {
455
+ const { subject } = request;
456
+ if (!subject && !request.agentId)
457
+ throw invalid('Withdrawing queued runs needs a subject or an agent.');
458
+ const queued = await runsRepo(unit.conn).findMany({
459
+ filter: (f) => f.and([
460
+ ...(subject
461
+ ? [
462
+ f.string('subjectKind').eq(subject.kind),
463
+ f.string('subjectId').eq(subject.id),
464
+ ]
465
+ : []),
466
+ f.string('status').eq('queued'),
467
+ ...(request.agentId
468
+ ? [f.string('agentId').eq(request.agentId)]
469
+ : []),
470
+ ...(request.actorUserId
471
+ ? [f.string('actorUserId').eq(request.actorUserId)]
472
+ : []),
473
+ ]),
474
+ });
475
+ const ended = [];
476
+ for (const run of queued) {
477
+ const done = await finishRun(unit, deps, run, {
478
+ status: 'cancelled',
479
+ reason: 'cancelled',
480
+ ...(request.byUserId ? { cancelledById: request.byUserId } : {}),
481
+ ...(request.detail ? { detail: request.detail } : {}),
482
+ });
483
+ if (done)
484
+ ended.push(toRun(done));
485
+ }
486
+ return ended;
487
+ }, outer),
488
+ retry: async (runId, byUserId, source = 'api') => {
489
+ const target = await require(tx.read(), runId);
490
+ // Resolve collection metadata outside the transaction too. The lock must
491
+ // precede consistent reads so repeatable-read databases see a concurrent
492
+ // retry that committed while this request waited for the lock.
493
+ await findAgent(tx.read(), target.agentId);
494
+ return tx.run(async (unit) => {
495
+ await lockAgentForClaim(unit.conn, target.agentId, clock.now().toISOString());
496
+ const run = await require(unit.conn, runId);
497
+ if (run.status !== 'failed' && run.status !== 'cancelled')
498
+ throw precondition('RUN_NOT_RETRYABLE', 'Only a failed or cancelled run can be retried.');
499
+ if (run.parentRunId)
500
+ throw precondition('RUN_NOT_RETRYABLE', 'A consultation is not retried: the agent that asked asks again.');
501
+ // The agent lock serializes retry and enqueue across server instances. Check
502
+ // the relationship even after the replacement has already ended.
503
+ const retried = await runsRepo(unit.conn).findOne({
504
+ filter: { retryOfRunId: run.id },
505
+ sort: (sort) => [
506
+ sort.field('createdAt').asc(),
507
+ sort.field('id').asc(),
508
+ ],
509
+ });
510
+ if (retried)
511
+ throw precondition('RUN_ALREADY_RETRIED', 'This run has already been retried.', {
512
+ runId: retried.id,
513
+ });
514
+ const previousInputs = await inputsRepo(unit.conn).findMany({
515
+ filter: { runId: run.id },
516
+ });
517
+ const identity = await deps.subjects
518
+ .get(run.subjectKind)
519
+ ?.actsAs?.(unit.conn, {
520
+ subjectId: run.subjectId,
521
+ agentId: run.agentId,
522
+ inputs: previousInputs.map(toInput),
523
+ causedByRunId: run.retryOfRunId ?? undefined,
524
+ });
525
+ if (identity && !identity.actorUserId)
526
+ throw forbidden(identity.reason ?? 'noOwner');
527
+ const actorUserId = identity?.actorUserId ?? byUserId;
528
+ const agent = await requireInvocable(unit, run.agentId, actorUserId);
529
+ const open = await runsOfKey(unit.conn, run, ['queued', ...ACTIVE], actorUserId);
530
+ if (open.length > 0)
531
+ throw precondition('AGENT_BUSY', 'The agent is already working on this.', {
532
+ runId: open[0].id,
533
+ });
534
+ const newId = await createRun(unit, agent, {
535
+ subject: { kind: run.subjectKind, id: run.subjectId },
536
+ threadScope: run.threadScope,
537
+ actorUserId,
538
+ requestedByUserId: byUserId,
539
+ confirmedByUserId: null,
540
+ ownerUserId: identity ? actorUserId : run.ownerUserId,
541
+ priority: Number(run.priority),
542
+ requires: toRun(run).requires,
543
+ retryOfRunId: run.id,
544
+ freshSession: run.freshSession,
545
+ });
546
+ for (const input of await pendingInputs(unit.conn, run.id))
547
+ await insertInput(unit, newId, {
548
+ type: input.type,
549
+ actor: toInput(input).actor,
550
+ text: input.text,
551
+ ...(input.payload === null ? {} : { payload: input.payload }),
552
+ });
553
+ await insertInput(unit, newId, {
554
+ type: 'retry',
555
+ actor: {
556
+ kind: 'user',
557
+ id: byUserId,
558
+ name: (await deps.people.names(unit.conn, [byUserId])).get(byUserId) ??
559
+ byUserId,
560
+ },
561
+ text: 'Retry the work of the previous run.',
562
+ payload: {
563
+ retryOfRunId: run.id,
564
+ failureReason: run.failureReason,
565
+ source,
566
+ },
567
+ });
568
+ unit.emit({
569
+ type: 'run.retried',
570
+ runId: newId,
571
+ retryOfRunId: run.id,
572
+ previousStatus: run.status,
573
+ });
574
+ return toRun(await require(unit.conn, newId));
575
+ });
576
+ },
577
+ get: async (runId) => (await readRuns([await require(tx.read(), runId)]))[0],
578
+ async retryInfo(runId) {
579
+ const conn = tx.read();
580
+ const next = await runsRepo(conn).findOne({
581
+ filter: { retryOfRunId: runId },
582
+ sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
583
+ });
584
+ if (!next)
585
+ return null;
586
+ const input = await inputsRepo(conn).findOne({
587
+ filter: { runId: next.id, type: 'retry' },
588
+ sort: (sort) => [
589
+ sort.field('createdAt').desc(),
590
+ sort.field('id').desc(),
591
+ ],
592
+ });
593
+ const source = input?.payload?.source;
594
+ return {
595
+ runId: next.id,
596
+ actorUserId: next.actorUserId,
597
+ actorName: input ? toInputView(input).actor.name : next.actorUserId,
598
+ source: typeof source === 'string' ? source : 'unknown',
599
+ };
600
+ },
601
+ async detail(runId) {
602
+ const conn = tx.read();
603
+ const run = await require(conn, runId);
604
+ const inputs = await inputsRepo(conn).findMany({
605
+ filter: { runId },
606
+ sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
607
+ });
608
+ const repos = await reposRepo(conn).findMany({ filter: { runId } });
609
+ const retried = await runsRepo(conn).findOne({
610
+ filter: { retryOfRunId: runId },
611
+ sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
612
+ });
613
+ const children = await runsRepo(conn).findMany({
614
+ filter: { parentRunId: runId },
615
+ sort: (sort) => [sort.field('createdAt').asc(), sort.field('id').asc()],
616
+ });
617
+ const names = await agentNamesOf(conn, [
618
+ ...children.map((child) => child.agentId),
619
+ ...inputs.flatMap((input) => input.actorKind === 'agent' && input.actorId ? [input.actorId] : []),
620
+ ]);
621
+ return {
622
+ ...(await readRuns([run]))[0],
623
+ actorName: (await deps.people.names(conn, [run.actorUserId])).get(run.actorUserId) ?? run.actorUserId,
624
+ requestedByName: (await deps.people.names(conn, [
625
+ run.requestedByUserId ?? run.actorUserId,
626
+ ])).get(run.requestedByUserId ?? run.actorUserId) ??
627
+ run.requestedByUserId ??
628
+ run.actorUserId,
629
+ retriedRunId: retried?.id ?? null,
630
+ inputs: inputs.map((input) => {
631
+ const view = toInputView(input);
632
+ const name = view.actor.kind === 'agent' && view.actor.id
633
+ ? names.get(view.actor.id)
634
+ : undefined;
635
+ return name === undefined
636
+ ? view
637
+ : { ...view, actor: { ...view.actor, name } };
638
+ }),
639
+ repos: repos.map(toRepo),
640
+ usage: await usageOf(conn, runId),
641
+ children: children.map((child) => ({
642
+ id: child.id,
643
+ agentId: child.agentId,
644
+ agentName: names.get(child.agentId) ?? null,
645
+ status: child.status,
646
+ failureReason: toRun(child).failureReason,
647
+ summary: child.summary,
648
+ createdAt: child.createdAt,
649
+ finishedAt: child.finishedAt,
650
+ })),
651
+ };
652
+ },
653
+ async list(filter) {
654
+ const records = await runsRepo(tx.read()).findMany({
655
+ filter: (f) => f.and([
656
+ ...(filter.subjectKind
657
+ ? [f.string('subjectKind').eq(filter.subjectKind)]
658
+ : []),
659
+ ...(filter.subjectId
660
+ ? [f.string('subjectId').eq(filter.subjectId)]
661
+ : []),
662
+ ...(filter.agentId ? [f.string('agentId').eq(filter.agentId)] : []),
663
+ ...(filter.status ? [f.string('status').eq(filter.status)] : []),
664
+ ...(filter.involvingUserId
665
+ ? [
666
+ f.or([
667
+ f.string('actorUserId').eq(filter.involvingUserId),
668
+ f.string('ownerUserId').eq(filter.involvingUserId),
669
+ ]),
670
+ ]
671
+ : []),
672
+ ]),
673
+ sort: (sort) => [
674
+ sort.field('createdAt').desc(),
675
+ sort.field('id').desc(),
676
+ ],
677
+ limit: Math.min(Math.max(filter.limit ?? 50, 1), 200),
678
+ ...(filter.cursor ? { cursor: filter.cursor } : {}),
679
+ });
680
+ return readRuns(records);
681
+ },
682
+ async lastEnded(subjectKind, subjectIds) {
683
+ if (subjectIds.length === 0)
684
+ return [];
685
+ const records = await runsRepo(tx.read()).findMany({
686
+ filter: (f) => f.and([
687
+ f.string('subjectKind').eq(subjectKind),
688
+ f.or(subjectIds.map((id) => f.string('subjectId').eq(id))),
689
+ f.or(TERMINAL_RUN_STATUSES.map((status) => f.string('status').eq(status))),
690
+ ]),
691
+ sort: (sort) => [
692
+ sort.field('createdAt').desc(),
693
+ sort.field('id').desc(),
694
+ ],
695
+ });
696
+ const newest = new Map();
697
+ for (const record of records) {
698
+ const key = `${record.agentId}:${record.subjectId}`;
699
+ if (!newest.has(key))
700
+ newest.set(key, record);
701
+ }
702
+ return readRuns([...newest.values()]);
703
+ },
704
+ async workingOn(subjectKind, subjectIds) {
705
+ const ids = [...new Set(subjectIds)];
706
+ if (ids.length === 0)
707
+ return [];
708
+ const records = await runsRepo(tx.read()).findMany({
709
+ select: (select) => select.fields('subjectId', 'agentId'),
710
+ filter: (f) => f.and([
711
+ f.string('subjectKind').eq(subjectKind),
712
+ f.or(ids.map((id) => f.string('subjectId').eq(id))),
713
+ f.or(['dispatched', 'running'].map((status) => f.string('status').eq(status))),
714
+ ]),
715
+ });
716
+ const pairs = new Map();
717
+ for (const record of records) {
718
+ pairs.set(JSON.stringify([record.subjectId, record.agentId]), {
719
+ subjectId: record.subjectId,
720
+ agentId: record.agentId,
721
+ working: true,
722
+ });
723
+ }
724
+ return [...pairs.values()];
725
+ },
726
+ workload(query) {
727
+ return readWorkload(tx.read(), clock, deps.runners, query, deps.diagnose);
728
+ },
729
+ async events(runId, afterSeq, limit, types) {
730
+ const conn = tx.read();
731
+ await require(conn, runId);
732
+ const rows = await eventsRepo(conn).findMany({
733
+ filter: (f) => f.and([
734
+ f.string('runId').eq(runId),
735
+ f.number('seq').gt(afterSeq),
736
+ ...(types?.length
737
+ ? [f.or(types.map((type) => f.string('type').eq(type)))]
738
+ : []),
739
+ ]),
740
+ sort: (sort) => sort.field('seq').asc(),
741
+ limit: Math.min(Math.max(limit, 1), 1000),
742
+ });
743
+ const events = rows.map((row) => ({
744
+ seq: Number(row.seq),
745
+ at: row.at,
746
+ type: row.type,
747
+ ...(row.tool ? { tool: row.tool } : {}),
748
+ ...(row.content === null ? {} : { content: row.content }),
749
+ ...(row.input === null || row.input === undefined
750
+ ? {}
751
+ : { input: row.input }),
752
+ ...(row.output === null ? {} : { output: row.output }),
753
+ ...(row.truncated ? { truncated: true } : {}),
754
+ ...(row.meta === null || row.meta === undefined
755
+ ? {}
756
+ : { meta: jsonObject(row.meta) }),
757
+ }));
758
+ return {
759
+ events,
760
+ lastSeq: events.length > 0 ? events[events.length - 1].seq : afterSeq,
761
+ };
762
+ },
763
+ authenticateToken: (value) => authenticateRunToken(tx.read(), clock, value),
764
+ async self({ run }) {
765
+ const conn = tx.read();
766
+ const agent = await findAgent(conn, run.agentId);
767
+ return {
768
+ runId: run.id,
769
+ attempt: Number(run.attempt),
770
+ status: run.status,
771
+ agent: { id: run.agentId, name: agent?.name ?? run.agentId },
772
+ subjectRef: { kind: run.subjectKind, id: run.subjectId },
773
+ actorUserId: run.actorUserId,
774
+ cancelRequested: run.cancelRequestedAt !== null,
775
+ // What the run may act on: a read never withholds anything, it only leaves out what delivery would.
776
+ inputs: (await gatePending(conn, deps, run)).kept.map(toInput),
777
+ };
778
+ },
779
+ async brief(runId) {
780
+ const brief = await findBrief(tx.read(), runId);
781
+ if (!brief)
782
+ throw notFound('Brief');
783
+ return brief;
784
+ },
785
+ resetWorkspace: (subject, byUserId) => tx.run(async ({ conn }) => {
786
+ await requestReset(conn, () => ids.next(), subject, byUserId, clock.now().toISOString());
787
+ }),
788
+ async context({ run }) {
789
+ const conn = tx.read();
790
+ const binding = deps.subjects.get(run.subjectKind);
791
+ const agent = await findAgent(conn, run.agentId);
792
+ const runner = run.runnerId
793
+ ? await deps.runners.find(conn, run.runnerId)
794
+ : null;
795
+ if (!binding || !agent || !runner || !isActive(run.status))
796
+ throw notFound('Run context');
797
+ const assembly = await binding.context.assemble(conn, {
798
+ run: toRun(run),
799
+ agent,
800
+ runner,
801
+ inputs: (await pendingInputs(conn, run.id)).map(toInput),
802
+ cli: deps.cliName,
803
+ appName: deps.appName,
804
+ }, await binding.context.prepare?.(toRun(run)));
805
+ return assembly.data;
806
+ },
807
+ openOn: openRunsOn,
808
+ pendingInputs: async (conn, runId) => (await pendingInputs(conn, runId)).map(toInput),
809
+ inputsSince: inputsOnSince,
810
+ lastSummary,
811
+ };
812
+ }
813
+ //# sourceMappingURL=run.service.js.map