@nocobase/app-plugin-agents 1.0.0-beta.28 → 2.0.0-beta.0

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 (278) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +2 -19
  3. package/dist/client/api/client.d.ts +2 -2
  4. package/dist/client/api/client.d.ts.map +1 -1
  5. package/dist/client/api/client.js +2 -2
  6. package/dist/client/api/client.js.map +1 -1
  7. package/dist/client/api/runners.d.ts +2 -2
  8. package/dist/client/api/runners.d.ts.map +1 -1
  9. package/dist/client/api/runners.js +5 -2
  10. package/dist/client/api/runners.js.map +1 -1
  11. package/dist/client/chat/api.d.ts +1 -1
  12. package/dist/client/chat/api.d.ts.map +1 -1
  13. package/dist/client/chat/api.js +6 -2
  14. package/dist/client/chat/api.js.map +1 -1
  15. package/dist/client/chat/controller.d.ts +7 -5
  16. package/dist/client/chat/controller.d.ts.map +1 -1
  17. package/dist/client/chat/controller.js +193 -69
  18. package/dist/client/chat/controller.js.map +1 -1
  19. package/dist/client/chat/submissions.d.ts +2 -0
  20. package/dist/client/chat/submissions.d.ts.map +1 -1
  21. package/dist/client/chat/submissions.js +1 -0
  22. package/dist/client/chat/submissions.js.map +1 -1
  23. package/dist/client/chat/use-chat.d.ts.map +1 -1
  24. package/dist/client/chat/use-chat.js +2 -4
  25. package/dist/client/chat/use-chat.js.map +1 -1
  26. package/dist/client/components/ag-tag-tones.d.ts +7 -0
  27. package/dist/client/components/ag-tag-tones.d.ts.map +1 -0
  28. package/dist/client/components/ag-tag-tones.js +14 -0
  29. package/dist/client/components/ag-tag-tones.js.map +1 -0
  30. package/dist/client/components/ag-tag.d.ts +2 -1
  31. package/dist/client/components/ag-tag.d.ts.map +1 -1
  32. package/dist/client/components/ag-tag.js +1 -13
  33. package/dist/client/components/ag-tag.js.map +1 -1
  34. package/dist/client/components/quota-status.d.ts +2 -1
  35. package/dist/client/components/quota-status.d.ts.map +1 -1
  36. package/dist/client/components/quota-status.js +2 -2
  37. package/dist/client/components/quota-status.js.map +1 -1
  38. package/dist/client/components/ui/pagination.d.ts +6 -0
  39. package/dist/client/components/ui/pagination.d.ts.map +1 -0
  40. package/dist/client/components/ui/pagination.js +13 -0
  41. package/dist/client/components/ui/pagination.js.map +1 -0
  42. package/dist/client/hooks/use-notify.d.ts.map +1 -1
  43. package/dist/client/hooks/use-notify.js +4 -0
  44. package/dist/client/hooks/use-notify.js.map +1 -1
  45. package/dist/client/locales/de-DE.d.ts.map +1 -1
  46. package/dist/client/locales/de-DE.js +26 -10
  47. package/dist/client/locales/de-DE.js.map +1 -1
  48. package/dist/client/locales/en-US.d.ts +11 -0
  49. package/dist/client/locales/en-US.d.ts.map +1 -1
  50. package/dist/client/locales/en-US.js +21 -10
  51. package/dist/client/locales/en-US.js.map +1 -1
  52. package/dist/client/locales/es-ES.d.ts.map +1 -1
  53. package/dist/client/locales/es-ES.js +26 -10
  54. package/dist/client/locales/es-ES.js.map +1 -1
  55. package/dist/client/locales/fr-FR.d.ts.map +1 -1
  56. package/dist/client/locales/fr-FR.js +26 -10
  57. package/dist/client/locales/fr-FR.js.map +1 -1
  58. package/dist/client/locales/id-ID.d.ts.map +1 -1
  59. package/dist/client/locales/id-ID.js +26 -10
  60. package/dist/client/locales/id-ID.js.map +1 -1
  61. package/dist/client/locales/ja-JP.d.ts.map +1 -1
  62. package/dist/client/locales/ja-JP.js +26 -10
  63. package/dist/client/locales/ja-JP.js.map +1 -1
  64. package/dist/client/locales/pt-BR.d.ts.map +1 -1
  65. package/dist/client/locales/pt-BR.js +26 -10
  66. package/dist/client/locales/pt-BR.js.map +1 -1
  67. package/dist/client/locales/runtimes.en-US.d.ts +5 -0
  68. package/dist/client/locales/runtimes.en-US.d.ts.map +1 -1
  69. package/dist/client/locales/runtimes.en-US.js +5 -0
  70. package/dist/client/locales/runtimes.en-US.js.map +1 -1
  71. package/dist/client/locales/runtimes.zh-CN.d.ts.map +1 -1
  72. package/dist/client/locales/runtimes.zh-CN.js +5 -0
  73. package/dist/client/locales/runtimes.zh-CN.js.map +1 -1
  74. package/dist/client/locales/vi-VN.d.ts.map +1 -1
  75. package/dist/client/locales/vi-VN.js +26 -10
  76. package/dist/client/locales/vi-VN.js.map +1 -1
  77. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  78. package/dist/client/locales/zh-CN.js +21 -10
  79. package/dist/client/locales/zh-CN.js.map +1 -1
  80. package/dist/client/locales/zh-TW.d.ts.map +1 -1
  81. package/dist/client/locales/zh-TW.js +26 -10
  82. package/dist/client/locales/zh-TW.js.map +1 -1
  83. package/dist/client/model-suggestion.d.ts +2 -0
  84. package/dist/client/model-suggestion.d.ts.map +1 -1
  85. package/dist/client/model-suggestion.js +27 -2
  86. package/dist/client/model-suggestion.js.map +1 -1
  87. package/dist/client/pages/agents/agent-dialog.d.ts.map +1 -1
  88. package/dist/client/pages/agents/agent-dialog.js +6 -7
  89. package/dist/client/pages/agents/agent-dialog.js.map +1 -1
  90. package/dist/client/pages/agents/available-models-drawer.d.ts.map +1 -1
  91. package/dist/client/pages/agents/available-models-drawer.js +2 -1
  92. package/dist/client/pages/agents/available-models-drawer.js.map +1 -1
  93. package/dist/client/pages/agents/good-at-templates.d.ts +8 -0
  94. package/dist/client/pages/agents/good-at-templates.d.ts.map +1 -0
  95. package/dist/client/pages/agents/good-at-templates.js +29 -0
  96. package/dist/client/pages/agents/good-at-templates.js.map +1 -0
  97. package/dist/client/pages/runtimes/runner-cells.d.ts.map +1 -1
  98. package/dist/client/pages/runtimes/runner-cells.js +3 -1
  99. package/dist/client/pages/runtimes/runner-cells.js.map +1 -1
  100. package/dist/client/pages/runtimes/runner-pagination.d.ts +15 -0
  101. package/dist/client/pages/runtimes/runner-pagination.d.ts.map +1 -0
  102. package/dist/client/pages/runtimes/runner-pagination.js +9 -0
  103. package/dist/client/pages/runtimes/runner-pagination.js.map +1 -0
  104. package/dist/client/pages/runtimes/runner-runs.d.ts +3 -2
  105. package/dist/client/pages/runtimes/runner-runs.d.ts.map +1 -1
  106. package/dist/client/pages/runtimes/runner-runs.js +38 -15
  107. package/dist/client/pages/runtimes/runner-runs.js.map +1 -1
  108. package/dist/client/pages/runtimes/runner-sheet.js +1 -1
  109. package/dist/client/pages/runtimes/runner-sheet.js.map +1 -1
  110. package/dist/client/pages/runtimes/runner-workspaces.d.ts.map +1 -1
  111. package/dist/client/pages/runtimes/runner-workspaces.js +7 -3
  112. package/dist/client/pages/runtimes/runner-workspaces.js.map +1 -1
  113. package/dist/client/runs/refresh-run.d.ts +4 -0
  114. package/dist/client/runs/refresh-run.d.ts.map +1 -0
  115. package/dist/client/runs/refresh-run.js +8 -0
  116. package/dist/client/runs/refresh-run.js.map +1 -0
  117. package/dist/client/runs/run-hooks.d.ts.map +1 -1
  118. package/dist/client/runs/run-hooks.js +2 -1
  119. package/dist/client/runs/run-hooks.js.map +1 -1
  120. package/dist/database/migrations/.manifest.json +8 -0
  121. package/dist/database/migrations/202611010003_ag_runner_run_history_index.d.ts +4 -0
  122. package/dist/database/migrations/202611010003_ag_runner_run_history_index.d.ts.map +1 -0
  123. package/dist/database/migrations/202611010003_ag_runner_run_history_index.js +17 -0
  124. package/dist/database/migrations/202611010003_ag_runner_run_history_index.js.map +1 -0
  125. package/dist/database/migrations/202611070001_ag_conversation_project.d.ts +4 -0
  126. package/dist/database/migrations/202611070001_ag_conversation_project.d.ts.map +1 -0
  127. package/dist/database/migrations/202611070001_ag_conversation_project.js +17 -0
  128. package/dist/database/migrations/202611070001_ag_conversation_project.js.map +1 -0
  129. package/dist/package.json +4 -6
  130. package/dist/server/composition.d.ts +0 -17
  131. package/dist/server/composition.d.ts.map +1 -1
  132. package/dist/server/composition.js +7 -20
  133. package/dist/server/composition.js.map +1 -1
  134. package/dist/server/core/conversations/conversation.service.d.ts.map +1 -1
  135. package/dist/server/core/conversations/conversation.service.js +160 -19
  136. package/dist/server/core/conversations/conversation.service.js.map +1 -1
  137. package/dist/server/core/conversations/conversation.store.d.ts +1 -0
  138. package/dist/server/core/conversations/conversation.store.d.ts.map +1 -1
  139. package/dist/server/core/conversations/conversation.store.js.map +1 -1
  140. package/dist/server/core/conversations/index.d.ts +1 -1
  141. package/dist/server/core/conversations/index.d.ts.map +1 -1
  142. package/dist/server/core/conversations/index.js.map +1 -1
  143. package/dist/server/core/conversations/ports.d.ts +14 -0
  144. package/dist/server/core/conversations/ports.d.ts.map +1 -1
  145. package/dist/server/core/runs/claim.d.ts +7 -1
  146. package/dist/server/core/runs/claim.d.ts.map +1 -1
  147. package/dist/server/core/runs/claim.js +69 -17
  148. package/dist/server/core/runs/claim.js.map +1 -1
  149. package/dist/server/core/runs/ports.d.ts +2 -0
  150. package/dist/server/core/runs/ports.d.ts.map +1 -1
  151. package/dist/server/core/runs/ports.js.map +1 -1
  152. package/dist/server/core/runs/run.service.d.ts +5 -0
  153. package/dist/server/core/runs/run.service.d.ts.map +1 -1
  154. package/dist/server/core/runs/run.service.js +22 -0
  155. package/dist/server/core/runs/run.service.js.map +1 -1
  156. package/dist/server/core/runs/run.store.d.ts +1 -1
  157. package/dist/server/core/runs/run.store.d.ts.map +1 -1
  158. package/dist/server/core/runs/run.store.js +1 -1
  159. package/dist/server/core/runs/run.store.js.map +1 -1
  160. package/dist/server/core/runs/runner-view.d.ts +8 -4
  161. package/dist/server/core/runs/runner-view.d.ts.map +1 -1
  162. package/dist/server/core/runs/runner-view.js +89 -32
  163. package/dist/server/core/runs/runner-view.js.map +1 -1
  164. package/dist/server/locales/de-DE.d.ts.map +1 -1
  165. package/dist/server/locales/de-DE.js +5 -0
  166. package/dist/server/locales/de-DE.js.map +1 -1
  167. package/dist/server/locales/en-US.d.ts +7 -1
  168. package/dist/server/locales/en-US.d.ts.map +1 -1
  169. package/dist/server/locales/en-US.js +5 -0
  170. package/dist/server/locales/en-US.js.map +1 -1
  171. package/dist/server/locales/es-ES.d.ts.map +1 -1
  172. package/dist/server/locales/es-ES.js +5 -0
  173. package/dist/server/locales/es-ES.js.map +1 -1
  174. package/dist/server/locales/fr-FR.d.ts.map +1 -1
  175. package/dist/server/locales/fr-FR.js +5 -0
  176. package/dist/server/locales/fr-FR.js.map +1 -1
  177. package/dist/server/locales/id-ID.d.ts.map +1 -1
  178. package/dist/server/locales/id-ID.js +5 -0
  179. package/dist/server/locales/id-ID.js.map +1 -1
  180. package/dist/server/locales/ja-JP.d.ts.map +1 -1
  181. package/dist/server/locales/ja-JP.js +5 -0
  182. package/dist/server/locales/ja-JP.js.map +1 -1
  183. package/dist/server/locales/pt-BR.d.ts.map +1 -1
  184. package/dist/server/locales/pt-BR.js +5 -0
  185. package/dist/server/locales/pt-BR.js.map +1 -1
  186. package/dist/server/locales/vi-VN.d.ts.map +1 -1
  187. package/dist/server/locales/vi-VN.js +5 -0
  188. package/dist/server/locales/vi-VN.js.map +1 -1
  189. package/dist/server/locales/zh-CN.d.ts +2 -2
  190. package/dist/server/locales/zh-CN.d.ts.map +1 -1
  191. package/dist/server/locales/zh-CN.js +5 -0
  192. package/dist/server/locales/zh-CN.js.map +1 -1
  193. package/dist/server/locales/zh-TW.d.ts.map +1 -1
  194. package/dist/server/locales/zh-TW.js +5 -0
  195. package/dist/server/locales/zh-TW.js.map +1 -1
  196. package/dist/server/online/agent/native/backend.d.ts.map +1 -1
  197. package/dist/server/online/agent/native/backend.js +2 -0
  198. package/dist/server/online/agent/native/backend.js.map +1 -1
  199. package/dist/server/online/agent/native/session.d.ts.map +1 -1
  200. package/dist/server/online/agent/native/session.js +3 -1
  201. package/dist/server/online/agent/native/session.js.map +1 -1
  202. package/dist/server/online/agent/runner/backend.d.ts.map +1 -1
  203. package/dist/server/online/agent/runner/backend.js +4 -1
  204. package/dist/server/online/agent/runner/backend.js.map +1 -1
  205. package/dist/server/online/agent/runner/projection.d.ts +1 -1
  206. package/dist/server/online/agent/runner/projection.d.ts.map +1 -1
  207. package/dist/server/online/agent/runner/projection.js +33 -3
  208. package/dist/server/online/agent/runner/projection.js.map +1 -1
  209. package/dist/server/online/agent/service.d.ts.map +1 -1
  210. package/dist/server/online/agent/service.js +3 -0
  211. package/dist/server/online/agent/service.js.map +1 -1
  212. package/dist/server/online/agent/types.d.ts +3 -0
  213. package/dist/server/online/agent/types.d.ts.map +1 -1
  214. package/dist/server/providers/agents.d.ts +5 -9
  215. package/dist/server/providers/agents.d.ts.map +1 -1
  216. package/dist/server/providers/agents.js +9 -13
  217. package/dist/server/providers/agents.js.map +1 -1
  218. package/dist/server/routes/chat.d.ts.map +1 -1
  219. package/dist/server/routes/chat.js +37 -0
  220. package/dist/server/routes/chat.js.map +1 -1
  221. package/dist/server/routes/runners/admin.d.ts.map +1 -1
  222. package/dist/server/routes/runners/admin.js +16 -7
  223. package/dist/server/routes/runners/admin.js.map +1 -1
  224. package/dist/server/routes/runners/runner.d.ts.map +1 -1
  225. package/dist/server/routes/runners/runner.js +6 -4
  226. package/dist/server/routes/runners/runner.js.map +1 -1
  227. package/dist/server/routes/schemas.d.ts +7 -1
  228. package/dist/server/routes/schemas.d.ts.map +1 -1
  229. package/dist/server/routes/schemas.js +41 -1
  230. package/dist/server/routes/schemas.js.map +1 -1
  231. package/dist/server/tokens.d.ts +1 -2
  232. package/dist/server/tokens.d.ts.map +1 -1
  233. package/dist/server/tokens.js.map +1 -1
  234. package/dist/shared/conversations.d.ts +16 -0
  235. package/dist/shared/conversations.d.ts.map +1 -1
  236. package/dist/shared/conversations.js.map +1 -1
  237. package/dist/shared/runners.d.ts +18 -2
  238. package/dist/shared/runners.d.ts.map +1 -1
  239. package/dist/shared/runners.js +20 -0
  240. package/dist/shared/runners.js.map +1 -1
  241. package/dist/shared/ui-message.d.ts +2 -0
  242. package/dist/shared/ui-message.d.ts.map +1 -1
  243. package/dist/shared/ui-message.js +1 -0
  244. package/dist/shared/ui-message.js.map +1 -1
  245. package/docs/ui-message-clients.md +5 -1
  246. package/docs/ui-messages.md +3 -1
  247. package/docs/vectors-migration.md +91 -0
  248. package/package.json +8 -10
  249. package/skills/nocobase-app-plugin-agents/SKILL.md +1 -1
  250. package/skills/nocobase-app-plugin-agents/references/extension-points.md +0 -1
  251. package/skills/nocobase-app-plugin-agents/references/model-services.md +3 -3
  252. package/skills/nocobase-app-plugin-agents/references/online-agent.md +6 -0
  253. package/skills/nocobase-app-plugin-agents/references/setup-and-config.md +0 -4
  254. package/skills/nocobase-app-plugin-agents/references/verification-and-troubleshooting.md +0 -2
  255. package/dist/server/vectors/index.d.ts +0 -7
  256. package/dist/server/vectors/index.d.ts.map +0 -1
  257. package/dist/server/vectors/index.js +0 -6
  258. package/dist/server/vectors/index.js.map +0 -1
  259. package/dist/server/vectors/naming.d.ts +0 -6
  260. package/dist/server/vectors/naming.d.ts.map +0 -1
  261. package/dist/server/vectors/naming.js +0 -15
  262. package/dist/server/vectors/naming.js.map +0 -1
  263. package/dist/server/vectors/pgvector.d.ts +0 -26
  264. package/dist/server/vectors/pgvector.d.ts.map +0 -1
  265. package/dist/server/vectors/pgvector.js +0 -346
  266. package/dist/server/vectors/pgvector.js.map +0 -1
  267. package/dist/server/vectors/sqlite-vec.d.ts +0 -14
  268. package/dist/server/vectors/sqlite-vec.d.ts.map +0 -1
  269. package/dist/server/vectors/sqlite-vec.js +0 -286
  270. package/dist/server/vectors/sqlite-vec.js.map +0 -1
  271. package/dist/server/vectors/types.d.ts +0 -256
  272. package/dist/server/vectors/types.d.ts.map +0 -1
  273. package/dist/server/vectors/types.js +0 -2
  274. package/dist/server/vectors/types.js.map +0 -1
  275. package/dist/server/vectors/vectors.d.ts +0 -34
  276. package/dist/server/vectors/vectors.d.ts.map +0 -1
  277. package/dist/server/vectors/vectors.js +0 -866
  278. package/dist/server/vectors/vectors.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"vectors.js","sourceRoot":"","sources":["../../../server/vectors/vectors.ts"],"names":[],"mappings":"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"}