@undefineds.co/xpod 0.2.45 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +5 -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,417 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* IndexAgent - 多层级文档索引 Agent
|
|
4
|
-
*
|
|
5
|
-
* 职责:为文件生成摘要和 embedding,使其可检索。
|
|
6
|
-
*
|
|
7
|
-
* 支持三个索引层级:
|
|
8
|
-
* - L0:摘要级别,1-3句话描述文件
|
|
9
|
-
* - L1:目录级别,提取主要标题和结构
|
|
10
|
-
* - L2:全文级别,完整分块和向量化
|
|
11
|
-
*
|
|
12
|
-
* @see docs/indexing-agent.md 完整设计文档
|
|
13
|
-
*/
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.indexAgent = exports.IndexAgent = void 0;
|
|
16
|
-
const global_logger_factory_1 = require("global-logger-factory");
|
|
17
|
-
const CodeBuddyExecutor_1 = require("./CodeBuddyExecutor");
|
|
18
|
-
/**
|
|
19
|
-
* L0 索引 System Prompt
|
|
20
|
-
*/
|
|
21
|
-
const L0_SYSTEM_PROMPT = `你是 IndexAgent,负责 L0 文档索引,帮助用户的 Pod 中的文件变得可检索。
|
|
22
|
-
|
|
23
|
-
## 任务
|
|
24
|
-
|
|
25
|
-
为文件生成简短摘要和 embedding,使其可通过语义搜索被找到。
|
|
26
|
-
|
|
27
|
-
## L0 索引标准
|
|
28
|
-
|
|
29
|
-
| 项目 | 说明 |
|
|
30
|
-
|------|------|
|
|
31
|
-
| 内容 | 文件的简短描述(1-3句话) |
|
|
32
|
-
| 来源 | 文件名、类型、前几行内容 |
|
|
33
|
-
| 产物 | 描述文本 + embedding |
|
|
34
|
-
| 成本 | 最低 |
|
|
35
|
-
|
|
36
|
-
## 处理流程
|
|
37
|
-
|
|
38
|
-
1. **读取文件信息**:类型、大小、文件名
|
|
39
|
-
2. **获取内容预览**:
|
|
40
|
-
- 文本文件:读取前 500 字符
|
|
41
|
-
- 其他类型:根据文件名和类型推断
|
|
42
|
-
3. **生成摘要**:1-3句话描述文件内容和用途
|
|
43
|
-
4. **生成 embedding**:调用 Embedding API
|
|
44
|
-
5. **更新状态**:写入 .meta 记录索引完成
|
|
45
|
-
|
|
46
|
-
## 存储规范
|
|
47
|
-
|
|
48
|
-
索引状态存储在资源的 .meta 辅助资源:
|
|
49
|
-
|
|
50
|
-
\`\`\`turtle
|
|
51
|
-
</docs/report.pdf>
|
|
52
|
-
udfs:indexLevel "L0" ;
|
|
53
|
-
udfs:lastIndexedAt "2026-01-09T10:00:00Z"^^xsd:dateTime ;
|
|
54
|
-
udfs:summary "2024年度财务报告,包含收入、支出、利润分析" ;
|
|
55
|
-
udfs:vectorId 12345 .
|
|
56
|
-
\`\`\`
|
|
57
|
-
|
|
58
|
-
## 可用工具
|
|
59
|
-
|
|
60
|
-
- **Read**:读取 Pod 中的文件
|
|
61
|
-
- **Write**:写入文件到 Pod
|
|
62
|
-
- **Bash**:执行命令(如需要)
|
|
63
|
-
|
|
64
|
-
## 输出格式
|
|
65
|
-
|
|
66
|
-
完成后返回 JSON:
|
|
67
|
-
{
|
|
68
|
-
"success": true,
|
|
69
|
-
"indexLevel": "L0",
|
|
70
|
-
"summary": "文件摘要...",
|
|
71
|
-
"vectorId": 12345
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
如果文件不需要索引或出错:
|
|
75
|
-
{
|
|
76
|
-
"success": false,
|
|
77
|
-
"reason": "说明原因"
|
|
78
|
-
}
|
|
79
|
-
`;
|
|
80
|
-
/**
|
|
81
|
-
* L1 索引 System Prompt - 目录级别
|
|
82
|
-
*/
|
|
83
|
-
const L1_SYSTEM_PROMPT = `你是 IndexAgent,负责 L1 文档索引(目录级别),帮助用户的 Pod 中的文件变得可检索。
|
|
84
|
-
|
|
85
|
-
## 任务
|
|
86
|
-
|
|
87
|
-
提取文件的目录结构和主要标题,为每个主要部分生成描述和 embedding。
|
|
88
|
-
|
|
89
|
-
## L1 索引标准
|
|
90
|
-
|
|
91
|
-
| 项目 | 说明 |
|
|
92
|
-
|------|------|
|
|
93
|
-
| 内容 | 目录结构,主要标题的描述 |
|
|
94
|
-
| 来源 | PDF/Word:提取 TOC;Markdown:扫描标题行 |
|
|
95
|
-
| 产物 | 主要标题 chunks + embeddings |
|
|
96
|
-
| 成本 | 低 |
|
|
97
|
-
|
|
98
|
-
## 处理流程
|
|
99
|
-
|
|
100
|
-
1. **读取文件**:获取完整内容
|
|
101
|
-
2. **提取目录结构**:
|
|
102
|
-
- Markdown:提取 # 和 ## 标题
|
|
103
|
-
- 其他格式:尝试识别结构
|
|
104
|
-
3. **生成标题描述**:为每个主要标题生成简短描述
|
|
105
|
-
4. **生成 embeddings**:为每个标题 chunk 生成向量
|
|
106
|
-
5. **更新状态**:写入 .meta 记录索引完成
|
|
107
|
-
|
|
108
|
-
## 存储规范
|
|
109
|
-
|
|
110
|
-
\`\`\`turtle
|
|
111
|
-
</docs/report.pdf>
|
|
112
|
-
udfs:indexLevel "L1" ;
|
|
113
|
-
udfs:lastIndexedAt "2026-01-09T10:00:00Z"^^xsd:dateTime ;
|
|
114
|
-
udfs:hasChunk </docs/report.pdf#chunk-1> ;
|
|
115
|
-
udfs:hasChunk </docs/report.pdf#chunk-2> .
|
|
116
|
-
|
|
117
|
-
</docs/report.pdf#chunk-1> a udfs:TextChunk ;
|
|
118
|
-
udfs:level 1 ;
|
|
119
|
-
udfs:heading "Introduction" ;
|
|
120
|
-
udfs:summary "介绍部分的简要描述" ;
|
|
121
|
-
udfs:vectorId 12345 .
|
|
122
|
-
\`\`\`
|
|
123
|
-
|
|
124
|
-
## 输出格式
|
|
125
|
-
|
|
126
|
-
{
|
|
127
|
-
"success": true,
|
|
128
|
-
"indexLevel": "L1",
|
|
129
|
-
"chunks": [
|
|
130
|
-
{"heading": "Introduction", "level": 1, "summary": "..."},
|
|
131
|
-
{"heading": "Background", "level": 2, "summary": "..."}
|
|
132
|
-
],
|
|
133
|
-
"chunkCount": 5
|
|
134
|
-
}
|
|
135
|
-
`;
|
|
136
|
-
/**
|
|
137
|
-
* L2 索引 System Prompt - 全文级别
|
|
138
|
-
*/
|
|
139
|
-
const L2_SYSTEM_PROMPT = `你是 IndexAgent,负责 L2 文档索引(全文级别),帮助用户的 Pod 中的文件变得可检索。
|
|
140
|
-
|
|
141
|
-
## 任务
|
|
142
|
-
|
|
143
|
-
对文件进行全文分块,为每个内容块生成描述和 embedding,实现深度语义检索。
|
|
144
|
-
|
|
145
|
-
## L2 索引标准
|
|
146
|
-
|
|
147
|
-
| 项目 | 说明 |
|
|
148
|
-
|------|------|
|
|
149
|
-
| 内容 | 全文分块(所有标题层级) |
|
|
150
|
-
| 前置 | 需要完整 parse |
|
|
151
|
-
| 产物 | 所有 chunks + embeddings |
|
|
152
|
-
| 成本 | 高 |
|
|
153
|
-
|
|
154
|
-
## 处理流程
|
|
155
|
-
|
|
156
|
-
1. **读取完整文件**:获取全部内容
|
|
157
|
-
2. **解析文档结构**:识别所有层级的标题和段落
|
|
158
|
-
3. **智能分块**:
|
|
159
|
-
- 按标题层级分割(H1, H2, H3...)
|
|
160
|
-
- 保持语义完整性
|
|
161
|
-
- 每块控制在 500-2000 字符
|
|
162
|
-
4. **生成 embeddings**:为每个 chunk 生成向量
|
|
163
|
-
5. **建立 chunk 关系**:记录父子关系
|
|
164
|
-
6. **更新状态**:写入 .meta 记录索引完成
|
|
165
|
-
|
|
166
|
-
## 分块策略
|
|
167
|
-
|
|
168
|
-
对于 Markdown 文件:
|
|
169
|
-
\`\`\`python
|
|
170
|
-
# 按标题层级分割
|
|
171
|
-
headers = ["#", "##", "###", "####"]
|
|
172
|
-
# 每个标题下的内容作为一个 chunk
|
|
173
|
-
# 保留父子关系
|
|
174
|
-
\`\`\`
|
|
175
|
-
|
|
176
|
-
## 存储规范
|
|
177
|
-
|
|
178
|
-
\`\`\`turtle
|
|
179
|
-
</docs/report.pdf>
|
|
180
|
-
udfs:indexLevel "L2" ;
|
|
181
|
-
udfs:lastIndexedAt "2026-01-09T10:00:00Z"^^xsd:dateTime ;
|
|
182
|
-
udfs:hasChunk </docs/report.pdf#chunk-1> ;
|
|
183
|
-
udfs:hasChunk </docs/report.pdf#chunk-2> ;
|
|
184
|
-
udfs:hasChunk </docs/report.pdf#chunk-3> .
|
|
185
|
-
|
|
186
|
-
# chunk 父子关系
|
|
187
|
-
</docs/report.pdf#chunk-2> udfs:parentChunk </docs/report.pdf#chunk-1> .
|
|
188
|
-
</docs/report.pdf#chunk-3> udfs:parentChunk </docs/report.pdf#chunk-1> .
|
|
189
|
-
|
|
190
|
-
# chunk 实体
|
|
191
|
-
</docs/report.pdf#chunk-1> a udfs:TextChunk ;
|
|
192
|
-
udfs:level 1 ;
|
|
193
|
-
udfs:heading "Introduction" ;
|
|
194
|
-
udfs:content "This document describes..." ;
|
|
195
|
-
udfs:startOffset 0 ;
|
|
196
|
-
udfs:endOffset 256 ;
|
|
197
|
-
udfs:vectorId 12345 .
|
|
198
|
-
|
|
199
|
-
</docs/report.pdf#chunk-2> a udfs:TextChunk ;
|
|
200
|
-
udfs:level 2 ;
|
|
201
|
-
udfs:heading "Background" ;
|
|
202
|
-
udfs:content "The background of this project..." ;
|
|
203
|
-
udfs:startOffset 257 ;
|
|
204
|
-
udfs:endOffset 512 ;
|
|
205
|
-
udfs:vectorId 12346 .
|
|
206
|
-
\`\`\`
|
|
207
|
-
|
|
208
|
-
## 可用工具
|
|
209
|
-
|
|
210
|
-
- **Read**:读取 Pod 中的文件
|
|
211
|
-
- **Write**:写入文件到 Pod
|
|
212
|
-
- **Bash**:执行命令(如需要)
|
|
213
|
-
|
|
214
|
-
## 输出格式
|
|
215
|
-
|
|
216
|
-
{
|
|
217
|
-
"success": true,
|
|
218
|
-
"indexLevel": "L2",
|
|
219
|
-
"chunks": [
|
|
220
|
-
{
|
|
221
|
-
"id": "chunk-1",
|
|
222
|
-
"heading": "Introduction",
|
|
223
|
-
"level": 1,
|
|
224
|
-
"content": "摘要或前100字...",
|
|
225
|
-
"vectorId": 12345
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
"id": "chunk-2",
|
|
229
|
-
"heading": "Background",
|
|
230
|
-
"level": 2,
|
|
231
|
-
"parent": "chunk-1",
|
|
232
|
-
"content": "摘要或前100字...",
|
|
233
|
-
"vectorId": 12346
|
|
234
|
-
}
|
|
235
|
-
],
|
|
236
|
-
"chunkCount": 15,
|
|
237
|
-
"totalCharacters": 8500
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
如果失败:
|
|
241
|
-
{
|
|
242
|
-
"success": false,
|
|
243
|
-
"reason": "说明原因"
|
|
244
|
-
}
|
|
245
|
-
`;
|
|
246
|
-
/**
|
|
247
|
-
* 获取指定层级的 System Prompt
|
|
248
|
-
*/
|
|
249
|
-
function getSystemPrompt(level) {
|
|
250
|
-
switch (level) {
|
|
251
|
-
case 'L0':
|
|
252
|
-
return L0_SYSTEM_PROMPT;
|
|
253
|
-
case 'L1':
|
|
254
|
-
return L1_SYSTEM_PROMPT;
|
|
255
|
-
case 'L2':
|
|
256
|
-
return L2_SYSTEM_PROMPT;
|
|
257
|
-
default:
|
|
258
|
-
return L0_SYSTEM_PROMPT;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
/**
|
|
262
|
-
* IndexAgent 实现
|
|
263
|
-
*
|
|
264
|
-
* 通过 CodeBuddy SDK 执行,支持 L0/L1/L2 三个索引层级。
|
|
265
|
-
*/
|
|
266
|
-
class IndexAgent {
|
|
267
|
-
constructor(options) {
|
|
268
|
-
this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
|
|
269
|
-
this.executor = new CodeBuddyExecutor_1.CodeBuddyExecutor();
|
|
270
|
-
this.name = 'indexing';
|
|
271
|
-
this.description = '文档索引 Agent,帮助用户的文件变得可检索';
|
|
272
|
-
this.defaultLevel = options?.level ?? 'L0';
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Agent 配置
|
|
276
|
-
*
|
|
277
|
-
* 根据索引层级配置不同的 system prompt 和参数
|
|
278
|
-
*/
|
|
279
|
-
getConfig(level, _context) {
|
|
280
|
-
// 根据层级调整 maxTurns
|
|
281
|
-
const maxTurns = level === 'L0' ? 10 : level === 'L1' ? 15 : 20;
|
|
282
|
-
return {
|
|
283
|
-
name: `${this.name}-${level}`,
|
|
284
|
-
description: `${this.description} (${level})`,
|
|
285
|
-
systemPrompt: getSystemPrompt(level),
|
|
286
|
-
// L0/L1 不需要额外的 MCP 服务器
|
|
287
|
-
// L2 可能需要 JINA 等,但由 CodeBuddyExecutor 根据 context 注入
|
|
288
|
-
mcpServers: {},
|
|
289
|
-
// 使用 GLM-4.7 模型
|
|
290
|
-
model: 'glm-4.7',
|
|
291
|
-
maxTurns,
|
|
292
|
-
// 接受编辑模式
|
|
293
|
-
permissionMode: 'acceptEdits',
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* 从消息中解析索引层级
|
|
298
|
-
*/
|
|
299
|
-
parseLevel(message) {
|
|
300
|
-
const lowerMessage = message.toLowerCase();
|
|
301
|
-
if (lowerMessage.includes('l2') || lowerMessage.includes('全文') || lowerMessage.includes('深度')) {
|
|
302
|
-
return 'L2';
|
|
303
|
-
}
|
|
304
|
-
if (lowerMessage.includes('l1') || lowerMessage.includes('目录') || lowerMessage.includes('结构')) {
|
|
305
|
-
return 'L1';
|
|
306
|
-
}
|
|
307
|
-
if (lowerMessage.includes('l0') || lowerMessage.includes('摘要') || lowerMessage.includes('简要')) {
|
|
308
|
-
return 'L0';
|
|
309
|
-
}
|
|
310
|
-
return this.defaultLevel;
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* 转换 usage 格式(ExecuteResult -> AgentResult)
|
|
314
|
-
*/
|
|
315
|
-
convertUsage(usage) {
|
|
316
|
-
if (!usage)
|
|
317
|
-
return undefined;
|
|
318
|
-
return {
|
|
319
|
-
inputTokens: usage.promptTokens,
|
|
320
|
-
outputTokens: usage.completionTokens,
|
|
321
|
-
cost: 0, // CodeBuddy SDK 不返回 cost
|
|
322
|
-
turns: 0, // CodeBuddy SDK 不返回 turns
|
|
323
|
-
durationMs: usage.durationMs,
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* 执行任务
|
|
328
|
-
*
|
|
329
|
-
* @param message 任务消息,可包含层级指示(如 "L2 索引"、"深度索引"、"全文索引")
|
|
330
|
-
* @param context Agent 上下文
|
|
331
|
-
*/
|
|
332
|
-
async execute(message, context) {
|
|
333
|
-
const level = this.parseLevel(message);
|
|
334
|
-
context.log.info(`IndexAgent (${level}) received: ${message}`);
|
|
335
|
-
try {
|
|
336
|
-
const config = this.getConfig(level, context);
|
|
337
|
-
// 通过 CodeBuddy SDK 执行
|
|
338
|
-
const result = await this.executor.executeAndWaitWithConfig(config, message, {
|
|
339
|
-
podBaseUrl: context.podBaseUrl,
|
|
340
|
-
accessToken: context.accessToken,
|
|
341
|
-
timeout: level === 'L2' ? 600000 : 300000, // L2 给 10 分钟,其他 5 分钟
|
|
342
|
-
});
|
|
343
|
-
if (result.success) {
|
|
344
|
-
context.log.info(`IndexAgent (${level}) completed: ${result.result}`);
|
|
345
|
-
return {
|
|
346
|
-
success: true,
|
|
347
|
-
data: result.structuredOutput ?? result.result,
|
|
348
|
-
usage: this.convertUsage(result.usage),
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
else {
|
|
352
|
-
context.log.error(`IndexAgent (${level}) failed: ${result.error}`);
|
|
353
|
-
return {
|
|
354
|
-
success: false,
|
|
355
|
-
error: result.error,
|
|
356
|
-
usage: this.convertUsage(result.usage),
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
}
|
|
360
|
-
catch (error) {
|
|
361
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
362
|
-
context.log.error(`IndexAgent (${level}) error: ${errorMsg}`);
|
|
363
|
-
return {
|
|
364
|
-
success: false,
|
|
365
|
-
error: errorMsg,
|
|
366
|
-
};
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
/**
|
|
370
|
-
* 执行指定层级的索引
|
|
371
|
-
*
|
|
372
|
-
* @param level 索引层级
|
|
373
|
-
* @param message 任务消息
|
|
374
|
-
* @param context Agent 上下文
|
|
375
|
-
*/
|
|
376
|
-
async executeWithLevel(level, message, context) {
|
|
377
|
-
context.log.info(`IndexAgent (${level}) received: ${message}`);
|
|
378
|
-
try {
|
|
379
|
-
const config = this.getConfig(level, context);
|
|
380
|
-
const result = await this.executor.executeAndWaitWithConfig(config, message, {
|
|
381
|
-
podBaseUrl: context.podBaseUrl,
|
|
382
|
-
accessToken: context.accessToken,
|
|
383
|
-
timeout: level === 'L2' ? 600000 : 300000,
|
|
384
|
-
});
|
|
385
|
-
if (result.success) {
|
|
386
|
-
context.log.info(`IndexAgent (${level}) completed: ${result.result}`);
|
|
387
|
-
return {
|
|
388
|
-
success: true,
|
|
389
|
-
data: result.structuredOutput ?? result.result,
|
|
390
|
-
usage: this.convertUsage(result.usage),
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
else {
|
|
394
|
-
context.log.error(`IndexAgent (${level}) failed: ${result.error}`);
|
|
395
|
-
return {
|
|
396
|
-
success: false,
|
|
397
|
-
error: result.error,
|
|
398
|
-
usage: this.convertUsage(result.usage),
|
|
399
|
-
};
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
catch (error) {
|
|
403
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
404
|
-
context.log.error(`IndexAgent (${level}) error: ${errorMsg}`);
|
|
405
|
-
return {
|
|
406
|
-
success: false,
|
|
407
|
-
error: errorMsg,
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
exports.IndexAgent = IndexAgent;
|
|
413
|
-
/**
|
|
414
|
-
* 默认 IndexAgent 实例
|
|
415
|
-
*/
|
|
416
|
-
exports.indexAgent = new IndexAgent();
|
|
417
|
-
//# sourceMappingURL=IndexAgent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IndexAgent.js","sourceRoot":"","sources":["../../src/agents/IndexAgent.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * IndexAgent - 多层级文档索引 Agent\n *\n * 职责:为文件生成摘要和 embedding,使其可检索。\n *\n * 支持三个索引层级:\n * - L0:摘要级别,1-3句话描述文件\n * - L1:目录级别,提取主要标题和结构\n * - L2:全文级别,完整分块和向量化\n *\n * @see docs/indexing-agent.md 完整设计文档\n */\n\nimport { getLoggerFor } from 'global-logger-factory';\nimport type { Agent, AgentContext, AgentResult } from '../task/types';\nimport { CodeBuddyExecutor } from './CodeBuddyExecutor';\nimport type { CodeBuddyConfig } from './types';\n\n/**\n * 索引层级类型\n */\nexport type IndexLevel = 'L0' | 'L1' | 'L2';\n\n/**\n * L0 索引 System Prompt\n */\nconst L0_SYSTEM_PROMPT = `你是 IndexAgent,负责 L0 文档索引,帮助用户的 Pod 中的文件变得可检索。\n\n## 任务\n\n为文件生成简短摘要和 embedding,使其可通过语义搜索被找到。\n\n## L0 索引标准\n\n| 项目 | 说明 |\n|------|------|\n| 内容 | 文件的简短描述(1-3句话) |\n| 来源 | 文件名、类型、前几行内容 |\n| 产物 | 描述文本 + embedding |\n| 成本 | 最低 |\n\n## 处理流程\n\n1. **读取文件信息**:类型、大小、文件名\n2. **获取内容预览**:\n - 文本文件:读取前 500 字符\n - 其他类型:根据文件名和类型推断\n3. **生成摘要**:1-3句话描述文件内容和用途\n4. **生成 embedding**:调用 Embedding API\n5. **更新状态**:写入 .meta 记录索引完成\n\n## 存储规范\n\n索引状态存储在资源的 .meta 辅助资源:\n\n\\`\\`\\`turtle\n</docs/report.pdf> \n udfs:indexLevel \"L0\" ;\n udfs:lastIndexedAt \"2026-01-09T10:00:00Z\"^^xsd:dateTime ;\n udfs:summary \"2024年度财务报告,包含收入、支出、利润分析\" ;\n udfs:vectorId 12345 .\n\\`\\`\\`\n\n## 可用工具\n\n- **Read**:读取 Pod 中的文件\n- **Write**:写入文件到 Pod\n- **Bash**:执行命令(如需要)\n\n## 输出格式\n\n完成后返回 JSON:\n{\n \"success\": true,\n \"indexLevel\": \"L0\",\n \"summary\": \"文件摘要...\",\n \"vectorId\": 12345\n}\n\n如果文件不需要索引或出错:\n{\n \"success\": false,\n \"reason\": \"说明原因\"\n}\n`;\n\n/**\n * L1 索引 System Prompt - 目录级别\n */\nconst L1_SYSTEM_PROMPT = `你是 IndexAgent,负责 L1 文档索引(目录级别),帮助用户的 Pod 中的文件变得可检索。\n\n## 任务\n\n提取文件的目录结构和主要标题,为每个主要部分生成描述和 embedding。\n\n## L1 索引标准\n\n| 项目 | 说明 |\n|------|------|\n| 内容 | 目录结构,主要标题的描述 |\n| 来源 | PDF/Word:提取 TOC;Markdown:扫描标题行 |\n| 产物 | 主要标题 chunks + embeddings |\n| 成本 | 低 |\n\n## 处理流程\n\n1. **读取文件**:获取完整内容\n2. **提取目录结构**:\n - Markdown:提取 # 和 ## 标题\n - 其他格式:尝试识别结构\n3. **生成标题描述**:为每个主要标题生成简短描述\n4. **生成 embeddings**:为每个标题 chunk 生成向量\n5. **更新状态**:写入 .meta 记录索引完成\n\n## 存储规范\n\n\\`\\`\\`turtle\n</docs/report.pdf> \n udfs:indexLevel \"L1\" ;\n udfs:lastIndexedAt \"2026-01-09T10:00:00Z\"^^xsd:dateTime ;\n udfs:hasChunk </docs/report.pdf#chunk-1> ;\n udfs:hasChunk </docs/report.pdf#chunk-2> .\n\n</docs/report.pdf#chunk-1> a udfs:TextChunk ;\n udfs:level 1 ;\n udfs:heading \"Introduction\" ;\n udfs:summary \"介绍部分的简要描述\" ;\n udfs:vectorId 12345 .\n\\`\\`\\`\n\n## 输出格式\n\n{\n \"success\": true,\n \"indexLevel\": \"L1\",\n \"chunks\": [\n {\"heading\": \"Introduction\", \"level\": 1, \"summary\": \"...\"},\n {\"heading\": \"Background\", \"level\": 2, \"summary\": \"...\"}\n ],\n \"chunkCount\": 5\n}\n`;\n\n/**\n * L2 索引 System Prompt - 全文级别\n */\nconst L2_SYSTEM_PROMPT = `你是 IndexAgent,负责 L2 文档索引(全文级别),帮助用户的 Pod 中的文件变得可检索。\n\n## 任务\n\n对文件进行全文分块,为每个内容块生成描述和 embedding,实现深度语义检索。\n\n## L2 索引标准\n\n| 项目 | 说明 |\n|------|------|\n| 内容 | 全文分块(所有标题层级) |\n| 前置 | 需要完整 parse |\n| 产物 | 所有 chunks + embeddings |\n| 成本 | 高 |\n\n## 处理流程\n\n1. **读取完整文件**:获取全部内容\n2. **解析文档结构**:识别所有层级的标题和段落\n3. **智能分块**:\n - 按标题层级分割(H1, H2, H3...)\n - 保持语义完整性\n - 每块控制在 500-2000 字符\n4. **生成 embeddings**:为每个 chunk 生成向量\n5. **建立 chunk 关系**:记录父子关系\n6. **更新状态**:写入 .meta 记录索引完成\n\n## 分块策略\n\n对于 Markdown 文件:\n\\`\\`\\`python\n# 按标题层级分割\nheaders = [\"#\", \"##\", \"###\", \"####\"]\n# 每个标题下的内容作为一个 chunk\n# 保留父子关系\n\\`\\`\\`\n\n## 存储规范\n\n\\`\\`\\`turtle\n</docs/report.pdf> \n udfs:indexLevel \"L2\" ;\n udfs:lastIndexedAt \"2026-01-09T10:00:00Z\"^^xsd:dateTime ;\n udfs:hasChunk </docs/report.pdf#chunk-1> ;\n udfs:hasChunk </docs/report.pdf#chunk-2> ;\n udfs:hasChunk </docs/report.pdf#chunk-3> .\n\n# chunk 父子关系\n</docs/report.pdf#chunk-2> udfs:parentChunk </docs/report.pdf#chunk-1> .\n</docs/report.pdf#chunk-3> udfs:parentChunk </docs/report.pdf#chunk-1> .\n\n# chunk 实体\n</docs/report.pdf#chunk-1> a udfs:TextChunk ;\n udfs:level 1 ;\n udfs:heading \"Introduction\" ;\n udfs:content \"This document describes...\" ;\n udfs:startOffset 0 ;\n udfs:endOffset 256 ;\n udfs:vectorId 12345 .\n\n</docs/report.pdf#chunk-2> a udfs:TextChunk ;\n udfs:level 2 ;\n udfs:heading \"Background\" ;\n udfs:content \"The background of this project...\" ;\n udfs:startOffset 257 ;\n udfs:endOffset 512 ;\n udfs:vectorId 12346 .\n\\`\\`\\`\n\n## 可用工具\n\n- **Read**:读取 Pod 中的文件\n- **Write**:写入文件到 Pod\n- **Bash**:执行命令(如需要)\n\n## 输出格式\n\n{\n \"success\": true,\n \"indexLevel\": \"L2\",\n \"chunks\": [\n {\n \"id\": \"chunk-1\",\n \"heading\": \"Introduction\",\n \"level\": 1,\n \"content\": \"摘要或前100字...\",\n \"vectorId\": 12345\n },\n {\n \"id\": \"chunk-2\", \n \"heading\": \"Background\",\n \"level\": 2,\n \"parent\": \"chunk-1\",\n \"content\": \"摘要或前100字...\",\n \"vectorId\": 12346\n }\n ],\n \"chunkCount\": 15,\n \"totalCharacters\": 8500\n}\n\n如果失败:\n{\n \"success\": false,\n \"reason\": \"说明原因\"\n}\n`;\n\n/**\n * 获取指定层级的 System Prompt\n */\nfunction getSystemPrompt(level: IndexLevel): string {\n switch (level) {\n case 'L0':\n return L0_SYSTEM_PROMPT;\n case 'L1':\n return L1_SYSTEM_PROMPT;\n case 'L2':\n return L2_SYSTEM_PROMPT;\n default:\n return L0_SYSTEM_PROMPT;\n }\n}\n\n/**\n * IndexAgent 配置选项\n */\nexport interface IndexAgentOptions {\n /** 索引层级,默认 L0 */\n level?: IndexLevel;\n}\n\n/**\n * IndexAgent 实现\n *\n * 通过 CodeBuddy SDK 执行,支持 L0/L1/L2 三个索引层级。\n */\nexport class IndexAgent implements Agent {\n private readonly logger = getLoggerFor(this);\n private readonly executor = new CodeBuddyExecutor();\n private readonly defaultLevel: IndexLevel;\n\n public readonly name = 'indexing';\n public readonly description = '文档索引 Agent,帮助用户的文件变得可检索';\n\n constructor(options?: IndexAgentOptions) {\n this.defaultLevel = options?.level ?? 'L0';\n }\n\n /**\n * Agent 配置\n *\n * 根据索引层级配置不同的 system prompt 和参数\n */\n private getConfig(level: IndexLevel, _context: AgentContext): CodeBuddyConfig {\n // 根据层级调整 maxTurns\n const maxTurns = level === 'L0' ? 10 : level === 'L1' ? 15 : 20;\n\n return {\n name: `${this.name}-${level}`,\n description: `${this.description} (${level})`,\n systemPrompt: getSystemPrompt(level),\n // L0/L1 不需要额外的 MCP 服务器\n // L2 可能需要 JINA 等,但由 CodeBuddyExecutor 根据 context 注入\n mcpServers: {},\n // 使用 GLM-4.7 模型\n model: 'glm-4.7',\n maxTurns,\n // 接受编辑模式\n permissionMode: 'acceptEdits',\n };\n }\n\n /**\n * 从消息中解析索引层级\n */\n private parseLevel(message: string): IndexLevel {\n const lowerMessage = message.toLowerCase();\n if (lowerMessage.includes('l2') || lowerMessage.includes('全文') || lowerMessage.includes('深度')) {\n return 'L2';\n }\n if (lowerMessage.includes('l1') || lowerMessage.includes('目录') || lowerMessage.includes('结构')) {\n return 'L1';\n }\n if (lowerMessage.includes('l0') || lowerMessage.includes('摘要') || lowerMessage.includes('简要')) {\n return 'L0';\n }\n return this.defaultLevel;\n }\n\n /**\n * 转换 usage 格式(ExecuteResult -> AgentResult)\n */\n private convertUsage(usage?: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n durationMs: number;\n }): { inputTokens: number; outputTokens: number; cost: number; turns: number; durationMs: number } | undefined {\n if (!usage) return undefined;\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n cost: 0, // CodeBuddy SDK 不返回 cost\n turns: 0, // CodeBuddy SDK 不返回 turns\n durationMs: usage.durationMs,\n };\n }\n\n /**\n * 执行任务\n *\n * @param message 任务消息,可包含层级指示(如 \"L2 索引\"、\"深度索引\"、\"全文索引\")\n * @param context Agent 上下文\n */\n public async execute(message: string, context: AgentContext): Promise<AgentResult> {\n const level = this.parseLevel(message);\n context.log.info(`IndexAgent (${level}) received: ${message}`);\n\n try {\n const config = this.getConfig(level, context);\n\n // 通过 CodeBuddy SDK 执行\n const result = await this.executor.executeAndWaitWithConfig(config, message, {\n podBaseUrl: context.podBaseUrl,\n accessToken: context.accessToken,\n timeout: level === 'L2' ? 600000 : 300000, // L2 给 10 分钟,其他 5 分钟\n });\n\n if (result.success) {\n context.log.info(`IndexAgent (${level}) completed: ${result.result}`);\n return {\n success: true,\n data: result.structuredOutput ?? result.result,\n usage: this.convertUsage(result.usage),\n };\n } else {\n context.log.error(`IndexAgent (${level}) failed: ${result.error}`);\n return {\n success: false,\n error: result.error,\n usage: this.convertUsage(result.usage),\n };\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error);\n context.log.error(`IndexAgent (${level}) error: ${errorMsg}`);\n return {\n success: false,\n error: errorMsg,\n };\n }\n }\n\n /**\n * 执行指定层级的索引\n *\n * @param level 索引层级\n * @param message 任务消息\n * @param context Agent 上下文\n */\n public async executeWithLevel(\n level: IndexLevel,\n message: string,\n context: AgentContext,\n ): Promise<AgentResult> {\n context.log.info(`IndexAgent (${level}) received: ${message}`);\n\n try {\n const config = this.getConfig(level, context);\n\n const result = await this.executor.executeAndWaitWithConfig(config, message, {\n podBaseUrl: context.podBaseUrl,\n accessToken: context.accessToken,\n timeout: level === 'L2' ? 600000 : 300000,\n });\n\n if (result.success) {\n context.log.info(`IndexAgent (${level}) completed: ${result.result}`);\n return {\n success: true,\n data: result.structuredOutput ?? result.result,\n usage: this.convertUsage(result.usage),\n };\n } else {\n context.log.error(`IndexAgent (${level}) failed: ${result.error}`);\n return {\n success: false,\n error: result.error,\n usage: this.convertUsage(result.usage),\n };\n }\n } catch (error) {\n const errorMsg = error instanceof Error ? error.message : String(error);\n context.log.error(`IndexAgent (${level}) error: ${errorMsg}`);\n return {\n success: false,\n error: errorMsg,\n };\n }\n }\n}\n\n/**\n * 默认 IndexAgent 实例\n */\nexport const indexAgent = new IndexAgent();\n"]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AGENT.md Parser
|
|
3
|
-
*
|
|
4
|
-
* Parses markdown files with YAML frontmatter into structured agent config.
|
|
5
|
-
*
|
|
6
|
-
* Format:
|
|
7
|
-
* ```
|
|
8
|
-
* ---
|
|
9
|
-
* name: secretary
|
|
10
|
-
* description: Default assistant
|
|
11
|
-
* max-turns: 20
|
|
12
|
-
* allowed-tools: Read, Write, Edit, Grep, Glob
|
|
13
|
-
* skills:
|
|
14
|
-
* - /skills/drizzle-solid
|
|
15
|
-
* - ./skills/custom-skill
|
|
16
|
-
* mcp-servers:
|
|
17
|
-
* - name: jina
|
|
18
|
-
* transport: stdio
|
|
19
|
-
* command: npx
|
|
20
|
-
* args: ["-y", "@jina-ai/mcp-server"]
|
|
21
|
-
* ---
|
|
22
|
-
*
|
|
23
|
-
* You are Secretary, a helpful assistant...
|
|
24
|
-
* ```
|
|
25
|
-
*/
|
|
26
|
-
import type { ParsedAgentMd } from './types';
|
|
27
|
-
/**
|
|
28
|
-
* Parse an AGENT.md file content into frontmatter + body.
|
|
29
|
-
*
|
|
30
|
-
* @param content Raw file content
|
|
31
|
-
* @returns Parsed result with frontmatter object and markdown body
|
|
32
|
-
*/
|
|
33
|
-
export declare function parseAgentMd(content: string): ParsedAgentMd;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* AGENT.md Parser
|
|
4
|
-
*
|
|
5
|
-
* Parses markdown files with YAML frontmatter into structured agent config.
|
|
6
|
-
*
|
|
7
|
-
* Format:
|
|
8
|
-
* ```
|
|
9
|
-
* ---
|
|
10
|
-
* name: secretary
|
|
11
|
-
* description: Default assistant
|
|
12
|
-
* max-turns: 20
|
|
13
|
-
* allowed-tools: Read, Write, Edit, Grep, Glob
|
|
14
|
-
* skills:
|
|
15
|
-
* - /skills/drizzle-solid
|
|
16
|
-
* - ./skills/custom-skill
|
|
17
|
-
* mcp-servers:
|
|
18
|
-
* - name: jina
|
|
19
|
-
* transport: stdio
|
|
20
|
-
* command: npx
|
|
21
|
-
* args: ["-y", "@jina-ai/mcp-server"]
|
|
22
|
-
* ---
|
|
23
|
-
*
|
|
24
|
-
* You are Secretary, a helpful assistant...
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.parseAgentMd = parseAgentMd;
|
|
29
|
-
const yaml_1 = require("yaml");
|
|
30
|
-
const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/;
|
|
31
|
-
/**
|
|
32
|
-
* Parse an AGENT.md file content into frontmatter + body.
|
|
33
|
-
*
|
|
34
|
-
* @param content Raw file content
|
|
35
|
-
* @returns Parsed result with frontmatter object and markdown body
|
|
36
|
-
*/
|
|
37
|
-
function parseAgentMd(content) {
|
|
38
|
-
const trimmed = content.trim();
|
|
39
|
-
const match = FRONTMATTER_RE.exec(trimmed);
|
|
40
|
-
if (!match) {
|
|
41
|
-
// No frontmatter — entire content is the system prompt
|
|
42
|
-
return {
|
|
43
|
-
frontmatter: {},
|
|
44
|
-
body: trimmed,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
const yamlStr = match[1];
|
|
48
|
-
const body = (match[2] ?? '').trim();
|
|
49
|
-
let frontmatter = {};
|
|
50
|
-
try {
|
|
51
|
-
const parsed = (0, yaml_1.parse)(yamlStr);
|
|
52
|
-
if (parsed && typeof parsed === 'object') {
|
|
53
|
-
frontmatter = parsed;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
// Invalid YAML — treat as no frontmatter
|
|
58
|
-
return { frontmatter: {}, body: trimmed };
|
|
59
|
-
}
|
|
60
|
-
// Normalize allowed-tools: accept comma-separated string or array
|
|
61
|
-
if (typeof frontmatter['allowed-tools'] === 'string') {
|
|
62
|
-
frontmatter['allowed-tools'] = frontmatter['allowed-tools']
|
|
63
|
-
.split(',')
|
|
64
|
-
.map((t) => t.trim())
|
|
65
|
-
.filter(Boolean);
|
|
66
|
-
}
|
|
67
|
-
if (typeof frontmatter['disallowed-tools'] === 'string') {
|
|
68
|
-
frontmatter['disallowed-tools'] = frontmatter['disallowed-tools']
|
|
69
|
-
.split(',')
|
|
70
|
-
.map((t) => t.trim())
|
|
71
|
-
.filter(Boolean);
|
|
72
|
-
}
|
|
73
|
-
return { frontmatter, body };
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=parse-agent-md.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-agent-md.js","sourceRoot":"","sources":["../../../src/agents/config/parse-agent-md.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AAaH,oCAyCC;AApDD,+BAA0C;AAG1C,MAAM,cAAc,GAAG,6CAA6C,CAAC;AAErE;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,OAAe;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,uDAAuD;QACvD,OAAO;YACL,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,OAAO;SACd,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAErC,IAAI,WAAW,GAAqB,EAAE,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,YAAS,EAAC,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,WAAW,GAAG,MAA0B,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yCAAyC;QACzC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,kEAAkE;IAClE,IAAI,OAAO,WAAW,CAAC,eAAe,CAAC,KAAK,QAAQ,EAAE,CAAC;QACrD,WAAW,CAAC,eAAe,CAAC,GAAG,WAAW,CAAC,eAAe,CAAC;aACxD,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,WAAW,CAAC,kBAAkB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxD,WAAW,CAAC,kBAAkB,CAAC,GAAG,WAAW,CAAC,kBAAkB,CAAC;aAC9D,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC/B,CAAC","sourcesContent":["/**\n * AGENT.md Parser\n *\n * Parses markdown files with YAML frontmatter into structured agent config.\n *\n * Format:\n * ```\n * ---\n * name: secretary\n * description: Default assistant\n * max-turns: 20\n * allowed-tools: Read, Write, Edit, Grep, Glob\n * skills:\n * - /skills/drizzle-solid\n * - ./skills/custom-skill\n * mcp-servers:\n * - name: jina\n * transport: stdio\n * command: npx\n * args: [\"-y\", \"@jina-ai/mcp-server\"]\n * ---\n *\n * You are Secretary, a helpful assistant...\n * ```\n */\n\nimport { parse as parseYaml } from 'yaml';\nimport type { ParsedAgentMd, AgentFrontmatter } from './types';\n\nconst FRONTMATTER_RE = /^---\\r?\\n([\\s\\S]*?)\\r?\\n---\\r?\\n?([\\s\\S]*)$/;\n\n/**\n * Parse an AGENT.md file content into frontmatter + body.\n *\n * @param content Raw file content\n * @returns Parsed result with frontmatter object and markdown body\n */\nexport function parseAgentMd(content: string): ParsedAgentMd {\n const trimmed = content.trim();\n const match = FRONTMATTER_RE.exec(trimmed);\n\n if (!match) {\n // No frontmatter — entire content is the system prompt\n return {\n frontmatter: {},\n body: trimmed,\n };\n }\n\n const yamlStr = match[1];\n const body = (match[2] ?? '').trim();\n\n let frontmatter: AgentFrontmatter = {};\n try {\n const parsed = parseYaml(yamlStr);\n if (parsed && typeof parsed === 'object') {\n frontmatter = parsed as AgentFrontmatter;\n }\n } catch {\n // Invalid YAML — treat as no frontmatter\n return { frontmatter: {}, body: trimmed };\n }\n\n // Normalize allowed-tools: accept comma-separated string or array\n if (typeof frontmatter['allowed-tools'] === 'string') {\n frontmatter['allowed-tools'] = frontmatter['allowed-tools']\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean);\n }\n if (typeof frontmatter['disallowed-tools'] === 'string') {\n frontmatter['disallowed-tools'] = frontmatter['disallowed-tools']\n .split(',')\n .map((t) => t.trim())\n .filter(Boolean);\n }\n\n return { frontmatter, body };\n}\n"]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AgentStatus = exports.AgentConfig = void 0;
|
|
4
|
-
const models_1 = require("@undefineds.co/models");
|
|
5
|
-
const create_agent_schema_1 = require("./create-agent-schema");
|
|
6
|
-
/**
|
|
7
|
-
* AgentConfig - Agent 配置
|
|
8
|
-
*
|
|
9
|
-
* RDF 示例:
|
|
10
|
-
* <#indexing> a udfs:AgentConfig ;
|
|
11
|
-
* foaf:name "Indexing Agent" ;
|
|
12
|
-
* udfs:description "文档索引 Agent,帮助用户的文件变得可检索" ;
|
|
13
|
-
* udfs:provider </settings/ai/providers.ttl#anthropic> ;
|
|
14
|
-
* udfs:runtimeKind "claude" ;
|
|
15
|
-
* udfs:model </settings/ai/models.ttl#glm-4.7> ;
|
|
16
|
-
* udfs:systemPrompt "你是 IndexAgent..." ;
|
|
17
|
-
* udfs:maxTurns "20" ;
|
|
18
|
-
* udfs:enabled "true" .
|
|
19
|
-
*
|
|
20
|
-
* 说明:
|
|
21
|
-
* - provider 指向通用 Provider,提供 baseUrl/defaultModel 等 Pod 配置
|
|
22
|
-
* - runtimeKind 决定使用哪个 Agent Executor
|
|
23
|
-
* - model 可以覆盖 provider 的 defaultModel
|
|
24
|
-
* - instructions / systemPrompt 是 Agent 的核心提示词字段
|
|
25
|
-
*/
|
|
26
|
-
const agentConfigSchema = (0, create_agent_schema_1.createAgentSchema)({ nameRequired: false });
|
|
27
|
-
exports.AgentConfig = agentConfigSchema.table('AgentConfig', {
|
|
28
|
-
base: '/settings/ai/agents.ttl',
|
|
29
|
-
subjectTemplate: '#{id}',
|
|
30
|
-
});
|
|
31
|
-
exports.AgentStatus = models_1.agentStatusResource;
|
|
32
|
-
//# sourceMappingURL=agent-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../../src/agents/schema/agent-config.ts"],"names":[],"mappings":";;;AAAA,kDAA4D;AAC5D,+DAA0D;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,iBAAiB,GAAG,IAAA,uCAAiB,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAExD,QAAA,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE;IAChE,IAAI,EAAE,yBAAyB;IAC/B,eAAe,EAAE,OAAO;CACzB,CAAQ,CAAC;AAEG,QAAA,WAAW,GAAG,4BAA0B,CAAC","sourcesContent":["import { agentStatusResource } from '@undefineds.co/models';\nimport { createAgentSchema } from './create-agent-schema';\n\n/**\n * AgentConfig - Agent 配置\n *\n * RDF 示例:\n * <#indexing> a udfs:AgentConfig ;\n * foaf:name \"Indexing Agent\" ;\n * udfs:description \"文档索引 Agent,帮助用户的文件变得可检索\" ;\n * udfs:provider </settings/ai/providers.ttl#anthropic> ;\n * udfs:runtimeKind \"claude\" ;\n * udfs:model </settings/ai/models.ttl#glm-4.7> ;\n * udfs:systemPrompt \"你是 IndexAgent...\" ;\n * udfs:maxTurns \"20\" ;\n * udfs:enabled \"true\" .\n *\n * 说明:\n * - provider 指向通用 Provider,提供 baseUrl/defaultModel 等 Pod 配置\n * - runtimeKind 决定使用哪个 Agent Executor\n * - model 可以覆盖 provider 的 defaultModel\n * - instructions / systemPrompt 是 Agent 的核心提示词字段\n */\nconst agentConfigSchema = createAgentSchema({ nameRequired: false });\n\nexport const AgentConfig = agentConfigSchema.table('AgentConfig', {\n base: '/settings/ai/agents.ttl',\n subjectTemplate: '#{id}',\n}) as any;\n\nexport const AgentStatus = agentStatusResource as any;\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface CreateAgentSchemaOptions {
|
|
2
|
-
nameRequired?: boolean;
|
|
3
|
-
}
|
|
4
|
-
export declare function createAgentSchema(options?: CreateAgentSchemaOptions): import("@undefineds.co/drizzle-solid").SolidSchema<import("@undefineds.co/drizzle-solid/dist/core/schema").ResolvedColumns<{
|
|
5
|
-
id: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, true, false>;
|
|
6
|
-
name: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
7
|
-
description: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
8
|
-
avatarUrl: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
9
|
-
instructions: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
10
|
-
provider: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
11
|
-
runtimeKind: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, false>;
|
|
12
|
-
credential: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
13
|
-
model: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
14
|
-
enabled: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"string", null, false, true>;
|
|
15
|
-
temperature: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
|
|
16
|
-
tools: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"array", "string", false, false>;
|
|
17
|
-
contextRound: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, true>;
|
|
18
|
-
maxTurns: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, false>;
|
|
19
|
-
timeout: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"integer", null, false, false>;
|
|
20
|
-
ttsModel: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
21
|
-
videoModel: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"uri", null, false, false>;
|
|
22
|
-
createdAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
23
|
-
updatedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, true, true>;
|
|
24
|
-
deletedAt: import("@undefineds.co/drizzle-solid/dist/core/schema").ColumnBuilder<"datetime", null, false, false>;
|
|
25
|
-
}>>;
|