@strands-agents/sdk 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -11
- package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
- package/dist/src/__fixtures__/agent-helpers.js +6 -0
- package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
- package/dist/src/__fixtures__/register-node-defaults.d.ts +2 -0
- package/dist/src/__fixtures__/register-node-defaults.d.ts.map +1 -0
- package/dist/src/__fixtures__/register-node-defaults.js +6 -0
- package/dist/src/__fixtures__/register-node-defaults.js.map +1 -0
- package/dist/src/__fixtures__/test-sandbox.node.d.ts.map +1 -1
- package/dist/src/__fixtures__/test-sandbox.node.js +4 -3
- package/dist/src/__fixtures__/test-sandbox.node.js.map +1 -1
- package/dist/src/__tests__/default-slot.test.d.ts +2 -0
- package/dist/src/__tests__/default-slot.test.d.ts.map +1 -0
- package/dist/src/__tests__/default-slot.test.js +33 -0
- package/dist/src/__tests__/default-slot.test.js.map +1 -0
- package/dist/src/a2a/__tests__/async-lock.test.d.ts +2 -0
- package/dist/src/a2a/__tests__/async-lock.test.d.ts.map +1 -0
- package/dist/src/a2a/__tests__/async-lock.test.js +137 -0
- package/dist/src/a2a/__tests__/async-lock.test.js.map +1 -0
- package/dist/src/a2a/__tests__/executor.test.js +146 -8
- package/dist/src/a2a/__tests__/executor.test.js.map +1 -1
- package/dist/src/a2a/__tests__/server.test.js +20 -0
- package/dist/src/a2a/__tests__/server.test.js.map +1 -1
- package/dist/src/a2a/async-lock.d.ts +22 -0
- package/dist/src/a2a/async-lock.d.ts.map +1 -0
- package/dist/src/a2a/async-lock.js +38 -0
- package/dist/src/a2a/async-lock.js.map +1 -0
- package/dist/src/a2a/executor.d.ts +59 -24
- package/dist/src/a2a/executor.d.ts.map +1 -1
- package/dist/src/a2a/executor.js +209 -32
- package/dist/src/a2a/executor.js.map +1 -1
- package/dist/src/a2a/index.d.ts +1 -1
- package/dist/src/a2a/index.d.ts.map +1 -1
- package/dist/src/a2a/index.js +1 -1
- package/dist/src/a2a/index.js.map +1 -1
- package/dist/src/a2a/server.d.ts +18 -2
- package/dist/src/a2a/server.d.ts.map +1 -1
- package/dist/src/a2a/server.js +13 -2
- package/dist/src/a2a/server.js.map +1 -1
- package/dist/src/agent/__tests__/agent.context-manager.test.d.ts +2 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.d.ts.map +1 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.js +107 -0
- package/dist/src/agent/__tests__/agent.context-manager.test.js.map +1 -0
- package/dist/src/agent/__tests__/agent.tracer.test.node.js +14 -0
- package/dist/src/agent/__tests__/agent.tracer.test.node.js.map +1 -1
- package/dist/src/agent/agent.d.ts +132 -2
- package/dist/src/agent/agent.d.ts.map +1 -1
- package/dist/src/agent/agent.js +478 -188
- package/dist/src/agent/agent.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/pin.test.d.ts +2 -0
- package/dist/src/conversation-manager/__tests__/pin.test.d.ts.map +1 -0
- package/dist/src/conversation-manager/__tests__/pin.test.js +119 -0
- package/dist/src/conversation-manager/__tests__/pin.test.js.map +1 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js +49 -0
- package/dist/src/conversation-manager/__tests__/sliding-window-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js +58 -0
- package/dist/src/conversation-manager/__tests__/summarizing-conversation-manager.test.js.map +1 -1
- package/dist/src/conversation-manager/pin-message.d.ts +45 -0
- package/dist/src/conversation-manager/pin-message.d.ts.map +1 -0
- package/dist/src/conversation-manager/pin-message.js +106 -0
- package/dist/src/conversation-manager/pin-message.js.map +1 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts +7 -0
- package/dist/src/conversation-manager/sliding-window-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js +27 -4
- package/dist/src/conversation-manager/sliding-window-conversation-manager.js.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts +7 -0
- package/dist/src/conversation-manager/summarizing-conversation-manager.d.ts.map +1 -1
- package/dist/src/conversation-manager/summarizing-conversation-manager.js +18 -4
- package/dist/src/conversation-manager/summarizing-conversation-manager.js.map +1 -1
- package/dist/src/default-slot.d.ts +6 -0
- package/dist/src/default-slot.d.ts.map +1 -0
- package/dist/src/default-slot.js +18 -0
- package/dist/src/default-slot.js.map +1 -0
- package/dist/src/errors.d.ts +8 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +11 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/index.d.ts +8 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +7 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/index.node.d.ts +2 -0
- package/dist/src/index.node.d.ts.map +1 -0
- package/dist/src/index.node.js +9 -0
- package/dist/src/index.node.js.map +1 -0
- package/dist/src/interrupt.d.ts +5 -1
- package/dist/src/interrupt.d.ts.map +1 -1
- package/dist/src/interrupt.js +6 -0
- package/dist/src/interrupt.js.map +1 -1
- package/dist/src/memory/__tests__/memory-manager.test.d.ts +2 -0
- package/dist/src/memory/__tests__/memory-manager.test.d.ts.map +1 -0
- package/dist/src/memory/__tests__/memory-manager.test.js +493 -0
- package/dist/src/memory/__tests__/memory-manager.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.js +637 -0
- package/dist/src/memory/extraction/__tests__/extraction.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js +68 -0
- package/dist/src/memory/extraction/__tests__/model-extractor.test.js.map +1 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts +2 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.d.ts.map +1 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js +81 -0
- package/dist/src/memory/extraction/__tests__/resolve-extraction-config.test.js.map +1 -0
- package/dist/src/memory/extraction/coordinator.d.ts +128 -0
- package/dist/src/memory/extraction/coordinator.d.ts.map +1 -0
- package/dist/src/memory/extraction/coordinator.js +245 -0
- package/dist/src/memory/extraction/coordinator.js.map +1 -0
- package/dist/src/memory/extraction/model-extractor.d.ts +32 -0
- package/dist/src/memory/extraction/model-extractor.d.ts.map +1 -0
- package/dist/src/memory/extraction/model-extractor.js +118 -0
- package/dist/src/memory/extraction/model-extractor.js.map +1 -0
- package/dist/src/memory/extraction/resolve-extraction-config.d.ts +46 -0
- package/dist/src/memory/extraction/resolve-extraction-config.d.ts.map +1 -0
- package/dist/src/memory/extraction/resolve-extraction-config.js +59 -0
- package/dist/src/memory/extraction/resolve-extraction-config.js.map +1 -0
- package/dist/src/memory/extraction/triggers.d.ts +41 -0
- package/dist/src/memory/extraction/triggers.d.ts.map +1 -0
- package/dist/src/memory/extraction/triggers.js +59 -0
- package/dist/src/memory/extraction/triggers.js.map +1 -0
- package/dist/src/memory/extraction/types.d.ts +133 -0
- package/dist/src/memory/extraction/types.d.ts.map +1 -0
- package/dist/src/memory/extraction/types.js +19 -0
- package/dist/src/memory/extraction/types.js.map +1 -0
- package/dist/src/memory/index.d.ts +9 -0
- package/dist/src/memory/index.d.ts.map +1 -0
- package/dist/src/memory/index.js +5 -0
- package/dist/src/memory/index.js.map +1 -0
- package/dist/src/memory/memory-manager.d.ts +131 -0
- package/dist/src/memory/memory-manager.d.ts.map +1 -0
- package/dist/src/memory/memory-manager.js +404 -0
- package/dist/src/memory/memory-manager.js.map +1 -0
- package/dist/src/memory/types.d.ts +213 -0
- package/dist/src/memory/types.d.ts.map +1 -0
- package/dist/src/memory/types.js +2 -0
- package/dist/src/memory/types.js.map +1 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.js +1207 -0
- package/dist/src/middleware/__tests__/agent-middleware.test.js.map +1 -0
- package/dist/src/middleware/__tests__/custom-stages.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/custom-stages.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/custom-stages.test.js +97 -0
- package/dist/src/middleware/__tests__/custom-stages.test.js.map +1 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.js +267 -0
- package/dist/src/middleware/__tests__/middleware-interrupts.test.js.map +1 -0
- package/dist/src/middleware/__tests__/registry.test.d.ts +2 -0
- package/dist/src/middleware/__tests__/registry.test.d.ts.map +1 -0
- package/dist/src/middleware/__tests__/registry.test.js +525 -0
- package/dist/src/middleware/__tests__/registry.test.js.map +1 -0
- package/dist/src/middleware/index.d.ts +5 -0
- package/dist/src/middleware/index.d.ts.map +1 -0
- package/dist/src/middleware/index.js +3 -0
- package/dist/src/middleware/index.js.map +1 -0
- package/dist/src/middleware/registry.d.ts +58 -0
- package/dist/src/middleware/registry.d.ts.map +1 -0
- package/dist/src/middleware/registry.js +107 -0
- package/dist/src/middleware/registry.js.map +1 -0
- package/dist/src/middleware/stages.d.ts +138 -0
- package/dist/src/middleware/stages.d.ts.map +1 -0
- package/dist/src/middleware/stages.js +31 -0
- package/dist/src/middleware/stages.js.map +1 -0
- package/dist/src/middleware/types.d.ts +88 -0
- package/dist/src/middleware/types.d.ts.map +1 -0
- package/dist/src/middleware/types.js +2 -0
- package/dist/src/middleware/types.js.map +1 -0
- package/dist/src/models/__tests__/anthropic.test.js +16 -1
- package/dist/src/models/__tests__/anthropic.test.js.map +1 -1
- package/dist/src/models/__tests__/bedrock.test.js +39 -0
- package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
- package/dist/src/models/__tests__/model.test.js +46 -3
- package/dist/src/models/__tests__/model.test.js.map +1 -1
- package/dist/src/models/anthropic.js +2 -2
- package/dist/src/models/anthropic.js.map +1 -1
- package/dist/src/models/bedrock.d.ts.map +1 -1
- package/dist/src/models/bedrock.js +12 -5
- package/dist/src/models/bedrock.js.map +1 -1
- package/dist/src/models/defaults.d.ts.map +1 -1
- package/dist/src/models/defaults.js +2 -0
- package/dist/src/models/defaults.js.map +1 -1
- package/dist/src/models/model.d.ts.map +1 -1
- package/dist/src/models/model.js +7 -3
- package/dist/src/models/model.js.map +1 -1
- package/dist/src/models/openai/__tests__/responses.test.js +8 -14
- package/dist/src/models/openai/__tests__/responses.test.js.map +1 -1
- package/dist/src/sandbox/__tests__/default.test.browser.d.ts +2 -0
- package/dist/src/sandbox/__tests__/default.test.browser.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.browser.js +11 -0
- package/dist/src/sandbox/__tests__/default.test.browser.js.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/default.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/default.test.node.js +23 -0
- package/dist/src/sandbox/__tests__/default.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/docker.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/docker.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/docker.test.node.js +89 -0
- package/dist/src/sandbox/__tests__/docker.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/errors.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/errors.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/errors.test.node.js +33 -0
- package/dist/src/sandbox/__tests__/errors.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js +124 -0
- package/dist/src/sandbox/__tests__/not-a-sandbox-local-environment.test.node.js.map +1 -0
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js +50 -4
- package/dist/src/sandbox/__tests__/posix-shell.test.node.js.map +1 -1
- package/dist/src/sandbox/__tests__/ssh.test.node.d.ts +2 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.d.ts.map +1 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.js +262 -0
- package/dist/src/sandbox/__tests__/ssh.test.node.js.map +1 -0
- package/dist/src/sandbox/base.d.ts +22 -4
- package/dist/src/sandbox/base.d.ts.map +1 -1
- package/dist/src/sandbox/base.js +15 -2
- package/dist/src/sandbox/base.js.map +1 -1
- package/dist/src/sandbox/constants.d.ts +18 -0
- package/dist/src/sandbox/constants.d.ts.map +1 -1
- package/dist/src/sandbox/constants.js +20 -0
- package/dist/src/sandbox/constants.js.map +1 -1
- package/dist/src/sandbox/default.d.ts +3 -0
- package/dist/src/sandbox/default.d.ts.map +1 -0
- package/dist/src/sandbox/default.js +3 -0
- package/dist/src/sandbox/default.js.map +1 -0
- package/dist/src/sandbox/docker.d.ts +38 -0
- package/dist/src/sandbox/docker.d.ts.map +1 -0
- package/dist/src/sandbox/docker.js +59 -0
- package/dist/src/sandbox/docker.js.map +1 -0
- package/dist/src/sandbox/errors.d.ts +26 -0
- package/dist/src/sandbox/errors.d.ts.map +1 -0
- package/dist/src/sandbox/errors.js +35 -0
- package/dist/src/sandbox/errors.js.map +1 -0
- package/dist/src/sandbox/index.d.ts +5 -0
- package/dist/src/sandbox/index.d.ts.map +1 -0
- package/dist/src/sandbox/index.js +4 -0
- package/dist/src/sandbox/index.js.map +1 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts +16 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.d.ts.map +1 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.js +83 -0
- package/dist/src/sandbox/not-a-sandbox-local-environment.js.map +1 -0
- package/dist/src/sandbox/posix-shell.d.ts +21 -0
- package/dist/src/sandbox/posix-shell.d.ts.map +1 -1
- package/dist/src/sandbox/posix-shell.js +41 -3
- package/dist/src/sandbox/posix-shell.js.map +1 -1
- package/dist/src/sandbox/ssh.d.ts +56 -0
- package/dist/src/sandbox/ssh.d.ts.map +1 -0
- package/dist/src/sandbox/ssh.js +119 -0
- package/dist/src/sandbox/ssh.js.map +1 -0
- package/dist/src/sandbox/stream-process.d.ts.map +1 -1
- package/dist/src/sandbox/stream-process.js +3 -2
- package/dist/src/sandbox/stream-process.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/types/agent.d.ts +21 -0
- package/dist/src/types/agent.d.ts.map +1 -1
- package/dist/src/types/agent.js.map +1 -1
- package/dist/src/types/messages.d.ts +1 -1
- package/dist/src/types/messages.d.ts.map +1 -1
- package/dist/src/types/messages.js.map +1 -1
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js +611 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/__tests__/bedrock-knowledge-base-store.test.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js +2 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/index.js.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts +230 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.d.ts.map +1 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js +370 -0
- package/dist/src/vended-memory-stores/bedrock-knowledge-base/store.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js +68 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/file-storage-sandbox.test.node.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts +2 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.d.ts.map +1 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js +93 -0
- package/dist/src/vended-plugins/context-offloader/__tests__/plugin.test.node.js.map +1 -0
- package/dist/src/vended-plugins/context-offloader/index.d.ts +1 -1
- package/dist/src/vended-plugins/context-offloader/index.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts +4 -1
- package/dist/src/vended-plugins/context-offloader/plugin.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/plugin.js +29 -7
- package/dist/src/vended-plugins/context-offloader/plugin.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/search.js +3 -5
- package/dist/src/vended-plugins/context-offloader/search.js.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.d.ts +29 -5
- package/dist/src/vended-plugins/context-offloader/storage.d.ts.map +1 -1
- package/dist/src/vended-plugins/context-offloader/storage.js +75 -11
- package/dist/src/vended-plugins/context-offloader/storage.js.map +1 -1
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts +2 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.js +736 -0
- package/dist/src/vended-plugins/goal/__tests__/plugin.test.js.map +1 -0
- package/dist/src/vended-plugins/goal/index.d.ts +21 -0
- package/dist/src/vended-plugins/goal/index.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/index.js +20 -0
- package/dist/src/vended-plugins/goal/index.js.map +1 -0
- package/dist/src/vended-plugins/goal/judge.d.ts +41 -0
- package/dist/src/vended-plugins/goal/judge.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/judge.js +92 -0
- package/dist/src/vended-plugins/goal/judge.js.map +1 -0
- package/dist/src/vended-plugins/goal/plugin.d.ts +214 -0
- package/dist/src/vended-plugins/goal/plugin.d.ts.map +1 -0
- package/dist/src/vended-plugins/goal/plugin.js +287 -0
- package/dist/src/vended-plugins/goal/plugin.js.map +1 -0
- package/dist/src/vended-plugins/index.d.ts +2 -1
- package/dist/src/vended-plugins/index.d.ts.map +1 -1
- package/dist/src/vended-plugins/index.js +2 -1
- package/dist/src/vended-plugins/index.js.map +1 -1
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js +17 -7
- package/dist/src/vended-plugins/skills/__tests__/agent-skills.test.node.js.map +1 -1
- package/dist/src/vended-plugins/skills/agent-skills.d.ts +21 -7
- package/dist/src/vended-plugins/skills/agent-skills.d.ts.map +1 -1
- package/dist/src/vended-plugins/skills/agent-skills.js +144 -77
- package/dist/src/vended-plugins/skills/agent-skills.js.map +1 -1
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js +44 -4
- package/dist/src/vended-tools/bash/__tests__/bash.test.node.js.map +1 -1
- package/dist/src/vended-tools/bash/bash.d.ts +3 -24
- package/dist/src/vended-tools/bash/bash.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/bash.js +9 -9
- package/dist/src/vended-tools/bash/bash.js.map +1 -1
- package/dist/src/vended-tools/bash/index.d.ts +3 -1
- package/dist/src/vended-tools/bash/index.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/index.js +2 -1
- package/dist/src/vended-tools/bash/index.js.map +1 -1
- package/dist/src/vended-tools/bash/make-bash.d.ts +22 -0
- package/dist/src/vended-tools/bash/make-bash.d.ts.map +1 -0
- package/dist/src/vended-tools/bash/make-bash.js +40 -0
- package/dist/src/vended-tools/bash/make-bash.js.map +1 -0
- package/dist/src/vended-tools/bash/types.d.ts +1 -0
- package/dist/src/vended-tools/bash/types.d.ts.map +1 -1
- package/dist/src/vended-tools/bash/types.js +2 -0
- package/dist/src/vended-tools/bash/types.js.map +1 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js +83 -1
- package/dist/src/vended-tools/file-editor/__tests__/file-editor.test.node.js.map +1 -1
- package/dist/src/vended-tools/file-editor/file-editor.d.ts +19 -10
- package/dist/src/vended-tools/file-editor/file-editor.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/file-editor.js +188 -218
- package/dist/src/vended-tools/file-editor/file-editor.js.map +1 -1
- package/dist/src/vended-tools/file-editor/index.d.ts +2 -1
- package/dist/src/vended-tools/file-editor/index.d.ts.map +1 -1
- package/dist/src/vended-tools/file-editor/index.js +1 -1
- package/dist/src/vended-tools/file-editor/index.js.map +1 -1
- package/package.json +41 -6
- package/dist/src/utils/shell-quote.d.ts +0 -12
- package/dist/src/utils/shell-quote.d.ts.map +0 -1
- package/dist/src/utils/shell-quote.js +0 -14
- package/dist/src/utils/shell-quote.js.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { tool } from '../../tools/tool-factory.js';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { Buffer } from 'buffer';
|
|
4
|
+
import { Sandbox } from '../../sandbox/base.js';
|
|
5
|
+
import { SandboxPathNotFoundError } from '../../sandbox/errors.js';
|
|
4
6
|
import * as path from 'path';
|
|
5
7
|
const SNIPPET_LINES = 4;
|
|
6
8
|
const DEFAULT_MAX_FILE_SIZE = 1048576; // 1MB
|
|
@@ -25,20 +27,11 @@ const fileEditorInputSchema = z.object({
|
|
|
25
27
|
.optional()
|
|
26
28
|
.describe('Line number where text should be inserted (0-indexed, required for insert command).'),
|
|
27
29
|
});
|
|
28
|
-
/**
|
|
29
|
-
* Text file reader implementation.
|
|
30
|
-
* Reads files as UTF-8 encoded text.
|
|
31
|
-
*/
|
|
32
|
-
class TextFileReader {
|
|
33
|
-
async read(filePath) {
|
|
34
|
-
return await fs.readFile(filePath, 'utf-8');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
30
|
/**
|
|
38
31
|
* File editor tool for viewing, creating, and editing files programmatically.
|
|
39
32
|
*
|
|
40
33
|
* Provides commands for viewing files/directories, creating files, string replacement,
|
|
41
|
-
* and line insertion.
|
|
34
|
+
* and line insertion. All I/O routes through the agent's configured sandbox.
|
|
42
35
|
*
|
|
43
36
|
* @example
|
|
44
37
|
* ```typescript
|
|
@@ -55,84 +48,130 @@ class TextFileReader {
|
|
|
55
48
|
* await agent.invoke('Replace "Hello" with "Hi" in /tmp/notes.txt')
|
|
56
49
|
* ```
|
|
57
50
|
*/
|
|
58
|
-
export const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
51
|
+
export const DEFAULT_FILE_EDITOR_DESCRIPTION = 'Filesystem editor tool for viewing, creating, and editing files. Supports view (with line ranges), create, str_replace, and insert operations. Files must use absolute paths.';
|
|
52
|
+
export function makeFileEditor(sandboxOrOptions, maybeOptions) {
|
|
53
|
+
const boundSandbox = sandboxOrOptions instanceof Sandbox ? sandboxOrOptions : undefined;
|
|
54
|
+
const options = sandboxOrOptions instanceof Sandbox || maybeOptions ? (maybeOptions ?? {}) : (sandboxOrOptions ?? {});
|
|
55
|
+
return tool({
|
|
56
|
+
name: options.name ?? 'fileEditor',
|
|
57
|
+
description: options.description ?? DEFAULT_FILE_EDITOR_DESCRIPTION,
|
|
58
|
+
inputSchema: fileEditorInputSchema,
|
|
59
|
+
callback: async (input, context) => {
|
|
60
|
+
if (!context)
|
|
61
|
+
throw new Error('Tool context is required for fileEditor operations');
|
|
62
|
+
const sandbox = boundSandbox ?? context.agent.sandbox;
|
|
63
|
+
const filePath = input.path.replace(/[/\\]+$/, '');
|
|
64
|
+
switch (input.command) {
|
|
65
|
+
case 'view':
|
|
66
|
+
return handleView(sandbox, filePath, input.view_range);
|
|
67
|
+
case 'create':
|
|
68
|
+
return handleCreate(sandbox, filePath, input.file_text);
|
|
69
|
+
case 'str_replace':
|
|
70
|
+
return handleStrReplace(sandbox, filePath, input.old_str, input.new_str);
|
|
71
|
+
case 'insert':
|
|
72
|
+
return handleInsert(sandbox, filePath, input.insert_line, input.new_str);
|
|
73
|
+
default:
|
|
74
|
+
throw new Error(`Unknown command: ${input.command}`);
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Default file editor tool. Reads the sandbox from the agent's context at call time.
|
|
81
|
+
*/
|
|
82
|
+
export const fileEditor = makeFileEditor();
|
|
87
83
|
/**
|
|
88
84
|
* Validates that a path is absolute and doesn't contain directory traversal.
|
|
89
85
|
*/
|
|
90
|
-
function validatePath(
|
|
86
|
+
function validatePath(filePath) {
|
|
91
87
|
// Check if it's an absolute path
|
|
92
88
|
if (!path.isAbsolute(filePath)) {
|
|
93
89
|
const suggestedPath = path.resolve(filePath);
|
|
94
90
|
throw new Error(`The path ${filePath} is not an absolute path, it should start with \`/\`. Maybe you meant ${suggestedPath}?`);
|
|
95
91
|
}
|
|
96
|
-
// Check for
|
|
97
|
-
|
|
98
|
-
if (
|
|
92
|
+
// Check for '..' segments on the raw input — path.normalize resolves them away,
|
|
93
|
+
// so checking after normalize is ineffective.
|
|
94
|
+
if (filePath.split(/[/\\]/).includes('..')) {
|
|
99
95
|
throw new Error(`Invalid path: path traversal is not allowed`);
|
|
100
96
|
}
|
|
101
97
|
}
|
|
102
98
|
/**
|
|
103
|
-
*
|
|
99
|
+
* Validates a view_range tuple and slices the file content to it. Returns the
|
|
100
|
+
* visible content along with the line number to use as the first line in the
|
|
101
|
+
* formatted output.
|
|
104
102
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
function applyViewRange(fileContent, viewRange) {
|
|
104
|
+
if (!viewRange) {
|
|
105
|
+
return { content: fileContent, initLine: 1 };
|
|
106
|
+
}
|
|
107
|
+
const lines = fileContent.split('\n');
|
|
108
|
+
const nLines = lines.length;
|
|
109
|
+
const [start, end] = viewRange;
|
|
110
|
+
if (start < 1 || start > nLines) {
|
|
111
|
+
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its first element \`${start}\` should be within the range of lines of the file: [1, ${nLines}]`);
|
|
109
112
|
}
|
|
110
|
-
|
|
111
|
-
|
|
113
|
+
if (end !== -1 && end > nLines) {
|
|
114
|
+
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its second element \`${end}\` should be smaller than the number of lines in the file: \`${nLines}\``);
|
|
112
115
|
}
|
|
116
|
+
if (end !== -1 && end < start) {
|
|
117
|
+
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its second element \`${end}\` should be larger or equal than its first \`${start}\``);
|
|
118
|
+
}
|
|
119
|
+
const content = end === -1 ? lines.slice(start - 1).join('\n') : lines.slice(start - 1, end).join('\n');
|
|
120
|
+
return { content, initLine: start };
|
|
113
121
|
}
|
|
114
122
|
/**
|
|
115
|
-
*
|
|
123
|
+
* Performs a unique str_replace transformation on file content. Validates that
|
|
124
|
+
* `oldStr` appears exactly once. Returns the new content plus a snippet around
|
|
125
|
+
* the change site (with 0-indexed `startLine`).
|
|
116
126
|
*/
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
127
|
+
function buildStrReplaceResult(originalContent, oldStr, newStr, filePath) {
|
|
128
|
+
const fileContent = originalContent.replace(/\t/g, ' ');
|
|
129
|
+
const expandedOldStr = oldStr.replace(/\t/g, ' ');
|
|
130
|
+
const expandedNewStr = newStr ? newStr.replace(/\t/g, ' ') : '';
|
|
131
|
+
const occurrences = (fileContent.match(new RegExp(escapeRegExp(expandedOldStr), 'g')) || []).length;
|
|
132
|
+
if (occurrences === 0) {
|
|
133
|
+
throw new Error(`No replacement was performed, old_str \`${oldStr}\` did not appear verbatim in ${filePath}.`);
|
|
121
134
|
}
|
|
122
|
-
|
|
123
|
-
|
|
135
|
+
if (occurrences > 1) {
|
|
136
|
+
const lines = fileContent.split('\n');
|
|
137
|
+
const lineNumbers = lines
|
|
138
|
+
.map((line, index) => (line.includes(expandedOldStr) ? index + 1 : -1))
|
|
139
|
+
.filter((num) => num !== -1);
|
|
140
|
+
throw new Error(`No replacement was performed. Multiple occurrences of old_str \`${oldStr}\` in lines ${JSON.stringify(lineNumbers)}. Please ensure it is unique`);
|
|
124
141
|
}
|
|
142
|
+
const newContent = fileContent.replace(expandedOldStr, () => expandedNewStr);
|
|
143
|
+
const replacementLine = fileContent.substring(0, fileContent.indexOf(expandedOldStr)).split('\n').length - 1;
|
|
144
|
+
const insertedLines = expandedNewStr.split('\n').length;
|
|
145
|
+
const originalLines = expandedOldStr.split('\n').length;
|
|
146
|
+
const lineDifference = insertedLines - originalLines;
|
|
147
|
+
const newLines = newContent.split('\n');
|
|
148
|
+
const startLine = Math.max(0, replacementLine - SNIPPET_LINES);
|
|
149
|
+
const endLine = Math.min(newLines.length, replacementLine + SNIPPET_LINES + lineDifference + 1);
|
|
150
|
+
const snippet = newLines.slice(startLine, endLine).join('\n');
|
|
151
|
+
return { newContent, snippet, startLine };
|
|
125
152
|
}
|
|
126
153
|
/**
|
|
127
|
-
*
|
|
154
|
+
* Inserts text at a 0-indexed line in file content. Validates the insertion
|
|
155
|
+
* point. Returns the new content plus a snippet around the insertion site
|
|
156
|
+
* (with 0-indexed `startLine`).
|
|
128
157
|
*/
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
158
|
+
function buildInsertResult(originalContent, insertLine, newStr) {
|
|
159
|
+
const fileText = originalContent.replace(/\t/g, ' ');
|
|
160
|
+
const expandedNewStr = newStr.replace(/\t/g, ' ');
|
|
161
|
+
const fileTextLines = fileText.split('\n');
|
|
162
|
+
const nLines = fileTextLines.length;
|
|
163
|
+
if (insertLine < 0 || insertLine > nLines) {
|
|
164
|
+
throw new Error(`Invalid \`insert_line\` parameter: ${insertLine}. It should be within the range of lines of the file: [0, ${nLines}]`);
|
|
135
165
|
}
|
|
166
|
+
const newStrLines = expandedNewStr.split('\n');
|
|
167
|
+
const newFileTextLines = fileText === ''
|
|
168
|
+
? newStrLines
|
|
169
|
+
: [...fileTextLines.slice(0, insertLine), ...newStrLines, ...fileTextLines.slice(insertLine)];
|
|
170
|
+
const newContent = newFileTextLines.join('\n');
|
|
171
|
+
const snippetStartLine = Math.max(0, insertLine - SNIPPET_LINES);
|
|
172
|
+
const snippetEndLine = Math.min(newFileTextLines.length, insertLine + newStrLines.length + SNIPPET_LINES);
|
|
173
|
+
const snippet = newFileTextLines.slice(snippetStartLine, snippetEndLine).join('\n');
|
|
174
|
+
return { newContent, snippet, startLine: snippetStartLine };
|
|
136
175
|
}
|
|
137
176
|
/**
|
|
138
177
|
* Formats file content with line numbers (cat -n style).
|
|
@@ -147,207 +186,138 @@ function makeOutput(fileContent, fileDescriptor, initLine = 1) {
|
|
|
147
186
|
});
|
|
148
187
|
return `Here's the result of running \`cat -n\` on ${fileDescriptor}:\n${numberedLines.join('\n')}\n`;
|
|
149
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Escapes special regex characters in a string.
|
|
191
|
+
*/
|
|
192
|
+
function escapeRegExp(string) {
|
|
193
|
+
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
194
|
+
}
|
|
195
|
+
// ---- Sandbox-routed I/O helpers ----
|
|
196
|
+
/**
|
|
197
|
+
* Probes a path through the sandbox, reporting existence and directory-ness by listing
|
|
198
|
+
* the parent directory. A missing parent or entry resolves to `exists: false`; permission,
|
|
199
|
+
* transport, and other failures propagate so they aren't disguised as non-existence.
|
|
200
|
+
*/
|
|
201
|
+
async function probeSandboxPath(sandbox, filePath) {
|
|
202
|
+
const normalized = filePath.replaceAll('\\', '/');
|
|
203
|
+
const parent = normalized.split('/').slice(0, -1).join('/') || '/';
|
|
204
|
+
const name = normalized.split('/').pop();
|
|
205
|
+
try {
|
|
206
|
+
const entry = (await sandbox.listFiles(parent)).find((e) => e.name === name);
|
|
207
|
+
if (!entry) {
|
|
208
|
+
return { exists: false, isDir: false };
|
|
209
|
+
}
|
|
210
|
+
return { exists: true, isDir: entry.isDir ?? false };
|
|
211
|
+
}
|
|
212
|
+
catch (err) {
|
|
213
|
+
if (err instanceof SandboxPathNotFoundError) {
|
|
214
|
+
return { exists: false, isDir: false };
|
|
215
|
+
}
|
|
216
|
+
throw err;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Asserts content size is within the limit, checked after read since `listFiles`
|
|
221
|
+
* does not reliably report size across sandbox backends.
|
|
222
|
+
*/
|
|
223
|
+
function assertWithinSizeLimit(content, maxSize = DEFAULT_MAX_FILE_SIZE) {
|
|
224
|
+
const size = Buffer.byteLength(content, 'utf-8');
|
|
225
|
+
if (size > maxSize) {
|
|
226
|
+
throw new Error(`File size (${size} bytes) exceeds maximum allowed size (${maxSize} bytes)`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
150
229
|
/**
|
|
151
230
|
* Lists directory contents up to 2 levels deep, excluding hidden files.
|
|
152
231
|
*/
|
|
153
|
-
async function listDirectory(dirPath) {
|
|
232
|
+
async function listDirectory(sandbox, dirPath) {
|
|
154
233
|
const items = [];
|
|
155
|
-
async function walk(currentPath, depth) {
|
|
234
|
+
async function walk(currentPath, prefix, depth) {
|
|
235
|
+
let entries;
|
|
156
236
|
try {
|
|
157
|
-
|
|
158
|
-
for (const entry of entries) {
|
|
159
|
-
// Skip hidden files/directories
|
|
160
|
-
if (entry.name.startsWith('.'))
|
|
161
|
-
continue;
|
|
162
|
-
const fullPath = path.join(currentPath, entry.name);
|
|
163
|
-
const relativePath = path.relative(dirPath, fullPath);
|
|
164
|
-
items.push(relativePath || entry.name);
|
|
165
|
-
// Continue walking if we haven't reached max depth yet
|
|
166
|
-
if (entry.isDirectory() && depth < MAX_DIRECTORY_DEPTH) {
|
|
167
|
-
await walk(fullPath, depth + 1);
|
|
168
|
-
}
|
|
169
|
-
}
|
|
237
|
+
entries = await sandbox.listFiles(currentPath);
|
|
170
238
|
}
|
|
171
239
|
catch {
|
|
172
240
|
// Ignore permission errors and continue
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
for (const entry of entries) {
|
|
244
|
+
if (entry.name.startsWith('.'))
|
|
245
|
+
continue;
|
|
246
|
+
const relativePath = prefix ? `${prefix}/${entry.name}` : entry.name;
|
|
247
|
+
items.push(relativePath);
|
|
248
|
+
if (entry.isDir && depth < MAX_DIRECTORY_DEPTH) {
|
|
249
|
+
await walk(`${currentPath}/${entry.name}`, relativePath, depth + 1);
|
|
250
|
+
}
|
|
173
251
|
}
|
|
174
252
|
}
|
|
175
|
-
await walk(dirPath, 0);
|
|
253
|
+
await walk(dirPath, '', 0);
|
|
176
254
|
const result = items.sort().join('\n');
|
|
177
255
|
return `Here's the files and directories up to 2 levels deep in ${dirPath}, excluding hidden items:\n${result}\n`;
|
|
178
256
|
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
validatePath('view', filePath);
|
|
184
|
-
const exists = await fileExists(filePath);
|
|
257
|
+
// ---- Sandbox-path handlers ----
|
|
258
|
+
async function handleView(sandbox, filePath, viewRange) {
|
|
259
|
+
validatePath(filePath);
|
|
260
|
+
const { exists, isDir } = await probeSandboxPath(sandbox, filePath);
|
|
185
261
|
if (!exists) {
|
|
186
262
|
throw new Error(`The path ${filePath} does not exist. Please provide a valid path.`);
|
|
187
263
|
}
|
|
188
|
-
const isDir = await isDirectory(filePath);
|
|
189
264
|
if (isDir) {
|
|
190
265
|
if (viewRange) {
|
|
191
266
|
throw new Error('The `view_range` parameter is not allowed when `path` points to a directory.');
|
|
192
267
|
}
|
|
193
|
-
return
|
|
194
|
-
}
|
|
195
|
-
// Check file size before reading
|
|
196
|
-
await checkFileSize(filePath);
|
|
197
|
-
// Read file content - only if not a directory
|
|
198
|
-
const fileContent = await fileReader.read(filePath);
|
|
199
|
-
let initLine = 1;
|
|
200
|
-
let contentToShow = fileContent;
|
|
201
|
-
if (viewRange) {
|
|
202
|
-
const lines = fileContent.split('\n');
|
|
203
|
-
const nLines = lines.length;
|
|
204
|
-
let [start, end] = viewRange;
|
|
205
|
-
// Validate range
|
|
206
|
-
if (start < 1 || start > nLines) {
|
|
207
|
-
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its first element \`${start}\` should be within the range of lines of the file: [1, ${nLines}]`);
|
|
208
|
-
}
|
|
209
|
-
if (end !== -1 && end > nLines) {
|
|
210
|
-
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its second element \`${end}\` should be smaller than the number of lines in the file: \`${nLines}\``);
|
|
211
|
-
}
|
|
212
|
-
if (end !== -1 && end < start) {
|
|
213
|
-
throw new Error(`Invalid \`view_range\`: [${start}, ${end}]. Its second element \`${end}\` should be larger or equal than its first \`${start}\``);
|
|
214
|
-
}
|
|
215
|
-
initLine = start;
|
|
216
|
-
if (end === -1) {
|
|
217
|
-
contentToShow = lines.slice(start - 1).join('\n');
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
contentToShow = lines.slice(start - 1, end).join('\n');
|
|
221
|
-
}
|
|
268
|
+
return listDirectory(sandbox, filePath);
|
|
222
269
|
}
|
|
223
|
-
|
|
270
|
+
const fileContent = await sandbox.readText(filePath);
|
|
271
|
+
assertWithinSizeLimit(fileContent);
|
|
272
|
+
const { content, initLine } = applyViewRange(fileContent, viewRange);
|
|
273
|
+
return makeOutput(content, filePath, initLine);
|
|
224
274
|
}
|
|
225
|
-
|
|
226
|
-
* Handles the create command.
|
|
227
|
-
*/
|
|
228
|
-
async function handleCreate(filePath, fileText) {
|
|
275
|
+
async function handleCreate(sandbox, filePath, fileText) {
|
|
229
276
|
if (fileText === undefined) {
|
|
230
277
|
throw new Error('Parameter `file_text` is required for command: create');
|
|
231
278
|
}
|
|
232
|
-
validatePath(
|
|
233
|
-
const exists = await
|
|
279
|
+
validatePath(filePath);
|
|
280
|
+
const { exists } = await probeSandboxPath(sandbox, filePath);
|
|
234
281
|
if (exists) {
|
|
235
282
|
throw new Error(`File already exists at: ${filePath}. Cannot overwrite files using command \`create\`.`);
|
|
236
283
|
}
|
|
237
|
-
|
|
238
|
-
const dir = path.dirname(filePath);
|
|
239
|
-
await fs.mkdir(dir, { recursive: true });
|
|
240
|
-
// Write file
|
|
241
|
-
await fs.writeFile(filePath, fileText, 'utf-8');
|
|
284
|
+
await sandbox.writeText(filePath, fileText);
|
|
242
285
|
return `File created successfully at: ${filePath}`;
|
|
243
286
|
}
|
|
244
|
-
|
|
245
|
-
* Handles the str_replace command.
|
|
246
|
-
*/
|
|
247
|
-
async function handleStrReplace(filePath, oldStr, newStr, fileReader) {
|
|
287
|
+
async function handleStrReplace(sandbox, filePath, oldStr, newStr) {
|
|
248
288
|
if (oldStr === undefined) {
|
|
249
289
|
throw new Error('Parameter `old_str` is required for command: str_replace');
|
|
250
290
|
}
|
|
251
|
-
validatePath(
|
|
252
|
-
const exists = await
|
|
291
|
+
validatePath(filePath);
|
|
292
|
+
const { exists, isDir } = await probeSandboxPath(sandbox, filePath);
|
|
253
293
|
if (!exists) {
|
|
254
294
|
throw new Error(`The path ${filePath} does not exist. Please provide a valid path.`);
|
|
255
295
|
}
|
|
256
|
-
const isDir = await isDirectory(filePath);
|
|
257
296
|
if (isDir) {
|
|
258
297
|
throw new Error(`The path ${filePath} is a directory and only the \`view\` command can be used on directories`);
|
|
259
298
|
}
|
|
260
|
-
await
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
const expandedOldStr = oldStr.replace(/\t/g, ' ');
|
|
266
|
-
const expandedNewStr = newStr ? newStr.replace(/\t/g, ' ') : '';
|
|
267
|
-
// Check if old_str is unique
|
|
268
|
-
const occurrences = (fileContent.match(new RegExp(escapeRegExp(expandedOldStr), 'g')) || []).length;
|
|
269
|
-
if (occurrences === 0) {
|
|
270
|
-
throw new Error(`No replacement was performed, old_str \`${oldStr}\` did not appear verbatim in ${filePath}.`);
|
|
271
|
-
}
|
|
272
|
-
if (occurrences > 1) {
|
|
273
|
-
const lines = fileContent.split('\n');
|
|
274
|
-
const lineNumbers = lines
|
|
275
|
-
.map((line, index) => (line.includes(expandedOldStr) ? index + 1 : -1))
|
|
276
|
-
.filter((num) => num !== -1);
|
|
277
|
-
throw new Error(`No replacement was performed. Multiple occurrences of old_str \`${oldStr}\` in lines ${JSON.stringify(lineNumbers)}. Please ensure it is unique`);
|
|
278
|
-
}
|
|
279
|
-
// Perform replacement
|
|
280
|
-
const newFileContent = fileContent.replace(expandedOldStr, () => expandedNewStr);
|
|
281
|
-
// Write back to file
|
|
282
|
-
await fs.writeFile(filePath, newFileContent, 'utf-8');
|
|
283
|
-
// Create snippet
|
|
284
|
-
const replacementLine = fileContent.substring(0, fileContent.indexOf(expandedOldStr)).split('\n').length - 1;
|
|
285
|
-
const insertedLines = expandedNewStr.split('\n').length;
|
|
286
|
-
const originalLines = expandedOldStr.split('\n').length;
|
|
287
|
-
const lineDifference = insertedLines - originalLines;
|
|
288
|
-
const lines = newFileContent.split('\n');
|
|
289
|
-
const startLine = Math.max(0, replacementLine - SNIPPET_LINES);
|
|
290
|
-
const endLine = Math.min(lines.length, replacementLine + SNIPPET_LINES + lineDifference + 1);
|
|
291
|
-
const snippetLines = lines.slice(startLine, endLine);
|
|
292
|
-
const snippet = snippetLines.join('\n');
|
|
293
|
-
const successMsg = `The file ${filePath} has been edited. ${makeOutput(snippet, `a snippet of ${filePath}`, startLine + 1)}Review the changes and make sure they are as expected. Edit the file again if necessary.`;
|
|
294
|
-
return successMsg;
|
|
299
|
+
const fileContent = await sandbox.readText(filePath);
|
|
300
|
+
assertWithinSizeLimit(fileContent);
|
|
301
|
+
const { newContent, snippet, startLine } = buildStrReplaceResult(fileContent, oldStr, newStr, filePath);
|
|
302
|
+
await sandbox.writeText(filePath, newContent);
|
|
303
|
+
return `The file ${filePath} has been edited. ${makeOutput(snippet, `a snippet of ${filePath}`, startLine + 1)}Review the changes and make sure they are as expected. Edit the file again if necessary.`;
|
|
295
304
|
}
|
|
296
|
-
|
|
297
|
-
* Handles the insert command.
|
|
298
|
-
*/
|
|
299
|
-
async function handleInsert(filePath, insertLine, newStr, fileReader) {
|
|
305
|
+
async function handleInsert(sandbox, filePath, insertLine, newStr) {
|
|
300
306
|
if (insertLine === undefined || newStr === undefined) {
|
|
301
307
|
throw new Error('Parameters `insert_line` and `new_str` are required for command: insert');
|
|
302
308
|
}
|
|
303
|
-
validatePath(
|
|
304
|
-
const exists = await
|
|
309
|
+
validatePath(filePath);
|
|
310
|
+
const { exists, isDir } = await probeSandboxPath(sandbox, filePath);
|
|
305
311
|
if (!exists) {
|
|
306
312
|
throw new Error(`The path ${filePath} does not exist. Please provide a valid path.`);
|
|
307
313
|
}
|
|
308
|
-
const isDir = await isDirectory(filePath);
|
|
309
314
|
if (isDir) {
|
|
310
315
|
throw new Error(`The path ${filePath} is a directory and only the \`view\` command can be used on directories`);
|
|
311
316
|
}
|
|
312
|
-
await
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
const expandedNewStr = newStr.replace(/\t/g, ' ');
|
|
318
|
-
const fileTextLines = fileText.split('\n');
|
|
319
|
-
const nLines = fileTextLines.length;
|
|
320
|
-
// Validate insert_line
|
|
321
|
-
if (insertLine < 0 || insertLine > nLines) {
|
|
322
|
-
throw new Error(`Invalid \`insert_line\` parameter: ${insertLine}. It should be within the range of lines of the file: [0, ${nLines}]`);
|
|
323
|
-
}
|
|
324
|
-
// Perform insertion
|
|
325
|
-
const newStrLines = expandedNewStr.split('\n');
|
|
326
|
-
// Handle empty file case
|
|
327
|
-
let newFileTextLines;
|
|
328
|
-
if (fileText === '') {
|
|
329
|
-
newFileTextLines = newStrLines;
|
|
330
|
-
}
|
|
331
|
-
else {
|
|
332
|
-
newFileTextLines = [...fileTextLines.slice(0, insertLine), ...newStrLines, ...fileTextLines.slice(insertLine)];
|
|
333
|
-
}
|
|
334
|
-
const newFileText = newFileTextLines.join('\n');
|
|
335
|
-
// Write back to file
|
|
336
|
-
await fs.writeFile(filePath, newFileText, 'utf-8');
|
|
337
|
-
// Create snippet - show lines around the insertion point
|
|
338
|
-
// Show 4 lines before the insertion line and 4 lines after
|
|
339
|
-
const snippetStartLine = Math.max(0, insertLine - SNIPPET_LINES);
|
|
340
|
-
const snippetEndLine = Math.min(newFileTextLines.length, insertLine + newStrLines.length + SNIPPET_LINES);
|
|
341
|
-
const snippetLines = newFileTextLines.slice(snippetStartLine, snippetEndLine);
|
|
342
|
-
const snippet = snippetLines.join('\n');
|
|
343
|
-
const startLine = snippetStartLine + 1;
|
|
344
|
-
const successMsg = `The file ${filePath} has been edited. ${makeOutput(snippet, 'a snippet of the edited file', startLine)}Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). Edit the file again if necessary.`;
|
|
345
|
-
return successMsg;
|
|
346
|
-
}
|
|
347
|
-
/**
|
|
348
|
-
* Escapes special regex characters in a string.
|
|
349
|
-
*/
|
|
350
|
-
function escapeRegExp(string) {
|
|
351
|
-
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
317
|
+
const fileText = await sandbox.readText(filePath);
|
|
318
|
+
assertWithinSizeLimit(fileText);
|
|
319
|
+
const { newContent, snippet, startLine } = buildInsertResult(fileText, insertLine, newStr);
|
|
320
|
+
await sandbox.writeText(filePath, newContent);
|
|
321
|
+
return `The file ${filePath} has been edited. ${makeOutput(snippet, 'a snippet of the edited file', startLine + 1)}Review the changes and make sure they are as expected (correct indentation, no duplicate lines, etc). Edit the file again if necessary.`;
|
|
352
322
|
}
|
|
353
323
|
//# sourceMappingURL=file-editor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-editor.js","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/file-editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-editor.js","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/file-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* File editor tool for programmatic filesystem interaction.
|
|
3
3
|
*/
|
|
4
|
-
export { fileEditor } from './file-editor.js';
|
|
4
|
+
export { fileEditor, makeFileEditor, DEFAULT_FILE_EDITOR_DESCRIPTION } from './file-editor.js';
|
|
5
|
+
export type { MakeFileEditorOptions } from './file-editor.js';
|
|
5
6
|
export type { FileEditorInput, FileEditorOptions, IFileReader } from './types.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA;AAC9F,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/vended-tools/file-editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAA"}
|