@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,80 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * A skill's files on its page: the workbench, read-only, and while editing with a bar pinned above it holding the
4
+ * version's note and Cancel / Save. Saving is one `PATCH`, a new version: `SKILL.md` names and describes the skill (a
5
+ * new `name` renames it) and the files go as text or by the hash of uploaded bytes; empty folders are not kept.
6
+ *
7
+ * The save names the version the editor opened (`expectedRevision`). When someone saved a version since, the draft
8
+ * stays, saving is held back, and a banner offers to load the latest version, which discards the draft. Front matter
9
+ * the server refuses (a name another skill has) is listed with the browser's own checks above the source.
10
+ */
11
+ import { useTranslation } from '@nocobase/i18n/client';
12
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
13
+ import { AlertCircleIcon, SaveIcon } from 'lucide-react';
14
+ import { useState } from 'react';
15
+ import { agentsKeys } from '../../../api/keys.js';
16
+ import { Alert, AlertAction, AlertDescription, AlertTitle, } from '../../../components/ui/alert.js';
17
+ import { Button } from '../../../components/ui/button.js';
18
+ import { Input } from '../../../components/ui/input.js';
19
+ import { Spinner } from '../../../components/ui/spinner.js';
20
+ import { useAgentsApi } from '../../../hooks/use-agents-api.js';
21
+ import { useNotify } from '../../../hooks/use-notify.js';
22
+ import { isRevisionConflict } from '../../../lib/revision.js';
23
+ import { draftOf, filesInput, SKILL_MD } from '../workbench/model.js';
24
+ import { DiscardDialog } from '../workbench/discard-dialog.js';
25
+ import { SkillWorkbench } from '../workbench/skill-workbench.js';
26
+ import { checkDraft, frontMatterProblemsOf, useWorkbench, } from '../workbench/state.js';
27
+ /** The skill's files as they are saved: read-only. */
28
+ export function SkillFiles({ skill, }) {
29
+ const state = useWorkbench(draftOf(skill));
30
+ return (_jsx(SkillWorkbench, { state: state, editable: false, saved: { id: skill.id, version: skill.version } }));
31
+ }
32
+ export function SkillEditor({ skill, onDone, onReload, }) {
33
+ const { t } = useTranslation();
34
+ const api = useAgentsApi();
35
+ const notify = useNotify();
36
+ const queryClient = useQueryClient();
37
+ const state = useWorkbench(draftOf(skill));
38
+ const [note, setNote] = useState('');
39
+ const [conflict, setConflict] = useState(false);
40
+ const [leaving, setLeaving] = useState(false);
41
+ const [refused, setRefused] = useState(null);
42
+ const check = checkDraft(state.draft, state.uploading);
43
+ // What the server refused, until SKILL.md changes.
44
+ const serverProblems = refused && refused.content === state.draft.content ? refused.problems : [];
45
+ const save = useMutation({
46
+ mutationFn: () => api.saveSkill(skill.id, {
47
+ content: state.draft.content,
48
+ files: filesInput(state.draft),
49
+ note: note.trim() || null,
50
+ expectedRevision: skill.version,
51
+ }),
52
+ onSuccess: (saved) => {
53
+ notify.success(t('skills.saved', { version: saved.version }));
54
+ queryClient.setQueryData(agentsKeys.skill(skill.id), saved);
55
+ void queryClient.invalidateQueries({ queryKey: agentsKeys.skills });
56
+ void queryClient.invalidateQueries({
57
+ queryKey: agentsKeys.skillVersions(skill.id),
58
+ });
59
+ onDone();
60
+ },
61
+ onError: (error) => {
62
+ if (isRevisionConflict(error)) {
63
+ setConflict(true);
64
+ return;
65
+ }
66
+ const problems = frontMatterProblemsOf(error);
67
+ if (problems.length > 0) {
68
+ setRefused({ content: state.draft.content, problems });
69
+ state.setSelected(SKILL_MD);
70
+ return;
71
+ }
72
+ notify.error(error);
73
+ },
74
+ });
75
+ return (_jsxs("div", { className: 'flex min-w-0 flex-col gap-4', "data-testid": 'skill-editor', children: [_jsxs("div", { className: 'sticky top-0 z-10 -mx-4 flex flex-wrap items-center gap-2 border-b bg-background/95 px-4 py-2 backdrop-blur-md md:-mx-6 md:px-6', children: [_jsx("span", { className: 'shrink-0 text-sm font-medium', children: t('skills.editing') }), _jsx(Input, { id: 'ag-skill-edit-note', value: note, maxLength: 500, "aria-label": t('skills.note'), placeholder: t('skills.notePlaceholder'), className: 'min-w-40 flex-1', onChange: (event) => setNote(event.target.value) }), _jsxs("div", { className: 'flex shrink-0 gap-2', children: [_jsx(Button, { variant: 'outline', disabled: save.isPending, onClick: () => state.dirty || note.trim() ? setLeaving(true) : onDone(), children: t('actions.cancel') }), _jsxs(Button, { disabled: check.blocked ||
76
+ serverProblems.length > 0 ||
77
+ conflict ||
78
+ save.isPending, onClick: () => save.mutate(), children: [save.isPending ? (_jsx(Spinner, { "data-icon": 'inline-start' })) : (_jsx(SaveIcon, { "data-icon": 'inline-start' })), t('skills.saveVersion')] })] })] }), conflict ? (_jsxs(Alert, { variant: 'destructive', children: [_jsx(AlertCircleIcon, {}), _jsx(AlertTitle, { children: t('skills.conflictTitle') }), _jsx(AlertDescription, { children: t('skills.conflictDraft') }), onReload ? (_jsx(AlertAction, { children: _jsx(Button, { size: 'sm', variant: 'outline', onClick: onReload, children: t('skills.loadLatest') }) })) : null] })) : null, _jsx(SkillWorkbench, { state: state, editable: true, saved: { id: skill.id, version: skill.version }, serverProblems: serverProblems }), _jsx(DiscardDialog, { open: leaving, onKeep: () => setLeaving(false), onDiscard: onDone })] }));
79
+ }
80
+ //# sourceMappingURL=skill-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-editor.js","sourceRoot":"","sources":["../../../../../client/pages/skills/detail/skill-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type SkillDetail } from '../../../../shared/skills.js';
3
+ export declare function SkillVersions({ skill, canEdit, }: {
4
+ readonly skill: SkillDetail;
5
+ readonly canEdit: boolean;
6
+ }): ReactElement;
7
+ //# sourceMappingURL=skill-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-versions.d.ts","sourceRoot":"","sources":["../../../../../client/pages/skills/detail/skill-versions.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,8BAA8B,CAAC;AA8BtC,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,OAAO,GACR,EAAE;IACD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,GAAG,YAAY,CAwJf"}
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * A skill's versions, newest first: who saved each and why. Any older version can be compared with the current one
4
+ * (SKILL.md and each file, line by line) and restored, which saves it again as the newest version.
5
+ */
6
+ import { useTranslation } from '@nocobase/i18n/client';
7
+ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
8
+ import { DownloadIcon, GitCompareIcon, HistoryIcon } from 'lucide-react';
9
+ import { useState } from 'react';
10
+ import { formatBytes, } from '../../../../shared/skills.js';
11
+ import { agentsKeys } from '../../../api/keys.js';
12
+ import { AgSection } from '../../../components/ag-section.js';
13
+ import { AgTag } from '../../../components/ag-tag.js';
14
+ import { DiffBlock } from '../../../components/diff-block.js';
15
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '../../../components/ui/alert-dialog.js';
16
+ import { Button } from '../../../components/ui/button.js';
17
+ import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from '../../../components/ui/dialog.js';
18
+ import { Skeleton } from '../../../components/ui/skeleton.js';
19
+ import { useAgentsApi } from '../../../hooks/use-agents-api.js';
20
+ import { useNotify } from '../../../hooks/use-notify.js';
21
+ import { saveBlob } from '../../../lib/download.js';
22
+ import { useFormatters } from '../../../lib/format.js';
23
+ import { isRevisionConflict } from '../../../lib/revision.js';
24
+ export function SkillVersions({ skill, canEdit, }) {
25
+ const { t } = useTranslation();
26
+ const api = useAgentsApi();
27
+ const notify = useNotify();
28
+ const format = useFormatters();
29
+ const queryClient = useQueryClient();
30
+ const [comparing, setComparing] = useState(null);
31
+ const [restoring, setRestoring] = useState(null);
32
+ const versions = useQuery({
33
+ queryKey: agentsKeys.skillVersions(skill.id),
34
+ queryFn: () => api.skillVersions(skill.id),
35
+ });
36
+ const restore = useMutation({
37
+ mutationFn: (version) => api.restoreSkillVersion(skill.id, version, skill.version),
38
+ onSuccess: (saved, version) => {
39
+ notify.success(t('skills.versions.restored', { version, current: saved.version }));
40
+ queryClient.setQueryData(agentsKeys.skill(skill.id), saved);
41
+ void queryClient.invalidateQueries({ queryKey: agentsKeys.skills });
42
+ void queryClient.invalidateQueries({
43
+ queryKey: agentsKeys.skillVersions(skill.id),
44
+ });
45
+ },
46
+ onError: (error) => {
47
+ if (!isRevisionConflict(error)) {
48
+ notify.error(error);
49
+ return;
50
+ }
51
+ // Someone saved meanwhile: show the skill as it is now, and restore from there if still wanted.
52
+ notify.error(error, t('skills.conflict'));
53
+ void queryClient.invalidateQueries({
54
+ queryKey: agentsKeys.skill(skill.id),
55
+ });
56
+ void queryClient.invalidateQueries({
57
+ queryKey: agentsKeys.skillVersions(skill.id),
58
+ });
59
+ },
60
+ });
61
+ return (_jsxs(AgSection, { id: 'ag-skill-versions', title: t('skills.versions.title'), description: t('skills.versions.description'), children: [!versions.data ? (_jsx(Skeleton, { className: 'h-16 w-full' })) : (_jsx("ol", { className: 'divide-y rounded-lg border', children: versions.data.map((version) => (_jsxs("li", { "data-testid": `skill-version-${version.version}`, className: 'flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 text-sm', children: [_jsxs("span", { className: 'font-mono text-xs', children: ["v", version.version] }), version.version === skill.version ? (_jsx(AgTag, { tone: 'green', children: t('skills.versions.current') })) : null, _jsx("span", { className: 'min-w-0 flex-1 truncate text-muted-foreground', children: version.note || '—' }), _jsx("span", { className: 'text-xs text-muted-foreground', children: [version.createdByName, format.relative(version.createdAt)]
62
+ .filter(Boolean)
63
+ .join(' · ') }), _jsxs(Button, { variant: 'ghost', size: 'xs', "aria-label": t('skills.exportVersion', {
64
+ version: version.version,
65
+ }), onClick: () => void api
66
+ .exportSkill(skill.id, version.version)
67
+ .then((blob) => saveBlob(blob, `${skill.slug}-v${version.version}.zip`))
68
+ .catch((error) => notify.error(error)), children: [_jsx(DownloadIcon, { "data-icon": 'inline-start' }), t('skills.export')] }), version.version === skill.version ? null : (_jsxs(_Fragment, { children: [_jsxs(Button, { variant: 'ghost', size: 'xs', onClick: () => setComparing(version.version), children: [_jsx(GitCompareIcon, { "data-icon": 'inline-start' }), t('skills.versions.compare')] }), canEdit ? (_jsxs(Button, { variant: 'ghost', size: 'xs', disabled: restore.isPending, onClick: () => setRestoring(version), children: [_jsx(HistoryIcon, { "data-icon": 'inline-start' }), t('skills.versions.restore')] })) : null] }))] }, version.version))) })), _jsx(CompareDialog, { skill: skill, version: comparing, onClose: () => setComparing(null) }), _jsx(AlertDialog, { open: restoring !== null, onOpenChange: (open) => {
69
+ if (!open)
70
+ setRestoring(null);
71
+ }, children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: t('skills.versions.restoreTitle', {
72
+ version: restoring?.version ?? '',
73
+ }) }), _jsx(AlertDialogDescription, { children: t('skills.versions.restoreDescription') })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: t('actions.cancel') }), _jsx(AlertDialogAction, { onClick: () => {
74
+ const version = restoring?.version;
75
+ setRestoring(null);
76
+ if (version !== undefined)
77
+ restore.mutate(version);
78
+ }, children: t('skills.versions.restore') })] })] }) })] }));
79
+ }
80
+ /** One file per entry: SKILL.md (with the name and description above it) first, then the files by path. */
81
+ function documents(name, description, content, files) {
82
+ const result = new Map([
83
+ ['SKILL.md', `name: ${name}\ndescription: ${description}\n\n${content}`],
84
+ ]);
85
+ for (const file of [...files].sort((a, b) => a.path.localeCompare(b.path)))
86
+ result.set(file.path, `${file.content ?? `[binary · ${formatBytes(file.size)} · ${file.hash.slice(0, 12)}]`}${file.executable ? '\n[executable]' : ''}`);
87
+ return result;
88
+ }
89
+ function CompareDialog({ skill, version, onClose, }) {
90
+ const { t } = useTranslation();
91
+ const api = useAgentsApi();
92
+ const older = useQuery({
93
+ queryKey: [...agentsKeys.skillVersions(skill.id), version],
94
+ queryFn: () => api.skillVersion(skill.id, version ?? 0),
95
+ enabled: version !== null,
96
+ });
97
+ const before = older.data
98
+ ? documents(older.data.name, older.data.description, older.data.content, older.data.files)
99
+ : null;
100
+ const after = documents(skill.name, skill.description, skill.content, skill.files);
101
+ const paths = before ? [...new Set([...before.keys(), ...after.keys()])] : [];
102
+ return (_jsx(Dialog, { open: version !== null, onOpenChange: (open) => {
103
+ if (!open)
104
+ onClose();
105
+ }, children: _jsxs(DialogContent, { className: 'flex max-h-[calc(100dvh-2rem)] flex-col sm:max-w-4xl', children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: t('skills.versions.compareTitle', {
106
+ version: version ?? '',
107
+ current: skill.version,
108
+ }) }), _jsx(DialogDescription, { children: t('skills.versions.compareDescription') })] }), !before ? (_jsx(Skeleton, { className: 'h-32 w-full' })) : (_jsx("div", { className: '-mx-4 min-h-0 flex-1 space-y-4 overflow-y-auto px-4', children: paths.map((path) => {
109
+ const old = before.get(path) ?? '';
110
+ const now = after.get(path) ?? '';
111
+ const changed = old !== now;
112
+ return (_jsxs("section", { className: 'space-y-1', children: [_jsxs("h3", { className: 'font-mono text-xs font-semibold', children: [path, changed ? null : (_jsx("span", { className: 'ml-2 font-sans font-normal text-muted-foreground', children: t('skills.versions.unchanged') }))] }), changed ? _jsx(DiffBlock, { before: old, after: now }) : null] }, path));
113
+ }) }))] }) }));
114
+ }
115
+ //# sourceMappingURL=skill-versions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-versions.js","sourceRoot":"","sources":["../../../../../client/pages/skills/detail/skill-versions.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type SkillDetail, type SkillView } from '../../../shared/skills.js';
3
+ export declare function ImportSkillButton({ skill, onImported, variant, }: {
4
+ /** Import as a new version of this skill, made against its current version. */
5
+ readonly skill?: Pick<SkillDetail, 'id' | 'version'>;
6
+ readonly onImported: (skill: SkillView) => void;
7
+ readonly variant?: 'outline' | 'default';
8
+ }): ReactElement;
9
+ //# sourceMappingURL=import-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-button.d.ts","sourceRoot":"","sources":["../../../../client/pages/skills/import-button.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,2BAA2B,CAAC;AAQnC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,EACV,OAAmB,GACpB,EAAE;IACD,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC1C,GAAG,YAAY,CA+Ef"}
@@ -0,0 +1,69 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * "Import": a zip in the Agent Skills layout, uploaded (`POST /skills/uploads`) and imported (`POST /skills/import`) as
4
+ * a new skill, or with `skill` as a new version of it. A front matter the server refuses is named in the toast.
5
+ */
6
+ import { useTranslation } from '@nocobase/i18n/client';
7
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
8
+ import { FileArchiveIcon } from 'lucide-react';
9
+ import { useRef } from 'react';
10
+ import { formatBytes, SKILL_UPLOAD_MAX_BYTES, } from '../../../shared/skills.js';
11
+ import { agentsKeys } from '../../api/keys.js';
12
+ import { Button } from '../../components/ui/button.js';
13
+ import { Spinner } from '../../components/ui/spinner.js';
14
+ import { useAgentsApi } from '../../hooks/use-agents-api.js';
15
+ import { useNotify } from '../../hooks/use-notify.js';
16
+ import { frontMatterProblemsOf } from './workbench/state.js';
17
+ export function ImportSkillButton({ skill, onImported, variant = 'outline', }) {
18
+ const { t } = useTranslation();
19
+ const api = useAgentsApi();
20
+ const notify = useNotify();
21
+ const queryClient = useQueryClient();
22
+ const inputRef = useRef(null);
23
+ const run = useMutation({
24
+ mutationFn: async (file) => {
25
+ if (file.size > SKILL_UPLOAD_MAX_BYTES)
26
+ throw new Error(t('skills.uploadTooLarge', {
27
+ name: file.name,
28
+ max: formatBytes(SKILL_UPLOAD_MAX_BYTES),
29
+ }));
30
+ const stored = await api.uploadSkillFile(file);
31
+ return api.importSkill({
32
+ archive: stored.id,
33
+ ...(skill
34
+ ? { skillId: skill.id, expectedRevision: skill.version }
35
+ : {}),
36
+ });
37
+ },
38
+ onSuccess: (imported) => {
39
+ notify.success(skill
40
+ ? t('skills.saved', { version: imported.version })
41
+ : t('skills.imported', { name: imported.name }));
42
+ queryClient.setQueryData(agentsKeys.skill(imported.id), imported);
43
+ void queryClient.invalidateQueries({ queryKey: agentsKeys.skills });
44
+ void queryClient.invalidateQueries({
45
+ queryKey: agentsKeys.skillVersions(imported.id),
46
+ });
47
+ onImported(imported);
48
+ },
49
+ onError: (error) => {
50
+ const [problem] = frontMatterProblemsOf(error);
51
+ if (problem)
52
+ notify.error(null, t('skills.importInvalid', {
53
+ problem: t(`skills.frontMatter.reasons.${problem.reason}`, {
54
+ field: problem.field,
55
+ ...(problem.max === undefined ? {} : { max: problem.max }),
56
+ }),
57
+ }));
58
+ else
59
+ notify.error(error);
60
+ },
61
+ });
62
+ return (_jsxs(_Fragment, { children: [_jsxs(Button, { variant: variant, disabled: run.isPending, onClick: () => inputRef.current?.click(), children: [run.isPending ? (_jsx(Spinner, { "data-icon": 'inline-start' })) : (_jsx(FileArchiveIcon, { "data-icon": 'inline-start' })), skill ? t('skills.importVersion') : t('skills.import')] }), _jsx("input", { ref: inputRef, type: 'file', accept: '.zip,application/zip', hidden: true, "data-testid": 'skill-import', onChange: (event) => {
63
+ const file = event.target.files?.[0];
64
+ event.target.value = '';
65
+ if (file)
66
+ run.mutate(file);
67
+ } })] }));
68
+ }
69
+ //# sourceMappingURL=import-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-button.js","sourceRoot":"","sources":["../../../../client/pages/skills/import-button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ReactElement } from 'react';
2
+ export default function SkillsPage(): ReactElement;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../client/pages/skills/index.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AA0B1C,MAAM,CAAC,OAAO,UAAU,UAAU,IAAI,YAAY,CA6IjD"}
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * Route `/skills`: the skill library, reusable SKILL.md instructions with supporting files that agents read when a
4
+ * task matches, each named and described by its front matter, with whether it holds scripts (which online agents read
5
+ * but never run) and its compatibility. A row opens `/skills/:skillId`, "New skill" opens `new`, "Import" takes a zip
6
+ * in the Agent Skills layout.
7
+ *
8
+ * Mirrors NocoProject's skills page (`nocoproject/client/pages/np/skills/index.tsx`), with each skill's version.
9
+ */
10
+ import { useTranslation } from '@nocobase/i18n/client';
11
+ import { useQuery } from '@tanstack/react-query';
12
+ import { PlusIcon, SparklesIcon, TerminalIcon } from 'lucide-react';
13
+ import { Link, Outlet, useNavigate } from 'react-router';
14
+ import { agentsKeys } from '../../api/keys.js';
15
+ import { AgEmpty, AgListSkeleton, AgLoadError, } from '../../components/ag-states.js';
16
+ import { PageContainer } from '../../components/page-container.js';
17
+ import { PageHeader } from '../../components/page-header.js';
18
+ import { Badge } from '../../components/ui/badge.js';
19
+ import { Button } from '../../components/ui/button.js';
20
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '../../components/ui/table.js';
21
+ import { useSetting } from '../../hooks/use-access.js';
22
+ import { useAgentsApi } from '../../hooks/use-agents-api.js';
23
+ import { useFormatters } from '../../lib/format.js';
24
+ import { ImportSkillButton } from './import-button.js';
25
+ export default function SkillsPage() {
26
+ const { t } = useTranslation();
27
+ const api = useAgentsApi();
28
+ const navigate = useNavigate();
29
+ const format = useFormatters();
30
+ const canManage = useSetting('agents.agents', 'manage');
31
+ const skills = useQuery({
32
+ queryKey: agentsKeys.skills,
33
+ queryFn: () => api.skills(),
34
+ });
35
+ const newButton = () => canManage ? (_jsxs(_Fragment, { children: [_jsx(ImportSkillButton, { onImported: (skill) => void navigate(encodeURIComponent(skill.id)) }), _jsxs(Button, { nativeButton: false, render: _jsx(Link, { to: 'new' }), children: [_jsx(PlusIcon, { "data-icon": 'inline-start' }), t('skills.new')] })] })) : null;
36
+ let content;
37
+ if (skills.isError && !skills.data)
38
+ content = (_jsx(AgLoadError, { title: t('skills.loadFailed'), error: skills.error, onRetry: () => void skills.refetch() }));
39
+ else if (!skills.data)
40
+ content = _jsx(AgListSkeleton, { rows: 2 });
41
+ else if (skills.data.length === 0)
42
+ content = (_jsx(AgEmpty, { icon: _jsx(SparklesIcon, {}), title: t('skills.emptyTitle'), description: canManage ? t('skills.emptyDescription') : t('skills.emptyReadOnly'), action: newButton() }));
43
+ else
44
+ content = (_jsx("div", { className: 'rounded-lg border', children: _jsxs(Table, { children: [_jsx(TableHeader, { children: _jsxs(TableRow, { children: [_jsx(TableHead, { children: t('skills.columns.name') }), _jsx(TableHead, { children: t('skills.columns.description') }), _jsx(TableHead, { className: 'text-right', children: t('skills.columns.files') }), _jsx(TableHead, { className: 'text-right', children: t('skills.columns.version') }), _jsx(TableHead, { className: 'text-right', children: t('skills.columns.agents') }), _jsx(TableHead, { children: t('skills.columns.updated') })] }) }), _jsx(TableBody, { children: skills.data.map((skill) => (_jsxs(TableRow, { "data-testid": `skill-${skill.id}`, className: 'cursor-pointer', onClick: () => void navigate(encodeURIComponent(skill.id)), children: [_jsx(TableCell, { children: _jsxs("div", { className: 'flex min-w-0 flex-col items-start gap-1', children: [_jsx(Link, { to: encodeURIComponent(skill.id), onClick: (event) => event.stopPropagation(), className: 'block max-w-full truncate font-mono font-medium hover:underline', children: skill.name }), skill.scriptCount > 0 ? (_jsxs(Badge, { variant: 'secondary', "data-testid": `skill-${skill.id}-scripts`, children: [_jsx(TerminalIcon, { "data-icon": 'inline-start' }), t('skills.scriptsNote')] })) : null] }) }), _jsxs(TableCell, { className: 'max-w-md', children: [_jsx("span", { className: 'line-clamp-2 whitespace-normal text-muted-foreground', title: skill.description, children: skill.description || '—' }), skill.compatibility ? (_jsx("span", { className: 'mt-1 block truncate text-xs text-muted-foreground', title: skill.compatibility, children: t('skills.compatibility', {
45
+ value: skill.compatibility,
46
+ }) })) : null] }), _jsx(TableCell, { className: 'text-right tabular-nums', children: skill.fileCount }), _jsxs(TableCell, { className: 'text-right font-mono text-xs', children: ["v", skill.version] }), _jsx(TableCell, { className: 'text-right tabular-nums', children: skill.agentCount }), _jsx(TableCell, { className: 'text-muted-foreground', children: format.relative(skill.updatedAt) })] }, skill.id))) })] }) }));
47
+ return (_jsxs(PageContainer, { children: [_jsx(PageHeader, { title: t('skills.title'), description: t('skills.description'), actions: skills.data && skills.data.length > 0 ? newButton() : null }), content, _jsx(Outlet, {})] }));
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../client/pages/skills/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type ReactElement } from 'react';
2
+ export default function NewSkillPage(): ReactElement;
3
+ //# sourceMappingURL=new.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../../../client/pages/skills/new.tsx"],"names":[],"mappings":"AASA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAqBpD,MAAM,CAAC,OAAO,UAAU,YAAY,IAAI,YAAY,CAMnD"}
@@ -0,0 +1,81 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { usePageBreadcrumb } from '@nocobase/app-client';
3
+ /**
4
+ * Route `/skills/new`: a new skill, written in the same workbench as an existing one, over the library. It starts from
5
+ * a template: front matter naming (`name`, the skill's directory) and describing it, and the sections a skill usually
6
+ * has. Files and folders can be added before it is created. "Create" saves version 1 and opens the skill's page; the
7
+ * front matter's problems, the browser's and the server's (a name another skill has), are listed above the source.
8
+ */
9
+ import { useTranslation } from '@nocobase/i18n/client';
10
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
11
+ import { useState } from 'react';
12
+ import { useNavigate } from 'react-router';
13
+ import { agentsKeys } from '../../api/keys.js';
14
+ import { PageContainer } from '../../components/page-container.js';
15
+ import { PageHeader } from '../../components/page-header.js';
16
+ import { RouteChildPage } from '../../components/route-child-page.js';
17
+ import { Button } from '../../components/ui/button.js';
18
+ import { Spinner } from '../../components/ui/spinner.js';
19
+ import { useAgentsApi } from '../../hooks/use-agents-api.js';
20
+ import { useNotify } from '../../hooks/use-notify.js';
21
+ import { filesInput, SKILL_MD, skillTemplate } from './workbench/model.js';
22
+ import { DiscardDialog } from './workbench/discard-dialog.js';
23
+ import { SkillWorkbench } from './workbench/skill-workbench.js';
24
+ import { checkDraft, frontMatterProblemsOf, useWorkbench, } from './workbench/state.js';
25
+ export default function NewSkillPage() {
26
+ return (_jsx(RouteChildPage, { children: _jsx(NewSkill, {}) }));
27
+ }
28
+ function NewSkill() {
29
+ const { t } = useTranslation();
30
+ const api = useAgentsApi();
31
+ const notify = useNotify();
32
+ const navigate = useNavigate();
33
+ const queryClient = useQueryClient();
34
+ const state = useWorkbench({
35
+ content: skillTemplate({
36
+ description: t('skills.template.description'),
37
+ title: t('skills.template.title'),
38
+ whenToUse: t('skills.template.whenToUse'),
39
+ whenToUseHint: t('skills.template.whenToUseHint'),
40
+ steps: t('skills.template.steps'),
41
+ stepsHint: t('skills.template.stepsHint'),
42
+ examples: t('skills.template.examples'),
43
+ examplesHint: t('skills.template.examplesHint'),
44
+ }),
45
+ files: [],
46
+ folders: [],
47
+ });
48
+ const [refused, setRefused] = useState(null);
49
+ const [leaving, setLeaving] = useState(false);
50
+ const leave = () => void navigate('/skills');
51
+ const check = checkDraft(state.draft, state.uploading);
52
+ const serverProblems = refused && refused.content === state.draft.content ? refused.problems : [];
53
+ const create = useMutation({
54
+ mutationFn: () => api.createSkill({
55
+ content: state.draft.content,
56
+ files: filesInput(state.draft),
57
+ }),
58
+ onSuccess: (skill) => {
59
+ notify.success(t('skills.created', { name: skill.name }));
60
+ void queryClient.invalidateQueries({ queryKey: agentsKeys.skills });
61
+ void navigate(`/skills/${encodeURIComponent(skill.id)}`, {
62
+ replace: true,
63
+ });
64
+ },
65
+ onError: (error) => {
66
+ const problems = frontMatterProblemsOf(error);
67
+ if (problems.length > 0) {
68
+ setRefused({ content: state.draft.content, problems });
69
+ state.setSelected(SKILL_MD);
70
+ return;
71
+ }
72
+ notify.error(error);
73
+ },
74
+ });
75
+ usePageBreadcrumb([
76
+ { label: t('skills.title'), to: '/skills' },
77
+ { label: t('skills.newTitle') },
78
+ ]);
79
+ return (_jsxs(PageContainer, { children: [_jsx(PageHeader, { title: t('skills.newTitle'), description: t('skills.newDescription'), actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: 'outline', disabled: create.isPending, onClick: () => (state.dirty ? setLeaving(true) : leave()), children: t('actions.cancel') }), _jsxs(Button, { disabled: check.blocked || serverProblems.length > 0 || create.isPending, onClick: () => create.mutate(), children: [create.isPending ? _jsx(Spinner, { "data-icon": 'inline-start' }) : null, create.isPending ? t('common.creating') : t('common.create')] })] }) }), _jsx(SkillWorkbench, { state: state, editable: true, saved: null, serverProblems: serverProblems }), _jsx(DiscardDialog, { open: leaving, onKeep: () => setLeaving(false), onDiscard: leave })] }));
80
+ }
81
+ //# sourceMappingURL=new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../../../client/pages/skills/new.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ReactElement } from 'react';
2
+ /** Asks before a draft with changes is left. */
3
+ export declare function DiscardDialog({ open, onKeep, onDiscard, }: {
4
+ readonly open: boolean;
5
+ readonly onKeep: () => void;
6
+ readonly onDiscard: () => void;
7
+ }): ReactElement;
8
+ //# sourceMappingURL=discard-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discard-dialog.d.ts","sourceRoot":"","sources":["../../../../../client/pages/skills/workbench/discard-dialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAa1C,gDAAgD;AAChD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,MAAM,EACN,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;CAChC,GAAG,YAAY,CAyBf"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTranslation } from '@nocobase/i18n/client';
3
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from '../../../components/ui/alert-dialog.js';
4
+ /** Asks before a draft with changes is left. */
5
+ export function DiscardDialog({ open, onKeep, onDiscard, }) {
6
+ const { t } = useTranslation();
7
+ return (_jsx(AlertDialog, { open: open, onOpenChange: (next) => (next ? undefined : onKeep()), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: t('unsavedChanges.title') }), _jsx(AlertDialogDescription, { children: t('unsavedChanges.description') })] }), _jsxs(AlertDialogFooter, { children: [_jsx(AlertDialogCancel, { children: t('unsavedChanges.keepEditing') }), _jsx(AlertDialogAction, { variant: 'destructive', onClick: onDiscard, children: t('unsavedChanges.discard') })] })] }) }));
8
+ }
9
+ //# sourceMappingURL=discard-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discard-dialog.js","sourceRoot":"","sources":["../../../../../client/pages/skills/workbench/discard-dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wCAAwC,CAAC;AAEhD,gDAAgD;AAChD,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,MAAM,EACN,SAAS,GAKV;IACC,MAAM,EAAE,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,OAAO,CACL,KAAC,WAAW,IACV,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAErD,MAAC,kBAAkB,eACjB,MAAC,iBAAiB,eAChB,KAAC,gBAAgB,cAAE,CAAC,CAAC,sBAAsB,CAAC,GAAoB,EAChE,KAAC,sBAAsB,cACpB,CAAC,CAAC,4BAA4B,CAAC,GACT,IACP,EACpB,MAAC,iBAAiB,eAChB,KAAC,iBAAiB,cACf,CAAC,CAAC,4BAA4B,CAAC,GACd,EACpB,KAAC,iBAAiB,IAAC,OAAO,EAAC,aAAa,EAAC,OAAO,EAAE,SAAS,YACxD,CAAC,CAAC,wBAAwB,CAAC,GACV,IACF,IACD,GACT,CACf,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type SkillDraft, type TreeNode } from './model.js';
3
+ export type EntryRequest = {
4
+ readonly kind: 'newFile' | 'newFolder';
5
+ readonly folder: string;
6
+ } | {
7
+ readonly kind: 'rename';
8
+ readonly node: TreeNode;
9
+ };
10
+ export declare function EntryDialog({ request, draft, onClose, onSubmit, }: {
11
+ readonly request: EntryRequest;
12
+ readonly draft: SkillDraft;
13
+ readonly onClose: () => void;
14
+ /** The entry's path: created, or what `request.node` is renamed to. */
15
+ readonly onSubmit: (path: string) => void;
16
+ }): ReactElement;
17
+ /** Confirms deleting a file, or a folder with everything in it, from the draft. */
18
+ export declare function DeleteEntryDialog({ node, onClose, onConfirm, }: {
19
+ readonly node: TreeNode | null;
20
+ readonly onClose: () => void;
21
+ readonly onConfirm: (node: TreeNode) => void;
22
+ }): ReactElement;
23
+ //# sourceMappingURL=entry-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-dialog.d.ts","sourceRoot":"","sources":["../../../../../client/pages/skills/workbench/entry-dialog.tsx"],"names":[],"mappings":"AAMA,OAAO,EAA4B,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAqCpE,OAAO,EAML,KAAK,UAAU,EACf,KAAK,QAAQ,EACd,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAIzD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACT,EAAE;IACD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,GAAG,YAAY,CAsHf;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,SAAS,GACV,EAAE;IACD,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC9C,GAAG,YAAY,CAgCf"}