@sourcegraph/amp 0.0.1749528382-g7cbb6a → 0.0.1749542544-gf071f0

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 CHANGED
@@ -1,18 +1,28 @@
1
1
  # Amp CLI
2
2
 
3
- [Amp](https://ampcode.com) is an agentic coding tool, in research preview from Sourcegraph. This is the CLI for Amp. You can also use [Amp in VS Code](https://marketplace.visualstudio.com/items?itemName=sourcegraph.amp).
3
+ [Amp](https://ampcode.com) is an agentic coding tool built by [Sourcegraph](https://sourcegraph.com). It runs in VS Code (and compatible forks like Cursor, Windsurf, and VSCodium) and as a command-line tool. It's also multiplayer — you can share threads and collaborate with your team.
4
4
 
5
- ## Usage
5
+ ## Installation
6
+
7
+ Install globally with your preferred package manager:
6
8
 
7
9
  ```bash
8
- npm install -g @sourcegraph/amp
10
+ pnpm add -g @sourcegraph/amp
9
11
  # or
10
12
  yarn global add @sourcegraph/amp
11
13
  # or
12
- pnpm add -g @sourcegraph/amp
14
+ npm install -g @sourcegraph/amp
13
15
  ```
14
16
 
15
- Then run:
17
+ Alternatively, run without installing:
18
+
19
+ ```bash
20
+ npx @sourcegraph/amp
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ After installation, run:
16
26
 
17
27
  ```bash
18
28
  amp
@@ -22,19 +32,31 @@ See [**Amp Owner's Manual**](https://ampcode.com/manual) for more information ab
22
32
 
23
33
  ## Authentication
24
34
 
25
- The first time you run `amp`, you'll authenticate via [ampcode.com](https://ampcode.com). Your threads will be synced and shareable, and you don't need to provide your own API keys for LLM inference.
35
+ **Option 1: Interactive Login (Recommended)**
36
+
37
+ The first time you run `amp`, use the login command to authenticate via [ampcode.com](https://ampcode.com):
38
+
39
+ ```bash
40
+ amp login
41
+ ```
42
+
43
+ This opens your browser to complete authentication. Your threads will be synced and shareable across all clients.
44
+
45
+ **Option 2: API Key Environment Variable**
26
46
 
27
- If you can't sign in with the web-based flow, you may also use an Amp API key as an environment variable:
47
+ If you can't use the interactive flow, set your API key as an environment variable:
28
48
 
29
- 1. Go to [ampcode.com/settings](https://ampcode.com/settings) to get your Amp API key.
30
- 2. Set it as an environment variable:
49
+ 1. Go to [ampcode.com/settings](https://ampcode.com/settings) to get your API key
50
+ 2. Set it in your environment:
31
51
 
32
52
  ```bash
33
- export AMP_API_KEY=your_amp_api_key_here
53
+ export AMP_API_KEY=your-api-key-here
34
54
  ```
35
55
 
36
- ## Configuration
56
+ ## Corporate Networks
37
57
 
38
- Settings are read from `~/.config/amp/settings.json` (or `$XDG_CONFIG_HOME/amp/settings.json` if defined). This is a JSON file that uses the same properties as in the [Amp VS Code extension](https://marketplace.visualstudio.com/items?itemName=sourcegraph.amp). See the [Amp Owner's Manual](https://ampcode.com/manual) for more information.
58
+ The Amp CLI supports proxy servers and custom certificates for corporate environments. See the [Corporate Networks section](https://ampcode.com/manual#corporate-networks) in the Amp Owner's Manual for configuration details.
59
+
60
+ ## Configuration
39
61
 
40
- API keys are read from `~/.local/share/amp/secrets.json`
62
+ For advanced settings and configuration file locations, see the [Configuration section](https://ampcode.com/manual#configuration) in the Amp Owner's Manual.
package/dist/amp.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import "./console-DYNXAhuM.js";
3
- import "./main-BqC4AhvX.js";
2
+ import "./console-ib3BAF0z.js";
3
+ import "./main-CNqBpqq3.js";
4
4
  import "node:crypto";
5
5
  import "node:fs/promises";
6
6
  import "node:path";
7
7
  import "node:process";
8
- import "./client-CVhur12l.js";
8
+ import "./client-D7uHneIc.js";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { f as n, E as i, aV as c, s as p, p as w } from "./console-DYNXAhuM.js";
2
+ import { f as n, E as i, aV as c, s as p, p as w } from "./console-ib3BAF0z.js";
3
3
  const m = !0;
4
4
  function f() {
5
5
  return new Proxy(
@@ -870,7 +870,7 @@ const Jb = XA();
870
870
  function Dge(n) {
871
871
  Jb.setSource(n.pipe(Qb()), !1);
872
872
  }
873
- const ir = Jb.observable, av = /* @__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.openThreadJSON","title":"Open Thread JSON","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"}],"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.addSelectionToPromptEditor","key":"ctrl+shift+.","mac":"cmd+shift+.","when":"editorTextFocus && editorHasSelection"},{"command":"amp.agent.focusPromptEditor","key":"ctrl+shift+.","mac":"cmd+shift+.","when":"editorTextFocus && !editorHasSelection"},{"command":"-extension.vim_tab","key":"tab","when":"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{"command":"amp.tab.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !inlineSuggestionVisible"},{"command":"amp.tab.dismiss","key":"escape","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.tab.testExample","key":"ctrl+alt+enter","when":"editorTextFocus && amp.activated && config.amp.tab.enabled"},{"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.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.subagents.return.of.the":{"type":"boolean","default":true,"description":"INTERNAL: Subagents","scope":"window"},"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":{"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"]},"action":{"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"]},"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":false,"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"}}},"icons":{"amp-agent-file":{"description":"Amp agent file","default":{"fontPath":"resources/amp-icons.woff","fontCharacter":"\\\\0041"}}}}`), iv = {
873
+ const ir = Jb.observable, av = /* @__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.openThreadJSON","title":"Open Thread JSON","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"}],"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.addSelectionToPromptEditor","key":"ctrl+shift+.","mac":"cmd+shift+.","when":"editorTextFocus && editorHasSelection"},{"command":"amp.agent.focusPromptEditor","key":"ctrl+shift+.","mac":"cmd+shift+.","when":"editorTextFocus && !editorHasSelection"},{"command":"-extension.vim_tab","key":"tab","when":"editorTextFocus && vim.active && vim.mode != 'Insert' && !inlineEditIsVisible && !inDebugRepl"},{"command":"amp.tab.accept","key":"tab","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !inlineSuggestionVisible"},{"command":"amp.tab.dismiss","key":"escape","when":"editorTextFocus && amp.activated && amp.tab.active && !amp.nextCursorSuggested && !suggestWidgetVisible"},{"command":"amp.tab.testExample","key":"ctrl+alt+enter","when":"editorTextFocus && amp.activated && config.amp.tab.enabled"},{"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.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.subagents.return.of.the":{"type":"boolean","default":true,"description":"INTERNAL: Subagents","scope":"window"},"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":{"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"]},"action":{"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"]},"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":false,"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"}}},"icons":{"amp-agent-file":{"description":"Amp agent file","default":{"fontPath":"resources/amp-icons.woff","fontCharacter":"\\\\0041"}}}}`), iv = {
874
874
  contributes: av
875
875
  }, sv = iv.contributes.configuration.properties;
876
876
  function ov() {
@@ -1045,7 +1045,7 @@ COMPLEMENTARY USE WITH CODEBASE_SEARCH:
1045
1045
  },
1046
1046
  source: "builtin"
1047
1047
  },
1048
- fn: import("./node-pVKNsUGR.js").then(({ nodeGrepTool: n }) => n)
1048
+ fn: import("./node-B3aC6KiK.js").then(({ nodeGrepTool: n }) => n)
1049
1049
  };
1050
1050
  var Age = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
1051
1051
  function ha(n) {
@@ -1952,7 +1952,7 @@ It's VERY IMPORTANT to use specific tools when searching for files, instead of i
1952
1952
  },
1953
1953
  source: "builtin"
1954
1954
  },
1955
- fn: import("./node-melUkE2F.js").then(({ nodeBashTool: n }) => n),
1955
+ fn: import("./node-BTMqSC6Y.js").then(({ nodeBashTool: n }) => n),
1956
1956
  preprocessArgs: (n) => {
1957
1957
  if (!n.cwd)
1958
1958
  try {
@@ -2011,7 +2011,7 @@ Prefer this tool over \`edit_file\` when you want to ovewrite the entire content
2011
2011
  content: n.content + `
2012
2012
  `
2013
2013
  },
2014
- fn: import("./create_file.node-DbnEvgoc.js").then(
2014
+ fn: import("./create_file.node-CgYTw2G0.js").then(
2015
2015
  ({ nodeCreateFileTool: n }) => n
2016
2016
  )
2017
2017
  };
@@ -4843,7 +4843,7 @@ Returns the contents of the file with each line prefixed by its line number. For
4843
4843
  switch ("node") {
4844
4844
  case "node":
4845
4845
  case "vscode":
4846
- return import("./read_file.node-ANVmmO1m.js").then(({ nodeReadFileTool: n }) => n);
4846
+ return import("./read_file.node-BAP1UooV.js").then(({ nodeReadFileTool: n }) => n);
4847
4847
  }
4848
4848
  })()
4849
4849
  }, bk = Jw({
@@ -4872,7 +4872,7 @@ If you need to replace the entire contents of a file, use \`${Co}\` instead, sin
4872
4872
  inputSchema: fw(bk),
4873
4873
  source: "builtin"
4874
4874
  },
4875
- fn: import("./edit_file.node-CaI13u86.js").then(({ nodeEditFileTool: n }) => n)
4875
+ fn: import("./edit_file.node-CZhP5e1b.js").then(({ nodeEditFileTool: n }) => n)
4876
4876
  };
4877
4877
  function bg(n) {
4878
4878
  return n.replace(/\\\\n/g, "\\n").replace(/\\\\t/g, "\\t").replace(/\\\\/g, "\\").replace(/\\"/g, '"').replace(/\\'/g, "'").replace(/\\n/g, `
@@ -5053,7 +5053,7 @@ Note: Results are sorted by modification time with the most recently modified fi
5053
5053
  },
5054
5054
  source: "builtin"
5055
5055
  },
5056
- fn: import("./glob.node-BLHdXTAN.js").then(({ nodeGlobTool: n }) => n)
5056
+ fn: import("./glob.node-3VzO02qE.js").then(({ nodeGlobTool: n }) => n)
5057
5057
  }, Ro = "list_directory", Qf = {
5058
5058
  spec: {
5059
5059
  name: Ro,
@@ -5074,7 +5074,7 @@ Note: Results are sorted by modification time with the most recently modified fi
5074
5074
  switch ("node") {
5075
5075
  case "node":
5076
5076
  case "vscode":
5077
- return import("./list_directory.node-Cgi54quk.js").then(
5077
+ return import("./list_directory.node-BB11yT32.js").then(
5078
5078
  ({ nodeListDirectoryTool: n }) => n
5079
5079
  );
5080
5080
  }
@@ -5161,7 +5161,7 @@ This tool converts web content to markdown format for better readability.`,
5161
5161
  requiresNetwork: !0
5162
5162
  }
5163
5163
  },
5164
- fn: import("./node-BtXyYHZ4.js").then(({ nodeReadWebPageTool: n }) => n)
5164
+ fn: import("./node-DMoAJle9.js").then(({ nodeReadWebPageTool: n }) => n)
5165
5165
  }, wk = "web_search", kk = `Search the web for information.
5166
5166
 
5167
5167
  Returns search result titles, associated URLs, and a small summary of the
@@ -5209,7 +5209,7 @@ the \`${ef}\` with the url.
5209
5209
  requiresNetwork: !0
5210
5210
  }
5211
5211
  },
5212
- fn: import("./node-DV4EOcve.js").then(({ nodeWebSearchTool: n }) => n)
5212
+ fn: import("./node-DLV6xcR2.js").then(({ nodeWebSearchTool: n }) => n)
5213
5213
  };
5214
5214
  function yC({ onlyFirst: n = !1 } = {}) {
5215
5215
  const t = [
@@ -25826,7 +25826,7 @@ async function N8(n, e) {
25826
25826
  }
25827
25827
  }
25828
25828
  async function w8(n, e) {
25829
- return (await import("./list_directory.node-Cgi54quk.js")).resolveArgumentDirectoryNode(n, e);
25829
+ return (await import("./list_directory.node-BB11yT32.js")).resolveArgumentDirectoryNode(n, e);
25830
25830
  }
25831
25831
  class k8 extends sl {
25832
25832
  #e = new AbortController();
@@ -27656,7 +27656,7 @@ async function W8({
27656
27656
  fileMentions: void 0,
27657
27657
  userState: void 0
27658
27658
  };
27659
- const i = (await import("./files-CkQSL46L.js").then(
27659
+ const i = (await import("./files-jxh8Mycq.js").then(
27660
27660
  ({ getFileMentions: o }) => o(
27661
27661
  Zf(t.content),
27662
27662
  a,
@@ -28885,7 +28885,7 @@ Returns a git-style diff showing the changes that were undone as formatted markd
28885
28885
  switch ("node") {
28886
28886
  case "node":
28887
28887
  case "vscode":
28888
- return import("./undo_edit.node-BTA5X7-u.js").then(({ nodeUndoEditTool: n }) => n);
28888
+ return import("./undo_edit.node-DPFRW3BM.js").then(({ nodeUndoEditTool: n }) => n);
28889
28889
  }
28890
28890
  })()
28891
28891
  }, Cm = globalThis.window?.document !== void 0;
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import u from "node:path";
3
- import { p as d, aF as f, aG as l } from "./console-DYNXAhuM.js";
3
+ import { p as d, aF as f, aG as l } from "./console-ib3BAF0z.js";
4
4
  const w = ({ args: t }, { dir: a, dirs: n, trackFileChange: c, filesystem: o }) => d(async (e) => {
5
5
  if (f(a), typeof t.content != "string")
6
6
  throw new Error("create_file: content must be specified");
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { p, aF as m, aG as F, aH as v, aI as _, aJ as b } from "./console-DYNXAhuM.js";
3
- import { recordEdit as x } from "./undo_edit.node-BTA5X7-u.js";
2
+ import { p, aF as m, aG as F, aH as v, aI as _, aJ as b } from "./console-ib3BAF0z.js";
3
+ import { recordEdit as x } from "./undo_edit.node-DPFRW3BM.js";
4
4
  class y {
5
5
  #e = !1;
6
6
  #t = [];
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { existsSync as o } from "node:fs";
3
3
  import { createRequire as t } from "node:module";
4
- import { C as i } from "./console-DYNXAhuM.js";
4
+ import { C as i } from "./console-ib3BAF0z.js";
5
5
  function u() {
6
6
  {
7
7
  if (process.env.AMP_RIPGREP_PATH)
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import T from "node:path";
3
- import { b9 as B, ba as I, C as v, bb as z, bc as C } from "./console-DYNXAhuM.js";
3
+ import { b9 as B, ba as I, C as v, bb as z, bc as C } from "./console-ib3BAF0z.js";
4
4
  async function A(r, h, a) {
5
5
  const x = await a.listFiles(h), i = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), m = [], M = /\b([\w/_-]+(?:\\.|[\w/_-])*(?:\.[\w-]+)+)\b/g, F = /(\/(?:[\w-]+\/|[\w-]+\\[.\s\S])+[\w.-]+(?:\\.|[\w.-])*(?:\.[\w-]+)+)\b/g, y = /\b([A-Za-z]:[\\\\][^\s"'<>|]*(?:\.[\w-]+)+)\b/g;
6
6
  await l(M, !1), await l(F, !0), await l(y, !0);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import { spawn as w } from "node:child_process";
3
- import { p as I } from "./index-DbwKirCH.js";
4
- import { O as v, g as N, m as E, C as P, aF as R } from "./console-DYNXAhuM.js";
5
- import { r as D } from "./executable-Bu3vnhAl.js";
3
+ import { p as I } from "./index-DLSjEr-w.js";
4
+ import { O as v, g as N, m as E, C as P, aF as R } from "./console-ib3BAF0z.js";
5
+ import { r as D } from "./executable-CLOf1IPG.js";
6
6
  const y = ({ args: i }, { dirs: r }) => {
7
7
  if (r.length === 0)
8
8
  return new v((s) => {
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { z as xt } from "./console-DYNXAhuM.js";
2
+ import { z as xt } from "./console-ib3BAF0z.js";
3
3
  var pt = {}, ft, Et;
4
4
  function ct() {
5
5
  if (Et) return ft;
@@ -2,7 +2,7 @@
2
2
  import c from "node:fs/promises";
3
3
  import u from "node:os";
4
4
  import s from "node:path";
5
- import { O as f, aK as i, aL as l, m, aM as p } from "./console-DYNXAhuM.js";
5
+ import { O as f, aK as i, aL as l, m, aM as p } from "./console-ib3BAF0z.js";
6
6
  const D = ({ args: r }, { dirs: t }) => {
7
7
  if (t.length === 0)
8
8
  return new f((e) => {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  import n from "node:os";
3
- import { O as r } from "./console-DYNXAhuM.js";
3
+ import { O as r } from "./console-ib3BAF0z.js";
4
4
  const e = process.env;
5
5
  function i(t, o = "always") {
6
6
  return o === "never" ? r.of(e) : r.of(e);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
- import { O as qe, s as $r, c as bh, a as _r, b as ti, f as Ue, d as Nt, p as Ft, m as Ee, e as Wn, g as wr, h as qt, i as mp, j as wh, o as ue, l as we, k as oe, n as re, q as be, r as Ge, t as Ke, u as He, v as ni, w as ot, x as _h, y as gp, z as ii, A as vp, M as Je, B as Sh, C as J, N as Hn, D as ai, E as Jr, F as Rs, G as yp, H as bp, I as xs, J as wp, K as Eh, L as _p, P as cl, Q as jt, R as Sp, S as Ep, T as Pp, U as Cp, V as Tp, W as Rp, X as xp, Y as Op, Z as Ap, _ as Lp, $ as Ip, a0 as $p, a1 as Dp, a2 as Mp, a3 as kp, a4 as Fp, a5 as qp, a6 as jp, a7 as Np, a8 as Ph, a9 as Up, aa as Gn, ab as Hp, ac as Bp, ad as zp, ae as st, af as Vp, ag as Wp, ah as Ch, ai as Ct, aj as ss, ak as ls, al as Yr, am as Gp, an as Kp, ao as Jp, ap as Yp, aq as Os, ar as Si, as as As, at as jr, au as us, av as Qp, aw as Zp, ax as fl, ay as Xp, az as em, aA as cs, aB as Th, aC as rm } from "./console-DYNXAhuM.js";
2
+ import { O as qe, s as $r, c as bh, a as _r, b as ti, f as Ue, d as Nt, p as Ft, m as Ee, e as Wn, g as wr, h as qt, i as mp, j as wh, o as ue, l as we, k as oe, n as re, q as be, r as Ge, t as Ke, u as He, v as ni, w as ot, x as _h, y as gp, z as ii, A as vp, M as Je, B as Sh, C as J, N as Hn, D as ai, E as Jr, F as Rs, G as yp, H as bp, I as xs, J as wp, K as Eh, L as _p, P as cl, Q as jt, R as Sp, S as Ep, T as Pp, U as Cp, V as Tp, W as Rp, X as xp, Y as Op, Z as Ap, _ as Lp, $ as Ip, a0 as $p, a1 as Dp, a2 as Mp, a3 as kp, a4 as Fp, a5 as qp, a6 as jp, a7 as Np, a8 as Ph, a9 as Up, aa as Gn, ab as Hp, ac as Bp, ad as zp, ae as st, af as Vp, ag as Wp, ah as Ch, ai as Ct, aj as ss, ak as ls, al as Yr, am as Gp, an as Kp, ao as Jp, ap as Yp, aq as Os, ar as Si, as as As, at as jr, au as us, av as Qp, aw as Zp, ax as fl, ay as Xp, az as em, aA as cs, aB as Th, aC as rm } from "./console-ib3BAF0z.js";
3
3
  import * as tm from "node:fs/promises";
4
4
  import nt, { readdir as Rh, stat as xh, readFile as Or, mkdir as Kn, writeFile as Lt, unlink as nm, readlink as im, open as am } from "node:fs/promises";
5
5
  import * as om from "node:path";
6
6
  import ge, { join as Ve, dirname as hl } from "node:path";
7
- import { i as dl, F as Ei, f as cr, a as sm, s as lm } from "./client-CVhur12l.js";
7
+ import { i as dl, F as Ei, f as cr, a as sm, s as lm } from "./client-D7uHneIc.js";
8
8
  import Ls from "node:events";
9
9
  import * as um from "node:child_process";
10
10
  import cm, { execFile as Oh, spawn as oi, exec as Nr } from "node:child_process";
@@ -18,7 +18,7 @@ import Sm, { createGzip as Em } from "node:zlib";
18
18
  import Pm from "node:string_decoder";
19
19
  import Cm, { createServer as Ah } from "node:http";
20
20
  import Tm from "node:https";
21
- import { r as Rm } from "./executable-Bu3vnhAl.js";
21
+ import { r as Rm } from "./executable-CLOf1IPG.js";
22
22
  import { pipeline as xm } from "node:stream/promises";
23
23
  import { lookup as Om } from "node:dns";
24
24
  const Ir = Symbol.for("@@pendingOperation");
@@ -4991,10 +4991,10 @@ async function Qv(t, e, n) {
4991
4991
  if ("url" in t)
4992
4992
  i = new Jv(new URL(t.url));
4993
4993
  else {
4994
- const { loadProfileEnvironmentVariables: r } = await import("./load-profile-B4oOvvSi.js"), a = n.loadProfile === "never" || !n.workingDirectory ? process.env : await Ue(
4994
+ const { loadProfileEnvironmentVariables: r } = await import("./load-profile-_E7DA5Pb.js"), a = n.loadProfile === "never" || !n.workingDirectory ? process.env : await Ue(
4995
4995
  r(n.workingDirectory, n.loadProfile)
4996
4996
  );
4997
- i = await import("./stdio-bGtSGugT.js").then(
4997
+ i = await import("./stdio-BOH85VOY.js").then(
4998
4998
  ({ StdioClientTransport: o }) => new o({
4999
4999
  ...t,
5000
5000
  stderr: "pipe",
@@ -5755,7 +5755,7 @@ IMPORTANT: The result of this tool (if any) should be displayed directly to the
5755
5755
  },
5756
5756
  source: "builtin"
5757
5757
  },
5758
- fn: import("./node-BI94Hp4Q.js").then(({ runRoutine: t }) => t)
5758
+ fn: import("./node-ePDLcsel.js").then(({ runRoutine: t }) => t)
5759
5759
  };
5760
5760
  let gu = !1;
5761
5761
  async function od(t, e = !1) {
@@ -17811,7 +17811,7 @@ async function Hr(t, e, { stdin: n, stdout: i } = { stdin: process.stdin, stdout
17811
17811
  n.on("data", u), n.once("error", s);
17812
17812
  });
17813
17813
  }
17814
- const Qd = import("./node-Cd8RO6WR.js").then(
17814
+ const Qd = import("./node-Ce8-vmdG.js").then(
17815
17815
  ({ nodeFileSystem: t }) => t
17816
17816
  ), ts = Ut(um.exec);
17817
17817
  async function Tw(t) {
@@ -18380,9 +18380,6 @@ async function Bw({
18380
18380
  P.next({
18381
18381
  type: "state",
18382
18382
  state: { type: "compacting" }
18383
- }), await b.handle({
18384
- type: "thread:truncate",
18385
- fromIndex: 0
18386
18383
  }), await b.handle({
18387
18384
  type: "summary:created",
18388
18385
  summary: {
@@ -19072,7 +19069,7 @@ async function Bw({
19072
19069
  }
19073
19070
  async function zw(t) {
19074
19071
  try {
19075
- const e = await Fw("0.0.1749528382-g7cbb6a");
19072
+ const e = await Fw("0.0.1749542544-gf071f0");
19076
19073
  e.hasUpdate && e.latestVersion ? (t.next({ type: "update-start-updating" }), setTimeout(async () => {
19077
19074
  try {
19078
19075
  await Uw(e.latestVersion), t.next({
@@ -20929,7 +20926,7 @@ async function At(t, e) {
20929
20926
  ei({
20930
20927
  logLevel: e.logLevel || process.env.AMP_LOG_LEVEL,
20931
20928
  logFile: e.logFile || process.env.AMP_LOG_FILE
20932
- }), rm("0.0.1749528382-g7cbb6a");
20929
+ }), rm("0.0.1749542544-gf071f0");
20933
20930
  const n = e.settingsFile ?? process.env.AMP_SETTINGS_FILE;
20934
20931
  J.info("Using settings file", { settingsFile: n });
20935
20932
  const i = Vn(), r = fd({ settingsFile: n }), a = process.env.AMP_API_KEY;
@@ -21037,7 +21034,7 @@ function m_(t) {
21037
21034
  const e = new Pu().name("amp").description("AI-powered coding assistant").option("--thread-id [THREAD_ID]", "ID of the thread to continue running", void 0);
21038
21035
  e.option("-V, --version", "output the version number", () => {
21039
21036
  if (t.isTTY) {
21040
- const a = "0.0.1749528382-g7cbb6a".match(/^(\d+\.\d+)\.(\d+)-(.+)$/);
21037
+ const a = "0.0.1749542544-gf071f0".match(/^(\d+\.\d+)\.(\d+)-(.+)$/);
21041
21038
  if (a) {
21042
21039
  const [, , o] = a;
21043
21040
  try {
@@ -21048,21 +21045,21 @@ function m_(t) {
21048
21045
  day: "numeric"
21049
21046
  });
21050
21047
  Ie.write(
21051
- `0.0.1749528382-g7cbb6a ${t.printer.print(`(released ${s})`, { foreground: "gray" })}
21048
+ `0.0.1749542544-gf071f0 ${t.printer.print(`(released ${s})`, { foreground: "gray" })}
21052
21049
  `
21053
21050
  );
21054
21051
  } else
21055
- Ie.write(`0.0.1749528382-g7cbb6a
21052
+ Ie.write(`0.0.1749542544-gf071f0
21056
21053
  `);
21057
21054
  } catch {
21058
- Ie.write(`0.0.1749528382-g7cbb6a
21055
+ Ie.write(`0.0.1749542544-gf071f0
21059
21056
  `);
21060
21057
  }
21061
21058
  } else
21062
- Ie.write(`0.0.1749528382-g7cbb6a
21059
+ Ie.write(`0.0.1749542544-gf071f0
21063
21060
  `);
21064
21061
  } else
21065
- Ie.write(`0.0.1749528382-g7cbb6a
21062
+ Ie.write(`0.0.1749542544-gf071f0
21066
21063
  `);
21067
21064
  process.exit(0);
21068
21065
  }), e.addHelpText(
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import { p as f } from "./index-DbwKirCH.js";
3
- import { aF as m, g, m as c, aQ as h, aR as d, aS as b, aT as S, c as E, O as _ } from "./console-DYNXAhuM.js";
4
- import { r as v } from "./executable-Bu3vnhAl.js";
2
+ import { p as f } from "./index-DLSjEr-w.js";
3
+ import { aF as m, g, m as c, aQ as h, aR as d, aS as b, aT as S, c as E, O as _ } from "./console-ib3BAF0z.js";
4
+ import { r as v } from "./executable-CLOf1IPG.js";
5
5
  const L = ({ args: a }, { dirs: s }) => {
6
6
  for (const e of s)
7
7
  m(e);
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import * as le from "node:os";
3
3
  import ee, { resolve as fe } from "node:path";
4
- import { aW as de, aX as _e, C as pe, aY as ne, aZ as ge, a_ as ve, aL as oe, aT as me, aK as be, aF as Se, O as se } from "./console-DYNXAhuM.js";
5
- import { loadProfileEnvironmentVariables as Ce } from "./load-profile-B4oOvvSi.js";
4
+ import { aW as de, aX as _e, C as pe, aY as ne, aZ as ge, a_ as ve, aL as oe, aT as me, aK as be, aF as Se, O as se } from "./console-ib3BAF0z.js";
5
+ import { loadProfileEnvironmentVariables as Ce } from "./load-profile-_E7DA5Pb.js";
6
6
  const ye = [
7
7
  // Basic read/info operations
8
8
  "ls",
@@ -4,9 +4,9 @@ import * as i from "node:fs";
4
4
  import * as o from "node:path";
5
5
  import { join as p } from "node:path";
6
6
  import { promisify as w } from "node:util";
7
- import { U as h } from "./main-BqC4AhvX.js";
8
- import { N as y, C as n, aM as c } from "./console-DYNXAhuM.js";
9
- import { ripgrepFiles as d } from "./glob.node-BLHdXTAN.js";
7
+ import { U as h } from "./main-CNqBpqq3.js";
8
+ import { N as y, C as n, aM as c } from "./console-ib3BAF0z.js";
9
+ import { ripgrepFiles as d } from "./glob.node-3VzO02qE.js";
10
10
  import { homedir as F } from "node:os";
11
11
  const g = p(F(), ".amp", "file-changes"), u = w(m);
12
12
  function B(a) {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { i as a, F as c, f as i } from "./client-CVhur12l.js";
3
- import { p as m, aU as l } from "./console-DYNXAhuM.js";
2
+ import { i as a, F as c, f as i } from "./client-D7uHneIc.js";
3
+ import { p as m, aU as l } from "./console-ib3BAF0z.js";
4
4
  const h = ({ args: e }, { threadID: o }) => m(async (s) => {
5
5
  try {
6
6
  const r = await a.webSearch(
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { ae as Pe, ad as st, p as lt } from "./console-DYNXAhuM.js";
2
+ import { ae as Pe, ad as st, p as lt } from "./console-ib3BAF0z.js";
3
3
  var pe = {}, Pu = {}, be = {}, Me;
4
4
  function ne() {
5
5
  return Me || (Me = 1, function(u) {
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { q as x, o as A, n as g, y as Y, r as j, l as h, x as I, u as J, w as V, A as k, a$ as z, b0 as W, b1 as q, a8 as C, b2 as L, ac as D, b3 as M, aB as _, f as Z, b4 as G, b5 as H, b6 as F, b7 as K, O as Q, b8 as N, _ as X, aa as ee, C as te } from "./console-DYNXAhuM.js";
3
- import { r as se } from "./main-BqC4AhvX.js";
2
+ import { q as x, o as A, n as g, y as Y, r as j, l as h, x as I, u as J, w as V, A as k, a$ as z, b0 as W, b1 as q, a8 as C, b2 as L, ac as D, b3 as M, aB as _, f as Z, b4 as G, b5 as H, b6 as F, b7 as K, O as Q, b8 as N, _ as X, aa as ee, C as te } from "./console-ib3BAF0z.js";
3
+ import { r as se } from "./main-CNqBpqq3.js";
4
4
  const S = A({
5
5
  context: V(["continue", "none"]).optional().default("continue"),
6
6
  tools: J([h("all"), x(g())]).optional(),
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { aN as F, p as d } from "./console-DYNXAhuM.js";
2
+ import { aN as F, p as d } from "./console-ib3BAF0z.js";
3
3
  const s = ({ args: n }, { dir: o, dirs: r, threadID: a, filesystem: e }) => {
4
4
  const t = F({ readFileFn: e.readFile });
5
5
  return d(
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
- import { ae as ee, z as re } from "./console-DYNXAhuM.js";
2
+ import { ae as ee, z as re } from "./console-ib3BAF0z.js";
3
3
  import ne from "node:child_process";
4
4
  import D from "node:path";
5
5
  import L from "node:fs";
6
6
  import R from "node:process";
7
7
  import { PassThrough as te } from "node:stream";
8
- import { J as se } from "./main-BqC4AhvX.js";
8
+ import { J as se } from "./main-CNqBpqq3.js";
9
9
  var S = { exports: {} }, T, k;
10
10
  function oe() {
11
11
  if (k) return T;
package/dist/storybook.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { aa as r, aD as a, as as c, aE as d, ay as f, az as x, ak as b, ax as I } from "./console-DYNXAhuM.js";
2
+ import { aa as r, aD as a, as as c, aE as d, ay as f, az as x, ak as b, ax as I } from "./console-ib3BAF0z.js";
3
3
  import { stdout as s } from "node:process";
4
4
  import { parseArgs as w } from "node:util";
5
5
  function D() {
@@ -3,7 +3,7 @@ import E from "node:crypto";
3
3
  import d, { writeFile as D } from "node:fs/promises";
4
4
  import g from "node:os";
5
5
  import a from "node:path";
6
- import { C as p, p as F, aF as C, aO as b, aP as _ } from "./console-DYNXAhuM.js";
6
+ import { C as p, p as F, aF as C, aO as b, aP as _ } from "./console-ib3BAF0z.js";
7
7
  class v {
8
8
  MAX_TRACKED_EDITS = 50;
9
9
  editQueue = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sourcegraph/amp",
3
- "version": "0.0.1749528382-g7cbb6a",
3
+ "version": "0.0.1749542544-gf071f0",
4
4
  "description": "CLI for Amp, an agentic coding tool in research preview from Sourcegraph.",
5
5
  "homepage": "https://ampcode.com/",
6
6
  "author": {