@sourcegraph/amp 0.0.1755907295-g63f39f → 0.0.1755921674-g63f39f
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/dist/main.js +3 -3
- package/package.json +1 -1
package/dist/main.js
CHANGED
@@ -5063,7 +5063,7 @@ allow ${z}${G?` ${G}`:""}`}let J={stdin:process.stdin,stdout:process.stdout,stde
|
|
5063
5063
|
${U}`;if(B==="pnpm"&&U.includes("Unable to find the global bin directory"))F+=`
|
5064
5064
|
|
5065
5065
|
Hint: Try running "pnpm setup" to configure pnpm global directory, or use npm instead:
|
5066
|
-
npm install -g @sourcegraph/amp`;G(new Error(F))}},error:(Z)=>{if(!Y)Y=!0,G(new Error(`Failed to spawn ${B}: ${Z.message}`))},complete:()=>{if(!Y)Y=!0,z()}})})}var Ii1=Wi1.join(z00||Wi1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function Dn8(A,Q){let B={};if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")B.dangerouslyAllowAll=Q.dangerouslyAllowAll;if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")B.gpt5=Q.tryGpt5;if(A.getOptionValueSourceWithGlobals("blend")==="cli")B["internal.blend"]=Q.blend;return B}function Qj(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")pY("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")pY("gpt5",Q.tryGpt5);if(A.getOptionValueSourceWithGlobals("blend")==="cli")pY("internal.blend",Q.blend)}var uO2=j6.union([j6.object({command:j6.string(),args:j6.array(j6.string()).optional(),env:j6.record(j6.string(),j6.string()).optional()}).strict(),j6.object({url:j6.string()}).strict()]),pO2=j6.record(j6.string(),uO2);async function Ni1(A){try{await xO2(Wi1.dirname(Ii1),{recursive:!0}),await hO2(Ii1,A,"utf-8")}catch(Q){E1.debug("Failed to save last thread ID",Q)}}async function cO2(){try{return(await YNA(Ii1,"utf-8")).trim()}catch(A){return null}}async function dO2(A){let Q;try{Q=JSON.parse(A)}catch(B){throw new Error(`Failed to parse --mcp-config as JSON: ${B instanceof Error?B.message:String(B)}`)}try{return pO2.parse(Q)}catch(B){if(B instanceof j6.ZodError){let J=B.issues.map((D)=>`${D.path.join(".")}: ${D.message}`).join(", ");throw new Error(`Invalid MCP server configuration: ${J}`)}throw new Error(`Failed to validate MCP server configuration: ${String(B)}`)}}function lO2(A,Q){return{...A,async get(B){if(B==="mcpServers"){let J=await A.get(B)||{},D={};if(typeof J==="object")for(let[z,G]of Object.entries(J))D[z]={...G,_target:"global"};for(let[z,G]of Object.entries(Q))D[z]={...G,_target:"workspace"};return D}return A.get(B)},async keys(){let B=await A.keys();if(!B.includes("mcpServers"))B.push("mcpServers");return B},[Symbol.dispose](){A[Symbol.dispose]()}}}async function iO2(A){let Q=await cz(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new FB(gX.threadNotFound(A));throw new FB(`Failed to load thread ${A}`,1,`Use 'amp threads share ${A} --support' to share this with the Amp team if this persists.`)}return await Q.json()}var zNA=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when not in execute mode)`},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`,deprecated:!0},{name:"settingsFile",long:"settings-file",type:"option",default:process.env.AMP_SETTINGS_FILE??hX,description:`Custom settings file path (overrides the default location ${hX})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(E1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0,deprecated:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:yR(),description:(A)=>A?"Enable JetBrains integration. You must start Amp in the same directory as your JetBrains project. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration.",hidden:!0},{name:"interactive",long:"interactive",type:"flag",description:(A)=>A?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"tryGpt5",long:"try-gpt5",type:"switch",default:!1,description:"Try GPT-5 as the primary agent model (limited time; see https://ampcode.com/news/gpt-5)"},{name:"blend",long:"blend",type:"option",description:"Internal blend mode configuration",choices:["alloy-random"],hidden:!0}],GNA=(A)=>("deprecated"in A)&&A.deprecated===!0,aO2=(A)=>("hidden"in A)&&A.hidden===!0,rO2=(A)=>("default"in A),nO2=(A)=>("default"in A)?A.default:void 0;function sO2(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((X)=>B.includes(X)||X.includes(B)),G="Run amp --help for a list of available commands.";if(z.length>0)G=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new FB(gX.unknownCommand(B),1,G)}}function vX1(A){return{...A,getThreadEnvironment:PBA,createFileSystem:()=>ex,createFileChangeTrackerForThread:(Q)=>{let B=new Ah(ex);return v40(B,ex,Q)},generateThreadTitle:s01,internalAPIClient:UK}}var Vi1=R6.file(mO2.homedir()),qNA=process.env.XDG_CONFIG_HOME?R6.file(process.env.XDG_CONFIG_HOME):V6.joinPath(Vi1,".config");async function Bj(A,Q,B=!1){fo1("0.0.
|
5066
|
+
npm install -g @sourcegraph/amp`;G(new Error(F))}},error:(Z)=>{if(!Y)Y=!0,G(new Error(`Failed to spawn ${B}: ${Z.message}`))},complete:()=>{if(!Y)Y=!0,z()}})})}var Ii1=Wi1.join(z00||Wi1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function Dn8(A,Q){let B={};if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")B.dangerouslyAllowAll=Q.dangerouslyAllowAll;if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")B.gpt5=Q.tryGpt5;if(A.getOptionValueSourceWithGlobals("blend")==="cli")B["internal.blend"]=Q.blend;return B}function Qj(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")pY("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")pY("gpt5",Q.tryGpt5);if(A.getOptionValueSourceWithGlobals("blend")==="cli")pY("internal.blend",Q.blend)}var uO2=j6.union([j6.object({command:j6.string(),args:j6.array(j6.string()).optional(),env:j6.record(j6.string(),j6.string()).optional()}).strict(),j6.object({url:j6.string()}).strict()]),pO2=j6.record(j6.string(),uO2);async function Ni1(A){try{await xO2(Wi1.dirname(Ii1),{recursive:!0}),await hO2(Ii1,A,"utf-8")}catch(Q){E1.debug("Failed to save last thread ID",Q)}}async function cO2(){try{return(await YNA(Ii1,"utf-8")).trim()}catch(A){return null}}async function dO2(A){let Q;try{Q=JSON.parse(A)}catch(B){throw new Error(`Failed to parse --mcp-config as JSON: ${B instanceof Error?B.message:String(B)}`)}try{return pO2.parse(Q)}catch(B){if(B instanceof j6.ZodError){let J=B.issues.map((D)=>`${D.path.join(".")}: ${D.message}`).join(", ");throw new Error(`Invalid MCP server configuration: ${J}`)}throw new Error(`Failed to validate MCP server configuration: ${String(B)}`)}}function lO2(A,Q){return{...A,async get(B){if(B==="mcpServers"){let J=await A.get(B)||{},D={};if(typeof J==="object")for(let[z,G]of Object.entries(J))D[z]={...G,_target:"global"};for(let[z,G]of Object.entries(Q))D[z]={...G,_target:"workspace"};return D}return A.get(B)},async keys(){let B=await A.keys();if(!B.includes("mcpServers"))B.push("mcpServers");return B},[Symbol.dispose](){A[Symbol.dispose]()}}}async function iO2(A){let Q=await cz(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new FB(gX.threadNotFound(A));throw new FB(`Failed to load thread ${A}`,1,`Use 'amp threads share ${A} --support' to share this with the Amp team if this persists.`)}return await Q.json()}var zNA=[{name:"notifications",long:"notifications",type:"flag",description:(A)=>`${A?"Enable":"Disable"} sound notifications (enabled by default when not in execute mode)`},{name:"color",long:"color",type:"flag",description:(A)=>`${A?"Enable":"Disable"} color output (enabled by default if stdout and stderr are sent to a TTY)`,deprecated:!0},{name:"settingsFile",long:"settings-file",type:"option",default:process.env.AMP_SETTINGS_FILE??hX,description:`Custom settings file path (overrides the default location ${hX})`},{name:"logLevel",long:"log-level",type:"option",description:`Set log level (${Object.keys(E1).join(", ")})`},{name:"logFile",long:"log-file",type:"option",description:"Set log file location"},{name:"format",long:"format",type:"option",description:"output using the standard or new-ui. Options: `ui`, `new-ui`",choices:["ui","jsonl","new-ui"],hidden:!0,deprecated:!0},{name:"dangerouslyAllowAll",long:"dangerously-allow-all",type:"switch",default:!1,description:"Disable all command confirmation prompts (agent will execute all commands without asking)"},{name:"jetbrains",long:"jetbrains",type:"flag",default:yR(),description:(A)=>A?"Enable JetBrains integration. You must start Amp in the same directory as your JetBrains project. When enabled, Amp automatically includes your open JetBrains file and text selection with every message.":"Disable JetBrains integration.",hidden:!0},{name:"interactive",long:"interactive",type:"flag",description:(A)=>A?"Enable interactive mode. This will enable the interactive UI.":"Disable interactive mode. This will disable the interactive UI.",hidden:!0,deprecated:!0},{name:"mcpConfig",long:"mcp-config",type:"option",description:"JSON configuration or file path for MCP servers to merge with existing settings"},{name:"tryGpt5",long:"try-gpt5",type:"switch",default:!1,description:"Try GPT-5 as the primary agent model (limited time; see https://ampcode.com/news/gpt-5)"},{name:"blend",long:"blend",type:"option",description:"Internal blend mode configuration",choices:["alloy-random"],hidden:!0}],GNA=(A)=>("deprecated"in A)&&A.deprecated===!0,aO2=(A)=>("hidden"in A)&&A.hidden===!0,rO2=(A)=>("default"in A),nO2=(A)=>("default"in A)?A.default:void 0;function sO2(A,Q){let B=Q.args[0],J=Q.commands.map((z)=>z.name());if(B&&!B.includes(" ")&&B.length<30&&!/[./\\]/.test(B)){let z=J.filter((X)=>B.includes(X)||X.includes(B)),G="Run amp --help for a list of available commands.";if(z.length>0)G=`Did you mean: ${z.join(", ")}? Or run amp --help for all commands.`;throw new FB(gX.unknownCommand(B),1,G)}}function vX1(A){return{...A,getThreadEnvironment:PBA,createFileSystem:()=>ex,createFileChangeTrackerForThread:(Q)=>{let B=new Ah(ex);return v40(B,ex,Q)},generateThreadTitle:s01,internalAPIClient:UK}}var Vi1=R6.file(mO2.homedir()),qNA=process.env.XDG_CONFIG_HOME?R6.file(process.env.XDG_CONFIG_HOME):V6.joinPath(Vi1,".config");async function Bj(A,Q,B=!1){fo1("0.0.1755921674-g63f39f"),yo1(Q.jetbrains);let J=PZ1({storage:A.settings,secretStorage:A.secrets,workspaceRoots:XA.of([R6.file(process.cwd())]),defaultAmpURL:A.ampURL,defaultCacheDirectory:Mp1,homeDir:Vi1,userConfigDir:qNA}),D=await t8();E1.debug("Global configuration initialized",{hasCacheDirectory:!!D.settings.cacheDirectory,settingsKeys:Object.keys(D.settings)});let z=G11(bs()),G=b90({configService:J,toolService:z});if(process.env.AMP_TOOLBOX)d30(z,ex,U81);try{await G.initialized}catch(I){E1.warn("Failed to wait for MCP servers, continuing anyway:",I)}if(Q.jetbrains)try{E1.debug("ide-client",{terminalEmulator:process.env.TERMINAL_EMULATOR}),await XK.start()}catch(I){let N=I instanceof Error?I.message:String(I);OD(`Failed to connect to JetBrains IDE: ${N}`)}let X=D.settings["experimental.reviewTool"]??!1,K=D.settings["experimental.tools"]??[];R2A(z,!1,X,K,Q.jetbrains);let Y;if(!A.executeMode)Y=new dz1(process.cwd(),{},!0);else Y=new class extends dz1{async start(){}async query(){return[]}getStats(){return{state:"unstarted",stats:[]}}dispose(){}};if(!await A.secrets.get("apiKey",A.ampURL)){if(f4.write(`No API key found. Starting login flow...
|
5067
5067
|
`),!await oO2(A))process.exit(1)}let q=H40(),Z=new sw1(q),U=new aw1(q),F=new Y31(Z),E=Q.notifications!==void 0?Q.notifications:!A.executeMode,M=T2A({playNotificationSound:async(I)=>{if(E){if(j2A(I),!(B?Td1():gWA())&&D.settings["notifications.system.enabled"]!==!1){if(I==="idle")process.stdout.write("\x1B]777;notify;Amp;Agent is ready\x1B\\");else if(I==="requires-user-input")process.stdout.write("\x1B]777;notify;Amp;Waiting for approval\x1B\\")}}},windowFocused:()=>Promise.resolve(!1),threadService:Z});E1.info("Starting Amp background services");let W=bK0({threadService:Z,threadHistoryService:U,isExtensionDevelopment:!1}),w={configService:J,toolService:z,mcpService:G,threadService:Z,threadHistoryService:U,threadSummaryService:F,threadSyncService:W,threadStorage:q,secretStorage:A.secrets,settingsStorage:A.settings,fuzzyServer:Y,notificationService:M};return{...w,async dispose(){await w.mcpService.dispose(),w.configService.unsubscribe(),w.toolService.dispose(),w.fuzzyServer.dispose(),w.threadSyncService.dispose(),w.settingsStorage[Symbol.dispose]()}}}async function oO2(A){if(!A.executeMode){if(await tz1("Would you like to log in to Amp?",["(y)es","(n)o"])!="y")return f4.write(`Login cancelled. Run the command again to retry.
|
5068
5068
|
`),!1}return await ZNA(A)}async function ZNA(A){let Q=gO2(32).toString("hex"),B=await EEA(A.ampURL,Q);f4.write(`If your browser doesn't open automatically, visit:
|
5069
5069
|
|
@@ -5077,7 +5077,7 @@ ${J0.blue.bold(B)}
|
|
5077
5077
|
Login successful! You can now use the Amp CLI.
|
5078
5078
|
`),!0}catch(J){return J7.write(`
|
5079
5079
|
Login failed: ${J instanceof Error?J.message:String(J)}
|
5080
|
-
`),!1}}function tO2(A){let Q=A.outputHelp.bind(A);A.outputHelp=function(B){let J="",D=this.configureOutput();if(this.configureOutput({writeOut:(z)=>{J+=z},writeErr:(z)=>{J+=z}}),typeof B==="function")B(J);else Q(B);this.configureOutput(D),IEA(J)}}function UNA(A){tO2(A);for(let Q of A.commands)UNA(Q)}function eO2(){let A=new $J1().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});A.exitOverride((K)=>{if(K.code==="commander.help"||K.code==="commander.version"||K.exitCode===0)qf(),process.exit(0);let Y=K.originalError??K;Ra(Y)}),A.option("-V, --version","output the version number",()=>{f4.write(`0.0.
|
5080
|
+
`),!1}}function tO2(A){let Q=A.outputHelp.bind(A);A.outputHelp=function(B){let J="",D=this.configureOutput();if(this.configureOutput({writeOut:(z)=>{J+=z},writeErr:(z)=>{J+=z}}),typeof B==="function")B(J);else Q(B);this.configureOutput(D),IEA(J)}}function UNA(A){tO2(A);for(let Q of A.commands)UNA(Q)}function eO2(){let A=new $J1().name("amp").description("AI-powered coding assistant").option("--visibility <visibility>","Set thread visibility (private, public, team)").configureOutput({writeErr:()=>{}});A.exitOverride((K)=>{if(K.code==="commander.help"||K.code==="commander.version"||K.exitCode===0)qf(),process.exit(0);let Y=K.originalError??K;Ra(Y)}),A.option("-V, --version","output the version number",()=>{f4.write(`0.0.1755921674-g63f39f (released 2025-08-23T04:05:35.923Z)
|
5081
5081
|
`),process.exit(0)}),A.addHelpText("after",ZEA()),A.configureHelp({formatHelp:UEA}),A.command("logout").description("Log out by removing stored API key").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await _Z(q);await JC2(Z)}),A.command("login").description("Log in to Amp").addHelpText("after","If AMP_URL is set during login, it will be persisted to global settings for future CLI invocations, though AMP_URL will continue to take precedence.").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await _Z(q);await BC2(Z)});let Q=A.command("threads").alias("t").summary("Manage threads").description("Thread management commands. When no subcommand is provided, defaults to listing threads.").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await _Z(q);await KNA(q,Z,Y)});Q.command("new").alias("n").summary("Create a new thread").description("Create a new thread and print its ID. The thread will be empty. You can set the visibility using the --visibility option.").option("--visibility <visibility>","Set thread visibility (private, public, team)").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await _Z(q);await YC2(q,Z,Y)}),Q.command("continue [threadId]").alias("c").summary("Continue an existing thread").description("Continue an existing thread by resuming the conversation. If no thread ID is provided, the most recently used thread will be continued.").option("--pick","Pick a thread interactively from a list").action(async(K,Y,q)=>{let Z=q.optsWithGlobals(),U=await _Z(Z);if(Y.pick){PZ1({storage:U.settings,secretStorage:U.secrets,workspaceRoots:XA.of([R6.file(process.cwd())]),defaultAmpURL:U.ampURL,homeDir:Vi1,userConfigDir:qNA});let F=await qC2();if(F)await XNA(Z,U,F,q);else process.exit(0)}else await XNA(Z,U,K,q)}),Q.command("fork [threadId]").alias("f").summary("Fork an existing thread").description("Create a new thread by forking an existing one. This copies the conversation history up to the current point and creates a new thread where you can explore different directions. If no thread ID is provided, the most recently used thread will be forked.").action(async(K,Y,q)=>{let Z=q.optsWithGlobals(),U=await _Z(Z);await KC2(Z,U,K,q)}),Q.command("list").alias("l").summary("List all threads").description("List all your threads with their IDs, names, and last modified times.").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await _Z(q);await KNA(q,Z,Y)}),Q.command("share <threadId>").summary("Share a thread").description("Change thread visibility (private, public, team) or share with Amp support for debugging. Use --visibility to change who can access the thread, or --support to share with the Amp team for troubleshooting.").alias("s").option("--visibility <visibility>","Set thread visibility (private, public, team)").option("--support","Share thread with Amp support for debugging").action(async(K,Y,q)=>{let Z=q.optsWithGlobals(),U=await _Z(Z);await XC2(Z,U,K,q,Y.support)}),Q.command("compact <threadId>").alias("co").summary("Compact a thread").description("Compact a thread by creating a summary of the conversation history. This reduces the thread size while preserving the key information and context, making it more token efficient for future use.").action(async(K,Y,q)=>{let Z=q.optsWithGlobals(),U=await _Z(Z);await GC2(Z,U,K,q)}),fEA(A,async(K,Y)=>{let q=await _Z(Y);Qj(K,Y);let Z=await Bj(q,Y,!1);return{context:q,mcpService:Z.mcpService,toolService:Z.toolService,cleanupTerminal:qf,dispose:Z.dispose.bind(Z)}}),jEA(A);function B(K,Y,q){let U=typeof K.description==="string"?K.description:q===void 0?K.description(!0):K.description(q),F=new xi(Y,U),E=nO2(K);if(E)F.default(E);return F.hidden=aO2(K)||GNA(K),F}for(let K of zNA)switch(K.type){case"flag":{A.addOption(B(K,`--${K.long}`)),A.addOption(B(K,`--no-${K.long}`,!1));break}case"switch":{A.addOption(B(K,`--${K.long}`,!0));break}default:{A.addOption(B(K,`--${K.long} <value>`));break}}let J=new xi("-x, --execute [message]","Use execute mode, optionally with user message. In execute mode, agent will execute provided prompt (either as argument, or via stdin). Only last assistant message is printed. Enabled automatically when redirecting stdout.").default(!1);A.addOption(J);let D=new xi("--stream-json","When used with --execute, output in Claude Code compatible stream JSON format instead of plain text.").default(!1).hideHelp(!0);A.addOption(D);let z=new xi("--tui","Launch experimental TUI interface").hideHelp();A.addOption(z),A.action(async(K,Y)=>{let q=K,Z=await _Z(q);if(Object.keys(q).forEach((U)=>{if(U==="format"&&K.format==="jsonl"){J7.write(J0.yellow(`jsonl format is deprecated. Version "0.0.1753194394-g45962a" is required to use jsonl format.
|
5082
5082
|
`));return}let F=zNA.find((E)=>E.name===U);if(F&&GNA(F)&&!rO2(F))J7.write(J0.yellow(`Warning: '--${U}' flag is deprecated
|
5083
5083
|
`))}),Y.args.length>0)sO2(Z,Y);await HNA(Z,q,Y)});let G=new $J1("doctor").summary("Generate support bundle").description("Generate a support bundle for troubleshooting issues. This collects logs, configuration, and system information into a file that can be shared with Amp support for debugging.").option("--output-dir <path>","Directory to save the support bundle",process.cwd()).option("--include-full-logs","Include full log history",!1).allowUnknownOption(!1).action(async(K)=>{await zC2(K.outputDir,K.includeFullLogs)});A.addCommand(G);let X=new $J1("update").summary("Update Amp CLI").description("Update Amp CLI to the latest version. You can specify a particular version to install, or leave blank to get the latest stable release.").option("--version <version>","Update to a specific version").allowUnknownOption(!1).action(async(K)=>{await DC2(K.version)});return A.addCommand(X),UNA(A),A}async function SX1(A,Q,B){let{thread:J,visibility:D}=B,z=J?.id??jF(),G=vX1(Q);if(J)await Q.threadStorage.set(z,J);let X=await lD.getOrCreateForThread(G,z);if(D)await Q.threadSyncService.updateThreadMeta(z,nz1(D));let K=Q.threadService.observe(z).subscribe(async(Y)=>{if(q7(Y,"assistant"))await Ni1(z),K.unsubscribe()});return await X.resume(),X}async function HNA(A,Q,B){let J=process.stdin,D=rz1(Q);if(D instanceof Error)OD(D.message);let z,G=null;if(typeof Q.execute==="string"){z=Q.execute;let M=(await Gd1()).trimEnd();if(M)G=M}else z=(await Gd1()).trimEnd();if(Q.streamJson&&!A.executeMode)throw new FB("The --stream-json flag requires --execute mode",1,'Use: amp --execute "your message" --stream-json');if(A.executeMode&&z==="")throw new FB("User message must be provided through stdin or as argument when using execute mode",1,`Either pass a message as an argument: amp --execute "your message"
|
@@ -5097,7 +5097,7 @@ Or pipe via stdin: echo "your message" | amp --execute`);if(z!==""&&!A.executeMo
|
|
5097
5097
|
`);process.exit(0)}async function DC2(A){try{if(A)J7.write(J0.blue(`Updating to version ${A}...
|
5098
5098
|
`)),await Mi1(A),J7.write(J0.green(`✓ Successfully updated to version ${A}
|
5099
5099
|
`));else{J7.write(J0.blue(`Checking for updates...
|
5100
|
-
`));let Q=await U11("0.0.
|
5100
|
+
`));let Q=await U11("0.0.1755921674-g63f39f");if(!Q.hasUpdate)J7.write(J0.green(`✓ Amp CLI is already up to date.
|
5101
5101
|
`)),process.exit(0);J7.write(J0.blue(`Updating to version ${Q.latestVersion}...
|
5102
5102
|
`)),await Mi1(Q.latestVersion),J7.write(J0.green(`✓ Successfully updated to version ${Q.latestVersion}
|
5103
5103
|
`))}process.exit(0)}catch(Q){OD(Q instanceof Error?Q.message:String(Q))}}async function zC2(A,Q){try{J7.write(J0.green("Generating Amp support bundle...")+`
|
package/package.json
CHANGED