@undefineds.co/xpod 0.2.45 → 0.3.1

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 (414) 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/storage/vector/VectorIndexingListener.js +13 -18
  151. package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
  152. package/dist/vocab/index.d.ts +2 -6
  153. package/dist/vocab/index.js +2 -6
  154. package/dist/vocab/index.js.map +1 -1
  155. package/dist/vocab/udfs.d.ts +12 -0
  156. package/dist/vocab/udfs.js +12 -0
  157. package/dist/vocab/udfs.js.map +1 -1
  158. package/node_modules/@undefineds.co/drizzle-solid/README.md +52 -24
  159. package/node_modules/@undefineds.co/drizzle-solid/README.zh-CN.md +30 -24
  160. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts +6 -2
  161. package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts.map +1 -1
  162. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
  163. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
  164. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +43 -10
  165. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
  166. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts.map +1 -1
  167. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js +1 -0
  168. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js.map +1 -1
  169. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts +5 -0
  170. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts.map +1 -1
  171. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js +44 -13
  172. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js.map +1 -1
  173. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts +1 -0
  174. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
  175. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +21 -2
  176. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
  177. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts +1 -0
  178. package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts.map +1 -1
  179. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts +1 -1
  180. package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts.map +1 -1
  181. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts +76 -41
  182. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts.map +1 -1
  183. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +443 -114
  184. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
  185. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts +28 -1
  186. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts.map +1 -1
  187. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js +142 -31
  188. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js.map +1 -1
  189. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts +3 -0
  190. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts.map +1 -1
  191. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js +84 -6
  192. package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js.map +1 -1
  193. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts +3 -0
  194. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts.map +1 -1
  195. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js +29 -9
  196. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js.map +1 -1
  197. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +2 -8
  198. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  199. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +19 -51
  200. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
  201. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts +1 -0
  202. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts.map +1 -1
  203. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts +2 -2
  204. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts.map +1 -1
  205. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +6 -6
  206. package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
  207. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts +4 -4
  208. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts.map +1 -1
  209. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js +56 -23
  210. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js.map +1 -1
  211. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts +14 -10
  212. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  213. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js +55 -23
  214. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js.map +1 -1
  215. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts +3 -3
  216. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js +6 -6
  217. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js.map +1 -1
  218. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts +3 -3
  219. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js +4 -4
  220. package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js.map +1 -1
  221. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts.map +1 -1
  222. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js +33 -8
  223. package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js.map +1 -1
  224. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts +11 -2
  225. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts.map +1 -1
  226. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts.map +1 -1
  227. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js +3 -2
  228. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js.map +1 -1
  229. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts +13 -8
  230. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts.map +1 -1
  231. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js +24 -22
  232. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js.map +1 -1
  233. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts +3 -0
  234. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts.map +1 -1
  235. package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js.map +1 -1
  236. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts +3 -2
  237. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts.map +1 -1
  238. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js +28 -14
  239. package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js.map +1 -1
  240. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts.map +1 -1
  241. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -2
  242. package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js.map +1 -1
  243. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts +9 -9
  244. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts.map +1 -1
  245. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js +56 -22
  246. package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js.map +1 -1
  247. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts +9 -1
  248. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts.map +1 -1
  249. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js +2 -0
  250. package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js.map +1 -1
  251. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +6 -2
  252. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts.map +1 -1
  253. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
  254. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
  255. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +43 -10
  256. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
  257. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -1
  258. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js +1 -0
  259. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js.map +1 -1
  260. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +5 -0
  261. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
  262. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js +44 -13
  263. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js.map +1 -1
  264. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +1 -0
  265. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
  266. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +21 -2
  267. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
  268. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +1 -0
  269. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts.map +1 -1
  270. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +1 -1
  271. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts.map +1 -1
  272. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +76 -41
  273. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts.map +1 -1
  274. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +443 -114
  275. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
  276. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +28 -1
  277. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts.map +1 -1
  278. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js +142 -31
  279. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js.map +1 -1
  280. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +3 -0
  281. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts.map +1 -1
  282. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js +84 -6
  283. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js.map +1 -1
  284. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +3 -0
  285. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -1
  286. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js +29 -9
  287. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js.map +1 -1
  288. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +2 -8
  289. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  290. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +19 -51
  291. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  292. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +1 -0
  293. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts.map +1 -1
  294. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +2 -2
  295. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts.map +1 -1
  296. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +6 -6
  297. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
  298. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts +4 -4
  299. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts.map +1 -1
  300. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js +56 -23
  301. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js.map +1 -1
  302. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +14 -10
  303. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  304. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js +55 -23
  305. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  306. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +3 -3
  307. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js +6 -6
  308. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  309. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +3 -3
  310. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js +4 -4
  311. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -1
  312. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
  313. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js +33 -8
  314. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js.map +1 -1
  315. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +11 -2
  316. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts.map +1 -1
  317. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts.map +1 -1
  318. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js +3 -2
  319. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js.map +1 -1
  320. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +13 -8
  321. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts.map +1 -1
  322. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js +24 -22
  323. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js.map +1 -1
  324. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +3 -0
  325. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts.map +1 -1
  326. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js.map +1 -1
  327. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +3 -2
  328. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts.map +1 -1
  329. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js +28 -14
  330. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js.map +1 -1
  331. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts.map +1 -1
  332. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -2
  333. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js.map +1 -1
  334. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +9 -9
  335. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts.map +1 -1
  336. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js +56 -22
  337. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js.map +1 -1
  338. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +9 -1
  339. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts.map +1 -1
  340. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js +2 -0
  341. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js.map +1 -1
  342. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +16 -2
  343. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts.map +1 -1
  344. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js +1 -1
  345. package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js.map +1 -1
  346. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts +16 -2
  347. package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts.map +1 -1
  348. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js +1 -1
  349. package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js.map +1 -1
  350. package/node_modules/@undefineds.co/drizzle-solid/package.json +1 -1
  351. package/package.json +9 -3
  352. package/dist/agents/AgentManager.d.ts +0 -116
  353. package/dist/agents/AgentManager.js +0 -290
  354. package/dist/agents/AgentManager.js.map +0 -1
  355. package/dist/agents/IndexAgent.d.ts +0 -70
  356. package/dist/agents/IndexAgent.js +0 -417
  357. package/dist/agents/IndexAgent.js.map +0 -1
  358. package/dist/agents/config/parse-agent-md.d.ts +0 -33
  359. package/dist/agents/config/parse-agent-md.js +0 -75
  360. package/dist/agents/config/parse-agent-md.js.map +0 -1
  361. package/dist/agents/schema/agent-config.d.ts +0 -2
  362. package/dist/agents/schema/agent-config.js +0 -32
  363. package/dist/agents/schema/agent-config.js.map +0 -1
  364. package/dist/agents/schema/create-agent-schema.d.ts +0 -25
  365. package/dist/agents/schema/create-agent-schema.js +0 -35
  366. package/dist/agents/schema/create-agent-schema.js.map +0 -1
  367. package/dist/api/chatkit/runtime/PtyThreadRuntime.d.ts +0 -127
  368. package/dist/api/chatkit/runtime/PtyThreadRuntime.js +0 -791
  369. package/dist/api/chatkit/runtime/PtyThreadRuntime.js.map +0 -1
  370. package/dist/cli/lib/agent-session.d.ts +0 -37
  371. package/dist/cli/lib/agent-session.js +0 -211
  372. package/dist/cli/lib/agent-session.js.map +0 -1
  373. package/dist/cli/lib/ensure-ai-credentials.d.ts +0 -13
  374. package/dist/cli/lib/ensure-ai-credentials.js +0 -40
  375. package/dist/cli/lib/ensure-ai-credentials.js.map +0 -1
  376. package/dist/cli/lib/model-manager.d.ts +0 -37
  377. package/dist/cli/lib/model-manager.js +0 -251
  378. package/dist/cli/lib/model-manager.js.map +0 -1
  379. package/dist/cli/lib/oauth-credential-manager.d.ts +0 -37
  380. package/dist/cli/lib/oauth-credential-manager.js +0 -129
  381. package/dist/cli/lib/oauth-credential-manager.js.map +0 -1
  382. package/dist/cli/lib/oauth-providers/codebuddy.d.ts +0 -25
  383. package/dist/cli/lib/oauth-providers/codebuddy.js +0 -69
  384. package/dist/cli/lib/oauth-providers/codebuddy.js.map +0 -1
  385. package/dist/cli/lib/oauth-providers/index.d.ts +0 -12
  386. package/dist/cli/lib/oauth-providers/index.js +0 -23
  387. package/dist/cli/lib/oauth-providers/index.js.map +0 -1
  388. package/dist/cli/lib/pi-optional.d.ts +0 -84
  389. package/dist/cli/lib/pi-optional.js +0 -35
  390. package/dist/cli/lib/pi-optional.js.map +0 -1
  391. package/dist/cli/lib/pod-ai-config.d.ts +0 -26
  392. package/dist/cli/lib/pod-ai-config.js +0 -99
  393. package/dist/cli/lib/pod-ai-config.js.map +0 -1
  394. package/dist/cli/lib/pod-thread-store.d.ts +0 -57
  395. package/dist/cli/lib/pod-thread-store.js +0 -312
  396. package/dist/cli/lib/pod-thread-store.js.map +0 -1
  397. package/dist/cli/lib/secretary-prompt.d.ts +0 -6
  398. package/dist/cli/lib/secretary-prompt.js +0 -85
  399. package/dist/cli/lib/secretary-prompt.js.map +0 -1
  400. package/dist/task/DrizzleTaskQueue.d.ts +0 -56
  401. package/dist/task/DrizzleTaskQueue.js +0 -171
  402. package/dist/task/DrizzleTaskQueue.js.map +0 -1
  403. package/dist/task/TaskExecutor.d.ts +0 -82
  404. package/dist/task/TaskExecutor.js +0 -198
  405. package/dist/task/TaskExecutor.js.map +0 -1
  406. package/dist/task/index.d.ts +0 -10
  407. package/dist/task/index.js +0 -20
  408. package/dist/task/index.js.map +0 -1
  409. package/dist/task/schema.d.ts +0 -53
  410. package/dist/task/schema.js +0 -71
  411. package/dist/task/schema.js.map +0 -1
  412. package/dist/task/types.d.ts +0 -186
  413. package/dist/task/types.js +0 -12
  414. package/dist/task/types.js.map +0 -1
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.agentExecutorFactory = exports.AgentExecutorFactory = exports.SUPPORTED_EXECUTOR_TYPES = void 0;
18
18
  const global_logger_factory_1 = require("global-logger-factory");
19
19
  const drizzle_solid_1 = require("@undefineds.co/drizzle-solid");
20
+ const models_1 = require("@undefineds.co/models");
20
21
  const provider_1 = require("../ai/schema/provider");
21
22
  const model_1 = require("../ai/schema/model");
22
23
  const tables_1 = require("../credential/schema/tables");
@@ -72,7 +73,7 @@ class AgentExecutorFactory {
72
73
  };
73
74
  const db = (0, drizzle_solid_1.drizzle)(session, { schema });
74
75
  // 1. 读取供应商配置
75
- const provider = await db.findByLocator(provider_1.Provider, { id: providerId });
76
+ const provider = await db.findById(provider_1.Provider, providerId);
76
77
  if (!provider) {
77
78
  this.logger.debug(`Provider not found: ${providerId}`);
78
79
  return null;
@@ -85,25 +86,23 @@ class AgentExecutorFactory {
85
86
  this.logger.warn(`Unsupported runtime kind: ${runtimeKind}. Only 'codebuddy' and 'claude' are supported.`);
86
87
  return null;
87
88
  }
88
- // 2. 读取凭证
89
- const providerUri = `${podBaseUrl}settings/ai/providers.ttl#${providerId}`;
90
89
  const credentials = await db.query.credential.findMany({
91
- where: (0, drizzle_solid_1.and)((0, drizzle_solid_1.eq)(tables_1.Credential.service, types_1.ServiceType.AI), (0, drizzle_solid_1.eq)(tables_1.Credential.status, types_1.CredentialStatus.ACTIVE), (0, drizzle_solid_1.eq)(tables_1.Credential.provider, providerUri)),
90
+ where: (0, drizzle_solid_1.and)((0, drizzle_solid_1.eq)(tables_1.Credential.service, types_1.ServiceType.AI), (0, drizzle_solid_1.eq)(tables_1.Credential.status, types_1.CredentialStatus.ACTIVE)),
92
91
  });
93
- if (credentials.length === 0) {
92
+ const providers = await db.query.provider.findMany();
93
+ const selection = (0, models_1.selectAIConfigCredential)(providerId, credentials, providers);
94
+ if (!selection) {
94
95
  this.logger.debug(`No active credential found for provider: ${providerId}`);
95
96
  return null;
96
97
  }
97
- // 随机选择一个凭证(负载均衡)
98
- const credential = credentials[Math.floor(Math.random() * credentials.length)];
99
98
  // 3. 构建凭证对象
100
99
  const aiCredential = {
101
- providerId,
102
- apiKey: credential.apiKey ?? '',
103
- baseUrl: credential.baseUrl ?? provider.baseUrl ?? undefined,
104
- proxyUrl: credential.proxyUrl ?? undefined,
105
- projectId: credential.projectId ?? undefined,
106
- organizationId: credential.organizationId ?? undefined,
100
+ providerId: selection.providerId,
101
+ apiKey: selection.apiKey,
102
+ baseUrl: selection.baseUrl,
103
+ proxyUrl: selection.proxyUrl,
104
+ projectId: selection.credential.projectId ?? undefined,
105
+ organizationId: selection.credential.organizationId ?? undefined,
107
106
  };
108
107
  // 4. 构建供应商配置
109
108
  const defaultModel = await this.resolveModelId(db, provider.defaultModel ?? provider.hasModel);
@@ -1 +1 @@
1
- {"version":3,"file":"AgentExecutorFactory.js","sourceRoot":"","sources":["../../src/agents/AgentExecutorFactory.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Executor Factory\n *\n * 从 Pod 读取凭证和 Provider 配置,创建对应的 Agent 执行器。\n *\n * 支持的执行器类型:\n * - codebuddy: CodeBuddy Agent SDK\n * - claude: Claude Agent SDK\n *\n * 使用流程:\n * 1. 从 Pod 读取 Provider 配置\n * 2. 从 Pod 读取对应的 Credential\n * 3. 根据 runtimeKind 创建对应的执行器实例\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { drizzle, eq, and } from '@undefineds.co/drizzle-solid';\nimport type { IAgentExecutor, ExecutorType, AiCredential, ProviderConfig, BaseExecutorOptions } from './types';\nimport { Provider } from '../ai/schema/provider';\nimport { Model } from '../ai/schema/model';\nimport { Credential } from '../credential/schema/tables';\nimport { ServiceType, CredentialStatus } from '../credential/schema/types';\n\n// 执行器实现(仅支持有完整 Agent SDK 的供应商)\nimport { ClaudeExecutor } from './ClaudeExecutor';\nimport { CodeBuddyExecutor } from './CodeBuddyExecutor';\n\nconst schema = {\n provider: Provider,\n credential: Credential,\n model: Model,\n};\n\n/**\n * 支持的执行器类型\n */\nexport const SUPPORTED_EXECUTOR_TYPES: ExecutorType[] = ['codebuddy', 'claude'];\n\n/**\n * Agent Executor Factory\n *\n * 负责从 Pod 读取配置并创建执行器实例。\n */\nexport class AgentExecutorFactory {\n private readonly logger = getLoggerFor(this);\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 * 检查执行器类型是否支持\n */\n public isSupported(executorType: string): executorType is ExecutorType {\n return SUPPORTED_EXECUTOR_TYPES.includes(executorType as ExecutorType);\n }\n\n /**\n * 从 Pod 创建执行器\n *\n * @param podBaseUrl Pod 根 URL\n * @param providerId 供应商 ID\n * @param authenticatedFetch 带认证的 fetch 函数\n * @param webId 用户 WebID(可选)\n * @returns 执行器实例,如果未找到配置则返回 null\n */\n public async create(\n podBaseUrl: string,\n providerId: string,\n runtimeKind: ExecutorType,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<IAgentExecutor | 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. 读取供应商配置\n const provider = await db.findByLocator(Provider, { id: providerId });\n\n if (!provider) {\n this.logger.debug(`Provider not found: ${providerId}`);\n return null;\n }\n\n if (provider.enabled !== 'true') {\n this.logger.debug(`Provider is disabled: ${providerId}`);\n return null;\n }\n\n if (!this.isSupported(runtimeKind)) {\n this.logger.warn(`Unsupported runtime kind: ${runtimeKind}. Only 'codebuddy' and 'claude' are supported.`);\n return null;\n }\n\n // 2. 读取凭证\n const providerUri = `${podBaseUrl}settings/ai/providers.ttl#${providerId}`;\n const credentials = await db.query.credential.findMany({\n where: and(\n eq(Credential.service, ServiceType.AI),\n eq(Credential.status, CredentialStatus.ACTIVE),\n eq(Credential.provider, providerUri),\n ),\n });\n\n if (credentials.length === 0) {\n this.logger.debug(`No active credential found for provider: ${providerId}`);\n return null;\n }\n\n // 随机选择一个凭证(负载均衡)\n const credential = credentials[Math.floor(Math.random() * credentials.length)] as any;\n\n // 3. 构建凭证对象\n const aiCredential: AiCredential = {\n providerId,\n apiKey: credential.apiKey ?? '',\n baseUrl: credential.baseUrl ?? provider.baseUrl ?? undefined,\n proxyUrl: credential.proxyUrl ?? undefined,\n projectId: credential.projectId ?? undefined,\n organizationId: credential.organizationId ?? undefined,\n };\n\n // 4. 构建供应商配置\n const defaultModel = await this.resolveModelId(db, provider.defaultModel ?? provider.hasModel);\n const providerConfig: ProviderConfig = {\n id: provider.id,\n displayName: provider.displayName ?? provider.id,\n executorType: runtimeKind,\n baseUrl: provider.baseUrl ?? undefined,\n defaultModel,\n enabled: provider.enabled === 'true',\n };\n\n // 5. 创建执行器\n return this.createExecutor(runtimeKind, {\n providerId,\n credential: aiCredential,\n providerConfig,\n });\n } catch (error) {\n this.logger.error(`Failed to create executor for provider ${providerId}:`, error);\n return null;\n }\n }\n\n /**\n * 列出所有可用的供应商\n */\n public async listProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db: any = drizzle(session, { schema });\n\n const providers = await db.query.provider.findMany();\n\n return Promise.all(providers.map(async (p: typeof providers[number]) => ({\n id: p.id,\n displayName: p.displayName ?? p.id,\n executorType: runtimeKind,\n baseUrl: p.baseUrl ?? undefined,\n defaultModel: await this.resolveModelId(db, p.defaultModel ?? p.hasModel),\n enabled: p.enabled === 'true',\n })));\n } catch (error) {\n this.logger.error('Failed to list providers:', error);\n return [];\n }\n }\n\n /**\n * 列出所有启用的供应商\n */\n public async listEnabledProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n const providers = await this.listProviders(podBaseUrl, authenticatedFetch, runtimeKind, webId);\n return providers.filter((p) => p.enabled);\n }\n\n /**\n * 列出所有支持的供应商(runtimeKind 受支持且已启用)\n */\n public async listSupportedProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n if (!this.isSupported(runtimeKind)) {\n return [];\n }\n\n return this.listEnabledProviders(podBaseUrl, authenticatedFetch, runtimeKind, webId);\n }\n\n /**\n * 根据 executorType 创建执行器\n */\n public createExecutor(executorType: ExecutorType, options: BaseExecutorOptions): IAgentExecutor {\n switch (executorType) {\n case 'claude':\n return new ClaudeExecutor(options);\n\n case 'codebuddy':\n return new CodeBuddyExecutor(options);\n\n default:\n throw new Error(\n `Unsupported executor type: ${executorType}. ` +\n `Only 'codebuddy' and 'claude' are supported because they have complete Agent SDKs.`\n );\n }\n }\n\n /**\n * 创建指定类型的执行器(直接使用凭证,不从 Pod 读取)\n *\n * 用于测试或已知凭证的场景。\n */\n public createDirect(\n executorType: ExecutorType,\n providerId: string,\n credential: AiCredential,\n ): IAgentExecutor {\n return this.createExecutor(executorType, {\n providerId,\n credential,\n });\n }\n}\n\n/**\n * 默认工厂实例\n */\nexport const agentExecutorFactory = new AgentExecutorFactory();\n"]}
1
+ {"version":3,"file":"AgentExecutorFactory.js","sourceRoot":"","sources":["../../src/agents/AgentExecutorFactory.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEH,iEAAqD;AACrD,gEAAgE;AAChE,kDAAiE;AAEjE,oDAAiD;AACjD,8CAA2C;AAC3C,wDAAyD;AACzD,sDAA2E;AAE3E,+BAA+B;AAC/B,qDAAkD;AAClD,2DAAwD;AAExD,MAAM,MAAM,GAAG;IACb,QAAQ,EAAE,mBAAQ;IAClB,UAAU,EAAE,mBAAU;IACtB,KAAK,EAAE,aAAK;CACb,CAAC;AAEF;;GAEG;AACU,QAAA,wBAAwB,GAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEhF;;;;GAIG;AACH,MAAa,oBAAoB;IAAjC;QACmB,WAAM,GAAG,IAAA,oCAAY,EAAC,IAAI,CAAC,CAAC;IAyM/C,CAAC;IAvMS,KAAK,CAAC,cAAc,CAAC,EAAO,EAAE,QAAmC;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,aAAK,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,KAAK,EAAE,EAAE,IAAI,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,YAAoB;QACrC,OAAO,gCAAwB,CAAC,QAAQ,CAAC,YAA4B,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,UAAkB,EAClB,WAAyB,EACzB,kBAAgC,EAChC,KAAc;QAEd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,kBAAkB;aAC1B,CAAC;YACF,MAAM,EAAE,GAAQ,IAAA,uBAAO,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7C,aAAa;YACb,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAQ,EAAE,UAAU,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,WAAW,gDAAgD,CAAC,CAAC;gBAC3G,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACrD,KAAK,EAAE,IAAA,mBAAG,EACR,IAAA,kBAAE,EAAC,mBAAU,CAAC,OAAO,EAAE,mBAAW,CAAC,EAAE,CAAC,EACtC,IAAA,kBAAE,EAAC,mBAAU,CAAC,MAAM,EAAE,wBAAgB,CAAC,MAAM,CAAC,CAC/C;aACF,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,IAAA,iCAAwB,EAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;YAE/E,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC;YACd,CAAC;YAED,YAAY;YACZ,MAAM,YAAY,GAAiB;gBACjC,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,SAAS,EAAG,SAAS,CAAC,UAAkB,CAAC,SAAS,IAAI,SAAS;gBAC/D,cAAc,EAAG,SAAS,CAAC,UAAkB,CAAC,cAAc,IAAI,SAAS;aAC1E,CAAC;YAEF,aAAa;YACb,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/F,MAAM,cAAc,GAAmB;gBACrC,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,EAAE;gBAChD,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,SAAS;gBACtC,YAAY;gBACZ,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,MAAM;aACrC,CAAC;YAEF,WAAW;YACX,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;gBACtC,UAAU;gBACV,UAAU,EAAE,YAAY;gBACxB,cAAc;aACf,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa,CACxB,UAAkB,EAClB,kBAAgC,EAChC,WAAyB,EACzB,KAAc;QAEd,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;gBACjC,KAAK,EAAE,kBAAkB;aAC1B,CAAC;YACF,MAAM,EAAE,GAAQ,IAAA,uBAAO,EAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAErD,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,CAA2B,EAAE,EAAE,CAAC,CAAC;gBACvE,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE;gBAClC,YAAY,EAAE,WAAW;gBACzB,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,SAAS;gBAC/B,YAAY,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC;gBACzE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM;aAC9B,CAAC,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB,CAC/B,UAAkB,EAClB,kBAAgC,EAChC,WAAyB,EACzB,KAAc;QAEd,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC/F,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,sBAAsB,CACjC,UAAkB,EAClB,kBAAgC,EAChC,WAAyB,EACzB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,YAA0B,EAAE,OAA4B;QAC5E,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,OAAO,IAAI,+BAAc,CAAC,OAAO,CAAC,CAAC;YAErC,KAAK,WAAW;gBACd,OAAO,IAAI,qCAAiB,CAAC,OAAO,CAAC,CAAC;YAExC;gBACE,MAAM,IAAI,KAAK,CACb,8BAA8B,YAAY,IAAI;oBAC9C,oFAAoF,CACrF,CAAC;QACN,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CACjB,YAA0B,EAC1B,UAAkB,EAClB,UAAwB;QAExB,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YACvC,UAAU;YACV,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF;AA1MD,oDA0MC;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC","sourcesContent":["/**\n * Agent Executor Factory\n *\n * 从 Pod 读取凭证和 Provider 配置,创建对应的 Agent 执行器。\n *\n * 支持的执行器类型:\n * - codebuddy: CodeBuddy Agent SDK\n * - claude: Claude Agent SDK\n *\n * 使用流程:\n * 1. 从 Pod 读取 Provider 配置\n * 2. 从 Pod 读取对应的 Credential\n * 3. 根据 runtimeKind 创建对应的执行器实例\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { drizzle, eq, and } from '@undefineds.co/drizzle-solid';\nimport { selectAIConfigCredential } from '@undefineds.co/models';\nimport type { IAgentExecutor, ExecutorType, AiCredential, ProviderConfig, BaseExecutorOptions } from './types';\nimport { Provider } from '../ai/schema/provider';\nimport { Model } from '../ai/schema/model';\nimport { Credential } from '../credential/schema/tables';\nimport { ServiceType, CredentialStatus } from '../credential/schema/types';\n\n// 执行器实现(仅支持有完整 Agent SDK 的供应商)\nimport { ClaudeExecutor } from './ClaudeExecutor';\nimport { CodeBuddyExecutor } from './CodeBuddyExecutor';\n\nconst schema = {\n provider: Provider,\n credential: Credential,\n model: Model,\n};\n\n/**\n * 支持的执行器类型\n */\nexport const SUPPORTED_EXECUTOR_TYPES: ExecutorType[] = ['codebuddy', 'claude'];\n\n/**\n * Agent Executor Factory\n *\n * 负责从 Pod 读取配置并创建执行器实例。\n */\nexport class AgentExecutorFactory {\n private readonly logger = getLoggerFor(this);\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 * 检查执行器类型是否支持\n */\n public isSupported(executorType: string): executorType is ExecutorType {\n return SUPPORTED_EXECUTOR_TYPES.includes(executorType as ExecutorType);\n }\n\n /**\n * 从 Pod 创建执行器\n *\n * @param podBaseUrl Pod 根 URL\n * @param providerId 供应商 ID\n * @param authenticatedFetch 带认证的 fetch 函数\n * @param webId 用户 WebID(可选)\n * @returns 执行器实例,如果未找到配置则返回 null\n */\n public async create(\n podBaseUrl: string,\n providerId: string,\n runtimeKind: ExecutorType,\n authenticatedFetch: typeof fetch,\n webId?: string,\n ): Promise<IAgentExecutor | 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. 读取供应商配置\n const provider = await db.findById(Provider, providerId);\n\n if (!provider) {\n this.logger.debug(`Provider not found: ${providerId}`);\n return null;\n }\n\n if (provider.enabled !== 'true') {\n this.logger.debug(`Provider is disabled: ${providerId}`);\n return null;\n }\n\n if (!this.isSupported(runtimeKind)) {\n this.logger.warn(`Unsupported runtime kind: ${runtimeKind}. Only 'codebuddy' and 'claude' are supported.`);\n return null;\n }\n\n const credentials = await db.query.credential.findMany({\n where: and(\n eq(Credential.service, ServiceType.AI),\n eq(Credential.status, CredentialStatus.ACTIVE),\n ),\n });\n const providers = await db.query.provider.findMany();\n const selection = selectAIConfigCredential(providerId, credentials, providers);\n\n if (!selection) {\n this.logger.debug(`No active credential found for provider: ${providerId}`);\n return null;\n }\n\n // 3. 构建凭证对象\n const aiCredential: AiCredential = {\n providerId: selection.providerId,\n apiKey: selection.apiKey,\n baseUrl: selection.baseUrl,\n proxyUrl: selection.proxyUrl,\n projectId: (selection.credential as any).projectId ?? undefined,\n organizationId: (selection.credential as any).organizationId ?? undefined,\n };\n\n // 4. 构建供应商配置\n const defaultModel = await this.resolveModelId(db, provider.defaultModel ?? provider.hasModel);\n const providerConfig: ProviderConfig = {\n id: provider.id,\n displayName: provider.displayName ?? provider.id,\n executorType: runtimeKind,\n baseUrl: provider.baseUrl ?? undefined,\n defaultModel,\n enabled: provider.enabled === 'true',\n };\n\n // 5. 创建执行器\n return this.createExecutor(runtimeKind, {\n providerId,\n credential: aiCredential,\n providerConfig,\n });\n } catch (error) {\n this.logger.error(`Failed to create executor for provider ${providerId}:`, error);\n return null;\n }\n }\n\n /**\n * 列出所有可用的供应商\n */\n public async listProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n try {\n const session = {\n info: { isLoggedIn: true, webId },\n fetch: authenticatedFetch,\n };\n const db: any = drizzle(session, { schema });\n\n const providers = await db.query.provider.findMany();\n\n return Promise.all(providers.map(async (p: typeof providers[number]) => ({\n id: p.id,\n displayName: p.displayName ?? p.id,\n executorType: runtimeKind,\n baseUrl: p.baseUrl ?? undefined,\n defaultModel: await this.resolveModelId(db, p.defaultModel ?? p.hasModel),\n enabled: p.enabled === 'true',\n })));\n } catch (error) {\n this.logger.error('Failed to list providers:', error);\n return [];\n }\n }\n\n /**\n * 列出所有启用的供应商\n */\n public async listEnabledProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n const providers = await this.listProviders(podBaseUrl, authenticatedFetch, runtimeKind, webId);\n return providers.filter((p) => p.enabled);\n }\n\n /**\n * 列出所有支持的供应商(runtimeKind 受支持且已启用)\n */\n public async listSupportedProviders(\n podBaseUrl: string,\n authenticatedFetch: typeof fetch,\n runtimeKind: ExecutorType,\n webId?: string,\n ): Promise<ProviderConfig[]> {\n if (!this.isSupported(runtimeKind)) {\n return [];\n }\n\n return this.listEnabledProviders(podBaseUrl, authenticatedFetch, runtimeKind, webId);\n }\n\n /**\n * 根据 executorType 创建执行器\n */\n public createExecutor(executorType: ExecutorType, options: BaseExecutorOptions): IAgentExecutor {\n switch (executorType) {\n case 'claude':\n return new ClaudeExecutor(options);\n\n case 'codebuddy':\n return new CodeBuddyExecutor(options);\n\n default:\n throw new Error(\n `Unsupported executor type: ${executorType}. ` +\n `Only 'codebuddy' and 'claude' are supported because they have complete Agent SDKs.`\n );\n }\n }\n\n /**\n * 创建指定类型的执行器(直接使用凭证,不从 Pod 读取)\n *\n * 用于测试或已知凭证的场景。\n */\n public createDirect(\n executorType: ExecutorType,\n providerId: string,\n credential: AiCredential,\n ): IAgentExecutor {\n return this.createExecutor(executorType, {\n providerId,\n credential,\n });\n }\n}\n\n/**\n * 默认工厂实例\n */\nexport const agentExecutorFactory = new AgentExecutorFactory();\n"]}
@@ -4,7 +4,35 @@
4
4
  * Each agent folder has a .meta auxiliary resource:
5
5
  * /agents/{agentId}/.meta
6
6
  *
7
- * Uses the shared LinX/Xpod Agent contract with a different base path.
7
+ * This is an adapter for the existing AGENTS.md + .meta runtime config layout,
8
+ * not a durable shared model. Durable Agent resources belong in
9
+ * @undefineds.co/models; the extra runtime fields here are local runtime
10
+ * adapter inputs until the shared model owns that contract.
8
11
  */
9
- import { createAgentSchema } from '../schema/create-agent-schema';
10
- export declare const AgentMetaSchema: ReturnType<typeof createAgentSchema>;
12
+ export declare const AgentMetaSchema: import("@undefineds.co/drizzle-solid").SolidSchema<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
13
+ id: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
14
+ name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
15
+ description: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
16
+ avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
17
+ instructions: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
18
+ provider: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
19
+ runtimeKind: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
20
+ credential: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
21
+ model: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
22
+ enabled: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
23
+ permissionMode: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
24
+ allowedTools: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "string", false, false>;
25
+ disallowedTools: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "string", false, false>;
26
+ skills: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "uri", false, false>;
27
+ mcpServers: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "string", false, false>;
28
+ temperature: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
29
+ tools: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "string", false, false>;
30
+ contextRound: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
31
+ maxTurns: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, false>;
32
+ timeout: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, false>;
33
+ ttsModel: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
34
+ videoModel: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
35
+ createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
36
+ updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
37
+ deletedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
38
+ }>>;
@@ -5,10 +5,44 @@
5
5
  * Each agent folder has a .meta auxiliary resource:
6
6
  * /agents/{agentId}/.meta
7
7
  *
8
- * Uses the shared LinX/Xpod Agent contract with a different base path.
8
+ * This is an adapter for the existing AGENTS.md + .meta runtime config layout,
9
+ * not a durable shared model. Durable Agent resources belong in
10
+ * @undefineds.co/models; the extra runtime fields here are local runtime
11
+ * adapter inputs until the shared model owns that contract.
9
12
  */
10
13
  Object.defineProperty(exports, "__esModule", { value: true });
11
14
  exports.AgentMetaSchema = void 0;
12
- const create_agent_schema_1 = require("../schema/create-agent-schema");
13
- exports.AgentMetaSchema = (0, create_agent_schema_1.createAgentSchema)({ nameRequired: false });
15
+ const models_1 = require("@undefineds.co/models");
16
+ const drizzle_solid_1 = require("@undefineds.co/drizzle-solid");
17
+ const udfs_1 = require("../../vocab/udfs");
18
+ exports.AgentMetaSchema = (0, drizzle_solid_1.solidSchema)({
19
+ id: (0, drizzle_solid_1.string)('id').primaryKey(),
20
+ name: (0, drizzle_solid_1.string)('name').predicate(models_1.FOAF.name),
21
+ description: (0, drizzle_solid_1.text)('description').predicate(models_1.DCTerms.description),
22
+ avatarUrl: (0, drizzle_solid_1.uri)('avatarUrl').predicate(models_1.VCARD.hasPhoto),
23
+ instructions: (0, drizzle_solid_1.text)('instructions').predicate((0, udfs_1.UDFS)('systemPrompt')),
24
+ provider: (0, drizzle_solid_1.uri)('provider').predicate((0, udfs_1.UDFS)('provider')),
25
+ runtimeKind: (0, drizzle_solid_1.string)('runtimeKind').predicate((0, udfs_1.UDFS)('runtimeKind')),
26
+ credential: (0, drizzle_solid_1.uri)('credential').predicate((0, udfs_1.UDFS)('credential')).link(models_1.credentialResource),
27
+ model: (0, drizzle_solid_1.uri)('model').predicate((0, udfs_1.UDFS)('model')).link(models_1.aiModelResource),
28
+ enabled: (0, drizzle_solid_1.string)('enabled').predicate((0, udfs_1.UDFS)('enabled')).default('true'),
29
+ permissionMode: (0, drizzle_solid_1.string)('permissionMode').predicate((0, udfs_1.UDFS)('permissionMode')),
30
+ allowedTools: (0, drizzle_solid_1.text)('allowedTools').array().predicate((0, udfs_1.UDFS)('allowedTool')),
31
+ disallowedTools: (0, drizzle_solid_1.text)('disallowedTools').array().predicate((0, udfs_1.UDFS)('disallowedTool')),
32
+ skills: (0, drizzle_solid_1.uri)('skills').array().predicate((0, udfs_1.UDFS)('skill')),
33
+ mcpServers: (0, drizzle_solid_1.text)('mcpServers').array().predicate((0, udfs_1.UDFS)('mcpServer')),
34
+ temperature: (0, drizzle_solid_1.real)('temperature').predicate((0, udfs_1.UDFS)('temperature')).default(0.7),
35
+ tools: (0, drizzle_solid_1.text)('tools').array().predicate((0, udfs_1.UDFS)('tools')),
36
+ contextRound: (0, drizzle_solid_1.integer)('contextRound').predicate((0, udfs_1.UDFS)('contextRound')).default(4),
37
+ maxTurns: (0, drizzle_solid_1.integer)('maxTurns').predicate((0, udfs_1.UDFS)('maxTurns')),
38
+ timeout: (0, drizzle_solid_1.integer)('timeout').predicate((0, udfs_1.UDFS)('timeout')),
39
+ ttsModel: (0, drizzle_solid_1.uri)('ttsModel').predicate((0, udfs_1.UDFS)('ttsModel')).link(models_1.aiModelResource),
40
+ videoModel: (0, drizzle_solid_1.uri)('videoModel').predicate((0, udfs_1.UDFS)('videoModel')).link(models_1.aiModelResource),
41
+ createdAt: (0, drizzle_solid_1.timestamp)('createdAt').predicate(models_1.DCTerms.created).notNull().defaultNow(),
42
+ updatedAt: (0, drizzle_solid_1.timestamp)('updatedAt').predicate(models_1.DCTerms.modified).notNull().defaultNow(),
43
+ deletedAt: (0, drizzle_solid_1.timestamp)('deletedAt').predicate((0, udfs_1.UDFS)('deletedAt')),
44
+ }, {
45
+ type: udfs_1.UDFS.AgentConfig,
46
+ namespace: udfs_1.UDFS,
47
+ });
14
48
  //# sourceMappingURL=agent-meta-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-meta-schema.js","sourceRoot":"","sources":["../../../src/agents/config/agent-meta-schema.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,uEAAkE;AAErD,QAAA,eAAe,GAAyC,IAAA,uCAAiB,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC","sourcesContent":["/**\n * Agent Meta Schema - Per-agent .meta TTL document\n *\n * Each agent folder has a .meta auxiliary resource:\n * /agents/{agentId}/.meta\n *\n * Uses the shared LinX/Xpod Agent contract with a different base path.\n */\n\nimport { createAgentSchema } from '../schema/create-agent-schema';\n\nexport const AgentMetaSchema: ReturnType<typeof createAgentSchema> = createAgentSchema({ nameRequired: false });\n"]}
1
+ {"version":3,"file":"agent-meta-schema.js","sourceRoot":"","sources":["../../../src/agents/config/agent-meta-schema.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Meta Schema - Per-agent .meta TTL document\n *\n * Each agent folder has a .meta auxiliary resource:\n * /agents/{agentId}/.meta\n *\n * This is an adapter for the existing AGENTS.md + .meta runtime config layout,\n * not a durable shared model. Durable Agent resources belong in\n * @undefineds.co/models; the extra runtime fields here are local runtime\n * adapter inputs until the shared model owns that contract.\n */\n\nimport {\n DCTerms,\n FOAF,\n VCARD,\n aiModelResource,\n credentialResource,\n} from '@undefineds.co/models';\nimport {\n integer,\n real,\n solidSchema,\n string,\n text,\n timestamp,\n uri,\n} from '@undefineds.co/drizzle-solid';\nimport { UDFS } from '../../vocab/udfs';\n\nexport const AgentMetaSchema = solidSchema({\n id: string('id').primaryKey(),\n name: string('name').predicate(FOAF.name),\n description: text('description').predicate(DCTerms.description),\n avatarUrl: uri('avatarUrl').predicate(VCARD.hasPhoto),\n instructions: text('instructions').predicate(UDFS('systemPrompt')),\n provider: uri('provider').predicate(UDFS('provider')),\n runtimeKind: string('runtimeKind').predicate(UDFS('runtimeKind')),\n credential: uri('credential').predicate(UDFS('credential')).link(credentialResource),\n model: uri('model').predicate(UDFS('model')).link(aiModelResource),\n enabled: string('enabled').predicate(UDFS('enabled')).default('true'),\n permissionMode: string('permissionMode').predicate(UDFS('permissionMode')),\n allowedTools: text('allowedTools').array().predicate(UDFS('allowedTool')),\n disallowedTools: text('disallowedTools').array().predicate(UDFS('disallowedTool')),\n skills: uri('skills').array().predicate(UDFS('skill')),\n mcpServers: text('mcpServers').array().predicate(UDFS('mcpServer')),\n temperature: real('temperature').predicate(UDFS('temperature')).default(0.7),\n tools: text('tools').array().predicate(UDFS('tools')),\n contextRound: integer('contextRound').predicate(UDFS('contextRound')).default(4),\n maxTurns: integer('maxTurns').predicate(UDFS('maxTurns')),\n timeout: integer('timeout').predicate(UDFS('timeout')),\n ttsModel: uri('ttsModel').predicate(UDFS('ttsModel')).link(aiModelResource),\n videoModel: uri('videoModel').predicate(UDFS('videoModel')).link(aiModelResource),\n createdAt: timestamp('createdAt').predicate(DCTerms.created).notNull().defaultNow(),\n updatedAt: timestamp('updatedAt').predicate(DCTerms.modified).notNull().defaultNow(),\n deletedAt: timestamp('deletedAt').predicate(UDFS('deletedAt')),\n}, {\n type: UDFS.AgentConfig,\n namespace: UDFS,\n});\n"]}
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Agent Config Module
3
3
  *
4
- * Per-agent configuration system based on:
5
- * - AGENT.md: user-editable markdown (system prompt + skills + MCP servers)
6
- * - .meta: server-side TTL (provider/credential/model references)
4
+ * Per-agent configuration system based on a Pod-hosted Agent Profile:
5
+ * - AGENTS.md: user-editable plain Markdown guidance
6
+ * - .meta: RDF runtime config and refs to shared skill documents
7
7
  */
8
- export type { AgentFrontmatter, AgentMcpServerDef, AgentMetaRecord, ParsedAgentMd, ResolvedAgentConfig, } from './types';
9
- export { parseAgentMd } from './parse-agent-md';
8
+ export type { AgentMcpServerDef, AgentRuntimeKind, AgentMetaRecord, ResolvedAgentSkill, ResolvedAgentConfig, } from './types';
9
+ export { parseAgentInstructions, extractMarkdownBody } from './parse-agent-instructions';
10
10
  export { AgentMetaSchema } from './agent-meta-schema';
11
11
  export { resolveAgentConfig } from './resolve';
@@ -2,15 +2,16 @@
2
2
  /**
3
3
  * Agent Config Module
4
4
  *
5
- * Per-agent configuration system based on:
6
- * - AGENT.md: user-editable markdown (system prompt + skills + MCP servers)
7
- * - .meta: server-side TTL (provider/credential/model references)
5
+ * Per-agent configuration system based on a Pod-hosted Agent Profile:
6
+ * - AGENTS.md: user-editable plain Markdown guidance
7
+ * - .meta: RDF runtime config and refs to shared skill documents
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.resolveAgentConfig = exports.AgentMetaSchema = exports.parseAgentMd = void 0;
10
+ exports.resolveAgentConfig = exports.AgentMetaSchema = exports.extractMarkdownBody = exports.parseAgentInstructions = void 0;
11
11
  // Parser
12
- var parse_agent_md_1 = require("./parse-agent-md");
13
- Object.defineProperty(exports, "parseAgentMd", { enumerable: true, get: function () { return parse_agent_md_1.parseAgentMd; } });
12
+ var parse_agent_instructions_1 = require("./parse-agent-instructions");
13
+ Object.defineProperty(exports, "parseAgentInstructions", { enumerable: true, get: function () { return parse_agent_instructions_1.parseAgentInstructions; } });
14
+ Object.defineProperty(exports, "extractMarkdownBody", { enumerable: true, get: function () { return parse_agent_instructions_1.extractMarkdownBody; } });
14
15
  // Schema
15
16
  var agent_meta_schema_1 = require("./agent-meta-schema");
16
17
  Object.defineProperty(exports, "AgentMetaSchema", { enumerable: true, get: function () { return agent_meta_schema_1.AgentMetaSchema; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/config/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAWH,SAAS;AACT,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AAErB,SAAS;AACT,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AAExB,WAAW;AACX,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA","sourcesContent":["/**\n * Agent Config Module\n *\n * Per-agent configuration system based on:\n * - AGENT.md: user-editable markdown (system prompt + skills + MCP servers)\n * - .meta: server-side TTL (provider/credential/model references)\n */\n\n// Types\nexport type {\n AgentFrontmatter,\n AgentMcpServerDef,\n AgentMetaRecord,\n ParsedAgentMd,\n ResolvedAgentConfig,\n} from './types';\n\n// Parser\nexport { parseAgentMd } from './parse-agent-md';\n\n// Schema\nexport { AgentMetaSchema } from './agent-meta-schema';\n\n// Resolver\nexport { resolveAgentConfig } from './resolve';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/config/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAWH,SAAS;AACT,uEAAyF;AAAhF,kIAAA,sBAAsB,OAAA;AAAE,+HAAA,mBAAmB,OAAA;AAEpD,SAAS;AACT,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AAExB,WAAW;AACX,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA","sourcesContent":["/**\n * Agent Config Module\n *\n * Per-agent configuration system based on a Pod-hosted Agent Profile:\n * - AGENTS.md: user-editable plain Markdown guidance\n * - .meta: RDF runtime config and refs to shared skill documents\n */\n\n// Types\nexport type {\n AgentMcpServerDef,\n AgentRuntimeKind,\n AgentMetaRecord,\n ResolvedAgentSkill,\n ResolvedAgentConfig,\n} from './types';\n\n// Parser\nexport { parseAgentInstructions, extractMarkdownBody } from './parse-agent-instructions';\n\n// Schema\nexport { AgentMetaSchema } from './agent-meta-schema';\n\n// Resolver\nexport { resolveAgentConfig } from './resolve';\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Agent instruction parser.
3
+ *
4
+ * AGENTS.md follows the Codex-style convention: it is plain Markdown guidance,
5
+ * not a structured configuration carrier. Runtime settings live in .meta.
6
+ */
7
+ export declare function parseAgentInstructions(content: string): string;
8
+ /**
9
+ * Skill files may use Markdown frontmatter for skill metadata. Runtime prompt
10
+ * composition only needs the instruction body.
11
+ */
12
+ export declare function extractMarkdownBody(content: string): string;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAgentInstructions = parseAgentInstructions;
4
+ exports.extractMarkdownBody = extractMarkdownBody;
5
+ /**
6
+ * Agent instruction parser.
7
+ *
8
+ * AGENTS.md follows the Codex-style convention: it is plain Markdown guidance,
9
+ * not a structured configuration carrier. Runtime settings live in .meta.
10
+ */
11
+ function parseAgentInstructions(content) {
12
+ return content.trim();
13
+ }
14
+ /**
15
+ * Skill files may use Markdown frontmatter for skill metadata. Runtime prompt
16
+ * composition only needs the instruction body.
17
+ */
18
+ function extractMarkdownBody(content) {
19
+ const trimmed = content.trim();
20
+ const match = /^---\r?\n[\s\S]*?\r?\n---\r?\n?([\s\S]*)$/.exec(trimmed);
21
+ return (match?.[1] ?? trimmed).trim();
22
+ }
23
+ //# sourceMappingURL=parse-agent-instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-agent-instructions.js","sourceRoot":"","sources":["../../../src/agents/config/parse-agent-instructions.ts"],"names":[],"mappings":";;AAMA,wDAEC;AAMD,kDAIC;AAlBD;;;;;GAKG;AACH,SAAgB,sBAAsB,CAAC,OAAe;IACpD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,OAAe;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,CAAC","sourcesContent":["/**\n * Agent instruction parser.\n *\n * AGENTS.md follows the Codex-style convention: it is plain Markdown guidance,\n * not a structured configuration carrier. Runtime settings live in .meta.\n */\nexport function parseAgentInstructions(content: string): string {\n return content.trim();\n}\n\n/**\n * Skill files may use Markdown frontmatter for skill metadata. Runtime prompt\n * composition only needs the instruction body.\n */\nexport function extractMarkdownBody(content: string): string {\n const trimmed = content.trim();\n const match = /^---\\r?\\n[\\s\\S]*?\\r?\\n---\\r?\\n?([\\s\\S]*)$/.exec(trimmed);\n return (match?.[1] ?? trimmed).trim();\n}\n"]}
@@ -1,16 +1,11 @@
1
1
  /**
2
2
  * Agent Config Resolver
3
3
  *
4
- * Reads /agents/{agentId}/AGENT.md + /agents/{agentId}/.meta from Pod,
5
- * resolves provider/credential/model URIs, and assembles a ResolvedAgentConfig.
6
- *
7
- * Flow:
8
- * 1. Fetch AGENT.md parse frontmatter + body
9
- * 2. Query .meta TTL → get provider/credential/model URIs
10
- * 3. Resolve URIs → Provider, Credential, Model records
11
- * 4. Fetch skills (if any) → concatenate prompt content
12
- * 5. Convert MCP server defs → McpServerConfig map
13
- * 6. Return ResolvedAgentConfig
4
+ * Reads a Pod-hosted Agent Profile:
5
+ * - /agents/{agentId}/AGENTS.md is plain Markdown guidance.
6
+ * - /agents/{agentId}/.meta#config is RDF runtime config.
7
+ * - Skill refs point at shared SKILL.md documents in Pod storage.
8
+ * - MCP servers are structured config entries, not mcp/*.json files.
14
9
  */
15
10
  import type { ResolvedAgentConfig } from './types';
16
11
  interface ResolveContext {
@@ -21,9 +16,9 @@ interface ResolveContext {
21
16
  /**
22
17
  * Resolve a complete agent config from Pod storage.
23
18
  *
24
- * @param agentId - Agent folder name (e.g. 'secretary')
19
+ * @param agentId - Agent folder name, for example "secretary"
25
20
  * @param ctx - Pod access context
26
- * @returns Fully resolved config, or null if agent not found / disabled
21
+ * @returns Fully resolved config, or null if agent is missing / disabled / invalid
27
22
  */
28
23
  export declare function resolveAgentConfig(agentId: string, ctx: ResolveContext): Promise<ResolvedAgentConfig | null>;
29
24
  export {};