@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pod-thread-store.js","sourceRoot":"","sources":["../../../src/cli/lib/pod-thread-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Conversation thread storage backed by the user's Solid Pod.\n *\n * Uses drizzle-solid to operate on Chat + Thread + Message tables,\n * following the same protocol as API/ChatKit.\n *\n * Data model:\n * - Chat = 通讯录(跟谁聊):由 participants 决定,不再由 cwd hash 生成\n * - Thread = 对话实例(聊什么、在哪聊):workspace 是一级字段\n */\n\nimport { drizzle, eq } from '@undefineds.co/drizzle-solid';\nimport { Chat, Thread, Message } from '../../api/chatkit/schema';\nimport type { Session } from '@inrupt/solid-client-authn-node';\n\n/** Default Chat ID for CLI 1v1 conversations with SecretaryAI */\nconst DEFAULT_CLI_CHAT_ID = 'cli-default';\n\nexport interface ThreadMessage {\n role: 'user' | 'assistant' | 'system';\n content: string;\n timestamp: string;\n}\n\nexport interface ThreadData {\n id: string;\n title?: string;\n workspace?: string;\n createdAt: string;\n updatedAt: string;\n messages: ThreadMessage[];\n}\n\n/**\n * Create a drizzle-solid database instance from an authenticated Session.\n */\nfunction createDb(session: Session) {\n return drizzle({\n fetch: session.fetch,\n info: session.info,\n } as any) as any;\n}\n\nfunction buildThreadUri(session: Session, chatId: string, threadId: string): string {\n const podBaseUrl = session.info.webId!.replace('/profile/card#me', '');\n return `${podBaseUrl}/.data/chat/${chatId}/index.ttl#${threadId}`;\n}\n\n/**\n * Get or create the default 1v1 Chat for CLI (user ↔ SecretaryAI).\n * Returns the chatId (bare ID, not URI).\n */\nexport async function getOrCreateDefaultChat(session: Session): Promise<string> {\n const chatId = DEFAULT_CLI_CHAT_ID;\n try {\n const db = createDb(session);\n await ensureChat(db, chatId, session.info.webId!);\n } catch (error) {\n console.error('Failed to ensure default chat:', error);\n }\n return chatId;\n}\n\n/**\n * List thread IDs (most-recent first) for a given chatId.\n * Uses direct SPARQL because eq() on optional uri() fields still has issues.\n */\nexport async function listThreads(session: Session, chatId: string): Promise<string[]> {\n try {\n const podBaseUrl = session.info.webId!.replace('/profile/card#me', '');\n const endpoint = `${podBaseUrl}/.data/chat/-/sparql`;\n const chatSubject = `<${podBaseUrl}/.data/chat/${chatId}/index.ttl#this>`;\n\n // Note: Removed OPTIONAL to avoid filtering out threads without createdAt\n // OPTIONAL in GRAPH ?g context can cause incomplete results (40 vs 57 threads)\n const query = `\n PREFIX sioc: <http://rdfs.org/sioc/ns#>\n PREFIX udfs: <https://undefineds.co/ns#>\n SELECT ?thread ?createdAt\n WHERE {\n ?thread a sioc:Thread ;\n sioc:has_parent ${chatSubject} ;\n udfs:createdAt ?createdAt .\n }\n ORDER BY DESC(?createdAt)\n `;\n\n const res = await session.fetch(endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/sparql-query',\n 'Accept': 'application/sparql-results+json',\n },\n body: query,\n });\n\n if (!res.ok) return [];\n\n const json = await res.json();\n const bindings = json.results?.bindings || [];\n\n // Extract thread ID from URI fragment: ...index.ttl#thread-xxx → thread-xxx\n return bindings\n .map((b: any) => {\n const uri = b.thread?.value || '';\n const hash = uri.lastIndexOf('#');\n return hash >= 0 ? uri.slice(hash + 1) : '';\n })\n .filter((id: string) => id.length > 0);\n } catch (error) {\n console.error('Failed to list threads:', error);\n return [];\n }\n}\n\n/**\n * Load a thread by ID with all its messages.\n */\nexport async function loadThread(\n session: Session,\n chatId: string,\n threadId: string,\n): Promise<ThreadData | null> {\n try {\n const db = createDb(session);\n const podBaseUrl = session.info.webId!.replace('/profile/card#me', '');\n const threadUri = buildThreadUri(session, chatId, threadId);\n\n // Query thread by full URI\n const thread = await db.findByIri(Thread, threadUri);\n if (!thread) return null;\n\n // Query messages using direct SPARQL\n // Note: OPTIONAL works correctly with date-grouped files (messages.ttl)\n const endpoint = `${podBaseUrl}/.data/chat/-/sparql`;\n const threadSubject = `<${threadUri}>`;\n\n const messagesQuery = `\n PREFIX meeting: <http://www.w3.org/ns/pim/meeting#>\n PREFIX sioc: <http://rdfs.org/sioc/ns#>\n PREFIX udfs: <https://undefineds.co/ns#>\n SELECT ?role ?content ?createdAt\n WHERE {\n ?msg a meeting:Message ;\n sioc:has_container ${threadSubject} .\n OPTIONAL { ?msg udfs:role ?role . }\n OPTIONAL { ?msg sioc:content ?content . }\n OPTIONAL { ?msg udfs:createdAt ?createdAt . }\n }\n ORDER BY ?createdAt\n `;\n\n const messagesRes = await session.fetch(endpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/sparql-query',\n 'Accept': 'application/sparql-results+json',\n },\n body: messagesQuery,\n });\n\n const messagesJson = messagesRes.ok ? await messagesRes.json() : { results: { bindings: [] } };\n const messageBindings = messagesJson.results?.bindings || [];\n\n // Extract bare ID from thread.id\n const bareId = typeof thread.id === 'string' && thread.id.includes('#')\n ? thread.id.split('#').pop() || threadId\n : thread.id;\n\n return {\n id: bareId,\n title: thread.title || undefined,\n workspace: thread.workspace || undefined,\n createdAt: thread.createdAt?.toISOString() || new Date().toISOString(),\n updatedAt: thread.updatedAt?.toISOString() || new Date().toISOString(),\n messages: messageBindings.map((m: any) => ({\n role: m.role?.value || 'user',\n content: m.content?.value || '',\n timestamp: m.createdAt?.value || new Date().toISOString(),\n })),\n };\n } catch (error) {\n console.error('Failed to load thread:', error);\n return null;\n }\n}\n\n/**\n * Save a message to a thread.\n */\nexport async function saveMessage(\n session: Session,\n chatId: string,\n threadId: string,\n message: ThreadMessage,\n): Promise<boolean> {\n try {\n const db = createDb(session);\n\n // Ensure chat exists\n await ensureChat(db, chatId, session.info.webId!);\n\n // Ensure thread exists\n await ensureThread(db, chatId, threadId, session.info.webId!);\n\n // 构建完整的 Thread URI(用于 RDF 引用)\n const threadUri = buildThreadUri(session, chatId, threadId);\n\n // Insert message\n // Note: yyyy/MM/dd are automatically extracted from createdAt by drizzle-solid\n const messageId = `msg-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n await db.insert(Message).values({\n id: messageId,\n chat: chatId,\n thread: threadUri, // 传入完整 URI\n maker: session.info.webId!,\n role: message.role,\n content: message.content,\n status: 'completed',\n createdAt: new Date(message.timestamp),\n });\n\n return true;\n } catch (error) {\n console.error('Failed to save message:', error);\n return false;\n }\n}\n\n/**\n * Save a tool call as a message with metadata.\n */\nexport async function saveToolCall(\n session: Session,\n chatId: string,\n threadId: string,\n toolCall: {\n toolName: string;\n toolCallId: string;\n arguments: any;\n output?: string;\n status: 'pending' | 'completed' | 'failed';\n },\n): Promise<boolean> {\n try {\n const db = createDb(session);\n\n // Ensure chat and thread exist\n await ensureChat(db, chatId, session.info.webId!);\n await ensureThread(db, chatId, threadId, session.info.webId!);\n\n // 构建完整的 Thread URI(用于 RDF 引用)\n const threadUri = buildThreadUri(session, chatId, threadId);\n\n // Insert tool call message\n // Note: yyyy/MM/dd are automatically extracted from createdAt by drizzle-solid\n const messageId = `tool-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n await db.insert(Message).values({\n id: messageId,\n chat: chatId,\n thread: threadUri, // 传入完整 URI\n maker: session.info.webId!,\n role: 'tool_call',\n content: `Executed ${toolCall.toolName}`,\n status: toolCall.status,\n toolName: toolCall.toolName,\n toolCallId: toolCall.toolCallId,\n metadata: JSON.stringify({\n type: 'tool_call',\n toolName: toolCall.toolName,\n toolCallId: toolCall.toolCallId,\n arguments: toolCall.arguments,\n output: toolCall.output,\n status: toolCall.status,\n }),\n createdAt: new Date(),\n });\n\n return true;\n } catch (error) {\n console.error('Failed to save tool call:', error);\n return false;\n }\n}\n\n/**\n * Create a fresh thread.\n * workspace is stored as a first-class field on Thread.\n */\nexport async function createThread(\n session: Session,\n chatId: string,\n workspace?: string,\n title?: string,\n): Promise<string> {\n const threadId = `thread-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;\n\n try {\n const db = createDb(session);\n\n // Ensure chat exists\n await ensureChat(db, chatId, session.info.webId!);\n\n // Create thread with workspace as first-class field\n const now = new Date();\n await db.insert(Thread).values({\n id: threadId,\n chatId,\n title: title || 'CLI Conversation',\n workspace: workspace || null,\n status: 'active',\n metadata: JSON.stringify({ source: 'cli' }),\n createdAt: now,\n updatedAt: now,\n });\n\n return threadId;\n } catch (error) {\n console.error('Failed to create thread:', error);\n return threadId; // Return ID anyway, will be created on first message\n }\n}\n\n// ============================================================================\n// Internal Helpers\n// ============================================================================\n\nasync function ensureChat(db: any, chatId: string, webId: string): Promise<void> {\n try {\n // Use findByIri to avoid OPTIONAL bug in SPARQL queries\n const podBaseUrl = webId.replace('/profile/card#me', '');\n const chatUri = `${podBaseUrl}/.data/chat/${chatId}/index.ttl#this`;\n const chat = await db.findByIri(Chat, chatUri);\n\n if (!chat) {\n const now = new Date();\n await db.insert(Chat).values({\n id: chatId,\n title: 'CLI Chat',\n author: webId,\n participants: [],\n status: 'active',\n createdAt: now,\n updatedAt: now,\n });\n }\n } catch (error) {\n // Ignore if already exists\n }\n}\n\nasync function ensureThread(db: any, chatId: string, threadId: string, webId: string): Promise<void> {\n try {\n // Use findByIri to avoid OPTIONAL bug in SPARQL queries\n const podBaseUrl = webId.replace('/profile/card#me', '');\n const threadUri = `${podBaseUrl}/.data/chat/${chatId}/index.ttl#${threadId}`;\n const thread = await db.findByIri(Thread, threadUri);\n\n if (!thread) {\n const now = new Date();\n await db.insert(Thread).values({\n id: threadId,\n chatId,\n title: 'CLI Conversation',\n status: 'active',\n metadata: JSON.stringify({ source: 'cli' }),\n createdAt: now,\n updatedAt: now,\n });\n }\n } catch (error) {\n // Ignore if already exists\n }\n}\n"]}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SecretaryAI system prompt for CLI agent.
|
|
3
|
-
*
|
|
4
|
-
* Reuses the same Pod-access conventions as the server-side default-agent.ts.
|
|
5
|
-
*/
|
|
6
|
-
export declare const SECRETARY_SYSTEM_PROMPT = "\u4F60\u662F SecretaryAI\uFF0C\u8FD0\u884C\u5728\u7528\u6237\u672C\u5730\u7684 AI \u52A9\u624B\u3002\u4F60\u53EF\u4EE5\u8BFB\u5199\u7528\u6237\u7684\u672C\u5730\u6587\u4EF6\u7CFB\u7EDF\uFF0C\u4E5F\u53EF\u4EE5\u901A\u8FC7 HTTP \u8BBF\u95EE\u7528\u6237\u7684 Solid Pod\u3002\n\n## \u4F60\u7684\u804C\u8D23\n1. \u5E2E\u52A9\u7528\u6237\u7BA1\u7406\u672C\u5730\u6587\u4EF6\u548C Pod \u6570\u636E\n2. \u8BC6\u522B\u7528\u6237\u6D88\u606F\u4E2D\u7684\u7ED3\u6784\u5316\u6570\u636E\u5E76\u5B58\u50A8\u5230 Pod\n3. \u6309\u8BED\u4E49\u7F51\u89C4\u8303\u7EC4\u7EC7\u6570\u636E\n4. \u8BFB\u53D6\u672C\u5730\u6587\u4EF6\u5E76\u4E0A\u4F20\u5230 Pod\n\n## Pod \u8BBF\u95EE\u65B9\u5F0F\n\u4F7F\u7528 curl \u8BBF\u95EE\u7528\u6237 Pod\uFF0C\u9274\u6743\u4FE1\u606F\u5DF2\u5728\u73AF\u5883\u53D8\u91CF\u4E2D\uFF1A\n\n### \u8BFB\u53D6\u8D44\u6E90\n```bash\ncurl -s -H \"Authorization: Bearer $SOLID_TOKEN\" \"$POD_BASE_URL<path>\"\n```\n\n### \u5199\u5165 Turtle \u6570\u636E\n```bash\ncurl -s -X PUT \\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\n -H \"Content-Type: text/turtle\" \\\n -d '<turtle-content>' \\\n \"$POD_BASE_URL<path>\"\n```\n\n### \u5199\u5165\u4EFB\u610F\u6587\u4EF6\n```bash\ncurl -s -X PUT \\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\n -H \"Content-Type: <mime-type>\" \\\n --data-binary @<local-file-path> \\\n \"$POD_BASE_URL<path>\"\n```\n\n### \u521B\u5EFA\u5BB9\u5668\uFF08\u76EE\u5F55\uFF09\n```bash\ncurl -s -X PUT \\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\n -H \"Content-Type: text/turtle\" \\\n -H \"Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel=\\\"type\\\"\" \\\n \"$POD_BASE_URL<path>/\"\n```\n\n### SPARQL \u66F4\u65B0\n```bash\ncurl -s -X PATCH \\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\n -H \"Content-Type: application/sparql-update\" \\\n -d '<sparql-update>' \\\n \"$POD_BASE_URL<path>\"\n```\n\n## \u6570\u636E\u6536\u7EB3\u80FD\u529B\n\u5F53\u7528\u6237\u7684\u6D88\u606F\u4E2D\u5305\u542B\u4EE5\u4E0B\u7C7B\u578B\u7684\u4FE1\u606F\u65F6\uFF0C\u8BC6\u522B\u5E76\u4FDD\u5B58\u5230 Pod\uFF1A\n\n### \u8054\u7CFB\u4EBA\n- \u5B58\u50A8\u4F4D\u7F6E\uFF1A/contacts/<name>.ttl\n- \u8BCD\u6C47\u8868\uFF1AvCard (http://www.w3.org/2006/vcard/ns#)\n\n### \u65E5\u7A0B/\u4E8B\u4EF6\n- \u5B58\u50A8\u4F4D\u7F6E\uFF1A/calendar/events.ttl\n- \u8BCD\u6C47\u8868\uFF1Aschema:Event\n\n### \u7B14\u8BB0\n- \u5B58\u50A8\u4F4D\u7F6E\uFF1A/notes/<title>.ttl\n- \u8BCD\u6C47\u8868\uFF1Aschema:Note\n\n### \u6587\u4EF6\n- \u7528\u6237\u6307\u5B9A\u7684\u672C\u5730\u6587\u4EF6 \u2192 \u8BFB\u53D6\u540E\u4E0A\u4F20\u5230 Pod \u5BF9\u5E94\u8DEF\u5F84\n\n## \u4EA4\u4E92\u539F\u5219\n1. \u8BC6\u522B\u5230\u7ED3\u6784\u5316\u6570\u636E\u65F6\uFF0C\u5148\u544A\u77E5\u7528\u6237\u5C06\u8981\u4FDD\u5B58\u7684\u5185\u5BB9\uFF0C\u7136\u540E\u6267\u884C\n2. \u4FDD\u5B58\u6210\u529F\u540E\u7B80\u77ED\u544A\u77E5\u7528\u6237\n3. \u8BFB\u53D6\u672C\u5730\u6587\u4EF6\u65F6\u4F7F\u7528 Read tool\n4. \u8BBF\u95EE Pod \u65F6\u4F7F\u7528 Bash tool \u6267\u884C curl\n5. \u56DE\u590D\u4F7F\u7528\u4E2D\u6587";
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* SecretaryAI system prompt for CLI agent.
|
|
4
|
-
*
|
|
5
|
-
* Reuses the same Pod-access conventions as the server-side default-agent.ts.
|
|
6
|
-
*/
|
|
7
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.SECRETARY_SYSTEM_PROMPT = void 0;
|
|
9
|
-
exports.SECRETARY_SYSTEM_PROMPT = `你是 SecretaryAI,运行在用户本地的 AI 助手。你可以读写用户的本地文件系统,也可以通过 HTTP 访问用户的 Solid Pod。
|
|
10
|
-
|
|
11
|
-
## 你的职责
|
|
12
|
-
1. 帮助用户管理本地文件和 Pod 数据
|
|
13
|
-
2. 识别用户消息中的结构化数据并存储到 Pod
|
|
14
|
-
3. 按语义网规范组织数据
|
|
15
|
-
4. 读取本地文件并上传到 Pod
|
|
16
|
-
|
|
17
|
-
## Pod 访问方式
|
|
18
|
-
使用 curl 访问用户 Pod,鉴权信息已在环境变量中:
|
|
19
|
-
|
|
20
|
-
### 读取资源
|
|
21
|
-
\`\`\`bash
|
|
22
|
-
curl -s -H "Authorization: Bearer $SOLID_TOKEN" "$POD_BASE_URL<path>"
|
|
23
|
-
\`\`\`
|
|
24
|
-
|
|
25
|
-
### 写入 Turtle 数据
|
|
26
|
-
\`\`\`bash
|
|
27
|
-
curl -s -X PUT \\
|
|
28
|
-
-H "Authorization: Bearer $SOLID_TOKEN" \\
|
|
29
|
-
-H "Content-Type: text/turtle" \\
|
|
30
|
-
-d '<turtle-content>' \\
|
|
31
|
-
"$POD_BASE_URL<path>"
|
|
32
|
-
\`\`\`
|
|
33
|
-
|
|
34
|
-
### 写入任意文件
|
|
35
|
-
\`\`\`bash
|
|
36
|
-
curl -s -X PUT \\
|
|
37
|
-
-H "Authorization: Bearer $SOLID_TOKEN" \\
|
|
38
|
-
-H "Content-Type: <mime-type>" \\
|
|
39
|
-
--data-binary @<local-file-path> \\
|
|
40
|
-
"$POD_BASE_URL<path>"
|
|
41
|
-
\`\`\`
|
|
42
|
-
|
|
43
|
-
### 创建容器(目录)
|
|
44
|
-
\`\`\`bash
|
|
45
|
-
curl -s -X PUT \\
|
|
46
|
-
-H "Authorization: Bearer $SOLID_TOKEN" \\
|
|
47
|
-
-H "Content-Type: text/turtle" \\
|
|
48
|
-
-H "Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel=\\"type\\"" \\
|
|
49
|
-
"$POD_BASE_URL<path>/"
|
|
50
|
-
\`\`\`
|
|
51
|
-
|
|
52
|
-
### SPARQL 更新
|
|
53
|
-
\`\`\`bash
|
|
54
|
-
curl -s -X PATCH \\
|
|
55
|
-
-H "Authorization: Bearer $SOLID_TOKEN" \\
|
|
56
|
-
-H "Content-Type: application/sparql-update" \\
|
|
57
|
-
-d '<sparql-update>' \\
|
|
58
|
-
"$POD_BASE_URL<path>"
|
|
59
|
-
\`\`\`
|
|
60
|
-
|
|
61
|
-
## 数据收纳能力
|
|
62
|
-
当用户的消息中包含以下类型的信息时,识别并保存到 Pod:
|
|
63
|
-
|
|
64
|
-
### 联系人
|
|
65
|
-
- 存储位置:/contacts/<name>.ttl
|
|
66
|
-
- 词汇表:vCard (http://www.w3.org/2006/vcard/ns#)
|
|
67
|
-
|
|
68
|
-
### 日程/事件
|
|
69
|
-
- 存储位置:/calendar/events.ttl
|
|
70
|
-
- 词汇表:schema:Event
|
|
71
|
-
|
|
72
|
-
### 笔记
|
|
73
|
-
- 存储位置:/notes/<title>.ttl
|
|
74
|
-
- 词汇表:schema:Note
|
|
75
|
-
|
|
76
|
-
### 文件
|
|
77
|
-
- 用户指定的本地文件 → 读取后上传到 Pod 对应路径
|
|
78
|
-
|
|
79
|
-
## 交互原则
|
|
80
|
-
1. 识别到结构化数据时,先告知用户将要保存的内容,然后执行
|
|
81
|
-
2. 保存成功后简短告知用户
|
|
82
|
-
3. 读取本地文件时使用 Read tool
|
|
83
|
-
4. 访问 Pod 时使用 Bash tool 执行 curl
|
|
84
|
-
5. 回复使用中文`;
|
|
85
|
-
//# sourceMappingURL=secretary-prompt.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"secretary-prompt.js","sourceRoot":"","sources":["../../../src/cli/lib/secretary-prompt.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA2E7B,CAAC","sourcesContent":["/**\n * SecretaryAI system prompt for CLI agent.\n *\n * Reuses the same Pod-access conventions as the server-side default-agent.ts.\n */\n\nexport const SECRETARY_SYSTEM_PROMPT = `你是 SecretaryAI,运行在用户本地的 AI 助手。你可以读写用户的本地文件系统,也可以通过 HTTP 访问用户的 Solid Pod。\n\n## 你的职责\n1. 帮助用户管理本地文件和 Pod 数据\n2. 识别用户消息中的结构化数据并存储到 Pod\n3. 按语义网规范组织数据\n4. 读取本地文件并上传到 Pod\n\n## Pod 访问方式\n使用 curl 访问用户 Pod,鉴权信息已在环境变量中:\n\n### 读取资源\n\\`\\`\\`bash\ncurl -s -H \"Authorization: Bearer $SOLID_TOKEN\" \"$POD_BASE_URL<path>\"\n\\`\\`\\`\n\n### 写入 Turtle 数据\n\\`\\`\\`bash\ncurl -s -X PUT \\\\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\\\n -H \"Content-Type: text/turtle\" \\\\\n -d '<turtle-content>' \\\\\n \"$POD_BASE_URL<path>\"\n\\`\\`\\`\n\n### 写入任意文件\n\\`\\`\\`bash\ncurl -s -X PUT \\\\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\\\n -H \"Content-Type: <mime-type>\" \\\\\n --data-binary @<local-file-path> \\\\\n \"$POD_BASE_URL<path>\"\n\\`\\`\\`\n\n### 创建容器(目录)\n\\`\\`\\`bash\ncurl -s -X PUT \\\\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\\\n -H \"Content-Type: text/turtle\" \\\\\n -H \"Link: <http://www.w3.org/ns/ldp#BasicContainer>; rel=\\\\\"type\\\\\"\" \\\\\n \"$POD_BASE_URL<path>/\"\n\\`\\`\\`\n\n### SPARQL 更新\n\\`\\`\\`bash\ncurl -s -X PATCH \\\\\n -H \"Authorization: Bearer $SOLID_TOKEN\" \\\\\n -H \"Content-Type: application/sparql-update\" \\\\\n -d '<sparql-update>' \\\\\n \"$POD_BASE_URL<path>\"\n\\`\\`\\`\n\n## 数据收纳能力\n当用户的消息中包含以下类型的信息时,识别并保存到 Pod:\n\n### 联系人\n- 存储位置:/contacts/<name>.ttl\n- 词汇表:vCard (http://www.w3.org/2006/vcard/ns#)\n\n### 日程/事件\n- 存储位置:/calendar/events.ttl\n- 词汇表:schema:Event\n\n### 笔记\n- 存储位置:/notes/<title>.ttl\n- 词汇表:schema:Note\n\n### 文件\n- 用户指定的本地文件 → 读取后上传到 Pod 对应路径\n\n## 交互原则\n1. 识别到结构化数据时,先告知用户将要保存的内容,然后执行\n2. 保存成功后简短告知用户\n3. 读取本地文件时使用 Read tool\n4. 访问 Pod 时使用 Bash tool 执行 curl\n5. 回复使用中文`;\n"]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DrizzleTaskQueue - 基于 drizzle-solid 的任务队列
|
|
3
|
-
*
|
|
4
|
-
* 简化模型:消息 + Agent
|
|
5
|
-
*
|
|
6
|
-
* 任务存储在 Pod 的 /tasks/{YYYY-MM-DD}.ttl 中,按天分片
|
|
7
|
-
*/
|
|
8
|
-
import type { Task, TaskStatus, CreateTaskInput, TaskQueue, TaskQueueStats, ListTasksOptions } from './types';
|
|
9
|
-
export interface DrizzleTaskQueueOptions {
|
|
10
|
-
/**
|
|
11
|
-
* Pod base URL
|
|
12
|
-
*/
|
|
13
|
-
podBaseUrl: string;
|
|
14
|
-
/**
|
|
15
|
-
* drizzle-solid 数据库实例
|
|
16
|
-
*/
|
|
17
|
-
db: any;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 基于 drizzle-solid 的任务队列实现
|
|
21
|
-
*/
|
|
22
|
-
export declare class DrizzleTaskQueue implements TaskQueue {
|
|
23
|
-
protected readonly logger: import("global-logger-factory").Logger<unknown>;
|
|
24
|
-
private readonly podBaseUrl;
|
|
25
|
-
private readonly db;
|
|
26
|
-
constructor(options: DrizzleTaskQueueOptions);
|
|
27
|
-
/**
|
|
28
|
-
* 创建任务
|
|
29
|
-
*/
|
|
30
|
-
createTask(input: CreateTaskInput): Promise<Task>;
|
|
31
|
-
/**
|
|
32
|
-
* 获取任务
|
|
33
|
-
*/
|
|
34
|
-
getTask(taskId: string): Promise<Task | null>;
|
|
35
|
-
/**
|
|
36
|
-
* 获取任务列表
|
|
37
|
-
*/
|
|
38
|
-
listTasks(options?: ListTasksOptions): Promise<Task[]>;
|
|
39
|
-
/**
|
|
40
|
-
* 更新任务状态
|
|
41
|
-
*/
|
|
42
|
-
updateTaskStatus(taskId: string, status: TaskStatus, updates?: Partial<Task>): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* 删除任务
|
|
45
|
-
*/
|
|
46
|
-
deleteTask(taskId: string): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* 获取队列统计
|
|
49
|
-
*/
|
|
50
|
-
getStats(): Promise<TaskQueueStats>;
|
|
51
|
-
private generateTaskId;
|
|
52
|
-
/**
|
|
53
|
-
* 将数据库记录转换为 Task 接口
|
|
54
|
-
*/
|
|
55
|
-
private dbTaskToTask;
|
|
56
|
-
}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* DrizzleTaskQueue - 基于 drizzle-solid 的任务队列
|
|
4
|
-
*
|
|
5
|
-
* 简化模型:消息 + Agent
|
|
6
|
-
*
|
|
7
|
-
* 任务存储在 Pod 的 /tasks/{YYYY-MM-DD}.ttl 中,按天分片
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.DrizzleTaskQueue = void 0;
|
|
11
|
-
const global_logger_factory_1 = require("global-logger-factory");
|
|
12
|
-
const crypto_1 = require("crypto");
|
|
13
|
-
const drizzle_solid_1 = require("@undefineds.co/drizzle-solid");
|
|
14
|
-
const schema_1 = require("./schema");
|
|
15
|
-
/**
|
|
16
|
-
* 基于 drizzle-solid 的任务队列实现
|
|
17
|
-
*/
|
|
18
|
-
class DrizzleTaskQueue {
|
|
19
|
-
constructor(options) {
|
|
20
|
-
this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
|
|
21
|
-
this.podBaseUrl = options.podBaseUrl.endsWith('/') ? options.podBaseUrl : `${options.podBaseUrl}/`;
|
|
22
|
-
this.db = options.db;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 创建任务
|
|
26
|
-
*/
|
|
27
|
-
async createTask(input) {
|
|
28
|
-
const id = this.generateTaskId();
|
|
29
|
-
const now = new Date();
|
|
30
|
-
const taskData = {
|
|
31
|
-
id,
|
|
32
|
-
agent: input.agent,
|
|
33
|
-
message: input.message,
|
|
34
|
-
status: schema_1.TaskStatus.PENDING,
|
|
35
|
-
createdAt: now,
|
|
36
|
-
};
|
|
37
|
-
await this.db.insert(schema_1.Task).values(taskData);
|
|
38
|
-
this.logger.info(`Created task ${id} for agent "${input.agent}"`);
|
|
39
|
-
return {
|
|
40
|
-
id,
|
|
41
|
-
agent: input.agent,
|
|
42
|
-
message: input.message,
|
|
43
|
-
status: 'pending',
|
|
44
|
-
createdAt: now,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* 获取任务
|
|
49
|
-
*/
|
|
50
|
-
async getTask(taskId) {
|
|
51
|
-
const task = await this.db.findByLocator(schema_1.Task, { id: taskId });
|
|
52
|
-
if (!task) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
return this.dbTaskToTask(task);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* 获取任务列表
|
|
59
|
-
*/
|
|
60
|
-
async listTasks(options) {
|
|
61
|
-
let query = this.db.select().from(schema_1.Task);
|
|
62
|
-
// 状态过滤
|
|
63
|
-
if (options?.status) {
|
|
64
|
-
query = query.where((0, drizzle_solid_1.eq)(schema_1.Task.status, options.status));
|
|
65
|
-
}
|
|
66
|
-
const tasks = await query;
|
|
67
|
-
// 转换为 Task 接口
|
|
68
|
-
let result = tasks.map((t) => this.dbTaskToTask(t));
|
|
69
|
-
// Agent 过滤
|
|
70
|
-
if (options?.agent) {
|
|
71
|
-
result = result.filter((t) => t.agent === options.agent);
|
|
72
|
-
}
|
|
73
|
-
// 排序
|
|
74
|
-
if (options?.orderBy) {
|
|
75
|
-
const order = options.order === 'asc' ? 1 : -1;
|
|
76
|
-
result.sort((a, b) => {
|
|
77
|
-
const aVal = a[options.orderBy];
|
|
78
|
-
const bVal = b[options.orderBy];
|
|
79
|
-
if (aVal instanceof Date && bVal instanceof Date) {
|
|
80
|
-
return (aVal.getTime() - bVal.getTime()) * order;
|
|
81
|
-
}
|
|
82
|
-
return 0;
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
// 分页
|
|
86
|
-
const offset = options?.offset ?? 0;
|
|
87
|
-
const limit = options?.limit ?? result.length;
|
|
88
|
-
return result.slice(offset, offset + limit);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* 更新任务状态
|
|
92
|
-
*/
|
|
93
|
-
async updateTaskStatus(taskId, status, updates) {
|
|
94
|
-
const now = new Date();
|
|
95
|
-
const updateData = {
|
|
96
|
-
status,
|
|
97
|
-
};
|
|
98
|
-
// 根据状态设置时间字段
|
|
99
|
-
if (status === 'running') {
|
|
100
|
-
updateData.startedAt = now;
|
|
101
|
-
}
|
|
102
|
-
else if (status === 'completed' || status === 'failed') {
|
|
103
|
-
updateData.completedAt = now;
|
|
104
|
-
}
|
|
105
|
-
// 合并其他更新
|
|
106
|
-
if (updates) {
|
|
107
|
-
if (updates.result !== undefined)
|
|
108
|
-
updateData.result = updates.result;
|
|
109
|
-
if (updates.error !== undefined)
|
|
110
|
-
updateData.error = updates.error;
|
|
111
|
-
}
|
|
112
|
-
await this.db.updateByLocator(schema_1.Task, { id: taskId }, updateData);
|
|
113
|
-
this.logger.info(`Task ${taskId} status changed to ${status}`);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* 删除任务
|
|
117
|
-
*/
|
|
118
|
-
async deleteTask(taskId) {
|
|
119
|
-
await this.db.deleteByLocator(schema_1.Task, { id: taskId });
|
|
120
|
-
this.logger.info(`Deleted task ${taskId}`);
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* 获取队列统计
|
|
124
|
-
*/
|
|
125
|
-
async getStats() {
|
|
126
|
-
const tasks = await this.db.select().from(schema_1.Task);
|
|
127
|
-
const stats = {
|
|
128
|
-
pending: 0,
|
|
129
|
-
running: 0,
|
|
130
|
-
completed: 0,
|
|
131
|
-
failed: 0,
|
|
132
|
-
total: tasks.length,
|
|
133
|
-
byAgent: {},
|
|
134
|
-
};
|
|
135
|
-
for (const task of tasks) {
|
|
136
|
-
const taskRecord = task;
|
|
137
|
-
const status = taskRecord.status ?? 'pending';
|
|
138
|
-
stats[status]++;
|
|
139
|
-
// 按 Agent 统计
|
|
140
|
-
const agent = taskRecord.agent ?? 'unknown';
|
|
141
|
-
stats.byAgent[agent] = (stats.byAgent[agent] ?? 0) + 1;
|
|
142
|
-
}
|
|
143
|
-
return stats;
|
|
144
|
-
}
|
|
145
|
-
// ============================================
|
|
146
|
-
// Private Methods
|
|
147
|
-
// ============================================
|
|
148
|
-
generateTaskId() {
|
|
149
|
-
const timestamp = Date.now().toString(36);
|
|
150
|
-
const random = (0, crypto_1.randomBytes)(4).toString('hex');
|
|
151
|
-
return `task-${timestamp}-${random}`;
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* 将数据库记录转换为 Task 接口
|
|
155
|
-
*/
|
|
156
|
-
dbTaskToTask(dbTask) {
|
|
157
|
-
return {
|
|
158
|
-
id: dbTask.id,
|
|
159
|
-
agent: dbTask.agent,
|
|
160
|
-
message: dbTask.message,
|
|
161
|
-
status: dbTask.status ?? 'pending',
|
|
162
|
-
createdAt: dbTask.createdAt,
|
|
163
|
-
startedAt: dbTask.startedAt,
|
|
164
|
-
completedAt: dbTask.completedAt,
|
|
165
|
-
result: dbTask.result,
|
|
166
|
-
error: dbTask.error,
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
exports.DrizzleTaskQueue = DrizzleTaskQueue;
|
|
171
|
-
//# sourceMappingURL=DrizzleTaskQueue.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrizzleTaskQueue.js","sourceRoot":"","sources":["../../src/task/DrizzleTaskQueue.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * DrizzleTaskQueue - 基于 drizzle-solid 的任务队列\n *\n * 简化模型:消息 + Agent\n *\n * 任务存储在 Pod 的 /tasks/{YYYY-MM-DD}.ttl 中,按天分片\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport { randomBytes } from 'crypto';\nimport { eq } from '@undefineds.co/drizzle-solid';\n\nimport { Task as taskTable, TaskStatus as TaskStatusConst } from './schema';\nimport type {\n Task,\n TaskStatus,\n CreateTaskInput,\n TaskQueue,\n TaskQueueStats,\n ListTasksOptions,\n} from './types';\n\nexport interface DrizzleTaskQueueOptions {\n /**\n * Pod base URL\n */\n podBaseUrl: string;\n /**\n * drizzle-solid 数据库实例\n */\n db: any;\n}\n\n/**\n * 基于 drizzle-solid 的任务队列实现\n */\nexport class DrizzleTaskQueue implements TaskQueue {\n protected readonly logger = getLoggerFor(this);\n private readonly podBaseUrl: string;\n private readonly db: any;\n\n public constructor(options: DrizzleTaskQueueOptions) {\n this.podBaseUrl = options.podBaseUrl.endsWith('/') ? options.podBaseUrl : `${options.podBaseUrl}/`;\n this.db = options.db;\n }\n\n /**\n * 创建任务\n */\n public async createTask(input: CreateTaskInput): Promise<Task> {\n const id = this.generateTaskId();\n const now = new Date();\n\n const taskData = {\n id,\n agent: input.agent,\n message: input.message,\n status: TaskStatusConst.PENDING,\n createdAt: now,\n };\n\n await this.db.insert(taskTable).values(taskData);\n\n this.logger.info(`Created task ${id} for agent \"${input.agent}\"`);\n\n return {\n id,\n agent: input.agent,\n message: input.message,\n status: 'pending',\n createdAt: now,\n };\n }\n\n /**\n * 获取任务\n */\n public async getTask(taskId: string): Promise<Task | null> {\n const task = await this.db.findByLocator(taskTable, { id: taskId });\n if (!task) {\n return null;\n }\n return this.dbTaskToTask(task);\n }\n\n /**\n * 获取任务列表\n */\n public async listTasks(options?: ListTasksOptions): Promise<Task[]> {\n let query = this.db.select().from(taskTable);\n\n // 状态过滤\n if (options?.status) {\n query = query.where(eq(taskTable.status, options.status));\n }\n\n const tasks = await query;\n\n // 转换为 Task 接口\n let result = tasks.map((t: Record<string, unknown>) => this.dbTaskToTask(t));\n\n // Agent 过滤\n if (options?.agent) {\n result = result.filter((t: Task) => t.agent === options.agent);\n }\n\n // 排序\n if (options?.orderBy) {\n const order = options.order === 'asc' ? 1 : -1;\n result.sort((a: Task, b: Task) => {\n const aVal = a[options.orderBy!];\n const bVal = b[options.orderBy!];\n if (aVal instanceof Date && bVal instanceof Date) {\n return (aVal.getTime() - bVal.getTime()) * order;\n }\n return 0;\n });\n }\n\n // 分页\n const offset = options?.offset ?? 0;\n const limit = options?.limit ?? result.length;\n return result.slice(offset, offset + limit);\n }\n\n /**\n * 更新任务状态\n */\n public async updateTaskStatus(\n taskId: string,\n status: TaskStatus,\n updates?: Partial<Task>,\n ): Promise<void> {\n const now = new Date();\n\n const updateData: Record<string, unknown> = {\n status,\n };\n\n // 根据状态设置时间字段\n if (status === 'running') {\n updateData.startedAt = now;\n } else if (status === 'completed' || status === 'failed') {\n updateData.completedAt = now;\n }\n\n // 合并其他更新\n if (updates) {\n if (updates.result !== undefined) updateData.result = updates.result;\n if (updates.error !== undefined) updateData.error = updates.error;\n }\n\n await this.db.updateByLocator(taskTable, { id: taskId }, updateData);\n\n this.logger.info(`Task ${taskId} status changed to ${status}`);\n }\n\n /**\n * 删除任务\n */\n public async deleteTask(taskId: string): Promise<void> {\n await this.db.deleteByLocator(taskTable, { id: taskId });\n this.logger.info(`Deleted task ${taskId}`);\n }\n\n /**\n * 获取队列统计\n */\n public async getStats(): Promise<TaskQueueStats> {\n const tasks = await this.db.select().from(taskTable);\n\n const stats: TaskQueueStats = {\n pending: 0,\n running: 0,\n completed: 0,\n failed: 0,\n total: tasks.length,\n byAgent: {},\n };\n\n for (const task of tasks) {\n const taskRecord = task as Record<string, unknown>;\n const status = (taskRecord.status as TaskStatus) ?? 'pending';\n stats[status]++;\n\n // 按 Agent 统计\n const agent = taskRecord.agent as string ?? 'unknown';\n stats.byAgent[agent] = (stats.byAgent[agent] ?? 0) + 1;\n }\n\n return stats;\n }\n\n // ============================================\n // Private Methods\n // ============================================\n\n private generateTaskId(): string {\n const timestamp = Date.now().toString(36);\n const random = randomBytes(4).toString('hex');\n return `task-${timestamp}-${random}`;\n }\n\n /**\n * 将数据库记录转换为 Task 接口\n */\n private dbTaskToTask(dbTask: Record<string, unknown>): Task {\n return {\n id: dbTask.id as string,\n agent: dbTask.agent as string,\n message: dbTask.message as string,\n status: (dbTask.status as TaskStatus) ?? 'pending',\n createdAt: dbTask.createdAt as Date,\n startedAt: dbTask.startedAt as Date | undefined,\n completedAt: dbTask.completedAt as Date | undefined,\n result: dbTask.result as unknown,\n error: dbTask.error as string | undefined,\n };\n }\n}\n"]}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TaskExecutor - 任务执行器
|
|
3
|
-
*
|
|
4
|
-
* 职责:
|
|
5
|
-
* - 从队列获取待执行任务
|
|
6
|
-
* - 路由到对应的 Agent
|
|
7
|
-
* - 调用 Agent 执行
|
|
8
|
-
* - 更新任务状态
|
|
9
|
-
*/
|
|
10
|
-
import type { Agent, TaskQueue, TaskExecutor as ITaskExecutor } from './types';
|
|
11
|
-
export interface TaskExecutorOptions {
|
|
12
|
-
/** 任务队列 */
|
|
13
|
-
taskQueue: TaskQueue;
|
|
14
|
-
/** Pod base URL */
|
|
15
|
-
podBaseUrl: string;
|
|
16
|
-
/** 获取认证 fetch */
|
|
17
|
-
getAuthenticatedFetch: () => Promise<typeof fetch>;
|
|
18
|
-
/** 轮询间隔(毫秒) */
|
|
19
|
-
pollInterval?: number;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* 任务执行器实现
|
|
23
|
-
*/
|
|
24
|
-
export declare class TaskExecutor implements ITaskExecutor {
|
|
25
|
-
private readonly logger;
|
|
26
|
-
private readonly taskQueue;
|
|
27
|
-
private readonly podBaseUrl;
|
|
28
|
-
private readonly getAuthenticatedFetch;
|
|
29
|
-
private readonly pollInterval;
|
|
30
|
-
private readonly agents;
|
|
31
|
-
private running;
|
|
32
|
-
private pollTimer;
|
|
33
|
-
constructor(options: TaskExecutorOptions);
|
|
34
|
-
/**
|
|
35
|
-
* 注册 Agent
|
|
36
|
-
*/
|
|
37
|
-
registerAgent(agent: Agent): void;
|
|
38
|
-
/**
|
|
39
|
-
* 启动执行器
|
|
40
|
-
*
|
|
41
|
-
* 会先检查 Agent SDK 鉴权状态,如果未鉴权则抛出错误。
|
|
42
|
-
* 这避免了在服务端环境中 SDK 尝试弹出浏览器进行交互式登录。
|
|
43
|
-
*/
|
|
44
|
-
start(): Promise<void>;
|
|
45
|
-
/**
|
|
46
|
-
* 检查 Agent SDK 鉴权状态
|
|
47
|
-
*
|
|
48
|
-
* 在服务端环境中,如果 SDK 未鉴权,会尝试弹出浏览器进行交互式登录,
|
|
49
|
-
* 这在无界面环境中会失败。因此需要在启动时检查鉴权状态。
|
|
50
|
-
*
|
|
51
|
-
* @throws CodeBuddyAuthError 如果未鉴权
|
|
52
|
-
*/
|
|
53
|
-
private checkAgentAuthentication;
|
|
54
|
-
/**
|
|
55
|
-
* 停止执行器
|
|
56
|
-
*/
|
|
57
|
-
stop(): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* 手动触发执行特定任务
|
|
60
|
-
*/
|
|
61
|
-
trigger(taskId: string): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* 获取执行器状态
|
|
64
|
-
*/
|
|
65
|
-
isRunning(): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* 调度下一次轮询
|
|
68
|
-
*/
|
|
69
|
-
private schedulePoll;
|
|
70
|
-
/**
|
|
71
|
-
* 轮询待执行任务
|
|
72
|
-
*/
|
|
73
|
-
private poll;
|
|
74
|
-
/**
|
|
75
|
-
* 执行任务
|
|
76
|
-
*/
|
|
77
|
-
private executeTask;
|
|
78
|
-
/**
|
|
79
|
-
* 创建 Agent 执行上下文
|
|
80
|
-
*/
|
|
81
|
-
private createContext;
|
|
82
|
-
}
|