@codions/portta 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/README.md +41 -88
  2. package/dist/assets/agents/hook.sh.tmpl +21 -0
  3. package/dist/assets/agents/instruction.md +8 -0
  4. package/dist/assets/agents/portta-context.ts.tmpl +24 -0
  5. package/dist/assets/skills/portta-adopt-compose/SKILL.md +220 -0
  6. package/dist/assets/skills/portta-dockerize/SKILL.md +118 -0
  7. package/dist/assets/skills/portta-host-context/SKILL.md +142 -0
  8. package/dist/cli.js +1542 -1017
  9. package/dist/documentation.json.gz +0 -0
  10. package/dist/runtime/.env.example +6 -42
  11. package/dist/runtime/VERSION +1 -1
  12. package/dist/runtime/docker/compose/features/web-dev.yaml +0 -2
  13. package/dist/runtime/docker/compose/features/web.yaml +0 -8
  14. package/dist/runtime/templates/README.md +3 -3
  15. package/dist/runtime/templates/overlays/06-monorepo.yaml +0 -7
  16. package/dist/runtime/templates/overlays/07-worktree.env +0 -1
  17. package/dist/runtime/templates/project/PORTTA.md +8 -7
  18. package/package.json +4 -15
  19. package/dist/acp-providers-M3DUUBYJ.js +0 -3
  20. package/dist/arktype-aI7TBD0R-SOJGD3SZ.js +0 -3
  21. package/dist/assets/skills/portta-workflows/SKILL.md +0 -285
  22. package/dist/assets/workflows/bake-off.workflow.js +0 -172
  23. package/dist/assets/workflows/code-review.workflow.js +0 -179
  24. package/dist/assets/workflows/deep-research.workflow.js +0 -223
  25. package/dist/assets/workflows/multi-provider-review.workflow.js +0 -169
  26. package/dist/assets/workflows/provider-debate.workflow.js +0 -141
  27. package/dist/assets/workflows/second-opinion.workflow.js +0 -176
  28. package/dist/chunk-3EZNE4MC.js +0 -6
  29. package/dist/chunk-4TGTGGMK.js +0 -4
  30. package/dist/chunk-4YGEG6YX.js +0 -1878
  31. package/dist/chunk-5SBYE3YH.js +0 -26
  32. package/dist/chunk-6J5HN4ZN.js +0 -3
  33. package/dist/chunk-6TV2V7RR.js +0 -3
  34. package/dist/chunk-CFWGQ7VJ.js +0 -19
  35. package/dist/chunk-EFZZFIRZ.js +0 -3
  36. package/dist/chunk-EH7H7D7J.js +0 -15
  37. package/dist/chunk-EYT7VTYA.js +0 -4
  38. package/dist/chunk-FRQCKCCK.js +0 -332
  39. package/dist/chunk-GI2EUNAK.js +0 -16
  40. package/dist/chunk-HB5T7XDN.js +0 -5
  41. package/dist/chunk-IILMQFWO.js +0 -14
  42. package/dist/chunk-LAYNTFDR.js +0 -70
  43. package/dist/chunk-MH5YJA5O.js +0 -2
  44. package/dist/chunk-O6U47HHQ.js +0 -341
  45. package/dist/chunk-OPVZAG2C.js +0 -10
  46. package/dist/chunk-PTKKSRMI.js +0 -223
  47. package/dist/chunk-Q3VNQ3LU.js +0 -3
  48. package/dist/chunk-QBKADN76.js +0 -4
  49. package/dist/chunk-QS5PHDYT.js +0 -240
  50. package/dist/chunk-SBVO6RXF.js +0 -87
  51. package/dist/chunk-T3TSZO4I.js +0 -7
  52. package/dist/chunk-TA2XHP5D.js +0 -4
  53. package/dist/chunk-UUSUJUAD.js +0 -7
  54. package/dist/chunk-UX7P3YHF.js +0 -3
  55. package/dist/chunk-VDSWNWUY.js +0 -168
  56. package/dist/chunk-WNZR7VOO.js +0 -145
  57. package/dist/chunk-YYSFNLBX.js +0 -5
  58. package/dist/cli-O2MMC25H.js +0 -98
  59. package/dist/completions-F4476JAU.js +0 -12
  60. package/dist/config-E5XLLPKE.js +0 -3
  61. package/dist/core-FSKGFGJO.js +0 -18
  62. package/dist/default-u_dwuiYb-OWTONHM6.js +0 -3
  63. package/dist/dispatch-ZCNGHCNP.js +0 -8
  64. package/dist/doctor-7F6ZXPZE.js +0 -5
  65. package/dist/effect-QlVUlMFu-4UNP2EGS.js +0 -3
  66. package/dist/esm-575VQW4T.js +0 -4
  67. package/dist/host.js +0 -8
  68. package/dist/init-HGEXUJP3.js +0 -245
  69. package/dist/linear-commands-XGHGICI7.js +0 -5
  70. package/dist/oneshot-DL57ZA55.js +0 -36
  71. package/dist/opencode-YDUTVKTG.js +0 -3
  72. package/dist/pi-L73UX3S5.js +0 -3
  73. package/dist/project-commands-2N44CRGM.js +0 -7
  74. package/dist/project-env-NWBVITHM.js +0 -4
  75. package/dist/run-commands-TCBNFJOT.js +0 -13
  76. package/dist/runtime/docker/compose/features/panel-host.yaml +0 -42
  77. package/dist/shell-ZWXPCUMD.js +0 -3
  78. package/dist/subprocess-jsonl-FQKDRENI.js +0 -3
  79. package/dist/supervisor.js +0 -179
  80. package/dist/sury-CWZTCd75-XQOYZHNU.js +0 -3
  81. package/dist/typebox-Dei93FPO-RCGWIHUQ.js +0 -3
  82. package/dist/valibot--1zFm7rT-DKLMYF44.js +0 -3
  83. package/dist/valibot-D_HTw1Gn-QTR63R64.js +0 -4
  84. package/dist/worktree-commands-F7REOKFJ.js +0 -50
  85. package/dist/zod-Bwrt9trS-6RSVELLV.js +0 -3
  86. package/dist/zod-DSgpEGAE-5JBFOUHY.js +0 -3
@@ -1,179 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{D as W,E as Wn,G as Jn,b as n,e as Un,f as x,g as j,h as A,j as a,k as R,m as o,p as g,r as G,t as c,v as u}from"./chunk-SBVO6RXF.js";import"./chunk-EH7H7D7J.js";import"./chunk-O6U47HHQ.js";import{b as Fn}from"./chunk-TA2XHP5D.js";import"./chunk-T3TSZO4I.js";import{a as p}from"./chunk-6J5HN4ZN.js";import{mkdirSync as $r}from"node:fs";import{dirname as Vr,join as Zt}from"node:path";import{mkdirSync as os}from"node:fs";import{dirname as rs}from"node:path";function as(i){return i===null?null:JSON.parse(i)}p(as,"parseJson");function Ne(i){return{id:i.id,status:i.status,transport:i.transport,provider:i.provider,sessionId:i.session_id,nativeSessionId:i.native_session_id,capabilities:i.capabilities_json===null?null:JSON.parse(i.capabilities_json),pid:i.pid,result:as(i.result_json),error:i.error,exitCode:i.exit_code,createdAt:i.created_at,updatedAt:i.updated_at,completedAt:i.completed_at}}p(Ne,"operationFromRow");function cs(i){return{id:i.id,operationId:i.
4
- operation_id,sequence:i.sequence,type:i.type,timestamp:i.timestamp,payload:JSON.parse(i.payload_json)}}p(cs,"eventFromRow");function Bn(i){os(rs(i),{recursive:!0});let e=Jn(i);e.pragma("journal_mode = WAL"),e.exec(`
5
- CREATE TABLE IF NOT EXISTS supervisor_operations (
6
- id TEXT PRIMARY KEY,
7
- status TEXT NOT NULL,
8
- transport TEXT NOT NULL,
9
- provider TEXT NOT NULL,
10
- launch_spec_json TEXT NOT NULL,
11
- session_id TEXT,
12
- native_session_id TEXT,
13
- capabilities_json TEXT,
14
- pid INTEGER,
15
- result_json TEXT,
16
- error TEXT,
17
- exit_code INTEGER,
18
- created_at TEXT NOT NULL,
19
- updated_at TEXT NOT NULL,
20
- completed_at TEXT
21
- );
22
- CREATE TABLE IF NOT EXISTS supervisor_events (
23
- id TEXT PRIMARY KEY,
24
- operation_id TEXT NOT NULL REFERENCES supervisor_operations(id),
25
- sequence INTEGER NOT NULL,
26
- type TEXT NOT NULL,
27
- timestamp TEXT NOT NULL,
28
- payload_json TEXT NOT NULL,
29
- UNIQUE(operation_id, sequence)
30
- );
31
- `);let s=e.prepare("SELECT * FROM supervisor_operations WHERE id = ?"),r=e.prepare(`
32
- INSERT INTO supervisor_operations (
33
- id, status, transport, provider, launch_spec_json, created_at, updated_at
34
- ) VALUES (@id, @status, @transport, @provider, @launchSpec, @createdAt, @updatedAt)
35
- `),d=e.prepare(`
36
- UPDATE supervisor_operations SET
37
- status = @status, session_id = @sessionId, native_session_id = @nativeSessionId,
38
- capabilities_json = @capabilities, pid = @pid, result_json = @result,
39
- error = @error, exit_code = @exitCode, updated_at = @updatedAt, completed_at = @completedAt
40
- WHERE id = @id
41
- `),l=e.prepare("SELECT MAX(sequence) AS sequence FROM supervisor_events WHERE operation_id = ?"),z=e.prepare(`
42
- INSERT INTO supervisor_events (id, operation_id, sequence, type, timestamp, payload_json)
43
- VALUES (@id, @operationId, @sequence, @type, @timestamp, @payload)
44
- `),h=e.prepare("SELECT * FROM supervisor_events WHERE operation_id = ? AND sequence > ? ORDER BY sequence"),f=e.prepare("SELECT * FROM supervisor_operations WHERE status IN ('starting', 'running', 'waiting_input') ORDER BY created_at"),T=e.prepare("SELECT * FROM supervisor_operations ORDER BY created_at"),S=e.prepare("SELECT * FROM supervisor_operations WHERE substr(id, 1, length(?)) = ? ORDER BY created_at"),y=p(_=>{let O=s.get(_);return O?Ne(O):null},"get");return{create(_){let O=y(_.operationId);
45
- if(O)return{operation:O,replayed:!0};let I=new Date().toISOString();r.run({id:_.operationId,status:"starting",transport:_.transport,provider:_.provider,launchSpec:JSON.stringify(_),createdAt:I,updatedAt:I});let N=y(_.operationId);if(!N)throw new Error(`Unable to persist supervisor operation: ${_.operationId}`);return{operation:N,replayed:!1}},get:y,update(_,O){let I=y(_);if(!I)throw new Error(`Supervisor operation was not found: ${_}`);let N={...I,...O,updatedAt:new Date().toISOString()};d.run({
46
- id:_,status:N.status,sessionId:N.sessionId,nativeSessionId:N.nativeSessionId,capabilities:N.capabilities===null?null:JSON.stringify(N.capabilities),pid:N.pid,result:N.result===null?null:JSON.stringify(N.result),error:N.error,exitCode:N.exitCode,updatedAt:N.updatedAt,completedAt:N.completedAt});let D=y(_);if(!D)throw new Error(`Unable to update supervisor operation: ${_}`);return D},appendEvent(_,O,I){if(!y(_))throw new Error(`Supervisor operation was not found: ${_}`);let N=(l.get(_)?.sequence??
47
- 0)+1,D=new Date().toISOString(),ce={id:`${_}:${N}`,operationId:_,sequence:N,type:O,timestamp:D,payload:I};return z.run({...ce,payload:JSON.stringify(I)}),ce},listEvents(_,O){return h.all(_,O).map(cs)},listActive(){return f.all().map(Ne)},list(_){return(_?S.all(_,_):T.all()).map(Ne)},close(){e.close()}}}p(Bn,"createAgentSupervisorStore");function ds(i,e,s,r,d){if(i.provider==="host")return{command:e,args:s,cwd:r,env:d};if(!i.containerRef)throw new Error(`${i.provider} execution has no container reference`);return{command:"docker",args:["exec","-i","-w",r,...Object.entries(d).flatMap(([l,z])=>["-e",`${l}=${z}`]),i.containerRef,e,...s],cwd:i.hostPath}}p(ds,"commandFor");function ls(i){return{pid:i.pid,stdout:i.stdout,stderr:i.stderr,exited:i.exited,write:p(e=>i.writeStdin(e),"write"),closeStdin:p(()=>i.closeStdin(),"closeStdin"),interrupt:p(
48
- async()=>{i.kill("SIGINT")},"interrupt"),kill:p(async()=>{i.kill("SIGKILL")},"kill")}}p(ls,"commandHandle");function ye(i,e,s,r,d,l=new Wn){let z=ds(i,e,s,r,d);return ls(l.start({command:z.command,args:z.args,cwd:z.cwd,env:z.env,keepStdinOpen:!0}))}p(ye,"launchSupervisorCommand");function $n(i,e){return ye(i.execution,i.command,i.args,i.cwd,i.env??{},e)}p($n,"launchSupervisorAgent");import{setTimeout as Vt}from"node:timers/promises";import{randomUUID as Dr}from"node:crypto";var m={initialize:"initialize",authenticate:"authenticate",providers_list:"providers/list",providers_set:"providers/set",providers_disable:"providers/disable",session_new:"session/new",session_load:"session/load",session_set_mode:"session/set_mode",session_set_config_option:"session/set_config_option",session_prompt:"session/prompt",session_cancel:"session/cancel",mcp_message:"mcp/message",session_list:"session/list",session_delete:"session/delete",session_fork:"session/fork",session_resume:"ses\
49
- sion/resume",session_close:"session/close",logout:"logout",nes_start:"nes/start",nes_suggest:"nes/suggest",nes_accept:"nes/accept",nes_reject:"nes/reject",nes_close:"nes/close",document_did_open:"document/didOpen",document_did_change:"document/didChange",document_did_close:"document/didClose",document_did_save:"document/didSave",document_did_focus:"document/didFocus"},E={session_request_permission:"session/request_permission",session_update:"session/update",fs_write_text_file:"fs/write_text_file",
50
- fs_read_text_file:"fs/read_text_file",terminal_create:"terminal/create",terminal_output:"terminal/output",terminal_release:"terminal/release",terminal_wait_for_exit:"terminal/wait_for_exit",terminal_kill:"terminal/kill",mcp_connect:"mcp/connect",mcp_message:"mcp/message",mcp_disconnect:"mcp/disconnect",elicitation_create:"elicitation/create",elicitation_complete:"elicitation/complete"},Oe={cancel_request:"$/cancel_request"},Ce=1;var Vn=Symbol("skippedItem");function t(i,e){return i.catch(e)}p(t,"defaultOnError");function k(i,e){let s=i.catch(e);return W.unknown().transform((r,d)=>r!==void 0?s.parse(r):(d.addIssue({code:"custom",message:"Required value is missing"}),W.NEVER))}p(k,"requiredDefaultOnError");function Xn(i,e){if(i===null||typeof i!="object"||Array.isArray(i))return;let s=i[e];return typeof s=="string"?s:void 0}p(Xn,"stringTag");function ee(i,e,s){return i.superRefine((r,d)=>{let l=Xn(r,e);l!==void 0&&s.includes(
51
- l)&&d.addIssue({code:"custom",path:[e],message:`${e} ${JSON.stringify(l)} is reserved by a known variant, but the value does not match that variant's schema`})})}p(ee,"excludeKnownTags");function ne(i,e,s){return W.unknown().transform((r,d)=>{let l=i.safeParse(r);if(!l.success){for(let f of l.error.issues)d.addIssue({...f,input:r});return W.NEVER}let z=l.data,h=Xn(r,e);if(h!==void 0&&!s.includes(h)){let f=r;for(let[T,S]of Object.entries(f))T!=="__proto__"&&(Object.hasOwn(z,T)||(z[T]=S))}return z})}
52
- p(ne,"preserveCustomPayload");function b(i){return W.array(i.catch(Vn)).transform(e=>e.filter(s=>s!==Vn))}p(b,"vecSkipError");var L=g([x(),n()]).nullable(),w=n(),Ie=o({sessionId:w,path:n(),content:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),je=o({sessionId:w,path:n(),line:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),limit:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Me=n(),Kn=g([u("read"),u("edit"),u("delete"),u("move"),u("search"),u("execute"),u("think"),u(
53
- "fetch"),u("switch_mode"),u("other")]),Qn=g([u("pending"),u("in_progress"),u("completed"),u("failed")]),zs=g([u("assistant"),u("user")]),te=o({audience:t(b(zs).nullish(),()=>{}),lastModified:t(n().nullish(),()=>{}),priority:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ms=o({annotations:t(te.nullish(),()=>{}),text:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),hs=o({annotations:t(te.nullish(),()=>{}),data:n(),mimeType:n(),uri:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),
54
- fs=o({annotations:t(te.nullish(),()=>{}),data:n(),mimeType:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),gs=o({annotations:t(te.nullish(),()=>{}),description:t(n().nullish(),()=>{}),mimeType:t(n().nullish(),()=>{}),name:n(),size:t(x().nullish(),()=>{}),title:t(n().nullish(),()=>{}),uri:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),_s=o({mimeType:t(n().nullish(),()=>{}),text:n(),uri:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Ss=o({blob:n(),mimeType:t(n().nullish(),()=>{}),uri:n(),_meta:t(c(n(),a()).nullish(),
55
- ()=>{})}),Es=g([_s,Ss]),bs=o({annotations:t(te.nullish(),()=>{}),resource:Es,_meta:t(c(n(),a()).nullish(),()=>{})}),se=g([ms.and(o({type:u("text")})),hs.and(o({type:u("image")})),fs.and(o({type:u("audio")})),gs.and(o({type:u("resource_link")})),bs.and(o({type:u("resource")}))]),Ts=o({content:se,_meta:t(c(n(),a()).nullish(),()=>{})}),ws=o({path:n(),oldText:t(n().nullish(),()=>{}),newText:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),B=n(),xs=o({terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),Yn=g(
56
- [Ts.and(o({type:u("content")})),ws.and(o({type:u("diff")})),xs.and(o({type:u("terminal")}))]),Zn=o({path:n(),line:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),et=o({toolCallId:Me,kind:t(Kn.nullish(),()=>{}),status:t(Qn.nullish(),()=>{}),title:t(n().nullish(),()=>{}),name:t(n().nullish(),()=>{}),content:t(b(Yn).nullish(),()=>{}),locations:t(b(Zn).nullish(),()=>{}),rawInput:t(a().optional(),()=>{}),
57
- rawOutput:t(a().optional(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),nt=n(),vs=g([u("allow_once"),u("allow_always"),u("reject_once"),u("reject_always")]),Rs=o({optionId:nt,name:n(),kind:vs,_meta:t(c(n(),a()).nullish(),()=>{})}),ke=o({sessionId:w,toolCall:et,options:R(Rs),_meta:t(c(n(),a()).nullish(),()=>{})}),tt=o({name:n(),value:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),De=o({sessionId:w,command:n(),args:t(b(n()).optional(),()=>[]),env:t(b(tt).optional(),()=>[]),cwd:t(n().nullish(),()=>{}),
58
- outputByteLimit:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),qe=o({sessionId:w,terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),He=o({sessionId:w,terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),Pe=o({sessionId:w,terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),Ge=o({sessionId:w,terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),ie=o({sessionId:w,toolCallId:t(Me.nullish(),()=>{})}),oe=o({requestId:L}),Ns=u("object"),ys=g([u("email"),u("uri"),u("date"),u("date-time")]),
59
- st=o({const:n(),title:n(),description:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Le=o({title:t(n().nullish(),()=>{}),description:t(n().nullish(),()=>{}),minLength:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),maxLength:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),pattern:n().nullish(),format:ys.nullish(),default:t(n().nullish(),()=>{}),enum:R(n()).nullish(),oneOf:R(st).nullish(),
60
- _meta:t(c(n(),a()).nullish(),()=>{})}),Ue=o({title:t(n().nullish(),()=>{}),description:t(n().nullish(),()=>{}),minimum:x().nullish(),maximum:x().nullish(),default:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Fe=o({title:t(n().nullish(),()=>{}),description:t(n().nullish(),()=>{}),minimum:x().nullish(),maximum:x().nullish(),default:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),We=o({title:t(n().nullish(),()=>{}),description:t(n().nullish(),()=>{}),default:t(A().nullish(),
61
- ()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Je=o({enum:R(n()),_meta:t(c(n(),a()).nullish(),()=>{})}),it=o({anyOf:R(st),_meta:t(c(n(),a()).nullish(),()=>{})}),Os=ne(g([Je.and(o({type:u("string")})),ee(o({type:n()}),"type",["string"]),it]),"type",["string"]),Be=o({title:t(n().nullish(),()=>{}),description:t(n().nullish(),()=>{}),minItems:x().nullish(),maxItems:x().nullish(),items:Os,default:t(b(n()).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Cs=ne(g([Le.and(o({type:u("string")})),
62
- Ue.and(o({type:u("number")})),Fe.and(o({type:u("integer")})),We.and(o({type:u("boolean")})),Be.and(o({type:u("array")})),ee(o({type:n()}),"type",["array","boolean","integer","number","string"])]),"type",["array","boolean","integer","number","string"]),As=o({type:t(Ns.optional().default("object"),()=>"object"),title:t(n().nullish(),()=>{}),properties:c(n(),Cs).optional().default({}),required:R(n()).nullish(),description:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),$e=G(g([ie,oe]),
63
- o({requestedSchema:As})),ot=n(),Ve=G(g([ie,oe]),o({elicitationId:ot,url:Un()})),Xe=ne(G(g([$e.and(o({mode:u("form")})),Ve.and(o({mode:u("url")})),ee(G(g([ie,oe]),o({mode:n()})),"mode",["form","url"])]),o({message:n(),_meta:t(c(n(),a()).nullish(),()=>{})})),"mode",["form","url"]),rt=n(),Is=o({serverId:rt,_meta:t(c(n(),a()).nullish(),()=>{})}),de=n(),at=o({connectionId:de,method:n(),params:c(n(),a()).nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),js=o({connectionId:de,_meta:t(c(n(),a()).nullish(),
64
- ()=>{})}),ct=a(),ua=o({id:L,method:n(),params:g([Ie,je,ke,De,qe,He,Pe,Ge,Xe,Is,at,js,ct]).nullish()}),dt=j().gte(0).lte(65535),Ms=o({image:t(A().optional().default(!1),()=>!1),audio:t(A().optional().default(!1),()=>!1),embeddedContext:t(A().optional().default(!1),()=>!1),_meta:t(c(n(),a()).nullish(),()=>{})}),ks=o({http:t(A().optional().default(!1),()=>!1),sse:t(A().optional().default(!1),()=>!1),acp:t(A().optional().default(!1),()=>!1),_meta:t(c(n(),a()).nullish(),()=>{})}),Ds=o({_meta:t(c(n(),
65
- a()).nullish(),()=>{})}),qs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Hs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Ps=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Gs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Ls=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Us=o({list:t(Ds.nullish(),()=>{}),delete:t(qs.nullish(),()=>{}),additionalDirectories:t(Hs.nullish(),()=>{}),fork:t(Ps.nullish(),()=>{}),resume:t(Gs.nullish(),()=>{}),close:t(Ls.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Fs=o({_meta:t(c(
66
- n(),a()).nullish(),()=>{})}),Ws=o({logout:t(Fs.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Js=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Bs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),$s=g([u("full"),u("incremental")]),Vs=o({syncKind:$s,_meta:t(c(n(),a()).nullish(),()=>{})}),Xs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Ks=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Qs=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Ys=o({didOpen:t(Bs.nullish(),()=>{}),didChange:t(Vs.nullish(),()=>{}),didClose:t(
67
- Xs.nullish(),()=>{}),didSave:t(Ks.nullish(),()=>{}),didFocus:t(Qs.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Zs=o({document:t(Ys.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ei=o({maxCount:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ni=o({_meta:t(c(n(),a()).nullish(),()=>{})}),ti=o({maxCount:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 42\
68
- 94967295"}).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),si=o({maxCount:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ii=o({_meta:t(c(n(),a()).nullish(),()=>{})}),oi=o({_meta:t(c(n(),a()).nullish(),()=>{})}),ri=o({recentFiles:t(ei.nullish(),()=>{}),relatedSnippets:t(ni.nullish(),()=>{}),editHistory:t(ti.nullish(),()=>{}),userActions:t(si.nullish(),()=>{}),openFiles:t(ii.nullish(),()=>{}),
69
- diagnostics:t(oi.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ai=o({events:t(Zs.nullish(),()=>{}),context:t(ri.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),lt=g([u("utf-16"),u("utf-32"),u("utf-8")]),ci=o({loadSession:t(A().optional().default(!1),()=>!1),promptCapabilities:t(Ms.optional().default({image:!1,audio:!1,embeddedContext:!1}),()=>({image:!1,audio:!1,embeddedContext:!1})),mcpCapabilities:t(ks.optional().default({http:!1,sse:!1,acp:!1}),()=>({http:!1,sse:!1,acp:!1})),
70
- sessionCapabilities:t(Us.optional().default({}),()=>({})),auth:t(Ws.optional().default({}),()=>({})),providers:t(Js.nullish(),()=>{}),nes:t(ai.nullish(),()=>{}),positionEncoding:t(lt.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Ke=n(),di=o({id:Ke,name:n(),description:t(n().nullish(),()=>{}),args:t(b(n()).optional(),()=>[]),env:t(c(n(),n()).optional(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),li=o({id:Ke,name:n(),description:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),
71
- ui=g([di.and(o({type:u("terminal")})),li]),ut=o({name:n(),title:t(n().nullish(),()=>{}),version:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),pi=o({protocolVersion:dt,agentCapabilities:t(ci.optional().default({loadSession:!1,promptCapabilities:{image:!1,audio:!1,embeddedContext:!1},mcpCapabilities:{http:!1,sse:!1,acp:!1},sessionCapabilities:{},auth:{}}),()=>({loadSession:!1,promptCapabilities:{image:!1,audio:!1,embeddedContext:!1},mcpCapabilities:{http:!1,sse:!1,acp:!1},sessionCapabilities:{},auth:{}})),
72
- authMethods:t(b(ui).optional().default([]),()=>[]),agentInfo:t(ut.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),zi=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Qe=n(),Ye=g([u("anthropic"),u("openai"),u("azure"),u("vertex"),u("bedrock"),n()]),mi=o({apiType:Ye,baseUrl:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),hi=o({providerId:Qe,supported:k(b(Ye),()=>[]),required:A(),current:mi.nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),fi=o({providers:R(hi),_meta:t(c(n(),a()).nullish(),()=>{})}),gi=o(
73
- {_meta:t(c(n(),a()).nullish(),()=>{})}),_i=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Si=o({_meta:t(c(n(),a()).nullish(),()=>{})}),le=n(),Ei=o({id:le,name:n(),description:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ue=o({currentModeId:le,availableModes:k(b(Ei),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),pt=n(),bi=g([u("mode"),u("model"),u("model_config"),u("thought_level"),n()]),Ze=n(),zt=o({value:Ze,name:n(),description:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),
74
- Ti=n(),wi=o({group:Ti,name:n(),options:k(b(zt),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),xi=g([R(zt),R(wi)]),vi=o({currentValue:Ze,options:xi}),Ri=o({currentValue:A()}),$=G(g([vi.and(o({type:u("select")})),Ri.and(o({type:u("boolean")}))]),o({id:pt,name:n(),description:t(n().nullish(),()=>{}),category:t(bi.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})})),Ni=o({sessionId:w,modes:t(ue.nullish(),()=>{}),configOptions:t(b($).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),yi=o(
75
- {modes:t(ue.nullish(),()=>{}),configOptions:t(b($).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Oi=o({sessionId:w,cwd:n(),additionalDirectories:t(b(n()).optional(),()=>[]),title:t(n().nullish(),()=>{}),updatedAt:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Ci=o({sessions:k(b(Oi),()=>[]),nextCursor:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Ai=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Ii=o({sessionId:w,modes:t(ue.nullish(),()=>{}),configOptions:t(
76
- b($).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ji=o({modes:t(ue.nullish(),()=>{}),configOptions:t(b($).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Mi=o({_meta:t(c(n(),a()).nullish(),()=>{})}),ki=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Di=o({configOptions:k(b($),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),qi=g([u("end_turn"),u("max_tokens"),u("max_turn_requests"),u("refusal"),u("cancelled")]),Hi=o({totalTokens:x(),inputTokens:x(),outputTokens:x(),thoughtTokens:t(x().
77
- nullish(),()=>{}),cachedReadTokens:t(x().nullish(),()=>{}),cachedWriteTokens:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Pi=o({stopReason:qi,usage:t(Hi.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Gi=o({sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),V=n(),U=o({line:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}),character:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}),_meta:t(c(n(),
78
- a()).nullish(),()=>{})}),X=o({start:U,end:U,_meta:t(c(n(),a()).nullish(),()=>{})}),Li=o({range:X,newText:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Ui=o({id:V,uri:n(),edits:R(Li),cursorPosition:t(U.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Fi=o({id:V,uri:n(),position:U,_meta:t(c(n(),a()).nullish(),()=>{})}),Wi=o({id:V,uri:n(),position:U,newName:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Ji=o({id:V,uri:n(),search:n(),replace:n(),isRegex:A().nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),
79
- Bi=g([Ui.and(o({kind:u("edit")})),Fi.and(o({kind:u("jump")})),Wi.and(o({kind:u("rename")})),Ji.and(o({kind:u("searchAndReplace")}))]),$i=o({suggestions:R(Bi),_meta:t(c(n(),a()).nullish(),()=>{})}),Vi=o({_meta:t(c(n(),a()).nullish(),()=>{})}),mt=a(),ht=a(),Xi=g([u(-32700),u(-32600),u(-32601),u(-32602),u(-32603),u(-32800),u(-32e3),u(-32002),j().min(-2147483648,{error:"Invalid value: Expected int32 to be >= -2147483648"}).max(2147483647,{error:"Invalid value: Expected int32 to be <= 2147483647"})]),
80
- ft=o({code:Xi,message:n(),data:t(a().optional(),()=>{})}),pa=g([o({id:L,result:g([pi,zi,fi,gi,_i,Si,Ni,yi,Ci,Ai,Ii,ji,Mi,ki,Di,Pi,Gi,$i,Vi,mt,ht])}),o({id:L,error:ft})]),Ki=n(),Ae=o({content:se,messageId:t(Ki.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Qi=o({toolCallId:Me,title:n(),name:t(n().nullish(),()=>{}),kind:t(Kn.optional(),()=>{}),status:t(Qn.optional(),()=>{}),content:t(b(Yn).optional(),()=>[]),locations:t(b(Zn).optional(),()=>[]),rawInput:t(a().optional(),()=>{}),rawOutput:t(
81
- a().optional(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Yi=g([u("high"),u("medium"),u("low")]),Zi=g([u("pending"),u("in_progress"),u("completed")]),gt=o({content:n(),priority:Yi,status:Zi,_meta:t(c(n(),a()).nullish(),()=>{})}),eo=o({entries:k(b(gt),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),pe=n(),no=o({planId:pe,entries:k(b(gt),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),to=o({planId:pe,uri:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),so=o({planId:pe,content:n(),_meta:t(c(n(),a()).nullish(),
82
- ()=>{})}),io=g([no.and(o({type:u("items")})),to.and(o({type:u("file")})),so.and(o({type:u("markdown")}))]),oo=o({plan:io,_meta:t(c(n(),a()).nullish(),()=>{})}),ro=o({planId:pe,_meta:t(c(n(),a()).nullish(),()=>{})}),ao=o({hint:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),co=ao,lo=o({name:n(),description:n(),input:t(co.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),uo=o({availableCommands:k(b(lo),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),po=o({currentModeId:le,_meta:t(c(n(),a()).nullish(),
83
- ()=>{})}),zo=o({configOptions:k(b($),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),mo=o({title:t(n().nullish(),()=>{}),updatedAt:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ho=o({amount:x(),currency:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),fo=o({used:x(),size:x(),cost:t(ho.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),_t=n(),go=g([u("in_progress"),u("completed"),u("failed"),u("cancelled"),n()]),_o=o({compactionId:_t,status:go,summary:t(b(se).nullish(),()=>{}),error:t(
84
- n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),So=o({compactionId:_t,content:se,_meta:t(c(n(),a()).nullish(),()=>{})}),Eo=g([Ae.and(o({sessionUpdate:u("user_message_chunk")})),Ae.and(o({sessionUpdate:u("agent_message_chunk")})),Ae.and(o({sessionUpdate:u("agent_thought_chunk")})),Qi.and(o({sessionUpdate:u("tool_call")})),et.and(o({sessionUpdate:u("tool_call_update")})),eo.and(o({sessionUpdate:u("plan")})),oo.and(o({sessionUpdate:u("plan_update")})),ro.and(o({sessionUpdate:u("plan_re\
85
- moved")})),uo.and(o({sessionUpdate:u("available_commands_update")})),po.and(o({sessionUpdate:u("current_mode_update")})),zo.and(o({sessionUpdate:u("config_option_update")})),mo.and(o({sessionUpdate:u("session_info_update")})),fo.and(o({sessionUpdate:u("usage_update")})),_o.and(o({sessionUpdate:u("compaction_update")})),So.and(o({sessionUpdate:u("compaction_summary_chunk")}))]),ze=o({sessionId:w,update:Eo,_meta:t(c(n(),a()).nullish(),()=>{})}),en=o({elicitationId:ot,_meta:t(c(n(),a()).nullish(),()=>{})}),
86
- St=o({connectionId:de,method:n(),params:t(c(n(),a()).nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Et=a(),za=o({method:n(),params:g([ze,en,St,Et]).nullish()}),bo=o({readTextFile:t(A().optional().default(!1),()=>!1),writeTextFile:t(A().optional().default(!1),()=>!1),_meta:t(c(n(),a()).nullish(),()=>{})}),To=c(n(),a()),wo=o({_meta:t(c(n(),a()).nullish(),()=>{})}),xo=o({boolean:t(wo.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),vo=o({compaction:t(To.nullish(),()=>{}),configOptions:t(
87
- xo.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Ro=o({_meta:t(c(n(),a()).nullish(),()=>{})}),No=o({terminal:t(A().optional().default(!1),()=>!1),_meta:t(c(n(),a()).nullish(),()=>{})}),yo=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Oo=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Co=o({form:t(yo.nullish(),()=>{}),url:t(Oo.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Ao=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Io=o({_meta:t(c(n(),a()).nullish(),()=>{})}),jo=o({_meta:t(c(n(),a()).
88
- nullish(),()=>{})}),Mo=o({jump:t(Ao.nullish(),()=>{}),rename:t(Io.nullish(),()=>{}),searchAndReplace:t(jo.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),ko=o({fs:t(bo.optional().default({readTextFile:!1,writeTextFile:!1}),()=>({readTextFile:!1,writeTextFile:!1})),terminal:t(A().optional().default(!1),()=>!1),session:t(vo.nullish(),()=>{}),plan:t(Ro.nullish(),()=>{}),auth:t(No.optional().default({terminal:!1}),()=>({terminal:!1})),elicitation:t(Co.nullish(),()=>{}),nes:t(Mo.nullish(),()=>{}),
89
- positionEncodings:t(b(lt).optional(),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),nn=o({protocolVersion:dt,clientCapabilities:t(ko.optional().default({fs:{readTextFile:!1,writeTextFile:!1},terminal:!1,auth:{terminal:!1}}),()=>({fs:{readTextFile:!1,writeTextFile:!1},terminal:!1,auth:{terminal:!1}})),clientInfo:t(ut.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),tn=o({methodId:Ke,_meta:t(c(n(),a()).nullish(),()=>{})}),sn=o({_meta:t(c(n(),a()).nullish(),()=>{})}),on=o({providerId:Qe,apiType:Ye,
90
- baseUrl:n(),headers:c(n(),n()).optional(),_meta:t(c(n(),a()).nullish(),()=>{})}),rn=o({providerId:Qe,_meta:t(c(n(),a()).nullish(),()=>{})}),an=o({_meta:t(c(n(),a()).nullish(),()=>{})}),bt=o({name:n(),value:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Do=o({name:n(),url:n(),headers:R(bt),_meta:t(c(n(),a()).nullish(),()=>{})}),qo=o({name:n(),url:n(),headers:R(bt),_meta:t(c(n(),a()).nullish(),()=>{})}),Ho=o({name:n(),serverId:rt,_meta:t(c(n(),a()).nullish(),()=>{})}),Po=o({name:n(),command:n(),args:R(
91
- n()),env:R(tt),_meta:t(c(n(),a()).nullish(),()=>{})}),me=g([Do.and(o({type:u("http")})),qo.and(o({type:u("sse")})),Ho.and(o({type:u("acp")})),Po]),cn=o({cwd:n(),additionalDirectories:t(b(n()).optional(),()=>[]),mcpServers:k(b(me),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),dn=o({mcpServers:k(b(me),()=>[]),cwd:n(),additionalDirectories:t(b(n()).optional(),()=>[]),sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),ln=o({cwd:n().nullish(),cursor:n().nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),
92
- un=o({sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),pn=o({sessionId:w,cwd:n(),additionalDirectories:t(b(n()).optional(),()=>[]),mcpServers:t(b(me).optional(),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),zn=o({sessionId:w,cwd:n(),additionalDirectories:t(b(n()).optional(),()=>[]),mcpServers:t(b(me).optional(),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),mn=o({sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),hn=o({sessionId:w,modeId:le,_meta:t(c(n(),a()).nullish(),()=>{})}),fn=G(g([o({value:A(),
93
- type:u("boolean")}),o({value:Ze})]),o({sessionId:w,configId:pt,_meta:t(c(n(),a()).nullish(),()=>{})})),gn=o({sessionId:w,prompt:R(se),_meta:t(c(n(),a()).nullish(),()=>{})}),Go=o({uri:n(),name:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Lo=o({name:n(),owner:n(),remoteUrl:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),_n=o({workspaceUri:t(n().nullish(),()=>{}),workspaceFolders:R(Go).nullish(),repository:t(Lo.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Uo=g([u("automatic"),u("diagnostic"),u(
94
- "manual")]),Fo=o({uri:n(),languageId:n(),text:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Wo=o({startLine:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}),endLine:j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}),text:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Jo=o({uri:n(),excerpts:R(Wo),_meta:t(c(n(),a()).nullish(),()=>{})}),Bo=o({uri:n(),diff:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),$o=o({action:n(),uri:n(),position:U,
95
- timestampMs:x(),_meta:t(c(n(),a()).nullish(),()=>{})}),Vo=o({uri:n(),languageId:n(),visibleRange:t(X.nullish(),()=>{}),lastFocusedMs:t(x().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),Xo=g([u("error"),u("warning"),u("information"),u("hint")]),Ko=o({uri:n(),range:X,severity:Xo,message:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Qo=o({recentFiles:R(Fo).nullish(),relatedSnippets:R(Jo).nullish(),editHistory:R(Bo).nullish(),userActions:R($o).nullish(),openFiles:R(Vo).nullish(),diagnostics:R(
96
- Ko).nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),Sn=o({sessionId:w,uri:n(),version:x(),position:U,selection:X.nullish(),triggerKind:Uo,context:Qo.nullish(),_meta:t(c(n(),a()).nullish(),()=>{})}),En=o({sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),ma=o({id:L,method:n(),params:g([nn,tn,sn,on,rn,an,cn,dn,ln,un,pn,zn,mn,hn,fn,gn,_n,Sn,En,at,ct]).nullish()}),Yo=o({_meta:t(c(n(),a()).nullish(),()=>{})}),Zo=o({content:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),er=o({optionId:nt,_meta:t(c(n(),a()).
97
- nullish(),()=>{})}),nr=g([o({outcome:u("cancelled")}),er.and(o({outcome:u("selected")}))]),tr=o({outcome:nr,_meta:t(c(n(),a()).nullish(),()=>{})}),sr=o({terminalId:B,_meta:t(c(n(),a()).nullish(),()=>{})}),ir=o({exitCode:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),signal:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),or=o({output:n(),truncated:A(),exitStatus:t(ir.nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),
98
- rr=o({_meta:t(c(n(),a()).nullish(),()=>{})}),ar=o({exitCode:t(j().gte(0).max(4294967295,{error:"Invalid value: Expected uint32 to be <= 4294967295"}).nullish(),()=>{}),signal:t(n().nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),cr=o({_meta:t(c(n(),a()).nullish(),()=>{})}),dr=g([n(),x(),x(),A(),R(n())]),bn=o({content:c(n(),dr).nullish()}),lr=ne(G(g([bn.and(o({action:u("accept")})),o({action:u("decline")}),o({action:u("cancel")}),ee(o({action:n()}),"action",["accept","cancel","decline"])]),
99
- o({_meta:t(c(n(),a()).nullish(),()=>{})})),"action",["accept","cancel","decline"]),ur=o({connectionId:de,_meta:t(c(n(),a()).nullish(),()=>{})}),pr=o({_meta:t(c(n(),a()).nullish(),()=>{})}),ha=g([o({id:L,result:g([Yo,Zo,tr,sr,or,rr,ar,cr,lr,ur,pr,ht,mt])}),o({id:L,error:ft})]),Tn=o({sessionId:w,_meta:t(c(n(),a()).nullish(),()=>{})}),wn=o({sessionId:w,uri:n(),languageId:n(),version:x(),text:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),zr=o({range:X.nullish(),text:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),
100
- xn=o({sessionId:w,uri:n(),version:x(),contentChanges:k(b(zr),()=>[]),_meta:t(c(n(),a()).nullish(),()=>{})}),vn=o({sessionId:w,uri:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Rn=o({sessionId:w,uri:n(),_meta:t(c(n(),a()).nullish(),()=>{})}),Nn=o({sessionId:w,uri:n(),version:x(),position:U,visibleRange:X,_meta:t(c(n(),a()).nullish(),()=>{})}),yn=o({sessionId:w,id:V,_meta:t(c(n(),a()).nullish(),()=>{})}),mr=g([u("rejected"),u("ignored"),u("replaced"),u("cancelled")]),On=o({sessionId:w,id:V,reason:t(mr.
101
- nullish(),()=>{}),_meta:t(c(n(),a()).nullish(),()=>{})}),fa=o({method:n(),params:g([Tn,wn,xn,vn,Rn,Nn,yn,On,St,Et]).nullish()}),ga=o({requestId:L,_meta:t(c(n(),a()).nullish(),()=>{})});var wt="$/cancel_request";function he(i){return jn(i)&&"id"in i&&typeof i.method=="string"&&Mn(i.id)}p(he,"isRequestMessage");function vt(i){if(!jn(i)||"method"in i||!("id"in i)||!Mn(i.id))return!1;let e=Object.hasOwn(i,"result"),s=Object.hasOwn(i,"error");return e===s?!1:!s||gr(i.error)}p(vt,"isResponseMessage");function K(i){return jn(i)&&!("id"in i)&&typeof i.method=="string"}p(K,"isNotificationMessage");function F(i){return typeof i=="object"&&i!==null}p(F,"isRecord");function jn(i){return F(i)&&i.jsonrpc==="2.0"}p(jn,
102
- "isJsonRpcEnvelope");function Mn(i){return i===null||typeof i=="string"||typeof i=="number"&&Number.isFinite(i)}p(Mn,"isJsonRpcId");function xt(i){return F(i)&&!("method"in i)&&("id"in i||"result"in i||"error"in i)}p(xt,"isResponseShapedMessage");function hr(i){let e=!1,s=!1,r=!1,d=!1;for(let l of i)e||=he(l)||K(l),s||=vt(l),F(l)&&(r||="method"in l,d||="result"in l||"error"in l);return e?!1:s?!0:d&&!r}p(hr,"isResponseBatch");function fr(i){if(!(!F(i)||!Mn(i.requestId)))return i.requestId}p(fr,"c\
103
- ancelRequestId");function gr(i){return F(i)&&typeof i.code=="number"&&Number.isInteger(i.code)&&typeof i.message=="string"}p(gr,"isErrorResponse");var P={yes(){return{handled:!0}},no(i,e=!1){return{handled:!1,message:i,retry:e}}};function J(i){let e=Promise.reject(i);return e.catch(()=>{}),e}p(J,"rejectedPromise");function _r(i){if(i instanceof Error||typeof i=="object"&&i!=null&&"message"in i&&typeof i.message=="string")return i.message}p(_r,"errorDetails");function Sr(i){return typeof i=="obje\
104
- ct"&&i!==null&&"name"in i&&i.name==="ZodError"&&"issues"in i&&Array.isArray(i.issues)&&"format"in i&&typeof i.format=="function"}p(Sr,"isZodError");function Rt(i){if(i instanceof C)return i.toResult();if(Sr(i))return C.invalidParams(i.format()).toResult();let e=_r(i);try{return C.internalError(e?JSON.parse(e):{}).toResult()}catch{return C.internalError({details:e}).toResult()}}p(Rt,"errorToResult");function Er(i){return i instanceof C&&i.code===-32800?i:C.requestCancelled(i)}p(Er,"requestCancell\
105
- edError");function br(i,e){let s=Tr(i,e);return s?s.toResult():Rt(i)}p(br,"errorToRequestResult");function Tr(i,e){if(!(!e.aborted||!wr(i)))return Er(e.reason)}p(Tr,"abortErrorToRequestCancelled");function wr(i){if(typeof i!="object"||i===null)return!1;let e=i;return e.name==="AbortError"||e.code==="ABORT_ERR"}p(wr,"isAbortError");var Cn=class{static{p(this,"RequestResponder")}id;sendResult;signal;finishRequest;didRespond=!1;constructor(e,s,r=new AbortController().signal,d){this.id=e,this.sendResult=
106
- s,this.signal=r,this.finishRequest=d}get responded(){return this.didRespond}respond(e){return this.respondWithResult({result:e??null})}respondWithError(e){let s=e instanceof C?e.toErrorResponse():e;return this.respondWithResult({error:s})}respondWithResult(e){return this.didRespond?J(new Error("JSON-RPC request already responded")):(this.didRespond=!0,this.sendResult(e).finally(()=>{this.finishRequest?.()}))}},xr=new WeakMap;var Y=class{static{p(this,"HandlerRegistration")}disposeHandler;active=!0;constructor(e){this.disposeHandler=e}dispose(){this.active&&(this.active=!1,this.disposeHandler())}[Symbol.dispose](){this.dispose()}runIndefinitely(){return this}},An=class{static{p(this,"ConnectionContext")}connection;constructor(e){this.connection=e}sendRequest(e,s,r,d){return this.connection.sendRequest(e,s,r,d)}sendNotification(e,s){return this.connection.sendNotification(e,s)}sendBatch(e){return this.connection.sendBatch(
107
- e)}sendCancelRequest(e){return this.connection.sendCancelRequest(e)}addDynamicHandler(e){return this.connection.addDynamicHandler(e)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}},Z=class{static{p(this,"Connection")}pendingResponses=new Map;incomingRequests=new Map;nextRequestId=0;staticHandlers=[];dynamicHandlers=new Set;stream;writeQueue=Promise.resolve();abortController=new AbortController;closedPromise;retryQueue=[];context=new An(this);receiveReader;allowBatches=!0;constructor(e,s,r,d){
108
- if(typeof e=="function"){let f=e,T=s,S=r;this.initialize(S,[...d?.handlers??[],this.legacyHandler(f,T)],d);return}let l=e,z=s,h=r;this.initialize(l,[...h?.handlers??[],...z],h)}static builder(){return new In}runUntil(e){let s=!1,r=Promise.resolve().then(()=>e(this.context)).finally(()=>{s=!0}),d=this.closed.then(()=>{if(s)return new Promise(()=>{});throw this.closedReason()});return Promise.race([r,d]).finally(()=>{s=!0,this.close()})}addDynamicHandler(e){if(this.dynamicHandlers.add(e),this.retryQueue.
109
- length>0)for(let s of this.retryQueue.splice(0))this.processIncomingMessage(s).catch(r=>this.close(r));return new Y(()=>{this.dynamicHandlers.delete(e)})}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}getContext(){return this.context}sendRequest(e,s,r,d={}){if(this.abortController.signal.aborted)return J(this.closedReason());let l=this.prepareRequest(e,s,r,d);return this.sendWireMessage(l.message).catch(()=>{}),d.cancellationSignal?.aborted&&l.cancel(),l.response}sendBatch(e){
110
- if(this.abortController.signal.aborted)return J(this.closedReason());if(!this.allowBatches)return J(new TypeError("JSON-RPC batches are not supported on this connection"));if(e.length===0)return J(new TypeError("JSON-RPC batch must contain at least one entry"));let s=[],r=[],d=[];for(let f of e){if(f.kind==="notification"){s.push({jsonrpc:"2.0",method:f.method,params:f.params}),d.push(Promise.resolve(void 0));continue}let T=this.prepareRequest(f.method,f.params,f.mapResponse,f.options);s.push(T.
111
- message),d.push(T.response),r.push({signal:f.options?.cancellationSignal,cancel:T.cancel})}let l=s,z=this.sendWireMessage(l);for(let f of r)f.signal?.aborted&&f.cancel();let h=Promise.all([z,...d]).then(([,...f])=>f);return h.catch(()=>{}),h}sendCancelRequest(e){return this.sendNotification(wt,{requestId:e})}sendNotification(e,s){return this.abortController.signal.aborted?J(this.closedReason()):this.sendWireMessage({jsonrpc:"2.0",method:e,params:s})}prepareRequest(e,s,r,d={}){let l=this.nextRequestId++,
112
- z=p(()=>{},"cancel"),h=new Promise((f,T)=>{let S={resolve:p(y=>{try{f(r?r(y):y)}catch(_){T(_)}},"resolve"),reject:T};z=p(()=>{S.cancellationSent||(S.cancellationSent=!0,S.cleanup?.(),this.sendCancelRequest(l).catch(()=>{}))},"cancel"),d.cancellationSignal?.addEventListener("abort",z,{once:!0}),S.cleanup=()=>{d.cancellationSignal?.removeEventListener("abort",z)},this.pendingResponses.set(l,S)});return h.catch(()=>{}),{message:{jsonrpc:"2.0",id:l,method:e,params:s},response:h,cancel:p(()=>z(),"can\
113
- cel")}}close(e){if(this.abortController.signal.aborted)return;let s=e??new Error("ACP connection closed");this.abortController.abort(s);for(let r of this.pendingResponses.values())r.cleanup?.(),r.reject(s);this.pendingResponses.clear();for(let r of this.incomingRequests.values())r.abort(s);this.incomingRequests.clear(),this.receiveReader?.cancel(s).catch(()=>{})}initialize(e,s,r){this.stream=e,this.staticHandlers=s,this.allowBatches=r?.allowBatches??!0,this.closedPromise=new Promise(d=>{this.abortController.
114
- signal.addEventListener("abort",()=>d())}),this.receive()}legacyHandler(e,s){return{handleMessage:p(async(r,d)=>{if(r.kind==="request"){let l=await e(r.method,r.params,d);await r.responder.respond(l)}else await s(r.method,r.params,d);return P.yes()},"handleMessage")}}async receive(){let e;try{let s=this.stream.readable.getReader();this.receiveReader=s;try{for(;!this.abortController.signal.aborted;){let{value:r,done:d}=await s.read();if(this.abortController.signal.aborted||d)break;this.receiveWireMessage(
115
- r)}}finally{this.receiveReader===s&&(this.receiveReader=void 0),s.releaseLock()}}catch(s){e=s}finally{this.close(e)}}receiveWireMessage(e){if(Array.isArray(e)){if(!this.allowBatches){this.close(new TypeError("JSON-RPC batches are not supported on this connection"));return}this.receiveBatch(e);return}if(!he(e)&&!K(e)&&!xt(e)){this.sendWireMessage(Q(C.invalidRequest(e))).catch(()=>{});return}this.receiveMessage(e)}receiveBatch(e){if(e.length===0){this.sendWireMessage(Q(C.invalidRequest(e))).catch(
116
- ()=>{});return}let s=hr(e),d=s?0:e.reduce((S,y)=>S+(K(y)?0:1),0),l=e.reduce((S,y)=>S+(K(y)?1:0),0),z=!1,h=[],f=p(async()=>{z||d!==0||l!==0||h.length===0||(z=!0,await this.sendWireMessage(h))},"sendResponsesIfReady"),T=p(async S=>{h.push(S),d-=1,await f()},"collectResponse");for(let S of e){if(s){xt(S)&&this.receiveMessage(S);continue}if(!he(S)&&!K(S)){T(Q(C.invalidRequest(S))).catch(()=>{});continue}let y=this.receiveMessage(S,he(S)?T:void 0,e.length);K(S)&&y.finally(()=>{l-=1,f().catch(_=>this.
117
- close(_))})}}receiveMessage(e,s,r){return this.abortController.signal.aborted?Promise.resolve():F(e)?"method"in e?("id"in e||this.handleProtocolNotification(e),this.processIncomingMessage(this.toIncomingMessage(e,s,r)).catch(d=>this.close(d))):("id"in e?this.handleResponse(e):console.error("Invalid message",{message:e}),Promise.resolve()):(console.error("Invalid message",{message:e}),Promise.resolve())}async processIncomingMessage(e){if(this.abortController.signal.aborted)return;let s=e,r=!1;try{
118
- for(let d of[...this.staticHandlers,...this.dynamicHandlers.values()]){if(this.abortController.signal.aborted)return;let l=await d.handleMessage(s,this.context)??{handled:!0};if(l.handled)return;s=l.message??s,r=r||!!l.retry}r?this.retryQueue.push(s):s.kind==="request"&&await s.responder.respondWithError(C.methodNotFound(s.method))}catch(d){if(this.abortController.signal.aborted)return;if(s.kind==="request"&&!s.responder.responded)await s.responder.respondWithResult(br(d,s.responder.signal));else{
119
- let l=Rt(d);"error"in l&&console.error("Error handling notification",e.raw,l.error)}}}toIncomingMessage(e,s,r){if("id"in e){let d=new AbortController;this.incomingRequests.set(e.id,d);let l=p(()=>{this.incomingRequests.get(e.id)===d&&this.incomingRequests.delete(e.id)},"finishRequest"),z=new Cn(e.id,h=>{let f={jsonrpc:"2.0",id:e.id,...h};return s?s(f):this.sendWireMessage(f)},d.signal,l);return r!==void 0&&xr.set(z,r),{kind:"request",method:e.method,params:e.params,raw:e,signal:d.signal,responder:z}}
120
- return{kind:"notification",method:e.method,params:e.params,raw:e}}handleResponse(e){let s=this.pendingResponses.get(e.id);if(s)if(this.pendingResponses.delete(e.id),s.cleanup?.(),!vt(e))s.reject(C.invalidRequest(e));else if("result"in e)s.resolve(e.result);else{let{code:r,message:d,data:l}=e.error;s.reject(new C(r,d,l))}else console.error("Got response to unknown request",e.id)}handleProtocolNotification(e){if(e.method!==wt)return;let s=fr(e.params);if(s===void 0)return;let r=this.incomingRequests.
121
- get(s);!r||r.signal.aborted||r.abort(C.requestCancelled({requestId:s}))}closedReason(){return this.abortController.signal.reason??new Error("ACP connection closed")}async sendWireMessage(e){return this.abortController.signal.aborted?J(this.closedReason()):(this.writeQueue=this.writeQueue.then(async()=>{if(this.abortController.signal.aborted)throw this.closedReason();let s=this.stream.writable.getWriter();try{await s.write(e)}finally{s.releaseLock()}}).catch(s=>{throw this.close(s),s}),this.writeQueue)}},
122
- In=class{static{p(this,"ConnectionBuilder")}handlers=[];connectionName;name(e){return this.connectionName=e,this}withHandler(e){return this.handlers.push(e),this}onReceiveMessage(e){return this.withHandler({handleMessage:p(async(s,r)=>await e(s,r)??P.no(s),"handleMessage"),describe:p(()=>this.connectionName??"onReceiveMessage","describe")})}onReceiveRequest(e,s,r){return this.withHandler({handleMessage:p(async(d,l)=>{if(d.kind!=="request"||d.method!==e)return P.no(d);let z=s(d.params);return await r(
123
- z,d.responder,l)??P.yes()},"handleMessage"),describe:p(()=>`${this.connectionName??"request"}:${e}`,"describe")})}onReceiveNotification(e,s,r){return this.withHandler({handleMessage:p(async(d,l)=>{if(d.kind!=="notification"||d.method!==e)return P.no(d);let z=s(d.params);return await r(z,l)??P.yes()},"handleMessage"),describe:p(()=>`${this.connectionName??"notification"}:${e}`,"describe")})}connect(e,s){return new Z(e,this.handlers,s)}connectWith(e,s,r){return this.connect(e,r).runUntil(s)}},C=class i extends Error{static{
124
- p(this,"RequestError")}code;data;constructor(e,s,r){super(s),this.code=e,this.name="RequestError",this.data=r}static parseError(e,s){return new i(-32700,`Parse error${s?`: ${s}`:""}`,e)}static invalidRequest(e,s){return new i(-32600,`Invalid request${s?`: ${s}`:""}`,e)}static methodNotFound(e){return new i(-32601,`"Method not found": ${e}`,{method:e})}static invalidParams(e,s){return new i(-32602,`Invalid params${s?`: ${s}`:""}`,e)}static internalError(e,s){return new i(-32603,`Internal error${s?
125
- `: ${s}`:""}`,e)}static requestCancelled(e,s){return new i(-32800,`Request cancelled${s?`: ${s}`:""}`,e)}static authRequired(e,s){return new i(-32e3,`Authentication required${s?`: ${s}`:""}`,e)}static resourceNotFound(e){return new i(-32002,`Resource not found${e?`: ${e}`:""}`,e&&{uri:e})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};function Q(i){return{jsonrpc:"2.0",id:null,error:i.toErrorResponse()}}
126
- p(Q,"protocolErrorResponse");var fe=class{static{p(this,"LineBuffer")}#e=[];push(e){let s=[],r=0,d=e.indexOf(10,r);for(;d!==-1;)s.push(this.#n(e.subarray(r,d))),r=d+1,d=e.indexOf(10,r);return r<e.byteLength&&this.#e.push(r===0?e:new Uint8Array(e.subarray(r))),s}flush(){if(this.#e.length!==0)return this.#n(new Uint8Array(0))}#n(e){if(this.#e.length===0)return e;let s=e.byteLength;for(let l of this.#e)s+=l.byteLength;let r=new Uint8Array(s),d=0;for(let l of this.#e)r.set(l,d),d+=l.byteLength;return r.set(e,d),this.#e=[],r}};function Nt(i,e){let s=new TextEncoder,r=new TextDecoder,d=!1,l,z=Promise.resolve(),h=p(S=>{let y=JSON.stringify(S)+`
127
- `,_=z.then(async()=>{let O=i.getWriter();try{await O.write(s.encode(y))}finally{O.releaseLock()}});return z=_.catch(()=>{}),_},"writeJson"),f=new ReadableStream({async start(S){let y=new fe,_=p(async I=>{let N=r.decode(I).trim();if(!N)return;let D;try{D=JSON.parse(N)}catch{await h(Q(C.parseError()));return}F(D)||Array.isArray(D)?S.enqueue(D):await h(Q(C.invalidRequest(D)))},"enqueueLine"),O=e.getReader();l=O;try{for(;;){let{value:N,done:D}=await O.read();if(d)return;if(D)break;if(N){for(let ce of y.
128
- push(N))if(await _(ce),d)return}}if(d)return;let I=y.flush();I&&await _(I)}catch(I){if(d)return;S.error(I);return}finally{l===O&&(l=void 0),O.releaseLock()}d||S.close()},cancel(S){return d=!0,l?.cancel(S)}}),T=new WritableStream({write(S){return h(S)}});return{readable:f,writable:T}}p(Nt,"ndJsonStream");var Ra=$e.and(o({mode:u("form")})).and(o({message:n()})),Na=Ve.and(o({mode:u("url")})).and(o({message:n()})),ya=g([ie,oe]).and(o({message:n()})),Oa=Le.and(o({type:u("string")})),Ca=Ue.and(o({type:u("number")})),Aa=Fe.and(o({type:u("integer")})),Ia=We.and(o({type:u("boolean")})),ja=Be.and(o({type:u("array")})),Ma=Je.and(o({type:u("string")}));var ka=bn.and(o({action:u("accept")})),Da=o({action:u("decline")}),qa=o({action:u("cancel")});function At(i,e){return Nt(i,e)}p(At,"ndJsonStream");function q(i){return i??{}}p(q,"emptyObjectResponse");function It(i){return typeof i=="object"&&i!==null&&"readable"in i&&"writable"in i}p(It,"isStream");function jt(){let i=new TransformStream,e=new TransformStream;return[{readable:e.readable,writable:i.writable},{readable:i.readable,writable:e.writable}]}p(jt,"memoryStreamPair");var M={agent:{initialize:m.initialize,authenticate:m.authenticate,logout:m.logout,providers:{list:m.providers_list,
129
- set:m.providers_set,disable:m.providers_disable},session:{new:m.session_new,load:m.session_load,list:m.session_list,delete:m.session_delete,fork:m.session_fork,resume:m.session_resume,close:m.session_close,setMode:m.session_set_mode,setConfigOption:m.session_set_config_option,prompt:m.session_prompt,cancel:m.session_cancel},nes:{start:m.nes_start,suggest:m.nes_suggest,accept:m.nes_accept,reject:m.nes_reject,close:m.nes_close},document:{didOpen:m.document_did_open,didChange:m.document_did_change,
130
- didClose:m.document_did_close,didSave:m.document_did_save,didFocus:m.document_did_focus}},client:{session:{requestPermission:E.session_request_permission,update:E.session_update},fs:{writeTextFile:E.fs_write_text_file,readTextFile:E.fs_read_text_file},terminal:{create:E.terminal_create,output:E.terminal_output,release:E.terminal_release,waitForExit:E.terminal_wait_for_exit,kill:E.terminal_kill},elicitation:{create:E.elicitation_create,complete:E.elicitation_complete}},protocol:{cancelRequest:Oe.
131
- cancel_request}},Mt=Symbol("startActiveSession"),Se=class{static{p(this,"AcpContext")}cx;currentRequestId;constructor(e,s){this.cx=e,this.currentRequestId=s}get requestId(){return this.currentRequestId}get connectionContext(){return this.cx}sendRequest(e,s,r,d){return this.cx.sendRequest(e,s,r,d)}sendNotification(e,s){return this.cx.sendNotification(e,s)}addDynamicHandler(e){return this.cx.addDynamicHandler(e)}},re=class i extends Se{static{p(this,"AgentContext")}constructor(e,s){super(e,s)}static create(e,s){
132
- return new i(e,s)}request(e,s,r){let d=Lt[e];return this.sendRequest(e,s,d?.mapResponse,r)}notify(e,s){return this.sendNotification(e,s)}},ae=class i extends Se{static{p(this,"ClientContext")}constructor(e,s){super(e,s)}static create(e,s){return new i(e,s)}[Mt](e,s){return this.sendRequest(m.session_new,e,r=>this.attachSession(r),s)}buildSession(e){return typeof e=="string"?be.create(this,{cwd:e,mcpServers:[]}):be.create(this,e)}attachSession(e){let s=new qn,r=this.connectionContext.signal,d=p(()=>{
133
- s.fail(r.reason??new Error("ACP connection closed"))},"failUpdatesOnClose");r.aborted?d():r.addEventListener("abort",d);let l=Ut(this.connectionContext).attach(e,s),z=new Y(()=>{r.removeEventListener("abort",d)});return Hn.create(this,e,s,[l,z])}request(e,s,r){let d=Gt[e];return this.sendRequest(e,s,d?.mapResponse,r)}notify(e,s){return this.sendNotification(e,s)}},Ee=class{static{p(this,"AcpConnectionHandle")}connection;constructor(e){this.connection=e}get signal(){return this.connection.signal}get closed(){
134
- return this.connection.closed}close(e){this.connection.close(e)}},kn=class extends Ee{static{p(this,"AgentConnectionHandle")}connectHandlers;client;didStartConnectHandlers=!1;constructor(e,s=[]){super(e),this.connectHandlers=s,this.client=re.create(e.getContext())}startConnectHandlers(){this.didStartConnectHandlers||(this.didStartConnectHandlers=!0,ve(this,this.connectHandlers))}},Dn=class extends Ee{static{p(this,"ClientConnectionHandle")}connectHandlers;agent;didStartConnectHandlers=!1;constructor(e,s=[]){
135
- super(e),this.connectHandlers=s,this.agent=ae.create(e.getContext())}startConnectHandlers(){this.didStartConnectHandlers||(this.didStartConnectHandlers=!0,ve(this,this.connectHandlers))}};function kt(i,e=[]){return new kn(i,e)}p(kt,"agentConnection");function Dt(i,e=[]){return new Dn(i,e)}p(Dt,"clientConnection");var qn=class{static{p(this,"AsyncQueue")}values=[];waiters=[];failed=!1;failure;enqueue(e){if(this.failed)return;let s=this.waiters.shift();s?s.resolve(e):this.values.push({kind:"value",
136
- value:e})}reject(e){if(!this.failed){if(this.waiters.length>0){for(let s of this.waiters.splice(0))s.reject(e);return}this.values.push({kind:"error",error:e})}}clearErrors(){this.values=this.values.filter(e=>e.kind==="value")}fail(e){if(!this.failed){this.failed=!0,this.failure=e;for(let s of this.waiters.splice(0))s.reject(e)}}next(){if(this.values.length>0){let e=this.values.shift();return e.kind==="error"?Promise.reject(e.error):Promise.resolve(e.value)}return this.failed?Promise.reject(this.
137
- failure):new Promise((e,s)=>{this.waiters.push({resolve:e,reject:s})})}};function yt(i){return{...i,additionalDirectories:i.additionalDirectories?[...i.additionalDirectories]:void 0,mcpServers:[...i.mcpServers]}}p(yt,"cloneNewSessionRequest");var be=class i{static{p(this,"SessionBuilder")}cx;request;constructor(e,s){this.cx=e,this.request=yt(s)}static create(e,s){return new i(e,s)}toRequest(){return yt(this.request)}withAdditionalDirectories(e){return this.request={...this.request,additionalDirectories:[
138
- ...e]},this}withMcpServer(e){return this.request={...this.request,mcpServers:[...this.request.mcpServers,e]},this}async start(e){return this.cx[Mt](this.toRequest(),e)}async withSession(e){let s=await this.start();try{return await e(s)}finally{s.dispose()}}},Hn=class i{static{p(this,"ActiveSession")}cx;sessionResponse;updates;registrations;constructor(e,s,r,d){this.cx=e,this.sessionResponse=s,this.updates=r,this.registrations=d}static create(e,s,r,d){return new i(e,s,r,d)}get sessionId(){return this.
139
- sessionResponse.sessionId}get modes(){return this.sessionResponse.modes}get meta(){return this.sessionResponse._meta}get newSessionResponse(){return this.sessionResponse}prompt(e,s){this.updates.clearErrors();let r=this.cx.request(m.session_prompt,{sessionId:this.sessionId,prompt:this.promptBlocks(e)},s);return r.then(d=>{this.updates.enqueue({kind:"stop",response:d,stopReason:d.stopReason})},d=>{this.updates.reject(d)}),r}nextUpdate(){return this.updates.next()}async readText(){let e="";for(;;){
140
- let s=await this.nextUpdate();if(s.kind==="stop")return e;let{update:r}=s;r.sessionUpdate==="agent_message_chunk"&&r.content.type==="text"&&(e+=r.content.text)}}dispose(){for(let e of this.registrations.splice(0))e.dispose();this.updates.fail(new Error("Active session disposed"))}[Symbol.dispose](){this.dispose()}promptBlocks(e){return typeof e=="string"?[{type:"text",text:e}]:Array.isArray(e)?e:[e]}};function qt(i,e){return i?typeof i=="function"?i(e):i.parse(e):e}p(qt,"parseParams");function v(i,e,s){
141
- return{method:i,params:e,mapResponse:s}}p(v,"requestSpec");function H(i,e){return{method:i,params:e}}p(H,"notificationSpec");function Ht(i,e,s,r){i.onReceiveRequest(e.method,d=>qt(e.params,d),async(d,l,z)=>{let h=await r(s(d,z,l.signal,l.id));await l.respond(e.mapResponse?e.mapResponse(h):h)})}p(Ht,"registerAppRequest");function Pt(i,e,s,r){i.onReceiveNotification(e.method,d=>qt(e.params,d),(d,l)=>r(s(d,l,l.signal)))}p(Pt,"registerAppNotification");function xe(i){let e={};for(let s of Object.values(
142
- i))e[s.method]=s;return e}p(xe,"specsByMethod");var vr={initialize:v(m.initialize,nn),newSession:v(m.session_new,cn),loadSession:v(m.session_load,dn,q),unstable_forkSession:v(m.session_fork,pn),listSessions:v(m.session_list,ln),deleteSession:v(m.session_delete,un,q),resumeSession:v(m.session_resume,zn),closeSession:v(m.session_close,mn,q),setSessionMode:v(m.session_set_mode,hn,q),setSessionConfigOption:v(m.session_set_config_option,fn),authenticate:v(m.authenticate,tn,q),unstable_listProviders:v(
143
- m.providers_list,sn),unstable_setProvider:v(m.providers_set,on,q),unstable_disableProvider:v(m.providers_disable,rn,q),logout:v(m.logout,an,q),prompt:v(m.session_prompt,gn),unstable_startNes:v(m.nes_start,_n),unstable_suggestNes:v(m.nes_suggest,Sn),unstable_closeNes:v(m.nes_close,En,q)},Rr={cancel:H(m.session_cancel,Tn),unstable_didOpenDocument:H(m.document_did_open,wn),unstable_didChangeDocument:H(m.document_did_change,xn),unstable_didCloseDocument:H(m.document_did_close,vn),unstable_didSaveDocument:H(
144
- m.document_did_save,Rn),unstable_didFocusDocument:H(m.document_did_focus,Nn),unstable_acceptNes:H(m.nes_accept,yn),unstable_rejectNes:H(m.nes_reject,On)},Nr={requestPermission:v(E.session_request_permission,ke),writeTextFile:v(E.fs_write_text_file,Ie,q),readTextFile:v(E.fs_read_text_file,je),createTerminal:v(E.terminal_create,De),terminalOutput:v(E.terminal_output,qe),releaseTerminal:v(E.terminal_release,He,q),waitForTerminalExit:v(E.terminal_wait_for_exit,Pe),killTerminal:v(E.terminal_kill,Ge,q),
145
- createElicitation:v(E.elicitation_create,Xe)},yr={sessionUpdate:H(E.session_update,ze),completeElicitation:H(E.elicitation_complete,en)},Gt=xe(vr),Or=xe(Rr),Lt=xe(Nr),Cr=xe(yr);function Ar(i,e,s,r){return{params:i,requestId:r,signal:s,client:e}}p(Ar,"agentRequestContext");function Ir(i,e,s){return{params:i,signal:s,client:e}}p(Ir,"agentNotificationContext");function jr(i,e,s,r){return{params:i,requestId:r,signal:s,agent:e}}p(jr,"clientRequestContext");function Mr(i,e,s){return{params:i,signal:s,
146
- agent:e}}p(Mr,"clientNotificationContext");var Pn=class{static{p(this,"SessionUpdateRouter")}activeSessions=new Map;handleMessage(e){if(e.kind!=="notification"||e.method!==E.session_update)return P.no(e);let s=ze.parse(e.params),r={kind:"session_update",notification:s,update:s.update},d=this.activeSessions.get(s.sessionId);if(d&&d.size>0)for(let l of d)l.enqueue(r);return P.no(e)}attach(e,s){let r=this.activeSessions.get(e.sessionId)??new Set;return r.add(s),this.activeSessions.set(e.sessionId,r),
147
- new Y(()=>{r.delete(s),r.size===0&&this.activeSessions.delete(e.sessionId)})}},Ot=new WeakMap;function Ut(i){let e=Ot.get(i);return e||(e=new Pn,Ot.set(i,e)),e}p(Ut,"sessionUpdateRouter");function ve(i,e){for(let s of e){let r;try{r=s(i)}catch(d){throw i.close(d),d}Promise.resolve(r).catch(d=>{i.close(d)})}}p(ve,"runConnectHandlers");var Te=Symbol("appBuilder"),ge=Symbol("runAgentConnectHandlers"),_e=Symbol("runClientConnectHandlers"),we={allowBatches:!1};var Ct=class{static{p(this,"AgentApp")}builder=Z.builder();connectHandlers=[];constructor(e={}){e.name&&this.builder.name(e.name)}[Te](){return this.builder}[ge](e){ve(e,this.connectHandlers)}connect(e,s={}){return this.connectConnection(e,s).connection}connectWith(e,s){let{rawConnection:r,connection:d}=this.connectConnection(e);return r.runUntil(()=>s(d.client))}onConnect(e){return this.connectHandlers.push(e),this}onRequest(e,s,r){if(r)return this.request({method:e,params:s},r);let d=Gt[e];if(!d)
148
- throw new Error(`Unknown ACP request method '${e}'. Pass a params parser for custom methods.`);return this.request(d,s)}onNotification(e,s,r){if(r)return this.notification({method:e,params:s},r);let d=Or[e];if(!d)throw new Error(`Unknown ACP notification method '${e}'. Pass a params parser for custom methods.`);return this.notification(d,s)}request(e,s){return Ht(this.builder,e,(r,d,l,z)=>Ar(r,re.create(d,z),l,z),s),this}notification(e,s){return Pt(this.builder,e,(r,d,l)=>Ir(r,re.create(d),l),s),
149
- this}connectConnection(e,s={}){if(It(e)){let f=this.openStreamConnection(e);return s.deferConnectHandlers||this[ge](f.connection),f}let[r,d]=jt(),l=e[Te]().connect(d,we),z=Dt(l),h=this.openStreamConnection(r);h.rawConnection.closed.then(()=>z.close()),l.closed.then(()=>h.connection.close());try{e[_e](z),this[ge](h.connection)}catch(f){throw z.close(f),h.connection.close(f),f}return h}openStreamConnection(e){let s=this.builder.connect(e,we);return{rawConnection:s,connection:kt(s,this.connectHandlers)}}};
150
- function Ft(i){return new Gn(i)}p(Ft,"client");var Gn=class{static{p(this,"ClientApp")}builder=Z.builder();connectHandlers=[];constructor(e={}){e.name&&this.builder.name(e.name),this.builder.withHandler({handleMessage:p((s,r)=>Ut(r).handleMessage(s),"handleMessage"),describe:p(()=>"client-session-update-router","describe")})}[Te](){return this.builder}[_e](e){ve(e,this.connectHandlers)}connect(e){return this.connectConnection(e).connection}connectWith(e,s){let{rawConnection:r,connection:d}=this.
151
- connectConnection(e);return r.runUntil(()=>s(d.agent))}onConnect(e){return this.connectHandlers.push(e),this}onRequest(e,s,r){if(r)return this.request({method:e,params:s},r);let d=Lt[e];if(!d)throw new Error(`Unknown ACP request method '${e}'. Pass a params parser for custom methods.`);return this.request(d,s)}onNotification(e,s,r){if(r)return this.notification({method:e,params:s},r);let d=Cr[e];if(!d)throw new Error(`Unknown ACP notification method '${e}'. Pass a params parser for custom method\
152
- s.`);return this.notification(d,s)}request(e,s){return Ht(this.builder,e,(r,d,l,z)=>jr(r,ae.create(d,z),l,z),s),this}notification(e,s){return Pt(this.builder,e,(r,d,l)=>Mr(r,ae.create(d),l),s),this}connectConnection(e){if(It(e)){let h=this.openStreamConnection(e);return this[_e](h.connection),h}let[s,r]=jt(),d=e[Te]().connect(r,we),l=kt(d),z=this.openStreamConnection(s);z.rawConnection.closed.then(()=>l.close()),d.closed.then(()=>z.connection.close());try{e[ge](l),this[_e](z.connection)}catch(h){
153
- throw l.close(h),z.connection.close(h),h}return z}openStreamConnection(e){let s=this.builder.connect(e,we);return{rawConnection:s,connection:Dt(s,this.connectHandlers)}}},Ba=new Set([m.initialize,m.authenticate,m.providers_list,m.providers_set,m.providers_disable,m.session_new,m.session_load,m.session_set_mode,m.session_set_config_option,m.session_prompt,m.session_list,m.session_delete,m.session_fork,m.session_resume,m.session_close,m.logout,m.nes_start,m.nes_suggest,m.nes_close]),$a=new Set([m.
154
- session_cancel,m.nes_accept,m.nes_reject,m.document_did_open,m.document_did_change,m.document_did_close,m.document_did_save,m.document_did_focus]),Va=new Set([E.session_request_permission,E.fs_write_text_file,E.fs_read_text_file,E.terminal_create,E.terminal_output,E.terminal_release,E.terminal_wait_for_exit,E.terminal_kill,E.elicitation_create]),Xa=new Set([E.session_update,E.elicitation_complete]);function qr(i){return{loadSession:i.loadSession===!0,resumeSession:i.sessionCapabilities?.resume!=null,listSessions:i.sessionCapabilities?.list!=null,closeSession:i.sessionCapabilities?.close!=null,forkSession:i.sessionCapabilities?.fork!=null,terminal:!0,mcp:{stdio:!0,http:i.mcpCapabilities?.http===!0,sse:i.mcpCapabilities?.sse===!0},raw:JSON.parse(JSON.stringify(i))}}p(qr,"normalizeAcpCapabilities");function Hr(i){return JSON.parse(JSON.stringify(i))}p(Hr,"jsonValue");function Wt(i,e){i.output+=
155
- e;let s=new TextEncoder().encode(i.output);if(s.byteLength<=i.limit)return;i.truncated=!0;let r=s.slice(s.byteLength-i.limit);i.output=new TextDecoder().decode(r).replace(/^\uFFFD/,"")}p(Wt,"appendTerminalOutput");async function Jt(i,e,s,r,d){let l=r.getReader(),z=new TextDecoder;for(;;){let h=await l.read();if(h.done){let T=z.decode();T&&(Wt(i,T),d("terminal.output",{terminalId:e,channel:s,text:T}));return}let f=z.decode(h.value,{stream:!0});Wt(i,f),d("terminal.output",{terminalId:e,channel:s,text:f})}}
156
- p(Jt,"consumeTerminalStream");var Ln=class{static{p(this,"AcpTerminalRegistry")}terminals=new Map;spawn;onEvent;constructor(e,s){this.spawn=e,this.onEvent=s}create(e){let s=Object.fromEntries((e.env??[]).map(z=>[z.name,z.value])),r=this.spawn(e.command,e.args??[],e.cwd??process.cwd(),s),d=Dr(),l={handle:r,output:"",truncated:!1,limit:e.outputByteLimit??1048576,exit:null,drained:Promise.resolve()};return this.terminals.set(d,l),this.onEvent("terminal.started",{terminalId:d,pid:r.pid??null,command:e.
157
- command,args:e.args??[],cwd:e.cwd??process.cwd(),envNames:(e.env??[]).map(z=>z.name)}),l.drained=Promise.all([Jt(l,d,"stdout",r.stdout,this.onEvent),Jt(l,d,"stderr",r.stderr,this.onEvent)]).then(()=>{},z=>{this.onEvent("terminal.output.error",{terminalId:d,error:z instanceof Error?z.message:String(z)})}),r.exited.then(z=>{l.exit={exitCode:z.code,signal:z.signal},this.onEvent("terminal.exited",{terminalId:d,exitCode:z.code,signal:z.signal})}),{terminalId:d}}output(e){let s=this.require(e.terminalId);
158
- return{output:s.output,truncated:s.truncated,exitStatus:s.exit}}async wait(e){let s=this.require(e.terminalId),r=await s.handle.exited;return await s.drained,{exitCode:r.code,signal:r.signal}}async kill(e){return await this.require(e.terminalId).handle.kill(),{}}async release(e){let s=this.require(e.terminalId);return s.exit===null&&await s.handle.kill(),await s.drained,this.terminals.delete(e.terminalId),this.onEvent("terminal.released",{terminalId:e.terminalId}),{}}async shutdown(){await Promise.
159
- all(Array.from(this.terminals.values(),e=>e.exit===null?e.handle.kill().catch(()=>{}):Promise.resolve())),this.terminals.clear()}require(e){let s=this.terminals.get(e);if(!s)throw new Error(`ACP terminal was not found: ${e}`);return s}};function Pr(i){let e=i.update;return e.sessionUpdate==="agent_message_chunk"&&e.content.type==="text"?e.content.text:""}p(Pr,"textFromUpdate");async function Gr(i,e){let s=i.getReader(),r=new TextDecoder;for(;;){let d=await s.read();if(d.done){let z=r.decode();z&&
160
- e("agent.stderr",{text:z});return}let l=r.decode(d.value,{stream:!0});l&&e("agent.stderr",{text:l})}}p(Gr,"consumeAgentStderr");async function Bt(i){let e=new Ln(i.spawnTerminal,i.onEvent),s=new WritableStream({write:p(l=>i.process.write(l),"write"),close:p(()=>i.process.closeStdin(),"close")}),r=At(s,i.process.stdout),d="";Gr(i.process.stderr,i.onEvent).catch(l=>{i.onEvent("agent.stderr.error",{error:l instanceof Error?l.message:String(l)})});try{return await Ft({name:"taskflow"}).onRequest(M.client.
161
- session.requestPermission,async l=>{let z=l.params.toolCall.kind??"other",h=await i.requestPermission(z,l.params.options,l.params);return h===null?{outcome:{outcome:"cancelled"}}:{outcome:{outcome:"selected",optionId:h}}}).onRequest(M.client.terminal.create,l=>e.create(l.params)).onRequest(M.client.terminal.output,l=>e.output(l.params)).onRequest(M.client.terminal.waitForExit,l=>e.wait(l.params)).onRequest(M.client.terminal.kill,l=>e.kill(l.params)).onRequest(M.client.terminal.release,l=>e.release(
162
- l.params)).onNotification(M.client.session.update,l=>{d+=Pr(l.params),i.onEvent("agent.update",Hr(l.params))}).connectWith(r,async l=>{let z=await l.request(M.agent.initialize,{protocolVersion:Ce,clientCapabilities:{terminal:!0},clientInfo:{name:"taskflow",version:"1"}}),h=qr(z.agentCapabilities??{}),f=i.mcpServers.map(_=>({name:_.name,command:_.command,args:_.args,env:Object.entries(_.env??{}).map(([O,I])=>({name:O,value:I}))})),T;if(i.sessionId){if(h.resumeSession)await l.request(M.agent.session.
163
- resume,{sessionId:i.sessionId,cwd:i.cwd,mcpServers:f});else if(h.loadSession)await l.request(M.agent.session.load,{sessionId:i.sessionId,cwd:i.cwd,mcpServers:f});else throw new Error("ACP agent does not support session resume or load");T=i.sessionId}else T=(await l.request(M.agent.session.new,{cwd:i.cwd,mcpServers:f})).sessionId;i.onReady(T,h);let S=p(()=>{l.notify(M.agent.session.cancel,{sessionId:T})},"cancel");i.signal?.addEventListener("abort",S,{once:!0}),i.signal?.aborted&&S();let y=await l.
164
- request(M.agent.session.prompt,{sessionId:T,prompt:[{type:"text",text:i.prompt}]}).finally(()=>i.signal?.removeEventListener("abort",S));return{sessionId:T,stopReason:y.stopReason,text:d}})}finally{await e.shutdown()}}p(Bt,"runAcpAgentSession");function $t(i,e,s){let r=s.find(l=>l.kind==="reject_once"||l.kind==="reject_always");if(i==="deny"||e==="other")return r?.optionId??null;let d=s.find(l=>l.kind==="allow_once");return i==="workspace"?d?.optionId??r?.optionId??null:null}p($t,"selectPermissi\
165
- onOption");var Re=class{static{p(this,"AgentSupervisor")}active=new Map;pendingPermissions=new Map;now;deps;constructor(e){this.deps=e,this.now=e.now??(()=>new Date)}recoverInterrupted(){return this.deps.store.listActive().map(e=>this.deps.store.update(e.id,{status:"recovery_required",error:"The runtime supervisor restarted while this operation was active",completedAt:this.now().toISOString()}))}async start(e){let s=this.deps.store.create(e);if(s.replayed)return s;if(e.transport!=="acp")return{operation:this.
166
- deps.store.update(e.operationId,{status:"failed",error:"Native operations must use the native bridge",completedAt:this.now().toISOString()}),replayed:!1};let r;try{r=this.deps.launch(e)}catch(l){throw this.deps.store.update(e.operationId,{status:"failed",error:l instanceof Error?l.message:String(l),completedAt:this.now().toISOString()}),l}let d=new AbortController;return this.active.set(e.operationId,{process:r.process,controller:d}),this.deps.store.update(e.operationId,{status:"starting",pid:r.
167
- process.pid??null}),Bt({process:r.process,cwd:e.cwd,prompt:e.prompt,sessionId:e.sessionId,permissionMode:e.permissionMode,mcpServers:e.mcpServers,signal:d.signal,spawnTerminal:r.spawnTerminal,onReady:p((l,z)=>{this.deps.store.update(e.operationId,{status:"running",sessionId:l,capabilities:z}),this.deps.store.appendEvent(e.operationId,"agent.ready",JSON.parse(JSON.stringify({sessionId:l,capabilities:z})))},"onReady"),onEvent:p((l,z)=>{this.deps.store.appendEvent(e.operationId,l,z)},"onEvent"),requestPermission:p(
168
- (l,z,h)=>{let f=$t(e.permissionMode,l,z);if(e.permissionMode!=="interactive")return this.deps.store.appendEvent(e.operationId,"agent.permission.resolved",{mode:e.permissionMode,optionId:f,request:JSON.parse(JSON.stringify(h))}),Promise.resolve(f);let T=crypto.randomUUID();return this.deps.store.appendEvent(e.operationId,"agent.permission",{requestId:T,request:JSON.parse(JSON.stringify(h))}),this.deps.store.update(e.operationId,{status:"waiting_input"}),new Promise(S=>{this.pendingPermissions.set(
169
- e.operationId,{requestId:T,options:z,resolve:S})})},"requestPermission")}).then(l=>{this.deps.store.get(e.operationId)?.status!=="cancelled"&&(this.deps.store.appendEvent(e.operationId,"agent.completed",JSON.parse(JSON.stringify(l))),this.deps.store.update(e.operationId,{status:l.stopReason==="cancelled"?"cancelled":"completed",sessionId:l.sessionId,result:{text:l.text,stopReason:l.stopReason},exitCode:0,completedAt:this.now().toISOString()}))}).catch(l=>{this.deps.store.get(e.operationId)?.status!==
170
- "cancelled"&&this.deps.store.update(e.operationId,{status:"failed",error:l instanceof Error?l.message:String(l),completedAt:this.now().toISOString()})}).finally(()=>{this.active.delete(e.operationId),this.pendingPermissions.delete(e.operationId)}),{operation:await this.inspect(e.operationId),replayed:!1}}inspect(e){let s=this.deps.store.get(e);if(!s)throw new Error(`Supervisor operation was not found: ${e}`);return Promise.resolve(s)}events(e,s=0){return Promise.resolve(this.deps.store.listEvents(
171
- e,s))}async cancel(e){let s=await this.inspect(e);if(s.status!=="starting"&&s.status!=="running"&&s.status!=="waiting_input")return s;let r=this.active.get(e);if(!r)return this.deps.store.update(e,{status:"recovery_required",error:"The operation process is no longer attached to this supervisor",completedAt:this.now().toISOString()});this.pendingPermissions.get(e)?.resolve(null),this.pendingPermissions.delete(e),r.controller.abort();let d=await Promise.race([r.process.exited.then(()=>!0),Vt(2e3).
172
- then(()=>!1)]);return d||(await r.process.interrupt(),d=await Promise.race([r.process.exited.then(()=>!0),Vt(1e3).then(()=>!1)])),d||await r.process.kill(),this.deps.store.update(e,{status:"cancelled",completedAt:this.now().toISOString()})}async respondPermission(e,s,r){let d=await this.inspect(e),l=this.pendingPermissions.get(e);if(!l||l.requestId!==s)throw new Error("ACP permission request is no longer pending");if(r!==null&&!l.options.some(h=>h.optionId===r))throw new Error(`ACP permission op\
173
- tion is invalid: ${r}`);this.pendingPermissions.delete(e),this.deps.store.appendEvent(e,"agent.permission.resolved",{requestId:s,optionId:r});let z=this.deps.store.update(e,{status:"running"});return l.resolve(r),d.status==="waiting_input"?z:d}hasActiveOperations(){return Promise.resolve(this.deps.store.listActive().length>0)}list(e){return Promise.resolve(this.deps.store.list(e))}};import{chmodSync as Ur,existsSync as Xt,unlinkSync as Kt}from"node:fs";import{createConnection as Fr,createServer as Wr}from"node:net";function Qt(i){return`${JSON.stringify(i)}
174
- `}p(Qt,"encode");async function Jr(i,e){if(e.version!==1)return{id:e.id,version:1,error:`Unsupported supervisor protocol: ${e.version}`};try{let s=e.method==="start"?await i.start(e.params):e.method==="inspect"?await i.inspect(e.params.operationId):e.method==="events"?await i.events(e.params.operationId,e.params.after):e.method==="cancel"?await i.cancel(e.params.operationId):e.method==="respondPermission"?await i.respondPermission(e.params.operationId,e.params.requestId,e.params.optionId):e.method===
175
- "list"?await i.list(e.params.prefix):{active:await i.hasActiveOperations()};return{id:e.id,version:1,result:s}}catch(s){return{id:e.id,version:1,error:s instanceof Error?s.message:String(s)}}}p(Jr,"dispatch");function Br(i){return new Promise(e=>{let s=Fr(i);s.once("connect",()=>{s.destroy(),e(!0)}),s.once("error",()=>e(!1))})}p(Br,"socketIsLive");async function Yt(i,e){if(Xt(i)){if(await Br(i))throw new Error(`A Taskflow runtime supervisor is already listening: ${i}`);Kt(i)}let s=Wr(r=>{let d="",
176
- l=!1;r.setEncoding("utf8"),r.on("data",z=>{if(d+=z,l||!d.includes(`
177
- `))return;l=!0;let h=d.slice(0,d.indexOf(`
178
- `)).trim();if(!h){r.end();return}try{let f=JSON.parse(h);Jr(e,f).then(T=>{r.end(Qt(T))})}catch(f){r.end(Qt({id:"invalid-request",version:1,error:f instanceof Error?f.message:String(f)}))}})});return await new Promise((r,d)=>{s.once("error",d),s.listen(i,()=>{s.off("error",d),Ur(i,384),e.recoverInterrupted(),r()})}),s.once("close",()=>{Xt(i)&&Kt(i)}),s}p(Yt,"startAgentSupervisorServer");var es=Fn().root,ns=process.env.PORTTA_FLOW_SUPERVISOR_SOCKET??Zt(es,"runtime","supervisor.sock"),Xr=process.env.PORTTA_FLOW_SUPERVISOR_STORE??Zt(es,"runtime","supervisor.sqlite");$r(Vr(ns),{recursive:!0});var ts=Bn(Xr),ss=new Re({store:ts,launch:p(i=>({process:$n(i),spawnTerminal:p((e,s,r,d)=>ye(i.execution,e,s,r,d),"spawnTerminal")}),"launch")}),Kr=await Yt(ns,ss);async function is(){await ss.hasActiveOperations()||Kr.close(()=>{ts.close(),process.exit(0)})}p(is,"stop");process.on("SIGINT",()=>{
179
- is()});process.on("SIGTERM",()=>{is()});
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as r}from"./chunk-UUSUJUAD.js";import{a as t}from"./chunk-6J5HN4ZN.js";async function e(){try{let{toJSONSchema:o}=await import("sury");return o}catch{throw new r("sury")}}t(e,"getToJsonSchemaFn");export{e as default};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as e}from"./chunk-6J5HN4ZN.js";function t(){return n=>JSON.parse(JSON.stringify(n.Type()))}e(t,"getToJsonSchemaFn");export{t as default};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as t}from"./chunk-UUSUJUAD.js";import{a as o}from"./chunk-6J5HN4ZN.js";async function a(){try{let{toJsonSchema:n}=await import("@valibot/to-json-schema");return n}catch{throw new t("@valibot/to-json-schema")}}o(a,"getToJsonSchemaFn");export{a as default};
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as t}from"./chunk-YYSFNLBX.js";import"./chunk-MH5YJA5O.js";import{b as s}from"./chunk-UUSUJUAD.js";import{a as o}from"./chunk-6J5HN4ZN.js";function h(){return async(p,m)=>{let n=await s(p,{errorMode:"ignore",overrideAction:o(({valibotAction:r,jsonSchema:c})=>{let a=t(c,m);if(r.kind==="metadata"&&r.type==="metadata"&&!("$ref"in a)){let e=r.metadata;if(e.example!==void 0&&(a.example=e.example),e.examples&&e.examples.length>0&&(a.examples=e.examples),e.ref)return m.components.schemas={...m.components.schemas,[e.ref]:a},{$ref:`#/components/schemas/${e.ref}`}}return a},"overrideAction"),...m.options});return"$schema"in n&&delete n.$schema,
4
- n}}o(h,"getToOpenAPISchemaFn");export{h as default};
@@ -1,50 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as me,b as ue}from"./chunk-LAYNTFDR.js";import{a as g,b as le,d as x,e as G,f as de}from"./chunk-3EZNE4MC.js";import{b as I}from"./chunk-PTKKSRMI.js";import{t as O}from"./chunk-OPVZAG2C.js";import"./chunk-4TGTGGMK.js";import{a as ce,c as K}from"./chunk-UX7P3YHF.js";import{Mb as z,Nb as J,bc as j,cc as D,ec as Y,fc as ee,gc as re,hc as ne,ic as te,jc as ie,kc as oe,lc as se,oc as ae}from"./chunk-4YGEG6YX.js";import"./chunk-VDSWNWUY.js";import"./chunk-5SBYE3YH.js";
4
- import"./chunk-CFWGQ7VJ.js";import"./chunk-QS5PHDYT.js";import"./chunk-IILMQFWO.js";import"./chunk-GI2EUNAK.js";import"./chunk-EYT7VTYA.js";import"./chunk-MH5YJA5O.js";import"./chunk-QBKADN76.js";import"./chunk-EFZZFIRZ.js";import"./chunk-SBVO6RXF.js";import"./chunk-EH7H7D7J.js";import"./chunk-O6U47HHQ.js";import{j as Q}from"./chunk-FRQCKCCK.js";import"./chunk-TA2XHP5D.js";import{k as Z}from"./chunk-T3TSZO4I.js";
5
- import"./chunk-UUSUJUAD.js";import{a as m}from"./chunk-6J5HN4ZN.js";import{basename as X,resolve as R}from"node:path";import{setTimeout as L}from"node:timers/promises";function B(r){return r instanceof Error?r.message:String(r)}m(B,"toMessage");async function pe(r,e,i){if(r===e)return{ok:!0,changed:!1,multiplexer:e};if(await i.hasActiveRuns?.())return{ok:!1,error:"cannot switch multiplexer while a Run is active",failures:[]};let t;try{t=await i.listOpenBranches()}catch(l){return{ok:!1,error:`could not list open worktrees: ${B(l)}`,failures:[]}}let u=[],w=[];for(let l of t){i.onProgress?.({stage:"close",branch:l});try{await i.closeWorktree(l),u.push(l)}catch(y){
6
- w.push({branch:l,stage:"close",message:B(y)})}}if(w.length>0)return{ok:!1,error:`left the project on ${r}: ${w.length} worktree(s) could not be closed`,failures:w};i.onProgress?.({stage:"persist"});try{await i.persistMultiplexer(e)}catch(l){return{ok:!1,error:`could not write the config: ${B(l)}`,failures:[]}}let k=[],S=[];for(let l of u){i.onProgress?.({stage:"restore",branch:l});try{await i.openWorktree(l),k.push(l)}catch(y){S.push({branch:l,stage:"restore",message:B(y)})}}return{ok:!0,changed:!0,
7
- from:r,to:e,closed:u,restored:k,failures:S}}m(pe,"switchMultiplexer");var ge={creating_worktree:"Creating worktree",running_post_create_hook:"Running post-create hook",preparing_runtime:"Preparing runtime",starting_session:"Starting session",reconciling:"Reconciling"};function we(r){let e=r.trim();if(!e)throw new g("Agent id cannot be empty");return e}m(we,"parseAgent");function fe(r){if(r==="terminal")return"terminal";if(r==="web-chat"||r==="web_chat")return"web_chat";throw new g('--interface must be "terminal" or "web-chat"')}m(fe,"parseInterfaceMode");function M(r){
8
- if(!r)throw new g("Missing required argument: <branch>");if(!z(r))throw new g("Invalid worktree name");return r}m(M,"requireWorktreeName");function ve(r,e){let i={},t=null;if(e.existing&&(i.mode="existing"),e.profile!==void 0&&(i.profile=e.profile),e.base!==void 0&&(i.baseBranch=e.base),e.prompt!==void 0&&(i.prompt=e.prompt),e.interface!==void 0&&(i.interfaceMode=fe(e.interface)),e.fromLinear!==void 0){let S=e.fromLinear.trim();if(!/^[A-Z]+-\d+$/.test(S))throw new g(`--from-linear expects an iss\
9
- ue id like ENG-123 (got "${S}")`);t=S}if(e.branch!==void 0&&r!==void 0&&e.branch!==r)throw new g(`Conflicting branch values: "${r}" and "${e.branch}"`);let u=e.branch?.trim()??r;u!==void 0&&(i.branch=u);let w=(e.agent??[]).map(we);w.length>0&&(i.agents=w);let k=le(e.env);return k&&(i.envOverrides=k),{input:i,detach:!!e.detach,fromLinearIssueId:t,branchExplicit:u!==void 0}}m(ve,"buildAddCommand");function be(r,e,i){let t=M(r);if((e==="switch"||e==="close")&&!i)throw new g(`The "${e}" action requi\
10
- res a <tabId>`);if((e==="list"||e==="new")&&i)throw new g(`Unexpected argument: ${i}`);return{branch:t,action:e,...i?{tabId:i}:{}}}m(be,"buildTabCommand");function ke(r,e,i){let t=M(r);if(i.label!==void 0&&e.length>0)throw new g("Cannot use --label with a positional label");let u=(i.label??e.join(" ")).trim();if(i.clear&&u)throw new g("Cannot use --clear with a label");if(!i.clear&&!u)throw new g("Missing required argument: <label>");return{branch:t,label:i.clear?null:u}}m(ke,"buildLabelCommand");
11
- function $e(r,e,i){let t=M(r);if(i.profile!==void 0&&e!==void 0)throw new g("Cannot use --profile with a positional profile");let u=(i.profile??e??"").trim();if(!u)throw new g("Missing required argument: <profile>");return{branch:t,profile:u}}m($e,"buildProfileCommand");function Pe(r,e,i){let t=M(r);if(i.prompt!==void 0&&e!==void 0)throw new g("Cannot use --prompt with a positional prompt argument");let u=i.prompt??e;if(!u)throw new g("Missing required argument: <prompt>");return{branch:t,text:u,
12
- ...i.preamble!==void 0?{preamble:i.preamble}:{}}}m(Pe,"buildSendCommand");function xe(r){if(r.all&&r.archived)throw new g("Cannot use --all with --archived");return{mode:r.all?"all":r.archived?"archived":"active",search:r.search??""}}m(xe,"buildListCommand");function Je(r){let[e]=r.path,[i,t,u]=r.args,w=r.options;switch(e){case"add":return{command:e,add:ve(i,w)};case"list":return{command:e,list:xe(w)};case"open":return{command:e,branch:M(i),...w.interface!==void 0?{interfaceMode:fe(w.interface)}:
13
- {}};case"remove":return{command:e,branch:M(i),force:w.force===!0};case"close":case"refresh":case"archive":case"unarchive":case"merge":return{command:e,branch:M(i)};case"label":return{command:e,label:ke(i,t,w)};case"profile":return{command:e,profile:$e(i,t,w)};case"send":return{command:e,send:Pe(i,t,w)};case"tab":return{command:e,tab:be(i,t,u)};case"prune":return{command:e};case"restore":return{command:e};case"multiplexer":return{command:e,target:i??null};default:throw new g(`Unknown worktree com\
14
- mand: ${r.path.join(" ")}`)}}m(Je,"worktreeRequestFromCli");function q(r){let e=R(r.projectDir);return r.git.listWorktrees(e).filter(i=>!i.bare&&R(i.path)!==e)}m(q,"listProjectWorktrees");async function he(r){let e=j(R(r.projectDir)),i=[];try{i=await r.sessions.listWindows()}catch{i=[]}return new Set(i.filter(t=>t.sessionName===e).map(t=>t.windowName))}m(he,"buildOpenWorktreeWindowSet");async function Ee(r){let e=await ue({message:`Prune ${r} closed worktree${r===1?"":"s"}? This action cannot be\
15
- undone.`,initialValue:!1});return!me(e)&&e===!0}m(Ee,"defaultConfirmPrune");async function Se(){if(process.env.HERDR_PANE_ID||process.env.HERDR_ENV)return;(await I("herdr",[],{stdio:"inherit",reject:!1})).exitCode!==0&&console.error("Warning: failed to attach to herdr")}m(Se,"attachToHerdr");async function V(r,e,i){try{await r.sessions.focusWindow(j(R(r.projectDir)),D(e))}catch{return}await i(r.projectDir,e,r.config.multiplexer)}m(V,"focusAndSwitch");async function We(r,e,i){if(i==="herdr"){await Se();
16
- return}let t=j(R(r));process.env.TMUX?(await I("tmux",["switch-client","-t",t],{reject:!1})).exitCode!==0&&console.error(`Warning: failed to switch tmux client to ${t}`):(await I("tmux",["attach-session","-t",t],{stdio:"inherit",reject:!1})).exitCode!==0&&console.error(`Warning: failed to attach to tmux session ${t}`)}m(We,"defaultSwitchToSessionWindow");function ye(r,e){return e.length===0||r.searchText.toLowerCase().includes(e.toLowerCase())}m(ye,"matchesListSearch");async function Ce(r,e,i){let t=R(
17
- r.projectDir),u=q(r);if(u.length===0){e("No worktrees found.");return}let w=await he(r),k=r.git.resolveWorktreeGitDir(t),S=te(await ee(k)),y=(await Promise.all(u.map(async o=>{let s=o.branch??X(o.path),b=w.has(D(s)),P=r.git.resolveWorktreeGitDir(o.path),a=await Y(P),h=await ne(P),n=a?`${a.profile} / ${a.agent}`:"";return{branch:s,label:a?.label??null,isOpen:b,archived:S.has(R(o.path)),prStates:h.map(c=>c.state),info:n,searchText:[a?.label??"",s,a?.baseBranch??"",a?.profile??"",a?.agent??""].join(
18
- " ")}}))).filter(o=>ye(o,i.search.trim())).sort((o,s)=>J({branch:o.branch,open:o.isOpen,prStates:o.prStates},{branch:s.branch,open:s.isOpen,prStates:s.prStates})),C=y.filter(o=>i.mode==="all"?!0:i.mode==="archived"?o.archived:!o.archived);if(C.length===0){let o=i.mode==="active"?y.filter(s=>s.archived).length:0;if(o>0){e(`No active worktrees found. ${o} archived worktree${o===1?"":"s"} hidden. Use --all or --archived.`);return}if(i.mode==="archived"){e("No archived worktrees found.");return}e(i.
19
- search.trim()?`No worktrees found for "${i.search.trim()}".`:"No worktrees found.");return}let v=Math.max(...C.map(o=>(o.label?`${o.label} (${o.branch})`:o.branch).length));for(let o of C){let s=`${o.isOpen?"open":"closed"}${o.archived?" archived":""}`,b=o.label?`${o.label} (${o.branch})`:o.branch;e(`${b.padEnd(v+2)} ${s.padEnd(15)} ${o.info}`.trimEnd())}if(i.mode==="active"){let o=y.filter(s=>s.archived).length;o>0&&e(`Hidden ${o} archived worktree${o===1?"":"s"}. Use --all or --archived.`)}}m(
20
- Ce,"listWorktrees");async function Qe(r,e={}){let i=e.createRuntime??(s=>ie(s)),t=e.stdout??(s=>console.log(s)),u=e.stderr??(s=>console.error(s)),w=e.resolveBaseUrl??G,k=e.switchToSessionWindow??We,S=e.confirmPrune??Ee,l=e.readOpenSessions??re,y=e.resolveProjectPrefix!==void 0||e.createRuntime===void 0,C=null,v=m(()=>y?(C||(C=(e.resolveProjectPrefix??de)(r.port,r.projectDir)),C):Promise.resolve(void 0),"resolvePrefix"),{request:o}=r;try{if(o.command==="add"){let n=o.add,c=i({projectDir:r.projectDir,
21
- port:r.port,prefix:await v(),onCreateProgress:m(d=>{t(ge[d.phase]??d.phase)},"onCreateProgress")});if(n.fromLinearIssueId){t(`Resolving Linear issue ${n.fromLinearIssueId}...`);let d=await se({issueId:n.fromLinearIssueId},oe);if(!d.ok)return u(`Linear seed lookup failed: ${d.error}`),1;if(t(`Linear seed source: ${d.data.source}${d.data.branch?` branch=${d.data.branch}`:""}${d.data.prUrl?` pr=${d.data.prUrl}`:""}`),!n.branchExplicit&&d.data.branch&&(n.input.branch=d.data.branch),!n.input.branch)return u(
22
- "Linear issue did not resolve to a branch; pass --branch to override."),1;d.data.source!=="none"&&(n.input.mode="existing"),d.data.conversationMarkdown&&(n.input.prompt=n.input.prompt?`${d.data.conversationMarkdown}
23
-
24
- ---
25
-
26
- ${n.input.prompt}`:d.data.conversationMarkdown)}!n.input.branch&&n.input.prompt&&"autoName"in c.config&&c.config.autoName&&t("Generating branch name...");let p=await c.lifecycleService.createWorktrees(n.input);for(let d of p.branches)t(`Created worktree ${d}`);return n.detach||await V(c,p.primaryBranch,k),0}if(o.command==="list"){let n=o.list,c=i({projectDir:r.projectDir,port:r.port});return await Ce(c,t,n),0}if(o.command==="prune"){let n=i({projectDir:r.projectDir,port:r.port}),c=q(n);if(c.length===
27
- 0)return t("No worktrees found."),0;let p=await he(n),d=c.filter($=>!p.has(D($.branch??X($.path))));if(d.length===0)return t("No closed worktrees to prune."),0;if(!await S(d.length))return t("Aborted."),0;let f=await n.lifecycleService.pruneWorktrees();for(let $ of f.keptBranches)t(`Kept ${$.branch}: ${$.reason}`);return f.removedBranches.length===0?(t("No closed worktrees to prune."),0):(t(`Pruned ${f.removedBranches.length} worktree${f.removedBranches.length===1?"":"s"}: ${f.removedBranches.join(
28
- ", ")}`),0)}if(o.command==="multiplexer"){let{target:n}=o,c=i({projectDir:r.projectDir,port:r.port,prefix:await v()}),p=c.config.multiplexer;if(n===null)return t(p),0;if(n===p)return t(`Already using ${p}.`),0;let d=R(c.projectDir),f=null,$=await pe(p,n,{listOpenBranches:m(async()=>ae({worktrees:q(c),windows:await c.sessions.listWindows(),sessionName:j(d),projectDir:d}),"listOpenBranches"),closeWorktree:m(E=>c.lifecycleService.closeWorktree(E),"closeWorktree"),persistMultiplexer:m(E=>Q(d,E),"per\
29
- sistMultiplexer"),openWorktree:m(async E=>{f??=i({projectDir:r.projectDir,port:r.port}),await f.lifecycleService.openWorktree(E)},"openWorktree"),onProgress:m(E=>{E.stage==="persist"?t(`Switching config to ${n}`):E.stage==="close"?t(`Closing ${E.branch}`):t(`Reopening ${E.branch}`)},"onProgress")});if(!$.ok){u($.error);for(let E of $.failures)u(` ${E.branch}: ${E.message}`);return 1}if(!$.changed)return t(`Already using ${$.multiplexer}.`),0;t(`Switched ${$.from} \u2192 ${$.to} (${$.restored.length}\
30
- /${$.closed.length} reopened)`);for(let E of $.failures)u(`Failed to reopen ${E.branch}: ${E.message}`);return $.restored.length>0&&t("Restart the host daemon (`portta host service restart`, or `portta host serve` again) so it picks up the new multiplexer."),$.failures.length>0?1:0}if(o.command==="restore"){let n=i({projectDir:r.projectDir,port:r.port,prefix:await v()}),c=R(n.projectDir),p=n.git.resolveWorktreeGitDir(c),d=await l(p);if(d.branches.length===0)return t("No saved sessions to restore\
31
- ."),0;let f=j(c),$=new Set;try{$=new Set((await n.sessions.listWindows()).filter(W=>W.sessionName===f).map(W=>W.windowName))}catch{$=new Set}let E=new Set(q(n).map(W=>W.branch??X(W.path))),U=0,A=0,N=0,T=null;for(let W of d.branches){if($.has(D(W))){t(`Already open: ${W}`),A++;continue}if(!E.has(W)){u(`Skipping ${W}: worktree no longer exists`),A++;continue}try{await n.lifecycleService.openWorktree(W),t(`Restored ${W}`),U++,T||(T=W)}catch(_){u(`Failed to restore ${W}: ${_ instanceof Error?_.message:
32
- String(_)}`),N++}}let F=[`Restored ${U} session${U===1?"":"s"}`];return A>0&&F.push(`skipped ${A}`),N>0&&F.push(`${N} failed`),t(`${F.join(", ")}.`),T&&await V(n,T,k),N>0?1:0}if(o.command==="send"){let n=o.send,c=O(await x(r.port,()=>w(r.port,r.projectDir)));return await x(r.port,()=>c.sendWorktreePrompt({params:{name:n.branch},body:{text:n.text,...n.preamble?{preamble:n.preamble}:{}}})),t(`Sent prompt to ${n.branch}`),0}if(o.command==="tab"){let n=o.tab,c=O(await x(r.port,()=>w(r.port,r.projectDir)));
33
- return await x(r.port,async()=>{if(n.action==="new"){let{tab:f}=await c.createWorktreeTab({params:{name:n.branch}});t(`Created ${f.label} (${f.tabId}) in ${n.branch}`);return}if(n.action==="switch"||n.action==="close"){let f=n.tabId;if(!f)throw new g(`The "${n.action}" action requires a <tabId>`);n.action==="switch"?(await c.selectWorktreeTab({params:{name:n.branch,tabId:f}}),t(`Switched ${n.branch} to tab ${f}`)):(await c.deleteWorktreeTab({params:{name:n.branch,tabId:f}}),t(`Closed tab ${f} in\
34
- ${n.branch}`));return}let{worktrees:p}=await c.fetchWorktrees(),d=p.find(f=>f.branch===n.branch);if(!d){t(`Worktree not found: ${n.branch}`);return}for(let f of d.tabs){let $=f.tabId===d.activeTabId?"\u2605":" ";t(`${$} ${f.label.padEnd(10)} ${f.tabId}`)}}),0}if(o.command==="label"){let n=o.label,p=await i({projectDir:r.projectDir,port:r.port}).lifecycleService.setWorktreeLabel(n.branch,n.label);return t(p.label?`Labeled worktree ${n.branch} as "${p.label}"`:`Cleared label for ${n.branch}`),0}if(o.
35
- command==="profile"){let n=o.profile,p=await i({projectDir:r.projectDir,port:r.port,prefix:await v()}).lifecycleService.setWorktreeProfile(n.branch,n.profile);return t(p.restarted?`Switched ${n.branch} to profile "${p.profile}" and restarted the session`:`Switched ${n.branch} to profile "${p.profile}" \u2014 applies on next open`),0}let{command:s,branch:b}=o,P=o.command==="open"?o:null,a=s==="open"||s==="refresh",h=i({projectDir:r.projectDir,port:r.port,prefix:a?await v():void 0});switch(s){case"\
36
- open":return await h.lifecycleService.openWorktree(b,P?.interfaceMode?{interfaceMode:P.interfaceMode}:void 0),t(`Opened worktree ${b}`),await V(h,b,k),0;case"close":return await h.lifecycleService.closeWorktree(b),t(`Closed worktree ${b}`),0;case"refresh":return await h.lifecycleService.refreshAgentTerminal(b),t(`Refreshed agent terminal for ${b}`),0;case"archive":return await h.lifecycleService.setWorktreeArchived(b,!0),t(`Archived worktree ${b}`),0;case"unarchive":return await h.lifecycleService.
37
- setWorktreeArchived(b,!1),t(`Restored worktree ${b}`),0;case"remove":return await h.lifecycleService.removeWorktree(b,{force:o.command==="remove"&&o.force}),t(`Removed worktree ${b}`),0;case"merge":return await h.lifecycleService.mergeWorktree(b),t(`Merged ${b} into ${h.config.workspace.mainBranch}`),0}}catch(s){return u(`Error: ${s instanceof Error?s.message:String(s)}`),1}}m(Qe,"runWorktreeCommand");function Ye(r){let[e,i,t]=r.args,u=r.options.run,w=[e,i,...t??[]].filter(l=>l!==void 0),k=u??w.
38
- shift();if(!k)throw new g("environment requires a <branch> or --run <run-id>");let S=w.shift()??"status";if(!ce.includes(S))throw new g(`Unknown environment action: ${S}`);return{target:k,byRun:u!==void 0,action:S,operands:w,wait:!!r.options.wait,copy:!!r.options.copy}}m(Ye,"environmentFromCli");var Re={resolveBaseUrl:m(async(r,e)=>Ie(process.env[Z.controlUrl])??G(r,e),"resolveBaseUrl"),createClient:O};function Ie(r){if(!r)return null;try{let e=new URL(r),i="/api/runtime/events";if(!e.pathname.endsWith(
39
- i))return null;let t=e.pathname.slice(0,-i.length);return`${e.origin}${t}`}catch{return null}}m(Ie,"environmentBaseUrlFromControlUrl");async function H(r){let e=await I(r.command,r.args,{cwd:r.cwd,stdio:"inherit",reject:!1});if(e.error)throw new Error(e.error);return e.exitCode}m(H,"runInherited");async function Me(r){let e=process.platform==="darwin"?"pbcopy":process.platform==="win32"?"clip":"xclip",i=process.platform==="linux"?["-selection","clipboard"]:[];return(await I(e,i,{input:r,reject:!1})).
40
- exitCode===0}m(Me,"writeClipboard");async function er(r,e,i,t=console.log,u=console.error,w=Re){try{let{target:k,byRun:S,action:l,operands:y}=r,C=await w.resolveBaseUrl(e,i),v=w.createClient(C),o=m(async()=>S?(await v.fetchRun({params:{runId:k}})).run.environmentId:(await v.fetchWorktrees()).worktrees.find(a=>a.branch===k)?.environmentId,"resolveEnvironmentId"),s;try{s=await o()}catch(a){if(l!=="monitor")throw a}if(!s&&l==="monitor")for(let a=0;a<120&&!s;a+=1){await L(250);try{s=await o()}catch{
41
- s=null}}if(!s)throw new g(`No environment is associated with ${S?`Run ${k}`:k}`);if(l==="services"||l==="open"||l==="expose"){let{services:a}=await x(e,()=>v.fetchEnvironmentServices({params:{environmentId:s}}));if(l==="services"){for(let p of a){let d=p.endpoints.map(f=>f.url).join(", ");t(`${p.name} ${p.status} ${d||"-"}`)}return 0}let h=y[0];if(!h)throw new g(`environment ${l} requires a <service>`);let n=a.find(p=>p.name===h);if(!n)throw new g(`Environment service not found: ${h}`);if(l==="e\
42
- xpose"){let d=(await x(e,()=>v.exposeEnvironmentService({params:{environmentId:s,serviceId:n.id},body:{visibility:"private"}}))).services.find(f=>f.id===n.id)?.endpoints.find(f=>f.audiences.includes("user"));if(!d)throw new Error(`No user endpoint was created for ${h}`);return t(d.url),0}let c=n.endpoints.find(p=>p.audiences.includes("user"));if(!c)throw new g(`No user endpoint exists for ${h}`);if(r.copy){if(!await Me(c.url))throw new Error("Clipboard command failed")}else{let p=process.platform===
43
- "darwin"?"open":process.platform==="win32"?"cmd":"xdg-open",d=process.platform==="win32"?["/c","start","",c.url]:[c.url];if((await I(p,d,{reject:!1})).exitCode!==0)throw new Error("Browser open command failed")}return t(c.url),0}if(l==="revoke"){let a=y[0];if(!a)throw new g("environment revoke requires an <endpoint-id>");return await x(e,()=>v.removeEndpoint({params:{endpointId:a}})),t(`Revoked ${a}`),0}if(l==="service"){let[a,h]=y;if(!a||h!=="start"&&h!=="stop"&&h!=="restart")throw new g("envir\
44
- onment service requires <service> <start|stop|restart>");let{services:n}=await x(e,()=>v.fetchEnvironmentServices({params:{environmentId:s}})),c=n.find(f=>f.name===a);if(!c)throw new g(`Environment service not found: ${a}`);if(!c.actions.includes(h))throw new g(`Service action is unavailable for ${a}`);let d=(await x(e,()=>v.controlEnvironmentService({params:{environmentId:s,serviceId:c.id},body:{action:h}}))).services.find(f=>f.id===c.id);return t(`${a} ${d?.status??"unknown"}`),0}if(l==="exec"){
45
- let[a,...h]=y;if(!a)throw new g("environment exec requires a command after --");let n=await x(e,()=>v.execEnvironment({params:{environmentId:s},body:{argv:[a,...h]}}));return n.stdout&&t(n.stdout.replace(/\n$/,"")),n.stderr&&u(n.stderr.replace(/\n$/,"")),n.code??1}if(l==="terminal"){let a=await x(e,()=>v.openEnvironmentTerminal({params:{environmentId:s}}));return H(a)}if(l==="logs"){let a=r.wait,h=null,n=null;for(let c=0;c<(a?60:1);c+=1)try{h=await x(e,()=>v.fetchEnvironmentLogs({params:{environmentId:s}}));
46
- break}catch(p){if(n=p,!a)throw p;await L(500)}if(!h)throw n instanceof Error?n:new Error("Environment logs are unavailable");return H(h)}if(l==="monitor"){let a=null;for(;;){let h=await x(e,()=>v.fetchEnvironment({params:{environmentId:s}})),n=h.environment.status,c=n!==a;if(c&&(t(`Runtime ${h.environment.provider} ${n}`),a=n),n==="ready"){let p=await x(e,()=>v.fetchEnvironmentLogs({params:{environmentId:s}}));await H(p),await L(500);continue}if(n==="awaiting_trust"){c&&t(`Review this Runtime in\
47
- Taskflow, or run ${K()} environment ${k} trust.`),await L(500);continue}if(n==="stopped")return t(`Runtime stopped. Run ${K()} environment ${k} start to start it again.`),0;if(n==="failed"||n==="missing")return 1;await L(500)}}let b={trust:m(()=>v.trustEnvironment({params:{environmentId:s}}),"trust"),start:m(()=>v.startEnvironment({params:{environmentId:s}}),"start"),stop:m(()=>v.stopEnvironment({params:{environmentId:s}}),"stop"),rebuild:m(()=>v.rebuildEnvironment({params:{environmentId:s}}),"\
48
- rebuild")};if(l==="destroy")return await x(e,()=>v.removeEnvironment({params:{environmentId:s}})),t(`Destroyed ${s}`),0;if(l==="restart"){await x(e,()=>b.stop());let a=await x(e,()=>b.start());return t(`${a.environment.id} ${a.environment.status}`),0}let P=null;if(l==="status"||l==="doctor"?P=await x(e,()=>v.fetchEnvironment({params:{environmentId:s}})):l==="trust"?P=await x(e,b.trust):l==="start"?P=await x(e,b.start):l==="stop"?P=await x(e,b.stop):l==="rebuild"&&(P=await x(e,b.rebuild)),!P)throw new g(
49
- `Unknown environment action: ${l}`);if(t(`${P.environment.id} ${P.environment.provider} ${P.environment.status}`),l==="doctor"){for(let a of P.environment.security.reasons)t(`warning ${a}`);for(let a of P.environment.runtimeOverride?.diagnostics??[])t(`diagnostic ${a}`);P.environment.runtimeOverride&&t(`runtime-override ${P.environment.runtimeOverride.path} ${P.environment.runtimeOverride.hash} ${P.environment.runtimeOverride.validated?"validated":"unvalidated"}`),P.environment.error&&t(`error ${P.
50
- environment.error}`)}return 0}catch(k){return u(`Error: ${k instanceof Error?k.message:String(k)}`),1}}m(er,"runEnvironmentCommand");export{ve as buildAddCommand,ke as buildLabelCommand,xe as buildListCommand,$e as buildProfileCommand,Pe as buildSendCommand,be as buildTabCommand,Ie as environmentBaseUrlFromControlUrl,Ye as environmentFromCli,er as runEnvironmentCommand,Qe as runWorktreeCommand,Je as worktreeRequestFromCli};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as t}from"./chunk-UUSUJUAD.js";import{a as n}from"./chunk-6J5HN4ZN.js";var c=new t("zod v4");async function d(){return async(r,e)=>{let o;if("_zod"in r)try{o=(await import("./core-FSKGFGJO.js")).toJSONSchema}catch{throw c}else try{o=(await import("./esm-575VQW4T.js")).zodToJsonSchema}catch{throw new t("zod-to-json-schema")}return o(r,e)}}n(d,"getToJsonSchemaFn");export{d as default};
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
3
- import{a as p}from"./chunk-Q3VNQ3LU.js";import"./chunk-YYSFNLBX.js";import{a as s}from"./chunk-EYT7VTYA.js";import"./chunk-MH5YJA5O.js";import"./chunk-UUSUJUAD.js";import{a as r}from"./chunk-6J5HN4ZN.js";function u(){return async(e,o)=>{if("_zod"in e)return p()(e,{components:o.components,options:{io:"input",...o.options}});try{let{createSchema:t}=await import("zod-openapi"),{schema:i,components:n}=t(e,{schemaType:"input",...o.options});return n&&(o.components.schemas={...o.components.schemas,...n}),i}catch{throw new Error(s('Missing dependencies "zod-openapi v4".'))}}}r(u,"getToOpenAPISchemaFn");export{u as default};