@dexto/core 1.2.4 → 1.2.6
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 +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +179 -75
- package/dist/agent/schemas.d.ts +2678 -586
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +172 -65
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/index.cjs +2 -0
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.cjs +10 -0
- package/dist/memory/schemas.d.ts +37 -8
- package/dist/memory/schemas.d.ts.map +1 -1
- package/dist/memory/schemas.js +9 -0
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/index.cjs +6 -8
- package/dist/prompts/index.d.ts +2 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -6
- package/dist/prompts/prompt-manager.cjs +25 -20
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -20
- package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/config-prompt-provider.js +308 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/schemas.cjs +42 -23
- package/dist/prompts/schemas.d.ts +123 -14
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +39 -22
- package/dist/prompts/types.d.ts +1 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/in-built-prompts.cjs +0 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +0 -4
- package/dist/systemPrompt/manager.cjs +31 -23
- package/dist/systemPrompt/manager.d.ts +5 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +31 -23
- package/dist/systemPrompt/registry.cjs +1 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +1 -2
- package/dist/systemPrompt/schemas.cjs +24 -18
- package/dist/systemPrompt/schemas.d.ts +46 -222
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +14 -18
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +88 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +70 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
- package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/file-prompt-provider.js +0 -376
- package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
- package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/starter-prompt-provider.js +0 -147
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import "../../chunk-C6A6W6XS.js";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
function deriveDisplayName(slug) {
|
|
4
|
-
return slug.split("-").filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
|
|
5
|
-
}
|
|
6
|
-
const AgentRegistryEntrySchema = z.object({
|
|
7
|
-
id: z.string().describe("Unique identifier for the agent"),
|
|
8
|
-
name: z.string().describe("Display name for the agent"),
|
|
9
|
-
description: z.string(),
|
|
10
|
-
author: z.string(),
|
|
11
|
-
tags: z.array(z.string()),
|
|
12
|
-
source: z.string(),
|
|
13
|
-
main: z.string().optional(),
|
|
14
|
-
type: z.enum(["builtin", "custom"]).default("builtin").describe("Agent type")
|
|
15
|
-
}).strict();
|
|
16
|
-
const RegistrySchema = z.object({
|
|
17
|
-
version: z.string(),
|
|
18
|
-
agents: z.record(z.string(), AgentRegistryEntrySchema)
|
|
19
|
-
}).strict();
|
|
20
|
-
function normalizeRegistryJson(raw) {
|
|
21
|
-
if (!raw || typeof raw !== "object") {
|
|
22
|
-
return { version: "1.0.0", agents: {} };
|
|
23
|
-
}
|
|
24
|
-
const input = raw;
|
|
25
|
-
const normalizedAgents = {};
|
|
26
|
-
const agents = input.agents && typeof input.agents === "object" && input.agents !== null ? input.agents : {};
|
|
27
|
-
for (const [agentId, value] of Object.entries(agents)) {
|
|
28
|
-
if (!value || typeof value !== "object") continue;
|
|
29
|
-
const entry = { ...value };
|
|
30
|
-
if (!entry.id || typeof entry.id !== "string" || entry.id.trim() !== agentId) {
|
|
31
|
-
entry.id = agentId;
|
|
32
|
-
}
|
|
33
|
-
if (!entry.name || typeof entry.name !== "string" || !entry.name.trim()) {
|
|
34
|
-
entry.name = deriveDisplayName(agentId);
|
|
35
|
-
}
|
|
36
|
-
normalizedAgents[agentId] = entry;
|
|
37
|
-
}
|
|
38
|
-
return {
|
|
39
|
-
version: typeof input.version === "string" && input.version.trim().length > 0 ? input.version : "1.0.0",
|
|
40
|
-
agents: normalizedAgents
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
export {
|
|
44
|
-
AgentRegistryEntrySchema,
|
|
45
|
-
RegistrySchema,
|
|
46
|
-
deriveDisplayName,
|
|
47
|
-
normalizeRegistryJson
|
|
48
|
-
};
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var user_registry_exports = {};
|
|
30
|
-
__export(user_registry_exports, {
|
|
31
|
-
addAgentToUserRegistry: () => addAgentToUserRegistry,
|
|
32
|
-
getUserRegistryPath: () => getUserRegistryPath,
|
|
33
|
-
loadUserRegistry: () => loadUserRegistry,
|
|
34
|
-
mergeRegistries: () => mergeRegistries,
|
|
35
|
-
removeAgentFromUserRegistry: () => removeAgentFromUserRegistry,
|
|
36
|
-
saveUserRegistry: () => saveUserRegistry,
|
|
37
|
-
userRegistryHasAgent: () => userRegistryHasAgent
|
|
38
|
-
});
|
|
39
|
-
module.exports = __toCommonJS(user_registry_exports);
|
|
40
|
-
var import_fs = require("fs");
|
|
41
|
-
var import_fs2 = require("fs");
|
|
42
|
-
var import_path = __toESM(require("path"), 1);
|
|
43
|
-
var import_path2 = require("../../utils/path.cjs");
|
|
44
|
-
var import_types = require("./types.js");
|
|
45
|
-
var import_errors = require("./errors.js");
|
|
46
|
-
var import_logger = require("../../logger/index.cjs");
|
|
47
|
-
const USER_REGISTRY_FILENAME = "user-agent-registry.json";
|
|
48
|
-
function getUserRegistryPath() {
|
|
49
|
-
return (0, import_path2.getDextoGlobalPath)("", USER_REGISTRY_FILENAME);
|
|
50
|
-
}
|
|
51
|
-
function loadUserRegistry() {
|
|
52
|
-
const registryPath = getUserRegistryPath();
|
|
53
|
-
if (!(0, import_fs2.existsSync)(registryPath)) {
|
|
54
|
-
import_logger.logger.debug("User registry not found, returning empty registry");
|
|
55
|
-
return { version: "1.0.0", agents: {} };
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
const content = (0, import_fs.readFileSync)(registryPath, "utf-8");
|
|
59
|
-
const data = JSON.parse(content);
|
|
60
|
-
return import_types.RegistrySchema.parse((0, import_types.normalizeRegistryJson)(data));
|
|
61
|
-
} catch (error) {
|
|
62
|
-
throw import_errors.RegistryError.registryParseError(
|
|
63
|
-
registryPath,
|
|
64
|
-
error instanceof Error ? error.message : String(error)
|
|
65
|
-
);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async function saveUserRegistry(registry) {
|
|
69
|
-
const registryPath = getUserRegistryPath();
|
|
70
|
-
const tempPath = `${registryPath}.tmp.${Date.now()}`;
|
|
71
|
-
const dextoDir = import_path.default.dirname(registryPath);
|
|
72
|
-
try {
|
|
73
|
-
await import_fs.promises.mkdir(dextoDir, { recursive: true });
|
|
74
|
-
await import_fs.promises.writeFile(tempPath, JSON.stringify(registry, null, 2), {
|
|
75
|
-
encoding: "utf-8",
|
|
76
|
-
mode: 384
|
|
77
|
-
});
|
|
78
|
-
await import_fs.promises.rename(tempPath, registryPath);
|
|
79
|
-
import_logger.logger.debug(`Saved user registry to ${registryPath}`);
|
|
80
|
-
} catch (error) {
|
|
81
|
-
try {
|
|
82
|
-
if ((0, import_fs2.existsSync)(tempPath)) {
|
|
83
|
-
await import_fs.promises.rm(tempPath, { force: true });
|
|
84
|
-
}
|
|
85
|
-
} catch {
|
|
86
|
-
}
|
|
87
|
-
throw import_errors.RegistryError.registryWriteError(
|
|
88
|
-
registryPath,
|
|
89
|
-
error instanceof Error ? error.message : String(error)
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function mergeRegistries(bundled, user) {
|
|
94
|
-
return {
|
|
95
|
-
version: bundled.version,
|
|
96
|
-
agents: {
|
|
97
|
-
...bundled.agents,
|
|
98
|
-
...user.agents
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
function userRegistryHasAgent(agentId) {
|
|
103
|
-
const userRegistry = loadUserRegistry();
|
|
104
|
-
return agentId in userRegistry.agents;
|
|
105
|
-
}
|
|
106
|
-
async function addAgentToUserRegistry(agentId, entry) {
|
|
107
|
-
const userRegistry = loadUserRegistry();
|
|
108
|
-
if (agentId in userRegistry.agents) {
|
|
109
|
-
throw import_errors.RegistryError.agentAlreadyExists(agentId);
|
|
110
|
-
}
|
|
111
|
-
userRegistry.agents[agentId] = {
|
|
112
|
-
...entry,
|
|
113
|
-
id: agentId,
|
|
114
|
-
// Force consistency between key and id field
|
|
115
|
-
name: entry.name && entry.name.trim().length > 0 ? entry.name : (0, import_types.deriveDisplayName)(agentId),
|
|
116
|
-
// Ensure name is never undefined or whitespace-only
|
|
117
|
-
type: "custom"
|
|
118
|
-
};
|
|
119
|
-
await saveUserRegistry(userRegistry);
|
|
120
|
-
import_logger.logger.info(`Added custom agent '${agentId}' to user registry`);
|
|
121
|
-
}
|
|
122
|
-
async function removeAgentFromUserRegistry(agentId) {
|
|
123
|
-
const userRegistry = loadUserRegistry();
|
|
124
|
-
if (!(agentId in userRegistry.agents)) {
|
|
125
|
-
throw import_errors.RegistryError.agentNotFound(agentId, Object.keys(userRegistry.agents));
|
|
126
|
-
}
|
|
127
|
-
delete userRegistry.agents[agentId];
|
|
128
|
-
await saveUserRegistry(userRegistry);
|
|
129
|
-
import_logger.logger.info(`Removed custom agent '${agentId}' from user registry`);
|
|
130
|
-
}
|
|
131
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
132
|
-
0 && (module.exports = {
|
|
133
|
-
addAgentToUserRegistry,
|
|
134
|
-
getUserRegistryPath,
|
|
135
|
-
loadUserRegistry,
|
|
136
|
-
mergeRegistries,
|
|
137
|
-
removeAgentFromUserRegistry,
|
|
138
|
-
saveUserRegistry,
|
|
139
|
-
userRegistryHasAgent
|
|
140
|
-
});
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { Registry, AgentRegistryEntry } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Get path to user registry file
|
|
4
|
-
*/
|
|
5
|
-
export declare function getUserRegistryPath(): string;
|
|
6
|
-
/**
|
|
7
|
-
* Load user registry from ~/.dexto/user-agent-registry.json
|
|
8
|
-
* Returns empty registry if file doesn't exist
|
|
9
|
-
*/
|
|
10
|
-
export declare function loadUserRegistry(): Registry;
|
|
11
|
-
/**
|
|
12
|
-
* Save user registry atomically using temp file + rename
|
|
13
|
-
*/
|
|
14
|
-
export declare function saveUserRegistry(registry: Registry): Promise<void>;
|
|
15
|
-
/**
|
|
16
|
-
* Merge bundled and user registries
|
|
17
|
-
* User registry only contains custom agents
|
|
18
|
-
* Name conflicts are not allowed (validated before adding to user registry)
|
|
19
|
-
*/
|
|
20
|
-
export declare function mergeRegistries(bundled: Registry, user: Registry): Registry;
|
|
21
|
-
/**
|
|
22
|
-
* Check if agent exists in user registry
|
|
23
|
-
*/
|
|
24
|
-
export declare function userRegistryHasAgent(agentId: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Add custom agent to user registry
|
|
27
|
-
* Validates that name doesn't conflict with bundled registry
|
|
28
|
-
*/
|
|
29
|
-
export declare function addAgentToUserRegistry(agentId: string, entry: Omit<AgentRegistryEntry, 'type'>): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Remove custom agent from user registry
|
|
32
|
-
*/
|
|
33
|
-
export declare function removeAgentFromUserRegistry(agentId: string): Promise<void>;
|
|
34
|
-
//# sourceMappingURL=user-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-registry.d.ts","sourceRoot":"","sources":["../../../src/agent/registry/user-registry.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,QAAQ,EAER,kBAAkB,EAGrB,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,QAAQ,CAkB3C;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCxE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAQ3E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG7D;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWhF"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import "../../chunk-C6A6W6XS.js";
|
|
2
|
-
import { promises as fs, readFileSync } from "fs";
|
|
3
|
-
import { existsSync } from "fs";
|
|
4
|
-
import path from "path";
|
|
5
|
-
import { getDextoGlobalPath } from "../../utils/path.js";
|
|
6
|
-
import {
|
|
7
|
-
RegistrySchema,
|
|
8
|
-
normalizeRegistryJson,
|
|
9
|
-
deriveDisplayName
|
|
10
|
-
} from "./types.js";
|
|
11
|
-
import { RegistryError } from "./errors.js";
|
|
12
|
-
import { logger } from "../../logger/index.js";
|
|
13
|
-
const USER_REGISTRY_FILENAME = "user-agent-registry.json";
|
|
14
|
-
function getUserRegistryPath() {
|
|
15
|
-
return getDextoGlobalPath("", USER_REGISTRY_FILENAME);
|
|
16
|
-
}
|
|
17
|
-
function loadUserRegistry() {
|
|
18
|
-
const registryPath = getUserRegistryPath();
|
|
19
|
-
if (!existsSync(registryPath)) {
|
|
20
|
-
logger.debug("User registry not found, returning empty registry");
|
|
21
|
-
return { version: "1.0.0", agents: {} };
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
const content = readFileSync(registryPath, "utf-8");
|
|
25
|
-
const data = JSON.parse(content);
|
|
26
|
-
return RegistrySchema.parse(normalizeRegistryJson(data));
|
|
27
|
-
} catch (error) {
|
|
28
|
-
throw RegistryError.registryParseError(
|
|
29
|
-
registryPath,
|
|
30
|
-
error instanceof Error ? error.message : String(error)
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
async function saveUserRegistry(registry) {
|
|
35
|
-
const registryPath = getUserRegistryPath();
|
|
36
|
-
const tempPath = `${registryPath}.tmp.${Date.now()}`;
|
|
37
|
-
const dextoDir = path.dirname(registryPath);
|
|
38
|
-
try {
|
|
39
|
-
await fs.mkdir(dextoDir, { recursive: true });
|
|
40
|
-
await fs.writeFile(tempPath, JSON.stringify(registry, null, 2), {
|
|
41
|
-
encoding: "utf-8",
|
|
42
|
-
mode: 384
|
|
43
|
-
});
|
|
44
|
-
await fs.rename(tempPath, registryPath);
|
|
45
|
-
logger.debug(`Saved user registry to ${registryPath}`);
|
|
46
|
-
} catch (error) {
|
|
47
|
-
try {
|
|
48
|
-
if (existsSync(tempPath)) {
|
|
49
|
-
await fs.rm(tempPath, { force: true });
|
|
50
|
-
}
|
|
51
|
-
} catch {
|
|
52
|
-
}
|
|
53
|
-
throw RegistryError.registryWriteError(
|
|
54
|
-
registryPath,
|
|
55
|
-
error instanceof Error ? error.message : String(error)
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function mergeRegistries(bundled, user) {
|
|
60
|
-
return {
|
|
61
|
-
version: bundled.version,
|
|
62
|
-
agents: {
|
|
63
|
-
...bundled.agents,
|
|
64
|
-
...user.agents
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
function userRegistryHasAgent(agentId) {
|
|
69
|
-
const userRegistry = loadUserRegistry();
|
|
70
|
-
return agentId in userRegistry.agents;
|
|
71
|
-
}
|
|
72
|
-
async function addAgentToUserRegistry(agentId, entry) {
|
|
73
|
-
const userRegistry = loadUserRegistry();
|
|
74
|
-
if (agentId in userRegistry.agents) {
|
|
75
|
-
throw RegistryError.agentAlreadyExists(agentId);
|
|
76
|
-
}
|
|
77
|
-
userRegistry.agents[agentId] = {
|
|
78
|
-
...entry,
|
|
79
|
-
id: agentId,
|
|
80
|
-
// Force consistency between key and id field
|
|
81
|
-
name: entry.name && entry.name.trim().length > 0 ? entry.name : deriveDisplayName(agentId),
|
|
82
|
-
// Ensure name is never undefined or whitespace-only
|
|
83
|
-
type: "custom"
|
|
84
|
-
};
|
|
85
|
-
await saveUserRegistry(userRegistry);
|
|
86
|
-
logger.info(`Added custom agent '${agentId}' to user registry`);
|
|
87
|
-
}
|
|
88
|
-
async function removeAgentFromUserRegistry(agentId) {
|
|
89
|
-
const userRegistry = loadUserRegistry();
|
|
90
|
-
if (!(agentId in userRegistry.agents)) {
|
|
91
|
-
throw RegistryError.agentNotFound(agentId, Object.keys(userRegistry.agents));
|
|
92
|
-
}
|
|
93
|
-
delete userRegistry.agents[agentId];
|
|
94
|
-
await saveUserRegistry(userRegistry);
|
|
95
|
-
logger.info(`Removed custom agent '${agentId}' from user registry`);
|
|
96
|
-
}
|
|
97
|
-
export {
|
|
98
|
-
addAgentToUserRegistry,
|
|
99
|
-
getUserRegistryPath,
|
|
100
|
-
loadUserRegistry,
|
|
101
|
-
mergeRegistries,
|
|
102
|
-
removeAgentFromUserRegistry,
|
|
103
|
-
saveUserRegistry,
|
|
104
|
-
userRegistryHasAgent
|
|
105
|
-
};
|
|
@@ -1,156 +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 event_based_approval_provider_exports = {};
|
|
20
|
-
__export(event_based_approval_provider_exports, {
|
|
21
|
-
EventBasedApprovalProvider: () => EventBasedApprovalProvider
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(event_based_approval_provider_exports);
|
|
24
|
-
var import_types = require("../types.js");
|
|
25
|
-
var import_logger = require("../../logger/index.js");
|
|
26
|
-
var import_errors = require("../errors.js");
|
|
27
|
-
class EventBasedApprovalProvider {
|
|
28
|
-
pendingApprovals = /* @__PURE__ */ new Map();
|
|
29
|
-
defaultTimeout;
|
|
30
|
-
agentEventBus;
|
|
31
|
-
constructor(agentEventBus, options) {
|
|
32
|
-
this.agentEventBus = agentEventBus;
|
|
33
|
-
this.defaultTimeout = options.defaultTimeout;
|
|
34
|
-
this.agentEventBus.on("dexto:approvalResponse", this.handleApprovalResponse.bind(this));
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Create and submit an approval request
|
|
38
|
-
*/
|
|
39
|
-
async requestApproval(request) {
|
|
40
|
-
const timeout = request.timeout ?? this.defaultTimeout;
|
|
41
|
-
import_logger.logger.info(
|
|
42
|
-
`Approval request '${request.type}' created, approvalId: ${request.approvalId}, sessionId: ${request.sessionId ?? "global"}`
|
|
43
|
-
);
|
|
44
|
-
return new Promise((resolve, reject) => {
|
|
45
|
-
const timeoutId = setTimeout(() => {
|
|
46
|
-
const timeoutResponse = request.sessionId ? {
|
|
47
|
-
approvalId: request.approvalId,
|
|
48
|
-
status: import_types.ApprovalStatus.CANCELLED,
|
|
49
|
-
sessionId: request.sessionId
|
|
50
|
-
} : {
|
|
51
|
-
approvalId: request.approvalId,
|
|
52
|
-
status: import_types.ApprovalStatus.CANCELLED
|
|
53
|
-
};
|
|
54
|
-
import_logger.logger.warn(
|
|
55
|
-
`Approval request timeout for '${request.type}', approvalId: ${request.approvalId}`
|
|
56
|
-
);
|
|
57
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
58
|
-
this.agentEventBus.emit("dexto:approvalResponse", timeoutResponse);
|
|
59
|
-
reject(
|
|
60
|
-
import_errors.ApprovalError.timeout(
|
|
61
|
-
request.approvalId,
|
|
62
|
-
request.type,
|
|
63
|
-
timeout,
|
|
64
|
-
request.sessionId
|
|
65
|
-
)
|
|
66
|
-
);
|
|
67
|
-
}, timeout);
|
|
68
|
-
this.pendingApprovals.set(request.approvalId, {
|
|
69
|
-
resolve: (response) => {
|
|
70
|
-
clearTimeout(timeoutId);
|
|
71
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
72
|
-
resolve(response);
|
|
73
|
-
},
|
|
74
|
-
reject: (error) => {
|
|
75
|
-
clearTimeout(timeoutId);
|
|
76
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
77
|
-
reject(error);
|
|
78
|
-
},
|
|
79
|
-
request
|
|
80
|
-
});
|
|
81
|
-
const eventPayload = {
|
|
82
|
-
approvalId: request.approvalId,
|
|
83
|
-
type: request.type,
|
|
84
|
-
timestamp: request.timestamp,
|
|
85
|
-
metadata: request.metadata
|
|
86
|
-
};
|
|
87
|
-
if (request.sessionId !== void 0) {
|
|
88
|
-
eventPayload.sessionId = request.sessionId;
|
|
89
|
-
}
|
|
90
|
-
if (request.timeout !== void 0) {
|
|
91
|
-
eventPayload.timeout = request.timeout;
|
|
92
|
-
}
|
|
93
|
-
this.agentEventBus.emit("dexto:approvalRequest", eventPayload);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Handle approval response from external handlers
|
|
98
|
-
*/
|
|
99
|
-
async handleApprovalResponse(response) {
|
|
100
|
-
const pending = this.pendingApprovals.get(response.approvalId);
|
|
101
|
-
if (!pending) {
|
|
102
|
-
import_logger.logger.warn(`Received approvalResponse for unknown approvalId ${response.approvalId}`);
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
this.pendingApprovals.delete(response.approvalId);
|
|
106
|
-
import_logger.logger.info(
|
|
107
|
-
`Approval '${pending.request.type}' ${response.status}, approvalId: ${response.approvalId}, sessionId: ${response.sessionId ?? "global"}`
|
|
108
|
-
);
|
|
109
|
-
pending.resolve(response);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Cancel a pending approval request
|
|
113
|
-
*/
|
|
114
|
-
cancelApproval(approvalId) {
|
|
115
|
-
const pending = this.pendingApprovals.get(approvalId);
|
|
116
|
-
if (pending) {
|
|
117
|
-
pending.reject(
|
|
118
|
-
import_errors.ApprovalError.cancelled(
|
|
119
|
-
approvalId,
|
|
120
|
-
pending.request.type,
|
|
121
|
-
"individual request cancelled"
|
|
122
|
-
)
|
|
123
|
-
);
|
|
124
|
-
this.pendingApprovals.delete(approvalId);
|
|
125
|
-
this.agentEventBus.emit("dexto:approvalResponse", {
|
|
126
|
-
approvalId,
|
|
127
|
-
status: import_types.ApprovalStatus.CANCELLED,
|
|
128
|
-
sessionId: pending.request.sessionId
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Cancel all pending approval requests
|
|
134
|
-
*/
|
|
135
|
-
cancelAllApprovals() {
|
|
136
|
-
for (const [approvalId, pending] of this.pendingApprovals) {
|
|
137
|
-
pending.reject(import_errors.ApprovalError.cancelledAll("all requests cancelled"));
|
|
138
|
-
this.agentEventBus.emit("dexto:approvalResponse", {
|
|
139
|
-
approvalId,
|
|
140
|
-
status: import_types.ApprovalStatus.CANCELLED,
|
|
141
|
-
sessionId: pending.request.sessionId
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
this.pendingApprovals.clear();
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Get list of pending approval request IDs
|
|
148
|
-
*/
|
|
149
|
-
getPendingApprovals() {
|
|
150
|
-
return Array.from(this.pendingApprovals.keys());
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
154
|
-
0 && (module.exports = {
|
|
155
|
-
EventBasedApprovalProvider
|
|
156
|
-
});
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type { ApprovalProvider, ApprovalRequest, ApprovalResponse } from '../types.js';
|
|
2
|
-
import type { AgentEventBus } from '../../events/index.js';
|
|
3
|
-
/**
|
|
4
|
-
* Event-based approval provider that uses the AgentEventBus to emit
|
|
5
|
-
* approval requests and wait for responses from UI layers.
|
|
6
|
-
*
|
|
7
|
-
* This provider decouples the core approval logic from UI implementations,
|
|
8
|
-
* allowing any client (CLI, WebUI, custom frontends) to handle approvals
|
|
9
|
-
* by listening to events and responding accordingly.
|
|
10
|
-
*/
|
|
11
|
-
export declare class EventBasedApprovalProvider implements ApprovalProvider {
|
|
12
|
-
private pendingApprovals;
|
|
13
|
-
private defaultTimeout;
|
|
14
|
-
private agentEventBus;
|
|
15
|
-
constructor(agentEventBus: AgentEventBus, options: {
|
|
16
|
-
defaultTimeout: number;
|
|
17
|
-
});
|
|
18
|
-
/**
|
|
19
|
-
* Create and submit an approval request
|
|
20
|
-
*/
|
|
21
|
-
requestApproval(request: ApprovalRequest): Promise<ApprovalResponse>;
|
|
22
|
-
/**
|
|
23
|
-
* Handle approval response from external handlers
|
|
24
|
-
*/
|
|
25
|
-
private handleApprovalResponse;
|
|
26
|
-
/**
|
|
27
|
-
* Cancel a pending approval request
|
|
28
|
-
*/
|
|
29
|
-
cancelApproval(approvalId: string): void;
|
|
30
|
-
/**
|
|
31
|
-
* Cancel all pending approval requests
|
|
32
|
-
*/
|
|
33
|
-
cancelAllApprovals(): void;
|
|
34
|
-
/**
|
|
35
|
-
* Get list of pending approval request IDs
|
|
36
|
-
*/
|
|
37
|
-
getPendingApprovals(): string[];
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=event-based-approval-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-based-approval-provider.d.ts","sourceRoot":"","sources":["../../../src/approval/providers/event-based-approval-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;;;;;GAOG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IAC/D,OAAO,CAAC,gBAAgB,CAOpB;IACJ,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,aAAa,CAAgB;gBAGjC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE;QACL,cAAc,EAAE,MAAM,CAAC;KAC1B;IASL;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmF1E;;OAEG;YACW,sBAAsB;IAiBpC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAqBxC;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAc1B;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;CAGlC"}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import "../../chunk-C6A6W6XS.js";
|
|
2
|
-
import { ApprovalStatus } from "../types.js";
|
|
3
|
-
import { logger } from "../../logger/index.js";
|
|
4
|
-
import { ApprovalError } from "../errors.js";
|
|
5
|
-
class EventBasedApprovalProvider {
|
|
6
|
-
pendingApprovals = /* @__PURE__ */ new Map();
|
|
7
|
-
defaultTimeout;
|
|
8
|
-
agentEventBus;
|
|
9
|
-
constructor(agentEventBus, options) {
|
|
10
|
-
this.agentEventBus = agentEventBus;
|
|
11
|
-
this.defaultTimeout = options.defaultTimeout;
|
|
12
|
-
this.agentEventBus.on("dexto:approvalResponse", this.handleApprovalResponse.bind(this));
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Create and submit an approval request
|
|
16
|
-
*/
|
|
17
|
-
async requestApproval(request) {
|
|
18
|
-
const timeout = request.timeout ?? this.defaultTimeout;
|
|
19
|
-
logger.info(
|
|
20
|
-
`Approval request '${request.type}' created, approvalId: ${request.approvalId}, sessionId: ${request.sessionId ?? "global"}`
|
|
21
|
-
);
|
|
22
|
-
return new Promise((resolve, reject) => {
|
|
23
|
-
const timeoutId = setTimeout(() => {
|
|
24
|
-
const timeoutResponse = request.sessionId ? {
|
|
25
|
-
approvalId: request.approvalId,
|
|
26
|
-
status: ApprovalStatus.CANCELLED,
|
|
27
|
-
sessionId: request.sessionId
|
|
28
|
-
} : {
|
|
29
|
-
approvalId: request.approvalId,
|
|
30
|
-
status: ApprovalStatus.CANCELLED
|
|
31
|
-
};
|
|
32
|
-
logger.warn(
|
|
33
|
-
`Approval request timeout for '${request.type}', approvalId: ${request.approvalId}`
|
|
34
|
-
);
|
|
35
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
36
|
-
this.agentEventBus.emit("dexto:approvalResponse", timeoutResponse);
|
|
37
|
-
reject(
|
|
38
|
-
ApprovalError.timeout(
|
|
39
|
-
request.approvalId,
|
|
40
|
-
request.type,
|
|
41
|
-
timeout,
|
|
42
|
-
request.sessionId
|
|
43
|
-
)
|
|
44
|
-
);
|
|
45
|
-
}, timeout);
|
|
46
|
-
this.pendingApprovals.set(request.approvalId, {
|
|
47
|
-
resolve: (response) => {
|
|
48
|
-
clearTimeout(timeoutId);
|
|
49
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
50
|
-
resolve(response);
|
|
51
|
-
},
|
|
52
|
-
reject: (error) => {
|
|
53
|
-
clearTimeout(timeoutId);
|
|
54
|
-
this.pendingApprovals.delete(request.approvalId);
|
|
55
|
-
reject(error);
|
|
56
|
-
},
|
|
57
|
-
request
|
|
58
|
-
});
|
|
59
|
-
const eventPayload = {
|
|
60
|
-
approvalId: request.approvalId,
|
|
61
|
-
type: request.type,
|
|
62
|
-
timestamp: request.timestamp,
|
|
63
|
-
metadata: request.metadata
|
|
64
|
-
};
|
|
65
|
-
if (request.sessionId !== void 0) {
|
|
66
|
-
eventPayload.sessionId = request.sessionId;
|
|
67
|
-
}
|
|
68
|
-
if (request.timeout !== void 0) {
|
|
69
|
-
eventPayload.timeout = request.timeout;
|
|
70
|
-
}
|
|
71
|
-
this.agentEventBus.emit("dexto:approvalRequest", eventPayload);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Handle approval response from external handlers
|
|
76
|
-
*/
|
|
77
|
-
async handleApprovalResponse(response) {
|
|
78
|
-
const pending = this.pendingApprovals.get(response.approvalId);
|
|
79
|
-
if (!pending) {
|
|
80
|
-
logger.warn(`Received approvalResponse for unknown approvalId ${response.approvalId}`);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
this.pendingApprovals.delete(response.approvalId);
|
|
84
|
-
logger.info(
|
|
85
|
-
`Approval '${pending.request.type}' ${response.status}, approvalId: ${response.approvalId}, sessionId: ${response.sessionId ?? "global"}`
|
|
86
|
-
);
|
|
87
|
-
pending.resolve(response);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Cancel a pending approval request
|
|
91
|
-
*/
|
|
92
|
-
cancelApproval(approvalId) {
|
|
93
|
-
const pending = this.pendingApprovals.get(approvalId);
|
|
94
|
-
if (pending) {
|
|
95
|
-
pending.reject(
|
|
96
|
-
ApprovalError.cancelled(
|
|
97
|
-
approvalId,
|
|
98
|
-
pending.request.type,
|
|
99
|
-
"individual request cancelled"
|
|
100
|
-
)
|
|
101
|
-
);
|
|
102
|
-
this.pendingApprovals.delete(approvalId);
|
|
103
|
-
this.agentEventBus.emit("dexto:approvalResponse", {
|
|
104
|
-
approvalId,
|
|
105
|
-
status: ApprovalStatus.CANCELLED,
|
|
106
|
-
sessionId: pending.request.sessionId
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Cancel all pending approval requests
|
|
112
|
-
*/
|
|
113
|
-
cancelAllApprovals() {
|
|
114
|
-
for (const [approvalId, pending] of this.pendingApprovals) {
|
|
115
|
-
pending.reject(ApprovalError.cancelledAll("all requests cancelled"));
|
|
116
|
-
this.agentEventBus.emit("dexto:approvalResponse", {
|
|
117
|
-
approvalId,
|
|
118
|
-
status: ApprovalStatus.CANCELLED,
|
|
119
|
-
sessionId: pending.request.sessionId
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
this.pendingApprovals.clear();
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get list of pending approval request IDs
|
|
126
|
-
*/
|
|
127
|
-
getPendingApprovals() {
|
|
128
|
-
return Array.from(this.pendingApprovals.keys());
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
export {
|
|
132
|
-
EventBasedApprovalProvider
|
|
133
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/approval/providers/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE3E;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAStF"}
|