@dexto/core 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/dist/agent/DextoAgent.cjs +579 -345
- package/dist/agent/DextoAgent.d.ts +131 -83
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +573 -336
- package/dist/agent/agentCard.cjs +4 -2
- package/dist/agent/agentCard.d.ts +0 -1
- package/dist/agent/agentCard.d.ts.map +1 -1
- package/dist/agent/agentCard.js +4 -2
- package/dist/agent/index.cjs +3 -7
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +7 -6
- package/dist/agent/schemas.cjs +179 -75
- package/dist/agent/schemas.d.ts +2678 -586
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +172 -65
- package/dist/agent/state-manager.cjs +28 -23
- package/dist/agent/state-manager.d.ts +4 -1
- package/dist/agent/state-manager.d.ts.map +1 -1
- package/dist/agent/state-manager.js +28 -23
- package/dist/{preferences/constants.cjs → agent/types.cjs} +2 -14
- package/dist/agent/types.d.ts +54 -0
- package/dist/agent/types.d.ts.map +1 -0
- package/dist/agent/types.js +0 -0
- package/dist/approval/errors.cjs +89 -8
- package/dist/approval/errors.d.ts +5 -3
- package/dist/approval/errors.d.ts.map +1 -1
- package/dist/approval/errors.js +89 -8
- package/dist/approval/{providers/factory.d.ts → factory.d.ts} +2 -2
- package/dist/approval/factory.d.ts.map +1 -0
- package/dist/approval/{providers/factory.js → factory.js} +1 -1
- package/dist/approval/index.cjs +4 -6
- package/dist/approval/index.d.ts +3 -5
- package/dist/approval/index.d.ts.map +1 -1
- package/dist/approval/index.js +4 -5
- package/dist/approval/manager.cjs +140 -37
- package/dist/approval/manager.d.ts +56 -17
- package/dist/approval/manager.d.ts.map +1 -1
- package/dist/approval/manager.js +141 -38
- package/dist/approval/schemas.cjs +9 -1
- package/dist/approval/schemas.d.ts +120 -35
- package/dist/approval/schemas.d.ts.map +1 -1
- package/dist/approval/schemas.js +9 -2
- package/dist/approval/types.cjs +14 -2
- package/dist/approval/types.d.ts +64 -12
- package/dist/approval/types.d.ts.map +1 -1
- package/dist/approval/types.js +12 -1
- package/dist/context/compression/middle-removal.cjs +11 -11
- package/dist/context/compression/middle-removal.d.ts +3 -1
- package/dist/context/compression/middle-removal.d.ts.map +1 -1
- package/dist/context/compression/middle-removal.js +11 -11
- package/dist/context/compression/oldest-removal.cjs +18 -5
- package/dist/context/compression/oldest-removal.d.ts +3 -1
- package/dist/context/compression/oldest-removal.d.ts.map +1 -1
- package/dist/context/compression/oldest-removal.js +18 -5
- package/dist/context/manager.cjs +94 -67
- package/dist/context/manager.d.ts +13 -10
- package/dist/context/manager.d.ts.map +1 -1
- package/dist/context/manager.js +94 -67
- package/dist/context/utils.cjs +79 -65
- package/dist/context/utils.d.ts +15 -12
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +45 -31
- package/dist/errors/DextoRuntimeError.d.ts +5 -5
- package/dist/errors/DextoRuntimeError.d.ts.map +1 -1
- package/dist/errors/result-bridge.cjs +2 -3
- package/dist/errors/result-bridge.d.ts +5 -3
- package/dist/errors/result-bridge.d.ts.map +1 -1
- package/dist/errors/result-bridge.js +1 -2
- package/dist/errors/types.cjs +1 -2
- package/dist/errors/types.d.ts +5 -8
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +1 -2
- package/dist/events/index.cjs +125 -55
- package/dist/events/index.d.ts +204 -97
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +123 -55
- package/dist/filesystem/filesystem-service.cjs +40 -30
- package/dist/filesystem/filesystem-service.d.ts +9 -1
- package/dist/filesystem/filesystem-service.d.ts.map +1 -1
- package/dist/filesystem/filesystem-service.js +40 -30
- package/dist/filesystem/path-validator.cjs +4 -3
- package/dist/filesystem/path-validator.d.ts +3 -1
- package/dist/filesystem/path-validator.d.ts.map +1 -1
- package/dist/filesystem/path-validator.js +4 -3
- package/dist/filesystem/types.d.ts +3 -3
- package/dist/filesystem/types.d.ts.map +1 -1
- package/dist/index.browser.cjs +7 -0
- package/dist/index.browser.d.ts +2 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +4 -0
- package/dist/index.cjs +0 -7
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/llm/formatters/anthropic.cjs +32 -21
- package/dist/llm/formatters/anthropic.d.ts +3 -0
- package/dist/llm/formatters/anthropic.d.ts.map +1 -1
- package/dist/llm/formatters/anthropic.js +32 -21
- package/dist/llm/formatters/factory.cjs +6 -7
- package/dist/llm/formatters/factory.d.ts +2 -1
- package/dist/llm/formatters/factory.d.ts.map +1 -1
- package/dist/llm/formatters/factory.js +4 -5
- package/dist/llm/formatters/openai.cjs +38 -9
- package/dist/llm/formatters/openai.d.ts +3 -0
- package/dist/llm/formatters/openai.d.ts.map +1 -1
- package/dist/llm/formatters/openai.js +38 -9
- package/dist/llm/formatters/vercel.cjs +49 -8
- package/dist/llm/formatters/vercel.d.ts +3 -0
- package/dist/llm/formatters/vercel.d.ts.map +1 -1
- package/dist/llm/formatters/vercel.js +49 -8
- package/dist/llm/registry.cjs +153 -17
- package/dist/llm/registry.d.ts +5 -2
- package/dist/llm/registry.d.ts.map +1 -1
- package/dist/llm/registry.js +143 -7
- package/dist/llm/resolver.cjs +4 -4
- package/dist/llm/resolver.d.ts +3 -2
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +4 -4
- package/dist/llm/schemas.cjs +6 -3
- package/dist/llm/schemas.d.ts +51 -17
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +5 -3
- package/dist/llm/services/anthropic.cjs +216 -183
- package/dist/llm/services/anthropic.d.ts +3 -1
- package/dist/llm/services/anthropic.d.ts.map +1 -1
- package/dist/llm/services/anthropic.js +217 -184
- package/dist/llm/services/factory.cjs +15 -9
- package/dist/llm/services/factory.d.ts +2 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +15 -9
- package/dist/llm/services/openai.cjs +262 -225
- package/dist/llm/services/openai.d.ts +3 -1
- package/dist/llm/services/openai.d.ts.map +1 -1
- package/dist/llm/services/openai.js +263 -226
- package/dist/llm/services/test-utils.integration.cjs +58 -12
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +58 -12
- package/dist/llm/services/types.d.ts +9 -0
- package/dist/llm/services/types.d.ts.map +1 -1
- package/dist/llm/services/vercel.cjs +163 -111
- package/dist/llm/services/vercel.d.ts +3 -1
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +157 -105
- package/dist/llm/tokenizer/factory.cjs +2 -2
- package/dist/llm/tokenizer/factory.d.ts +3 -1
- package/dist/llm/tokenizer/factory.d.ts.map +1 -1
- package/dist/llm/tokenizer/factory.js +2 -2
- package/dist/llm/tokenizer/openai.cjs +16 -9
- package/dist/llm/tokenizer/openai.d.ts +4 -1
- package/dist/llm/tokenizer/openai.d.ts.map +1 -1
- package/dist/llm/tokenizer/openai.js +16 -9
- package/dist/llm/validation.cjs +8 -9
- package/dist/llm/validation.d.ts +3 -1
- package/dist/llm/validation.d.ts.map +1 -1
- package/dist/llm/validation.js +5 -6
- package/dist/logger/factory.cjs +54 -0
- package/dist/logger/factory.d.ts +36 -0
- package/dist/logger/factory.d.ts.map +1 -0
- package/dist/logger/factory.js +31 -0
- package/dist/logger/index.cjs +42 -3
- package/dist/logger/index.d.ts +17 -1
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +26 -1
- package/dist/logger/logger.cjs +30 -17
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/logger.js +30 -17
- package/dist/logger/v2/dexto-logger.cjs +141 -0
- package/dist/logger/v2/dexto-logger.d.ts +54 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -0
- package/dist/logger/v2/dexto-logger.js +118 -0
- package/dist/{preferences → logger/v2}/error-codes.cjs +11 -10
- package/dist/logger/v2/error-codes.d.ts +13 -0
- package/dist/logger/v2/error-codes.d.ts.map +1 -0
- package/dist/logger/v2/error-codes.js +13 -0
- package/dist/logger/v2/errors.cjs +107 -0
- package/dist/logger/v2/errors.d.ts +32 -0
- package/dist/logger/v2/errors.d.ts.map +1 -0
- package/dist/logger/v2/errors.js +84 -0
- package/dist/logger/v2/schemas.cjs +57 -0
- package/dist/logger/v2/schemas.d.ts +147 -0
- package/dist/logger/v2/schemas.d.ts.map +1 -0
- package/dist/logger/v2/schemas.js +33 -0
- package/dist/logger/v2/transport-factory.cjs +53 -0
- package/dist/logger/v2/transport-factory.d.ts +21 -0
- package/dist/logger/v2/transport-factory.d.ts.map +1 -0
- package/dist/logger/v2/transport-factory.js +29 -0
- package/dist/logger/v2/transports/console-transport.cjs +79 -0
- package/dist/logger/v2/transports/console-transport.d.ts +23 -0
- package/dist/logger/v2/transports/console-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/console-transport.js +46 -0
- package/dist/logger/v2/transports/file-transport.cjs +161 -0
- package/dist/logger/v2/transports/file-transport.d.ts +46 -0
- package/dist/logger/v2/transports/file-transport.d.ts.map +1 -0
- package/dist/logger/v2/transports/file-transport.js +128 -0
- package/dist/logger/v2/types.cjs +49 -0
- package/dist/logger/v2/types.d.ts +123 -0
- package/dist/logger/v2/types.d.ts.map +1 -0
- package/dist/logger/v2/types.js +26 -0
- package/dist/mcp/manager.cjs +88 -78
- package/dist/mcp/manager.d.ts +3 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +88 -78
- package/dist/mcp/mcp-client.cjs +109 -79
- package/dist/mcp/mcp-client.d.ts +3 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +102 -72
- package/dist/memory/index.cjs +2 -0
- package/dist/memory/index.d.ts +1 -1
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +3 -1
- package/dist/memory/manager.cjs +9 -7
- package/dist/memory/manager.d.ts +3 -1
- package/dist/memory/manager.d.ts.map +1 -1
- package/dist/memory/manager.js +9 -7
- package/dist/memory/schemas.cjs +10 -0
- package/dist/memory/schemas.d.ts +37 -8
- package/dist/memory/schemas.d.ts.map +1 -1
- package/dist/memory/schemas.js +9 -0
- package/dist/plugins/manager.cjs +21 -19
- package/dist/plugins/manager.d.ts +3 -1
- package/dist/plugins/manager.d.ts.map +1 -1
- package/dist/plugins/manager.js +21 -19
- package/dist/plugins/schemas.d.ts +9 -9
- package/dist/plugins/types.d.ts +2 -2
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/process/command-validator.cjs +30 -20
- package/dist/process/command-validator.d.ts +4 -1
- package/dist/process/command-validator.d.ts.map +1 -1
- package/dist/process/command-validator.js +30 -20
- package/dist/process/process-service.cjs +23 -21
- package/dist/process/process-service.d.ts +3 -1
- package/dist/process/process-service.d.ts.map +1 -1
- package/dist/process/process-service.js +23 -21
- package/dist/prompts/index.cjs +6 -8
- package/dist/prompts/index.d.ts +2 -4
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -6
- package/dist/prompts/prompt-manager.cjs +25 -20
- package/dist/prompts/prompt-manager.d.ts +3 -1
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +25 -20
- package/dist/prompts/providers/config-prompt-provider.cjs +331 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts +34 -0
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -0
- package/dist/prompts/providers/config-prompt-provider.js +308 -0
- package/dist/prompts/providers/custom-prompt-provider.cjs +11 -7
- package/dist/prompts/providers/custom-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +11 -7
- package/dist/prompts/providers/mcp-prompt-provider.cjs +7 -6
- package/dist/prompts/providers/mcp-prompt-provider.d.ts +3 -1
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +7 -6
- package/dist/prompts/schemas.cjs +42 -23
- package/dist/prompts/schemas.d.ts +123 -14
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +39 -22
- package/dist/prompts/types.d.ts +1 -1
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.cjs +15 -11
- package/dist/resources/handlers/blob-handler.d.ts +3 -1
- package/dist/resources/handlers/blob-handler.d.ts.map +1 -1
- package/dist/resources/handlers/blob-handler.js +15 -11
- package/dist/resources/handlers/factory.cjs +3 -3
- package/dist/resources/handlers/factory.d.ts +2 -1
- package/dist/resources/handlers/factory.d.ts.map +1 -1
- package/dist/resources/handlers/factory.js +3 -3
- package/dist/resources/handlers/filesystem-handler.cjs +10 -8
- package/dist/resources/handlers/filesystem-handler.d.ts +3 -1
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +10 -8
- package/dist/resources/internal-provider.cjs +28 -20
- package/dist/resources/internal-provider.d.ts +3 -1
- package/dist/resources/internal-provider.d.ts.map +1 -1
- package/dist/resources/internal-provider.js +28 -20
- package/dist/resources/manager.cjs +34 -25
- package/dist/resources/manager.d.ts +3 -1
- package/dist/resources/manager.d.ts.map +1 -1
- package/dist/resources/manager.js +34 -25
- package/dist/resources/schemas.d.ts +6 -6
- package/dist/search/search-service.cjs +8 -6
- package/dist/search/search-service.d.ts +3 -1
- package/dist/search/search-service.d.ts.map +1 -1
- package/dist/search/search-service.js +8 -6
- package/dist/session/chat-session.cjs +40 -27
- package/dist/session/chat-session.d.ts +10 -7
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +40 -27
- package/dist/session/history/database.cjs +18 -11
- package/dist/session/history/database.d.ts +3 -1
- package/dist/session/history/database.d.ts.map +1 -1
- package/dist/session/history/database.js +18 -11
- package/dist/session/history/factory.cjs +2 -2
- package/dist/session/history/factory.d.ts +5 -1
- package/dist/session/history/factory.d.ts.map +1 -1
- package/dist/session/history/factory.js +2 -2
- package/dist/session/session-manager.cjs +37 -53
- package/dist/session/session-manager.d.ts +3 -17
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +37 -53
- package/dist/session/title-generator.cjs +3 -2
- package/dist/session/title-generator.d.ts +2 -1
- package/dist/session/title-generator.d.ts.map +1 -1
- package/dist/session/title-generator.js +3 -2
- package/dist/storage/blob/factory.cjs +9 -18
- package/dist/storage/blob/factory.d.ts +5 -4
- package/dist/storage/blob/factory.d.ts.map +1 -1
- package/dist/storage/blob/factory.js +8 -17
- package/dist/storage/blob/local-blob-store.cjs +25 -32
- package/dist/storage/blob/local-blob-store.d.ts +3 -2
- package/dist/storage/blob/local-blob-store.d.ts.map +1 -1
- package/dist/storage/blob/local-blob-store.js +25 -32
- package/dist/storage/blob/memory-blob-store.cjs +326 -0
- package/dist/storage/blob/memory-blob-store.d.ts +66 -0
- package/dist/storage/blob/memory-blob-store.d.ts.map +1 -0
- package/dist/storage/blob/memory-blob-store.js +303 -0
- package/dist/storage/blob/schemas.cjs +3 -1
- package/dist/storage/blob/schemas.d.ts +6 -6
- package/dist/storage/blob/schemas.d.ts.map +1 -1
- package/dist/storage/blob/schemas.js +3 -1
- package/dist/storage/cache/factory.cjs +7 -8
- package/dist/storage/cache/factory.d.ts +4 -1
- package/dist/storage/cache/factory.d.ts.map +1 -1
- package/dist/storage/cache/factory.js +4 -5
- package/dist/storage/cache/redis-store.cjs +4 -1
- package/dist/storage/cache/redis-store.d.ts +3 -1
- package/dist/storage/cache/redis-store.d.ts.map +1 -1
- package/dist/storage/cache/redis-store.js +4 -1
- package/dist/storage/database/factory.cjs +13 -16
- package/dist/storage/database/factory.d.ts +5 -3
- package/dist/storage/database/factory.d.ts.map +1 -1
- package/dist/storage/database/factory.js +9 -12
- package/dist/storage/database/postgres-store.cjs +4 -1
- package/dist/storage/database/postgres-store.d.ts +3 -1
- package/dist/storage/database/postgres-store.d.ts.map +1 -1
- package/dist/storage/database/postgres-store.js +4 -1
- package/dist/storage/database/schemas.cjs +3 -4
- package/dist/storage/database/schemas.d.ts +8 -16
- package/dist/storage/database/schemas.d.ts.map +1 -1
- package/dist/storage/database/schemas.js +3 -4
- package/dist/storage/database/sqlite-store.cjs +17 -45
- package/dist/storage/database/sqlite-store.d.ts +3 -3
- package/dist/storage/database/sqlite-store.d.ts.map +1 -1
- package/dist/storage/database/sqlite-store.js +17 -45
- package/dist/storage/schemas.cjs +3 -1
- package/dist/storage/schemas.d.ts +16 -23
- package/dist/storage/schemas.d.ts.map +1 -1
- package/dist/storage/schemas.js +3 -1
- package/dist/storage/storage-manager.cjs +15 -15
- package/dist/storage/storage-manager.d.ts +6 -6
- package/dist/storage/storage-manager.d.ts.map +1 -1
- package/dist/storage/storage-manager.js +15 -15
- package/dist/systemPrompt/contributors.cjs +15 -15
- package/dist/systemPrompt/contributors.d.ts +5 -3
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +15 -15
- package/dist/systemPrompt/in-built-prompts.cjs +0 -5
- package/dist/systemPrompt/in-built-prompts.d.ts +1 -2
- package/dist/systemPrompt/in-built-prompts.d.ts.map +1 -1
- package/dist/systemPrompt/in-built-prompts.js +0 -4
- package/dist/systemPrompt/manager.cjs +31 -23
- package/dist/systemPrompt/manager.d.ts +5 -3
- package/dist/systemPrompt/manager.d.ts.map +1 -1
- package/dist/systemPrompt/manager.js +31 -23
- package/dist/systemPrompt/registry.cjs +1 -2
- package/dist/systemPrompt/registry.d.ts +1 -1
- package/dist/systemPrompt/registry.d.ts.map +1 -1
- package/dist/systemPrompt/registry.js +1 -2
- package/dist/systemPrompt/schemas.cjs +24 -18
- package/dist/systemPrompt/schemas.d.ts +46 -222
- package/dist/systemPrompt/schemas.d.ts.map +1 -1
- package/dist/systemPrompt/schemas.js +14 -18
- package/dist/telemetry/decorators.cjs +54 -15
- package/dist/telemetry/decorators.d.ts.map +1 -1
- package/dist/telemetry/decorators.js +54 -15
- package/dist/telemetry/utils.cjs +21 -14
- package/dist/telemetry/utils.d.ts +7 -3
- package/dist/telemetry/utils.d.ts.map +1 -1
- package/dist/telemetry/utils.js +21 -14
- package/dist/tools/confirmation/allowed-tools-provider/factory.cjs +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts +2 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/factory.js +2 -2
- package/dist/tools/confirmation/allowed-tools-provider/storage.cjs +7 -6
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts +3 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.d.ts.map +1 -1
- package/dist/tools/confirmation/allowed-tools-provider/storage.js +7 -6
- package/dist/tools/errors.cjs +2 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +2 -1
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.cjs +1 -1
- package/dist/tools/internal-tools/implementations/bash-exec-tool.js +1 -1
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.cjs +192 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts +33 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/delegate-to-url-tool.js +169 -0
- package/dist/tools/internal-tools/provider.cjs +21 -17
- package/dist/tools/internal-tools/provider.d.ts +3 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +21 -17
- package/dist/tools/internal-tools/registry.cjs +5 -0
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +5 -0
- package/dist/tools/schemas.cjs +16 -4
- package/dist/tools/schemas.d.ts +21 -9
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +15 -4
- package/dist/tools/tool-manager.cjs +64 -47
- package/dist/tools/tool-manager.d.ts +4 -2
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +61 -44
- package/dist/tools/types.d.ts +0 -4
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils/env-file.cjs +118 -0
- package/dist/utils/env-file.d.ts +5 -0
- package/dist/utils/env-file.d.ts.map +1 -0
- package/dist/utils/env-file.js +85 -0
- package/dist/utils/error-conversion.cjs +23 -1
- package/dist/utils/error-conversion.d.ts +2 -1
- package/dist/utils/error-conversion.d.ts.map +1 -1
- package/dist/utils/error-conversion.js +23 -1
- package/dist/utils/execution-context.d.ts.map +1 -1
- package/dist/utils/fs-walk.d.ts.map +1 -1
- package/dist/utils/index.cjs +7 -9
- package/dist/utils/index.d.ts +3 -4
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -4
- package/dist/utils/path.cjs +22 -57
- package/dist/utils/path.d.ts +8 -7
- package/dist/utils/path.d.ts.map +1 -1
- package/dist/utils/path.js +21 -54
- package/dist/utils/result.cjs +37 -14
- package/dist/utils/result.d.ts.map +1 -1
- package/dist/utils/result.js +37 -14
- package/dist/utils/schema.cjs +2 -3
- package/dist/utils/schema.d.ts +2 -1
- package/dist/utils/schema.d.ts.map +1 -1
- package/dist/utils/schema.js +1 -2
- package/dist/utils/service-initializer.cjs +88 -61
- package/dist/utils/service-initializer.d.ts +4 -2
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +70 -43
- package/package.json +7 -3
- package/dist/Dexto.cjs +0 -251
- package/dist/Dexto.d.ts +0 -191
- package/dist/Dexto.d.ts.map +0 -1
- package/dist/Dexto.js +0 -228
- package/dist/agent/registry/error-codes.cjs +0 -44
- package/dist/agent/registry/error-codes.d.ts +0 -21
- package/dist/agent/registry/error-codes.d.ts.map +0 -1
- package/dist/agent/registry/error-codes.js +0 -21
- package/dist/agent/registry/errors.cjs +0 -188
- package/dist/agent/registry/errors.d.ts +0 -63
- package/dist/agent/registry/errors.d.ts.map +0 -1
- package/dist/agent/registry/errors.js +0 -165
- package/dist/agent/registry/registry.cjs +0 -479
- package/dist/agent/registry/registry.d.ts +0 -130
- package/dist/agent/registry/registry.d.ts.map +0 -1
- package/dist/agent/registry/registry.js +0 -453
- package/dist/agent/registry/types.cjs +0 -74
- package/dist/agent/registry/types.d.ts +0 -142
- package/dist/agent/registry/types.d.ts.map +0 -1
- package/dist/agent/registry/types.js +0 -48
- package/dist/agent/registry/user-registry.cjs +0 -140
- package/dist/agent/registry/user-registry.d.ts +0 -34
- package/dist/agent/registry/user-registry.d.ts.map +0 -1
- package/dist/agent/registry/user-registry.js +0 -105
- package/dist/approval/providers/event-based-approval-provider.cjs +0 -156
- package/dist/approval/providers/event-based-approval-provider.d.ts +0 -39
- package/dist/approval/providers/event-based-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/event-based-approval-provider.js +0 -133
- package/dist/approval/providers/factory.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.cjs +0 -54
- package/dist/approval/providers/noop-approval-provider.d.ts +0 -18
- package/dist/approval/providers/noop-approval-provider.d.ts.map +0 -1
- package/dist/approval/providers/noop-approval-provider.js +0 -31
- package/dist/config/agent-resolver.cjs +0 -153
- package/dist/config/agent-resolver.d.ts +0 -14
- package/dist/config/agent-resolver.d.ts.map +0 -1
- package/dist/config/agent-resolver.js +0 -123
- package/dist/config/error-codes.cjs +0 -39
- package/dist/config/error-codes.d.ts +0 -16
- package/dist/config/error-codes.d.ts.map +0 -1
- package/dist/config/error-codes.js +0 -16
- package/dist/config/errors.cjs +0 -126
- package/dist/config/errors.d.ts +0 -34
- package/dist/config/errors.d.ts.map +0 -1
- package/dist/config/errors.js +0 -103
- package/dist/config/index.cjs +0 -26
- package/dist/config/index.d.ts +0 -4
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -3
- package/dist/config/loader.cjs +0 -119
- package/dist/config/loader.d.ts +0 -16
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -86
- package/dist/config/writer.cjs +0 -182
- package/dist/config/writer.d.ts +0 -35
- package/dist/config/writer.d.ts.map +0 -1
- package/dist/config/writer.js +0 -147
- package/dist/preferences/constants.d.ts +0 -2
- package/dist/preferences/constants.d.ts.map +0 -1
- package/dist/preferences/constants.js +0 -5
- package/dist/preferences/error-codes.d.ts +0 -8
- package/dist/preferences/error-codes.d.ts.map +0 -1
- package/dist/preferences/error-codes.js +0 -12
- package/dist/preferences/errors.cjs +0 -75
- package/dist/preferences/errors.d.ts +0 -18
- package/dist/preferences/errors.d.ts.map +0 -1
- package/dist/preferences/errors.js +0 -51
- package/dist/preferences/index.cjs +0 -55
- package/dist/preferences/index.d.ts +0 -6
- package/dist/preferences/index.d.ts.map +0 -1
- package/dist/preferences/index.js +0 -32
- package/dist/preferences/loader.cjs +0 -138
- package/dist/preferences/loader.d.ts +0 -51
- package/dist/preferences/loader.d.ts.map +0 -1
- package/dist/preferences/loader.js +0 -110
- package/dist/preferences/schemas.cjs +0 -75
- package/dist/preferences/schemas.d.ts +0 -110
- package/dist/preferences/schemas.d.ts.map +0 -1
- package/dist/preferences/schemas.js +0 -49
- package/dist/prompts/providers/file-prompt-provider.cjs +0 -399
- package/dist/prompts/providers/file-prompt-provider.d.ts +0 -47
- package/dist/prompts/providers/file-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/file-prompt-provider.js +0 -376
- package/dist/prompts/providers/starter-prompt-provider.cjs +0 -170
- package/dist/prompts/providers/starter-prompt-provider.d.ts +0 -45
- package/dist/prompts/providers/starter-prompt-provider.d.ts.map +0 -1
- package/dist/prompts/providers/starter-prompt-provider.js +0 -147
- package/dist/utils/api-key-store.cjs +0 -56
- package/dist/utils/api-key-store.d.ts +0 -24
- package/dist/utils/api-key-store.d.ts.map +0 -1
- package/dist/utils/api-key-store.js +0 -31
- package/dist/utils/env.cjs +0 -154
- package/dist/utils/env.d.ts +0 -28
- package/dist/utils/env.d.ts.map +0 -1
- package/dist/utils/env.js +0 -119
- package/dist/utils/port-utils.cjs +0 -37
- package/dist/utils/port-utils.d.ts +0 -10
- package/dist/utils/port-utils.d.ts.map +0 -1
- package/dist/utils/port-utils.js +0 -14
- package/dist/utils/port-utils.spec.cjs +0 -26
- package/dist/utils/port-utils.spec.js +0 -25
- /package/dist/approval/{providers/factory.cjs → factory.cjs} +0 -0
|
@@ -1,399 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var file_prompt_provider_exports = {};
|
|
20
|
-
__export(file_prompt_provider_exports, {
|
|
21
|
-
FilePromptProvider: () => FilePromptProvider
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(file_prompt_provider_exports);
|
|
24
|
-
var import_utils = require("../utils.js");
|
|
25
|
-
var import_name_validation = require("../name-validation.js");
|
|
26
|
-
var import_logger = require("../../logger/index.js");
|
|
27
|
-
var import_errors = require("../errors.js");
|
|
28
|
-
var import_promises = require("fs/promises");
|
|
29
|
-
var import_path = require("path");
|
|
30
|
-
var import_fs = require("fs");
|
|
31
|
-
var import_os = require("os");
|
|
32
|
-
var import_execution_context = require("../../utils/execution-context.js");
|
|
33
|
-
class FilePromptProvider {
|
|
34
|
-
// Multiple command directories (local project/repo and global user dir)
|
|
35
|
-
commandDirs;
|
|
36
|
-
resourceManager;
|
|
37
|
-
promptsCache = [];
|
|
38
|
-
cacheValid = false;
|
|
39
|
-
promptResources = /* @__PURE__ */ new Map();
|
|
40
|
-
inlineContent = /* @__PURE__ */ new Map();
|
|
41
|
-
constructor(options) {
|
|
42
|
-
this.commandDirs = this.resolveDefaultCommandDirs();
|
|
43
|
-
this.resourceManager = options.resourceManager;
|
|
44
|
-
}
|
|
45
|
-
getSource() {
|
|
46
|
-
return "file";
|
|
47
|
-
}
|
|
48
|
-
invalidateCache() {
|
|
49
|
-
this.cacheValid = false;
|
|
50
|
-
this.promptsCache = [];
|
|
51
|
-
this.promptResources.clear();
|
|
52
|
-
this.inlineContent.clear();
|
|
53
|
-
import_logger.logger.debug("FilePromptProvider cache invalidated");
|
|
54
|
-
}
|
|
55
|
-
async getPrompt(name, args) {
|
|
56
|
-
if (!this.cacheValid) {
|
|
57
|
-
await this.buildPromptsCache();
|
|
58
|
-
}
|
|
59
|
-
const prompt = this.promptsCache.find((p) => p.name === name);
|
|
60
|
-
if (!prompt) {
|
|
61
|
-
throw import_errors.PromptError.notFound(name);
|
|
62
|
-
}
|
|
63
|
-
const resourceUri = this.promptResources.get(name);
|
|
64
|
-
let text = this.inlineContent.get(name) ?? "";
|
|
65
|
-
if (resourceUri) {
|
|
66
|
-
try {
|
|
67
|
-
const result = await this.resourceManager.read(resourceUri);
|
|
68
|
-
const first = result.contents[0];
|
|
69
|
-
if (first?.text && typeof first.text === "string") {
|
|
70
|
-
text = first.text;
|
|
71
|
-
} else if (first?.blob && typeof first.blob === "string") {
|
|
72
|
-
text = Buffer.from(first.blob, "base64").toString("utf-8");
|
|
73
|
-
} else {
|
|
74
|
-
import_logger.logger.warn(`Prompt ${name} resource ${resourceUri} did not contain text`);
|
|
75
|
-
}
|
|
76
|
-
} catch (error) {
|
|
77
|
-
import_logger.logger.warn(
|
|
78
|
-
`Failed to load prompt resource ${resourceUri}: ${error instanceof Error ? error.message : String(error)}`
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
if (!text) {
|
|
83
|
-
throw import_errors.PromptError.missingText();
|
|
84
|
-
}
|
|
85
|
-
const resolved = this.applyArguments(text, args);
|
|
86
|
-
return {
|
|
87
|
-
description: prompt.description,
|
|
88
|
-
messages: [
|
|
89
|
-
{
|
|
90
|
-
role: "user",
|
|
91
|
-
content: {
|
|
92
|
-
type: "text",
|
|
93
|
-
text: resolved
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
]
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
async listPrompts(_cursor) {
|
|
100
|
-
if (!this.cacheValid) {
|
|
101
|
-
await this.buildPromptsCache();
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
prompts: this.promptsCache
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
async getPromptDefinition(name) {
|
|
108
|
-
if (!this.cacheValid) {
|
|
109
|
-
await this.buildPromptsCache();
|
|
110
|
-
}
|
|
111
|
-
const promptInfo = this.promptsCache.find((p) => p.name === name);
|
|
112
|
-
if (!promptInfo) {
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
return {
|
|
116
|
-
name: promptInfo.name,
|
|
117
|
-
...promptInfo.title && { title: promptInfo.title },
|
|
118
|
-
...promptInfo.description && { description: promptInfo.description },
|
|
119
|
-
...promptInfo.arguments && { arguments: promptInfo.arguments }
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
async buildPromptsCache() {
|
|
123
|
-
const cache = [];
|
|
124
|
-
const resourceMap = /* @__PURE__ */ new Map();
|
|
125
|
-
const inlineMap = /* @__PURE__ */ new Map();
|
|
126
|
-
const seenNames = /* @__PURE__ */ new Set();
|
|
127
|
-
const scannedDirs = [];
|
|
128
|
-
for (const dir of this.commandDirs) {
|
|
129
|
-
if (!(0, import_fs.existsSync)(dir)) {
|
|
130
|
-
continue;
|
|
131
|
-
}
|
|
132
|
-
try {
|
|
133
|
-
scannedDirs.push(dir);
|
|
134
|
-
const files = await (0, import_promises.readdir)(dir);
|
|
135
|
-
const markdownFiles = files.filter((file) => (0, import_path.extname)(file).toLowerCase() === ".md");
|
|
136
|
-
for (const file of markdownFiles) {
|
|
137
|
-
try {
|
|
138
|
-
try {
|
|
139
|
-
const candidate = (0, import_path.join)(dir, file);
|
|
140
|
-
const resolvedDir = await (0, import_promises.realpath)(dir);
|
|
141
|
-
const resolvedFile = await (0, import_promises.realpath)(candidate);
|
|
142
|
-
const rel = (0, import_path.relative)(resolvedDir, resolvedFile);
|
|
143
|
-
if (rel.startsWith(".." + import_path.sep) || rel === "..") {
|
|
144
|
-
import_logger.logger.warn(
|
|
145
|
-
`Skipping file '${file}' in '${dir}': path traversal attempt detected (resolved outside directory)`
|
|
146
|
-
);
|
|
147
|
-
continue;
|
|
148
|
-
}
|
|
149
|
-
} catch (realpathError) {
|
|
150
|
-
import_logger.logger.warn(
|
|
151
|
-
`Skipping file '${file}' in '${dir}': unable to resolve path (${realpathError instanceof Error ? realpathError.message : String(realpathError)})`
|
|
152
|
-
);
|
|
153
|
-
continue;
|
|
154
|
-
}
|
|
155
|
-
const parsed = await this.parsePromptFile(file, dir);
|
|
156
|
-
if (seenNames.has(parsed.info.name)) {
|
|
157
|
-
import_logger.logger.debug(
|
|
158
|
-
`Skipping duplicate prompt name '${parsed.info.name}' from ${(0, import_path.join)(
|
|
159
|
-
dir,
|
|
160
|
-
file
|
|
161
|
-
)}`
|
|
162
|
-
);
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
const storage = await this.storePromptContent(parsed.content, file);
|
|
166
|
-
if (storage.resourceUri) {
|
|
167
|
-
resourceMap.set(parsed.info.name, storage.resourceUri);
|
|
168
|
-
}
|
|
169
|
-
if (storage.inlineContent) {
|
|
170
|
-
inlineMap.set(parsed.info.name, storage.inlineContent);
|
|
171
|
-
}
|
|
172
|
-
if (storage.resourceUri || storage.inlineContent) {
|
|
173
|
-
const metadata = {
|
|
174
|
-
...parsed.info.metadata ?? {},
|
|
175
|
-
...storage.resourceUri && { resourceUri: storage.resourceUri }
|
|
176
|
-
// Security: Don't expose absolute sourceDir path
|
|
177
|
-
// The relative filePath in parsed.info.metadata is sufficient
|
|
178
|
-
};
|
|
179
|
-
if (Object.keys(metadata).length > 0) {
|
|
180
|
-
parsed.info = { ...parsed.info, metadata };
|
|
181
|
-
} else {
|
|
182
|
-
parsed.info = { ...parsed.info };
|
|
183
|
-
delete parsed.info.metadata;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
cache.push(parsed.info);
|
|
187
|
-
seenNames.add(parsed.info.name);
|
|
188
|
-
} catch (error) {
|
|
189
|
-
import_logger.logger.warn(
|
|
190
|
-
`Failed to process prompt file '${file}' in '${dir}': ${error instanceof Error ? error.message : String(error)}`
|
|
191
|
-
);
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
} catch (error) {
|
|
195
|
-
import_logger.logger.debug(
|
|
196
|
-
`Commands directory '${dir}' not accessible: ${error instanceof Error ? error.message : String(error)}`
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
import_logger.logger.debug(
|
|
201
|
-
`\u{1F4DD} Cached ${cache.length} file prompts from directories: ${scannedDirs.join(", ")}`
|
|
202
|
-
);
|
|
203
|
-
this.promptsCache = cache;
|
|
204
|
-
this.promptResources = resourceMap;
|
|
205
|
-
this.inlineContent = inlineMap;
|
|
206
|
-
this.cacheValid = true;
|
|
207
|
-
}
|
|
208
|
-
async parsePromptFile(fileName, baseDir) {
|
|
209
|
-
const promptName = fileName.replace(/\.md$/, "");
|
|
210
|
-
const filePath = (0, import_path.join)(baseDir, fileName);
|
|
211
|
-
const content = await (0, import_promises.readFile)(filePath, "utf-8");
|
|
212
|
-
const lines = content.trim().split("\n");
|
|
213
|
-
let description = `File prompt: ${promptName}`;
|
|
214
|
-
let title = promptName;
|
|
215
|
-
let category;
|
|
216
|
-
let id;
|
|
217
|
-
let nameOverride;
|
|
218
|
-
let argumentHint;
|
|
219
|
-
let contentBody;
|
|
220
|
-
if (lines[0]?.trim() === "---") {
|
|
221
|
-
let inFrontmatter = false;
|
|
222
|
-
let frontmatterEnd = 0;
|
|
223
|
-
for (let i = 0; i < lines.length; i++) {
|
|
224
|
-
if (lines[i]?.trim() === "---") {
|
|
225
|
-
if (!inFrontmatter) {
|
|
226
|
-
inFrontmatter = true;
|
|
227
|
-
} else {
|
|
228
|
-
frontmatterEnd = i;
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
if (frontmatterEnd > 0) {
|
|
234
|
-
const frontmatterLines = lines.slice(1, frontmatterEnd);
|
|
235
|
-
contentBody = lines.slice(frontmatterEnd + 1).join("\n");
|
|
236
|
-
for (const line of frontmatterLines) {
|
|
237
|
-
if (line.includes("description:")) {
|
|
238
|
-
const descMatch = line.match(/description:\s*(?:['"](.+)['"]|(.+))/);
|
|
239
|
-
if (descMatch) {
|
|
240
|
-
description = (descMatch[1] || descMatch[2] || "").trim();
|
|
241
|
-
}
|
|
242
|
-
} else if (line.includes("id:")) {
|
|
243
|
-
const idMatch = line.match(/id:\s*(?:['"](.+)['"]|(.+))/);
|
|
244
|
-
if (idMatch) {
|
|
245
|
-
id = (idMatch[1] || idMatch[2] || "").trim();
|
|
246
|
-
}
|
|
247
|
-
} else if (line.includes("name:")) {
|
|
248
|
-
const nameMatch = line.match(/name:\s*(?:['"](.+)['"]|(.+))/);
|
|
249
|
-
if (nameMatch) {
|
|
250
|
-
nameOverride = (nameMatch[1] || nameMatch[2] || "").trim();
|
|
251
|
-
}
|
|
252
|
-
} else if (line.includes("category:")) {
|
|
253
|
-
const categoryMatch = line.match(/category:\s*(?:['"](.+)['"]|(.+))/);
|
|
254
|
-
if (categoryMatch) {
|
|
255
|
-
category = (categoryMatch[1] || categoryMatch[2] || "").trim();
|
|
256
|
-
}
|
|
257
|
-
} else if (line.includes("argument-hint:")) {
|
|
258
|
-
const hintMatch = line.match(/argument-hint:\s*(?:['"](.+)['"]|(.+))/);
|
|
259
|
-
if (hintMatch) {
|
|
260
|
-
argumentHint = (hintMatch[1] || hintMatch[2] || "").trim();
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
if (!contentBody) {
|
|
267
|
-
contentBody = content;
|
|
268
|
-
}
|
|
269
|
-
const bodyLines = contentBody.trim().split("\n");
|
|
270
|
-
for (const line of bodyLines) {
|
|
271
|
-
if (line.trim().startsWith("#")) {
|
|
272
|
-
title = line.trim().replace(/^#+\s*/, "");
|
|
273
|
-
break;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
const finalName = (nameOverride ?? promptName).trim();
|
|
277
|
-
(0, import_name_validation.assertValidPromptName)(finalName, {
|
|
278
|
-
hint: "Use kebab-case in the 'name:' field or file name."
|
|
279
|
-
});
|
|
280
|
-
const parsedArguments = argumentHint ? this.parseArgumentHint(argumentHint) : void 0;
|
|
281
|
-
const relativePath = (0, import_path.relative)(baseDir, filePath);
|
|
282
|
-
const promptInfo = {
|
|
283
|
-
name: finalName,
|
|
284
|
-
title,
|
|
285
|
-
description,
|
|
286
|
-
source: "file",
|
|
287
|
-
...parsedArguments && { arguments: parsedArguments },
|
|
288
|
-
metadata: {
|
|
289
|
-
originalName: promptName,
|
|
290
|
-
fileName,
|
|
291
|
-
// Only include relative path within the commands directory (e.g., "my-command.md")
|
|
292
|
-
// not the full path which could expose ~/.dexto or project structure
|
|
293
|
-
...relativePath && { filePath: relativePath },
|
|
294
|
-
...id && { id },
|
|
295
|
-
...category && { category }
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
return { info: promptInfo, content: contentBody };
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Parse argument-hint string into structured argument definitions
|
|
302
|
-
* Format: "[style] [length?]" → [{name: "style", required: true}, {name: "length", required: false}]
|
|
303
|
-
*/
|
|
304
|
-
parseArgumentHint(hint) {
|
|
305
|
-
const args = [];
|
|
306
|
-
const argPattern = /\[([^\]]+)\]/g;
|
|
307
|
-
let match;
|
|
308
|
-
while ((match = argPattern.exec(hint)) !== null) {
|
|
309
|
-
const argText = match[1];
|
|
310
|
-
if (!argText) continue;
|
|
311
|
-
const isOptional = argText.endsWith("?");
|
|
312
|
-
const name = isOptional ? argText.slice(0, -1).trim() : argText.trim();
|
|
313
|
-
if (name) {
|
|
314
|
-
args.push({
|
|
315
|
-
name,
|
|
316
|
-
required: !isOptional
|
|
317
|
-
});
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
return args;
|
|
321
|
-
}
|
|
322
|
-
async storePromptContent(content, fileName) {
|
|
323
|
-
const blobService = this.resourceManager.getBlobStore();
|
|
324
|
-
if (!blobService) {
|
|
325
|
-
import_logger.logger.warn("BlobService not available; storing prompt content in memory");
|
|
326
|
-
return { inlineContent: content };
|
|
327
|
-
}
|
|
328
|
-
const blobInput = Buffer.from(content, "utf-8");
|
|
329
|
-
const blob = await blobService.store(blobInput, {
|
|
330
|
-
mimeType: "text/markdown",
|
|
331
|
-
originalName: fileName,
|
|
332
|
-
source: "system"
|
|
333
|
-
});
|
|
334
|
-
return { resourceUri: blob.uri };
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Apply arguments to a file prompt's content.
|
|
338
|
-
*
|
|
339
|
-
* Behavior mirrors Claude Code-style file prompts:
|
|
340
|
-
* - Positional placeholders ($1..$9 and $ARGUMENTS) are expanded first.
|
|
341
|
-
* - If and only if the template contains explicit placeholders ($1..$9 or $ARGUMENTS),
|
|
342
|
-
* then we consider arguments "deconstructed in-template" and DO NOT append them again.
|
|
343
|
-
* - If the template contains no such placeholders, we append either:
|
|
344
|
-
* - `Context: <_context>` above the content when `_context` is provided, or
|
|
345
|
-
* - `Arguments: key: value, ...` below the content for plain named args.
|
|
346
|
-
*
|
|
347
|
-
* Notes:
|
|
348
|
-
* - The `$$` sequence is an escape for a literal dollar sign. It MUST NOT be
|
|
349
|
-
* treated as a placeholder indicator and should not suppress argument appending.
|
|
350
|
-
*/
|
|
351
|
-
applyArguments(content, args) {
|
|
352
|
-
const detectionTarget = content.replaceAll("$$", "");
|
|
353
|
-
const usesPositionalPlaceholders = /\$[1-9](?!\d)/.test(detectionTarget) || detectionTarget.includes("$ARGUMENTS");
|
|
354
|
-
const expanded = (0, import_utils.expandPlaceholders)(content, args).trim();
|
|
355
|
-
if (!args || typeof args !== "object" || Object.keys(args).length === 0) {
|
|
356
|
-
return expanded;
|
|
357
|
-
}
|
|
358
|
-
if (!usesPositionalPlaceholders) {
|
|
359
|
-
if (args._context) {
|
|
360
|
-
const contextString = String(args._context);
|
|
361
|
-
return `${expanded}
|
|
362
|
-
|
|
363
|
-
Context: ${contextString}`;
|
|
364
|
-
}
|
|
365
|
-
const argEntries = Object.entries(args).filter(([key]) => !key.startsWith("_"));
|
|
366
|
-
if (argEntries.length > 0) {
|
|
367
|
-
const formattedArgs = argEntries.map(([key, value]) => `${key}: ${value}`).join(", ");
|
|
368
|
-
return `${expanded}
|
|
369
|
-
|
|
370
|
-
Arguments: ${formattedArgs}`;
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
return expanded;
|
|
374
|
-
}
|
|
375
|
-
// Determine default command/prompt directories based on execution context
|
|
376
|
-
resolveDefaultCommandDirs() {
|
|
377
|
-
const dirs = [];
|
|
378
|
-
const sourceRoot = (0, import_execution_context.findDextoSourceRoot)();
|
|
379
|
-
const projectRoot = (0, import_execution_context.findDextoProjectRoot)();
|
|
380
|
-
const localRoot = sourceRoot ?? projectRoot ?? null;
|
|
381
|
-
if (localRoot) {
|
|
382
|
-
const commandsDir = (0, import_path.resolve)(localRoot, "commands");
|
|
383
|
-
if ((0, import_fs.existsSync)(commandsDir)) dirs.push(commandsDir);
|
|
384
|
-
}
|
|
385
|
-
const globalCommands = (0, import_path.resolve)((0, import_os.homedir)(), ".dexto", "commands");
|
|
386
|
-
if ((0, import_fs.existsSync)(globalCommands)) dirs.push(globalCommands);
|
|
387
|
-
if (dirs.length === 0) {
|
|
388
|
-
if (localRoot) {
|
|
389
|
-
dirs.push((0, import_path.resolve)(localRoot, "commands"));
|
|
390
|
-
}
|
|
391
|
-
dirs.push(globalCommands);
|
|
392
|
-
}
|
|
393
|
-
return dirs;
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
397
|
-
0 && (module.exports = {
|
|
398
|
-
FilePromptProvider
|
|
399
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import type { PromptProvider, PromptDefinition, PromptListResult } from '../types.js';
|
|
2
|
-
import type { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import type { ResourceManager } from '../../resources/manager.js';
|
|
4
|
-
interface FilePromptProviderOptions {
|
|
5
|
-
resourceManager: ResourceManager;
|
|
6
|
-
}
|
|
7
|
-
export declare class FilePromptProvider implements PromptProvider {
|
|
8
|
-
private readonly commandDirs;
|
|
9
|
-
private readonly resourceManager;
|
|
10
|
-
private promptsCache;
|
|
11
|
-
private cacheValid;
|
|
12
|
-
private promptResources;
|
|
13
|
-
private inlineContent;
|
|
14
|
-
constructor(options: FilePromptProviderOptions);
|
|
15
|
-
getSource(): string;
|
|
16
|
-
invalidateCache(): void;
|
|
17
|
-
getPrompt(name: string, args?: Record<string, unknown>): Promise<GetPromptResult>;
|
|
18
|
-
listPrompts(_cursor?: string): Promise<PromptListResult>;
|
|
19
|
-
getPromptDefinition(name: string): Promise<PromptDefinition | null>;
|
|
20
|
-
private buildPromptsCache;
|
|
21
|
-
private parsePromptFile;
|
|
22
|
-
/**
|
|
23
|
-
* Parse argument-hint string into structured argument definitions
|
|
24
|
-
* Format: "[style] [length?]" → [{name: "style", required: true}, {name: "length", required: false}]
|
|
25
|
-
*/
|
|
26
|
-
private parseArgumentHint;
|
|
27
|
-
private storePromptContent;
|
|
28
|
-
/**
|
|
29
|
-
* Apply arguments to a file prompt's content.
|
|
30
|
-
*
|
|
31
|
-
* Behavior mirrors Claude Code-style file prompts:
|
|
32
|
-
* - Positional placeholders ($1..$9 and $ARGUMENTS) are expanded first.
|
|
33
|
-
* - If and only if the template contains explicit placeholders ($1..$9 or $ARGUMENTS),
|
|
34
|
-
* then we consider arguments "deconstructed in-template" and DO NOT append them again.
|
|
35
|
-
* - If the template contains no such placeholders, we append either:
|
|
36
|
-
* - `Context: <_context>` above the content when `_context` is provided, or
|
|
37
|
-
* - `Arguments: key: value, ...` below the content for plain named args.
|
|
38
|
-
*
|
|
39
|
-
* Notes:
|
|
40
|
-
* - The `$$` sequence is an escape for a literal dollar sign. It MUST NOT be
|
|
41
|
-
* treated as a placeholder indicator and should not suppress argument appending.
|
|
42
|
-
*/
|
|
43
|
-
private applyArguments;
|
|
44
|
-
private resolveDefaultCommandDirs;
|
|
45
|
-
}
|
|
46
|
-
export {};
|
|
47
|
-
//# sourceMappingURL=file-prompt-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/prompts/providers/file-prompt-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGlG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAQ1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,UAAU,yBAAyB;IAC/B,eAAe,EAAE,eAAe,CAAC;CACpC;AASD,qBAAa,kBAAmB,YAAW,cAAc;IAErD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAW;IACvC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;gBAE3C,OAAO,EAAE,yBAAyB;IAQ9C,SAAS,IAAI,MAAM;IAInB,eAAe,IAAI,IAAI;IAQjB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAmDjF,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAUxD,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAiB3D,iBAAiB;YAyGjB,eAAe;IA+G7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YA2BX,kBAAkB;IAqBhC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc;IAqCtB,OAAO,CAAC,yBAAyB;CA4BpC"}
|