@undefineds.co/xpod 0.2.44 → 0.3.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 (431) hide show
  1. package/dist/agents/AgentExecutorFactory.js +12 -13
  2. package/dist/agents/AgentExecutorFactory.js.map +1 -1
  3. package/dist/agents/config/agent-meta-schema.d.ts +31 -3
  4. package/dist/agents/config/agent-meta-schema.js +37 -3
  5. package/dist/agents/config/agent-meta-schema.js.map +1 -1
  6. package/dist/agents/config/index.d.ts +5 -5
  7. package/dist/agents/config/index.js +7 -6
  8. package/dist/agents/config/index.js.map +1 -1
  9. package/dist/agents/config/parse-agent-instructions.d.ts +12 -0
  10. package/dist/agents/config/parse-agent-instructions.js +23 -0
  11. package/dist/agents/config/parse-agent-instructions.js.map +1 -0
  12. package/dist/agents/config/resolve.d.ts +7 -12
  13. package/dist/agents/config/resolve.js +272 -156
  14. package/dist/agents/config/resolve.js.map +1 -1
  15. package/dist/agents/config/types.d.ts +33 -36
  16. package/dist/agents/config/types.js +4 -4
  17. package/dist/agents/config/types.js.map +1 -1
  18. package/dist/agents/index.d.ts +2 -7
  19. package/dist/agents/index.js +4 -14
  20. package/dist/agents/index.js.map +1 -1
  21. package/dist/agents/types.d.ts +2 -2
  22. package/dist/agents/types.js.map +1 -1
  23. package/dist/ai/service/CredentialReaderImpl.js +9 -14
  24. package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
  25. package/dist/api/ApiServer.d.ts +7 -0
  26. package/dist/api/ApiServer.js +5 -1
  27. package/dist/api/ApiServer.js.map +1 -1
  28. package/dist/api/chatkit/default-agent.js +1 -1
  29. package/dist/api/chatkit/default-agent.js.map +1 -1
  30. package/dist/api/chatkit/index.d.ts +8 -0
  31. package/dist/api/chatkit/index.js +15 -1
  32. package/dist/api/chatkit/index.js.map +1 -1
  33. package/dist/api/chatkit/pod-store.d.ts +80 -17
  34. package/dist/api/chatkit/pod-store.js +816 -162
  35. package/dist/api/chatkit/pod-store.js.map +1 -1
  36. package/dist/api/chatkit/runtime/AcpAgentRuntime.d.ts +41 -0
  37. package/dist/api/chatkit/runtime/AcpAgentRuntime.js +573 -0
  38. package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -0
  39. package/dist/api/chatkit/runtime/CodexRuntimeProjector.d.ts +27 -0
  40. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js +157 -0
  41. package/dist/api/chatkit/runtime/CodexRuntimeProjector.js.map +1 -0
  42. package/dist/api/chatkit/schema.d.ts +53 -133
  43. package/dist/api/chatkit/schema.js +11 -175
  44. package/dist/api/chatkit/schema.js.map +1 -1
  45. package/dist/api/chatkit/service.d.ts +15 -9
  46. package/dist/api/chatkit/service.js +82 -234
  47. package/dist/api/chatkit/service.js.map +1 -1
  48. package/dist/api/chatkit/store.d.ts +35 -3
  49. package/dist/api/chatkit/store.js +157 -3
  50. package/dist/api/chatkit/store.js.map +1 -1
  51. package/dist/api/chatkit/types.d.ts +16 -2
  52. package/dist/api/chatkit/types.js +24 -5
  53. package/dist/api/chatkit/types.js.map +1 -1
  54. package/dist/api/container/common.js +59 -2
  55. package/dist/api/container/common.js.map +1 -1
  56. package/dist/api/container/index.js +15 -0
  57. package/dist/api/container/index.js.map +1 -1
  58. package/dist/api/container/routes.js +11 -0
  59. package/dist/api/container/routes.js.map +1 -1
  60. package/dist/api/container/types.d.ts +26 -0
  61. package/dist/api/container/types.js.map +1 -1
  62. package/dist/api/handlers/InngestHandler.d.ts +11 -0
  63. package/dist/api/handlers/InngestHandler.js +19 -0
  64. package/dist/api/handlers/InngestHandler.js.map +1 -0
  65. package/dist/api/handlers/RunHandler.d.ts +7 -0
  66. package/dist/api/handlers/RunHandler.js +169 -0
  67. package/dist/api/handlers/RunHandler.js.map +1 -0
  68. package/dist/api/handlers/index.d.ts +1 -0
  69. package/dist/api/handlers/index.js +1 -0
  70. package/dist/api/handlers/index.js.map +1 -1
  71. package/dist/api/models/namespaces.d.ts +2 -2
  72. package/dist/api/models/namespaces.js +1 -4
  73. package/dist/api/models/namespaces.js.map +1 -1
  74. package/dist/api/runs/AgentRuntimeTypes.d.ts +83 -0
  75. package/dist/api/runs/AgentRuntimeTypes.js +3 -0
  76. package/dist/api/runs/AgentRuntimeTypes.js.map +1 -0
  77. package/dist/api/runs/EmbeddedInngestService.d.ts +47 -0
  78. package/dist/api/runs/EmbeddedInngestService.js +203 -0
  79. package/dist/api/runs/EmbeddedInngestService.js.map +1 -0
  80. package/dist/api/runs/InngestRunExecutionBackend.d.ts +416 -0
  81. package/dist/api/runs/InngestRunExecutionBackend.js +225 -0
  82. package/dist/api/runs/InngestRunExecutionBackend.js.map +1 -0
  83. package/dist/api/runs/ManagedRunWorker.d.ts +52 -0
  84. package/dist/api/runs/ManagedRunWorker.js +452 -0
  85. package/dist/api/runs/ManagedRunWorker.js.map +1 -0
  86. package/dist/api/runs/PiAgentRuntimeDriver.d.ts +66 -0
  87. package/dist/api/runs/PiAgentRuntimeDriver.js +614 -0
  88. package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -0
  89. package/dist/api/runs/PiAgentRuntimeWorker.d.ts +1 -0
  90. package/dist/api/runs/PiAgentRuntimeWorker.js +33 -0
  91. package/dist/api/runs/PiAgentRuntimeWorker.js.map +1 -0
  92. package/dist/api/runs/RunAuthContextRegistry.d.ts +19 -0
  93. package/dist/api/runs/RunAuthContextRegistry.js +59 -0
  94. package/dist/api/runs/RunAuthContextRegistry.js.map +1 -0
  95. package/dist/api/runs/RunExecutionBackend.d.ts +57 -0
  96. package/dist/api/runs/RunExecutionBackend.js +3 -0
  97. package/dist/api/runs/RunExecutionBackend.js.map +1 -0
  98. package/dist/api/runs/RunStateCenter.d.ts +82 -0
  99. package/dist/api/runs/RunStateCenter.js +665 -0
  100. package/dist/api/runs/RunStateCenter.js.map +1 -0
  101. package/dist/api/runs/schema.d.ts +55 -0
  102. package/dist/api/runs/schema.js +14 -0
  103. package/dist/api/runs/schema.js.map +1 -0
  104. package/dist/api/runs/store.d.ts +105 -0
  105. package/dist/api/runs/store.js +116 -0
  106. package/dist/api/runs/store.js.map +1 -0
  107. package/dist/api/runtime.d.ts +2 -0
  108. package/dist/api/runtime.js +40 -1
  109. package/dist/api/runtime.js.map +1 -1
  110. package/dist/api/service/VectorStoreService.d.ts +1 -0
  111. package/dist/api/service/VectorStoreService.js +27 -34
  112. package/dist/api/service/VectorStoreService.js.map +1 -1
  113. package/dist/api/service/provider-registry.d.ts +1 -1
  114. package/dist/api/service/provider-registry.js +1 -1
  115. package/dist/api/service/provider-registry.js.map +1 -1
  116. package/dist/api/tasks/InngestTaskScheduler.d.ts +751 -0
  117. package/dist/api/tasks/InngestTaskScheduler.js +209 -0
  118. package/dist/api/tasks/InngestTaskScheduler.js.map +1 -0
  119. package/dist/api/tasks/TaskAuthBinding.d.ts +68 -0
  120. package/dist/api/tasks/TaskAuthBinding.js +162 -0
  121. package/dist/api/tasks/TaskAuthBinding.js.map +1 -0
  122. package/dist/api/tasks/TaskMaterializer.d.ts +55 -0
  123. package/dist/api/tasks/TaskMaterializer.js +452 -0
  124. package/dist/api/tasks/TaskMaterializer.js.map +1 -0
  125. package/dist/api/tasks/TaskService.d.ts +57 -0
  126. package/dist/api/tasks/TaskService.js +235 -0
  127. package/dist/api/tasks/TaskService.js.map +1 -0
  128. package/dist/api/tasks/index.d.ts +6 -0
  129. package/dist/api/tasks/index.js +25 -0
  130. package/dist/api/tasks/index.js.map +1 -0
  131. package/dist/api/tasks/schema.d.ts +23 -0
  132. package/dist/api/tasks/schema.js +8 -0
  133. package/dist/api/tasks/schema.js.map +1 -0
  134. package/dist/api/tasks/store.d.ts +40 -0
  135. package/dist/api/tasks/store.js +34 -0
  136. package/dist/api/tasks/store.js.map +1 -0
  137. package/dist/api/workspace/types.d.ts +3 -0
  138. package/dist/api/workspace/types.js +23 -0
  139. package/dist/api/workspace/types.js.map +1 -0
  140. package/dist/cli/commands/config.d.ts +8 -7
  141. package/dist/cli/commands/config.js +72 -48
  142. package/dist/cli/commands/config.js.map +1 -1
  143. package/dist/cli/commands/login.d.ts +10 -8
  144. package/dist/cli/commands/login.js +84 -84
  145. package/dist/cli/commands/login.js.map +1 -1
  146. package/dist/cli/index.js +3 -124
  147. package/dist/cli/index.js.map +1 -1
  148. package/dist/http/search/SearchHttpHandler.js +13 -18
  149. package/dist/http/search/SearchHttpHandler.js.map +1 -1
  150. package/dist/runtime/configure-drizzle-solid.js +52 -0
  151. package/dist/runtime/configure-drizzle-solid.js.map +1 -1
  152. package/dist/storage/quint/PgQuintStore.d.ts +6 -0
  153. package/dist/storage/quint/PgQuintStore.js +83 -5
  154. package/dist/storage/quint/PgQuintStore.js.map +1 -1
  155. package/dist/storage/quint/PgQuintStore.jsonld +24 -0
  156. package/dist/storage/quint/SqliteQuintStore.d.ts +1 -0
  157. package/dist/storage/quint/SqliteQuintStore.js +52 -0
  158. package/dist/storage/quint/SqliteQuintStore.js.map +1 -1
  159. package/dist/storage/quint/SqliteQuintStore.jsonld +4 -0
  160. package/dist/storage/quint/types.d.ts +6 -0
  161. package/dist/storage/quint/types.js.map +1 -1
  162. package/dist/storage/sparql/FilterPushdownExtractor.js +23 -11
  163. package/dist/storage/sparql/FilterPushdownExtractor.js.map +1 -1
  164. package/dist/storage/vector/VectorIndexingListener.js +13 -18
  165. package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
  166. package/dist/util/identifiers/ClusterIdentifierStrategy.js +29 -1
  167. package/dist/util/identifiers/ClusterIdentifierStrategy.js.map +1 -1
  168. package/dist/vocab/index.d.ts +2 -6
  169. package/dist/vocab/index.js +2 -6
  170. package/dist/vocab/index.js.map +1 -1
  171. package/dist/vocab/udfs.d.ts +12 -0
  172. package/dist/vocab/udfs.js +12 -0
  173. package/dist/vocab/udfs.js.map +1 -1
  174. package/node_modules/@undefineds.co/drizzle-solid/README.md +52 -24
  175. package/node_modules/@undefineds.co/drizzle-solid/README.zh-CN.md +30 -24
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts +6 -2
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts.map +1 -1
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +43 -10
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js +1 -0
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts +5 -0
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js +44 -13
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts +1 -0
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +21 -2
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts +1 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts +1 -1
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts +76 -41
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +443 -114
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts +28 -1
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js +142 -31
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts +3 -0
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js +84 -6
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts +3 -0
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js +29 -9
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +2 -8
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +19 -51
  216. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  217. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts +1 -0
  218. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts.map +1 -1
  219. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts +2 -2
  220. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts.map +1 -1
  221. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +6 -6
  222. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  223. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts +4 -4
  224. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts.map +1 -1
  225. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js +56 -23
  226. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js.map +1 -1
  227. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts +14 -10
  228. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  229. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js +55 -23
  230. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js.map +1 -1
  231. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts +3 -3
  232. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js +6 -6
  233. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js.map +1 -1
  234. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts +3 -3
  235. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js +4 -4
  236. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js.map +1 -1
  237. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts.map +1 -1
  238. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js +33 -8
  239. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js.map +1 -1
  240. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts +11 -2
  241. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts.map +1 -1
  242. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts.map +1 -1
  243. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js +3 -2
  244. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js.map +1 -1
  245. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts +13 -8
  246. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts.map +1 -1
  247. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js +24 -22
  248. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js.map +1 -1
  249. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts +3 -0
  250. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts.map +1 -1
  251. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js.map +1 -1
  252. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts +3 -2
  253. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts.map +1 -1
  254. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js +28 -14
  255. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js.map +1 -1
  256. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts.map +1 -1
  257. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -2
  258. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js.map +1 -1
  259. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts +9 -9
  260. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts.map +1 -1
  261. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js +56 -22
  262. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js.map +1 -1
  263. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts +9 -1
  264. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts.map +1 -1
  265. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js +2 -0
  266. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js.map +1 -1
  267. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +6 -2
  268. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts.map +1 -1
  269. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  270. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  271. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +43 -10
  272. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  273. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -1
  274. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js +1 -0
  275. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js.map +1 -1
  276. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +5 -0
  277. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
  278. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js +44 -13
  279. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js.map +1 -1
  280. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +1 -0
  281. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  282. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +21 -2
  283. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  284. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +1 -0
  285. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts.map +1 -1
  286. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +1 -1
  287. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts.map +1 -1
  288. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +76 -41
  289. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts.map +1 -1
  290. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +443 -114
  291. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  292. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +28 -1
  293. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts.map +1 -1
  294. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js +142 -31
  295. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js.map +1 -1
  296. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +3 -0
  297. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts.map +1 -1
  298. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js +84 -6
  299. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js.map +1 -1
  300. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +3 -0
  301. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -1
  302. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js +29 -9
  303. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js.map +1 -1
  304. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +2 -8
  305. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  306. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +19 -51
  307. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  308. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +1 -0
  309. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts.map +1 -1
  310. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +2 -2
  311. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts.map +1 -1
  312. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +6 -6
  313. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  314. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts +4 -4
  315. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts.map +1 -1
  316. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js +56 -23
  317. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js.map +1 -1
  318. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +14 -10
  319. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  320. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js +55 -23
  321. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  322. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +3 -3
  323. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js +6 -6
  324. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  325. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +3 -3
  326. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js +4 -4
  327. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -1
  328. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
  329. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js +33 -8
  330. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js.map +1 -1
  331. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +11 -2
  332. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts.map +1 -1
  333. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts.map +1 -1
  334. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js +3 -2
  335. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js.map +1 -1
  336. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +13 -8
  337. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts.map +1 -1
  338. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js +24 -22
  339. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js.map +1 -1
  340. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +3 -0
  341. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts.map +1 -1
  342. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js.map +1 -1
  343. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +3 -2
  344. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts.map +1 -1
  345. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js +28 -14
  346. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js.map +1 -1
  347. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts.map +1 -1
  348. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -2
  349. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js.map +1 -1
  350. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +9 -9
  351. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts.map +1 -1
  352. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js +56 -22
  353. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js.map +1 -1
  354. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +9 -1
  355. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts.map +1 -1
  356. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js +2 -0
  357. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js.map +1 -1
  358. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +16 -2
  359. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts.map +1 -1
  360. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js +1 -1
  361. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js.map +1 -1
  362. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts +16 -2
  363. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts.map +1 -1
  364. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js +1 -1
  365. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js.map +1 -1
  366. package/node_modules/@undefineds.co/drizzle-solid/package.json +1 -1
  367. package/package.json +5 -3
  368. package/scripts/patch-jose.js +62 -12
  369. package/dist/agents/AgentManager.d.ts +0 -116
  370. package/dist/agents/AgentManager.js +0 -290
  371. package/dist/agents/AgentManager.js.map +0 -1
  372. package/dist/agents/IndexAgent.d.ts +0 -70
  373. package/dist/agents/IndexAgent.js +0 -417
  374. package/dist/agents/IndexAgent.js.map +0 -1
  375. package/dist/agents/config/parse-agent-md.d.ts +0 -33
  376. package/dist/agents/config/parse-agent-md.js +0 -75
  377. package/dist/agents/config/parse-agent-md.js.map +0 -1
  378. package/dist/agents/schema/agent-config.d.ts +0 -2
  379. package/dist/agents/schema/agent-config.js +0 -32
  380. package/dist/agents/schema/agent-config.js.map +0 -1
  381. package/dist/agents/schema/create-agent-schema.d.ts +0 -25
  382. package/dist/agents/schema/create-agent-schema.js +0 -35
  383. package/dist/agents/schema/create-agent-schema.js.map +0 -1
  384. package/dist/api/chatkit/runtime/PtyThreadRuntime.d.ts +0 -127
  385. package/dist/api/chatkit/runtime/PtyThreadRuntime.js +0 -791
  386. package/dist/api/chatkit/runtime/PtyThreadRuntime.js.map +0 -1
  387. package/dist/cli/lib/agent-session.d.ts +0 -37
  388. package/dist/cli/lib/agent-session.js +0 -211
  389. package/dist/cli/lib/agent-session.js.map +0 -1
  390. package/dist/cli/lib/ensure-ai-credentials.d.ts +0 -13
  391. package/dist/cli/lib/ensure-ai-credentials.js +0 -40
  392. package/dist/cli/lib/ensure-ai-credentials.js.map +0 -1
  393. package/dist/cli/lib/model-manager.d.ts +0 -37
  394. package/dist/cli/lib/model-manager.js +0 -251
  395. package/dist/cli/lib/model-manager.js.map +0 -1
  396. package/dist/cli/lib/oauth-credential-manager.d.ts +0 -37
  397. package/dist/cli/lib/oauth-credential-manager.js +0 -129
  398. package/dist/cli/lib/oauth-credential-manager.js.map +0 -1
  399. package/dist/cli/lib/oauth-providers/codebuddy.d.ts +0 -25
  400. package/dist/cli/lib/oauth-providers/codebuddy.js +0 -69
  401. package/dist/cli/lib/oauth-providers/codebuddy.js.map +0 -1
  402. package/dist/cli/lib/oauth-providers/index.d.ts +0 -12
  403. package/dist/cli/lib/oauth-providers/index.js +0 -23
  404. package/dist/cli/lib/oauth-providers/index.js.map +0 -1
  405. package/dist/cli/lib/pi-optional.d.ts +0 -84
  406. package/dist/cli/lib/pi-optional.js +0 -35
  407. package/dist/cli/lib/pi-optional.js.map +0 -1
  408. package/dist/cli/lib/pod-ai-config.d.ts +0 -26
  409. package/dist/cli/lib/pod-ai-config.js +0 -99
  410. package/dist/cli/lib/pod-ai-config.js.map +0 -1
  411. package/dist/cli/lib/pod-thread-store.d.ts +0 -57
  412. package/dist/cli/lib/pod-thread-store.js +0 -312
  413. package/dist/cli/lib/pod-thread-store.js.map +0 -1
  414. package/dist/cli/lib/secretary-prompt.d.ts +0 -6
  415. package/dist/cli/lib/secretary-prompt.js +0 -85
  416. package/dist/cli/lib/secretary-prompt.js.map +0 -1
  417. package/dist/task/DrizzleTaskQueue.d.ts +0 -56
  418. package/dist/task/DrizzleTaskQueue.js +0 -171
  419. package/dist/task/DrizzleTaskQueue.js.map +0 -1
  420. package/dist/task/TaskExecutor.d.ts +0 -82
  421. package/dist/task/TaskExecutor.js +0 -198
  422. package/dist/task/TaskExecutor.js.map +0 -1
  423. package/dist/task/index.d.ts +0 -10
  424. package/dist/task/index.js +0 -20
  425. package/dist/task/index.js.map +0 -1
  426. package/dist/task/schema.d.ts +0 -53
  427. package/dist/task/schema.js +0 -71
  428. package/dist/task/schema.js.map +0 -1
  429. package/dist/task/types.d.ts +0 -186
  430. package/dist/task/types.js +0 -12
  431. package/dist/task/types.js.map +0 -1
@@ -1,116 +0,0 @@
1
- /**
2
- * Agent Manager - Agent 生命周期管理
3
- *
4
- * 职责:
5
- * 1. 从 Pod 读取 Agent 配置
6
- * 2. 根据配置创建 Executor
7
- * 3. 管理 Agent 实例的生命周期
8
- * 4. 路由消息到对应的 Agent
9
- */
10
- import type { IAgentExecutor, ExecutorType, ExecutorConfig } from './types';
11
- /**
12
- * Agent 实例 - 包含配置和执行器
13
- */
14
- export interface AgentInstance {
15
- /** Agent ID */
16
- id: string;
17
- /** 显示名称 */
18
- displayName: string;
19
- /** 描述 */
20
- description: string;
21
- /** 执行器实例 */
22
- executor: IAgentExecutor;
23
- /** 执行器配置 */
24
- config: ExecutorConfig;
25
- /** 状态 */
26
- status: 'idle' | 'running' | 'error';
27
- /** 启动时间 */
28
- startedAt?: Date;
29
- /** 最后活动时间 */
30
- lastActivityAt?: Date;
31
- }
32
- /**
33
- * Agent 配置(从 Pod 读取)
34
- */
35
- export interface AgentConfig {
36
- id: string;
37
- name?: string;
38
- description?: string;
39
- provider?: string;
40
- runtimeKind?: ExecutorType;
41
- model?: string;
42
- instructions: string;
43
- maxTurns?: number;
44
- timeout?: number;
45
- enabled: boolean;
46
- }
47
- /**
48
- * Agent Manager
49
- *
50
- * 管理 Agent 实例的完整生命周期
51
- */
52
- export declare class AgentManager {
53
- private readonly logger;
54
- private readonly factory;
55
- private readonly instances;
56
- private resolveModelId;
57
- /**
58
- * 获取或创建 Agent 实例
59
- *
60
- * 如果 Agent 已存在且健在,直接返回
61
- * 否则根据配置创建新实例
62
- *
63
- * @param agentId Agent ID
64
- * @param podBaseUrl Pod 根 URL
65
- * @param authenticatedFetch 带认证的 fetch
66
- * @param webId 用户 WebID
67
- */
68
- getOrCreate(agentId: string, podBaseUrl: string, authenticatedFetch: typeof fetch, webId?: string): Promise<AgentInstance | null>;
69
- /**
70
- * 检查 Agent 是否健在
71
- */
72
- private isAlive;
73
- /**
74
- * 从 Pod 配置创建 Agent 实例
75
- */
76
- private createFromConfig;
77
- /**
78
- * 发送消息给 Agent
79
- *
80
- * @param agentId Agent ID
81
- * @param message 消息内容
82
- * @param podBaseUrl Pod 根 URL
83
- * @param authenticatedFetch 带认证的 fetch
84
- * @param webId 用户 WebID
85
- * @param accessToken OAuth token(用于 MCP)
86
- */
87
- sendMessage(agentId: string, message: string, podBaseUrl: string, authenticatedFetch: typeof fetch, webId?: string, accessToken?: string): Promise<{
88
- success: boolean;
89
- result?: string;
90
- error?: string;
91
- }>;
92
- /**
93
- * 更新 Agent 状态到 Pod
94
- */
95
- private updateStatus;
96
- /**
97
- * 获取 Agent 状态
98
- */
99
- getStatus(agentId: string): AgentInstance | undefined;
100
- /**
101
- * 列出所有活跃的 Agent
102
- */
103
- listActiveAgents(): AgentInstance[];
104
- /**
105
- * 停止 Agent
106
- */
107
- stop(agentId: string, podBaseUrl: string, authenticatedFetch: typeof fetch, webId?: string): Promise<void>;
108
- /**
109
- * 停止所有 Agent
110
- */
111
- stopAll(): Promise<void>;
112
- }
113
- /**
114
- * 默认 AgentManager 实例
115
- */
116
- export declare const agentManager: AgentManager;
@@ -1,290 +0,0 @@
1
- "use strict";
2
- /**
3
- * Agent Manager - Agent 生命周期管理
4
- *
5
- * 职责:
6
- * 1. 从 Pod 读取 Agent 配置
7
- * 2. 根据配置创建 Executor
8
- * 3. 管理 Agent 实例的生命周期
9
- * 4. 路由消息到对应的 Agent
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.agentManager = exports.AgentManager = void 0;
13
- const global_logger_factory_1 = require("global-logger-factory");
14
- const drizzle_solid_1 = require("@undefineds.co/drizzle-solid");
15
- const agent_config_1 = require("./schema/agent-config");
16
- const provider_1 = require("../ai/schema/provider");
17
- const tables_1 = require("../credential/schema/tables");
18
- const model_1 = require("../ai/schema/model");
19
- const types_1 = require("../credential/schema/types");
20
- const AgentExecutorFactory_1 = require("./AgentExecutorFactory");
21
- const schema = {
22
- agentConfig: agent_config_1.AgentConfig,
23
- agentStatus: agent_config_1.AgentStatus,
24
- provider: provider_1.Provider,
25
- credential: tables_1.Credential,
26
- model: model_1.Model,
27
- };
28
- /**
29
- * Agent Manager
30
- *
31
- * 管理 Agent 实例的完整生命周期
32
- */
33
- class AgentManager {
34
- constructor() {
35
- this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
36
- this.factory = new AgentExecutorFactory_1.AgentExecutorFactory();
37
- this.instances = new Map();
38
- }
39
- async resolveModelId(db, modelRef) {
40
- if (!modelRef) {
41
- return undefined;
42
- }
43
- const model = await db.findByIri(model_1.Model, modelRef);
44
- return model?.id ?? undefined;
45
- }
46
- /**
47
- * 获取或创建 Agent 实例
48
- *
49
- * 如果 Agent 已存在且健在,直接返回
50
- * 否则根据配置创建新实例
51
- *
52
- * @param agentId Agent ID
53
- * @param podBaseUrl Pod 根 URL
54
- * @param authenticatedFetch 带认证的 fetch
55
- * @param webId 用户 WebID
56
- */
57
- async getOrCreate(agentId, podBaseUrl, authenticatedFetch, webId) {
58
- // 1. 检查是否有健在的实例
59
- const existing = this.instances.get(agentId);
60
- if (existing && this.isAlive(existing)) {
61
- this.logger.debug(`Agent ${agentId} is alive, reusing instance`);
62
- return existing;
63
- }
64
- // 2. 从 Pod 读取配置并创建
65
- this.logger.info(`Creating agent instance: ${agentId}`);
66
- const instance = await this.createFromConfig(agentId, podBaseUrl, authenticatedFetch, webId);
67
- if (instance) {
68
- this.instances.set(agentId, instance);
69
- await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);
70
- }
71
- return instance;
72
- }
73
- /**
74
- * 检查 Agent 是否健在
75
- */
76
- isAlive(instance) {
77
- // 简单判断:非 error 状态就是健在
78
- // 未来可以加入心跳检测
79
- return instance.status !== 'error';
80
- }
81
- /**
82
- * 从 Pod 配置创建 Agent 实例
83
- */
84
- async createFromConfig(agentId, podBaseUrl, authenticatedFetch, webId) {
85
- try {
86
- const session = {
87
- info: { isLoggedIn: true, webId },
88
- fetch: authenticatedFetch,
89
- };
90
- const db = (0, drizzle_solid_1.drizzle)(session, { schema });
91
- // 1. 读取 Agent 配置
92
- const agentConfig = await db.findByLocator(agent_config_1.AgentConfig, { id: agentId });
93
- if (!agentConfig) {
94
- this.logger.warn(`Agent config not found: ${agentId}`);
95
- return null;
96
- }
97
- if (agentConfig.enabled !== 'true') {
98
- this.logger.debug(`Agent is disabled: ${agentId}`);
99
- return null;
100
- }
101
- // 2. 读取 provider URI
102
- const providerUri = agentConfig.provider;
103
- if (!providerUri) {
104
- this.logger.error(`Agent ${agentId} has no provider configured`);
105
- return null;
106
- }
107
- // 3. 读取 Provider 配置
108
- const provider = await db.findByIri(provider_1.Provider, providerUri);
109
- if (!provider) {
110
- this.logger.error(`Provider not found: ${providerUri}`);
111
- return null;
112
- }
113
- const runtimeKind = agentConfig.runtimeKind;
114
- if (!runtimeKind || !this.factory.isSupported(runtimeKind)) {
115
- this.logger.error(`Agent ${agentId} has invalid runtimeKind: ${runtimeKind ?? '(missing)'}`);
116
- return null;
117
- }
118
- // 4. 读取 Credential
119
- const credentials = await db.query.credential.findMany({
120
- where: (0, drizzle_solid_1.eq)(tables_1.Credential.provider, providerUri),
121
- });
122
- const activeCredential = credentials.find((c) => c.status === types_1.CredentialStatus.ACTIVE && c.service === types_1.ServiceType.AI);
123
- const providerId = provider.id;
124
- const defaultModel = await this.resolveModelId(db, provider.defaultModel ?? provider.hasModel);
125
- const selectedModel = await this.resolveModelId(db, agentConfig.model ?? undefined) ?? defaultModel;
126
- // 构建凭证(可能为空,Executor 会处理)
127
- const credential = {
128
- providerId,
129
- apiKey: activeCredential?.apiKey ?? '',
130
- baseUrl: activeCredential?.baseUrl ?? provider.baseUrl ?? undefined,
131
- projectId: activeCredential?.projectId ?? undefined,
132
- organizationId: activeCredential?.organizationId ?? undefined,
133
- };
134
- // 5. 创建 Executor
135
- const executor = this.factory.createExecutor(runtimeKind, {
136
- providerId,
137
- credential,
138
- providerConfig: {
139
- id: providerId,
140
- displayName: provider.displayName ?? providerId,
141
- executorType: runtimeKind,
142
- baseUrl: provider.baseUrl ?? undefined,
143
- defaultModel,
144
- enabled: provider.enabled === 'true',
145
- },
146
- });
147
- // 6. 构建执行器配置
148
- const config = {
149
- name: agentId,
150
- description: agentConfig.description ?? undefined,
151
- systemPrompt: agentConfig.instructions ?? '',
152
- model: selectedModel,
153
- maxTokens: 8192,
154
- };
155
- // 7. 返回实例
156
- return {
157
- id: agentId,
158
- displayName: agentConfig.name ?? agentId,
159
- description: agentConfig.description ?? '',
160
- executor,
161
- config,
162
- status: 'idle',
163
- startedAt: new Date(),
164
- };
165
- }
166
- catch (error) {
167
- this.logger.error(`Failed to create agent ${agentId}:`, error);
168
- return null;
169
- }
170
- }
171
- /**
172
- * 发送消息给 Agent
173
- *
174
- * @param agentId Agent ID
175
- * @param message 消息内容
176
- * @param podBaseUrl Pod 根 URL
177
- * @param authenticatedFetch 带认证的 fetch
178
- * @param webId 用户 WebID
179
- * @param accessToken OAuth token(用于 MCP)
180
- */
181
- async sendMessage(agentId, message, podBaseUrl, authenticatedFetch, webId, accessToken) {
182
- // 1. 获取或创建实例
183
- const instance = await this.getOrCreate(agentId, podBaseUrl, authenticatedFetch, webId);
184
- if (!instance) {
185
- return { success: false, error: `Agent not found or disabled: ${agentId}` };
186
- }
187
- // 2. 更新状态为 running
188
- instance.status = 'running';
189
- instance.lastActivityAt = new Date();
190
- await this.updateStatus(agentId, 'running', podBaseUrl, authenticatedFetch, webId);
191
- try {
192
- // 3. 执行
193
- const result = await instance.executor.executeAndWait(instance.config, message);
194
- // 4. 更新状态
195
- instance.status = 'idle';
196
- instance.lastActivityAt = new Date();
197
- await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);
198
- if (result.success) {
199
- return { success: true, result: result.result };
200
- }
201
- else {
202
- return { success: false, error: result.error };
203
- }
204
- }
205
- catch (error) {
206
- // 5. 错误处理
207
- instance.status = 'error';
208
- await this.updateStatus(agentId, 'error', podBaseUrl, authenticatedFetch, webId, error instanceof Error ? error.message : String(error));
209
- return {
210
- success: false,
211
- error: error instanceof Error ? error.message : String(error),
212
- };
213
- }
214
- }
215
- /**
216
- * 更新 Agent 状态到 Pod
217
- */
218
- async updateStatus(agentId, status, podBaseUrl, authenticatedFetch, webId, errorMessage) {
219
- try {
220
- const session = {
221
- info: { isLoggedIn: true, webId },
222
- fetch: authenticatedFetch,
223
- };
224
- const db = (0, drizzle_solid_1.drizzle)(session, { schema });
225
- const now = new Date().toISOString();
226
- // 先查询是否存在,再决定插入或更新
227
- const existing = await db.findByLocator(agent_config_1.AgentStatus, { id: agentId });
228
- if (existing) {
229
- await db.updateByLocator(agent_config_1.AgentStatus, { id: agentId }, {
230
- status,
231
- lastActivityAt: now,
232
- errorMessage: errorMessage ?? undefined,
233
- });
234
- }
235
- else {
236
- await db.insert(agent_config_1.AgentStatus).values({
237
- id: agentId,
238
- agentId,
239
- status,
240
- startedAt: status === 'running' ? now : undefined,
241
- lastActivityAt: now,
242
- errorMessage: errorMessage ?? undefined,
243
- });
244
- }
245
- }
246
- catch (error) {
247
- // 状态更新失败不影响主流程
248
- this.logger.warn(`Failed to update agent status: ${error}`);
249
- }
250
- }
251
- /**
252
- * 获取 Agent 状态
253
- */
254
- getStatus(agentId) {
255
- return this.instances.get(agentId);
256
- }
257
- /**
258
- * 列出所有活跃的 Agent
259
- */
260
- listActiveAgents() {
261
- return Array.from(this.instances.values()).filter((i) => this.isAlive(i));
262
- }
263
- /**
264
- * 停止 Agent
265
- */
266
- async stop(agentId, podBaseUrl, authenticatedFetch, webId) {
267
- const instance = this.instances.get(agentId);
268
- if (instance) {
269
- instance.status = 'idle';
270
- await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);
271
- this.instances.delete(agentId);
272
- this.logger.info(`Agent stopped: ${agentId}`);
273
- }
274
- }
275
- /**
276
- * 停止所有 Agent
277
- */
278
- async stopAll() {
279
- for (const [agentId] of this.instances) {
280
- this.instances.delete(agentId);
281
- this.logger.info(`Agent stopped: ${agentId}`);
282
- }
283
- }
284
- }
285
- exports.AgentManager = AgentManager;
286
- /**
287
- * 默认 AgentManager 实例
288
- */
289
- exports.agentManager = new AgentManager();
290
- //# sourceMappingURL=AgentManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentManager.js","sourceRoot":"","sources":["../../src/agents/AgentManager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Manager - Agent 生命周期管理\n *\n * 职责:\n * 1. 从 Pod 读取 Agent 配置\n * 2. 根据配置创建 Executor\n * 3. 管理 Agent 实例的生命周期\n * 4. 路由消息到对应的 Agent\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { drizzle, eq } from '@undefineds.co/drizzle-solid';\nimport type { IAgentExecutor, ExecutorType, ExecutorConfig, AiCredential } from './types';\nimport { AgentConfig as AgentConfigTable, AgentStatus } from './schema/agent-config';\nimport { Provider } from '../ai/schema/provider';\nimport { Credential } from '../credential/schema/tables';\nimport { Model } from '../ai/schema/model';\nimport { ServiceType, CredentialStatus } from '../credential/schema/types';\nimport { AgentExecutorFactory } from './AgentExecutorFactory';\n\n/**\n * Agent 实例 - 包含配置和执行器\n */\nexport interface AgentInstance {\n /** Agent ID */\n id: string;\n /** 显示名称 */\n displayName: string;\n /** 描述 */\n description: string;\n /** 执行器实例 */\n executor: IAgentExecutor;\n /** 执行器配置 */\n config: ExecutorConfig;\n /** 状态 */\n status: 'idle' | 'running' | 'error';\n /** 启动时间 */\n startedAt?: Date;\n /** 最后活动时间 */\n lastActivityAt?: Date;\n}\n\n/**\n * Agent 配置(从 Pod 读取)\n */\nexport interface AgentConfig {\n id: string;\n name?: string;\n description?: string;\n provider?: string;\n runtimeKind?: ExecutorType;\n model?: string;\n instructions: string;\n maxTurns?: number;\n timeout?: number;\n enabled: boolean;\n}\n\nconst schema = {\n agentConfig: AgentConfigTable,\n agentStatus: AgentStatus,\n provider: Provider,\n credential: Credential,\n model: Model,\n};\n\n/**\n * Agent Manager\n *\n * 管理 Agent 实例的完整生命周期\n */\nexport class AgentManager {\n private readonly logger = getLoggerFor(this);\n private readonly factory = new AgentExecutorFactory();\n private readonly instances = new Map<string, AgentInstance>();\n\n private async resolveModelId(db: any, modelRef: string | null | undefined): Promise<string | undefined> {\n if (!modelRef) {\n return undefined;\n }\n\n const model = await db.findByIri(Model, modelRef);\n return model?.id ?? undefined;\n }\n\n /**\n * 获取或创建 Agent 实例\n *\n * 如果 Agent 已存在且健在,直接返回\n * 否则根据配置创建新实例\n *\n * @param agentId Agent ID\n * @param podBaseUrl Pod 根 URL\n * @param authenticatedFetch 带认证的 fetch\n * @param webId 用户 WebID\n */\n public async getOrCreate(\n agentId: string,\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<AgentInstance | null> {\n // 1. 检查是否有健在的实例\n const existing = this.instances.get(agentId);\n if (existing && this.isAlive(existing)) {\n this.logger.debug(`Agent ${agentId} is alive, reusing instance`);\n return existing;\n }\n\n // 2. 从 Pod 读取配置并创建\n this.logger.info(`Creating agent instance: ${agentId}`);\n const instance = await this.createFromConfig(agentId, podBaseUrl, authenticatedFetch, webId);\n\n if (instance) {\n this.instances.set(agentId, instance);\n await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);\n }\n\n return instance;\n }\n\n /**\n * 检查 Agent 是否健在\n */\n private isAlive(instance: AgentInstance): boolean {\n // 简单判断:非 error 状态就是健在\n // 未来可以加入心跳检测\n return instance.status !== 'error';\n }\n\n /**\n * 从 Pod 配置创建 Agent 实例\n */\n private async createFromConfig(\n agentId: string,\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<AgentInstance | null> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db: any = drizzle(session, { schema });\n\n // 1. 读取 Agent 配置\n const agentConfig = await db.findByLocator(AgentConfigTable, { id: agentId });\n\n if (!agentConfig) {\n this.logger.warn(`Agent config not found: ${agentId}`);\n return null;\n }\n\n if (agentConfig.enabled !== 'true') {\n this.logger.debug(`Agent is disabled: ${agentId}`);\n return null;\n }\n\n // 2. 读取 provider URI\n const providerUri = agentConfig.provider;\n if (!providerUri) {\n this.logger.error(`Agent ${agentId} has no provider configured`);\n return null;\n }\n\n // 3. 读取 Provider 配置\n const provider = await db.findByIri(Provider, providerUri);\n\n if (!provider) {\n this.logger.error(`Provider not found: ${providerUri}`);\n return null;\n }\n\n const runtimeKind = agentConfig.runtimeKind;\n if (!runtimeKind || !this.factory.isSupported(runtimeKind)) {\n this.logger.error(`Agent ${agentId} has invalid runtimeKind: ${runtimeKind ?? '(missing)'}`);\n return null;\n }\n\n // 4. 读取 Credential\n const credentials = await db.query.credential.findMany({\n where: eq(Credential.provider, providerUri),\n });\n\n const activeCredential = credentials.find(\n (c: any) => c.status === CredentialStatus.ACTIVE && c.service === ServiceType.AI,\n );\n\n const providerId = provider.id;\n const defaultModel = await this.resolveModelId(db, provider.defaultModel ?? provider.hasModel);\n const selectedModel = await this.resolveModelId(db, agentConfig.model ?? undefined) ?? defaultModel;\n\n // 构建凭证(可能为空,Executor 会处理)\n const credential: AiCredential = {\n providerId,\n apiKey: (activeCredential as any)?.apiKey ?? '',\n baseUrl: (activeCredential as any)?.baseUrl ?? provider.baseUrl ?? undefined,\n projectId: (activeCredential as any)?.projectId ?? undefined,\n organizationId: (activeCredential as any)?.organizationId ?? undefined,\n };\n\n // 5. 创建 Executor\n const executor = this.factory.createExecutor(runtimeKind, {\n providerId,\n credential,\n providerConfig: {\n id: providerId,\n displayName: provider.displayName ?? providerId,\n executorType: runtimeKind,\n baseUrl: provider.baseUrl ?? undefined,\n defaultModel,\n enabled: provider.enabled === 'true',\n },\n });\n\n // 6. 构建执行器配置\n const config: ExecutorConfig = {\n name: agentId,\n description: agentConfig.description ?? undefined,\n systemPrompt: agentConfig.instructions ?? '',\n model: selectedModel,\n maxTokens: 8192,\n };\n\n // 7. 返回实例\n return {\n id: agentId,\n displayName: agentConfig.name ?? agentId,\n description: agentConfig.description ?? '',\n executor,\n config,\n status: 'idle',\n startedAt: new Date(),\n };\n } catch (error) {\n this.logger.error(`Failed to create agent ${agentId}:`, error);\n return null;\n }\n }\n\n /**\n * 发送消息给 Agent\n *\n * @param agentId Agent ID\n * @param message 消息内容\n * @param podBaseUrl Pod 根 URL\n * @param authenticatedFetch 带认证的 fetch\n * @param webId 用户 WebID\n * @param accessToken OAuth token(用于 MCP)\n */\n public async sendMessage(\n agentId: string,\n message: string,\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n accessToken?: string,\n ): Promise<{ success: boolean; result?: string; error?: string }> {\n // 1. 获取或创建实例\n const instance = await this.getOrCreate(agentId, podBaseUrl, authenticatedFetch, webId);\n if (!instance) {\n return { success: false, error: `Agent not found or disabled: ${agentId}` };\n }\n\n // 2. 更新状态为 running\n instance.status = 'running';\n instance.lastActivityAt = new Date();\n await this.updateStatus(agentId, 'running', podBaseUrl, authenticatedFetch, webId);\n\n try {\n // 3. 执行\n const result = await instance.executor.executeAndWait(instance.config, message);\n\n // 4. 更新状态\n instance.status = 'idle';\n instance.lastActivityAt = new Date();\n await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);\n\n if (result.success) {\n return { success: true, result: result.result };\n } else {\n return { success: false, error: result.error };\n }\n } catch (error) {\n // 5. 错误处理\n instance.status = 'error';\n await this.updateStatus(\n agentId,\n 'error',\n podBaseUrl,\n authenticatedFetch,\n webId,\n error instanceof Error ? error.message : String(error),\n );\n\n return {\n success: false,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n /**\n * 更新 Agent 状态到 Pod\n */\n private async updateStatus(\n agentId: string,\n status: 'idle' | 'running' | 'error',\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n errorMessage?: string,\n ): Promise<void> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db: any = drizzle(session, { schema });\n\n const now = new Date().toISOString();\n\n // 先查询是否存在,再决定插入或更新\n const existing = await db.findByLocator(AgentStatus, { id: agentId });\n\n if (existing) {\n await db.updateByLocator(AgentStatus, { id: agentId }, {\n status,\n lastActivityAt: now,\n errorMessage: errorMessage ?? undefined,\n });\n } else {\n await db.insert(AgentStatus).values({\n id: agentId,\n agentId,\n status,\n startedAt: status === 'running' ? now : undefined,\n lastActivityAt: now,\n errorMessage: errorMessage ?? undefined,\n });\n }\n } catch (error) {\n // 状态更新失败不影响主流程\n this.logger.warn(`Failed to update agent status: ${error}`);\n }\n }\n\n /**\n * 获取 Agent 状态\n */\n public getStatus(agentId: string): AgentInstance | undefined {\n return this.instances.get(agentId);\n }\n\n /**\n * 列出所有活跃的 Agent\n */\n public listActiveAgents(): AgentInstance[] {\n return Array.from(this.instances.values()).filter((i) => this.isAlive(i));\n }\n\n /**\n * 停止 Agent\n */\n public async stop(\n agentId: string,\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<void> {\n const instance = this.instances.get(agentId);\n if (instance) {\n instance.status = 'idle';\n await this.updateStatus(agentId, 'idle', podBaseUrl, authenticatedFetch, webId);\n this.instances.delete(agentId);\n this.logger.info(`Agent stopped: ${agentId}`);\n }\n }\n\n /**\n * 停止所有 Agent\n */\n public async stopAll(): Promise<void> {\n for (const [agentId] of this.instances) {\n this.instances.delete(agentId);\n this.logger.info(`Agent stopped: ${agentId}`);\n }\n }\n}\n\n/**\n * 默认 AgentManager 实例\n */\nexport const agentManager = new AgentManager();\n"]}
@@ -1,70 +0,0 @@
1
- /**
2
- * IndexAgent - 多层级文档索引 Agent
3
- *
4
- * 职责:为文件生成摘要和 embedding,使其可检索。
5
- *
6
- * 支持三个索引层级:
7
- * - L0:摘要级别,1-3句话描述文件
8
- * - L1:目录级别,提取主要标题和结构
9
- * - L2:全文级别,完整分块和向量化
10
- *
11
- * @see docs/indexing-agent.md 完整设计文档
12
- */
13
- import type { Agent, AgentContext, AgentResult } from '../task/types';
14
- /**
15
- * 索引层级类型
16
- */
17
- export type IndexLevel = 'L0' | 'L1' | 'L2';
18
- /**
19
- * IndexAgent 配置选项
20
- */
21
- export interface IndexAgentOptions {
22
- /** 索引层级,默认 L0 */
23
- level?: IndexLevel;
24
- }
25
- /**
26
- * IndexAgent 实现
27
- *
28
- * 通过 CodeBuddy SDK 执行,支持 L0/L1/L2 三个索引层级。
29
- */
30
- export declare class IndexAgent implements Agent {
31
- private readonly logger;
32
- private readonly executor;
33
- private readonly defaultLevel;
34
- readonly name = "indexing";
35
- readonly description = "\u6587\u6863\u7D22\u5F15 Agent\uFF0C\u5E2E\u52A9\u7528\u6237\u7684\u6587\u4EF6\u53D8\u5F97\u53EF\u68C0\u7D22";
36
- constructor(options?: IndexAgentOptions);
37
- /**
38
- * Agent 配置
39
- *
40
- * 根据索引层级配置不同的 system prompt 和参数
41
- */
42
- private getConfig;
43
- /**
44
- * 从消息中解析索引层级
45
- */
46
- private parseLevel;
47
- /**
48
- * 转换 usage 格式(ExecuteResult -> AgentResult)
49
- */
50
- private convertUsage;
51
- /**
52
- * 执行任务
53
- *
54
- * @param message 任务消息,可包含层级指示(如 "L2 索引"、"深度索引"、"全文索引")
55
- * @param context Agent 上下文
56
- */
57
- execute(message: string, context: AgentContext): Promise<AgentResult>;
58
- /**
59
- * 执行指定层级的索引
60
- *
61
- * @param level 索引层级
62
- * @param message 任务消息
63
- * @param context Agent 上下文
64
- */
65
- executeWithLevel(level: IndexLevel, message: string, context: AgentContext): Promise<AgentResult>;
66
- }
67
- /**
68
- * 默认 IndexAgent 实例
69
- */
70
- export declare const indexAgent: IndexAgent;