@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.
- package/dist/agents/AgentExecutorFactory.js +12 -13
- package/dist/agents/AgentExecutorFactory.js.map +1 -1
- package/dist/agents/config/agent-meta-schema.d.ts +31 -3
- package/dist/agents/config/agent-meta-schema.js +37 -3
- package/dist/agents/config/agent-meta-schema.js.map +1 -1
- package/dist/agents/config/index.d.ts +5 -5
- package/dist/agents/config/index.js +7 -6
- package/dist/agents/config/index.js.map +1 -1
- package/dist/agents/config/parse-agent-instructions.d.ts +12 -0
- package/dist/agents/config/parse-agent-instructions.js +23 -0
- package/dist/agents/config/parse-agent-instructions.js.map +1 -0
- package/dist/agents/config/resolve.d.ts +7 -12
- package/dist/agents/config/resolve.js +272 -156
- package/dist/agents/config/resolve.js.map +1 -1
- package/dist/agents/config/types.d.ts +33 -36
- package/dist/agents/config/types.js +4 -4
- package/dist/agents/config/types.js.map +1 -1
- package/dist/agents/index.d.ts +2 -7
- package/dist/agents/index.js +4 -14
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/types.d.ts +2 -2
- package/dist/agents/types.js.map +1 -1
- package/dist/ai/service/CredentialReaderImpl.js +9 -14
- package/dist/ai/service/CredentialReaderImpl.js.map +1 -1
- package/dist/api/ApiServer.d.ts +7 -0
- package/dist/api/ApiServer.js +5 -1
- package/dist/api/ApiServer.js.map +1 -1
- package/dist/api/chatkit/default-agent.js +1 -1
- package/dist/api/chatkit/default-agent.js.map +1 -1
- package/dist/api/chatkit/index.d.ts +8 -0
- package/dist/api/chatkit/index.js +15 -1
- package/dist/api/chatkit/index.js.map +1 -1
- package/dist/api/chatkit/pod-store.d.ts +80 -17
- package/dist/api/chatkit/pod-store.js +816 -162
- package/dist/api/chatkit/pod-store.js.map +1 -1
- package/dist/api/chatkit/runtime/AcpAgentRuntime.d.ts +41 -0
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js +573 -0
- package/dist/api/chatkit/runtime/AcpAgentRuntime.js.map +1 -0
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.d.ts +27 -0
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.js +157 -0
- package/dist/api/chatkit/runtime/CodexRuntimeProjector.js.map +1 -0
- package/dist/api/chatkit/schema.d.ts +53 -133
- package/dist/api/chatkit/schema.js +11 -175
- package/dist/api/chatkit/schema.js.map +1 -1
- package/dist/api/chatkit/service.d.ts +15 -9
- package/dist/api/chatkit/service.js +82 -234
- package/dist/api/chatkit/service.js.map +1 -1
- package/dist/api/chatkit/store.d.ts +35 -3
- package/dist/api/chatkit/store.js +157 -3
- package/dist/api/chatkit/store.js.map +1 -1
- package/dist/api/chatkit/types.d.ts +16 -2
- package/dist/api/chatkit/types.js +24 -5
- package/dist/api/chatkit/types.js.map +1 -1
- package/dist/api/container/common.js +59 -2
- package/dist/api/container/common.js.map +1 -1
- package/dist/api/container/index.js +15 -0
- package/dist/api/container/index.js.map +1 -1
- package/dist/api/container/routes.js +11 -0
- package/dist/api/container/routes.js.map +1 -1
- package/dist/api/container/types.d.ts +26 -0
- package/dist/api/container/types.js.map +1 -1
- package/dist/api/handlers/InngestHandler.d.ts +11 -0
- package/dist/api/handlers/InngestHandler.js +19 -0
- package/dist/api/handlers/InngestHandler.js.map +1 -0
- package/dist/api/handlers/RunHandler.d.ts +7 -0
- package/dist/api/handlers/RunHandler.js +169 -0
- package/dist/api/handlers/RunHandler.js.map +1 -0
- package/dist/api/handlers/index.d.ts +1 -0
- package/dist/api/handlers/index.js +1 -0
- package/dist/api/handlers/index.js.map +1 -1
- package/dist/api/models/namespaces.d.ts +2 -2
- package/dist/api/models/namespaces.js +1 -4
- package/dist/api/models/namespaces.js.map +1 -1
- package/dist/api/runs/AgentRuntimeTypes.d.ts +83 -0
- package/dist/api/runs/AgentRuntimeTypes.js +3 -0
- package/dist/api/runs/AgentRuntimeTypes.js.map +1 -0
- package/dist/api/runs/EmbeddedInngestService.d.ts +47 -0
- package/dist/api/runs/EmbeddedInngestService.js +203 -0
- package/dist/api/runs/EmbeddedInngestService.js.map +1 -0
- package/dist/api/runs/InngestRunExecutionBackend.d.ts +416 -0
- package/dist/api/runs/InngestRunExecutionBackend.js +225 -0
- package/dist/api/runs/InngestRunExecutionBackend.js.map +1 -0
- package/dist/api/runs/ManagedRunWorker.d.ts +52 -0
- package/dist/api/runs/ManagedRunWorker.js +452 -0
- package/dist/api/runs/ManagedRunWorker.js.map +1 -0
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +66 -0
- package/dist/api/runs/PiAgentRuntimeDriver.js +614 -0
- package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -0
- package/dist/api/runs/PiAgentRuntimeWorker.d.ts +1 -0
- package/dist/api/runs/PiAgentRuntimeWorker.js +33 -0
- package/dist/api/runs/PiAgentRuntimeWorker.js.map +1 -0
- package/dist/api/runs/RunAuthContextRegistry.d.ts +19 -0
- package/dist/api/runs/RunAuthContextRegistry.js +59 -0
- package/dist/api/runs/RunAuthContextRegistry.js.map +1 -0
- package/dist/api/runs/RunExecutionBackend.d.ts +57 -0
- package/dist/api/runs/RunExecutionBackend.js +3 -0
- package/dist/api/runs/RunExecutionBackend.js.map +1 -0
- package/dist/api/runs/RunStateCenter.d.ts +82 -0
- package/dist/api/runs/RunStateCenter.js +665 -0
- package/dist/api/runs/RunStateCenter.js.map +1 -0
- package/dist/api/runs/schema.d.ts +55 -0
- package/dist/api/runs/schema.js +14 -0
- package/dist/api/runs/schema.js.map +1 -0
- package/dist/api/runs/store.d.ts +105 -0
- package/dist/api/runs/store.js +116 -0
- package/dist/api/runs/store.js.map +1 -0
- package/dist/api/runtime.d.ts +2 -0
- package/dist/api/runtime.js +40 -1
- package/dist/api/runtime.js.map +1 -1
- package/dist/api/service/VectorStoreService.d.ts +1 -0
- package/dist/api/service/VectorStoreService.js +27 -34
- package/dist/api/service/VectorStoreService.js.map +1 -1
- package/dist/api/service/provider-registry.d.ts +1 -1
- package/dist/api/service/provider-registry.js +1 -1
- package/dist/api/service/provider-registry.js.map +1 -1
- package/dist/api/tasks/InngestTaskScheduler.d.ts +751 -0
- package/dist/api/tasks/InngestTaskScheduler.js +209 -0
- package/dist/api/tasks/InngestTaskScheduler.js.map +1 -0
- package/dist/api/tasks/TaskAuthBinding.d.ts +68 -0
- package/dist/api/tasks/TaskAuthBinding.js +162 -0
- package/dist/api/tasks/TaskAuthBinding.js.map +1 -0
- package/dist/api/tasks/TaskMaterializer.d.ts +55 -0
- package/dist/api/tasks/TaskMaterializer.js +452 -0
- package/dist/api/tasks/TaskMaterializer.js.map +1 -0
- package/dist/api/tasks/TaskService.d.ts +57 -0
- package/dist/api/tasks/TaskService.js +235 -0
- package/dist/api/tasks/TaskService.js.map +1 -0
- package/dist/api/tasks/index.d.ts +6 -0
- package/dist/api/tasks/index.js +25 -0
- package/dist/api/tasks/index.js.map +1 -0
- package/dist/api/tasks/schema.d.ts +23 -0
- package/dist/api/tasks/schema.js +8 -0
- package/dist/api/tasks/schema.js.map +1 -0
- package/dist/api/tasks/store.d.ts +40 -0
- package/dist/api/tasks/store.js +34 -0
- package/dist/api/tasks/store.js.map +1 -0
- package/dist/api/workspace/types.d.ts +3 -0
- package/dist/api/workspace/types.js +23 -0
- package/dist/api/workspace/types.js.map +1 -0
- package/dist/cli/commands/config.d.ts +8 -7
- package/dist/cli/commands/config.js +72 -48
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/login.d.ts +10 -8
- package/dist/cli/commands/login.js +84 -84
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/index.js +3 -124
- package/dist/cli/index.js.map +1 -1
- package/dist/http/search/SearchHttpHandler.js +13 -18
- package/dist/http/search/SearchHttpHandler.js.map +1 -1
- package/dist/storage/vector/VectorIndexingListener.js +13 -18
- package/dist/storage/vector/VectorIndexingListener.js.map +1 -1
- package/dist/vocab/index.d.ts +2 -6
- package/dist/vocab/index.js +2 -6
- package/dist/vocab/index.js.map +1 -1
- package/dist/vocab/udfs.d.ts +12 -0
- package/dist/vocab/udfs.js +12 -0
- package/dist/vocab/udfs.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/README.md +52 -24
- package/node_modules/@undefineds.co/drizzle-solid/README.zh-CN.md +30 -24
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts +6 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/discovery/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js +43 -10
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/ldp-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js +44 -13
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/pod-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js +21 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/sparql-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/execution/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/expressions.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts +76 -41
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js +443 -114
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-database.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts +28 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js +142 -31
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-dialect.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js +84 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/pod-session.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js +29 -9
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/insert-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts +2 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js +19 -51
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/select-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-builders/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts +2 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-conditions.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js +6 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/query-where-policy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts +4 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js +56 -23
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-reference.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts +14 -10
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js +55 -23
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/base-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.d.ts +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js +6 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/document-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.d.ts +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js +4 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/resource-resolver/fragment-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js +33 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/runtime/pod-runtime.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts +11 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/defs.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/factories.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts +13 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js +24 -22
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/pod-table.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/schema/solid-schema.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js +28 -14
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/subject/resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/triple/handlers/inline.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts +9 -9
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js +56 -22
- package/node_modules/@undefineds.co/drizzle-solid/dist/core/uri/resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts +9 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/driver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js +2 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/driver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts +6 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/discovery/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js +43 -10
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/ldp-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts +5 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js +44 -13
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/pod-executor.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js +21 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/sparql-strategy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/execution/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/expressions.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts +76 -41
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js +443 -114
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-database.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts +28 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js +142 -31
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-dialect.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js +84 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/pod-session.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js +29 -9
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/insert-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts +2 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js +19 -51
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts +1 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-builders/types.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts +2 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-conditions.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js +6 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/query-where-policy.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts +4 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js +56 -23
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-reference.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts +14 -10
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js +55 -23
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.d.ts +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js +6 -6
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.d.ts +3 -3
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js +4 -4
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/resource-resolver/fragment-resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js +33 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/runtime/pod-runtime.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts +11 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/defs.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/factories.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts +13 -8
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js +24 -22
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/pod-table.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts +3 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/schema/solid-schema.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js +28 -14
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/subject/resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js +3 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/triple/handlers/inline.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts +9 -9
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js +56 -22
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/core/uri/resolver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts +9 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js +2 -0
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/driver.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts +16 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/pod.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/esm/utils/find-by-iri.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts +16 -2
- package/node_modules/@undefineds.co/drizzle-solid/dist/pod.d.ts.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/dist/utils/find-by-iri.js.map +1 -1
- package/node_modules/@undefineds.co/drizzle-solid/package.json +1 -1
- package/package.json +9 -3
- package/dist/agents/AgentManager.d.ts +0 -116
- package/dist/agents/AgentManager.js +0 -290
- package/dist/agents/AgentManager.js.map +0 -1
- package/dist/agents/IndexAgent.d.ts +0 -70
- package/dist/agents/IndexAgent.js +0 -417
- package/dist/agents/IndexAgent.js.map +0 -1
- package/dist/agents/config/parse-agent-md.d.ts +0 -33
- package/dist/agents/config/parse-agent-md.js +0 -75
- package/dist/agents/config/parse-agent-md.js.map +0 -1
- package/dist/agents/schema/agent-config.d.ts +0 -2
- package/dist/agents/schema/agent-config.js +0 -32
- package/dist/agents/schema/agent-config.js.map +0 -1
- package/dist/agents/schema/create-agent-schema.d.ts +0 -25
- package/dist/agents/schema/create-agent-schema.js +0 -35
- package/dist/agents/schema/create-agent-schema.js.map +0 -1
- package/dist/api/chatkit/runtime/PtyThreadRuntime.d.ts +0 -127
- package/dist/api/chatkit/runtime/PtyThreadRuntime.js +0 -791
- package/dist/api/chatkit/runtime/PtyThreadRuntime.js.map +0 -1
- package/dist/cli/lib/agent-session.d.ts +0 -37
- package/dist/cli/lib/agent-session.js +0 -211
- package/dist/cli/lib/agent-session.js.map +0 -1
- package/dist/cli/lib/ensure-ai-credentials.d.ts +0 -13
- package/dist/cli/lib/ensure-ai-credentials.js +0 -40
- package/dist/cli/lib/ensure-ai-credentials.js.map +0 -1
- package/dist/cli/lib/model-manager.d.ts +0 -37
- package/dist/cli/lib/model-manager.js +0 -251
- package/dist/cli/lib/model-manager.js.map +0 -1
- package/dist/cli/lib/oauth-credential-manager.d.ts +0 -37
- package/dist/cli/lib/oauth-credential-manager.js +0 -129
- package/dist/cli/lib/oauth-credential-manager.js.map +0 -1
- package/dist/cli/lib/oauth-providers/codebuddy.d.ts +0 -25
- package/dist/cli/lib/oauth-providers/codebuddy.js +0 -69
- package/dist/cli/lib/oauth-providers/codebuddy.js.map +0 -1
- package/dist/cli/lib/oauth-providers/index.d.ts +0 -12
- package/dist/cli/lib/oauth-providers/index.js +0 -23
- package/dist/cli/lib/oauth-providers/index.js.map +0 -1
- package/dist/cli/lib/pi-optional.d.ts +0 -84
- package/dist/cli/lib/pi-optional.js +0 -35
- package/dist/cli/lib/pi-optional.js.map +0 -1
- package/dist/cli/lib/pod-ai-config.d.ts +0 -26
- package/dist/cli/lib/pod-ai-config.js +0 -99
- package/dist/cli/lib/pod-ai-config.js.map +0 -1
- package/dist/cli/lib/pod-thread-store.d.ts +0 -57
- package/dist/cli/lib/pod-thread-store.js +0 -312
- package/dist/cli/lib/pod-thread-store.js.map +0 -1
- package/dist/cli/lib/secretary-prompt.d.ts +0 -6
- package/dist/cli/lib/secretary-prompt.js +0 -85
- package/dist/cli/lib/secretary-prompt.js.map +0 -1
- package/dist/task/DrizzleTaskQueue.d.ts +0 -56
- package/dist/task/DrizzleTaskQueue.js +0 -171
- package/dist/task/DrizzleTaskQueue.js.map +0 -1
- package/dist/task/TaskExecutor.d.ts +0 -82
- package/dist/task/TaskExecutor.js +0 -198
- package/dist/task/TaskExecutor.js.map +0 -1
- package/dist/task/index.d.ts +0 -10
- package/dist/task/index.js +0 -20
- package/dist/task/index.js.map +0 -1
- package/dist/task/schema.d.ts +0 -53
- package/dist/task/schema.js +0 -71
- package/dist/task/schema.js.map +0 -1
- package/dist/task/types.d.ts +0 -186
- package/dist/task/types.js +0 -12
- 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;
|