@@ -91,7 +91,13 @@ process.emitWarning = function (warning: any, ...args: any[]) {
9191const args = process . argv . slice ( 2 ) ;
9292const isQuickCommand = args . some (
9393 arg =>
94- arg === '--version' || arg === '-v' || arg === '--help' || arg === '-h' ,
94+ arg === '--version' ||
95+ arg === '-v' ||
96+ arg === '--help' ||
97+ arg === '-h' ||
98+ arg === '--acp' ||
99+ arg === '--sse' ||
100+ arg === '--sse-daemon' ,
95101) ;
96102
97103// Show loading indicator only for non-quick commands
@@ -216,6 +222,8 @@ Options
216222 --sse-port SSE server port (default: 3000)
217223 --sse-timeout SSE server interaction timeout in milliseconds (default: 300000, i.e. 5 minutes)
218224 --work-dir Working directory for SSE server (default: current directory)
225+ --acp Start ACP (Agent Client Protocol) server mode for external integration
226+ Uses stdin/stdout for JSON-RPC 2.0 communication
219227` ,
220228 {
221229 importMeta : import . meta,
@@ -297,6 +305,10 @@ Options
297305 type : 'string' ,
298306 alias : 'work-dir' ,
299307 } ,
308+ acp : {
309+ type : 'boolean' ,
310+ default : false ,
311+ } ,
300312 } ,
301313 } ,
302314) ;
@@ -490,6 +502,15 @@ if (cli.flags.sse) {
490502 }
491503}
492504
505+ // Handle ACP (Agent Client Protocol) server mode
506+ if ( cli . flags . acp ) {
507+ const { acpManager} = await import ( './utils/acp/acpManager.js' ) ;
508+
509+ // Start ACP server with stdin/stdout
510+ await acpManager . start ( process . stdin , process . stdout ) ;
511+ process . exit ( 0 ) ;
512+ }
513+
493514// Handle task creation - create and execute in background
494515if ( cli . flags . task ) {
495516 const { taskManager} = await import ( './utils/task/taskManager.js' ) ;
0 commit comments