@dexto/core 1.1.10 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -4
- package/dist/Dexto.cjs +251 -0
- package/dist/Dexto.d.ts +191 -0
- package/dist/Dexto.d.ts.map +1 -0
- package/dist/Dexto.js +228 -0
- package/dist/agent/DextoAgent.cjs +520 -126
- package/dist/agent/DextoAgent.d.ts +182 -106
- package/dist/agent/DextoAgent.d.ts.map +1 -0
- package/dist/agent/DextoAgent.js +480 -126
- package/dist/agent/agentCard.d.ts +4 -7
- package/dist/agent/agentCard.d.ts.map +1 -0
- package/dist/agent/agentCard.js +1 -0
- package/dist/agent/error-codes.cjs +3 -0
- package/dist/agent/error-codes.d.ts +5 -3
- package/dist/agent/error-codes.d.ts.map +1 -0
- package/dist/agent/error-codes.js +4 -0
- package/dist/agent/errors.cjs +26 -0
- package/dist/agent/errors.d.ts +10 -17
- package/dist/agent/errors.d.ts.map +1 -0
- package/dist/agent/errors.js +27 -0
- package/dist/agent/index.cjs +3 -0
- package/dist/agent/index.d.ts +6 -57
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +3 -0
- package/dist/agent/registry/error-codes.cjs +2 -0
- package/dist/agent/registry/error-codes.d.ts +4 -3
- package/dist/agent/registry/error-codes.d.ts.map +1 -0
- package/dist/agent/registry/error-codes.js +3 -0
- package/dist/agent/registry/errors.cjs +58 -28
- package/dist/agent/registry/errors.d.ts +32 -36
- package/dist/agent/registry/errors.d.ts.map +1 -0
- package/dist/agent/registry/errors.js +59 -28
- package/dist/agent/registry/registry.cjs +242 -54
- package/dist/agent/registry/registry.d.ts +84 -21
- package/dist/agent/registry/registry.d.ts.map +1 -0
- package/dist/agent/registry/registry.js +252 -55
- package/dist/agent/registry/types.cjs +36 -3
- package/dist/agent/registry/types.d.ts +66 -24
- package/dist/agent/registry/types.d.ts.map +1 -0
- package/dist/agent/registry/types.js +34 -2
- package/dist/agent/registry/user-registry.cjs +140 -0
- package/dist/agent/registry/user-registry.d.ts +34 -0
- package/dist/agent/registry/user-registry.d.ts.map +1 -0
- package/dist/agent/registry/user-registry.js +105 -0
- package/dist/agent/schemas.cjs +22 -3
- package/dist/agent/schemas.d.ts +811 -479
- package/dist/agent/schemas.d.ts.map +1 -0
- package/dist/agent/schemas.js +23 -3
- package/dist/agent/state-manager.d.ts +7 -12
- package/dist/agent/state-manager.d.ts.map +1 -0
- package/dist/agent/state-manager.js +1 -0
- package/dist/approval/error-codes.cjs +44 -0
- package/dist/approval/error-codes.d.ts +21 -0
- package/dist/approval/error-codes.d.ts.map +1 -0
- package/dist/approval/error-codes.js +21 -0
- package/dist/approval/errors.cjs +251 -0
- package/dist/approval/errors.d.ts +110 -0
- package/dist/approval/errors.d.ts.map +1 -0
- package/dist/approval/errors.js +228 -0
- package/dist/approval/index.cjs +84 -0
- package/dist/approval/index.d.ts +12 -0
- package/dist/approval/index.d.ts.map +1 -0
- package/dist/approval/index.js +56 -0
- package/dist/approval/manager.cjs +189 -0
- package/dist/approval/manager.d.ts +131 -0
- package/dist/approval/manager.d.ts.map +1 -0
- package/dist/approval/manager.js +166 -0
- package/dist/approval/providers/event-based-approval-provider.cjs +156 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts +39 -0
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/event-based-approval-provider.js +133 -0
- package/dist/approval/providers/factory.cjs +38 -0
- package/dist/approval/providers/factory.d.ts +12 -0
- package/dist/approval/providers/factory.d.ts.map +1 -0
- package/dist/approval/providers/factory.js +15 -0
- package/dist/approval/providers/noop-approval-provider.cjs +54 -0
- package/dist/approval/providers/noop-approval-provider.d.ts +18 -0
- package/dist/approval/providers/noop-approval-provider.d.ts.map +1 -0
- package/dist/approval/providers/noop-approval-provider.js +31 -0
- package/dist/approval/schemas.cjs +204 -0
- package/dist/approval/schemas.d.ts +775 -0
- package/dist/approval/schemas.d.ts.map +1 -0
- package/dist/approval/schemas.js +159 -0
- package/dist/approval/types.cjs +42 -0
- package/dist/approval/types.d.ts +166 -0
- package/dist/approval/types.d.ts.map +1 -0
- package/dist/approval/types.js +18 -0
- package/dist/chunk-C6A6W6XS.js +53 -0
- package/dist/config/agent-resolver.d.ts +3 -4
- package/dist/config/agent-resolver.d.ts.map +1 -0
- package/dist/config/agent-resolver.js +1 -0
- package/dist/config/error-codes.d.ts +2 -3
- package/dist/config/error-codes.d.ts.map +1 -0
- package/dist/config/error-codes.js +1 -0
- package/dist/config/errors.d.ts +3 -18
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +1 -0
- package/dist/config/index.d.ts +4 -7
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/loader.d.ts +2 -5
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +1 -0
- package/dist/config/writer.d.ts +8 -11
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +1 -0
- package/dist/context/compression/middle-removal.d.ts +3 -6
- package/dist/context/compression/middle-removal.d.ts.map +1 -0
- package/dist/context/compression/middle-removal.js +1 -0
- package/dist/context/compression/oldest-removal.d.ts +3 -6
- package/dist/context/compression/oldest-removal.d.ts.map +1 -0
- package/dist/context/compression/oldest-removal.js +1 -0
- package/dist/context/compression/types.d.ts +2 -5
- package/dist/context/compression/types.d.ts.map +1 -0
- package/dist/context/error-codes.d.ts +2 -3
- package/dist/context/error-codes.d.ts.map +1 -0
- package/dist/context/error-codes.js +1 -0
- package/dist/context/errors.d.ts +3 -18
- package/dist/context/errors.d.ts.map +1 -0
- package/dist/context/errors.js +1 -0
- package/dist/context/index.cjs +11 -0
- package/dist/context/index.d.ts +4 -19
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +6 -0
- package/dist/context/manager.cjs +156 -24
- package/dist/context/manager.d.ts +28 -20
- package/dist/context/manager.d.ts.map +1 -0
- package/dist/context/manager.js +153 -25
- package/dist/context/media-helpers.cjs +40 -0
- package/dist/context/media-helpers.d.ts +15 -0
- package/dist/context/media-helpers.d.ts.map +1 -0
- package/dist/context/media-helpers.js +16 -0
- package/dist/context/types.d.ts +27 -10
- package/dist/context/types.d.ts.map +1 -0
- package/dist/context/utils.cjs +907 -71
- package/dist/context/utils.d.ts +111 -15
- package/dist/context/utils.d.ts.map +1 -0
- package/dist/context/utils.js +896 -70
- package/dist/errors/DextoBaseError.d.ts +2 -3
- package/dist/errors/DextoBaseError.d.ts.map +1 -0
- package/dist/errors/DextoBaseError.js +1 -0
- package/dist/errors/DextoRuntimeError.d.ts +5 -16
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -0
- package/dist/errors/DextoRuntimeError.js +1 -0
- package/dist/errors/DextoValidationError.d.ts +3 -16
- package/dist/errors/DextoValidationError.d.ts.map +1 -0
- package/dist/errors/DextoValidationError.js +1 -0
- package/dist/errors/index.d.ts +7 -14
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +1 -0
- package/dist/errors/result-bridge.d.ts +3 -18
- package/dist/errors/result-bridge.d.ts.map +1 -0
- package/dist/errors/result-bridge.js +1 -0
- package/dist/errors/types.cjs +7 -0
- package/dist/errors/types.d.ts +32 -20
- package/dist/errors/types.d.ts.map +1 -0
- package/dist/errors/types.js +8 -0
- package/dist/events/index.cjs +9 -3
- package/dist/events/index.d.ts +67 -35
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -3
- package/dist/filesystem/error-codes.cjs +53 -0
- package/dist/filesystem/error-codes.d.ts +31 -0
- package/dist/filesystem/error-codes.d.ts.map +1 -0
- package/dist/filesystem/error-codes.js +30 -0
- package/dist/filesystem/errors.cjs +303 -0
- package/dist/filesystem/errors.d.ts +109 -0
- package/dist/filesystem/errors.d.ts.map +1 -0
- package/dist/filesystem/errors.js +280 -0
- package/dist/filesystem/filesystem-service.cjs +482 -0
- package/dist/filesystem/filesystem-service.d.ts +57 -0
- package/dist/filesystem/filesystem-service.d.ts.map +1 -0
- package/dist/filesystem/filesystem-service.js +449 -0
- package/dist/filesystem/index.cjs +37 -0
- package/dist/filesystem/index.d.ts +11 -0
- package/dist/filesystem/index.d.ts.map +1 -0
- package/dist/filesystem/index.js +11 -0
- package/dist/filesystem/path-validator.cjs +172 -0
- package/dist/filesystem/path-validator.d.ts +53 -0
- package/dist/filesystem/path-validator.d.ts.map +1 -0
- package/dist/filesystem/path-validator.js +139 -0
- package/dist/filesystem/types.d.ts +171 -0
- package/dist/filesystem/types.d.ts.map +1 -0
- package/dist/index.browser.cjs +36 -0
- package/dist/index.browser.d.ts +24 -51
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.browser.js +35 -1
- package/dist/index.cjs +29 -1
- package/dist/index.d.ts +34 -89
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/llm/error-codes.d.ts +2 -3
- package/dist/llm/error-codes.d.ts.map +1 -0
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.d.ts +3 -18
- package/dist/llm/errors.d.ts.map +1 -0
- package/dist/llm/errors.js +1 -0
- package/dist/llm/formatters/anthropic.d.ts +2 -4
- package/dist/llm/formatters/anthropic.d.ts.map +1 -0
- package/dist/llm/formatters/anthropic.js +1 -0
- package/dist/llm/formatters/factory.d.ts +3 -6
- package/dist/llm/formatters/factory.d.ts.map +1 -0
- package/dist/llm/formatters/factory.js +1 -0
- package/dist/llm/formatters/openai.d.ts +2 -4
- package/dist/llm/formatters/openai.d.ts.map +1 -0
- package/dist/llm/formatters/openai.js +1 -0
- package/dist/llm/formatters/types.d.ts +2 -4
- package/dist/llm/formatters/types.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.d.ts +6 -7
- package/dist/llm/formatters/vercel.d.ts.map +1 -0
- package/dist/llm/formatters/vercel.js +1 -0
- package/dist/llm/index.d.ts +8 -39
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/registry.cjs +30 -16
- package/dist/llm/registry.d.ts +27 -30
- package/dist/llm/registry.d.ts.map +1 -0
- package/dist/llm/registry.js +31 -16
- package/dist/llm/resolver.d.ts +6 -20
- package/dist/llm/resolver.d.ts.map +1 -0
- package/dist/llm/resolver.js +1 -0
- package/dist/llm/schemas.cjs +6 -2
- package/dist/llm/schemas.d.ts +25 -17
- package/dist/llm/schemas.d.ts.map +1 -0
- package/dist/llm/schemas.js +7 -2
- package/dist/llm/services/anthropic.cjs +91 -11
- package/dist/llm/services/anthropic.d.ts +13 -32
- package/dist/llm/services/anthropic.d.ts.map +1 -0
- package/dist/llm/services/anthropic.js +51 -11
- package/dist/llm/services/factory.cjs +21 -15
- package/dist/llm/services/factory.d.ts +5 -32
- package/dist/llm/services/factory.d.ts.map +1 -0
- package/dist/llm/services/factory.js +22 -15
- package/dist/llm/services/index.d.ts +2 -21
- package/dist/llm/services/index.d.ts.map +1 -0
- package/dist/llm/services/openai.cjs +120 -16
- package/dist/llm/services/openai.d.ts +13 -32
- package/dist/llm/services/openai.d.ts.map +1 -0
- package/dist/llm/services/openai.js +80 -16
- package/dist/llm/services/test-utils.integration.cjs +3 -3
- package/dist/llm/services/test-utils.integration.d.ts +8 -49
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -0
- package/dist/llm/services/test-utils.integration.js +4 -3
- package/dist/llm/services/types.d.ts +5 -22
- package/dist/llm/services/types.d.ts.map +1 -0
- package/dist/llm/services/vercel.cjs +152 -74
- package/dist/llm/services/vercel.d.ts +18 -36
- package/dist/llm/services/vercel.d.ts.map +1 -0
- package/dist/llm/services/vercel.js +113 -75
- package/dist/llm/tokenizer/anthropic.d.ts +2 -4
- package/dist/llm/tokenizer/anthropic.d.ts.map +1 -0
- package/dist/llm/tokenizer/anthropic.js +1 -0
- package/dist/llm/tokenizer/default.d.ts +2 -4
- package/dist/llm/tokenizer/default.d.ts.map +1 -0
- package/dist/llm/tokenizer/default.js +1 -0
- package/dist/llm/tokenizer/factory.d.ts +3 -5
- package/dist/llm/tokenizer/factory.d.ts.map +1 -0
- package/dist/llm/tokenizer/factory.js +1 -0
- package/dist/llm/tokenizer/google.d.ts +2 -4
- package/dist/llm/tokenizer/google.d.ts.map +1 -0
- package/dist/llm/tokenizer/google.js +1 -0
- package/dist/llm/tokenizer/openai.cjs +1 -1
- package/dist/llm/tokenizer/openai.d.ts +3 -5
- package/dist/llm/tokenizer/openai.d.ts.map +1 -0
- package/dist/llm/tokenizer/openai.js +2 -1
- package/dist/llm/tokenizer/types.d.ts +3 -4
- package/dist/llm/tokenizer/types.d.ts.map +1 -0
- package/dist/llm/tokenizer/types.js +1 -0
- package/dist/llm/types.d.ts +11 -12
- package/dist/llm/types.d.ts.map +1 -0
- package/dist/llm/types.js +1 -0
- package/dist/llm/validation.d.ts +8 -23
- package/dist/llm/validation.d.ts.map +1 -0
- package/dist/llm/validation.js +1 -0
- package/dist/logger/browser.d.ts +4 -5
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/index.d.ts +2 -1
- package/dist/logger/index.d.ts.map +1 -0
- package/dist/logger/logger.cjs +35 -7
- package/dist/logger/logger.d.ts +47 -5
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +36 -7
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +3 -3
- package/dist/mcp/error-codes.d.ts.map +1 -0
- package/dist/mcp/error-codes.js +2 -0
- package/dist/mcp/errors.cjs +12 -0
- package/dist/mcp/errors.d.ts +9 -17
- package/dist/mcp/errors.d.ts.map +1 -0
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/index.d.ts +8 -26
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/manager.cjs +528 -130
- package/dist/mcp/manager.d.ts +124 -58
- package/dist/mcp/manager.d.ts.map +1 -0
- package/dist/mcp/manager.js +529 -130
- package/dist/mcp/mcp-client.cjs +172 -10
- package/dist/mcp/mcp-client.d.ts +36 -14
- package/dist/mcp/mcp-client.d.ts.map +1 -0
- package/dist/mcp/mcp-client.js +177 -10
- package/dist/mcp/resolver.d.ts +5 -20
- package/dist/mcp/resolver.d.ts.map +1 -0
- package/dist/mcp/resolver.js +1 -0
- package/dist/mcp/schemas.cjs +13 -5
- package/dist/mcp/schemas.d.ts +31 -28
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +11 -5
- package/dist/mcp/types.d.ts +19 -11
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/memory/error-codes.cjs +39 -0
- package/dist/memory/error-codes.d.ts +15 -0
- package/dist/memory/error-codes.d.ts.map +1 -0
- package/dist/memory/error-codes.js +16 -0
- package/dist/memory/errors.cjs +112 -0
- package/dist/memory/errors.d.ts +16 -0
- package/dist/memory/errors.d.ts.map +1 -0
- package/dist/memory/errors.js +89 -0
- package/dist/memory/index.cjs +43 -0
- package/dist/memory/index.d.ts +6 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +19 -0
- package/dist/memory/manager.cjs +214 -0
- package/dist/memory/manager.d.ts +56 -0
- package/dist/memory/manager.d.ts.map +1 -0
- package/dist/memory/manager.js +196 -0
- package/dist/memory/schemas.cjs +82 -0
- package/dist/memory/schemas.d.ts +129 -0
- package/dist/memory/schemas.d.ts.map +1 -0
- package/dist/memory/schemas.js +54 -0
- package/dist/memory/types.d.ts +76 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.cjs +112 -0
- package/dist/plugins/builtins/content-policy.d.ts +26 -0
- package/dist/plugins/builtins/content-policy.d.ts.map +1 -0
- package/dist/plugins/builtins/content-policy.js +89 -0
- package/dist/plugins/builtins/response-sanitizer.cjs +102 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts +25 -0
- package/dist/plugins/builtins/response-sanitizer.d.ts.map +1 -0
- package/dist/plugins/builtins/response-sanitizer.js +79 -0
- package/dist/plugins/error-codes.cjs +39 -0
- package/dist/plugins/error-codes.d.ts +26 -0
- package/dist/plugins/error-codes.d.ts.map +1 -0
- package/dist/plugins/error-codes.js +16 -0
- package/dist/plugins/index.cjs +54 -0
- package/dist/plugins/index.d.ts +19 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +25 -0
- package/dist/plugins/loader.cjs +151 -0
- package/dist/plugins/loader.d.ts +30 -0
- package/dist/plugins/loader.d.ts.map +1 -0
- package/dist/plugins/loader.js +125 -0
- package/dist/plugins/manager.cjs +386 -0
- package/dist/plugins/manager.d.ts +97 -0
- package/dist/plugins/manager.d.ts.map +1 -0
- package/dist/plugins/manager.js +363 -0
- package/dist/plugins/registrations/builtins.cjs +51 -0
- package/dist/plugins/registrations/builtins.d.ts +17 -0
- package/dist/plugins/registrations/builtins.d.ts.map +1 -0
- package/dist/plugins/registrations/builtins.js +28 -0
- package/dist/plugins/schemas.cjs +61 -0
- package/dist/plugins/schemas.d.ts +138 -0
- package/dist/plugins/schemas.d.ts.map +1 -0
- package/dist/plugins/schemas.js +36 -0
- package/dist/{storage/backend/cache-backend.cjs → plugins/types.cjs} +2 -2
- package/dist/plugins/types.d.ts +152 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/preferences/constants.d.ts +2 -3
- package/dist/preferences/constants.d.ts.map +1 -0
- package/dist/preferences/constants.js +1 -0
- package/dist/preferences/error-codes.d.ts +2 -3
- package/dist/preferences/error-codes.d.ts.map +1 -0
- package/dist/preferences/error-codes.js +1 -0
- package/dist/preferences/errors.d.ts +4 -19
- package/dist/preferences/errors.d.ts.map +1 -0
- package/dist/preferences/errors.js +1 -0
- package/dist/preferences/index.d.ts +5 -20
- package/dist/preferences/index.d.ts.map +1 -0
- package/dist/preferences/index.js +1 -0
- package/dist/preferences/loader.cjs +3 -1
- package/dist/preferences/loader.d.ts +18 -12
- package/dist/preferences/loader.d.ts.map +1 -0
- package/dist/preferences/loader.js +4 -1
- package/dist/preferences/schemas.cjs +2 -1
- package/dist/preferences/schemas.d.ts +27 -21
- package/dist/preferences/schemas.d.ts.map +1 -0
- package/dist/preferences/schemas.js +3 -1
- package/dist/process/command-validator.cjs +544 -0
- package/dist/process/command-validator.d.ts +46 -0
- package/dist/process/command-validator.d.ts.map +1 -0
- package/dist/process/command-validator.js +521 -0
- package/dist/process/error-codes.cjs +47 -0
- package/dist/process/error-codes.d.ts +25 -0
- package/dist/process/error-codes.d.ts.map +1 -0
- package/dist/process/error-codes.js +24 -0
- package/dist/process/errors.cjs +244 -0
- package/dist/process/errors.d.ts +87 -0
- package/dist/process/errors.d.ts.map +1 -0
- package/dist/process/errors.js +221 -0
- package/dist/process/index.cjs +37 -0
- package/dist/process/index.d.ts +11 -0
- package/dist/process/index.d.ts.map +1 -0
- package/dist/process/index.js +11 -0
- package/dist/process/process-service.cjs +443 -0
- package/dist/process/process-service.d.ts +62 -0
- package/dist/process/process-service.d.ts.map +1 -0
- package/dist/process/process-service.js +410 -0
- package/dist/{storage/backend/database-backend.cjs → process/types.cjs} +2 -2
- package/dist/process/types.d.ts +107 -0
- package/dist/process/types.d.ts.map +1 -0
- package/dist/prompts/error-codes.cjs +38 -0
- package/dist/prompts/error-codes.d.ts +15 -0
- package/dist/prompts/error-codes.d.ts.map +1 -0
- package/dist/prompts/error-codes.js +15 -0
- package/dist/prompts/errors.cjs +144 -0
- package/dist/prompts/errors.d.ts +45 -0
- package/dist/prompts/errors.d.ts.map +1 -0
- package/dist/prompts/errors.js +121 -0
- package/dist/prompts/index.cjs +53 -0
- package/dist/prompts/index.d.ts +13 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +21 -0
- package/dist/prompts/name-validation.cjs +45 -0
- package/dist/prompts/name-validation.d.ts +9 -0
- package/dist/prompts/name-validation.d.ts.map +1 -0
- package/dist/prompts/name-validation.js +19 -0
- package/dist/prompts/prompt-manager.cjs +374 -0
- package/dist/prompts/prompt-manager.d.ts +74 -0
- package/dist/prompts/prompt-manager.d.ts.map +1 -0
- package/dist/prompts/prompt-manager.js +353 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +283 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts +36 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/custom-prompt-provider.js +260 -0
- package/dist/prompts/providers/file-prompt-provider.cjs +399 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts +47 -0
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/file-prompt-provider.js +376 -0
- package/dist/prompts/providers/mcp-prompt-provider.cjs +102 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +35 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.js +79 -0
- package/dist/prompts/providers/starter-prompt-provider.cjs +170 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts +45 -0
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/starter-prompt-provider.js +147 -0
- package/dist/prompts/schemas.cjs +54 -0
- package/dist/prompts/schemas.d.ts +65 -0
- package/dist/prompts/schemas.d.ts.map +1 -0
- package/dist/prompts/schemas.js +31 -0
- package/dist/prompts/types.cjs +16 -0
- package/dist/prompts/types.d.ts +64 -0
- package/dist/prompts/types.d.ts.map +1 -0
- package/dist/prompts/types.js +0 -0
- package/dist/prompts/utils.cjs +176 -0
- package/dist/prompts/utils.d.ts +32 -0
- package/dist/prompts/utils.d.ts.map +1 -0
- package/dist/prompts/utils.js +150 -0
- package/dist/resources/error-codes.cjs +38 -0
- package/dist/resources/error-codes.d.ts +13 -0
- package/dist/resources/error-codes.d.ts.map +1 -0
- package/dist/resources/error-codes.js +15 -0
- package/dist/resources/errors.cjs +155 -0
- package/dist/resources/errors.d.ts +48 -0
- package/dist/resources/errors.d.ts.map +1 -0
- package/dist/resources/errors.js +132 -0
- package/dist/resources/handlers/blob-handler.cjs +230 -0
- package/dist/resources/handlers/blob-handler.d.ts +38 -0
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -0
- package/dist/resources/handlers/blob-handler.js +207 -0
- package/dist/resources/handlers/factory.cjs +50 -0
- package/dist/resources/handlers/factory.d.ts +11 -0
- package/dist/resources/handlers/factory.d.ts.map +1 -0
- package/dist/resources/handlers/factory.js +26 -0
- package/dist/resources/handlers/filesystem-handler.cjs +385 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +35 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -0
- package/dist/resources/handlers/filesystem-handler.js +352 -0
- package/dist/resources/handlers/types.cjs +16 -0
- package/dist/resources/handlers/types.d.ts +15 -0
- package/dist/resources/handlers/types.d.ts.map +1 -0
- package/dist/resources/handlers/types.js +0 -0
- package/dist/resources/index.cjs +58 -0
- package/dist/resources/index.d.ts +39 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +35 -0
- package/dist/resources/internal-provider.cjs +141 -0
- package/dist/resources/internal-provider.d.ts +19 -0
- package/dist/resources/internal-provider.d.ts.map +1 -0
- package/dist/resources/internal-provider.js +118 -0
- package/dist/resources/manager.cjs +221 -0
- package/dist/resources/manager.d.ts +29 -0
- package/dist/resources/manager.d.ts.map +1 -0
- package/dist/resources/manager.js +198 -0
- package/dist/resources/reference-parser.cjs +217 -0
- package/dist/resources/reference-parser.d.ts +33 -0
- package/dist/resources/reference-parser.d.ts.map +1 -0
- package/dist/resources/reference-parser.js +191 -0
- package/dist/resources/schemas.cjs +98 -0
- package/dist/resources/schemas.d.ts +212 -0
- package/dist/resources/schemas.d.ts.map +1 -0
- package/dist/resources/schemas.js +73 -0
- package/dist/resources/types.cjs +16 -0
- package/dist/resources/types.d.ts +57 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +0 -0
- package/dist/search/index.d.ts +2 -4
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +1 -0
- package/dist/search/search-service.d.ts +5 -9
- package/dist/search/search-service.d.ts.map +1 -0
- package/dist/search/search-service.js +1 -0
- package/dist/search/types.d.ts +7 -10
- package/dist/search/types.d.ts.map +1 -0
- package/dist/session/chat-session.cjs +105 -12
- package/dist/session/chat-session.d.ts +32 -43
- package/dist/session/chat-session.d.ts.map +1 -0
- package/dist/session/chat-session.js +106 -12
- package/dist/session/error-codes.d.ts +2 -3
- package/dist/session/error-codes.d.ts.map +1 -0
- package/dist/session/error-codes.js +1 -0
- package/dist/session/errors.d.ts +2 -17
- package/dist/session/errors.d.ts.map +1 -0
- package/dist/session/errors.js +1 -0
- package/dist/session/history/database.d.ts +6 -9
- package/dist/session/history/database.d.ts.map +1 -0
- package/dist/session/history/database.js +1 -0
- package/dist/session/history/factory.d.ts +4 -8
- package/dist/session/history/factory.d.ts.map +1 -0
- package/dist/session/history/factory.js +1 -0
- package/dist/session/history/memory.cjs +39 -0
- package/dist/session/history/memory.d.ts +14 -0
- package/dist/session/history/memory.d.ts.map +1 -0
- package/dist/session/history/memory.js +16 -0
- package/dist/session/history/types.d.ts +3 -6
- package/dist/session/history/types.d.ts.map +1 -0
- package/dist/session/index.d.ts +3 -50
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +1 -0
- package/dist/session/schemas.d.ts +4 -6
- package/dist/session/schemas.d.ts.map +1 -0
- package/dist/session/schemas.js +1 -0
- package/dist/session/session-manager.cjs +63 -29
- package/dist/session/session-manager.d.ts +33 -43
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +64 -29
- package/dist/session/title-generator.cjs +140 -0
- package/dist/session/title-generator.d.ts +22 -0
- package/dist/session/title-generator.d.ts.map +1 -0
- package/dist/session/title-generator.js +116 -0
- package/dist/storage/blob/factory.cjs +50 -0
- package/dist/storage/blob/factory.d.ts +10 -0
- package/dist/storage/blob/factory.d.ts.map +1 -0
- package/dist/storage/blob/factory.js +27 -0
- package/dist/storage/blob/local-blob-store.cjs +503 -0
- package/dist/storage/blob/local-blob-store.d.ts +57 -0
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/local-blob-store.js +470 -0
- package/dist/storage/blob/schemas.cjs +53 -0
- package/dist/storage/blob/schemas.d.ts +80 -0
- package/dist/storage/blob/schemas.d.ts.map +1 -0
- package/dist/storage/blob/schemas.js +29 -0
- package/dist/storage/blob/types.cjs +16 -0
- package/dist/storage/blob/types.d.ts +154 -0
- package/dist/storage/blob/types.d.ts.map +1 -0
- package/dist/storage/blob/types.js +0 -0
- package/dist/storage/cache/factory.cjs +63 -0
- package/dist/storage/cache/factory.d.ts +8 -0
- package/dist/storage/cache/factory.d.ts.map +1 -0
- package/dist/storage/cache/factory.js +30 -0
- package/dist/storage/cache/memory-cache-store.cjs +107 -0
- package/dist/storage/cache/memory-cache-store.d.ts +26 -0
- package/dist/storage/cache/memory-cache-store.d.ts.map +1 -0
- package/dist/storage/cache/memory-cache-store.js +84 -0
- package/dist/storage/{backend/redis-backend.cjs → cache/redis-store.cjs} +8 -22
- package/dist/storage/{backend/redis-backend.d.ts → cache/redis-store.d.ts} +8 -14
- package/dist/storage/cache/redis-store.d.ts.map +1 -0
- package/dist/storage/{backend/redis-backend.js → cache/redis-store.js} +5 -18
- package/dist/storage/cache/schemas.cjs +77 -0
- package/dist/storage/cache/schemas.d.ts +151 -0
- package/dist/storage/cache/schemas.d.ts.map +1 -0
- package/dist/storage/cache/schemas.js +53 -0
- package/dist/storage/cache/types.cjs +16 -0
- package/dist/storage/{backend/cache-backend.d.cts → cache/types.d.ts} +3 -4
- package/dist/storage/cache/types.d.ts.map +1 -0
- package/dist/storage/cache/types.js +0 -0
- package/dist/storage/database/factory.cjs +86 -0
- package/dist/storage/database/factory.d.ts +10 -0
- package/dist/storage/database/factory.d.ts.map +1 -0
- package/dist/storage/database/factory.js +53 -0
- package/dist/storage/{backend/memory-backend.cjs → database/memory-database-store.cjs} +10 -28
- package/dist/storage/{backend/memory-backend.d.ts → database/memory-database-store.d.ts} +7 -12
- package/dist/storage/database/memory-database-store.d.ts.map +1 -0
- package/dist/storage/{backend/memory-backend.js → database/memory-database-store.js} +7 -24
- package/dist/storage/{backend/postgres-backend.cjs → database/postgres-store.cjs} +11 -11
- package/dist/storage/{backend/postgres-backend.d.ts → database/postgres-store.d.ts} +8 -11
- package/dist/storage/database/postgres-store.d.ts.map +1 -0
- package/dist/storage/{backend/postgres-backend.js → database/postgres-store.js} +8 -7
- package/dist/storage/database/schemas.cjs +89 -0
- package/dist/storage/database/schemas.d.ts +227 -0
- package/dist/storage/database/schemas.d.ts.map +1 -0
- package/dist/storage/database/schemas.js +65 -0
- package/dist/storage/{backend/sqlite-backend.cjs → database/sqlite-store.cjs} +35 -16
- package/dist/storage/{backend/sqlite-backend.d.cts → database/sqlite-store.d.ts} +9 -11
- package/dist/storage/database/sqlite-store.d.ts.map +1 -0
- package/dist/storage/{backend/sqlite-backend.js → database/sqlite-store.js} +32 -12
- package/dist/storage/database/types.cjs +16 -0
- package/dist/storage/{backend/database-backend.d.cts → database/types.d.ts} +3 -4
- package/dist/storage/database/types.d.ts.map +1 -0
- package/dist/storage/database/types.js +0 -0
- package/dist/storage/error-codes.cjs +16 -0
- package/dist/storage/error-codes.d.ts +20 -5
- package/dist/storage/error-codes.d.ts.map +1 -0
- package/dist/storage/error-codes.js +17 -0
- package/dist/storage/errors.cjs +210 -7
- package/dist/storage/errors.d.ts +75 -19
- package/dist/storage/errors.d.ts.map +1 -0
- package/dist/storage/errors.js +205 -1
- package/dist/storage/index.cjs +24 -5
- package/dist/storage/index.d.ts +48 -7
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +21 -4
- package/dist/storage/schemas.cjs +22 -84
- package/dist/storage/schemas.d.ts +98 -574
- package/dist/storage/schemas.d.ts.map +1 -0
- package/dist/storage/schemas.js +26 -84
- package/dist/storage/storage-manager.cjs +135 -118
- package/dist/storage/storage-manager.d.ts +55 -26
- package/dist/storage/storage-manager.d.ts.map +1 -0
- package/dist/storage/storage-manager.js +135 -107
- package/dist/storage/types.d.ts +7 -5
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.cjs +54 -0
- package/dist/systemPrompt/contributors.d.ts +30 -15
- package/dist/systemPrompt/contributors.d.ts.map +1 -0
- package/dist/systemPrompt/contributors.js +54 -0
- package/dist/systemPrompt/error-codes.d.ts +2 -3
- package/dist/systemPrompt/error-codes.d.ts.map +1 -0
- package/dist/systemPrompt/error-codes.js +1 -0
- package/dist/systemPrompt/errors.d.ts +2 -17
- package/dist/systemPrompt/errors.d.ts.map +1 -0
- package/dist/systemPrompt/errors.js +1 -0
- package/dist/systemPrompt/in-built-prompts.cjs +13 -15
- package/dist/systemPrompt/in-built-prompts.d.ts +4 -14
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -0
- package/dist/systemPrompt/in-built-prompts.js +14 -15
- package/dist/systemPrompt/index.cjs +11 -0
- package/dist/systemPrompt/index.d.ts +7 -14
- package/dist/systemPrompt/index.d.ts.map +1 -0
- package/dist/systemPrompt/index.js +9 -0
- package/dist/systemPrompt/manager.cjs +24 -6
- package/dist/systemPrompt/manager.d.ts +8 -16
- package/dist/systemPrompt/manager.d.ts.map +1 -0
- package/dist/systemPrompt/manager.js +25 -6
- package/dist/systemPrompt/registry.d.ts +6 -16
- package/dist/systemPrompt/registry.d.ts.map +1 -0
- package/dist/systemPrompt/registry.js +1 -0
- package/dist/systemPrompt/schemas.cjs +17 -3
- package/dist/systemPrompt/schemas.d.ts +204 -30
- package/dist/systemPrompt/schemas.d.ts.map +1 -0
- package/dist/systemPrompt/schemas.js +18 -3
- package/dist/systemPrompt/types.d.ts +3 -12
- package/dist/systemPrompt/types.d.ts.map +1 -0
- package/dist/telemetry/decorators.cjs +175 -0
- package/dist/telemetry/decorators.d.ts +17 -0
- package/dist/telemetry/decorators.d.ts.map +1 -0
- package/dist/telemetry/decorators.js +157 -0
- package/dist/telemetry/exporters.cjs +108 -0
- package/dist/telemetry/exporters.d.ts +29 -0
- package/dist/telemetry/exporters.d.ts.map +1 -0
- package/dist/telemetry/exporters.js +85 -0
- package/dist/telemetry/index.cjs +28 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +5 -0
- package/dist/telemetry/schemas.cjs +71 -0
- package/dist/telemetry/schemas.d.ts +54 -0
- package/dist/telemetry/schemas.d.ts.map +1 -0
- package/dist/telemetry/schemas.js +48 -0
- package/dist/telemetry/telemetry.cjs +228 -0
- package/dist/telemetry/telemetry.d.ts +74 -0
- package/dist/telemetry/telemetry.d.ts.map +1 -0
- package/dist/telemetry/telemetry.js +205 -0
- package/dist/telemetry/types.cjs +16 -0
- package/dist/telemetry/types.d.ts +22 -0
- package/dist/telemetry/types.d.ts.map +1 -0
- package/dist/telemetry/types.js +0 -0
- package/dist/telemetry/utils.cjs +87 -0
- package/dist/telemetry/utils.d.ts +21 -0
- package/dist/telemetry/utils.d.ts.map +1 -0
- package/dist/telemetry/utils.js +62 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +6 -12
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts +3 -5
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.js +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +9 -9
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +7 -13
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -0
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +10 -9
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts +2 -3
- package/dist/tools/confirmation/allowed-tools-provider/types.d.ts.map +1 -0
- package/dist/tools/error-codes.d.ts +2 -3
- package/dist/tools/error-codes.d.ts.map +1 -0
- package/dist/tools/error-codes.js +1 -0
- package/dist/tools/errors.d.ts +2 -17
- package/dist/tools/errors.d.ts.map +1 -0
- package/dist/tools/errors.js +1 -0
- package/dist/tools/index.cjs +0 -2
- package/dist/tools/index.d.ts +11 -19
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/internal-tools/constants.cjs +39 -0
- package/dist/tools/internal-tools/constants.d.ts +12 -0
- package/dist/tools/internal-tools/constants.d.ts.map +1 -0
- package/dist/tools/internal-tools/constants.js +16 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts +18 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/ask-user-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +106 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts +13 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +73 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.cjs +49 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/bash-output-tool.js +26 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.cjs +62 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/edit-file-tool.js +39 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.cjs +57 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/glob-files-tool.js +34 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.cjs +71 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/grep-content-tool.js +48 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.cjs +47 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/kill-process-tool.js +24 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.cjs +55 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/read-file-tool.js +32 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts +3 -11
- package/dist/tools/internal-tools/implementations/search-history-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/search-history-tool.js +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.cjs +56 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts +12 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/write-file-tool.js +33 -0
- package/dist/tools/internal-tools/index.cjs +3 -1
- package/dist/tools/internal-tools/index.d.ts +4 -13
- package/dist/tools/internal-tools/index.d.ts.map +1 -0
- package/dist/tools/internal-tools/index.js +1 -0
- package/dist/tools/internal-tools/provider.cjs +9 -11
- package/dist/tools/internal-tools/provider.d.ts +6 -20
- package/dist/tools/internal-tools/provider.d.ts.map +1 -0
- package/dist/tools/internal-tools/provider.js +10 -11
- package/dist/tools/internal-tools/registry.cjs +45 -4
- package/dist/tools/internal-tools/registry.d.ts +13 -22
- package/dist/tools/internal-tools/registry.d.ts.map +1 -0
- package/dist/tools/internal-tools/registry.js +46 -3
- package/dist/tools/schemas.cjs +32 -7
- package/dist/tools/schemas.d.ts +41 -8
- package/dist/tools/schemas.d.ts.map +1 -0
- package/dist/tools/schemas.js +25 -4
- package/dist/tools/tool-manager.cjs +329 -30
- package/dist/tools/tool-manager.d.ts +94 -22
- package/dist/tools/tool-manager.d.ts.map +1 -0
- package/dist/tools/tool-manager.js +289 -30
- package/dist/tools/types.d.ts +9 -11
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.d.ts +5 -7
- package/dist/utils/api-key-resolver.d.ts.map +1 -0
- package/dist/utils/api-key-resolver.js +1 -0
- package/dist/utils/api-key-store.d.ts +5 -7
- package/dist/utils/api-key-store.d.ts.map +1 -0
- package/dist/utils/api-key-store.js +1 -0
- package/dist/utils/async-context.cjs +51 -0
- package/dist/utils/async-context.d.ts +68 -0
- package/dist/utils/async-context.d.ts.map +1 -0
- package/dist/utils/async-context.js +25 -0
- package/dist/utils/debug.cjs +40 -0
- package/dist/utils/debug.d.ts +2 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +17 -0
- package/dist/utils/env.d.ts +4 -5
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +1 -0
- package/dist/utils/error-conversion.d.ts +2 -3
- package/dist/utils/error-conversion.d.ts.map +1 -0
- package/dist/utils/error-conversion.js +1 -0
- package/dist/utils/execution-context.d.ts +5 -6
- package/dist/utils/execution-context.d.ts.map +1 -0
- package/dist/utils/execution-context.js +1 -0
- package/dist/utils/fs-walk.d.ts +2 -3
- package/dist/utils/fs-walk.d.ts.map +1 -0
- package/dist/utils/fs-walk.js +1 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +14 -63
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/path.d.ts +9 -10
- package/dist/utils/path.d.ts.map +1 -0
- package/dist/utils/path.js +1 -0
- package/dist/utils/port-utils.d.ts +2 -3
- package/dist/utils/port-utils.d.ts.map +1 -0
- package/dist/utils/port-utils.js +1 -0
- package/dist/utils/redactor.d.ts +2 -3
- package/dist/utils/redactor.d.ts.map +1 -0
- package/dist/utils/redactor.js +1 -0
- package/dist/utils/result.d.ts +14 -27
- package/dist/utils/result.d.ts.map +1 -0
- package/dist/utils/result.js +1 -0
- package/dist/utils/safe-stringify.d.ts +2 -3
- package/dist/utils/safe-stringify.d.ts.map +1 -0
- package/dist/utils/safe-stringify.js +1 -0
- package/dist/utils/schema-metadata.cjs +235 -0
- package/dist/utils/schema-metadata.d.ts +82 -0
- package/dist/utils/schema-metadata.d.ts.map +1 -0
- package/dist/utils/schema-metadata.js +208 -0
- package/dist/utils/schema.d.ts +2 -3
- package/dist/utils/schema.d.ts.map +1 -0
- package/dist/utils/schema.js +1 -0
- package/dist/utils/service-initializer.cjs +110 -35
- package/dist/utils/service-initializer.d.ts +19 -43
- package/dist/utils/service-initializer.d.ts.map +1 -0
- package/dist/utils/service-initializer.js +101 -35
- package/dist/utils/user-info.d.ts +2 -3
- package/dist/utils/user-info.d.ts.map +1 -0
- package/dist/utils/user-info.js +1 -0
- package/dist/utils/zod-schema-converter.d.ts +3 -5
- package/dist/utils/zod-schema-converter.d.ts.map +1 -0
- package/dist/utils/zod-schema-converter.js +1 -0
- package/package.json +16 -4
- package/dist/agent/DextoAgent.d.cts +0 -541
- package/dist/agent/agentCard.d.cts +0 -20
- package/dist/agent/error-codes.d.cts +0 -14
- package/dist/agent/errors.d.cts +0 -44
- package/dist/agent/index.d.cts +0 -60
- package/dist/agent/registry/error-codes.d.cts +0 -20
- package/dist/agent/registry/errors.d.cts +0 -67
- package/dist/agent/registry/registry.d.cts +0 -67
- package/dist/agent/registry/types.d.cts +0 -100
- package/dist/agent/schemas.d.cts +0 -1502
- package/dist/agent/state-manager.d.cts +0 -97
- package/dist/config/agent-resolver.d.cts +0 -15
- package/dist/config/error-codes.d.cts +0 -17
- package/dist/config/errors.d.cts +0 -49
- package/dist/config/index.d.cts +0 -7
- package/dist/config/loader.d.cts +0 -19
- package/dist/config/writer.d.cts +0 -38
- package/dist/context/compression/middle-removal.d.cts +0 -48
- package/dist/context/compression/oldest-removal.d.cts +0 -43
- package/dist/context/compression/types.d.cts +0 -21
- package/dist/context/error-codes.d.cts +0 -19
- package/dist/context/errors.d.cts +0 -36
- package/dist/context/index.d.cts +0 -19
- package/dist/context/manager.d.cts +0 -254
- package/dist/context/types.d.cts +0 -113
- package/dist/context/utils.d.cts +0 -79
- package/dist/errors/DextoBaseError.d.cts +0 -15
- package/dist/errors/DextoRuntimeError.d.cts +0 -37
- package/dist/errors/DextoValidationError.d.cts +0 -65
- package/dist/errors/index.d.cts +0 -18
- package/dist/errors/result-bridge.d.cts +0 -39
- package/dist/errors/types.d.cts +0 -62
- package/dist/events/index.d.cts +0 -272
- package/dist/index.browser.d.cts +0 -53
- package/dist/index.d.cts +0 -89
- package/dist/llm/error-codes.d.cts +0 -26
- package/dist/llm/errors.d.cts +0 -58
- package/dist/llm/formatters/anthropic.d.cts +0 -45
- package/dist/llm/formatters/factory.d.cts +0 -12
- package/dist/llm/formatters/openai.d.cts +0 -38
- package/dist/llm/formatters/types.d.cts +0 -43
- package/dist/llm/formatters/vercel.d.cts +0 -48
- package/dist/llm/index.d.cts +0 -39
- package/dist/llm/registry.d.cts +0 -176
- package/dist/llm/resolver.d.cts +0 -34
- package/dist/llm/schemas.d.cts +0 -111
- package/dist/llm/services/anthropic.d.cts +0 -65
- package/dist/llm/services/factory.d.cts +0 -39
- package/dist/llm/services/index.d.cts +0 -21
- package/dist/llm/services/openai.d.cts +0 -65
- package/dist/llm/services/test-utils.integration.d.cts +0 -83
- package/dist/llm/services/types.d.cts +0 -56
- package/dist/llm/services/vercel.d.cts +0 -72
- package/dist/llm/tokenizer/anthropic.d.cts +0 -21
- package/dist/llm/tokenizer/default.d.cts +0 -16
- package/dist/llm/tokenizer/factory.d.cts +0 -12
- package/dist/llm/tokenizer/google.d.cts +0 -31
- package/dist/llm/tokenizer/openai.d.cts +0 -32
- package/dist/llm/tokenizer/types.d.cts +0 -19
- package/dist/llm/types.d.cts +0 -29
- package/dist/llm/validation.d.cts +0 -60
- package/dist/logger/browser.d.cts +0 -29
- package/dist/logger/index.d.cts +0 -1
- package/dist/logger/logger.d.cts +0 -52
- package/dist/mcp/error-codes.d.cts +0 -16
- package/dist/mcp/errors.d.cts +0 -72
- package/dist/mcp/index.d.cts +0 -26
- package/dist/mcp/manager.d.cts +0 -163
- package/dist/mcp/mcp-client.d.cts +0 -108
- package/dist/mcp/resolver.d.cts +0 -22
- package/dist/mcp/schemas.d.cts +0 -266
- package/dist/mcp/types.d.cts +0 -21
- package/dist/preferences/constants.d.cts +0 -3
- package/dist/preferences/error-codes.d.cts +0 -9
- package/dist/preferences/errors.d.cts +0 -33
- package/dist/preferences/index.d.cts +0 -21
- package/dist/preferences/loader.d.cts +0 -45
- package/dist/preferences/schemas.d.cts +0 -104
- package/dist/search/index.d.cts +0 -5
- package/dist/search/search-service.d.cts +0 -47
- package/dist/search/types.d.cts +0 -78
- package/dist/session/chat-session.d.cts +0 -284
- package/dist/session/error-codes.d.cts +0 -13
- package/dist/session/errors.d.cts +0 -58
- package/dist/session/history/database.d.cts +0 -28
- package/dist/session/history/factory.d.cts +0 -11
- package/dist/session/history/types.d.cts +0 -17
- package/dist/session/index.d.cts +0 -53
- package/dist/session/schemas.d.cts +0 -16
- package/dist/session/session-manager.d.cts +0 -219
- package/dist/storage/backend/cache-backend.d.ts +0 -15
- package/dist/storage/backend/database-backend.d.ts +0 -19
- package/dist/storage/backend/memory-backend.d.cts +0 -34
- package/dist/storage/backend/postgres-backend.d.cts +0 -37
- package/dist/storage/backend/redis-backend.d.cts +0 -36
- package/dist/storage/backend/sqlite-backend.d.ts +0 -35
- package/dist/storage/backend/types.d.cts +0 -14
- package/dist/storage/backend/types.d.ts +0 -14
- package/dist/storage/error-codes.d.cts +0 -14
- package/dist/storage/errors.d.cts +0 -63
- package/dist/storage/index.d.cts +0 -7
- package/dist/storage/schemas.d.cts +0 -856
- package/dist/storage/storage-manager.d.cts +0 -52
- package/dist/storage/types.d.cts +0 -5
- package/dist/systemPrompt/contributors.d.cts +0 -44
- package/dist/systemPrompt/error-codes.d.cts +0 -13
- package/dist/systemPrompt/errors.d.cts +0 -55
- package/dist/systemPrompt/in-built-prompts.d.cts +0 -28
- package/dist/systemPrompt/index.d.cts +0 -14
- package/dist/systemPrompt/manager.d.cts +0 -31
- package/dist/systemPrompt/registry.d.cts +0 -20
- package/dist/systemPrompt/schemas.d.cts +0 -401
- package/dist/systemPrompt/types.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.cts +0 -19
- package/dist/tools/confirmation/allowed-tools-provider/in-memory.d.cts +0 -17
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.cts +0 -26
- package/dist/tools/confirmation/allowed-tools-provider/types.d.cts +0 -35
- package/dist/tools/confirmation/event-based-confirmation-provider.cjs +0 -158
- package/dist/tools/confirmation/event-based-confirmation-provider.d.cts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.d.ts +0 -41
- package/dist/tools/confirmation/event-based-confirmation-provider.js +0 -134
- package/dist/tools/confirmation/factory.cjs +0 -52
- package/dist/tools/confirmation/factory.d.cts +0 -37
- package/dist/tools/confirmation/factory.d.ts +0 -37
- package/dist/tools/confirmation/factory.js +0 -28
- package/dist/tools/confirmation/noop-confirmation-provider.cjs +0 -49
- package/dist/tools/confirmation/noop-confirmation-provider.d.cts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.d.ts +0 -22
- package/dist/tools/confirmation/noop-confirmation-provider.js +0 -25
- package/dist/tools/confirmation/types.d.cts +0 -46
- package/dist/tools/confirmation/types.d.ts +0 -46
- package/dist/tools/error-codes.d.cts +0 -18
- package/dist/tools/errors.d.cts +0 -97
- package/dist/tools/index.d.cts +0 -19
- package/dist/tools/internal-tools/implementations/search-history-tool.d.cts +0 -15
- package/dist/tools/internal-tools/index.d.cts +0 -13
- package/dist/tools/internal-tools/provider.d.cts +0 -66
- package/dist/tools/internal-tools/registry.d.cts +0 -45
- package/dist/tools/schemas.d.cts +0 -21
- package/dist/tools/tool-manager.d.cts +0 -106
- package/dist/tools/types.d.cts +0 -66
- package/dist/utils/api-key-resolver.d.cts +0 -23
- package/dist/utils/api-key-store.d.cts +0 -26
- package/dist/utils/env.d.cts +0 -29
- package/dist/utils/error-conversion.d.cts +0 -13
- package/dist/utils/execution-context.d.cts +0 -21
- package/dist/utils/fs-walk.d.cts +0 -9
- package/dist/utils/index.d.cts +0 -63
- package/dist/utils/path.d.cts +0 -54
- package/dist/utils/port-utils.d.cts +0 -11
- package/dist/utils/port-utils.spec.d.cts +0 -2
- package/dist/utils/port-utils.spec.d.ts +0 -2
- package/dist/utils/redactor.d.cts +0 -18
- package/dist/utils/result.d.cts +0 -180
- package/dist/utils/safe-stringify.d.cts +0 -7
- package/dist/utils/schema.d.cts +0 -6
- package/dist/utils/service-initializer.d.cts +0 -63
- package/dist/utils/user-info.d.cts +0 -3
- package/dist/utils/zod-schema-converter.d.cts +0 -13
- /package/dist/{storage/backend → filesystem}/types.cjs +0 -0
- /package/dist/{storage/backend → filesystem}/types.js +0 -0
- /package/dist/{tools/confirmation → memory}/types.cjs +0 -0
- /package/dist/{tools/confirmation → memory}/types.js +0 -0
- /package/dist/{storage/backend/cache-backend.js → plugins/types.js} +0 -0
- /package/dist/{storage/backend/database-backend.js → process/types.js} +0 -0
|
@@ -1,67 +1,130 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import 'zod';
|
|
3
|
-
|
|
1
|
+
import { Registry, AgentRegistry, AgentRegistryEntry } from './types.js';
|
|
4
2
|
/**
|
|
5
3
|
* Local agent registry implementation
|
|
6
|
-
*
|
|
4
|
+
*
|
|
5
|
+
* TODO: ARCHITECTURAL REFACTOR - Move registry, preferences, and agent resolution to CLI
|
|
6
|
+
*
|
|
7
|
+
* PROBLEM: Registry operations are CLI concerns but live in Core, causing:
|
|
8
|
+
* - Missing analytics for auto-install (when running `dexto`, registry installs agents but doesn't track)
|
|
9
|
+
* - Wrong separation of concerns (Core = execution engine, not discovery/setup)
|
|
10
|
+
* - Registry manages ~/.dexto/agents filesystem which is CLI-level setup
|
|
11
|
+
*
|
|
12
|
+
* THE RIGHT ARCHITECTURE:
|
|
13
|
+
*
|
|
14
|
+
* Move to CLI:
|
|
15
|
+
* 1. Agent Registry (packages/core/src/agent/registry/) → packages/cli/src/registry/
|
|
16
|
+
* - installAgent(), uninstallAgent(), resolveAgent(), listAgents()
|
|
17
|
+
* - Can directly call capture() for analytics
|
|
18
|
+
* - Manages ~/.dexto/agents installation directory
|
|
19
|
+
*
|
|
20
|
+
* 2. Global Preferences (packages/core/src/preferences/) → packages/cli/src/preferences/
|
|
21
|
+
* - User's default LLM, model, default agent
|
|
22
|
+
* - Used by `dexto setup` command
|
|
23
|
+
* - Manages ~/.dexto/preferences.json
|
|
24
|
+
*
|
|
25
|
+
* 3. Agent Resolution (packages/core/src/config/agent-resolver.ts) → packages/cli/src/agent-resolver.ts
|
|
26
|
+
* - Discovery logic: check registry, trigger installs, apply preferences
|
|
27
|
+
* - Returns resolved config PATH to core
|
|
28
|
+
*
|
|
29
|
+
* Core keeps:
|
|
30
|
+
* - config/loader.ts - Load YAML from path
|
|
31
|
+
* - config/schemas.ts - Zod validation
|
|
32
|
+
* - Agent execution (DextoAgent, LLM, tools, MCP)
|
|
33
|
+
*
|
|
34
|
+
* FLOW AFTER REFACTOR:
|
|
35
|
+
* CLI index.ts:
|
|
36
|
+
* → CLI: resolveAgentPath() (discovery logic)
|
|
37
|
+
* → CLI: registry.resolveAgent()
|
|
38
|
+
* → CLI: registry.installAgent() if needed
|
|
39
|
+
* → CLI: capture('dexto_install_agent', ...) ✓ Natural!
|
|
40
|
+
* → Core: new DextoAgent(configPath) (just loads & runs)
|
|
41
|
+
*
|
|
42
|
+
* BENEFITS:
|
|
43
|
+
* - Clear separation: CLI = setup/discovery, Core = execution
|
|
44
|
+
* - Analytics naturally colocated with operations
|
|
45
|
+
* - Core is portable (no CLI dependencies)
|
|
46
|
+
* - No circular deps (CLI → Core, correct direction)
|
|
47
|
+
*
|
|
48
|
+
* ESTIMATE: ~3-4 hours (mostly moving code + updating imports)
|
|
7
49
|
*/
|
|
8
|
-
declare class LocalAgentRegistry implements AgentRegistry {
|
|
50
|
+
export declare class LocalAgentRegistry implements AgentRegistry {
|
|
9
51
|
private _registry;
|
|
10
52
|
/**
|
|
11
53
|
* Lazy load registry from JSON file
|
|
12
54
|
*/
|
|
13
55
|
getRegistry(): Registry;
|
|
14
56
|
/**
|
|
15
|
-
* Load
|
|
57
|
+
* Load and merge bundled + user registries
|
|
16
58
|
* Uses fail-fast approach - throws RegistryError for any loading issues
|
|
17
59
|
*/
|
|
18
60
|
private loadRegistry;
|
|
19
61
|
/**
|
|
20
|
-
* Check if agent exists in registry
|
|
62
|
+
* Check if agent exists in registry by ID
|
|
21
63
|
*/
|
|
22
|
-
hasAgent(
|
|
64
|
+
hasAgent(agentId: string): boolean;
|
|
23
65
|
/**
|
|
24
66
|
* Get available agents with their metadata from registry
|
|
25
67
|
*/
|
|
26
68
|
getAvailableAgents(): Record<string, AgentRegistryEntry>;
|
|
69
|
+
/**
|
|
70
|
+
* Validate custom agent ID doesn't conflict with bundled registry
|
|
71
|
+
* @throws RegistryError if ID conflicts with builtin agent
|
|
72
|
+
*/
|
|
73
|
+
private validateCustomAgentId;
|
|
27
74
|
/**
|
|
28
75
|
* Resolve main config file for installed agent
|
|
29
76
|
* Handles both directory agents (with main field) and single-file agents
|
|
30
77
|
*/
|
|
31
|
-
resolveMainConfig(agentDir: string,
|
|
78
|
+
resolveMainConfig(agentDir: string, agentId: string): string;
|
|
32
79
|
/**
|
|
33
80
|
* Install agent atomically using temp + rename pattern
|
|
34
|
-
* @param
|
|
81
|
+
* @param agentId ID of the agent to install
|
|
35
82
|
* @param injectPreferences Whether to inject global preferences into installed agent (default: true)
|
|
36
83
|
*/
|
|
37
|
-
installAgent(
|
|
84
|
+
installAgent(agentId: string, injectPreferences?: boolean): Promise<string>;
|
|
85
|
+
/**
|
|
86
|
+
* Install a custom agent from a local file path
|
|
87
|
+
* @param agentId Unique identifier for the custom agent
|
|
88
|
+
* @param sourcePath Absolute path to agent YAML file or directory
|
|
89
|
+
* @param metadata Agent metadata (name for display, description, author, tags, main)
|
|
90
|
+
* @param injectPreferences Whether to inject global preferences (default: true)
|
|
91
|
+
* @returns Path to the installed agent's main config file
|
|
92
|
+
*/
|
|
93
|
+
installCustomAgentFromPath(agentId: string, sourcePath: string, metadata: {
|
|
94
|
+
name?: string;
|
|
95
|
+
description: string;
|
|
96
|
+
author: string;
|
|
97
|
+
tags: string[];
|
|
98
|
+
main?: string;
|
|
99
|
+
}, injectPreferences?: boolean): Promise<string>;
|
|
38
100
|
/**
|
|
39
|
-
* Resolve a registry agent
|
|
40
|
-
* NOTE: Only handles registry
|
|
101
|
+
* Resolve a registry agent ID to a config path
|
|
102
|
+
* NOTE: Only handles registry IDs, not file paths (routing done in loadAgentConfig)
|
|
41
103
|
* Handles installing agent if needed
|
|
42
|
-
* @param
|
|
104
|
+
* @param agentId ID of the agent to resolve
|
|
43
105
|
* @param autoInstall Whether to automatically install missing agents from registry (default: true)
|
|
44
106
|
* @param injectPreferences Whether to inject preferences during auto-installation (default: true)
|
|
45
107
|
*/
|
|
46
|
-
resolveAgent(
|
|
108
|
+
resolveAgent(agentId: string, autoInstall?: boolean, injectPreferences?: boolean): Promise<string>;
|
|
47
109
|
/**
|
|
48
110
|
* Get list of currently installed agents
|
|
49
111
|
*/
|
|
50
112
|
getInstalledAgents(): Promise<string[]>;
|
|
51
113
|
/**
|
|
52
|
-
* Check if an agent is safe to uninstall (not the default
|
|
114
|
+
* Check if an agent is safe to uninstall (not the default agent from preferences)
|
|
53
115
|
*/
|
|
54
116
|
private isAgentSafeToUninstall;
|
|
55
117
|
/**
|
|
56
118
|
* Uninstall an agent by removing its directory
|
|
57
|
-
*
|
|
119
|
+
* For custom agents: also removes from user registry
|
|
120
|
+
* For builtin agents: only removes from disk
|
|
121
|
+
* @param agentId ID of the agent to uninstall
|
|
58
122
|
* @param force Whether to force uninstall even if agent is protected (default: false)
|
|
59
123
|
*/
|
|
60
|
-
uninstallAgent(
|
|
124
|
+
uninstallAgent(agentId: string, force?: boolean): Promise<void>;
|
|
61
125
|
}
|
|
62
126
|
/**
|
|
63
127
|
* Get cached registry instance (singleton pattern)
|
|
64
128
|
*/
|
|
65
|
-
declare function getAgentRegistry(): LocalAgentRegistry;
|
|
66
|
-
|
|
67
|
-
export { LocalAgentRegistry, getAgentRegistry };
|
|
129
|
+
export declare function getAgentRegistry(): LocalAgentRegistry;
|
|
130
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/agent/registry/registry.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,QAAQ,EAER,aAAa,EACb,kBAAkB,EAErB,MAAM,YAAY,CAAC;AAYpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,kBAAmB,YAAW,aAAa;IACpD,OAAO,CAAC,SAAS,CAAyB;IAE1C;;OAEG;IACH,WAAW,IAAI,QAAQ;IAOvB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAyCpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAKlC;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAKxD;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAgC7B;;;OAGG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAqC5D;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAqGvF;;;;;;;OAOG;IACG,0BAA0B,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,iBAAiB,GAAE,OAAc,GAClC,OAAO,CAAC,MAAM,CAAC;IAqKlB;;;;;;;OAOG;IACG,YAAY,CACd,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,OAAc,EAC3B,iBAAiB,GAAE,OAAc,GAClC,OAAO,CAAC,MAAM,CAAC;IAsClB;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAsB7C;;OAEG;YACW,sBAAsB;IAYpC;;;;;;OAMG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA8C/E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,kBAAkB,CAKrD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "../../chunk-C6A6W6XS.js";
|
|
1
2
|
import { existsSync, readFileSync } from "fs";
|
|
2
3
|
import { promises as fs } from "fs";
|
|
3
4
|
import path from "path";
|
|
@@ -5,8 +6,17 @@ import { logger } from "../../logger/index.js";
|
|
|
5
6
|
import { resolveBundledScript, getDextoGlobalPath, copyDirectory } from "../../utils/path.js";
|
|
6
7
|
import { loadGlobalPreferences } from "../../preferences/loader.js";
|
|
7
8
|
import { writePreferencesToAgent } from "../../config/writer.js";
|
|
8
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
RegistrySchema,
|
|
11
|
+
normalizeRegistryJson
|
|
12
|
+
} from "./types.js";
|
|
9
13
|
import { RegistryError } from "./errors.js";
|
|
14
|
+
import {
|
|
15
|
+
loadUserRegistry,
|
|
16
|
+
mergeRegistries,
|
|
17
|
+
removeAgentFromUserRegistry,
|
|
18
|
+
addAgentToUserRegistry
|
|
19
|
+
} from "./user-registry.js";
|
|
10
20
|
let cachedRegistry = null;
|
|
11
21
|
class LocalAgentRegistry {
|
|
12
22
|
_registry = null;
|
|
@@ -20,7 +30,7 @@ class LocalAgentRegistry {
|
|
|
20
30
|
return this._registry;
|
|
21
31
|
}
|
|
22
32
|
/**
|
|
23
|
-
* Load
|
|
33
|
+
* Load and merge bundled + user registries
|
|
24
34
|
* Uses fail-fast approach - throws RegistryError for any loading issues
|
|
25
35
|
*/
|
|
26
36
|
loadRegistry() {
|
|
@@ -36,23 +46,30 @@ class LocalAgentRegistry {
|
|
|
36
46
|
if (!existsSync(jsonPath)) {
|
|
37
47
|
throw RegistryError.registryNotFound(jsonPath, "File doesn't exist");
|
|
38
48
|
}
|
|
49
|
+
let bundledRegistry;
|
|
39
50
|
try {
|
|
40
51
|
const jsonData = readFileSync(jsonPath, "utf-8");
|
|
41
52
|
const rawRegistry = JSON.parse(jsonData);
|
|
42
|
-
|
|
53
|
+
bundledRegistry = RegistrySchema.parse(normalizeRegistryJson(rawRegistry));
|
|
43
54
|
} catch (error) {
|
|
44
55
|
throw RegistryError.registryParseError(
|
|
45
56
|
jsonPath,
|
|
46
57
|
error instanceof Error ? error.message : String(error)
|
|
47
58
|
);
|
|
48
59
|
}
|
|
60
|
+
const userRegistry = loadUserRegistry();
|
|
61
|
+
const merged = mergeRegistries(bundledRegistry, userRegistry);
|
|
62
|
+
logger.debug(
|
|
63
|
+
`Loaded registry: ${Object.keys(bundledRegistry.agents).length} bundled, ${Object.keys(userRegistry.agents).length} custom`
|
|
64
|
+
);
|
|
65
|
+
return merged;
|
|
49
66
|
}
|
|
50
67
|
/**
|
|
51
|
-
* Check if agent exists in registry
|
|
68
|
+
* Check if agent exists in registry by ID
|
|
52
69
|
*/
|
|
53
|
-
hasAgent(
|
|
70
|
+
hasAgent(agentId) {
|
|
54
71
|
const registry = this.getRegistry();
|
|
55
|
-
return
|
|
72
|
+
return agentId in registry.agents;
|
|
56
73
|
}
|
|
57
74
|
/**
|
|
58
75
|
* Get available agents with their metadata from registry
|
|
@@ -61,27 +78,59 @@ class LocalAgentRegistry {
|
|
|
61
78
|
const registry = this.getRegistry();
|
|
62
79
|
return registry.agents;
|
|
63
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Validate custom agent ID doesn't conflict with bundled registry
|
|
83
|
+
* @throws RegistryError if ID conflicts with builtin agent
|
|
84
|
+
*/
|
|
85
|
+
validateCustomAgentId(agentId) {
|
|
86
|
+
let jsonPath;
|
|
87
|
+
try {
|
|
88
|
+
jsonPath = resolveBundledScript("agents/agent-registry.json");
|
|
89
|
+
} catch (error) {
|
|
90
|
+
throw RegistryError.registryNotFound(
|
|
91
|
+
"agents/agent-registry.json",
|
|
92
|
+
error instanceof Error ? error.message : String(error)
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const jsonData = readFileSync(jsonPath, "utf-8");
|
|
97
|
+
const bundledRegistry = RegistrySchema.parse(
|
|
98
|
+
normalizeRegistryJson(JSON.parse(jsonData))
|
|
99
|
+
);
|
|
100
|
+
if (agentId in bundledRegistry.agents) {
|
|
101
|
+
throw RegistryError.customAgentNameConflict(agentId);
|
|
102
|
+
}
|
|
103
|
+
} catch (error) {
|
|
104
|
+
if (error instanceof Error && /name conflicts with builtin agent/.test(error.message)) {
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
107
|
+
throw RegistryError.registryParseError(
|
|
108
|
+
jsonPath,
|
|
109
|
+
error instanceof Error ? error.message : String(error)
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
64
113
|
/**
|
|
65
114
|
* Resolve main config file for installed agent
|
|
66
115
|
* Handles both directory agents (with main field) and single-file agents
|
|
67
116
|
*/
|
|
68
|
-
resolveMainConfig(agentDir,
|
|
117
|
+
resolveMainConfig(agentDir, agentId) {
|
|
69
118
|
const registry = this.getRegistry();
|
|
70
|
-
const agentData = registry.agents[
|
|
119
|
+
const agentData = registry.agents[agentId];
|
|
71
120
|
if (!agentData) {
|
|
72
121
|
const available = Object.keys(registry.agents);
|
|
73
|
-
throw RegistryError.agentNotFound(
|
|
122
|
+
throw RegistryError.agentNotFound(agentId, available);
|
|
74
123
|
}
|
|
75
124
|
if (agentData.source.endsWith("/")) {
|
|
76
125
|
if (!agentData.main) {
|
|
77
126
|
throw RegistryError.agentInvalidEntry(
|
|
78
|
-
|
|
127
|
+
agentId,
|
|
79
128
|
"directory entry missing main field"
|
|
80
129
|
);
|
|
81
130
|
}
|
|
82
131
|
const mainConfigPath = path.join(agentDir, agentData.main);
|
|
83
132
|
if (!existsSync(mainConfigPath)) {
|
|
84
|
-
throw RegistryError.mainConfigMissing(
|
|
133
|
+
throw RegistryError.mainConfigMissing(agentId, mainConfigPath);
|
|
85
134
|
}
|
|
86
135
|
return mainConfigPath;
|
|
87
136
|
} else {
|
|
@@ -95,22 +144,29 @@ class LocalAgentRegistry {
|
|
|
95
144
|
}
|
|
96
145
|
/**
|
|
97
146
|
* Install agent atomically using temp + rename pattern
|
|
98
|
-
* @param
|
|
147
|
+
* @param agentId ID of the agent to install
|
|
99
148
|
* @param injectPreferences Whether to inject global preferences into installed agent (default: true)
|
|
100
149
|
*/
|
|
101
|
-
async installAgent(
|
|
102
|
-
logger.info(`Installing agent: ${
|
|
150
|
+
async installAgent(agentId, injectPreferences = true) {
|
|
151
|
+
logger.info(`Installing agent: ${agentId}`);
|
|
103
152
|
const registry = this.getRegistry();
|
|
104
|
-
const agentData = registry.agents[
|
|
153
|
+
const agentData = registry.agents[agentId];
|
|
105
154
|
if (!agentData) {
|
|
106
155
|
const available = Object.keys(registry.agents);
|
|
107
|
-
throw RegistryError.agentNotFound(
|
|
156
|
+
throw RegistryError.agentNotFound(agentId, available);
|
|
108
157
|
}
|
|
109
158
|
const globalAgentsDir = getDextoGlobalPath("agents");
|
|
110
|
-
const targetDir = path.
|
|
159
|
+
const targetDir = path.resolve(globalAgentsDir, agentId);
|
|
160
|
+
const relTarget = path.relative(globalAgentsDir, targetDir);
|
|
161
|
+
if (relTarget.startsWith("..") || path.isAbsolute(relTarget)) {
|
|
162
|
+
throw RegistryError.installationFailed(
|
|
163
|
+
agentId,
|
|
164
|
+
"invalid agentId: path traversal detected"
|
|
165
|
+
);
|
|
166
|
+
}
|
|
111
167
|
if (existsSync(targetDir)) {
|
|
112
|
-
logger.info(`Agent '${
|
|
113
|
-
return this.resolveMainConfig(targetDir,
|
|
168
|
+
logger.info(`Agent '${agentId}' already installed`);
|
|
169
|
+
return this.resolveMainConfig(targetDir, agentId);
|
|
114
170
|
}
|
|
115
171
|
await fs.mkdir(globalAgentsDir, { recursive: true });
|
|
116
172
|
const sourcePath = resolveBundledScript(`agents/${agentData.source}`);
|
|
@@ -123,31 +179,144 @@ class LocalAgentRegistry {
|
|
|
123
179
|
const targetFile = path.join(tempDir, path.basename(sourcePath));
|
|
124
180
|
await fs.copyFile(sourcePath, targetFile);
|
|
125
181
|
}
|
|
126
|
-
const mainConfigPath = this.resolveMainConfig(tempDir,
|
|
182
|
+
const mainConfigPath = this.resolveMainConfig(tempDir, agentId);
|
|
127
183
|
if (!existsSync(mainConfigPath)) {
|
|
128
|
-
throw RegistryError.installationValidationFailed(
|
|
184
|
+
throw RegistryError.installationValidationFailed(agentId, mainConfigPath);
|
|
129
185
|
}
|
|
130
186
|
await fs.rename(tempDir, targetDir);
|
|
131
|
-
logger.info(`\u2713 Installed agent '${
|
|
187
|
+
logger.info(`\u2713 Installed agent '${agentId}' to ${targetDir}`);
|
|
132
188
|
if (injectPreferences) {
|
|
133
189
|
try {
|
|
134
190
|
const preferences = await loadGlobalPreferences();
|
|
135
191
|
await writePreferencesToAgent(targetDir, preferences);
|
|
136
|
-
logger.info(`\u2713 Applied global preferences to installed agent '${
|
|
192
|
+
logger.info(`\u2713 Applied global preferences to installed agent '${agentId}'`);
|
|
137
193
|
} catch (error) {
|
|
138
194
|
logger.warn(
|
|
139
|
-
`Failed to inject preferences to '${
|
|
195
|
+
`Failed to inject preferences to '${agentId}': ${error instanceof Error ? error.message : String(error)}`
|
|
140
196
|
);
|
|
141
197
|
console.log(
|
|
142
|
-
`\u26A0\uFE0F Warning: Could not apply preferences to '${
|
|
198
|
+
`\u26A0\uFE0F Warning: Could not apply preferences to '${agentId}' - agent will use bundled settings`
|
|
143
199
|
);
|
|
144
200
|
}
|
|
145
201
|
} else {
|
|
146
202
|
logger.info(
|
|
147
|
-
`Skipped preference injection for '${
|
|
203
|
+
`Skipped preference injection for '${agentId}' (injectPreferences=false)`
|
|
204
|
+
);
|
|
205
|
+
}
|
|
206
|
+
return this.resolveMainConfig(targetDir, agentId);
|
|
207
|
+
} catch (error) {
|
|
208
|
+
try {
|
|
209
|
+
if (existsSync(tempDir)) {
|
|
210
|
+
await fs.rm(tempDir, { recursive: true, force: true });
|
|
211
|
+
}
|
|
212
|
+
} catch (cleanupError) {
|
|
213
|
+
logger.error(
|
|
214
|
+
`Failed to clean up temp directory: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}. Skipping cleanup...`
|
|
148
215
|
);
|
|
149
216
|
}
|
|
150
|
-
|
|
217
|
+
throw RegistryError.installationFailed(
|
|
218
|
+
agentId,
|
|
219
|
+
error instanceof Error ? error.message : String(error)
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Install a custom agent from a local file path
|
|
225
|
+
* @param agentId Unique identifier for the custom agent
|
|
226
|
+
* @param sourcePath Absolute path to agent YAML file or directory
|
|
227
|
+
* @param metadata Agent metadata (name for display, description, author, tags, main)
|
|
228
|
+
* @param injectPreferences Whether to inject global preferences (default: true)
|
|
229
|
+
* @returns Path to the installed agent's main config file
|
|
230
|
+
*/
|
|
231
|
+
async installCustomAgentFromPath(agentId, sourcePath, metadata, injectPreferences = true) {
|
|
232
|
+
logger.info(`Installing custom agent '${agentId}' from ${sourcePath}`);
|
|
233
|
+
this.validateCustomAgentId(agentId);
|
|
234
|
+
if (!existsSync(sourcePath)) {
|
|
235
|
+
throw RegistryError.configNotFound(sourcePath);
|
|
236
|
+
}
|
|
237
|
+
const globalAgentsDir = getDextoGlobalPath("agents");
|
|
238
|
+
const targetDir = path.resolve(globalAgentsDir, agentId);
|
|
239
|
+
const relTarget = path.relative(globalAgentsDir, targetDir);
|
|
240
|
+
if (relTarget.startsWith("..") || path.isAbsolute(relTarget)) {
|
|
241
|
+
throw RegistryError.installationFailed(
|
|
242
|
+
agentId,
|
|
243
|
+
"invalid agentId: path traversal detected"
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
if (existsSync(targetDir)) {
|
|
247
|
+
throw RegistryError.agentAlreadyExists(agentId);
|
|
248
|
+
}
|
|
249
|
+
await fs.mkdir(globalAgentsDir, { recursive: true });
|
|
250
|
+
const stats = await fs.stat(sourcePath);
|
|
251
|
+
const isDirectory = stats.isDirectory();
|
|
252
|
+
const configFileName = isDirectory ? void 0 : `${agentId}.yml`;
|
|
253
|
+
if (!metadata.description) {
|
|
254
|
+
throw RegistryError.installationFailed(agentId, "description is required");
|
|
255
|
+
}
|
|
256
|
+
if (isDirectory && !metadata.main) {
|
|
257
|
+
throw RegistryError.installationFailed(
|
|
258
|
+
agentId,
|
|
259
|
+
"main field is required for directory-based agents"
|
|
260
|
+
);
|
|
261
|
+
}
|
|
262
|
+
const displayName = metadata.name || agentId.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
|
|
263
|
+
const registryEntry = {
|
|
264
|
+
id: agentId,
|
|
265
|
+
name: displayName,
|
|
266
|
+
description: metadata.description,
|
|
267
|
+
author: metadata.author,
|
|
268
|
+
tags: metadata.tags,
|
|
269
|
+
source: isDirectory ? `${agentId}/` : configFileName,
|
|
270
|
+
main: metadata.main
|
|
271
|
+
};
|
|
272
|
+
const tempDir = `${targetDir}.tmp.${Date.now()}`;
|
|
273
|
+
try {
|
|
274
|
+
if (isDirectory) {
|
|
275
|
+
await copyDirectory(sourcePath, tempDir);
|
|
276
|
+
} else {
|
|
277
|
+
await fs.mkdir(tempDir, { recursive: true });
|
|
278
|
+
const targetFile = path.join(tempDir, configFileName);
|
|
279
|
+
await fs.copyFile(sourcePath, targetFile);
|
|
280
|
+
}
|
|
281
|
+
const tempMainConfigPath = isDirectory ? path.join(tempDir, metadata.main) : path.join(tempDir, configFileName);
|
|
282
|
+
if (!existsSync(tempMainConfigPath)) {
|
|
283
|
+
throw RegistryError.installationValidationFailed(agentId, tempMainConfigPath);
|
|
284
|
+
}
|
|
285
|
+
await fs.rename(tempDir, targetDir);
|
|
286
|
+
logger.info(`\u2713 Installed custom agent '${agentId}' to ${targetDir}`);
|
|
287
|
+
const mainConfigPath = isDirectory && metadata.main ? path.join(targetDir, metadata.main) : path.join(targetDir, configFileName);
|
|
288
|
+
try {
|
|
289
|
+
await addAgentToUserRegistry(agentId, registryEntry);
|
|
290
|
+
logger.info(`\u2713 Added '${agentId}' to user registry`);
|
|
291
|
+
this._registry = null;
|
|
292
|
+
} catch (registryError) {
|
|
293
|
+
try {
|
|
294
|
+
if (existsSync(targetDir)) {
|
|
295
|
+
await fs.rm(targetDir, { recursive: true, force: true });
|
|
296
|
+
logger.info(`Rolled back installation: removed ${targetDir}`);
|
|
297
|
+
}
|
|
298
|
+
} catch (rollbackError) {
|
|
299
|
+
logger.error(
|
|
300
|
+
`Rollback failed for '${agentId}': ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}`
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
throw registryError;
|
|
304
|
+
}
|
|
305
|
+
if (injectPreferences) {
|
|
306
|
+
try {
|
|
307
|
+
const preferences = await loadGlobalPreferences();
|
|
308
|
+
await writePreferencesToAgent(targetDir, preferences);
|
|
309
|
+
logger.info(`\u2713 Applied global preferences to custom agent '${agentId}'`);
|
|
310
|
+
} catch (error) {
|
|
311
|
+
logger.warn(
|
|
312
|
+
`Failed to inject preferences to '${agentId}': ${error instanceof Error ? error.message : String(error)}`
|
|
313
|
+
);
|
|
314
|
+
console.log(
|
|
315
|
+
`\u26A0\uFE0F Warning: Could not apply preferences to '${agentId}' - agent will use default settings`
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return mainConfigPath;
|
|
151
320
|
} catch (error) {
|
|
152
321
|
try {
|
|
153
322
|
if (existsSync(tempDir)) {
|
|
@@ -155,46 +324,50 @@ class LocalAgentRegistry {
|
|
|
155
324
|
}
|
|
156
325
|
} catch (cleanupError) {
|
|
157
326
|
logger.error(
|
|
158
|
-
`Failed to clean up temp directory: ${cleanupError}. Skipping cleanup...`
|
|
327
|
+
`Failed to clean up temp directory: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}. Skipping cleanup...`
|
|
159
328
|
);
|
|
160
329
|
}
|
|
161
330
|
throw RegistryError.installationFailed(
|
|
162
|
-
|
|
331
|
+
agentId,
|
|
163
332
|
error instanceof Error ? error.message : String(error)
|
|
164
333
|
);
|
|
165
334
|
}
|
|
166
335
|
}
|
|
167
336
|
/**
|
|
168
|
-
* Resolve a registry agent
|
|
169
|
-
* NOTE: Only handles registry
|
|
337
|
+
* Resolve a registry agent ID to a config path
|
|
338
|
+
* NOTE: Only handles registry IDs, not file paths (routing done in loadAgentConfig)
|
|
170
339
|
* Handles installing agent if needed
|
|
171
|
-
* @param
|
|
340
|
+
* @param agentId ID of the agent to resolve
|
|
172
341
|
* @param autoInstall Whether to automatically install missing agents from registry (default: true)
|
|
173
342
|
* @param injectPreferences Whether to inject preferences during auto-installation (default: true)
|
|
174
343
|
*/
|
|
175
|
-
async resolveAgent(
|
|
176
|
-
logger.debug(`Resolving registry agent: ${
|
|
344
|
+
async resolveAgent(agentId, autoInstall = true, injectPreferences = true) {
|
|
345
|
+
logger.debug(`Resolving registry agent: ${agentId}`);
|
|
177
346
|
const globalAgentsDir = getDextoGlobalPath("agents");
|
|
178
|
-
const installedPath = path.
|
|
347
|
+
const installedPath = path.resolve(globalAgentsDir, agentId);
|
|
348
|
+
const relInstalled = path.relative(globalAgentsDir, installedPath);
|
|
349
|
+
if (relInstalled.startsWith("..") || path.isAbsolute(relInstalled)) {
|
|
350
|
+
throw RegistryError.agentNotFound(agentId, Object.keys(this.getRegistry().agents));
|
|
351
|
+
}
|
|
179
352
|
if (existsSync(installedPath)) {
|
|
180
|
-
const mainConfig = this.resolveMainConfig(installedPath,
|
|
181
|
-
logger.debug(`Resolved installed agent '${
|
|
353
|
+
const mainConfig = this.resolveMainConfig(installedPath, agentId);
|
|
354
|
+
logger.debug(`Resolved installed agent '${agentId}' to: ${mainConfig}`);
|
|
182
355
|
return mainConfig;
|
|
183
356
|
}
|
|
184
|
-
logger.debug(`Agent '${
|
|
185
|
-
if (this.hasAgent(
|
|
357
|
+
logger.debug(`Agent '${agentId}' not found in installed path: ${installedPath}`);
|
|
358
|
+
if (this.hasAgent(agentId)) {
|
|
186
359
|
if (autoInstall) {
|
|
187
|
-
logger.info(`Installing agent '${
|
|
188
|
-
return await this.installAgent(
|
|
360
|
+
logger.info(`Installing agent '${agentId}' from registry...`);
|
|
361
|
+
return await this.installAgent(agentId, injectPreferences);
|
|
189
362
|
} else {
|
|
190
363
|
const registry2 = this.getRegistry();
|
|
191
364
|
const available2 = Object.keys(registry2.agents);
|
|
192
|
-
throw RegistryError.agentNotInstalledAutoInstallDisabled(
|
|
365
|
+
throw RegistryError.agentNotInstalledAutoInstallDisabled(agentId, available2);
|
|
193
366
|
}
|
|
194
367
|
}
|
|
195
368
|
const registry = this.getRegistry();
|
|
196
369
|
const available = Object.keys(registry.agents);
|
|
197
|
-
throw RegistryError.agentNotFound(
|
|
370
|
+
throw RegistryError.agentNotFound(agentId, available);
|
|
198
371
|
}
|
|
199
372
|
/**
|
|
200
373
|
* Get list of currently installed agents
|
|
@@ -213,32 +386,56 @@ class LocalAgentRegistry {
|
|
|
213
386
|
}
|
|
214
387
|
}
|
|
215
388
|
/**
|
|
216
|
-
* Check if an agent is safe to uninstall (not the default
|
|
389
|
+
* Check if an agent is safe to uninstall (not the default agent from preferences)
|
|
217
390
|
*/
|
|
218
|
-
isAgentSafeToUninstall(
|
|
219
|
-
|
|
391
|
+
async isAgentSafeToUninstall(agentId) {
|
|
392
|
+
try {
|
|
393
|
+
const preferences = await loadGlobalPreferences();
|
|
394
|
+
const defaultAgent = preferences.defaults.defaultAgent;
|
|
395
|
+
return agentId !== defaultAgent;
|
|
396
|
+
} catch {
|
|
397
|
+
logger.warn("Could not load preferences, using fallback protection for default-agent");
|
|
398
|
+
return agentId !== "default-agent";
|
|
399
|
+
}
|
|
220
400
|
}
|
|
221
401
|
/**
|
|
222
402
|
* Uninstall an agent by removing its directory
|
|
223
|
-
*
|
|
403
|
+
* For custom agents: also removes from user registry
|
|
404
|
+
* For builtin agents: only removes from disk
|
|
405
|
+
* @param agentId ID of the agent to uninstall
|
|
224
406
|
* @param force Whether to force uninstall even if agent is protected (default: false)
|
|
225
407
|
*/
|
|
226
|
-
async uninstallAgent(
|
|
408
|
+
async uninstallAgent(agentId, force = false) {
|
|
227
409
|
const globalAgentsDir = getDextoGlobalPath("agents");
|
|
228
|
-
const agentDir = path.
|
|
229
|
-
|
|
410
|
+
const agentDir = path.resolve(globalAgentsDir, agentId);
|
|
411
|
+
const relAgent = path.relative(globalAgentsDir, agentDir);
|
|
412
|
+
if (relAgent.startsWith("..") || path.isAbsolute(relAgent)) {
|
|
413
|
+
throw RegistryError.uninstallationFailed(
|
|
414
|
+
agentId,
|
|
415
|
+
"invalid agentId: path traversal detected"
|
|
416
|
+
);
|
|
417
|
+
}
|
|
418
|
+
logger.info(`Uninstalling agent: ${agentId} from ${agentDir}`);
|
|
230
419
|
if (!existsSync(agentDir)) {
|
|
231
|
-
throw RegistryError.agentNotInstalled(
|
|
420
|
+
throw RegistryError.agentNotInstalled(agentId);
|
|
232
421
|
}
|
|
233
|
-
if (!force && !this.isAgentSafeToUninstall(
|
|
234
|
-
throw RegistryError.agentProtected(
|
|
422
|
+
if (!force && !await this.isAgentSafeToUninstall(agentId)) {
|
|
423
|
+
throw RegistryError.agentProtected(agentId);
|
|
235
424
|
}
|
|
425
|
+
const registry = this.getRegistry();
|
|
426
|
+
const agentData = registry.agents[agentId];
|
|
427
|
+
const isCustomAgent = agentData?.type === "custom";
|
|
236
428
|
try {
|
|
237
429
|
await fs.rm(agentDir, { recursive: true, force: true });
|
|
238
|
-
logger.info(`\u2713 Removed agent '${
|
|
430
|
+
logger.info(`\u2713 Removed agent '${agentId}' from ${agentDir}`);
|
|
431
|
+
if (isCustomAgent) {
|
|
432
|
+
await removeAgentFromUserRegistry(agentId);
|
|
433
|
+
logger.info(`\u2713 Removed custom agent '${agentId}' from user registry`);
|
|
434
|
+
this._registry = null;
|
|
435
|
+
}
|
|
239
436
|
} catch (error) {
|
|
240
437
|
throw RegistryError.uninstallationFailed(
|
|
241
|
-
|
|
438
|
+
agentId,
|
|
242
439
|
error instanceof Error ? error.message : String(error)
|
|
243
440
|
);
|
|
244
441
|
}
|
|
@@ -19,23 +19,56 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var types_exports = {};
|
|
20
20
|
__export(types_exports, {
|
|
21
21
|
AgentRegistryEntrySchema: () => AgentRegistryEntrySchema,
|
|
22
|
-
RegistrySchema: () => RegistrySchema
|
|
22
|
+
RegistrySchema: () => RegistrySchema,
|
|
23
|
+
deriveDisplayName: () => deriveDisplayName,
|
|
24
|
+
normalizeRegistryJson: () => normalizeRegistryJson
|
|
23
25
|
});
|
|
24
26
|
module.exports = __toCommonJS(types_exports);
|
|
25
27
|
var import_zod = require("zod");
|
|
28
|
+
function deriveDisplayName(slug) {
|
|
29
|
+
return slug.split("-").filter(Boolean).map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join(" ");
|
|
30
|
+
}
|
|
26
31
|
const AgentRegistryEntrySchema = import_zod.z.object({
|
|
32
|
+
id: import_zod.z.string().describe("Unique identifier for the agent"),
|
|
33
|
+
name: import_zod.z.string().describe("Display name for the agent"),
|
|
27
34
|
description: import_zod.z.string(),
|
|
28
35
|
author: import_zod.z.string(),
|
|
29
36
|
tags: import_zod.z.array(import_zod.z.string()),
|
|
30
37
|
source: import_zod.z.string(),
|
|
31
|
-
main: import_zod.z.string().optional()
|
|
38
|
+
main: import_zod.z.string().optional(),
|
|
39
|
+
type: import_zod.z.enum(["builtin", "custom"]).default("builtin").describe("Agent type")
|
|
32
40
|
}).strict();
|
|
33
41
|
const RegistrySchema = import_zod.z.object({
|
|
34
42
|
version: import_zod.z.string(),
|
|
35
43
|
agents: import_zod.z.record(import_zod.z.string(), AgentRegistryEntrySchema)
|
|
36
44
|
}).strict();
|
|
45
|
+
function normalizeRegistryJson(raw) {
|
|
46
|
+
if (!raw || typeof raw !== "object") {
|
|
47
|
+
return { version: "1.0.0", agents: {} };
|
|
48
|
+
}
|
|
49
|
+
const input = raw;
|
|
50
|
+
const normalizedAgents = {};
|
|
51
|
+
const agents = input.agents && typeof input.agents === "object" && input.agents !== null ? input.agents : {};
|
|
52
|
+
for (const [agentId, value] of Object.entries(agents)) {
|
|
53
|
+
if (!value || typeof value !== "object") continue;
|
|
54
|
+
const entry = { ...value };
|
|
55
|
+
if (!entry.id || typeof entry.id !== "string" || entry.id.trim() !== agentId) {
|
|
56
|
+
entry.id = agentId;
|
|
57
|
+
}
|
|
58
|
+
if (!entry.name || typeof entry.name !== "string" || !entry.name.trim()) {
|
|
59
|
+
entry.name = deriveDisplayName(agentId);
|
|
60
|
+
}
|
|
61
|
+
normalizedAgents[agentId] = entry;
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
version: typeof input.version === "string" && input.version.trim().length > 0 ? input.version : "1.0.0",
|
|
65
|
+
agents: normalizedAgents
|
|
66
|
+
};
|
|
67
|
+
}
|
|
37
68
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
69
|
0 && (module.exports = {
|
|
39
70
|
AgentRegistryEntrySchema,
|
|
40
|
-
RegistrySchema
|
|
71
|
+
RegistrySchema,
|
|
72
|
+
deriveDisplayName,
|
|
73
|
+
normalizeRegistryJson
|
|
41
74
|
});
|