@dexto/core 1.2.3 → 1.2.5
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 +164 -64
- package/dist/agent/schemas.d.ts +2605 -517
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +167 -64
- 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/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.d.ts +6 -6
- 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/prompt-manager.cjs +25 -18
- 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 -18
- 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/file-prompt-provider.cjs +14 -12
- package/dist/prompts/providers/file-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/file-prompt-provider.js +14 -12
- 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/providers/starter-prompt-provider.cjs +7 -5
- package/dist/prompts/providers/starter-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/starter-prompt-provider.js +7 -5
- package/dist/prompts/schemas.d.ts +3 -3
- 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/manager.cjs +11 -8
- package/dist/systemPrompt/manager.d.ts +4 -2
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +11 -8
- package/dist/systemPrompt/schemas.cjs +21 -1
- package/dist/systemPrompt/schemas.d.ts +53 -53
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +11 -1
- 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 +87 -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 +69 -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/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
package/dist/config/errors.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import "../chunk-C6A6W6XS.js";
|
|
2
|
-
import { DextoRuntimeError } from "../errors/index.js";
|
|
3
|
-
import { ErrorScope, ErrorType } from "../errors/types.js";
|
|
4
|
-
import { ConfigErrorCode } from "./error-codes.js";
|
|
5
|
-
class ConfigError {
|
|
6
|
-
// File operation errors
|
|
7
|
-
static fileNotFound(configPath) {
|
|
8
|
-
return new DextoRuntimeError(
|
|
9
|
-
ConfigErrorCode.FILE_NOT_FOUND,
|
|
10
|
-
ErrorScope.CONFIG,
|
|
11
|
-
ErrorType.USER,
|
|
12
|
-
`Configuration file not found: ${configPath}`,
|
|
13
|
-
{ configPath },
|
|
14
|
-
"Ensure the configuration file exists at the specified path"
|
|
15
|
-
);
|
|
16
|
-
}
|
|
17
|
-
static fileReadError(configPath, cause) {
|
|
18
|
-
return new DextoRuntimeError(
|
|
19
|
-
ConfigErrorCode.FILE_READ_ERROR,
|
|
20
|
-
ErrorScope.CONFIG,
|
|
21
|
-
ErrorType.SYSTEM,
|
|
22
|
-
`Failed to read configuration file: ${cause}`,
|
|
23
|
-
{ configPath, cause },
|
|
24
|
-
"Check file permissions and ensure the file is not corrupted"
|
|
25
|
-
);
|
|
26
|
-
}
|
|
27
|
-
static fileWriteError(configPath, cause) {
|
|
28
|
-
return new DextoRuntimeError(
|
|
29
|
-
ConfigErrorCode.FILE_WRITE_ERROR,
|
|
30
|
-
ErrorScope.CONFIG,
|
|
31
|
-
ErrorType.SYSTEM,
|
|
32
|
-
`Failed to write configuration file '${configPath}': ${cause}`,
|
|
33
|
-
{ configPath, cause },
|
|
34
|
-
"Check file permissions and available disk space"
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
// Parsing errors
|
|
38
|
-
static parseError(configPath, cause) {
|
|
39
|
-
return new DextoRuntimeError(
|
|
40
|
-
ConfigErrorCode.PARSE_ERROR,
|
|
41
|
-
ErrorScope.CONFIG,
|
|
42
|
-
ErrorType.USER,
|
|
43
|
-
`Failed to parse configuration file: ${cause}`,
|
|
44
|
-
{ configPath, cause },
|
|
45
|
-
"Ensure the configuration file contains valid YAML syntax"
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
// Resolution errors
|
|
49
|
-
static noProjectDefault(projectPath) {
|
|
50
|
-
return new DextoRuntimeError(
|
|
51
|
-
ConfigErrorCode.NO_PROJECT_DEFAULT,
|
|
52
|
-
ErrorScope.CONFIG,
|
|
53
|
-
ErrorType.USER,
|
|
54
|
-
`No project default-agent.yml found and no global preferences configured.
|
|
55
|
-
Either create default-agent.yml in your project root (${projectPath}) or run \`dexto setup\` to configure preferences.`,
|
|
56
|
-
{ projectPath },
|
|
57
|
-
"Run `dexto setup` or create a project-specific agent config"
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
static noGlobalPreferences() {
|
|
61
|
-
return new DextoRuntimeError(
|
|
62
|
-
ConfigErrorCode.NO_GLOBAL_PREFERENCES,
|
|
63
|
-
ErrorScope.CONFIG,
|
|
64
|
-
ErrorType.USER,
|
|
65
|
-
`No global preferences found. Run \`dexto setup\` to get started.`,
|
|
66
|
-
{},
|
|
67
|
-
"Run `dexto setup` to configure your AI preferences"
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
static setupIncomplete() {
|
|
71
|
-
return new DextoRuntimeError(
|
|
72
|
-
ConfigErrorCode.SETUP_INCOMPLETE,
|
|
73
|
-
ErrorScope.CONFIG,
|
|
74
|
-
ErrorType.USER,
|
|
75
|
-
`Global preferences setup is incomplete. Run \`dexto setup\` to complete.`,
|
|
76
|
-
{},
|
|
77
|
-
"Run `dexto setup` to complete your configuration"
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
static bundledNotFound(bundledPath) {
|
|
81
|
-
return new DextoRuntimeError(
|
|
82
|
-
ConfigErrorCode.BUNDLED_NOT_FOUND,
|
|
83
|
-
ErrorScope.CONFIG,
|
|
84
|
-
ErrorType.NOT_FOUND,
|
|
85
|
-
`Bundled default agent not found: ${bundledPath}. Run npm run build first.`,
|
|
86
|
-
{ path: bundledPath },
|
|
87
|
-
"Run `npm run build` to build the bundled agents"
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
static unknownContext(context) {
|
|
91
|
-
return new DextoRuntimeError(
|
|
92
|
-
ConfigErrorCode.UNKNOWN_CONTEXT,
|
|
93
|
-
ErrorScope.CONFIG,
|
|
94
|
-
ErrorType.SYSTEM,
|
|
95
|
-
`Unknown execution context: ${context}`,
|
|
96
|
-
{ context },
|
|
97
|
-
"This is an internal error - please report it"
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export {
|
|
102
|
-
ConfigError
|
|
103
|
-
};
|
package/dist/config/index.cjs
DELETED
|
@@ -1,26 +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 __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var config_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(config_exports);
|
|
18
|
-
__reExport(config_exports, require("./loader.js"), module.exports);
|
|
19
|
-
__reExport(config_exports, require("./writer.js"), module.exports);
|
|
20
|
-
__reExport(config_exports, require("./agent-resolver.js"), module.exports);
|
|
21
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
-
0 && (module.exports = {
|
|
23
|
-
...require("./loader.js"),
|
|
24
|
-
...require("./writer.js"),
|
|
25
|
-
...require("./agent-resolver.js")
|
|
26
|
-
});
|
package/dist/config/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
package/dist/config/index.js
DELETED
package/dist/config/loader.cjs
DELETED
|
@@ -1,119 +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 loader_exports = {};
|
|
30
|
-
__export(loader_exports, {
|
|
31
|
-
loadAgentConfig: () => loadAgentConfig
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(loader_exports);
|
|
34
|
-
var import_fs = require("fs");
|
|
35
|
-
var import_path = __toESM(require("path"), 1);
|
|
36
|
-
var import_yaml = require("yaml");
|
|
37
|
-
var import_logger = require("../logger/index.js");
|
|
38
|
-
var import_errors = require("./errors.js");
|
|
39
|
-
function expandTemplateVars(config, agentDir) {
|
|
40
|
-
const result = JSON.parse(JSON.stringify(config));
|
|
41
|
-
function walk(obj) {
|
|
42
|
-
if (typeof obj === "string") {
|
|
43
|
-
return expandString(obj, agentDir);
|
|
44
|
-
}
|
|
45
|
-
if (Array.isArray(obj)) {
|
|
46
|
-
return obj.map(walk);
|
|
47
|
-
}
|
|
48
|
-
if (obj !== null && typeof obj === "object") {
|
|
49
|
-
const result2 = {};
|
|
50
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
51
|
-
result2[key] = walk(value);
|
|
52
|
-
}
|
|
53
|
-
return result2;
|
|
54
|
-
}
|
|
55
|
-
return obj;
|
|
56
|
-
}
|
|
57
|
-
return walk(result);
|
|
58
|
-
}
|
|
59
|
-
function expandString(str, agentDir) {
|
|
60
|
-
const result = str.replace(/\${{\s*dexto\.agent_dir\s*}}/g, agentDir);
|
|
61
|
-
if (result !== str) {
|
|
62
|
-
validateExpandedPath(str, result, agentDir);
|
|
63
|
-
}
|
|
64
|
-
return result;
|
|
65
|
-
}
|
|
66
|
-
function validateExpandedPath(original, expanded, agentDir) {
|
|
67
|
-
const resolved = import_path.default.resolve(expanded);
|
|
68
|
-
const agentRoot = import_path.default.resolve(agentDir);
|
|
69
|
-
const relative = import_path.default.relative(agentRoot, resolved);
|
|
70
|
-
if (relative.startsWith("..") || import_path.default.isAbsolute(relative)) {
|
|
71
|
-
throw new Error(
|
|
72
|
-
`Security: Template expansion attempted to escape agent directory.
|
|
73
|
-
Original: ${original}
|
|
74
|
-
Expanded: ${expanded}
|
|
75
|
-
Agent root: ${agentRoot}`
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
async function loadAgentConfig(configPath) {
|
|
80
|
-
const absolutePath = import_path.default.resolve(configPath);
|
|
81
|
-
try {
|
|
82
|
-
await import_fs.promises.access(absolutePath);
|
|
83
|
-
} catch (_error) {
|
|
84
|
-
throw import_errors.ConfigError.fileNotFound(absolutePath);
|
|
85
|
-
}
|
|
86
|
-
let fileContent;
|
|
87
|
-
try {
|
|
88
|
-
fileContent = await import_fs.promises.readFile(absolutePath, "utf-8");
|
|
89
|
-
} catch (error) {
|
|
90
|
-
throw import_errors.ConfigError.fileReadError(
|
|
91
|
-
absolutePath,
|
|
92
|
-
error instanceof Error ? error.message : String(error)
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
let config;
|
|
96
|
-
try {
|
|
97
|
-
config = (0, import_yaml.parse)(fileContent);
|
|
98
|
-
} catch (error) {
|
|
99
|
-
throw import_errors.ConfigError.parseError(
|
|
100
|
-
absolutePath,
|
|
101
|
-
error instanceof Error ? error.message : String(error)
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
try {
|
|
105
|
-
const agentDir = import_path.default.dirname(absolutePath);
|
|
106
|
-
config = expandTemplateVars(config, agentDir);
|
|
107
|
-
import_logger.logger.debug(`Expanded template variables for agent in: ${agentDir}`);
|
|
108
|
-
} catch (error) {
|
|
109
|
-
throw import_errors.ConfigError.parseError(
|
|
110
|
-
absolutePath,
|
|
111
|
-
`Template expansion failed: ${error instanceof Error ? error.message : String(error)}`
|
|
112
|
-
);
|
|
113
|
-
}
|
|
114
|
-
return config;
|
|
115
|
-
}
|
|
116
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
117
|
-
0 && (module.exports = {
|
|
118
|
-
loadAgentConfig
|
|
119
|
-
});
|
package/dist/config/loader.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AgentConfig } from '../agent/schemas.js';
|
|
2
|
-
/**
|
|
3
|
-
* Asynchronously loads and processes an agent configuration file.
|
|
4
|
-
* This function handles file reading, YAML parsing, and template variable expansion.
|
|
5
|
-
* Environment variable expansion is handled by the Zod schema during validation.
|
|
6
|
-
*
|
|
7
|
-
* Note: Path resolution should be done before calling this function using resolveConfigPath().
|
|
8
|
-
*
|
|
9
|
-
* @param configPath - Path to the configuration file (absolute or relative)
|
|
10
|
-
* @returns A Promise that resolves to the parsed `AgentConfig` object with template variables expanded
|
|
11
|
-
* @throws {ConfigError} with FILE_NOT_FOUND if the configuration file does not exist
|
|
12
|
-
* @throws {ConfigError} with FILE_READ_ERROR if file read fails (e.g., permissions issues)
|
|
13
|
-
* @throws {ConfigError} with PARSE_ERROR if the content is not valid YAML or template expansion fails
|
|
14
|
-
*/
|
|
15
|
-
export declare function loadAgentConfig(configPath: string): Promise<AgentConfig>;
|
|
16
|
-
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAiErD;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuD9E"}
|
package/dist/config/loader.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import "../chunk-C6A6W6XS.js";
|
|
2
|
-
import { promises as fs } from "fs";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import { parse as parseYaml } from "yaml";
|
|
5
|
-
import { logger } from "../logger/index.js";
|
|
6
|
-
import { ConfigError } from "./errors.js";
|
|
7
|
-
function expandTemplateVars(config, agentDir) {
|
|
8
|
-
const result = JSON.parse(JSON.stringify(config));
|
|
9
|
-
function walk(obj) {
|
|
10
|
-
if (typeof obj === "string") {
|
|
11
|
-
return expandString(obj, agentDir);
|
|
12
|
-
}
|
|
13
|
-
if (Array.isArray(obj)) {
|
|
14
|
-
return obj.map(walk);
|
|
15
|
-
}
|
|
16
|
-
if (obj !== null && typeof obj === "object") {
|
|
17
|
-
const result2 = {};
|
|
18
|
-
for (const [key, value] of Object.entries(obj)) {
|
|
19
|
-
result2[key] = walk(value);
|
|
20
|
-
}
|
|
21
|
-
return result2;
|
|
22
|
-
}
|
|
23
|
-
return obj;
|
|
24
|
-
}
|
|
25
|
-
return walk(result);
|
|
26
|
-
}
|
|
27
|
-
function expandString(str, agentDir) {
|
|
28
|
-
const result = str.replace(/\${{\s*dexto\.agent_dir\s*}}/g, agentDir);
|
|
29
|
-
if (result !== str) {
|
|
30
|
-
validateExpandedPath(str, result, agentDir);
|
|
31
|
-
}
|
|
32
|
-
return result;
|
|
33
|
-
}
|
|
34
|
-
function validateExpandedPath(original, expanded, agentDir) {
|
|
35
|
-
const resolved = path.resolve(expanded);
|
|
36
|
-
const agentRoot = path.resolve(agentDir);
|
|
37
|
-
const relative = path.relative(agentRoot, resolved);
|
|
38
|
-
if (relative.startsWith("..") || path.isAbsolute(relative)) {
|
|
39
|
-
throw new Error(
|
|
40
|
-
`Security: Template expansion attempted to escape agent directory.
|
|
41
|
-
Original: ${original}
|
|
42
|
-
Expanded: ${expanded}
|
|
43
|
-
Agent root: ${agentRoot}`
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
async function loadAgentConfig(configPath) {
|
|
48
|
-
const absolutePath = path.resolve(configPath);
|
|
49
|
-
try {
|
|
50
|
-
await fs.access(absolutePath);
|
|
51
|
-
} catch (_error) {
|
|
52
|
-
throw ConfigError.fileNotFound(absolutePath);
|
|
53
|
-
}
|
|
54
|
-
let fileContent;
|
|
55
|
-
try {
|
|
56
|
-
fileContent = await fs.readFile(absolutePath, "utf-8");
|
|
57
|
-
} catch (error) {
|
|
58
|
-
throw ConfigError.fileReadError(
|
|
59
|
-
absolutePath,
|
|
60
|
-
error instanceof Error ? error.message : String(error)
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
let config;
|
|
64
|
-
try {
|
|
65
|
-
config = parseYaml(fileContent);
|
|
66
|
-
} catch (error) {
|
|
67
|
-
throw ConfigError.parseError(
|
|
68
|
-
absolutePath,
|
|
69
|
-
error instanceof Error ? error.message : String(error)
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
const agentDir = path.dirname(absolutePath);
|
|
74
|
-
config = expandTemplateVars(config, agentDir);
|
|
75
|
-
logger.debug(`Expanded template variables for agent in: ${agentDir}`);
|
|
76
|
-
} catch (error) {
|
|
77
|
-
throw ConfigError.parseError(
|
|
78
|
-
absolutePath,
|
|
79
|
-
`Template expansion failed: ${error instanceof Error ? error.message : String(error)}`
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
return config;
|
|
83
|
-
}
|
|
84
|
-
export {
|
|
85
|
-
loadAgentConfig
|
|
86
|
-
};
|
package/dist/config/writer.cjs
DELETED
|
@@ -1,182 +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 writer_exports = {};
|
|
30
|
-
__export(writer_exports, {
|
|
31
|
-
writeConfigFile: () => writeConfigFile,
|
|
32
|
-
writeLLMPreferences: () => writeLLMPreferences,
|
|
33
|
-
writePreferencesToAgent: () => writePreferencesToAgent
|
|
34
|
-
});
|
|
35
|
-
module.exports = __toCommonJS(writer_exports);
|
|
36
|
-
var import_fs = require("fs");
|
|
37
|
-
var import_yaml = require("yaml");
|
|
38
|
-
var path = __toESM(require("path"), 1);
|
|
39
|
-
var import_logger = require("../logger/index.cjs");
|
|
40
|
-
var import_errors = require("./errors.js");
|
|
41
|
-
async function writeConfigFile(configPath, config) {
|
|
42
|
-
const absolutePath = path.resolve(configPath);
|
|
43
|
-
try {
|
|
44
|
-
const yamlContent = (0, import_yaml.stringify)(config, { indent: 2 });
|
|
45
|
-
await import_fs.promises.writeFile(absolutePath, yamlContent, "utf-8");
|
|
46
|
-
import_logger.logger.debug(`Wrote dexto config to: ${absolutePath}`);
|
|
47
|
-
} catch (error) {
|
|
48
|
-
throw import_errors.ConfigError.fileWriteError(
|
|
49
|
-
absolutePath,
|
|
50
|
-
error instanceof Error ? error.message : String(error)
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async function writeLLMPreferences(configPath, preferences, overrides) {
|
|
55
|
-
import_logger.logger.debug(`Writing LLM preferences to: ${configPath}`, {
|
|
56
|
-
provider: overrides?.provider ?? preferences.llm.provider,
|
|
57
|
-
model: overrides?.model ?? preferences.llm.model,
|
|
58
|
-
hasApiKeyOverride: Boolean(overrides?.apiKey),
|
|
59
|
-
hasPreferenceApiKey: Boolean(preferences.llm.apiKey)
|
|
60
|
-
});
|
|
61
|
-
import_logger.logger.debug(`Reading config file: ${configPath}`);
|
|
62
|
-
let fileContent;
|
|
63
|
-
try {
|
|
64
|
-
fileContent = await import_fs.promises.readFile(configPath, "utf-8");
|
|
65
|
-
import_logger.logger.debug(`Successfully read config file (${fileContent.length} chars)`);
|
|
66
|
-
} catch (error) {
|
|
67
|
-
import_logger.logger.error(`Failed to read config file: ${configPath}`, { error });
|
|
68
|
-
throw import_errors.ConfigError.fileReadError(
|
|
69
|
-
configPath,
|
|
70
|
-
error instanceof Error ? error.message : String(error)
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
let config;
|
|
74
|
-
try {
|
|
75
|
-
config = (0, import_yaml.parse)(fileContent);
|
|
76
|
-
import_logger.logger.debug(`Successfully parsed YAML config`, {
|
|
77
|
-
hasLlmSection: Boolean(config.llm),
|
|
78
|
-
existingProvider: config.llm?.provider,
|
|
79
|
-
existingModel: config.llm?.model
|
|
80
|
-
});
|
|
81
|
-
} catch (error) {
|
|
82
|
-
import_logger.logger.error(`Failed to parse YAML config: ${configPath}`, { error });
|
|
83
|
-
throw import_errors.ConfigError.parseError(
|
|
84
|
-
configPath,
|
|
85
|
-
error instanceof Error ? error.message : String(error)
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
const provider = overrides?.provider ?? preferences.llm.provider;
|
|
89
|
-
const model = overrides?.model ?? preferences.llm.model;
|
|
90
|
-
const apiKey = overrides?.apiKey ?? preferences.llm.apiKey;
|
|
91
|
-
import_logger.logger.debug(`Applying LLM preferences`, {
|
|
92
|
-
finalProvider: provider,
|
|
93
|
-
finalModel: model,
|
|
94
|
-
hasApiKey: Boolean(apiKey),
|
|
95
|
-
source: overrides ? "CLI overrides + preferences" : "preferences only"
|
|
96
|
-
});
|
|
97
|
-
config.llm = {
|
|
98
|
-
...config.llm,
|
|
99
|
-
// Preserve temperature, router, maxTokens, etc.
|
|
100
|
-
provider,
|
|
101
|
-
// Write user preference
|
|
102
|
-
model,
|
|
103
|
-
// Write user preference
|
|
104
|
-
apiKey
|
|
105
|
-
// Write user preference
|
|
106
|
-
};
|
|
107
|
-
await writeConfigFile(configPath, config);
|
|
108
|
-
import_logger.logger.info(`\u2713 Applied preferences to: ${path.basename(configPath)} (${provider}/${model})`);
|
|
109
|
-
}
|
|
110
|
-
async function writePreferencesToAgent(installedPath, preferences, overrides) {
|
|
111
|
-
let stat;
|
|
112
|
-
try {
|
|
113
|
-
stat = await import_fs.promises.stat(installedPath);
|
|
114
|
-
} catch (error) {
|
|
115
|
-
throw import_errors.ConfigError.fileReadError(
|
|
116
|
-
installedPath,
|
|
117
|
-
error instanceof Error ? error.message : String(error)
|
|
118
|
-
);
|
|
119
|
-
}
|
|
120
|
-
if (stat.isFile()) {
|
|
121
|
-
if (installedPath.endsWith(".yml") || installedPath.endsWith(".yaml")) {
|
|
122
|
-
await writeLLMPreferences(installedPath, preferences, overrides);
|
|
123
|
-
import_logger.logger.info(`\u2713 Applied preferences to: ${path.basename(installedPath)}`, null, "green");
|
|
124
|
-
} else {
|
|
125
|
-
import_logger.logger.warn(`Skipping non-YAML file: ${installedPath}`, null, "yellow");
|
|
126
|
-
}
|
|
127
|
-
} else if (stat.isDirectory()) {
|
|
128
|
-
await writePreferencesToDirectory(installedPath, preferences, overrides);
|
|
129
|
-
} else {
|
|
130
|
-
throw import_errors.ConfigError.fileReadError(installedPath, "Path is neither a file nor directory");
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
async function writePreferencesToDirectory(installedDir, preferences, overrides) {
|
|
134
|
-
const configFiles = await findAgentConfigFiles(installedDir);
|
|
135
|
-
if (configFiles.length === 0) {
|
|
136
|
-
import_logger.logger.warn(`No YAML config files found in: ${installedDir}`);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
let successCount = 0;
|
|
140
|
-
const oldProvider = preferences.llm.provider;
|
|
141
|
-
const oldModel = preferences.llm.model;
|
|
142
|
-
const newProvider = overrides?.provider ?? preferences.llm.provider;
|
|
143
|
-
const newModel = overrides?.model ?? preferences.llm.model;
|
|
144
|
-
for (const configPath of configFiles) {
|
|
145
|
-
try {
|
|
146
|
-
await writeLLMPreferences(configPath, preferences, overrides);
|
|
147
|
-
import_logger.logger.debug(`Applied preferences to: ${path.relative(installedDir, configPath)}`);
|
|
148
|
-
successCount++;
|
|
149
|
-
} catch (error) {
|
|
150
|
-
import_logger.logger.warn(
|
|
151
|
-
`Failed to write preferences to ${configPath}: ${error instanceof Error ? error.message : String(error)}`
|
|
152
|
-
);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
import_logger.logger.info(
|
|
156
|
-
`\u2713 Applied preferences to ${successCount}/${configFiles.length} config files (${oldProvider}\u2192${newProvider}, ${oldModel}\u2192${newModel})`
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
async function findAgentConfigFiles(dir) {
|
|
160
|
-
const configFiles = [];
|
|
161
|
-
async function walkDir(currentDir) {
|
|
162
|
-
const entries = await import_fs.promises.readdir(currentDir, { withFileTypes: true });
|
|
163
|
-
for (const entry of entries) {
|
|
164
|
-
const fullPath = path.join(currentDir, entry.name);
|
|
165
|
-
if (entry.isDirectory()) {
|
|
166
|
-
if (!["docs", "data"].includes(entry.name)) {
|
|
167
|
-
await walkDir(fullPath);
|
|
168
|
-
}
|
|
169
|
-
} else if (entry.name.endsWith(".yml") || entry.name.endsWith(".yaml")) {
|
|
170
|
-
configFiles.push(fullPath);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
await walkDir(dir);
|
|
175
|
-
return configFiles;
|
|
176
|
-
}
|
|
177
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
178
|
-
0 && (module.exports = {
|
|
179
|
-
writeConfigFile,
|
|
180
|
-
writeLLMPreferences,
|
|
181
|
-
writePreferencesToAgent
|
|
182
|
-
});
|
package/dist/config/writer.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { LLMProvider } from '../llm/types.js';
|
|
2
|
-
import { type GlobalPreferences } from '../preferences/schemas.js';
|
|
3
|
-
import { type AgentConfig } from '../agent/schemas.js';
|
|
4
|
-
export interface LLMOverrides {
|
|
5
|
-
provider?: LLMProvider;
|
|
6
|
-
model?: string;
|
|
7
|
-
apiKey?: string;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Asynchronously writes the given agent configuration object to a YAML file.
|
|
11
|
-
* This function handles the serialization of the config object to YAML format
|
|
12
|
-
* and writes it to the specified file path.
|
|
13
|
-
*
|
|
14
|
-
* @param configPath - Path where the configuration file should be written (absolute or relative)
|
|
15
|
-
* @param config - The `AgentConfig` object to be written to the file
|
|
16
|
-
* @returns A Promise that resolves when the file has been successfully written
|
|
17
|
-
* @throws {ConfigError} with FILE_WRITE_ERROR if an error occurs during YAML stringification or file writing
|
|
18
|
-
*/
|
|
19
|
-
export declare function writeConfigFile(configPath: string, config: AgentConfig): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* Write global LLM preferences to an agent config file
|
|
22
|
-
* @param configPath Absolute path to agent configuration file
|
|
23
|
-
* @param preferences Global preferences to write
|
|
24
|
-
* @param overrides Optional CLI overrides
|
|
25
|
-
* @throws DextoRuntimeError for write failures
|
|
26
|
-
*/
|
|
27
|
-
export declare function writeLLMPreferences(configPath: string, preferences: GlobalPreferences, overrides?: LLMOverrides): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Write preferences to an installed agent (file or directory)
|
|
30
|
-
* @param installedPath Path to installed agent file or directory
|
|
31
|
-
* @param preferences Global preferences to write
|
|
32
|
-
* @param overrides Optional CLI overrides
|
|
33
|
-
*/
|
|
34
|
-
export declare function writePreferencesToAgent(installedPath: string, preferences: GlobalPreferences, overrides?: LLMOverrides): Promise<void>;
|
|
35
|
-
//# sourceMappingURL=writer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../src/config/writer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5F;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAiEf;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CACzC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,iBAAiB,EAC9B,SAAS,CAAC,EAAE,YAAY,GACzB,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|