@dexto/core 1.5.8 → 1.6.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/README.md +19 -8
- package/dist/agent/DextoAgent.cjs +318 -159
- package/dist/agent/DextoAgent.d.ts +94 -56
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +315 -156
- package/dist/{context/compaction/provider.cjs → agent/agent-options.cjs} +2 -2
- package/dist/agent/agent-options.d.ts +53 -0
- package/dist/agent/agent-options.d.ts.map +1 -0
- package/dist/agent/agentCard.cjs +1 -1
- package/dist/agent/errors.cjs +2 -2
- package/dist/agent/errors.d.ts.map +1 -1
- package/dist/agent/index.cjs +1 -6
- package/dist/agent/index.d.ts +3 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +1 -7
- package/dist/{storage/blob/provider.cjs → agent/runtime-config.cjs} +2 -2
- package/dist/agent/runtime-config.d.ts +53 -0
- package/dist/agent/runtime-config.d.ts.map +1 -0
- package/dist/agent/schemas.cjs +2 -104
- package/dist/agent/schemas.d.ts +8 -9197
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +1 -109
- package/dist/agent/state-manager.d.ts +5 -5
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/approval/error-codes.cjs +1 -1
- package/dist/approval/error-codes.d.ts +1 -1
- package/dist/approval/error-codes.d.ts.map +1 -1
- package/dist/approval/error-codes.js +1 -1
- package/dist/approval/errors.cjs +5 -5
- package/dist/approval/errors.d.ts +2 -2
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +5 -5
- package/dist/approval/index.cjs +8 -8
- package/dist/approval/index.d.ts +2 -2
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +8 -8
- package/dist/approval/manager.cjs +163 -83
- package/dist/approval/manager.d.ts +50 -43
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +161 -81
- package/dist/approval/schemas.cjs +47 -32
- package/dist/approval/schemas.d.ts +291 -97
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +43 -28
- package/dist/approval/types.cjs +1 -1
- package/dist/approval/types.d.ts +14 -14
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +1 -1
- package/dist/context/compaction/index.cjs +2 -23
- package/dist/context/compaction/index.d.ts +1 -7
- package/dist/context/compaction/index.d.ts.map +1 -1
- package/dist/context/compaction/index.js +1 -16
- package/dist/context/compaction/strategies/noop.cjs +19 -1
- package/dist/context/compaction/strategies/noop.d.ts +13 -3
- package/dist/context/compaction/strategies/noop.d.ts.map +1 -1
- package/dist/context/compaction/strategies/noop.js +19 -1
- package/dist/context/compaction/strategies/{reactive-overflow.cjs → reactive-overflow-compaction.cjs} +67 -64
- package/dist/context/compaction/strategies/{reactive-overflow.d.ts → reactive-overflow-compaction.d.ts} +19 -36
- package/dist/context/compaction/strategies/reactive-overflow-compaction.d.ts.map +1 -0
- package/dist/context/compaction/strategies/{reactive-overflow.js → reactive-overflow-compaction.js} +63 -60
- package/dist/context/compaction/types.d.ts +40 -8
- package/dist/context/compaction/types.d.ts.map +1 -1
- package/dist/context/manager.cjs +4 -2
- package/dist/context/manager.d.ts +5 -3
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +4 -2
- package/dist/context/types.d.ts +3 -0
- package/dist/context/types.d.ts.map +1 -1
- package/dist/context/utils.cjs +2 -2
- package/dist/context/utils.d.ts +14 -14
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/errors/result-bridge.d.ts +2 -2
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/types.cjs +1 -1
- package/dist/errors/types.d.ts +3 -3
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -1
- package/dist/events/index.cjs +11 -1
- package/dist/events/index.d.ts +48 -7
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +11 -1
- package/dist/{plugins → hooks}/builtins/content-policy.cjs +7 -6
- package/dist/hooks/builtins/content-policy.d.ts +24 -0
- package/dist/hooks/builtins/content-policy.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/content-policy.js +6 -5
- package/dist/{plugins → hooks}/builtins/response-sanitizer.cjs +3 -3
- package/dist/hooks/builtins/response-sanitizer.d.ts +22 -0
- package/dist/hooks/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/{plugins → hooks}/builtins/response-sanitizer.js +2 -2
- package/dist/hooks/error-codes.cjs +43 -0
- package/dist/hooks/error-codes.d.ts +34 -0
- package/dist/hooks/error-codes.d.ts.map +1 -0
- package/dist/hooks/error-codes.js +20 -0
- package/dist/{storage/cache/providers/memory.cjs → hooks/index.cjs} +15 -18
- package/dist/hooks/index.d.ts +14 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +11 -0
- package/dist/hooks/manager.cjs +354 -0
- package/dist/hooks/manager.d.ts +103 -0
- package/dist/hooks/manager.d.ts.map +1 -0
- package/dist/hooks/manager.js +331 -0
- package/dist/{plugins → hooks}/types.d.ts +26 -45
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +13 -12
- package/dist/index.browser.d.ts +5 -5
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +8 -7
- package/dist/index.cjs +5 -7
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/llm/errors.cjs +1 -1
- package/dist/llm/executor/stream-processor.cjs +131 -11
- package/dist/llm/executor/stream-processor.d.ts +8 -5
- package/dist/llm/executor/stream-processor.d.ts.map +1 -1
- package/dist/llm/executor/stream-processor.js +131 -11
- package/dist/llm/executor/turn-executor.cjs +49 -54
- package/dist/llm/executor/turn-executor.d.ts +7 -8
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +49 -54
- package/dist/llm/formatters/vercel.cjs +2 -2
- package/dist/llm/formatters/vercel.d.ts +2 -2
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/providers/local/schemas.d.ts +12 -12
- package/dist/llm/registry/auto-update.d.ts +2 -2
- package/dist/llm/registry/auto-update.d.ts.map +1 -1
- package/dist/llm/registry/index.d.ts +3 -3
- package/dist/llm/registry/index.d.ts.map +1 -1
- package/dist/llm/resolver.cjs +2 -2
- package/dist/llm/resolver.d.ts +4 -4
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/schemas.cjs +67 -104
- package/dist/llm/schemas.d.ts +10 -149
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +64 -101
- package/dist/llm/services/factory.cjs +2 -3
- package/dist/llm/services/factory.d.ts +3 -4
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +2 -3
- package/dist/llm/services/vercel.cjs +8 -15
- package/dist/llm/services/vercel.d.ts +6 -7
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +8 -15
- package/dist/llm/validation.cjs +1 -1
- package/dist/llm/validation.d.ts +2 -2
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/logger/browser.cjs +4 -4
- package/dist/logger/browser.d.ts +4 -4
- package/dist/logger/browser.d.ts.map +1 -1
- package/dist/logger/browser.js +3 -3
- package/dist/{context/compaction/providers/noop-provider.cjs → logger/default-logger-factory.cjs} +16 -22
- package/dist/logger/default-logger-factory.d.ts +301 -0
- package/dist/logger/default-logger-factory.d.ts.map +1 -0
- package/dist/logger/default-logger-factory.js +18 -0
- package/dist/logger/factory.d.ts +2 -2
- package/dist/logger/factory.d.ts.map +1 -1
- package/dist/logger/index.cjs +7 -2
- package/dist/logger/index.d.ts +5 -3
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +8 -2
- package/dist/logger/logger.cjs +4 -4
- package/dist/logger/logger.d.ts +4 -4
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +3 -3
- package/dist/logger/v2/dexto-logger.cjs +35 -0
- package/dist/logger/v2/dexto-logger.d.ts +22 -3
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +35 -0
- package/dist/logger/v2/schemas.d.ts +6 -6
- package/dist/logger/v2/test-utils.cjs +2 -0
- package/dist/logger/v2/test-utils.d.ts +5 -5
- package/dist/logger/v2/test-utils.d.ts.map +1 -1
- package/dist/logger/v2/test-utils.js +2 -0
- package/dist/logger/v2/transport-factory.d.ts +3 -3
- package/dist/logger/v2/transport-factory.d.ts.map +1 -1
- package/dist/logger/v2/transports/console-transport.d.ts +2 -2
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/file-transport.d.ts +2 -2
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -1
- package/dist/logger/v2/transports/silent-transport.d.ts +2 -2
- package/dist/logger/v2/transports/silent-transport.d.ts.map +1 -1
- package/dist/logger/v2/types.cjs +1 -1
- package/dist/logger/v2/types.d.ts +22 -9
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/logger/v2/types.js +1 -1
- package/dist/mcp/errors.cjs +2 -2
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/manager.cjs +16 -11
- package/dist/mcp/manager.d.ts +16 -13
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +17 -12
- package/dist/mcp/mcp-client.cjs +25 -20
- package/dist/mcp/mcp-client.d.ts +5 -5
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +20 -15
- package/dist/mcp/resolver.cjs +1 -1
- package/dist/mcp/schemas.cjs +5 -5
- package/dist/mcp/schemas.d.ts +19 -19
- package/dist/mcp/schemas.js +2 -2
- package/dist/mcp/types.d.ts +7 -7
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/manager.d.ts +2 -2
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/schemas.d.ts +2 -2
- package/dist/prompts/errors.cjs +3 -3
- package/dist/prompts/errors.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.d.ts +3 -3
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.cjs +15 -29
- package/dist/prompts/providers/config-prompt-provider.d.ts +3 -3
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +15 -29
- package/dist/prompts/providers/custom-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +2 -2
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/schemas.d.ts +7 -7
- package/dist/resources/{internal-provider.cjs → agent-resources-provider.cjs} +16 -16
- package/dist/resources/{internal-provider.d.ts → agent-resources-provider.d.ts} +6 -6
- package/dist/resources/agent-resources-provider.d.ts.map +1 -0
- package/dist/resources/{internal-provider.js → agent-resources-provider.js} +13 -13
- package/dist/resources/errors.cjs +2 -2
- package/dist/resources/errors.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.d.ts +2 -2
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/factory.d.ts +3 -3
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.d.ts +2 -2
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/index.cjs +7 -9
- package/dist/resources/index.d.ts +3 -3
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +5 -10
- package/dist/resources/manager.cjs +77 -74
- package/dist/resources/manager.d.ts +16 -7
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +77 -74
- package/dist/resources/schemas.cjs +6 -26
- package/dist/resources/schemas.d.ts +8 -100
- package/dist/resources/schemas.d.ts.map +1 -1
- package/dist/resources/schemas.js +4 -23
- package/dist/search/search-service.d.ts +2 -2
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/session/chat-session.cjs +15 -25
- package/dist/session/chat-session.d.ts +7 -5
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +16 -26
- package/dist/session/errors.cjs +2 -2
- package/dist/session/errors.d.ts.map +1 -1
- package/dist/session/history/database.cjs +1 -1
- package/dist/session/history/database.d.ts +4 -4
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/factory.d.ts +3 -3
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/memory.d.ts +4 -4
- package/dist/session/history/memory.d.ts.map +1 -1
- package/dist/session/history/types.d.ts +2 -2
- package/dist/session/history/types.d.ts.map +1 -1
- package/dist/session/index.cjs +3 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +2 -0
- package/dist/session/message-queue.d.ts +2 -2
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/session-manager.cjs +67 -9
- package/dist/session/session-manager.d.ts +46 -7
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +67 -9
- package/dist/session/title-generator.cjs +2 -2
- package/dist/session/title-generator.d.ts +2 -2
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/storage/blob/index.cjs +0 -40
- package/dist/storage/blob/index.d.ts +2 -44
- package/dist/storage/blob/index.d.ts.map +1 -1
- package/dist/storage/blob/index.js +0 -30
- package/dist/storage/cache/index.cjs +0 -37
- package/dist/storage/cache/index.d.ts +0 -42
- package/dist/storage/cache/index.d.ts.map +1 -1
- package/dist/storage/cache/index.js +0 -28
- package/dist/storage/database/index.cjs +0 -42
- package/dist/storage/database/index.d.ts +0 -43
- package/dist/storage/database/index.d.ts.map +1 -1
- package/dist/storage/database/index.js +0 -37
- package/dist/storage/error-codes.cjs +1 -6
- package/dist/storage/error-codes.d.ts +2 -7
- package/dist/storage/error-codes.d.ts.map +1 -1
- package/dist/storage/error-codes.js +1 -6
- package/dist/storage/errors.cjs +18 -82
- package/dist/storage/errors.d.ts +4 -24
- package/dist/storage/errors.d.ts.map +1 -1
- package/dist/storage/errors.js +16 -80
- package/dist/storage/index.cjs +8 -69
- package/dist/storage/index.d.ts +11 -66
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +6 -50
- package/dist/storage/storage-manager.cjs +9 -25
- package/dist/storage/storage-manager.d.ts +11 -15
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +8 -23
- package/dist/storage/types.d.ts +0 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.d.ts +4 -4
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/errors.cjs +2 -2
- package/dist/systemPrompt/errors.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.cjs +5 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -1
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +5 -5
- package/dist/systemPrompt/manager.cjs +1 -5
- package/dist/systemPrompt/manager.d.ts +2 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +1 -5
- package/dist/systemPrompt/schemas.d.ts +5 -5
- package/dist/systemPrompt/types.d.ts +11 -0
- package/dist/systemPrompt/types.d.ts.map +1 -1
- package/dist/telemetry/index.cjs +3 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/utils.d.ts +4 -4
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/test-utils/in-memory-storage.cjs +288 -0
- package/dist/test-utils/in-memory-storage.js +252 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +3 -3
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +4 -4
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -1
- package/dist/tools/{internal-tools/constants.cjs → define-tool.cjs} +8 -13
- package/dist/tools/define-tool.d.ts +11 -0
- package/dist/tools/define-tool.d.ts.map +1 -0
- package/dist/tools/define-tool.js +7 -0
- package/dist/tools/display-types.d.ts +10 -0
- package/dist/tools/display-types.d.ts.map +1 -1
- package/dist/tools/error-codes.cjs +2 -2
- package/dist/tools/error-codes.d.ts +2 -2
- package/dist/tools/error-codes.d.ts.map +1 -1
- package/dist/tools/error-codes.js +2 -2
- package/dist/tools/errors.cjs +11 -23
- package/dist/tools/errors.d.ts +4 -10
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +9 -21
- package/dist/tools/index.cjs +6 -9
- package/dist/tools/index.d.ts +3 -4
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -7
- package/dist/{storage/blob/providers/index.cjs → tools/pattern-utils.cjs} +11 -9
- package/dist/tools/pattern-utils.d.ts +20 -0
- package/dist/tools/pattern-utils.d.ts.map +1 -0
- package/dist/tools/pattern-utils.js +10 -0
- package/dist/{storage/cache/factory.cjs → tools/presentation.cjs} +26 -15
- package/dist/tools/presentation.d.ts +11 -0
- package/dist/tools/presentation.d.ts.map +1 -0
- package/dist/tools/presentation.js +24 -0
- package/dist/tools/schemas.cjs +14 -40
- package/dist/tools/schemas.d.ts +6 -50
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +11 -32
- package/dist/tools/tool-call-metadata.cjs +3 -3
- package/dist/tools/tool-call-metadata.d.ts +1 -1
- package/dist/tools/tool-call-metadata.d.ts.map +1 -1
- package/dist/tools/tool-call-metadata.js +3 -3
- package/dist/tools/tool-manager.cjs +608 -392
- package/dist/tools/tool-manager.d.ts +79 -98
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +608 -396
- package/dist/tools/types.d.ts +223 -45
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/error-conversion.d.ts +2 -2
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/path.cjs +10 -1
- package/dist/utils/path.d.ts +7 -4
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +10 -1
- package/dist/utils/result.cjs +1 -1
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/schema.cjs +9 -5
- package/dist/utils/schema.d.ts +4 -2
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +9 -5
- package/dist/utils/service-initializer.cjs +51 -56
- package/dist/utils/service-initializer.d.ts +17 -14
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +51 -56
- package/dist/{storage/cache/providers/index.cjs → workspace/error-codes.cjs} +8 -9
- package/dist/workspace/error-codes.d.ts +5 -0
- package/dist/workspace/error-codes.d.ts.map +1 -0
- package/dist/workspace/error-codes.js +7 -0
- package/dist/{storage/blob/factory.cjs → workspace/errors.cjs} +20 -14
- package/dist/workspace/errors.d.ts +5 -0
- package/dist/workspace/errors.d.ts.map +1 -0
- package/dist/workspace/errors.js +21 -0
- package/dist/{image → workspace}/index.cjs +12 -10
- package/dist/workspace/index.d.ts +5 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +9 -0
- package/dist/workspace/manager.cjs +113 -0
- package/dist/workspace/manager.d.ts +18 -0
- package/dist/workspace/manager.d.ts.map +1 -0
- package/dist/workspace/manager.js +90 -0
- package/dist/workspace/types.d.ts +14 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/context/compaction/factory.cjs +0 -57
- package/dist/context/compaction/factory.d.ts +0 -17
- package/dist/context/compaction/factory.d.ts.map +0 -1
- package/dist/context/compaction/factory.js +0 -34
- package/dist/context/compaction/provider.d.ts +0 -48
- package/dist/context/compaction/provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.d.ts +0 -24
- package/dist/context/compaction/providers/noop-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/noop-provider.js +0 -24
- package/dist/context/compaction/providers/reactive-overflow-provider.cjs +0 -76
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts +0 -51
- package/dist/context/compaction/providers/reactive-overflow-provider.d.ts.map +0 -1
- package/dist/context/compaction/providers/reactive-overflow-provider.js +0 -52
- package/dist/context/compaction/registry.cjs +0 -39
- package/dist/context/compaction/registry.d.ts +0 -19
- package/dist/context/compaction/registry.d.ts.map +0 -1
- package/dist/context/compaction/registry.js +0 -16
- package/dist/context/compaction/schemas.cjs +0 -58
- package/dist/context/compaction/schemas.d.ts +0 -69
- package/dist/context/compaction/schemas.d.ts.map +0 -1
- package/dist/context/compaction/schemas.js +0 -34
- package/dist/context/compaction/strategies/reactive-overflow.d.ts.map +0 -1
- package/dist/image/define-image.cjs +0 -146
- package/dist/image/define-image.d.ts +0 -71
- package/dist/image/define-image.d.ts.map +0 -1
- package/dist/image/define-image.js +0 -121
- package/dist/image/index.d.ts +0 -53
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js +0 -7
- package/dist/image/types.d.ts +0 -246
- package/dist/image/types.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.cjs +0 -237
- package/dist/llm/services/test-utils.integration.d.ts +0 -48
- package/dist/llm/services/test-utils.integration.d.ts.map +0 -1
- package/dist/llm/services/test-utils.integration.js +0 -214
- package/dist/plugins/builtins/content-policy.d.ts +0 -26
- package/dist/plugins/builtins/content-policy.d.ts.map +0 -1
- package/dist/plugins/builtins/response-sanitizer.d.ts +0 -25
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +0 -1
- package/dist/plugins/error-codes.cjs +0 -43
- package/dist/plugins/error-codes.d.ts +0 -34
- package/dist/plugins/error-codes.d.ts.map +0 -1
- package/dist/plugins/error-codes.js +0 -20
- package/dist/plugins/index.cjs +0 -61
- package/dist/plugins/index.d.ts +0 -21
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -30
- package/dist/plugins/loader.cjs +0 -171
- package/dist/plugins/loader.d.ts +0 -30
- package/dist/plugins/loader.d.ts.map +0 -1
- package/dist/plugins/loader.js +0 -145
- package/dist/plugins/manager.cjs +0 -473
- package/dist/plugins/manager.d.ts +0 -106
- package/dist/plugins/manager.d.ts.map +0 -1
- package/dist/plugins/manager.js +0 -450
- package/dist/plugins/registrations/builtins.cjs +0 -51
- package/dist/plugins/registrations/builtins.d.ts +0 -17
- package/dist/plugins/registrations/builtins.d.ts.map +0 -1
- package/dist/plugins/registrations/builtins.js +0 -28
- package/dist/plugins/registry.cjs +0 -63
- package/dist/plugins/registry.d.ts +0 -101
- package/dist/plugins/registry.d.ts.map +0 -1
- package/dist/plugins/registry.js +0 -39
- package/dist/plugins/schemas.cjs +0 -73
- package/dist/plugins/schemas.d.ts +0 -195
- package/dist/plugins/schemas.d.ts.map +0 -1
- package/dist/plugins/schemas.js +0 -47
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/providers/base-registry.cjs +0 -147
- package/dist/providers/base-registry.d.ts +0 -147
- package/dist/providers/base-registry.d.ts.map +0 -1
- package/dist/providers/base-registry.js +0 -123
- package/dist/providers/discovery.cjs +0 -109
- package/dist/providers/discovery.d.ts +0 -96
- package/dist/providers/discovery.d.ts.map +0 -1
- package/dist/providers/discovery.js +0 -84
- package/dist/providers/index.cjs +0 -24
- package/dist/providers/index.d.ts +0 -32
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/index.js +0 -2
- package/dist/resources/internal-provider.d.ts.map +0 -1
- package/dist/storage/blob/factory.d.ts +0 -37
- package/dist/storage/blob/factory.d.ts.map +0 -1
- package/dist/storage/blob/factory.js +0 -15
- package/dist/storage/blob/local-blob-store.cjs +0 -496
- package/dist/storage/blob/local-blob-store.d.ts +0 -58
- package/dist/storage/blob/local-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/local-blob-store.js +0 -463
- package/dist/storage/blob/memory-blob-store.cjs +0 -326
- package/dist/storage/blob/memory-blob-store.d.ts +0 -66
- package/dist/storage/blob/memory-blob-store.d.ts.map +0 -1
- package/dist/storage/blob/memory-blob-store.js +0 -303
- package/dist/storage/blob/provider.d.ts +0 -50
- package/dist/storage/blob/provider.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.d.ts +0 -8
- package/dist/storage/blob/providers/index.d.ts.map +0 -1
- package/dist/storage/blob/providers/index.js +0 -7
- package/dist/storage/blob/providers/local.cjs +0 -39
- package/dist/storage/blob/providers/local.d.ts +0 -17
- package/dist/storage/blob/providers/local.d.ts.map +0 -1
- package/dist/storage/blob/providers/local.js +0 -16
- package/dist/storage/blob/providers/memory.cjs +0 -39
- package/dist/storage/blob/providers/memory.d.ts +0 -17
- package/dist/storage/blob/providers/memory.d.ts.map +0 -1
- package/dist/storage/blob/providers/memory.js +0 -16
- package/dist/storage/blob/registry.cjs +0 -50
- package/dist/storage/blob/registry.d.ts +0 -42
- package/dist/storage/blob/registry.d.ts.map +0 -1
- package/dist/storage/blob/registry.js +0 -26
- package/dist/storage/blob/schemas.cjs +0 -52
- package/dist/storage/blob/schemas.d.ts +0 -85
- package/dist/storage/blob/schemas.d.ts.map +0 -1
- package/dist/storage/blob/schemas.js +0 -26
- package/dist/storage/cache/factory.d.ts +0 -37
- package/dist/storage/cache/factory.d.ts.map +0 -1
- package/dist/storage/cache/factory.js +0 -15
- package/dist/storage/cache/memory-cache-store.cjs +0 -107
- package/dist/storage/cache/memory-cache-store.d.ts +0 -26
- package/dist/storage/cache/memory-cache-store.d.ts.map +0 -1
- package/dist/storage/cache/memory-cache-store.js +0 -84
- package/dist/storage/cache/provider.cjs +0 -16
- package/dist/storage/cache/provider.d.ts +0 -56
- package/dist/storage/cache/provider.d.ts.map +0 -1
- package/dist/storage/cache/provider.js +0 -0
- package/dist/storage/cache/providers/index.d.ts +0 -8
- package/dist/storage/cache/providers/index.d.ts.map +0 -1
- package/dist/storage/cache/providers/index.js +0 -7
- package/dist/storage/cache/providers/memory.d.ts +0 -17
- package/dist/storage/cache/providers/memory.d.ts.map +0 -1
- package/dist/storage/cache/providers/memory.js +0 -17
- package/dist/storage/cache/providers/redis.cjs +0 -66
- package/dist/storage/cache/providers/redis.d.ts +0 -20
- package/dist/storage/cache/providers/redis.d.ts.map +0 -1
- package/dist/storage/cache/providers/redis.js +0 -33
- package/dist/storage/cache/redis-store.cjs +0 -173
- package/dist/storage/cache/redis-store.d.ts +0 -32
- package/dist/storage/cache/redis-store.d.ts.map +0 -1
- package/dist/storage/cache/redis-store.js +0 -150
- package/dist/storage/cache/registry.cjs +0 -50
- package/dist/storage/cache/registry.d.ts +0 -42
- package/dist/storage/cache/registry.d.ts.map +0 -1
- package/dist/storage/cache/registry.js +0 -26
- package/dist/storage/cache/schemas.cjs +0 -81
- package/dist/storage/cache/schemas.d.ts +0 -150
- package/dist/storage/cache/schemas.d.ts.map +0 -1
- package/dist/storage/cache/schemas.js +0 -55
- package/dist/storage/database/factory.cjs +0 -38
- package/dist/storage/database/factory.d.ts +0 -39
- package/dist/storage/database/factory.d.ts.map +0 -1
- package/dist/storage/database/factory.js +0 -15
- package/dist/storage/database/memory-database-store.cjs +0 -122
- package/dist/storage/database/memory-database-store.d.ts +0 -29
- package/dist/storage/database/memory-database-store.d.ts.map +0 -1
- package/dist/storage/database/memory-database-store.js +0 -99
- package/dist/storage/database/postgres-store.cjs +0 -342
- package/dist/storage/database/postgres-store.d.ts +0 -55
- package/dist/storage/database/postgres-store.d.ts.map +0 -1
- package/dist/storage/database/postgres-store.js +0 -319
- package/dist/storage/database/provider.cjs +0 -16
- package/dist/storage/database/provider.d.ts +0 -56
- package/dist/storage/database/provider.d.ts.map +0 -1
- package/dist/storage/database/provider.js +0 -0
- package/dist/storage/database/providers/index.cjs +0 -34
- package/dist/storage/database/providers/index.d.ts +0 -9
- package/dist/storage/database/providers/index.d.ts.map +0 -1
- package/dist/storage/database/providers/index.js +0 -9
- package/dist/storage/database/providers/memory.cjs +0 -40
- package/dist/storage/database/providers/memory.d.ts +0 -16
- package/dist/storage/database/providers/memory.d.ts.map +0 -1
- package/dist/storage/database/providers/memory.js +0 -17
- package/dist/storage/database/providers/postgres.cjs +0 -62
- package/dist/storage/database/providers/postgres.d.ts +0 -19
- package/dist/storage/database/providers/postgres.d.ts.map +0 -1
- package/dist/storage/database/providers/postgres.js +0 -29
- package/dist/storage/database/providers/sqlite.cjs +0 -66
- package/dist/storage/database/providers/sqlite.d.ts +0 -20
- package/dist/storage/database/providers/sqlite.d.ts.map +0 -1
- package/dist/storage/database/providers/sqlite.js +0 -33
- package/dist/storage/database/registry.cjs +0 -50
- package/dist/storage/database/registry.d.ts +0 -42
- package/dist/storage/database/registry.d.ts.map +0 -1
- package/dist/storage/database/registry.js +0 -26
- package/dist/storage/database/schemas.cjs +0 -97
- package/dist/storage/database/schemas.d.ts +0 -226
- package/dist/storage/database/schemas.d.ts.map +0 -1
- package/dist/storage/database/schemas.js +0 -70
- package/dist/storage/database/sqlite-store.cjs +0 -270
- package/dist/storage/database/sqlite-store.d.ts +0 -33
- package/dist/storage/database/sqlite-store.d.ts.map +0 -1
- package/dist/storage/database/sqlite-store.js +0 -237
- package/dist/storage/schemas.cjs +0 -57
- package/dist/storage/schemas.d.ts +0 -347
- package/dist/storage/schemas.d.ts.map +0 -1
- package/dist/storage/schemas.js +0 -37
- package/dist/tools/bash-pattern-utils.cjs +0 -91
- package/dist/tools/bash-pattern-utils.d.ts +0 -58
- package/dist/tools/bash-pattern-utils.d.ts.map +0 -1
- package/dist/tools/bash-pattern-utils.js +0 -64
- package/dist/tools/custom-tool-registry.cjs +0 -64
- package/dist/tools/custom-tool-registry.d.ts +0 -126
- package/dist/tools/custom-tool-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-registry.js +0 -40
- package/dist/tools/custom-tool-schema-registry.cjs +0 -164
- package/dist/tools/custom-tool-schema-registry.d.ts +0 -86
- package/dist/tools/custom-tool-schema-registry.d.ts.map +0 -1
- package/dist/tools/custom-tool-schema-registry.js +0 -140
- package/dist/tools/internal-tools/constants.d.ts +0 -12
- package/dist/tools/internal-tools/constants.d.ts.map +0 -1
- package/dist/tools/internal-tools/constants.js +0 -12
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +0 -57
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +0 -18
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +0 -34
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +0 -192
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +0 -33
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +0 -169
- package/dist/tools/internal-tools/implementations/get-resource-tool.cjs +0 -113
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts +0 -30
- package/dist/tools/internal-tools/implementations/get-resource-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/get-resource-tool.js +0 -90
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +0 -140
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +0 -117
- package/dist/tools/internal-tools/implementations/list-resources-tool.cjs +0 -91
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts +0 -24
- package/dist/tools/internal-tools/implementations/list-resources-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/list-resources-tool.js +0 -68
- package/dist/tools/internal-tools/implementations/search-history-tool.cjs +0 -61
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +0 -7
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +0 -1
- package/dist/tools/internal-tools/implementations/search-history-tool.js +0 -38
- package/dist/tools/internal-tools/index.cjs +0 -26
- package/dist/tools/internal-tools/index.d.ts +0 -4
- package/dist/tools/internal-tools/index.d.ts.map +0 -1
- package/dist/tools/internal-tools/index.js +0 -3
- package/dist/tools/internal-tools/provider.cjs +0 -324
- package/dist/tools/internal-tools/provider.d.ts +0 -116
- package/dist/tools/internal-tools/provider.d.ts.map +0 -1
- package/dist/tools/internal-tools/provider.js +0 -301
- package/dist/tools/internal-tools/registry.cjs +0 -71
- package/dist/tools/internal-tools/registry.d.ts +0 -91
- package/dist/tools/internal-tools/registry.d.ts.map +0 -1
- package/dist/tools/internal-tools/registry.js +0 -47
- /package/dist/{context/compaction/provider.js → agent/agent-options.js} +0 -0
- /package/dist/{image/types.js → agent/runtime-config.js} +0 -0
- /package/dist/{image → hooks}/types.cjs +0 -0
- /package/dist/{plugins → hooks}/types.js +0 -0
- /package/dist/{plugins → workspace}/types.cjs +0 -0
- /package/dist/{storage/blob/provider.js → workspace/types.js} +0 -0
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import type { RegistryPluginConfig } from './schemas.js';
|
|
2
|
-
import type { ExtensionPoint, PluginConfig } from './types.js';
|
|
3
|
-
import type { AgentEventBus } from '../events/index.js';
|
|
4
|
-
import type { StorageManager } from '../storage/index.js';
|
|
5
|
-
import type { SessionManager } from '../session/index.js';
|
|
6
|
-
import type { MCPManager } from '../mcp/manager.js';
|
|
7
|
-
import type { ToolManager } from '../tools/tool-manager.js';
|
|
8
|
-
import type { AgentStateManager } from '../agent/state-manager.js';
|
|
9
|
-
import type { IDextoLogger } from '../logger/v2/types.js';
|
|
10
|
-
/**
|
|
11
|
-
* Options for PluginManager construction
|
|
12
|
-
*/
|
|
13
|
-
export interface PluginManagerOptions {
|
|
14
|
-
agentEventBus: AgentEventBus;
|
|
15
|
-
storageManager: StorageManager;
|
|
16
|
-
configDir: string;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Options for building ExecutionContext
|
|
20
|
-
* Used when calling executePlugins
|
|
21
|
-
*/
|
|
22
|
-
export interface ExecutionContextOptions {
|
|
23
|
-
sessionManager: SessionManager;
|
|
24
|
-
mcpManager: MCPManager;
|
|
25
|
-
toolManager: ToolManager;
|
|
26
|
-
stateManager: AgentStateManager;
|
|
27
|
-
sessionId?: string;
|
|
28
|
-
abortSignal?: AbortSignal;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Plugin Manager - Orchestrates plugin loading and execution
|
|
32
|
-
*
|
|
33
|
-
* Responsibilities:
|
|
34
|
-
* - Load plugins from configuration (built-in + custom)
|
|
35
|
-
* - Validate plugin shape and priority uniqueness
|
|
36
|
-
* - Manage plugin lifecycle (initialize, execute, cleanup)
|
|
37
|
-
* - Execute plugins sequentially at extension points
|
|
38
|
-
* - Handle timeouts and errors with fail-fast policy
|
|
39
|
-
*/
|
|
40
|
-
export declare class PluginManager {
|
|
41
|
-
private plugins;
|
|
42
|
-
private pluginsByExtensionPoint;
|
|
43
|
-
private options;
|
|
44
|
-
private initialized;
|
|
45
|
-
private logger;
|
|
46
|
-
/** Default timeout for plugin execution (milliseconds) */
|
|
47
|
-
private static readonly DEFAULT_TIMEOUT;
|
|
48
|
-
constructor(options: PluginManagerOptions, logger: IDextoLogger);
|
|
49
|
-
/**
|
|
50
|
-
* Register a built-in plugin
|
|
51
|
-
* Called by the built-in plugin registry before initialize()
|
|
52
|
-
*
|
|
53
|
-
* @param name - Plugin name
|
|
54
|
-
* @param PluginClass - Plugin class constructor
|
|
55
|
-
* @param config - Plugin configuration
|
|
56
|
-
*/
|
|
57
|
-
registerBuiltin(name: string, PluginClass: any, config: Omit<PluginConfig, 'module'>): void;
|
|
58
|
-
/**
|
|
59
|
-
* Initialize all plugins from configuration
|
|
60
|
-
* Loads custom plugins (file-based), registry plugins (programmatic), validates priorities,
|
|
61
|
-
* sorts by priority, and calls initialize()
|
|
62
|
-
*
|
|
63
|
-
* TODO: Consider adding an MCP server-like convention for plugin discovery.
|
|
64
|
-
* Instead of requiring explicit file paths, plugins could be connected as
|
|
65
|
-
* plugin servers to the PluginManager.
|
|
66
|
-
*
|
|
67
|
-
* @param customPlugins - Array of custom plugin configurations from YAML (file-based)
|
|
68
|
-
* @param registryPlugins - Array of registry plugin configurations from YAML (programmatic)
|
|
69
|
-
* @throws {DextoRuntimeError} If any plugin fails to load or initialize (fail-fast)
|
|
70
|
-
*/
|
|
71
|
-
initialize(customPlugins?: PluginConfig[], registryPlugins?: RegistryPluginConfig[]): Promise<void>;
|
|
72
|
-
/**
|
|
73
|
-
* Register a plugin to the extension points it implements
|
|
74
|
-
*/
|
|
75
|
-
private registerToExtensionPoints;
|
|
76
|
-
/**
|
|
77
|
-
* Execute all plugins at a specific extension point
|
|
78
|
-
* Plugins execute sequentially in priority order
|
|
79
|
-
*
|
|
80
|
-
* @param extensionPoint - Which extension point to execute
|
|
81
|
-
* @param payload - Payload for this extension point (must be an object)
|
|
82
|
-
* @param options - Options for building execution context
|
|
83
|
-
* @returns Modified payload after all plugins execute
|
|
84
|
-
* @throws {DextoRuntimeError} If a blocking plugin cancels execution or payload is not an object
|
|
85
|
-
*/
|
|
86
|
-
executePlugins<T extends Record<string, any>>(extensionPoint: ExtensionPoint, payload: T, options: ExecutionContextOptions): Promise<T>;
|
|
87
|
-
/**
|
|
88
|
-
* Execute a promise with timeout, properly clearing timer on completion
|
|
89
|
-
* Prevents timer leaks and unhandled rejections from Promise.race
|
|
90
|
-
*/
|
|
91
|
-
private executeWithTimeout;
|
|
92
|
-
/**
|
|
93
|
-
* Cleanup all plugins
|
|
94
|
-
* Called when agent shuts down
|
|
95
|
-
*/
|
|
96
|
-
cleanup(): Promise<void>;
|
|
97
|
-
/**
|
|
98
|
-
* Get plugin statistics
|
|
99
|
-
*/
|
|
100
|
-
getStats(): {
|
|
101
|
-
total: number;
|
|
102
|
-
enabled: number;
|
|
103
|
-
byExtensionPoint: Record<ExtensionPoint, number>;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/plugins/manager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EACR,cAAc,EAEd,YAAY,EAGf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,uBAAuB,CAAkD;IACjF,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,MAAM,CAAe;IAE7B,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAEnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAM/D;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,IAAI;IA8B3F;;;;;;;;;;;;OAYG;IACG,UAAU,CACZ,aAAa,GAAE,YAAY,EAAO,EAClC,eAAe,GAAE,oBAAoB,EAAO,GAC7C,OAAO,CAAC,IAAI,CAAC;IAqNhB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAkBjC;;;;;;;;;OASG;IACG,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9C,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,CAAC,CAAC;IAoKb;;;OAGG;YACW,kBAAkB;IA8BhC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB9B;;OAEG;IACH,QAAQ,IAAI;QACR,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;KACpD;CAcJ"}
|
package/dist/plugins/manager.js
DELETED
|
@@ -1,450 +0,0 @@
|
|
|
1
|
-
import "../chunk-PTJYTZNU.js";
|
|
2
|
-
import { DextoRuntimeError, ErrorScope, ErrorType } from "../errors/index.js";
|
|
3
|
-
import { PluginErrorCode } from "./error-codes.js";
|
|
4
|
-
import { loadPluginModule, resolvePluginPath } from "./loader.js";
|
|
5
|
-
import { getContext } from "../utils/async-context.js";
|
|
6
|
-
import { pluginRegistry } from "./registry.js";
|
|
7
|
-
import { DextoLogComponent } from "../logger/v2/types.js";
|
|
8
|
-
class PluginManager {
|
|
9
|
-
plugins = /* @__PURE__ */ new Map();
|
|
10
|
-
pluginsByExtensionPoint = /* @__PURE__ */ new Map();
|
|
11
|
-
options;
|
|
12
|
-
initialized = false;
|
|
13
|
-
logger;
|
|
14
|
-
/** Default timeout for plugin execution (milliseconds) */
|
|
15
|
-
static DEFAULT_TIMEOUT = 5e3;
|
|
16
|
-
constructor(options, logger) {
|
|
17
|
-
this.options = options;
|
|
18
|
-
this.logger = logger.createChild(DextoLogComponent.PLUGIN);
|
|
19
|
-
this.logger.debug("PluginManager created");
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Register a built-in plugin
|
|
23
|
-
* Called by the built-in plugin registry before initialize()
|
|
24
|
-
*
|
|
25
|
-
* @param name - Plugin name
|
|
26
|
-
* @param PluginClass - Plugin class constructor
|
|
27
|
-
* @param config - Plugin configuration
|
|
28
|
-
*/
|
|
29
|
-
registerBuiltin(name, PluginClass, config) {
|
|
30
|
-
if (this.initialized) {
|
|
31
|
-
throw new DextoRuntimeError(
|
|
32
|
-
PluginErrorCode.PLUGIN_CONFIGURATION_INVALID,
|
|
33
|
-
ErrorScope.PLUGIN,
|
|
34
|
-
ErrorType.SYSTEM,
|
|
35
|
-
"Cannot register built-in plugins after initialization"
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
const plugin = new PluginClass();
|
|
39
|
-
const loadedPlugin = {
|
|
40
|
-
plugin,
|
|
41
|
-
config: {
|
|
42
|
-
name,
|
|
43
|
-
module: `<builtin:${name}>`,
|
|
44
|
-
enabled: config.enabled ?? true,
|
|
45
|
-
blocking: config.blocking,
|
|
46
|
-
priority: config.priority,
|
|
47
|
-
config: config.config ?? void 0
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
this.plugins.set(name, loadedPlugin);
|
|
51
|
-
this.logger.debug(`Built-in plugin registered: ${name}`);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Initialize all plugins from configuration
|
|
55
|
-
* Loads custom plugins (file-based), registry plugins (programmatic), validates priorities,
|
|
56
|
-
* sorts by priority, and calls initialize()
|
|
57
|
-
*
|
|
58
|
-
* TODO: Consider adding an MCP server-like convention for plugin discovery.
|
|
59
|
-
* Instead of requiring explicit file paths, plugins could be connected as
|
|
60
|
-
* plugin servers to the PluginManager.
|
|
61
|
-
*
|
|
62
|
-
* @param customPlugins - Array of custom plugin configurations from YAML (file-based)
|
|
63
|
-
* @param registryPlugins - Array of registry plugin configurations from YAML (programmatic)
|
|
64
|
-
* @throws {DextoRuntimeError} If any plugin fails to load or initialize (fail-fast)
|
|
65
|
-
*/
|
|
66
|
-
async initialize(customPlugins = [], registryPlugins = []) {
|
|
67
|
-
if (this.initialized) {
|
|
68
|
-
throw new DextoRuntimeError(
|
|
69
|
-
PluginErrorCode.PLUGIN_CONFIGURATION_INVALID,
|
|
70
|
-
ErrorScope.PLUGIN,
|
|
71
|
-
ErrorType.SYSTEM,
|
|
72
|
-
"PluginManager already initialized"
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
const priorities = /* @__PURE__ */ new Set();
|
|
76
|
-
const allPluginConfigs = [
|
|
77
|
-
...Array.from(this.plugins.values()).map((p) => p.config),
|
|
78
|
-
...customPlugins,
|
|
79
|
-
...registryPlugins.map((r) => ({
|
|
80
|
-
name: r.type,
|
|
81
|
-
module: `<registry:${r.type}>`,
|
|
82
|
-
enabled: r.enabled,
|
|
83
|
-
blocking: r.blocking,
|
|
84
|
-
priority: r.priority,
|
|
85
|
-
config: r.config
|
|
86
|
-
}))
|
|
87
|
-
];
|
|
88
|
-
for (const config of allPluginConfigs) {
|
|
89
|
-
if (!config.enabled) continue;
|
|
90
|
-
if (priorities.has(config.priority)) {
|
|
91
|
-
throw new DextoRuntimeError(
|
|
92
|
-
PluginErrorCode.PLUGIN_DUPLICATE_PRIORITY,
|
|
93
|
-
ErrorScope.PLUGIN,
|
|
94
|
-
ErrorType.USER,
|
|
95
|
-
`Duplicate plugin priority: ${config.priority}. Each plugin must have a unique priority.`,
|
|
96
|
-
{
|
|
97
|
-
priority: config.priority,
|
|
98
|
-
hint: "Ensure all enabled plugins (built-in, custom, and registry) have unique priority values."
|
|
99
|
-
}
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
priorities.add(config.priority);
|
|
103
|
-
}
|
|
104
|
-
for (const registryConfig of registryPlugins) {
|
|
105
|
-
if (!registryConfig.enabled) {
|
|
106
|
-
this.logger.debug(`Skipping disabled registry plugin: ${registryConfig.type}`);
|
|
107
|
-
continue;
|
|
108
|
-
}
|
|
109
|
-
try {
|
|
110
|
-
const provider = pluginRegistry.get(registryConfig.type);
|
|
111
|
-
if (!provider) {
|
|
112
|
-
throw new DextoRuntimeError(
|
|
113
|
-
PluginErrorCode.PLUGIN_PROVIDER_NOT_FOUND,
|
|
114
|
-
ErrorScope.PLUGIN,
|
|
115
|
-
ErrorType.USER,
|
|
116
|
-
`Plugin provider '${registryConfig.type}' not found in registry`,
|
|
117
|
-
{
|
|
118
|
-
type: registryConfig.type,
|
|
119
|
-
available: pluginRegistry.getTypes()
|
|
120
|
-
},
|
|
121
|
-
`Available plugin providers: ${pluginRegistry.getTypes().join(", ") || "none"}. Register the provider using pluginRegistry.register() before agent initialization.`
|
|
122
|
-
);
|
|
123
|
-
}
|
|
124
|
-
const validatedConfig = provider.configSchema.safeParse({
|
|
125
|
-
type: registryConfig.type,
|
|
126
|
-
...registryConfig.config
|
|
127
|
-
});
|
|
128
|
-
if (!validatedConfig.success) {
|
|
129
|
-
throw new DextoRuntimeError(
|
|
130
|
-
PluginErrorCode.PLUGIN_PROVIDER_VALIDATION_FAILED,
|
|
131
|
-
ErrorScope.PLUGIN,
|
|
132
|
-
ErrorType.USER,
|
|
133
|
-
`Invalid configuration for plugin provider '${registryConfig.type}'`,
|
|
134
|
-
{
|
|
135
|
-
type: registryConfig.type,
|
|
136
|
-
errors: validatedConfig.error.errors
|
|
137
|
-
},
|
|
138
|
-
"Check the configuration schema for this plugin provider"
|
|
139
|
-
);
|
|
140
|
-
}
|
|
141
|
-
const creationContext = {
|
|
142
|
-
config: registryConfig.config || {},
|
|
143
|
-
blocking: registryConfig.blocking,
|
|
144
|
-
priority: registryConfig.priority
|
|
145
|
-
};
|
|
146
|
-
const plugin = provider.create(validatedConfig.data, creationContext);
|
|
147
|
-
const loadedPlugin = {
|
|
148
|
-
plugin,
|
|
149
|
-
config: {
|
|
150
|
-
name: registryConfig.type,
|
|
151
|
-
module: `<registry:${registryConfig.type}>`,
|
|
152
|
-
enabled: registryConfig.enabled,
|
|
153
|
-
blocking: registryConfig.blocking,
|
|
154
|
-
priority: registryConfig.priority,
|
|
155
|
-
config: registryConfig.config
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
this.plugins.set(registryConfig.type, loadedPlugin);
|
|
159
|
-
this.logger.info(`Registry plugin loaded: ${registryConfig.type}`);
|
|
160
|
-
} catch (error) {
|
|
161
|
-
if (error instanceof DextoRuntimeError) {
|
|
162
|
-
throw error;
|
|
163
|
-
}
|
|
164
|
-
throw new DextoRuntimeError(
|
|
165
|
-
PluginErrorCode.PLUGIN_INITIALIZATION_FAILED,
|
|
166
|
-
ErrorScope.PLUGIN,
|
|
167
|
-
ErrorType.SYSTEM,
|
|
168
|
-
`Failed to load registry plugin '${registryConfig.type}': ${error instanceof Error ? error.message : String(error)}`
|
|
169
|
-
);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
for (const pluginConfig of customPlugins) {
|
|
173
|
-
if (!pluginConfig.enabled) {
|
|
174
|
-
this.logger.debug(`Skipping disabled plugin: ${pluginConfig.name}`);
|
|
175
|
-
continue;
|
|
176
|
-
}
|
|
177
|
-
try {
|
|
178
|
-
const modulePath = resolvePluginPath(pluginConfig.module, this.options.configDir);
|
|
179
|
-
const PluginClass = await loadPluginModule(modulePath, pluginConfig.name);
|
|
180
|
-
const plugin = new PluginClass();
|
|
181
|
-
const loadedPlugin = {
|
|
182
|
-
plugin,
|
|
183
|
-
config: pluginConfig
|
|
184
|
-
};
|
|
185
|
-
this.plugins.set(pluginConfig.name, loadedPlugin);
|
|
186
|
-
this.logger.info(`Custom plugin loaded: ${pluginConfig.name}`);
|
|
187
|
-
} catch (error) {
|
|
188
|
-
throw new DextoRuntimeError(
|
|
189
|
-
PluginErrorCode.PLUGIN_INITIALIZATION_FAILED,
|
|
190
|
-
ErrorScope.PLUGIN,
|
|
191
|
-
ErrorType.SYSTEM,
|
|
192
|
-
`Failed to load plugin '${pluginConfig.name}': ${error instanceof Error ? error.message : String(error)}`
|
|
193
|
-
);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
for (const [name, loadedPlugin] of this.plugins.entries()) {
|
|
197
|
-
if (!loadedPlugin.config.enabled) continue;
|
|
198
|
-
try {
|
|
199
|
-
if (loadedPlugin.plugin.initialize) {
|
|
200
|
-
await loadedPlugin.plugin.initialize(loadedPlugin.config.config || {});
|
|
201
|
-
this.logger.debug(`Plugin initialized: ${name}`);
|
|
202
|
-
}
|
|
203
|
-
} catch (error) {
|
|
204
|
-
throw new DextoRuntimeError(
|
|
205
|
-
PluginErrorCode.PLUGIN_INITIALIZATION_FAILED,
|
|
206
|
-
ErrorScope.PLUGIN,
|
|
207
|
-
ErrorType.SYSTEM,
|
|
208
|
-
`Plugin '${name}' initialization failed: ${error instanceof Error ? error.message : String(error)}`
|
|
209
|
-
);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
for (const loadedPlugin of this.plugins.values()) {
|
|
213
|
-
if (!loadedPlugin.config.enabled) continue;
|
|
214
|
-
this.registerToExtensionPoints(loadedPlugin);
|
|
215
|
-
}
|
|
216
|
-
for (const [extensionPoint, plugins] of this.pluginsByExtensionPoint.entries()) {
|
|
217
|
-
plugins.sort((a, b) => a.config.priority - b.config.priority);
|
|
218
|
-
this.logger.debug(
|
|
219
|
-
`Extension point '${extensionPoint}': ${plugins.length} plugin(s) registered`,
|
|
220
|
-
{
|
|
221
|
-
plugins: plugins.map((p) => ({
|
|
222
|
-
name: p.config.name,
|
|
223
|
-
priority: p.config.priority
|
|
224
|
-
}))
|
|
225
|
-
}
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
this.initialized = true;
|
|
229
|
-
this.logger.info(`PluginManager initialized with ${this.plugins.size} plugin(s)`);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* Register a plugin to the extension points it implements
|
|
233
|
-
*/
|
|
234
|
-
registerToExtensionPoints(loadedPlugin) {
|
|
235
|
-
const extensionPoints = [
|
|
236
|
-
"beforeLLMRequest",
|
|
237
|
-
"beforeToolCall",
|
|
238
|
-
"afterToolResult",
|
|
239
|
-
"beforeResponse"
|
|
240
|
-
];
|
|
241
|
-
for (const point of extensionPoints) {
|
|
242
|
-
if (typeof loadedPlugin.plugin[point] === "function") {
|
|
243
|
-
if (!this.pluginsByExtensionPoint.has(point)) {
|
|
244
|
-
this.pluginsByExtensionPoint.set(point, []);
|
|
245
|
-
}
|
|
246
|
-
this.pluginsByExtensionPoint.get(point).push(loadedPlugin);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Execute all plugins at a specific extension point
|
|
252
|
-
* Plugins execute sequentially in priority order
|
|
253
|
-
*
|
|
254
|
-
* @param extensionPoint - Which extension point to execute
|
|
255
|
-
* @param payload - Payload for this extension point (must be an object)
|
|
256
|
-
* @param options - Options for building execution context
|
|
257
|
-
* @returns Modified payload after all plugins execute
|
|
258
|
-
* @throws {DextoRuntimeError} If a blocking plugin cancels execution or payload is not an object
|
|
259
|
-
*/
|
|
260
|
-
async executePlugins(extensionPoint, payload, options) {
|
|
261
|
-
const plugins = this.pluginsByExtensionPoint.get(extensionPoint) || [];
|
|
262
|
-
if (plugins.length === 0) {
|
|
263
|
-
return payload;
|
|
264
|
-
}
|
|
265
|
-
if (payload === null || typeof payload !== "object") {
|
|
266
|
-
throw new DextoRuntimeError(
|
|
267
|
-
PluginErrorCode.PLUGIN_INVALID_SHAPE,
|
|
268
|
-
ErrorScope.PLUGIN,
|
|
269
|
-
ErrorType.USER,
|
|
270
|
-
`Payload for ${extensionPoint} must be an object (got ${payload === null ? "null" : typeof payload})`,
|
|
271
|
-
{ extensionPoint, payloadType: typeof payload }
|
|
272
|
-
);
|
|
273
|
-
}
|
|
274
|
-
let currentPayload = { ...payload };
|
|
275
|
-
const asyncCtx = getContext();
|
|
276
|
-
const llmConfig = options.stateManager.getLLMConfig(options.sessionId);
|
|
277
|
-
const context = {
|
|
278
|
-
sessionId: options.sessionId ?? void 0,
|
|
279
|
-
userId: asyncCtx?.userId ?? void 0,
|
|
280
|
-
tenantId: asyncCtx?.tenantId ?? void 0,
|
|
281
|
-
llmConfig,
|
|
282
|
-
logger: this.logger,
|
|
283
|
-
abortSignal: options.abortSignal ?? void 0,
|
|
284
|
-
agent: {
|
|
285
|
-
sessionManager: options.sessionManager,
|
|
286
|
-
mcpManager: options.mcpManager,
|
|
287
|
-
toolManager: options.toolManager,
|
|
288
|
-
stateManager: options.stateManager,
|
|
289
|
-
agentEventBus: this.options.agentEventBus,
|
|
290
|
-
storageManager: this.options.storageManager
|
|
291
|
-
}
|
|
292
|
-
};
|
|
293
|
-
for (const { plugin, config } of plugins) {
|
|
294
|
-
const method = plugin[extensionPoint];
|
|
295
|
-
if (!method) continue;
|
|
296
|
-
const startTime = Date.now();
|
|
297
|
-
try {
|
|
298
|
-
const result = await this.executeWithTimeout(
|
|
299
|
-
method.call(plugin, currentPayload, context),
|
|
300
|
-
config.name,
|
|
301
|
-
PluginManager.DEFAULT_TIMEOUT
|
|
302
|
-
);
|
|
303
|
-
const duration = Date.now() - startTime;
|
|
304
|
-
this.logger.debug(`Plugin '${config.name}' executed at ${extensionPoint}`, {
|
|
305
|
-
ok: result.ok,
|
|
306
|
-
cancelled: result.cancel,
|
|
307
|
-
duration,
|
|
308
|
-
hasModifications: !!result.modify
|
|
309
|
-
});
|
|
310
|
-
if (result.notices && result.notices.length > 0) {
|
|
311
|
-
for (const notice of result.notices) {
|
|
312
|
-
const level = notice.kind === "block" || notice.kind === "warn" ? "warn" : "info";
|
|
313
|
-
this.logger[level](`Plugin notice (${notice.kind}): ${notice.message}`, {
|
|
314
|
-
plugin: config.name,
|
|
315
|
-
code: notice.code,
|
|
316
|
-
details: notice.details
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
if (!result.ok) {
|
|
321
|
-
this.logger.warn(`Plugin '${config.name}' returned error`, {
|
|
322
|
-
message: result.message
|
|
323
|
-
});
|
|
324
|
-
if (config.blocking && result.cancel) {
|
|
325
|
-
throw new DextoRuntimeError(
|
|
326
|
-
PluginErrorCode.PLUGIN_BLOCKED_EXECUTION,
|
|
327
|
-
ErrorScope.PLUGIN,
|
|
328
|
-
ErrorType.FORBIDDEN,
|
|
329
|
-
result.message || `Operation blocked by plugin '${config.name}'`,
|
|
330
|
-
{
|
|
331
|
-
plugin: config.name,
|
|
332
|
-
extensionPoint,
|
|
333
|
-
notices: result.notices
|
|
334
|
-
}
|
|
335
|
-
);
|
|
336
|
-
}
|
|
337
|
-
continue;
|
|
338
|
-
}
|
|
339
|
-
if (result.modify) {
|
|
340
|
-
currentPayload = { ...currentPayload, ...result.modify };
|
|
341
|
-
this.logger.debug(`Plugin '${config.name}' modified payload`, {
|
|
342
|
-
keys: Object.keys(result.modify)
|
|
343
|
-
});
|
|
344
|
-
}
|
|
345
|
-
if (result.cancel && config.blocking) {
|
|
346
|
-
throw new DextoRuntimeError(
|
|
347
|
-
PluginErrorCode.PLUGIN_BLOCKED_EXECUTION,
|
|
348
|
-
ErrorScope.PLUGIN,
|
|
349
|
-
ErrorType.FORBIDDEN,
|
|
350
|
-
result.message || `Operation cancelled by plugin '${config.name}'`,
|
|
351
|
-
{
|
|
352
|
-
plugin: config.name,
|
|
353
|
-
extensionPoint,
|
|
354
|
-
notices: result.notices
|
|
355
|
-
}
|
|
356
|
-
);
|
|
357
|
-
}
|
|
358
|
-
} catch (error) {
|
|
359
|
-
const duration = Date.now() - startTime;
|
|
360
|
-
if (error instanceof DextoRuntimeError) {
|
|
361
|
-
throw error;
|
|
362
|
-
}
|
|
363
|
-
this.logger.error(`Plugin '${config.name}' threw error`, {
|
|
364
|
-
error: error instanceof Error ? error.message : String(error),
|
|
365
|
-
duration
|
|
366
|
-
});
|
|
367
|
-
if (config.blocking) {
|
|
368
|
-
throw new DextoRuntimeError(
|
|
369
|
-
PluginErrorCode.PLUGIN_EXECUTION_FAILED,
|
|
370
|
-
ErrorScope.PLUGIN,
|
|
371
|
-
ErrorType.SYSTEM,
|
|
372
|
-
`Plugin '${config.name}' failed: ${error instanceof Error ? error.message : String(error)}`,
|
|
373
|
-
{
|
|
374
|
-
plugin: config.name,
|
|
375
|
-
extensionPoint
|
|
376
|
-
}
|
|
377
|
-
);
|
|
378
|
-
}
|
|
379
|
-
this.logger.debug(`Non-blocking plugin error, continuing execution`);
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
return currentPayload;
|
|
383
|
-
}
|
|
384
|
-
/**
|
|
385
|
-
* Execute a promise with timeout, properly clearing timer on completion
|
|
386
|
-
* Prevents timer leaks and unhandled rejections from Promise.race
|
|
387
|
-
*/
|
|
388
|
-
async executeWithTimeout(promise, pluginName, ms) {
|
|
389
|
-
let timer;
|
|
390
|
-
return await new Promise((resolve, reject) => {
|
|
391
|
-
timer = setTimeout(() => {
|
|
392
|
-
reject(
|
|
393
|
-
new DextoRuntimeError(
|
|
394
|
-
PluginErrorCode.PLUGIN_EXECUTION_TIMEOUT,
|
|
395
|
-
ErrorScope.PLUGIN,
|
|
396
|
-
ErrorType.TIMEOUT,
|
|
397
|
-
`Plugin '${pluginName}' execution timed out after ${ms}ms`
|
|
398
|
-
)
|
|
399
|
-
);
|
|
400
|
-
}, ms);
|
|
401
|
-
promise.then(
|
|
402
|
-
(val) => {
|
|
403
|
-
if (timer) clearTimeout(timer);
|
|
404
|
-
resolve(val);
|
|
405
|
-
},
|
|
406
|
-
(err) => {
|
|
407
|
-
if (timer) clearTimeout(timer);
|
|
408
|
-
reject(err);
|
|
409
|
-
}
|
|
410
|
-
);
|
|
411
|
-
});
|
|
412
|
-
}
|
|
413
|
-
/**
|
|
414
|
-
* Cleanup all plugins
|
|
415
|
-
* Called when agent shuts down
|
|
416
|
-
*/
|
|
417
|
-
async cleanup() {
|
|
418
|
-
for (const [name, loadedPlugin] of this.plugins.entries()) {
|
|
419
|
-
if (loadedPlugin.plugin.cleanup) {
|
|
420
|
-
try {
|
|
421
|
-
await loadedPlugin.plugin.cleanup();
|
|
422
|
-
this.logger.debug(`Plugin cleaned up: ${name}`);
|
|
423
|
-
} catch (error) {
|
|
424
|
-
this.logger.error(`Plugin cleanup failed: ${name}`, {
|
|
425
|
-
error: error instanceof Error ? error.message : String(error)
|
|
426
|
-
});
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
this.logger.info("PluginManager cleanup complete");
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Get plugin statistics
|
|
434
|
-
*/
|
|
435
|
-
getStats() {
|
|
436
|
-
const enabled = Array.from(this.plugins.values()).filter((p) => p.config.enabled).length;
|
|
437
|
-
const byExtensionPoint = {};
|
|
438
|
-
for (const [point, plugins] of this.pluginsByExtensionPoint.entries()) {
|
|
439
|
-
byExtensionPoint[point] = plugins.length;
|
|
440
|
-
}
|
|
441
|
-
return {
|
|
442
|
-
total: this.plugins.size,
|
|
443
|
-
enabled,
|
|
444
|
-
byExtensionPoint
|
|
445
|
-
};
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
export {
|
|
449
|
-
PluginManager
|
|
450
|
-
};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var builtins_exports = {};
|
|
20
|
-
__export(builtins_exports, {
|
|
21
|
-
registerBuiltInPlugins: () => registerBuiltInPlugins
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(builtins_exports);
|
|
24
|
-
var import_content_policy = require("../builtins/content-policy.js");
|
|
25
|
-
var import_response_sanitizer = require("../builtins/response-sanitizer.js");
|
|
26
|
-
function registerBuiltInPlugins(args) {
|
|
27
|
-
const cp = args.config.plugins?.contentPolicy;
|
|
28
|
-
if (cp && typeof cp === "object" && cp.enabled !== false) {
|
|
29
|
-
args.pluginManager.registerBuiltin("content-policy", import_content_policy.ContentPolicyPlugin, {
|
|
30
|
-
name: "content-policy",
|
|
31
|
-
enabled: cp.enabled ?? true,
|
|
32
|
-
priority: cp.priority,
|
|
33
|
-
blocking: cp.blocking ?? true,
|
|
34
|
-
config: cp
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
const rs = args.config.plugins?.responseSanitizer;
|
|
38
|
-
if (rs && typeof rs === "object" && rs.enabled !== false) {
|
|
39
|
-
args.pluginManager.registerBuiltin("response-sanitizer", import_response_sanitizer.ResponseSanitizerPlugin, {
|
|
40
|
-
name: "response-sanitizer",
|
|
41
|
-
enabled: rs.enabled ?? true,
|
|
42
|
-
priority: rs.priority,
|
|
43
|
-
blocking: rs.blocking ?? false,
|
|
44
|
-
config: rs
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
-
0 && (module.exports = {
|
|
50
|
-
registerBuiltInPlugins
|
|
51
|
-
});
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { PluginManager } from '../manager.js';
|
|
2
|
-
import type { ValidatedAgentConfig } from '../../agent/schemas.js';
|
|
3
|
-
/**
|
|
4
|
-
* Register all built-in plugins with the PluginManager
|
|
5
|
-
* Called during agent initialization before custom plugins are loaded
|
|
6
|
-
*
|
|
7
|
-
* Built-in plugins are referenced by name in the config (e.g., contentPolicy, responseSanitizer)
|
|
8
|
-
* and activated based on presence of their configuration object.
|
|
9
|
-
*
|
|
10
|
-
* @param pluginManager - The PluginManager instance
|
|
11
|
-
* @param config - Validated agent configuration
|
|
12
|
-
*/
|
|
13
|
-
export declare function registerBuiltInPlugins(args: {
|
|
14
|
-
pluginManager: PluginManager;
|
|
15
|
-
config: ValidatedAgentConfig;
|
|
16
|
-
}): void;
|
|
17
|
-
//# sourceMappingURL=builtins.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"builtins.d.ts","sourceRoot":"","sources":["../../../src/plugins/registrations/builtins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAInE;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IACzC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;CAChC,GAAG,IAAI,CAwBP"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import "../../chunk-PTJYTZNU.js";
|
|
2
|
-
import { ContentPolicyPlugin } from "../builtins/content-policy.js";
|
|
3
|
-
import { ResponseSanitizerPlugin } from "../builtins/response-sanitizer.js";
|
|
4
|
-
function registerBuiltInPlugins(args) {
|
|
5
|
-
const cp = args.config.plugins?.contentPolicy;
|
|
6
|
-
if (cp && typeof cp === "object" && cp.enabled !== false) {
|
|
7
|
-
args.pluginManager.registerBuiltin("content-policy", ContentPolicyPlugin, {
|
|
8
|
-
name: "content-policy",
|
|
9
|
-
enabled: cp.enabled ?? true,
|
|
10
|
-
priority: cp.priority,
|
|
11
|
-
blocking: cp.blocking ?? true,
|
|
12
|
-
config: cp
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
const rs = args.config.plugins?.responseSanitizer;
|
|
16
|
-
if (rs && typeof rs === "object" && rs.enabled !== false) {
|
|
17
|
-
args.pluginManager.registerBuiltin("response-sanitizer", ResponseSanitizerPlugin, {
|
|
18
|
-
name: "response-sanitizer",
|
|
19
|
-
enabled: rs.enabled ?? true,
|
|
20
|
-
priority: rs.priority,
|
|
21
|
-
blocking: rs.blocking ?? false,
|
|
22
|
-
config: rs
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
export {
|
|
27
|
-
registerBuiltInPlugins
|
|
28
|
-
};
|