@sourcegraph/amp 0.0.1751343239-gad22a6 → 0.0.1751356880-g87ab1b

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.
Files changed (2) hide show
  1. package/dist/amp.js +64 -50
  2. package/package.json +1 -1
package/dist/amp.js CHANGED
@@ -2317,7 +2317,7 @@ const Jo = "todo_write", t1 = "todo_read", qdt = ({ args: t }, e) => qs(async ()
2317
2317
  source: "builtin"
2318
2318
  },
2319
2319
  fn: Gdt
2320
- }, Wdt = /* @__PURE__ */ JSON.parse(`{"viewsContainers":{"activitybar":[{"id":"sourcegraph-amp","title":"Amp","icon":"./resources/amp-mark.svg"}]},"views":{"sourcegraph-amp":[{"type":"webview","id":"amp.sidebarView","name":"Amp","icon":"./resources/amp-mark.svg","visibility":"visible"}]},"commands":[{"command":"amp.agent.newThread","title":"New Thread","category":"Amp","icon":"$(add)"},{"command":"amp.agent.newWindow","title":"New Agent Window","category":"Amp","icon":"$(browser)","enablement":"amp.activated"},{"command":"amp.agent.toggleVisibility","title":"Toggle Agent","category":"Amp"},{"command":"amp.agent.focusPromptEditor","title":"Focus Prompt Editor","category":"Amp"},{"command":"amp.agent.addSelectionToPromptEditor","title":"Add Selection to Prompt","category":"Amp","enablement":"editorHasSelection"},{"command":"amp.agent.setPromptFromRecentActions","title":"Create Prompt from Recent Actions","category":"Amp"},{"command":"amp.agent.findInThread","title":"Find in Thread","category":"Amp","enablement":"amp.agent.active"},{"command":"amp.agent.collapseAllInThread","title":"Collapse all blocks in thread","category":"Amp"},{"command":"amp.agent.expandAllInThread","title":"Expand all blocks in thread","category":"Amp"},{"command":"amp.agent.expandToggleInThread","title":"Toggle expand all blocks in thread","category":"Amp"},{"command":"amp.agent.toggleThreadSwitcher","title":"Switch to Thread...","category":"Amp","enablement":"amp.agent.active"},{"command":"amp.agent.navigateThreadPrevious","title":"Navigate to Previous Thread","category":"Amp","enablement":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.agent.navigateThreadNext","title":"Navigate to Next Thread","category":"Amp","enablement":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.openThreadJSON","title":"Open Thread JSON","category":"Amp","enablement":"amp.isDevelopmentMode"},{"command":"amp.testThreadSummary","title":"Test Thread Summary","category":"Amp","enablement":"amp.isDevelopmentMode"},{"command":"amp.tab.showDebugPanel","title":"Show Amp Tab Debug Panel","category":"Amp","icon":"$(debug)","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.manualTrigger","title":"Amp Tab Manual Trigger","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.toggleForCurrentDocument","title":"Toggle Amp Tab for Current Document","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.debugInfo","title":"Open Amp Tab Debug Info","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.mcp.restartServers","title":"Restart MCP Servers","category":"Amp"}],"menus":{"editor/context":[{"command":"amp.agent.addSelectionToPromptEditor","when":"editorHasSelection","group":"amp@1"}]},"keybindings":[{"command":"amp.agent.newThread","key":"ctrl+l","mac":"cmd+l","when":"amp.primaryShortcuts"},{"command":"amp.agent.newThread","key":"ctrl+alt+j","mac":"cmd+alt+j","when":"!amp.primaryShortcuts"},{"command":"amp.agent.newWindow","key":"ctrl+shift+l","mac":"cmd+shift+l"},{"command":"amp.agent.toggleVisibility","key":"ctrl+i","mac":"cmd+i","when":"amp.primaryShortcuts"},{"command":"amp.agent.toggleVisibility","key":"ctrl+alt+u","mac":"cmd+alt+u","when":"!amp.primaryShortcuts"},{"command":"amp.agent.findInThread","key":"ctrl+f","mac":"cmd+f","when":"amp.agent.active"},{"command":"amp.agent.toggleThreadSwitcher","key":"ctrl+k","mac":"cmd+k","when":"amp.agent.active"},{"command":"amp.agent.navigateThreadPrevious","key":"ctrl+shift+[","mac":"cmd+shift+[","when":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.agent.navigateThreadNext","key":"ctrl+shift+]","mac":"cmd+shift+]","when":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"-extension.vim_tab","key":"tab","when":"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{"command":"-vscode-neovim.send","key":"tab","when":"neovim.init && (editorTextFocus && neovim.mode != insert && editorLangId not in neovim.editorLangIdExclusions || neovim.recording)"},{"command":"amp.tab.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested"},{"command":"amp.tab.dismiss","key":"escape","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.nextCursor.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.nextCursorSuggested"},{"command":"amp.nextCursor.discard","key":"escape","when":"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.autoImport.accept","key":"tab","when":"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested"},{"command":"amp.autoImport.discard","key":"escape","when":"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested"}],"configuration":{"type":"object","title":"Amp","properties":{"amp.url":{"type":"string","examples":["https://ampcode.com/"],"description":"URL to the Amp server, usually https://ampcode.com/","scope":"application"},"amp.notifications.enabled":{"type":"boolean","default":true,"description":"Play notification sound when done or blocked","scope":"window"},"amp.mcpServers":{"type":"object","description":"Model Context Protocol servers that expose tools","additionalProperties":{"type":"object","oneOf":[{"properties":{"command":{"type":"string"},"args":{"type":"array","items":{"type":"string"}},"env":{"type":"object","additionalProperties":{"type":"string"}}},"required":["command"]},{"properties":{"url":{"type":"string"}},"required":["url"]}]}},"amp.tools.disable":{"type":"array","description":"Disable specific tools by name.","items":{"type":"string"},"default":[]},"amp.experimental.tools":{"type":"array","description":"Enable experimental tools by name. Available tools: chat_llm","items":{"type":"string"},"default":[],"scope":"application"},"amp.commands.allowlist":{"type":"array","description":"Run specific terminal commands without waiting for user confirmation. Each item in the array is a prefix. For example, \\"curl https://localhost:8080\\" means that command and any command that starts with that prefix can be run without user confirmation.\\n\\nIf any of the array items is \\"*\\", all commands will be run without user confirmation (DANGER: USE AT YOUR OWN RISK).","items":{"type":"string"},"default":[],"scope":"window"},"amp.commands.strict":{"type":"boolean","default":false,"description":"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation.","scope":"application"},"amp.anthropic.thinking.enabled":{"type":"boolean","default":true,"description":"Enable Claude's extended thinking capabilities","scope":"application"},"amp.terminal.commands.hide":{"type":"boolean","default":true,"description":"Whether to hide the integrated VS Code terminal by default when starting commands","scope":"application"},"amp.terminal.commands.environment":{"type":"string","default":"vscode-terminal","enum":["vscode-terminal","node-spawn"],"description":"What environment to use when running terminal commands","scope":"application"},"amp.tools.stopTimeout":{"type":"number","default":300,"description":"How many seconds to wait before canceling a running tool.","scope":"application"},"amp.terminal.commands.vscodeTerminal.shellPath":{"type":"string","default":null,"description":"A path to a custom shell executable to be used in the terminal. When null, uses the default integrated terminal profile from the setting 'Terminal > Integrated > Default Profile'","scope":"application"},"amp.terminal.commands.vscodeTerminal.shellArgs":{"type":"array","items":{"type":"string"},"default":null,"description":"Args for the custom shell executable. Only used when 'amp.terminal.commands.vscodeTerminal.shellPath' is set.","scope":"application"},"amp.terminal.commands.vscodeTerminal.detachTimeout":{"type":"number","default":90,"description":"How many seconds to wait before detaching a running command to continue the conversation. The command continues to run in the background. This setting only has an effect when using the vscode-terminal environment.","scope":"application"},"amp.terminal.commands.nodeSpawn.loadProfile":{"type":"string","enum":["always","never","daily"],"default":"always","description":"Before running commands (including MCP servers), whether to load environment variables from the user's profile (.bashrc, .zshrc, .envrc) as visible from the workspace root directory.","scope":"application"},"amp.todos.enabled":{"type":"boolean","default":true,"description":"Enable TODOs tracking for managing tasks","scope":"application"},"amp.mode":{"type":"string","enum":["isolated","connected"],"deprecationMessage":"Isolated Mode is no longer supported. See https://ampcode.com/news/no-more-byok.","default":"connected","scope":"application"},"amp.hooks":{"type":"array","scope":"window","description":"[Experimental] Hooks are event handlers that can react to specific conditions.","items":{"type":"object","properties":{"compatibilityDate":{"type":"string","const":"2025-05-13","default":"2025-05-13","description":"The version of the hook schema that this value was written to conform to"},"id":{"type":"string","description":"A unique identifier for the hook","examples":["run-vitest-with-env-vars"]},"description":{"type":"string","description":"A description of the hook"},"on":{"oneOf":[{"type":"object","properties":{"event":{"type":"string","const":"tool:pre-execute","default":"tool:pre-execute","description":"Trigger when a tool is about to be executed"},"tool":{"oneOf":[{"type":"string","description":"Tool name to match (e.g., 'edit_file')"},{"type":"array","items":{"type":"string"},"description":"Tool names to match"}],"description":"Trigger for the given tool name(s)"},"input.contains":{"oneOf":[{"type":"string","description":"String pattern to match in the tool input"},{"type":"array","items":{"type":"string"},"description":"String patterns to match in the tool input"}],"description":"Trigger only when the tool input contains the given literal string or strings"}},"required":["event","tool","input.contains"]},{"type":"object","properties":{"event":{"type":"string","const":"tool:post-execute","default":"tool:post-execute","description":"Trigger after a tool has been executed"},"tool":{"oneOf":[{"type":"string","description":"Tool name to match (e.g., 'edit_file')"},{"type":"array","items":{"type":"string"},"description":"Tool names to match"}],"description":"Trigger for the given tool name(s)"}},"required":["event","tool"]}]},"action":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"send-user-message","default":"send-user-message","description":"Send a user message to interrupt the agent and cancel the tool call in the \`tool:pre-execute\` trigger before it starts to run"},"message":{"type":"string","description":"The text of the message to send"}},"required":["type","message"]},{"type":"object","properties":{"type":{"type":"string","const":"redact-tool-input","default":"redact-tool-input","description":"Redact the tool input after execution. Only allowed with \`tool:post-execute\` event."},"redactedInput":{"type":"object","description":"The replacement input data to use instead of the original tool input (must be an object)"}},"required":["type","redactedInput"]}]},"if":{"type":"boolean","description":"A condition that determines whether the hook should be executed","default":true}},"required":["compatibilityDate","id","on","action"]},"default":[]},"amp.tab.enabled":{"type":"boolean","default":false,"description":"Enable Amp Tab","scope":"application"},"amp.tab.verboseLogs":{"type":"boolean","default":false,"description":"Enable verbose logging for Amp Tab","scope":"application"},"amp.debugLogs":{"type":"boolean","default":false,"description":"Enable debug logging in the Amp output channel","scope":"application"},"amp.tab.disabledLanguages":{"type":"array","items":{"type":"string"},"default":[],"examples":["markdown","python"],"description":"List of language IDs for which Amp Tab is disabled","scope":"application"},"amp.tab.disableOnComment":{"type":"boolean","default":false,"description":"Disable Amp Tab completions on comment lines","scope":"application"},"amp.tab.autoImport.enabled":{"type":"boolean","default":true,"description":"Enable auto import in Amp Tab","scope":"application"},"amp.experimental.connections":{"type":"boolean","default":false,"description":"Enable external connections to provide additional tools to Amp","scope":"application"},"amp.ui.zoomLevel":{"type":"number","default":1,"description":"Zoom level for the Amp UI","scope":"application"},"amp.experimental.reviewTool":{"type":"boolean","default":false,"description":"Experimental: Enable the summarize_git_diff tool.","scope":"application"},"amp.summary.provider":{"type":"string","enum":["anthropic","gemini"],"default":"gemini","description":"Experimental: change summary provider.","scope":"application"}}},"icons":{"amp-agent-file":{"description":"Amp agent file","default":{"fontPath":"resources/amp-icons.woff","fontCharacter":"\\\\0041"}}}}`), Ydt = {
2320
+ }, Wdt = /* @__PURE__ */ JSON.parse(`{"viewsContainers":{"activitybar":[{"id":"sourcegraph-amp","title":"Amp","icon":"./resources/amp-mark.svg"}]},"views":{"sourcegraph-amp":[{"type":"webview","id":"amp.sidebarView","name":"Amp","icon":"./resources/amp-mark.svg","visibility":"visible"}]},"commands":[{"command":"amp.agent.newThread","title":"New Thread","category":"Amp","icon":"$(add)"},{"command":"amp.agent.newWindow","title":"New Agent Window","category":"Amp","icon":"$(browser)","enablement":"amp.activated"},{"command":"amp.agent.toggleVisibility","title":"Toggle Agent","category":"Amp"},{"command":"amp.agent.focusPromptEditor","title":"Focus Prompt Editor","category":"Amp"},{"command":"amp.agent.addSelectionToPromptEditor","title":"Add Selection to Prompt","category":"Amp","enablement":"editorHasSelection"},{"command":"amp.agent.setPromptFromRecentActions","title":"Create Prompt from Recent Actions","category":"Amp"},{"command":"amp.agent.findInThread","title":"Find in Thread","category":"Amp","enablement":"amp.agent.active"},{"command":"amp.agent.collapseAllInThread","title":"Collapse all blocks in thread","category":"Amp"},{"command":"amp.agent.expandAllInThread","title":"Expand all blocks in thread","category":"Amp"},{"command":"amp.agent.expandToggleInThread","title":"Toggle expand all blocks in thread","category":"Amp"},{"command":"amp.agent.toggleThreadSwitcher","title":"Switch to Thread...","category":"Amp","enablement":"amp.agent.active"},{"command":"amp.agent.navigateThreadPrevious","title":"Navigate to Previous Thread","category":"Amp","enablement":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.agent.navigateThreadNext","title":"Navigate to Next Thread","category":"Amp","enablement":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.openThreadJSON","title":"Open Thread JSON","category":"Amp","enablement":"amp.isDevelopmentMode"},{"command":"amp.testThreadSummary","title":"Test Thread Summary","category":"Amp","enablement":"amp.isDevelopmentMode"},{"command":"amp.tab.showDebugPanel","title":"Show Amp Tab Debug Panel","category":"Amp","icon":"$(debug)","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.manualTrigger","title":"Amp Tab Manual Trigger","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.toggleForCurrentDocument","title":"Toggle Amp Tab for Current Document","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.tab.debugInfo","title":"Open Amp Tab Debug Info","category":"Amp","enablement":"amp.activated && config.amp.tab.enabled"},{"command":"amp.mcp.restartServers","title":"Restart MCP Servers","category":"Amp"}],"menus":{"editor/context":[{"command":"amp.agent.addSelectionToPromptEditor","when":"editorHasSelection","group":"amp@1"}]},"keybindings":[{"command":"amp.agent.newThread","key":"ctrl+l","mac":"cmd+l","when":"amp.primaryShortcuts"},{"command":"amp.agent.newThread","key":"ctrl+alt+j","mac":"cmd+alt+j","when":"!amp.primaryShortcuts"},{"command":"amp.agent.newWindow","key":"ctrl+shift+l","mac":"cmd+shift+l"},{"command":"amp.agent.toggleVisibility","key":"ctrl+i","mac":"cmd+i","when":"amp.primaryShortcuts"},{"command":"amp.agent.toggleVisibility","key":"ctrl+alt+u","mac":"cmd+alt+u","when":"!amp.primaryShortcuts"},{"command":"amp.agent.findInThread","key":"ctrl+f","mac":"cmd+f","when":"amp.agent.active"},{"command":"amp.agent.toggleThreadSwitcher","key":"ctrl+k","mac":"cmd+k","when":"amp.agent.active"},{"command":"amp.agent.navigateThreadPrevious","key":"ctrl+shift+[","mac":"cmd+shift+[","when":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"amp.agent.navigateThreadNext","key":"ctrl+shift+]","mac":"cmd+shift+]","when":"amp.agent.active && amp.agent.activeView == 'sidebar'"},{"command":"-extension.vim_tab","key":"tab","when":"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{"command":"-vscode-neovim.send","key":"tab","when":"neovim.init && (editorTextFocus && neovim.mode != insert && editorLangId not in neovim.editorLangIdExclusions || neovim.recording)"},{"command":"amp.tab.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested"},{"command":"amp.tab.dismiss","key":"escape","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.nextCursor.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.nextCursorSuggested"},{"command":"amp.nextCursor.discard","key":"escape","when":"editorTextFocus && amp.activated && amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.autoImport.accept","key":"tab","when":"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested"},{"command":"amp.autoImport.discard","key":"escape","when":"editorTextFocus && amp.activated && config.amp.tab.enabled && amp.autoImportSuggested"}],"configuration":{"type":"object","title":"Amp","properties":{"amp.url":{"type":"string","examples":["https://ampcode.com/"],"description":"URL to the Amp server, usually https://ampcode.com/","scope":"application"},"amp.notifications.enabled":{"type":"boolean","default":true,"description":"Play notification sound when done or blocked","scope":"window"},"amp.mcpServers":{"type":"object","description":"Model Context Protocol servers that expose tools","additionalProperties":{"type":"object","oneOf":[{"properties":{"command":{"type":"string"},"args":{"type":"array","items":{"type":"string"}},"env":{"type":"object","additionalProperties":{"type":"string"}}},"required":["command"]},{"properties":{"url":{"type":"string"}},"required":["url"]}]}},"amp.tools.disable":{"type":"array","description":"Disable specific tools by name.","items":{"type":"string"},"default":[]},"amp.experimental.tools":{"type":"array","description":"Enable experimental tools by name. Available tools: chat_llm","items":{"type":"string"},"default":[],"scope":"application"},"amp.commands.agentTakeTheWheel":{"type":"boolean","description":"If true, never ask for confirmation when running commands","scope":"window","default":false},"amp.commands.allowlist":{"type":"array","description":"Run specific terminal commands without waiting for user confirmation. Each item in the array is a prefix. For example, \\"curl https://localhost:8080\\" means that command and any command that starts with that prefix can be run without user confirmation.\\n\\nIf any of the array items is \\"*\\", all commands will be run without user confirmation (DANGER: USE AT YOUR OWN RISK).","items":{"type":"string"},"default":[],"scope":"window"},"amp.commands.strict":{"type":"boolean","default":false,"description":"Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation.","scope":"application"},"amp.anthropic.thinking.enabled":{"type":"boolean","default":true,"description":"Enable Claude's extended thinking capabilities","scope":"application"},"amp.terminal.commands.hide":{"type":"boolean","default":true,"description":"Whether to hide the integrated VS Code terminal by default when starting commands","scope":"application"},"amp.terminal.commands.environment":{"type":"string","default":"vscode-terminal","enum":["vscode-terminal","node-spawn"],"description":"What environment to use when running terminal commands","scope":"application"},"amp.tools.stopTimeout":{"type":"number","default":300,"description":"How many seconds to wait before canceling a running tool.","scope":"application"},"amp.terminal.commands.vscodeTerminal.shellPath":{"type":"string","default":null,"description":"A path to a custom shell executable to be used in the terminal. When null, uses the default integrated terminal profile from the setting 'Terminal > Integrated > Default Profile'","scope":"application"},"amp.terminal.commands.vscodeTerminal.shellArgs":{"type":"array","items":{"type":"string"},"default":null,"description":"Args for the custom shell executable. Only used when 'amp.terminal.commands.vscodeTerminal.shellPath' is set.","scope":"application"},"amp.terminal.commands.vscodeTerminal.detachTimeout":{"type":"number","default":90,"description":"How many seconds to wait before detaching a running command to continue the conversation. The command continues to run in the background. This setting only has an effect when using the vscode-terminal environment.","scope":"application"},"amp.terminal.commands.nodeSpawn.loadProfile":{"type":"string","enum":["always","never","daily"],"default":"always","description":"Before running commands (including MCP servers), whether to load environment variables from the user's profile (.bashrc, .zshrc, .envrc) as visible from the workspace root directory.","scope":"application"},"amp.todos.enabled":{"type":"boolean","default":true,"description":"Enable TODOs tracking for managing tasks","scope":"application"},"amp.mode":{"type":"string","enum":["isolated","connected"],"deprecationMessage":"Isolated Mode is no longer supported. See https://ampcode.com/news/no-more-byok.","default":"connected","scope":"application"},"amp.hooks":{"type":"array","scope":"window","description":"[Experimental] Hooks are event handlers that can react to specific conditions.","items":{"type":"object","properties":{"compatibilityDate":{"type":"string","const":"2025-05-13","default":"2025-05-13","description":"The version of the hook schema that this value was written to conform to"},"id":{"type":"string","description":"A unique identifier for the hook","examples":["run-vitest-with-env-vars"]},"description":{"type":"string","description":"A description of the hook"},"on":{"oneOf":[{"type":"object","properties":{"event":{"type":"string","const":"tool:pre-execute","default":"tool:pre-execute","description":"Trigger when a tool is about to be executed"},"tool":{"oneOf":[{"type":"string","description":"Tool name to match (e.g., 'edit_file')"},{"type":"array","items":{"type":"string"},"description":"Tool names to match"}],"description":"Trigger for the given tool name(s)"},"input.contains":{"oneOf":[{"type":"string","description":"String pattern to match in the tool input"},{"type":"array","items":{"type":"string"},"description":"String patterns to match in the tool input"}],"description":"Trigger only when the tool input contains the given literal string or strings"}},"required":["event","tool","input.contains"]},{"type":"object","properties":{"event":{"type":"string","const":"tool:post-execute","default":"tool:post-execute","description":"Trigger after a tool has been executed"},"tool":{"oneOf":[{"type":"string","description":"Tool name to match (e.g., 'edit_file')"},{"type":"array","items":{"type":"string"},"description":"Tool names to match"}],"description":"Trigger for the given tool name(s)"}},"required":["event","tool"]}]},"action":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"send-user-message","default":"send-user-message","description":"Send a user message to interrupt the agent and cancel the tool call in the \`tool:pre-execute\` trigger before it starts to run"},"message":{"type":"string","description":"The text of the message to send"}},"required":["type","message"]},{"type":"object","properties":{"type":{"type":"string","const":"redact-tool-input","default":"redact-tool-input","description":"Redact the tool input after execution. Only allowed with \`tool:post-execute\` event."},"redactedInput":{"type":"object","description":"The replacement input data to use instead of the original tool input (must be an object)"}},"required":["type","redactedInput"]}]},"if":{"type":"boolean","description":"A condition that determines whether the hook should be executed","default":true}},"required":["compatibilityDate","id","on","action"]},"default":[]},"amp.tab.enabled":{"type":"boolean","default":false,"description":"Enable Amp Tab","scope":"application"},"amp.tab.verboseLogs":{"type":"boolean","default":false,"description":"Enable verbose logging for Amp Tab","scope":"application"},"amp.debugLogs":{"type":"boolean","default":false,"description":"Enable debug logging in the Amp output channel","scope":"application"},"amp.tab.disabledLanguages":{"type":"array","items":{"type":"string"},"default":[],"examples":["markdown","python"],"description":"List of language IDs for which Amp Tab is disabled","scope":"application"},"amp.tab.disableOnComment":{"type":"boolean","default":false,"description":"Disable Amp Tab completions on comment lines","scope":"application"},"amp.tab.autoImport.enabled":{"type":"boolean","default":true,"description":"Enable auto import in Amp Tab","scope":"application"},"amp.experimental.connections":{"type":"boolean","default":false,"description":"Enable external connections to provide additional tools to Amp","scope":"application"},"amp.ui.zoomLevel":{"type":"number","default":1,"description":"Zoom level for the Amp UI","scope":"application"},"amp.experimental.reviewTool":{"type":"boolean","default":false,"description":"Experimental: Enable the summarize_git_diff tool.","scope":"application"},"amp.summary.provider":{"type":"string","enum":["anthropic","gemini"],"default":"gemini","description":"Experimental: change summary provider.","scope":"application"}}},"icons":{"amp-agent-file":{"description":"Amp agent file","default":{"fontPath":"resources/amp-icons.woff","fontCharacter":"\\\\0041"}}}}`), Ydt = {
2321
2321
  contributes: Wdt
2322
2322
  }, jdt = Ydt.contributes.configuration.properties;
2323
2323
  function Kdt() {
@@ -117277,6 +117277,11 @@ const qBe = {
117277
117277
  visible: !0,
117278
117278
  description: "Enable strict command validation. When disabled, certain commands like Bazel get relaxed path validation."
117279
117279
  },
117280
+ "commands.agentTakeTheWheel": {
117281
+ value: !1,
117282
+ visible: !0,
117283
+ description: "Disable all command confirmation prompts (agent will execute all commands without asking)"
117284
+ },
117280
117285
  submitOnEnter: {
117281
117286
  value: !0,
117282
117287
  visible: !1,
@@ -125398,7 +125403,7 @@ async function uwr({
125398
125403
  }
125399
125404
  async function dwr(t) {
125400
125405
  try {
125401
- const e = await awr("0.0.1751343239-gad22a6");
125406
+ const e = await awr("0.0.1751356880-g87ab1b");
125402
125407
  e.hasUpdate && e.latestVersion ? (t.next({ type: "update-start-updating" }), setTimeout(async () => {
125403
125408
  try {
125404
125409
  await cwr(e.latestVersion), t.next({
@@ -127935,6 +127940,13 @@ const Fwr = [
127935
127940
  description: "Output format (ui: interactive terminal, jsonl: JSON Lines for scripts)",
127936
127941
  choices: ["ui", "jsonl"],
127937
127942
  hidden: !0
127943
+ },
127944
+ {
127945
+ name: "agentTakeTheWheel",
127946
+ long: "agent-take-the-wheel",
127947
+ type: "switch",
127948
+ default: !1,
127949
+ description: "Disable all command confirmation prompts (agent will execute all commands without asking)"
127938
127950
  }
127939
127951
  ];
127940
127952
  function Bwr(t, e) {
@@ -127974,7 +127986,7 @@ async function lg(t, e) {
127974
127986
  vI({
127975
127987
  logLevel: e.logLevel || process.env.AMP_LOG_LEVEL,
127976
127988
  logFile: e.logFile || process.env.AMP_LOG_FILE
127977
- }), bht("0.0.1751343239-gad22a6");
127989
+ }), bht("0.0.1751356880-g87ab1b");
127978
127990
  const r = e.settingsFile ?? process.env.AMP_SETTINGS_FILE;
127979
127991
  De.info("Using settings file", { settingsFile: r });
127980
127992
  const n = D4(), i = uBe({ settingsFile: r }), a = process.env.AMP_API_KEY;
@@ -127990,7 +128002,9 @@ async function lg(t, e) {
127990
128002
  } catch (S) {
127991
128003
  De.warn("Failed to wait for MCP servers, continuing anyway:", S);
127992
128004
  }
127993
- const h = (await Rn(ea)).settings["experimental.reviewTool"] ?? !1;
128005
+ const d = await Rn(ea);
128006
+ e.agentTakeTheWheel && (d.settings["commands.agentTakeTheWheel"] = !0);
128007
+ const h = d.settings["experimental.reviewTool"] ?? !1;
127994
128008
  CFe(l, !1, h);
127995
128009
  let p, f;
127996
128010
  if (t.isInteractiveMode) {
@@ -128093,11 +128107,11 @@ function qwr(t) {
128093
128107
  const o = s.originalError ?? s;
128094
128108
  nh(t, o);
128095
128109
  }), e.option("-V, --version", "output the version number", () => {
128096
- const o = "(released 2025-07-01T04:22:18.620Z)";
128110
+ const o = "(released 2025-07-01T08:09:55.610Z)";
128097
128111
  t.isTTY ? xi.write(
128098
- `0.0.1751343239-gad22a6 ${t.printer.print(o, { foreground: "gray" })}
128112
+ `0.0.1751356880-g87ab1b ${t.printer.print(o, { foreground: "gray" })}
128099
128113
  `
128100
- ) : xi.write(`0.0.1751343239-gad22a6 ${o}
128114
+ ) : xi.write(`0.0.1751356880-g87ab1b ${o}
128101
128115
  `), process.exit(0);
128102
128116
  }), e.addHelpText(
128103
128117
  "after",
@@ -206304,58 +206318,58 @@ function THr(t) {
206304
206318
  function wHr(t, e, r) {
206305
206319
  let n = [];
206306
206320
  try {
206307
- const l = J8e(t, r?.platform);
206308
- n = bLt(l);
206309
- } catch (l) {
206310
- De.warn("Failed to parse command", { cmd: t }, l), n = [t];
206321
+ const u = J8e(t, r?.platform);
206322
+ n = bLt(u);
206323
+ } catch (u) {
206324
+ De.warn("Failed to parse command", { cmd: t }, u), n = [t];
206311
206325
  }
206312
206326
  const i = r?.config?.["commands.allowlist"] || [], a = r?.config?.["commands.strict"] ?? !1;
206313
- if (i.includes("*"))
206327
+ if ((r?.config?.["commands.agentTakeTheWheel"] ?? !1) || i.includes("*"))
206314
206328
  return {
206315
206329
  requiresConfirmation: !1,
206316
- parts: n.map((l) => ({ command: l, requiresConfirmation: !1 }))
206317
- };
206318
- const s = n.map((l) => {
206319
- if (typeof l == "string")
206320
- return { command: l, requiresConfirmation: !0 };
206321
- if (vHr(l, i))
206322
- return { command: l, requiresConfirmation: !0 };
206323
- const u = EHr(l, a), d = l.arguments.some((m) => typeof m != "string");
206324
- function h(m) {
206325
- return m === rh ? "<dynamic>" : m;
206326
- }
206327
- const p = `${h(l.program)} ${l.arguments.map(h).join(" ")}`;
206328
- if (!d) {
206329
- for (const m of i)
206330
- if (p === m)
206331
- return { command: l, requiresConfirmation: !1 };
206332
- }
206333
- if (bHr(l))
206334
- return { command: l, requiresConfirmation: !0 };
206335
- if (SHr(p))
206336
- return sH(l, e, u) ? { command: l, requiresConfirmation: !0 } : { command: l, requiresConfirmation: !1 };
206337
- let f;
206330
+ parts: n.map((u) => ({ command: u, requiresConfirmation: !1 }))
206331
+ };
206332
+ const o = n.map((u) => {
206333
+ if (typeof u == "string")
206334
+ return { command: u, requiresConfirmation: !0 };
206335
+ if (vHr(u, i))
206336
+ return { command: u, requiresConfirmation: !0 };
206337
+ const d = EHr(u, a), h = u.arguments.some((_) => typeof _ != "string");
206338
+ function p(_) {
206339
+ return _ === rh ? "<dynamic>" : _;
206340
+ }
206341
+ const f = `${p(u.program)} ${u.arguments.map(p).join(" ")}`;
206342
+ if (!h) {
206343
+ for (const _ of i)
206344
+ if (f === _)
206345
+ return { command: u, requiresConfirmation: !1 };
206346
+ }
206347
+ if (bHr(u))
206348
+ return { command: u, requiresConfirmation: !0 };
206349
+ if (SHr(f))
206350
+ return sH(u, e, d) ? { command: u, requiresConfirmation: !0 } : { command: u, requiresConfirmation: !1 };
206351
+ let m;
206338
206352
  if (a)
206339
- f = i;
206353
+ m = i;
206340
206354
  else {
206341
- const m = THr(i);
206342
- f = [...FX.filter(
206343
- (v) => !m.has(v)
206355
+ const _ = THr(i);
206356
+ m = [...FX.filter(
206357
+ (y) => !_.has(y)
206344
206358
  ), ...i];
206345
206359
  }
206346
- for (let m of f) {
206347
- m.endsWith(" *") && (m = m.slice(0, -2));
206348
- const _ = " * ";
206349
- if (m.includes(_) && !m.startsWith(_)) {
206350
- const v = m.split(_).map((b) => b.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
206351
- if (new RegExp(`^${v.join(" .* ")}(\\s.*)?$`).test(p))
206352
- return sH(l, e, u) ? { command: l, requiresConfirmation: !0 } : { command: l, requiresConfirmation: !1 };
206353
- } else if (p === m || p.startsWith(m + " "))
206354
- return sH(l, e, u) ? { command: l, requiresConfirmation: !0 } : { command: l, requiresConfirmation: !1 };
206355
- }
206356
- return { command: l, requiresConfirmation: !0 };
206360
+ for (let _ of m) {
206361
+ _.endsWith(" *") && (_ = _.slice(0, -2));
206362
+ const v = " * ";
206363
+ if (_.includes(v) && !_.startsWith(v)) {
206364
+ const y = _.split(v).map((E) => E.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
206365
+ if (new RegExp(`^${y.join(" .* ")}(\\s.*)?$`).test(f))
206366
+ return sH(u, e, d) ? { command: u, requiresConfirmation: !0 } : { command: u, requiresConfirmation: !1 };
206367
+ } else if (f === _ || f.startsWith(_ + " "))
206368
+ return sH(u, e, d) ? { command: u, requiresConfirmation: !0 } : { command: u, requiresConfirmation: !1 };
206369
+ }
206370
+ return { command: u, requiresConfirmation: !0 };
206357
206371
  });
206358
- return { requiresConfirmation: s.some((l) => l.requiresConfirmation), parts: s };
206372
+ return { requiresConfirmation: o.some((u) => u.requiresConfirmation), parts: o };
206359
206373
  }
206360
206374
  var _T = { exports: {} };
206361
206375
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sourcegraph/amp",
3
- "version": "0.0.1751343239-gad22a6",
3
+ "version": "0.0.1751356880-g87ab1b",
4
4
  "description": "CLI for Amp, an agentic coding tool in research preview from Sourcegraph.",
5
5
  "homepage": "https://ampcode.com/",
6
6
  "author": {