@sourcegraph/amp 0.0.1755979261-gcba290 → 0.0.1755993695-gcba290
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
@@ -5065,7 +5065,7 @@ allow ${z}${G?` ${G}`:""}`}let J={stdin:process.stdin,stdout:process.stdout,stde
|
|
5065
5065
|
${U}`;if(B==="pnpm"&&U.includes("Unable to find the global bin directory"))F+=`
|
5066
5066
|
|
5067
5067
|
Hint: Try running "pnpm setup" to configure pnpm global directory, or use npm instead:
|
5068
|
-
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 Si1=_i1.join(M00||_i1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function Es8(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 Jj(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")uY("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")uY("gpt5",Q.tryGpt5);if(A.getOptionValueSourceWithGlobals("blend")==="cli")uY("internal.blend",Q.blend)}var WC2=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()]),wC2=j6.record(j6.string(),WC2);async function vi1(A){try{await FC2(_i1.dirname(Si1),{recursive:!0}),await EC2(Si1,A,"utf-8")}catch(Q){H1.debug("Failed to save last thread ID",Q)}}async function IC2(){try{return(await yNA(Si1,"utf-8")).trim()}catch(A){return null}}async function NC2(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 wC2.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 VC2(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 OC2(A){let Q=await dz(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new FB(xX.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 SNA=[{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(H1).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:xR(),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}],vNA=(A)=>("deprecated"in A)&&A.deprecated===!0,CC2=(A)=>("hidden"in A)&&A.hidden===!0,LC2=(A)=>("default"in A),RC2=(A)=>("default"in A)?A.default:void 0;function jC2(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(xX.unknownCommand(B),1,G)}}function xX1(A){return{...A,getThreadEnvironment:AJA,vfs:R40({os:E11}),fileChangeTrackerStorage:new Gh(E11),generateThreadTitle:n01,internalAPIClient:ZK}}var ki1=O6.file(MC2.homedir()),bNA=process.env.XDG_CONFIG_HOME?O6.file(process.env.XDG_CONFIG_HOME):q6.joinPath(ki1,".config");async function Dj(A,Q,B=!1){lo1("0.0.
|
5068
|
+
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 Si1=_i1.join(M00||_i1.join(process.env.HOME||process.cwd(),".local","state"),"amp","last-thread-id");function Es8(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 Jj(A,Q){if(A.getOptionValueSourceWithGlobals("dangerouslyAllowAll")==="cli")uY("dangerouslyAllowAll",Q.dangerouslyAllowAll);if(A.getOptionValueSourceWithGlobals("tryGpt5")==="cli")uY("gpt5",Q.tryGpt5);if(A.getOptionValueSourceWithGlobals("blend")==="cli")uY("internal.blend",Q.blend)}var WC2=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()]),wC2=j6.record(j6.string(),WC2);async function vi1(A){try{await FC2(_i1.dirname(Si1),{recursive:!0}),await EC2(Si1,A,"utf-8")}catch(Q){H1.debug("Failed to save last thread ID",Q)}}async function IC2(){try{return(await yNA(Si1,"utf-8")).trim()}catch(A){return null}}async function NC2(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 wC2.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 VC2(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 OC2(A){let Q=await dz(`/api/threads/${A}`);if(!Q.ok){let B=await Q.text();if(Q.status===404||B.includes("not found"))throw new FB(xX.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 SNA=[{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(H1).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:xR(),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}],vNA=(A)=>("deprecated"in A)&&A.deprecated===!0,CC2=(A)=>("hidden"in A)&&A.hidden===!0,LC2=(A)=>("default"in A),RC2=(A)=>("default"in A)?A.default:void 0;function jC2(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(xX.unknownCommand(B),1,G)}}function xX1(A){return{...A,getThreadEnvironment:AJA,vfs:R40({os:E11}),fileChangeTrackerStorage:new Gh(E11),generateThreadTitle:n01,internalAPIClient:ZK}}var ki1=O6.file(MC2.homedir()),bNA=process.env.XDG_CONFIG_HOME?O6.file(process.env.XDG_CONFIG_HOME):q6.joinPath(ki1,".config");async function Dj(A,Q,B=!1){lo1("0.0.1755993695-gcba290"),io1(Q.jetbrains);let J=yZ1({storage:A.settings,secretStorage:A.secrets,workspaceRoots:GA.of([O6.file(process.cwd())]),defaultAmpURL:A.ampURL,defaultCacheDirectory:Rp1,homeDir:ki1,userConfigDir:bNA}),D=await e8();H1.debug("Global configuration initialized",{hasCacheDirectory:!!D.settings.cacheDirectory,settingsKeys:Object.keys(D.settings)});let z=U11(cs()),G=a90({configService:J,toolService:z});if(process.env.AMP_TOOLBOX)FO0(z,E11,W81);try{await G.initialized}catch(I){H1.warn("Failed to wait for MCP servers, continuing anyway:",I)}if(Q.jetbrains)try{H1.debug("ide-client",{terminalEmulator:process.env.TERMINAL_EMULATOR}),await GK.start()}catch(I){let N=I instanceof Error?I.message:String(I);LD(`Failed to connect to JetBrains IDE: ${N}`)}let X=D.settings["experimental.reviewTool"]??!1,K=D.settings["experimental.tools"]??[];n2A(z,!1,X,K,Q.jetbrains);let Y;if(!A.executeMode)Y=new nz1(process.cwd(),{},!0);else Y=new class extends nz1{async start(){}async query(){return[]}getStats(){return{state:"unstarted",stats:[]}}dispose(){}};if(!await A.secrets.get("apiKey",A.ampURL)){if(y4.write(`No API key found. Starting login flow...
|
5069
5069
|
`),!await TC2(A))process.exit(1)}let q=_40(),Z=new lw1(q),U=new pw1(q),F=new DV1(Z),E=Q.notifications!==void 0?Q.notifications:!A.executeMode,M=o2A({playNotificationSound:async(I)=>{if(E){if(s2A(I),!(B?xd1():KwA())&&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});H1.info("Starting Amp background services");let W=xK0({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 TC2(A){if(!A.executeMode){if(await JG1("Would you like to log in to Amp?",["(y)es","(n)o"])!="y")return y4.write(`Login cancelled. Run the command again to retry.
|
5070
5070
|
`),!1}return await xNA(A)}async function xNA(A){let Q=HC2(32).toString("hex"),B=await mEA(A.ampURL,Q);y4.write(`If your browser doesn't open automatically, visit:
|
5071
5071
|
|
@@ -5079,7 +5079,7 @@ ${J0.blue.bold(B)}
|
|
5079
5079
|
Login successful! You can now use the Amp CLI.
|
5080
5080
|
`),!0}catch(J){return D7.write(`
|
5081
5081
|
Login failed: ${J instanceof Error?J.message:String(J)}
|
5082
|
-
`),!1}}function $C2(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),dEA(J)}}function gNA(A){$C2(A);for(let Q of A.commands)gNA(Q)}function _C2(){let A=new kJ1().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)Uf(),process.exit(0);let Y=K.originalError??K;Sa(Y)}),A.option("-V, --version","output the version number",()=>{y4.write(`0.0.
|
5082
|
+
`),!1}}function $C2(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),dEA(J)}}function gNA(A){$C2(A);for(let Q of A.commands)gNA(Q)}function _C2(){let A=new kJ1().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)Uf(),process.exit(0);let Y=K.originalError??K;Sa(Y)}),A.option("-V, --version","output the version number",()=>{y4.write(`0.0.1755993695-gcba290 (released 2025-08-24T00:06:01.898Z)
|
5083
5083
|
`),process.exit(0)}),A.addHelpText("after",bEA()),A.configureHelp({formatHelp:xEA}),A.command("logout").description("Log out by removing stored API key").action(async(K,Y)=>{let q=Y.optsWithGlobals(),Z=await vZ(q);await kC2(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 vZ(q);await vC2(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 vZ(q);await fNA(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 vZ(q);await hC2(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 vZ(Z);if(Y.pick){yZ1({storage:U.settings,secretStorage:U.secrets,workspaceRoots:GA.of([O6.file(process.cwd())]),defaultAmpURL:U.ampURL,homeDir:ki1,userConfigDir:bNA});let F=await mC2();if(F)await kNA(Z,U,F,q);else process.exit(0)}else await kNA(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 vZ(Z);await gC2(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 vZ(q);await fNA(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 vZ(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 vZ(Z);await bC2(Z,U,K,q)}),zMA(A,async(K,Y)=>{let q=await vZ(Y);Jj(K,Y);let Z=await Dj(q,Y,!1);return{context:q,mcpService:Z.mcpService,toolService:Z.toolService,cleanupTerminal:Uf,dispose:Z.dispose.bind(Z)}}),oEA(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 di(Y,U),E=RC2(K);if(E)F.default(E);return F.hidden=CC2(K)||vNA(K),F}for(let K of SNA)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 di("-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 di("--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 di("--tui","Launch experimental TUI interface").hideHelp();A.addOption(z),A.action(async(K,Y)=>{let q=K,Z=await vZ(q);if(Object.keys(q).forEach((U)=>{if(U==="format"&&K.format==="jsonl"){D7.write(J0.yellow(`jsonl format is deprecated. Version "0.0.1753194394-g45962a" is required to use jsonl format.
|
5084
5084
|
`));return}let F=SNA.find((E)=>E.name===U);if(F&&vNA(F)&&!LC2(F))D7.write(J0.yellow(`Warning: '--${U}' flag is deprecated
|
5085
5085
|
`))}),Y.args.length>0)jC2(Z,Y);await hNA(Z,q,Y)});let G=new kJ1("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 yC2(K.outputDir,K.includeFullLogs)});A.addCommand(G);let X=new kJ1("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 fC2(K.version)});return A.addCommand(X),gNA(A),A}async function bX1(A,Q,B){let{thread:J,visibility:D}=B,z=J?.id??_F(),G=xX1(Q);if(J)await Q.threadStorage.set(z,J);let X=await iD.getOrCreateForThread(G,z);if(D)await Q.threadSyncService.updateThreadMeta(z,AG1(D));let K=Q.threadService.observe(z).subscribe(async(Y)=>{if(q7(Y,"assistant"))await vi1(z),K.unsubscribe()});return await X.resume(),X}async function hNA(A,Q,B){let J=process.stdin,D=ez1(Q);if(D instanceof Error)LD(D.message);let z,G=null;if(typeof Q.execute==="string"){z=Q.execute;let M=(await Ed1()).trimEnd();if(M)G=M}else z=(await Ed1()).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"
|
@@ -5099,7 +5099,7 @@ Or pipe via stdin: echo "your message" | amp --execute`);if(z!==""&&!A.executeMo
|
|
5099
5099
|
`);process.exit(0)}async function fC2(A){try{if(A)D7.write(J0.blue(`Updating to version ${A}...
|
5100
5100
|
`)),await $i1(A),D7.write(J0.green(`✓ Successfully updated to version ${A}
|
5101
5101
|
`));else{D7.write(J0.blue(`Checking for updates...
|
5102
|
-
`));let Q=await w11("0.0.
|
5102
|
+
`));let Q=await w11("0.0.1755993695-gcba290");if(!Q.hasUpdate)D7.write(J0.green(`✓ Amp CLI is already up to date.
|
5103
5103
|
`)),process.exit(0);D7.write(J0.blue(`Updating to version ${Q.latestVersion}...
|
5104
5104
|
`)),await $i1(Q.latestVersion),D7.write(J0.green(`✓ Successfully updated to version ${Q.latestVersion}
|
5105
5105
|
`))}process.exit(0)}catch(Q){LD(Q instanceof Error?Q.message:String(Q))}}async function yC2(A,Q){try{D7.write(J0.green("Generating Amp support bundle...")+`
|
package/package.json
CHANGED