blade-code 0.10.137 → 0.10.138

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 (131) hide show
  1. package/dist/blade.js +2 -2
  2. package/dist/chunk-03zfvfen.js +10 -0
  3. package/dist/{chunk-e76gej4y.js → chunk-14j2dbd6.js} +2 -2
  4. package/dist/{chunk-h74p51hg.js → chunk-16648v5c.js} +1 -1
  5. package/dist/{chunk-c2mx5zg0.js → chunk-1bqatrxs.js} +1 -1
  6. package/dist/{chunk-chspy9f8.js → chunk-23c4pys6.js} +7 -7
  7. package/dist/{chunk-7ykqvsph.js → chunk-2m79vd9p.js} +1 -1
  8. package/dist/{chunk-g9vdmvk2.js → chunk-2t0wp7gm.js} +2 -2
  9. package/dist/chunk-303b3x5q.js +1 -0
  10. package/dist/{chunk-wzkh3e6a.js → chunk-3eskgvpy.js} +1 -1
  11. package/dist/chunk-3g2z6hae.js +1 -0
  12. package/dist/chunk-3t5r41yh.js +1 -0
  13. package/dist/{chunk-6e3mh79j.js → chunk-516adpx6.js} +1 -1
  14. package/dist/{chunk-ky9br0z8.js → chunk-56py3ryh.js} +1 -1
  15. package/dist/chunk-59980a8h.js +1 -0
  16. package/dist/{chunk-mthf5akx.js → chunk-5bfvdy62.js} +2 -2
  17. package/dist/chunk-5gy3x011.js +1 -0
  18. package/dist/{chunk-q0s3gcjm.js → chunk-5j68055h.js} +1 -1
  19. package/dist/{chunk-5dwmhsrx.js → chunk-5v1pjexj.js} +1 -1
  20. package/dist/chunk-5xgyx25z.js +2 -0
  21. package/dist/{chunk-wxtj6gqb.js → chunk-65c3vjwm.js} +1 -1
  22. package/dist/{chunk-69rjav47.js → chunk-6ezffjq1.js} +1 -1
  23. package/dist/{chunk-9frd4fpk.js → chunk-6qhbdcse.js} +2 -2
  24. package/dist/{chunk-wa71vstt.js → chunk-7j4s1nrc.js} +1 -1
  25. package/dist/{chunk-bzqbmz6t.js → chunk-7vdf66jp.js} +59 -59
  26. package/dist/chunk-8cnxy251.js +1 -0
  27. package/dist/chunk-8cqm87j5.js +1 -0
  28. package/dist/{chunk-na4wzne8.js → chunk-8py443a5.js} +1 -1
  29. package/dist/{chunk-ybc5myz7.js → chunk-8rccn1y2.js} +1 -1
  30. package/dist/{chunk-1evc05gr.js → chunk-92n2p24j.js} +2 -2
  31. package/dist/{chunk-0c82q1sz.js → chunk-9m7d3ajv.js} +1 -1
  32. package/dist/{chunk-p0gbxaqz.js → chunk-a5hkv8er.js} +2 -2
  33. package/dist/{chunk-a26vtcv5.js → chunk-ar85hxx2.js} +2 -2
  34. package/dist/{chunk-ramana2t.js → chunk-atdq9btn.js} +2 -2
  35. package/dist/{chunk-xt0ktytp.js → chunk-awheqy52.js} +2 -2
  36. package/dist/{chunk-69nwa6bn.js → chunk-az08pq83.js} +1 -1
  37. package/dist/{chunk-0ccm29qy.js → chunk-bq6d0v5b.js} +2 -2
  38. package/dist/{chunk-affzv7f1.js → chunk-byeq45rv.js} +1 -1
  39. package/dist/{chunk-e8pfbb6c.js → chunk-d11mqbqk.js} +1 -1
  40. package/dist/{chunk-4jqw75ce.js → chunk-d64b7wta.js} +1 -1
  41. package/dist/chunk-ddcz0nwv.js +1 -0
  42. package/dist/{chunk-g799czsy.js → chunk-dv2m2xe5.js} +1 -1
  43. package/dist/chunk-e71y87zg.js +1 -0
  44. package/dist/{chunk-nxnmqk4s.js → chunk-earhezc8.js} +1 -1
  45. package/dist/{chunk-mavranwn.js → chunk-ec7ykyqz.js} +3 -3
  46. package/dist/{chunk-wc9wsyrc.js → chunk-egadh3e9.js} +1 -1
  47. package/dist/{chunk-mzye1ah2.js → chunk-fbrdcveb.js} +1 -1
  48. package/dist/{chunk-rgjr7jsd.js → chunk-fndqbf45.js} +1 -1
  49. package/dist/{chunk-vp6d1fqp.js → chunk-ft1bdqbs.js} +2 -2
  50. package/dist/{chunk-h05qhgrb.js → chunk-gcg56vaw.js} +2 -2
  51. package/dist/chunk-h2gp7smy.js +1 -0
  52. package/dist/{chunk-y6jee9w7.js → chunk-he0f6h5q.js} +1 -1
  53. package/dist/{chunk-74bswv4z.js → chunk-hrcz179j.js} +2 -2
  54. package/dist/{chunk-5btfnf2r.js → chunk-j21hez8g.js} +4 -4
  55. package/dist/{chunk-5sf2rc1z.js → chunk-j58wrt5n.js} +3 -3
  56. package/dist/{chunk-xg9fyvw0.js → chunk-jb4hmk56.js} +2 -2
  57. package/dist/{chunk-wxypv01z.js → chunk-jy7k2dwm.js} +2 -2
  58. package/dist/{chunk-w9z34f27.js → chunk-k10d8t4f.js} +1 -1
  59. package/dist/chunk-mc2mr1kn.js +2 -0
  60. package/dist/{chunk-v5503t2t.js → chunk-mjnkxem3.js} +4 -4
  61. package/dist/chunk-n2tfj82m.js +1 -0
  62. package/dist/{chunk-f2b9cyj5.js → chunk-nnas8tdt.js} +2 -2
  63. package/dist/{chunk-6xvrrypm.js → chunk-npc7jt96.js} +1 -1
  64. package/dist/{chunk-zk9rf1d7.js → chunk-nqts5by0.js} +2 -2
  65. package/dist/{chunk-gpj7k3er.js → chunk-nyw686sf.js} +2 -2
  66. package/dist/chunk-pty1ncam.js +6 -0
  67. package/dist/chunk-qdjqbgts.js +1 -0
  68. package/dist/{chunk-vg3zwv4g.js → chunk-r7bv1hmq.js} +1 -1
  69. package/dist/{chunk-karq4wfd.js → chunk-rhwkvx96.js} +1 -1
  70. package/dist/{chunk-0k2x2ae6.js → chunk-t88sfhjj.js} +1 -1
  71. package/dist/{chunk-39de5k03.js → chunk-v2fewxvw.js} +2 -2
  72. package/dist/chunk-wv1mnf2m.js +1 -0
  73. package/dist/{chunk-bx75fd0d.js → chunk-y66f1t18.js} +387 -387
  74. package/dist/{chunk-etf3e9kt.js → chunk-yvmexv2c.js} +1 -1
  75. package/dist/{chunk-75yy9yre.js → chunk-z9qv0d6k.js} +1 -1
  76. package/dist/{chunk-z3hpstky.js → chunk-zx78c1an.js} +1 -1
  77. package/dist/web/assets/ChatView-CZLmEMBO.js +63 -0
  78. package/dist/web/assets/{CodeBlockHighlighter-Czp4VZIg.js → CodeBlockHighlighter-6-iPmomS.js} +1 -1
  79. package/dist/web/assets/{FilePreview-BJWuYfyF.js → FilePreview-D0aSwNF3.js} +1 -1
  80. package/dist/web/assets/{KanbanBoard-DrYzt5Kh.js → KanbanBoard-xPziptbY.js} +1 -1
  81. package/dist/web/assets/{MarkdownRenderer-DxkR5r7t.js → MarkdownRenderer-TWNqhwrr.js} +3 -3
  82. package/dist/web/assets/{ScrollArea-D71pJjgW.js → ScrollArea-CSQyGeWr.js} +1 -1
  83. package/dist/web/assets/{SessionHistorySurface-2y9bnndm.js → SessionHistorySurface-PRpOrUav.js} +1 -1
  84. package/dist/web/assets/{SettingsModal-BbaTL5Rk.js → SettingsModal-Ds-Uf-3r.js} +5 -10
  85. package/dist/web/assets/{Sidebar-COZltpL9.js → Sidebar-D6VyjkRY.js} +1 -1
  86. package/dist/web/assets/{TaskSwitcher-3giB7l1P.js → TaskSwitcher-BEsAgt0k.js} +1 -1
  87. package/dist/web/assets/{TerminalPanel-gvTTiTgX.js → TerminalPanel-C_2lnmKH.js} +1 -1
  88. package/dist/web/assets/{archive-DndqAA2q.js → archive-CPBIxP8f.js} +1 -1
  89. package/dist/web/assets/{arrow-left-XNYfpUAb.js → arrow-left-z3DhPgf-.js} +1 -1
  90. package/dist/web/assets/{calendar-clock-BQOfNcCK.js → calendar-clock-tYt1E6zR.js} +1 -1
  91. package/dist/web/assets/{chevron-right-Cvq3LzHK.js → chevron-right-BGTvSaVS.js} +1 -1
  92. package/dist/web/assets/{chevrons-up-down-Dia1U9Sz.js → chevrons-up-down-Jw3ElnjQ.js} +1 -1
  93. package/dist/web/assets/{clock-3-CnxLS8cv.js → clock-3-v0h4RrLK.js} +1 -1
  94. package/dist/web/assets/{copy-CWCS3Lql.js → copy-CF3TUa0u.js} +1 -1
  95. package/dist/web/assets/{download-DXdsM18t.js → download-ZG8PfhmH.js} +1 -1
  96. package/dist/web/assets/{external-link-1IN2ZfaO.js → external-link-BKCjDDt-.js} +1 -1
  97. package/dist/web/assets/{folder-Bpq602dI.js → folder-M-NM2bQG.js} +1 -1
  98. package/dist/web/assets/{index-57UZsfTt.css → index-DC2p1vGD.css} +1 -1
  99. package/dist/web/assets/index-VQVOzFZT.js +203 -0
  100. package/dist/web/assets/{pause-BYhoGDZq.js → pause-CP_wlUro.js} +1 -1
  101. package/dist/web/assets/{pencil-pRZQVHFU.js → pencil-U3n9D8ed.js} +1 -1
  102. package/dist/web/assets/{play-DGZdCyPk.js → play-NBWnc2gU.js} +1 -1
  103. package/dist/web/assets/{plus-CAQ3qlUJ.js → plus-CmPqJgff.js} +1 -1
  104. package/dist/web/assets/session-events-DKjIMNKI.js +29 -0
  105. package/dist/web/assets/{settings-BPfzj_Vf.js → settings-CVFpbh_y.js} +1 -1
  106. package/dist/web/assets/team-B9Na0Ocd.js +6 -0
  107. package/dist/web/assets/{teamService-BScT9o9A.js → teamService-ZQZLqsjy.js} +1 -1
  108. package/dist/web/assets/{terminal-CldJbdMr.js → terminal-BdmigqIS.js} +1 -1
  109. package/dist/web/index.html +2 -2
  110. package/package.json +1 -1
  111. package/dist/chunk-35668hyn.js +0 -1
  112. package/dist/chunk-3gmcvd0c.js +0 -1
  113. package/dist/chunk-5774a669.js +0 -1
  114. package/dist/chunk-7n035mhg.js +0 -1
  115. package/dist/chunk-9a7bppj7.js +0 -2
  116. package/dist/chunk-b08thknq.js +0 -1
  117. package/dist/chunk-d6tbr25k.js +0 -1
  118. package/dist/chunk-dt9n4f4e.js +0 -1
  119. package/dist/chunk-ermypm1x.js +0 -2
  120. package/dist/chunk-esp69w6w.js +0 -1
  121. package/dist/chunk-g1y60ey9.js +0 -1
  122. package/dist/chunk-gf5v8aff.js +0 -1
  123. package/dist/chunk-m9kh7djg.js +0 -6
  124. package/dist/chunk-ntmkzrs8.js +0 -1
  125. package/dist/chunk-pj15kt5b.js +0 -10
  126. package/dist/chunk-pv1vwasz.js +0 -1
  127. package/dist/chunk-vda03kxj.js +0 -1
  128. package/dist/web/assets/ChatView-DpvPjAh7.js +0 -63
  129. package/dist/web/assets/index-DEOQizD2.js +0 -203
  130. package/dist/web/assets/session-events-C5_Q0kZV.js +0 -29
  131. package/dist/web/assets/team-QZ9byb3E.js +0 -1
@@ -1,4 +1,4 @@
1
- import{c as a}from"./index-DEOQizD2.js";/**
1
+ import{c as a}from"./index-VQVOzFZT.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -0,0 +1,6 @@
1
+ import{c as s}from"./index-VQVOzFZT.js";/**
2
+ * @license lucide-react v0.300.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const r=s("Activity",[["path",{d:"M22 12h-4l-3 9L9 3l-3 9H2",key:"d5dnw9"}]]),a={title:"Agent team",members:"members",tasks:"tasks",noTasks:"No tasks",expand:"Expand team",collapse:"Collapse team",delete:"Delete team",worktree:"Isolated worktree",recipient:"Message recipient",broadcast:"Everyone",messagePlaceholder:"Message teammate...",send:"Send team message",actionFailed:"Team action failed",settingsTitle:"Agent Teams",settingsHint:"Enable shared task graphs, teammate worktrees, and peer messaging"},n={en:a,zh:{title:"智能体团队",members:"成员",tasks:"任务",noTasks:"暂无任务",expand:"展开团队",collapse:"收起团队",delete:"删除团队",worktree:"隔离工作树",recipient:"消息收件人",broadcast:"所有成员",messagePlaceholder:"发送团队消息…",send:"发送团队消息",actionFailed:"团队操作失败",settingsTitle:"Agent Teams",settingsHint:"启用共享任务图、成员 worktree 与点对点消息"}};function o(e,t){return n[e][t]}export{r as A,o as t};
@@ -1 +1 @@
1
- import{a5 as e,T as t,a6 as r,p as m}from"./session-events-C5_Q0kZV.js";import{Z as s}from"./index-DEOQizD2.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-D6QrtXqd.js";const p=e(t.Object({id:t.String(),name:t.String(),subagentType:t.String(),description:t.String(),agentId:t.Optional(t.String()),status:r(["leader","running","completed","failed","cancelled","unknown"]),result:t.Optional(t.Unknown()),stats:t.Optional(t.Unknown()),worktreePath:t.Optional(t.String())})),d=e(t.Object({id:t.String(),subject:t.String(),description:t.String(),status:r(["pending","blocked","running","completed"]),owner:t.Optional(t.String()),priority:r(["high","medium","low"]),dependsOn:t.Array(t.String()),blocks:t.Array(t.String()),result:t.Optional(t.String()),createdAt:t.String(),startedAt:t.Optional(t.String()),completedAt:t.Optional(t.String())})),o=e(t.Object({name:t.String(),description:t.Optional(t.String()),status:r(["idle","running","completed","failed","deleted"]),leadAgentId:t.String(),leadSessionId:t.Optional(t.String()),workspaceRoot:t.Optional(t.String()),peerMessagingEnabled:t.Boolean(),createdAt:t.Number(),updatedAt:t.Number(),deletedAt:t.Optional(t.Number()),members:t.Array(p),tasks:t.Array(d)}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),name:t.String({minLength:1}),description:t.Optional(t.String()),leadAgentType:t.Optional(t.String()),peerMessagingEnabled:t.Optional(t.Boolean()),members:t.Array(t.Object({name:t.String({minLength:1}),subagentType:t.String({minLength:1}),description:t.Optional(t.String()),prompt:t.String({minLength:10,maxLength:32*1024})}),{maxItems:32}),tasks:t.Optional(t.Array(t.Object({subject:t.String({minLength:1}),description:t.String({minLength:1}),dependsOn:t.Optional(t.Array(t.String())),assignedTo:t.Optional(t.String()),priority:t.Optional(r(["high","medium","low"]))}),{maxItems:256}))}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),to:t.String({minLength:1}),message:t.String({minLength:1,maxLength:32*1024})}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),memberId:t.String({minLength:1})}));const S=t.Array(o),u={list:async n=>{const i=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return m(S,await s(`/teams?${i.toString()}`))},sendMessage:async(n,i,a,g)=>{await s(`/teams/${encodeURIComponent(i)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:n.sessionId,projectPath:n.projectPath,to:a,message:g})})},delete:async(n,i)=>{const a=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return o.parse(await s(`/teams/${encodeURIComponent(i)}?${a.toString()}`,{method:"DELETE"}))}};export{u as teamService};
1
+ import{a5 as e,T as t,a6 as r,p as m}from"./session-events-DKjIMNKI.js";import{Z as s}from"./index-VQVOzFZT.js";import"./vendor-react-DofNRwfy.js";import"./vendor-radix-D6QrtXqd.js";const p=e(t.Object({id:t.String(),name:t.String(),subagentType:t.String(),description:t.String(),agentId:t.Optional(t.String()),status:r(["leader","running","completed","failed","cancelled","unknown"]),result:t.Optional(t.Unknown()),stats:t.Optional(t.Unknown()),worktreePath:t.Optional(t.String())})),d=e(t.Object({id:t.String(),subject:t.String(),description:t.String(),status:r(["pending","blocked","running","completed"]),owner:t.Optional(t.String()),priority:r(["high","medium","low"]),dependsOn:t.Array(t.String()),blocks:t.Array(t.String()),result:t.Optional(t.String()),createdAt:t.String(),startedAt:t.Optional(t.String()),completedAt:t.Optional(t.String())})),o=e(t.Object({name:t.String(),description:t.Optional(t.String()),status:r(["idle","running","completed","failed","deleted"]),leadAgentId:t.String(),leadSessionId:t.Optional(t.String()),workspaceRoot:t.Optional(t.String()),peerMessagingEnabled:t.Boolean(),createdAt:t.Number(),updatedAt:t.Number(),deletedAt:t.Optional(t.Number()),members:t.Array(p),tasks:t.Array(d)}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),name:t.String({minLength:1}),description:t.Optional(t.String()),leadAgentType:t.Optional(t.String()),peerMessagingEnabled:t.Optional(t.Boolean()),members:t.Array(t.Object({name:t.String({minLength:1}),subagentType:t.String({minLength:1}),description:t.Optional(t.String()),prompt:t.String({minLength:10,maxLength:32*1024})}),{maxItems:32}),tasks:t.Optional(t.Array(t.Object({subject:t.String({minLength:1}),description:t.String({minLength:1}),dependsOn:t.Optional(t.Array(t.String())),assignedTo:t.Optional(t.String()),priority:t.Optional(r(["high","medium","low"]))}),{maxItems:256}))}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),to:t.String({minLength:1}),message:t.String({minLength:1,maxLength:32*1024})}));e(t.Object({sessionId:t.String({minLength:1}),projectPath:t.String({minLength:1}),memberId:t.String({minLength:1})}));const S=t.Array(o),u={list:async n=>{const i=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return m(S,await s(`/teams?${i.toString()}`))},sendMessage:async(n,i,a,g)=>{await s(`/teams/${encodeURIComponent(i)}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:n.sessionId,projectPath:n.projectPath,to:a,message:g})})},delete:async(n,i)=>{const a=new URLSearchParams({sessionId:n.sessionId,projectPath:n.projectPath});return o.parse(await s(`/teams/${encodeURIComponent(i)}?${a.toString()}`,{method:"DELETE"}))}};export{u as teamService};
@@ -1,4 +1,4 @@
1
- import{c as e}from"./index-DEOQizD2.js";/**
1
+ import{c as e}from"./index-VQVOzFZT.js";/**
2
2
  * @license lucide-react v0.300.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -5,10 +5,10 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>BladeCode</title>
8
- <script type="module" crossorigin src="/assets/index-DEOQizD2.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-VQVOzFZT.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/vendor-react-DofNRwfy.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/vendor-radix-D6QrtXqd.js">
11
- <link rel="stylesheet" crossorigin href="/assets/index-57UZsfTt.css">
11
+ <link rel="stylesheet" crossorigin href="/assets/index-DC2p1vGD.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blade-code",
3
- "version": "0.10.137",
3
+ "version": "0.10.138",
4
4
  "private": false,
5
5
  "description": "🗡️ Blade Code - 智能代码助手命令行工具",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- import{k as a,l as b,m as c,n as d,o as e}from"./chunk-5dwmhsrx.js";import"./chunk-g9vdmvk2.js";import"./chunk-6e3mh79j.js";export{b as setSkipUntilVersion,d as performUpgrade,c as getUpgradeCommand,e as checkVersionOnStartup,a as checkVersion};
@@ -1 +0,0 @@
1
- import{a,b as i,c as l,d as m}from"./chunk-5btfnf2r.js";import"./chunk-rgjr7jsd.js";import"./chunk-0c82q1sz.js";import"./chunk-ky9br0z8.js";import"./chunk-y6jee9w7.js";import"./chunk-e8pfbb6c.js";import"./chunk-bx75fd0d.js";import"./chunk-h74p51hg.js";import"./chunk-7ykqvsph.js";import"./chunk-ermypm1x.js";import"./chunk-5sf2rc1z.js";import"./chunk-wzkh3e6a.js";import"./chunk-zk9rf1d7.js";import"./chunk-z3hpstky.js";import"./chunk-p0gbxaqz.js";import"./chunk-xt0ktytp.js";import{pf as n}from"./chunk-1evc05gr.js";import"./chunk-9frd4fpk.js";import{Lf as s}from"./chunk-v5503t2t.js";import"./chunk-v508x7cg.js";import"./chunk-q0s3gcjm.js";import"./chunk-a26vtcv5.js";import"./chunk-0ccm29qy.js";import"./chunk-74bswv4z.js";import"./chunk-4jqw75ce.js";import"./chunk-e76gej4y.js";import"./chunk-f2b9cyj5.js";import"./chunk-etf3e9kt.js";import"./chunk-karq4wfd.js";import"./chunk-69nwa6bn.js";import"./chunk-mavranwn.js";import"./chunk-c2mx5zg0.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";import v from"chalk";var C={command:"serve",describe:"Start a headless Blade server (no browser)",builder:a,handler:async(p)=>{let r=i(p);if(await s(),!process.env.BLADE_SERVER_PASSWORD)console.log(v.yellow("Warning: BLADE_SERVER_PASSWORD is not set; server is unsecured."));let e=await m.listenAsync(r);if(console.log(`Blade server listening on http://${e.hostname}:${e.port}`),r.hostname==="0.0.0.0"){let o=l();for(let g of o)console.log(` Network: http://${g}:${e.port}`)}let t,c=new Promise((o)=>{t=o}),d=n(async()=>{await e.stop(),t()});try{await c}finally{d(),await e.stop()}}};export{C as serveCommand};
@@ -1 +0,0 @@
1
- import{Rj as a,Sj as b,Tj as c}from"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{b as isWorkspaceTrusted,c as WorkspaceTrustService,a as MAX_RESIDENT_WORKSPACE_TRUST_STATUSES};
@@ -1 +0,0 @@
1
- import{kf as a,lf as b,mf as c}from"./chunk-gpj7k3er.js";import"./chunk-39de5k03.js";import"./chunk-v5503t2t.js";import"./chunk-v508x7cg.js";import"./chunk-q0s3gcjm.js";import"./chunk-69nwa6bn.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{a as validatePermissions,c as validateOutput,b as loadConfiguration};
@@ -1,2 +0,0 @@
1
- var _=20,E=5242880,T=32768,A=1e6,S=4194304;
2
- export{_ as Ki,E as Li,T as Mi,A as Ni,S as Oi};
@@ -1 +0,0 @@
1
- import{Ff as a,Gf as b,Hf as c,If as d,Jf as e,Kf as f,Lf as g,Mf as h,Nf as i,Of as j,Pf as k,Qf as l,Rf as m,Sf as n,Tf as o,Uf as p,Vf as q}from"./chunk-v5503t2t.js";import"./chunk-v508x7cg.js";import"./chunk-q0s3gcjm.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{a as vanillaStore,c as sessionActions,l as getThinkingModeEnabled,b as getState,n as getServiceTier,o as getResponseVerbosity,m as getReasoningEffort,j as getModelById,e as getMessages,k as getMcpServers,i as getCurrentModel,f as getConfig,p as getCommunicationStyle,h as getAllModels,g as ensureStoreInitialized,q as configActions,d as appActions};
@@ -1 +0,0 @@
1
- import{Ud as a,Vd as b,Wd as c,Xd as d,Yd as e,Zd as f,_d as g}from"./chunk-zk9rf1d7.js";import"./chunk-z3hpstky.js";import"./chunk-p0gbxaqz.js";import"./chunk-xt0ktytp.js";import"./chunk-4jqw75ce.js";import"./chunk-karq4wfd.js";import"./chunk-c2mx5zg0.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-vp6d1fqp.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{b as __setSessionSnapshotIOForTesting,c as __resetSessionSnapshotIOForTesting,g as SessionService,d as SessionMissingCreationError,e as SessionArchivedError,f as SessionArchiveConflictError,a as STALE_EMPTY_SESSION_AGE_MS};
@@ -1 +0,0 @@
1
- import{jg as a,kg as b,lg as c}from"./chunk-74bswv4z.js";import"./chunk-4jqw75ce.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{b as resolveModelConfig,c as getModelDisplayName,a as getModelApiKeyEnvironmentVariable};
@@ -1,2 +0,0 @@
1
- import{Ki as U,Li as c,Ni as n}from"./chunk-9a7bppj7.js";import{sj as y,wj as $,xj as Z,yj as W,zj as K}from"./chunk-vp6d1fqp.js";import{Wj as r}from"./chunk-0k2x2ae6.js";var w=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}],e={Sun:0,Mon:1,Tue:2,Wed:3,Thu:4,Fri:5,Sat:6},E=new Map;function x(J,B,H){let Y=new Set;for(let j of J.split(",")){let[k,G]=j.split("/"),V=G?Number.parseInt(G,10):1;if(!Number.isInteger(V)||V<1)throw Error(`Invalid cron step in "${J}"`);let Q=B,X=H;if(k!=="*"&&k!=="")if(k.includes("-")){let[b,p]=k.split("-");Q=Number.parseInt(b,10),X=Number.parseInt(p,10)}else Q=Number.parseInt(k,10),X=Q;if(!Number.isInteger(Q)||!Number.isInteger(X)||Q<B||X>H||Q>X)throw Error(`Invalid cron range "${k}" in field "${J}"`);for(let b=Q;b<=X;b+=V)Y.add(b)}return Y}function S(J){let B=J.trim().split(/\s+/);if(B.length!==5)throw Error(`Cron expression must have 5 fields (min hour dom mon dow), got ${B.length}`);let[H,Y,j,k,G]=B,V=x(G,w[4].min,w[4].max),Q=new Set([...V].map((X)=>X===7?0:X));return{minutes:x(H,w[0].min,w[0].max),hours:x(Y,w[1].min,w[1].max),daysOfMonth:x(j,w[2].min,w[2].max),months:x(k,w[3].min,w[3].max),daysOfWeek:Q,domRestricted:j.trim()!=="*",dowRestricted:G.trim()!=="*"}}function $1(J,B){if(!B)return{minute:J.getMinutes(),hour:J.getHours(),dayOfMonth:J.getDate(),month:J.getMonth()+1,dayOfWeek:J.getDay()};let H=E.get(B);if(!H)H=new Intl.DateTimeFormat("en-US",{timeZone:B,month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",weekday:"short",hourCycle:"h23"}),E.set(B,H);let Y=Object.fromEntries(H.formatToParts(J).filter((j)=>j.type!=="literal").map((j)=>[j.type,j.value]));return{minute:Number(Y.minute),hour:Number(Y.hour),dayOfMonth:Number(Y.day),month:Number(Y.month),dayOfWeek:e[Y.weekday]??-1}}function J1(J,B,H){let Y=$1(B,H);if(!J.minutes.has(Y.minute))return!1;if(!J.hours.has(Y.hour))return!1;if(!J.months.has(Y.month))return!1;let j=J.daysOfMonth.has(Y.dayOfMonth),k=J.daysOfWeek.has(Y.dayOfWeek);if(J.domRestricted&&J.dowRestricted)return j||k;if(J.domRestricted)return j;if(J.dowRestricted)return k;return!0}function Z1(J,B,H){let Y=S(J),j=new Date(B.getTime());j.setSeconds(0,0),j.setMinutes(j.getMinutes()+1);let k=new Date(B.getTime());k.setFullYear(k.getFullYear()+4);while(j.getTime()<=k.getTime()){if(J1(Y,j,H))return new Date(j.getTime());j.setMinutes(j.getMinutes()+1)}return null}var l={s:1000,m:60000,h:3600000,d:86400000};function R1(J){let H=J.trim().toLowerCase().match(/^(\d+)\s*([smhd]?)$/);if(!H)return null;let Y=Number.parseInt(H[1],10);if(!Number.isInteger(Y)||Y<=0)return null;let j=H[2]||"m";return Y*l[j]}function B1(J){for(let B of["d","h","m","s"]){let H=l[B];if(J%H===0)return`${J/H}${B}`}return`${Math.round(J/1000)}s`}function f(J,B,H){switch(J.kind){case"cron":{if(!J.cron)return null;try{return Z1(J.cron,B,J.timezone)}catch{return null}}case"interval":{if(!J.intervalMs||J.intervalMs<=0)return null;let j=new Date((H??B).getTime()+J.intervalMs);return j.getTime()<=B.getTime()?new Date(B.getTime()+1000):j}case"once":{if(!J.runAt)return null;let Y=new Date(J.runAt);if(Number.isNaN(Y.getTime()))return null;return Y.getTime()>B.getTime()?Y:null}default:return null}}function A(J){switch(J.kind){case"cron":if(!J.cron)return"cron trigger requires a cron expression";try{if(S(J.cron),J.timezone)new Intl.DateTimeFormat("en-US",{timeZone:J.timezone}).format();return null}catch(B){return B instanceof Error?B.message:"invalid cron expression"}case"interval":if(!J.intervalMs||J.intervalMs<60000)return"interval trigger requires intervalMs >= 60000 (1 minute)";return null;case"once":{if(!J.runAt)return"once trigger requires runAt timestamp";let B=new Date(J.runAt);if(Number.isNaN(B.getTime()))return"once trigger runAt is not a valid date";return null}default:return"unknown trigger kind"}}function _1(J){switch(J.kind){case"cron":return`cron: ${J.cron??"?"}`;case"interval":return`every ${J.intervalMs?B1(J.intervalMs):"?"}`;case"once":return`once at ${J.runAt??"?"}`;default:return"unknown"}}import{mkdir as f1,readFile as A1}from"node:fs/promises";import T from"node:path";import{nanoid as U1}from"nanoid";import M1 from"write-file-atomic";var O=160,K1=240,h=$.String({pattern:"^[a-f0-9]{64}$"}),Y1=Z($.Object({id:$.String({minLength:1,maxLength:128}),position:$.Integer({minimum:0,maximum:O-1}),queuedAt:$.String({minLength:20,maxLength:32}),kind:K(["user","internal"]),state:K(["pending","locked"]),delivery:K(["current_turn","next_turn","recovery"]),mutable:$.Boolean(),preview:$.Optional($.String({maxLength:K1})),previewTruncated:$.Boolean(),attachmentCount:$.Integer({minimum:0,maximum:20})},{additionalProperties:!1})),u=Z($.Object({version:h,pending:$.Integer({minimum:0,maximum:O}),mutable:$.Integer({minimum:0,maximum:O}),locked:$.Integer({minimum:0,maximum:O}),internal:$.Integer({minimum:0,maximum:O}),items:$.Array(Y1,{maxItems:O})},{additionalProperties:!1})),H1=$.Union([$.Object({type:$.Literal("remove"),messageId:$.String({minLength:1,maxLength:128})},{additionalProperties:!1}),$.Object({type:$.Literal("move"),messageId:$.String({minLength:1,maxLength:128}),toPosition:$.Integer({minimum:0,maximum:O-1})},{additionalProperties:!1})]),l1=Z($.Object({expectedVersion:h,operation:H1},{additionalProperties:!1})),h1=Z($.Object({snapshot:u},{additionalProperties:!1})),j1=K(["revision_conflict","already_claimed","immutable_origin","immutable_boundary","not_found","runtime_unavailable","invalid_mutation","storage_unavailable"]),u1=Z($.Object({error:$.Object({code:j1,message:$.String({minLength:1,maxLength:256})},{additionalProperties:!1}),snapshot:u},{additionalProperties:!1}));var d=16384;function m1(J){let B=/^\s*\/btw(?:\s+([\s\S]*))?\s*$/iu.exec(J);if(!B)return;return{question:(B[1]??"").trim()}}var z=Z(K(["default","autoEdit","yolo","plan"]));var M=Z(K(["user","assistant","system","tool"])),k1=Z($.Union([$.Object({type:$.Literal("text"),text:$.String()}),$.Object({type:$.Literal("image_url"),image_url:$.Object({url:$.String()})})])),g=$.Union([$.String(),$.Array(k1)]),i1=Z($.Object({id:$.String(),role:M,content:g,timestamp:$.Number(),metadata:$.Optional($.Record($.String(),$.Unknown())),thinkingContent:$.Optional($.String()),tool_call_id:$.Optional($.String()),name:$.Optional($.String()),tool_calls:$.Optional($.Unknown())})),X1=Z(K(["queued","running","completed","failed","cancelled","interrupted"])),q=Z(K(["local","worktree"])),L=Z(K(["high","medium","low"])),F=Z(K(["feature","bug","maintenance","research"])),Q1=Z(K(["applied","discarded","conflicted"])),W1=Z($.Object({status:Q1,updatedAt:$.String(),sourceCommit:$.Optional($.String()),changedFiles:$.Optional($.Integer({minimum:0})),message:$.Optional($.String())})),b1=Z($.Object({changedFiles:$.Integer({minimum:0}),additions:$.Integer({minimum:0}),deletions:$.Integer({minimum:0}),commits:$.Integer({minimum:0})})),G1=Z($.Object({path:$.String({minLength:1}),patch:$.String({maxLength:2097152}),additions:$.Integer({minimum:0}),deletions:$.Integer({minimum:0}),binary:$.Boolean(),truncated:$.Boolean()})),a1=Z($.Object({sessionId:$.String(),projectPath:$.String(),baseCommit:$.String(),files:$.Array(G1,{maxItems:100}),truncated:$.Boolean()})),V1=$.Union([$.String(),$.Number(),$.Boolean(),$.Array($.String())]),w1=Z($.Object({name:$.String(),type:K(["string","number","integer","boolean","select","multi-select"]),title:$.String(),description:$.Optional($.String()),required:$.Boolean(),defaultValue:$.Optional(V1),options:$.Optional($.Array($.Object({value:$.String(),label:$.String()}))),format:$.Optional(K(["date","uri","email","date-time"])),minimum:$.Optional($.Number()),maximum:$.Optional($.Number()),minLength:$.Optional($.Number()),maxLength:$.Optional($.Number()),minItems:$.Optional($.Number()),maxItems:$.Optional($.Number())})),t1=Z($.Object({serverName:$.String(),mode:K(["form","url"]),message:$.String(),fields:$.Optional($.Array(w1)),requestedSchema:$.Optional($.Record($.String(),$.Unknown())),url:$.Optional($.String()),domain:$.Optional($.String()),elicitationId:$.Optional($.String())})),D1=Z($.Object({type:K(["permission","question","elicitation"]),requestId:$.String()})),O1=Z($.Object({code:K(["authentication","permission","rate_limit","timeout","network","model_unavailable","context_limit","unsupported_input","workspace_unavailable","capacity","runtime"]),message:$.String({minLength:1,maxLength:500}),retryable:$.Boolean(),resource:$.Optional(K(["pending_count","pending_bytes","resident_runtimes"]))})),N=Z(K(["auto","off","minimal","low","medium","high","xhigh","max"])),v=Z(K(["auto","standard","fast","flex"])),I=Z(K(["auto","low","medium","high"])),D=Z($.Union([K(["auto","pragmatic","friendly","explanatory"]),$.String({minLength:7,maxLength:300,pattern:"^(?:(?:user|project):[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3}|plugin:[a-z0-9][a-z0-9._-]{0,63}:[a-z0-9][a-z0-9._-]{0,63}(?::[a-z0-9][a-z0-9._-]{0,63}){0,3})$"})])),C=Z($.Object({sessionId:$.String(),projectPath:$.String(),title:$.Optional($.String()),gitBranch:$.Optional($.String()),rootId:$.String(),parentId:$.Optional($.String()),relationType:$.Optional(K(["subagent","fork"])),resumedFrom:$.Optional($.String()),rootAgentId:$.Optional($.String()),resumeDepth:$.Optional($.Integer({minimum:0})),taskStatus:W(X1,"completed"),taskStatusReason:$.Optional($.String()),taskFailure:$.Optional(O1),taskStartedAt:$.Optional($.String()),taskCompletedAt:$.Optional($.String()),taskPromptSummary:$.Optional($.String()),taskPriority:$.Optional(L),taskKind:$.Optional(F),taskDueAt:$.Optional($.String()),taskModelId:$.Optional($.String()),selectedModelId:$.Optional($.String()),permissionMode:$.Optional(z),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),communicationStyleDigest:$.Optional($.String({pattern:"^[a-f0-9]{64}$"})),projectInstructionsDigest:$.Optional($.String({pattern:"^[a-f0-9]{64}$"})),taskRetryAvailable:$.Optional($.Boolean()),taskRetriedFrom:$.Optional($.Object({sessionId:$.String(),projectPath:$.String()})),taskDelivery:$.Optional(W1),taskIsolation:$.Optional(q),taskSourceProjectPath:$.Optional($.String()),taskWorktreePath:$.Optional($.String()),taskWorktreeBranch:$.Optional($.String()),taskBaseCommit:$.Optional($.String()),taskDiffStat:$.Optional(b1),taskQueuePosition:$.Optional($.Integer({minimum:1})),taskQueueDepth:$.Optional($.Integer({minimum:0})),taskConcurrencyLimit:$.Optional($.Integer({minimum:1})),archivedAt:$.Optional($.String()),archivedBySessionId:$.Optional($.String()),pendingInteraction:$.Optional(D1),messageCount:$.Number(),firstMessageTime:$.String(),lastMessageTime:$.String(),hasErrors:$.Boolean()})),r1=Z($.Object({sessions:$.Array(C),nextCursor:$.Optional($.String())})),y1=Z($.Object({session:C,archivedSessionIds:$.Array($.String())})),T1=Z($.Object({session:C,restoredSessionIds:$.Array($.String())})),p1=Z($.Object({version:$.Union([$.Literal(1),$.Literal(2)]),sessionId:$.String(),goalId:$.String(),objective:$.String(),status:K(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"]),tokenBudget:$.Optional($.Number()),tokensUsed:$.Number(),timeUsedSeconds:$.Number(),continuationCount:$.Number(),statusReason:$.Optional($.String()),completionVerification:$.Optional($.Object({attempt:$.Integer({minimum:1}),status:K(["pending","pass","fail","partial"]),requestedAt:$.String(),completedAt:$.Optional($.String()),verifierSessionId:$.Optional($.String()),summary:$.Optional($.String()),evidenceSha256:$.Optional($.String({pattern:"^[a-f0-9]{64}$"}))})),prematureStop:$.Optional($.Object({pattern:$.Unsafe({type:"string"}),consecutiveCount:$.Integer({minimum:1}),detectedAt:$.String()})),verificationStall:$.Optional($.Unsafe({type:"object"})),executionFrontier:$.Optional($.Object({taskListId:$.String({minLength:1,maxLength:256}),total:$.Integer({minimum:0}),completed:$.Integer({minimum:0}),inProgress:$.Integer({minimum:0}),pending:$.Integer({minimum:0}),blocked:$.Integer({minimum:0}),nextTask:$.Optional($.Object({id:$.String({minLength:1}),subject:$.String({minLength:1,maxLength:512}),priority:K(["high","medium","low"])})),digestSha256:$.String({pattern:"^[a-f0-9]{64}$"}),observedAt:$.String()})),frontierStall:$.Optional($.Object({category:K(["waiting_dependency","same_task_no_effect","repeated_deferral"]),consecutiveCount:$.Integer({minimum:1,maximum:3}),digestSha256:$.String({pattern:"^[a-f0-9]{64}$"}),detectedAt:$.String()})),createdAt:$.String(),updatedAt:$.String()})),o=Z($.Object({role:M,content:g,metadata:$.Optional($.Unknown()),reasoningContent:$.Optional($.String()),thinkingContent:$.Optional($.String()),tool_call_id:$.Optional($.String()),name:$.Optional($.String()),tool_calls:$.Optional($.Unknown())})),e1=Z($.Object({session:C,messages:$.Array(o)})),s=Z(K(["conversation","code","both"])),z1=Z($.Object({messageId:$.String(),preview:$.String(),createdAt:$.String(),fileCount:$.Integer({minimum:0})})),$0=Z($.Object({targetMessageId:$.String({minLength:1}),mode:W(s,"conversation")})),J0=Z($.Object({checkpoint:z1,mode:s,removedTurns:$.Integer({minimum:1}),restoredFiles:$.Array($.String()),messages:$.Array(o)})),N1=K(["running","completed","failed","cancelled"]),m=Z($.Object({id:$.String(),subagentType:$.String(),description:$.String(),status:N1,background:$.Boolean(),rootAgentId:$.String(),resumedFrom:$.Optional($.String()),resumeDepth:$.Integer({minimum:0}),createdAt:$.Number(),lastActiveAt:$.Number(),completedAt:$.Optional($.Number()),restartRecovery:$.Optional($.Object({outcome:K(["completed","interrupted","failed"]),recoveredAt:$.Number()})),result:$.Optional($.Object({success:$.Boolean(),message:$.String(),error:$.Optional($.String()),verificationCommands:$.Optional($.Array($.String())),verificationVerdict:$.Optional(K(["pass","fail","partial"])),modifiedFiles:$.Optional($.Array($.String()))})),stats:$.Optional($.Object({tokens:$.Optional($.Number()),toolCalls:$.Optional($.Number()),duration:$.Optional($.Number())}))})),Z0=Z($.Object({prompt:$.String({minLength:1,maxLength:32000,pattern:"\\S"})})),B0=Z($.Object({source:m,session:m})),K0=Z($.Object({sessionId:$.String(),projectPath:$.String()})),Y0=Z($.Object({path:$.String(),name:$.String(),gitBranch:$.Optional($.String()),available:$.Boolean(),isCurrent:$.Boolean(),boundAt:$.String()})),H0=Z($.Union([$.Object({cancelled:$.Literal(!0)}),$.Object({cancelled:$.Literal(!1),path:$.String({minLength:1})})])),j0=Z($.Object({type:$.String(),seq:$.Optional($.Number()),properties:$.Record($.String(),$.Unknown())})),i=$.Object({type:K(["file","image","url"]),path:$.Optional($.String()),url:$.Optional($.String()),content:$.Optional($.String({maxLength:c})),mimeType:$.Optional($.String()),name:$.Optional($.String())}),a=$.Record($.String(),$.Unknown()),k0=Z($.Object({prompt:$.String({minLength:1,maxLength:32000,pattern:"\\S"}),title:$.Optional($.String({minLength:1,maxLength:200})),taskPriority:W(L,"medium"),taskKind:W(F,"feature"),taskDueAt:$.Optional($.String({minLength:1,maxLength:64})),projectPath:$.Optional($.String()),modelId:$.Optional($.String({minLength:1,maxLength:500})),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),isolation:W(q,"worktree"),permissionMode:W(z,"default"),attachments:$.Optional($.Array(i,{maxItems:U})),outputSchema:$.Optional(a)})),X0=Z($.Object({title:$.Optional($.String({minLength:1,maxLength:200})),taskPriority:$.Optional(L),taskKind:$.Optional(F),taskDueAt:$.Optional($.Union([$.String({minLength:1,maxLength:64}),$.Null()]))})),Q0=Z($.Object({session:C,runId:$.String(),messageId:$.String(),status:K(["queued","running"]),queuePosition:$.Optional($.Integer({minimum:1})),queueDepth:$.Optional($.Integer({minimum:0})),maxConcurrentTasks:$.Optional($.Integer({minimum:1}))})),W0=Z($.Object({action:K(["apply","discard"])})),R=Z($.Object({kind:K(["cron","interval","once"]),cron:$.Optional($.String({minLength:1,maxLength:120})),intervalMs:$.Optional($.Integer({minimum:60000})),runAt:$.Optional($.String({minLength:1,maxLength:40})),timezone:$.Optional($.String({minLength:1,maxLength:80}))})),v1=Z($.Object({modelId:$.Optional($.String({minLength:1,maxLength:500})),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),isolation:W(q,"worktree"),permissionMode:W(z,"default")})),_=Z($.Object({id:$.String(),title:$.Optional($.String({minLength:1,maxLength:200})),prompt:$.String({minLength:1,maxLength:32000,pattern:"\\S"}),projectPath:$.String({minLength:1}),trigger:R,dispatch:v1,enabled:$.Boolean(),createdAt:$.String(),updatedAt:$.String(),nextRunAt:$.Union([$.String(),$.Null()]),expiresAt:$.Union([$.String(),$.Null()]),lastRunAt:$.Optional($.String()),lastRunSessionId:$.Optional($.String()),lastStatus:$.Optional(K(["queued","running","completed","failed","cancelled","interrupted","error"])),lastError:$.Optional($.String()),runCount:$.Integer({minimum:0})})),b0=Z($.Object({title:$.Optional($.String({minLength:1,maxLength:200})),prompt:$.String({minLength:1,maxLength:32000,pattern:"\\S"}),projectPath:$.String({minLength:1}),trigger:R,modelId:$.Optional($.String({minLength:1,maxLength:500})),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),isolation:W(q,"worktree"),permissionMode:W(z,"default"),enabled:W($.Boolean(),!0)})),G0=Z($.Object({title:$.Optional($.String({minLength:1,maxLength:200})),prompt:$.Optional($.String({minLength:1,maxLength:32000,pattern:"\\S"})),trigger:$.Optional(R),modelId:$.Optional($.String({minLength:1,maxLength:500})),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),isolation:$.Optional(q),permissionMode:$.Optional(z),enabled:$.Optional($.Boolean())})),V0=Z($.Object({schedules:$.Array(_)})),w0=Z($.Object({content:$.String({maxLength:n}),projectPath:$.Optional($.String()),modelId:$.Optional($.String({minLength:1,maxLength:500})),reasoningEffort:$.Optional(N),serviceTier:$.Optional(v),responseVerbosity:$.Optional(I),communicationStyle:$.Optional(D),permissionMode:$.Optional(z),attachments:$.Optional($.Array(i,{maxItems:U})),outputSchema:$.Optional(a)})),I1=K(["completed","failed","aborted","timed_out","spawn_error"]),P1=Z($.Object({version:$.Literal(1),command:$.String(),status:I1,exitCode:$.Union([$.Integer(),$.Null()]),durationMs:$.Number({minimum:0}),stdout:$.String(),stderr:$.String(),stdoutOmittedBytes:$.Integer({minimum:0}),stderrOmittedBytes:$.Integer({minimum:0}),binaryOutput:$.Boolean(),truncated:$.Boolean()})),D0=Z($.Object({command:$.String({minLength:1,maxLength:32768,pattern:"^(?![\\s\\S]*\\u0000)(?=[\\s\\S]*\\S)[\\s\\S]*$"}),projectPath:$.Optional($.String())})),O0=Z($.Object({executionId:$.String(),messageId:$.String(),record:P1,auxiliary:$.Boolean(),delivery:$.Optional(K(["current_turn","next_turn"])),queued:$.Optional($.Integer({minimum:0}))})),z0=Z($.Object({question:$.String({minLength:1,maxLength:d,pattern:"^(?![\\s\\S]*\\x00)(?=[\\s\\S]*\\S)[\\s\\S]*$"}),projectPath:$.Optional($.String())})),N0=Z($.Object({response:$.String({minLength:1}),durationMs:$.Number({minimum:0}),modelId:$.Optional($.String()),usage:$.Optional($.Object({promptTokens:$.Number({minimum:0}),completionTokens:$.Number({minimum:0}),totalTokens:$.Number({minimum:0}),reasoningTokens:$.Optional($.Number({minimum:0})),cacheCreationInputTokens:$.Optional($.Number({minimum:0})),cacheReadInputTokens:$.Optional($.Number({minimum:0})),costUsd:$.Optional($.Number({minimum:0}))}))})),v0=Z($.Object({projectPath:$.String(),kind:K(["uncommitted","base","commit"]),ref:$.Optional($.String({maxLength:200})),instructions:$.Optional($.String({maxLength:4000})),modelId:$.Optional($.String({minLength:1,maxLength:200}))})),I0=Z($.Object({reviewId:$.String(),status:$.Literal("running")})),P0=Z($.Object({messageId:$.String(),role:M,content:$.String(),timestamp:$.String()})),x0=Z($.Object({approved:$.Boolean(),remember:$.Optional($.Boolean()),scope:$.Optional(K(["once","session","project"])),targetMode:$.Optional(z),feedback:$.Optional($.String()),answers:$.Optional($.Record($.String(),$.Union([$.String(),$.Array($.String())]))),elicitation:$.Optional($.Object({action:K(["accept","decline","cancel"]),content:$.Optional($.Record($.String(),$.Union([$.String({maxLength:4000}),$.Number(),$.Boolean(),$.Array($.String({maxLength:1000}),{maxItems:100})]),{maxProperties:32}))}))})),x1=Z($.Object({id:D,name:$.String({minLength:1,maxLength:80}),description:$.String({minLength:1,maxLength:256}),source:K(["built-in","user","project","plugin"]),contentSha256:$.Optional($.String({pattern:"^[a-f0-9]{64}$"}))})),q0=Z($.Object({id:$.String(),displayName:$.Optional($.String()),provider:$.String(),model:$.String(),contextWindow:$.Optional($.Number()),maxTokens:$.Optional($.Number()),reasoning:$.Optional($.Boolean()),supportedReasoningEfforts:$.Optional($.Array(K(["off","minimal","low","medium","high","xhigh","max"]))),supportedServiceTiers:$.Optional($.Array(K(["standard","fast","flex"]))),supportedResponseVerbosities:$.Optional($.Array(K(["low","medium","high"]))),communicationStyles:$.Optional($.Array(x1,{maxItems:36})),input:$.Optional($.Array(K(["text","image"]))),overrides:$.Optional($.Object({baseUrl:$.Optional($.String()),temperature:$.Optional($.Number()),maxOutputTokens:$.Optional($.Number()),timeout:$.Optional($.Number()),streamIdleTimeout:$.Optional($.Number({minimum:1000}))}))})),C0=Z(K(["vs-dark","vs-light","hc-black"])),q1=Z(K(["light","dark","system"])),C1=Z($.Object({language:$.String(),codeTheme:$.String(),uiTheme:q1,autoSaveSessions:$.Boolean(),notifyBuild:$.Boolean(),notifyErrors:$.Boolean(),notifySounds:$.Boolean(),privacyTelemetry:$.Boolean(),privacyCrash:$.Boolean(),agentTeamsEnabled:$.Boolean(),communicationStyle:$.Optional(D)})),f0=Z($.Partial(C1));var t=y("Service"),L1=1;function F1(){return T.join(r(),"schedules.json")}class P{filePath;static instance;static getInstance(){if(!P.instance)P.instance=new P;return P.instance}writeChain=Promise.resolve();constructor(J=F1()){this.filePath=J}async readFile(){try{let J=await A1(this.filePath,"utf-8"),B=JSON.parse(J);if(!B||!Array.isArray(B.schedules))return[];let H=[],Y=0;for(let j of B.schedules){let k=_.safeParse(j);if(k.success)H.push(k.data);else Y+=1}if(Y>0)t.warn(`[ScheduleStore] Ignored ${Y} invalid persisted schedule(s)`);return H}catch(J){let B=J;if(B.code!=="ENOENT")t.warn("[ScheduleStore] Failed to read schedules; treating as empty:",B);return[]}}async writeFile(J){await f1(T.dirname(this.filePath),{recursive:!0,mode:493});let B={version:L1,schedules:J};await M1(this.filePath,JSON.stringify(B,null,2),{mode:384})}serializeWrite(J){let B=this.writeChain.then(J,J);return this.writeChain=B.then(()=>{return},()=>{return}),B}async list(){return this.readFile()}async get(J){return(await this.readFile()).find((H)=>H.id===J)}async create(J){return this.serializeWrite(async()=>{let B=J.trigger.kind==="cron"&&!J.trigger.timezone?{...J.trigger,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}:J.trigger,H=A(B);if(H)throw Error(H);let Y=new Date;if(B.kind==="once"&&new Date(B.runAt).getTime()<=Y.getTime())throw Error("once trigger runAt must be in the future");let j=Y.toISOString(),k=f(B,Y),G={id:U1(10),title:J.title,prompt:J.prompt,projectPath:J.projectPath,trigger:B,dispatch:{modelId:J.modelId,reasoningEffort:J.reasoningEffort,serviceTier:J.serviceTier,responseVerbosity:J.responseVerbosity,communicationStyle:J.communicationStyle,isolation:J.isolation??"worktree",permissionMode:J.permissionMode??"default"},enabled:J.enabled??!0,createdAt:j,updatedAt:j,nextRunAt:k?k.toISOString():null,expiresAt:null,runCount:0},V=await this.readFile();return V.push(G),await this.writeFile(V),G})}async update(J,B){return this.serializeWrite(async()=>{let H=await this.readFile(),Y=H.findIndex((X)=>X.id===J);if(Y===-1)return;let j=H[Y];if(B.trigger){let X=B.trigger.kind==="cron"&&!B.trigger.timezone?{...B.trigger,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}:B.trigger,b=A(X);if(b)throw Error(b);if(X.kind==="once"&&new Date(X.runAt).getTime()<=Date.now())throw Error("once trigger runAt must be in the future");B={...B,trigger:X}}let k={...j,...B,dispatch:B.dispatch?{...j.dispatch,...B.dispatch}:j.dispatch,updatedAt:new Date().toISOString()},G=!j.enabled,V=k.enabled,Q=B.trigger!==void 0;if((Q||G&&V)&&B.nextRunAt===void 0){let X=new Date,b=f(k.trigger,X);if(k.nextRunAt=b?b.toISOString():null,Q)k.expiresAt=null}return H[Y]=k,await this.writeFile(H),k})}async remove(J){return this.serializeWrite(async()=>{let B=await this.readFile(),H=B.filter((Y)=>Y.id!==J);if(H.length===B.length)return!1;return await this.writeFile(H),!0})}async setEnabled(J,B){return this.update(J,{enabled:B})}}var n0=P.getInstance();
2
- export{d as Ra,m1 as Sa,O as Ta,K1 as Ua,h as Va,u as Wa,H1 as Xa,R1 as Ya,f as Za,A as _a,_1 as $a,a1 as ab,C as bb,$0 as cb,Z0 as db,k0 as eb,X0 as fb,Q0 as gb,W0 as hb,_ as ib,b0 as jb,G0 as kb,V0 as lb,w0 as mb,D0 as nb,z0 as ob,v0 as pb,P as qb,n0 as rb};
@@ -1 +0,0 @@
1
- import{og as a,pg as b,qg as c,rg as d}from"./chunk-e76gej4y.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{c as snapshotWorkspaceModelResources,b as resolveWorkspaceModelResources,d as createProcessModelResources,a as cloneWorkspaceModelConfig};
@@ -1 +0,0 @@
1
- import{Kg as a,Lg as b,Mg as c,Ng as d,Og as e,Pg as f,Qg as g,Rg as h,Sg as i,Tg as j,Ug as k}from"./chunk-f2b9cyj5.js";import"./chunk-etf3e9kt.js";import"./chunk-karq4wfd.js";import"./chunk-69nwa6bn.js";import"./chunk-mavranwn.js";import"./chunk-c2mx5zg0.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{g as withWorkspaceAgentResources,i as snapshotWorkspaceAgentResources,f as resolveWorkspaceAgentResources,k as resetWorkspaceAgentResources,d as refreshWorkspaceCommunicationStyles,h as getWorkspaceAgentResourceCacheStats,j as createEmptySessionAgentResources,e as configureInvocationPluginDirs,c as WorkspaceAgentResourceCapacityError,a as MAX_RESIDENT_WORKSPACE_AGENT_RESOURCES,b as MAX_ACTIVE_WORKSPACE_AGENT_RESOURCES};
@@ -1 +0,0 @@
1
- import{gg as a}from"./chunk-a26vtcv5.js";import"./chunk-0ccm29qy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{a as createChatServiceAsync};
@@ -1,6 +0,0 @@
1
- import{p as IH,q as RH,r as gH,s as kH,t as CH,u as hH}from"./chunk-w9z34f27.js";import{B as bH,C as VH,D as ZH,E as $H,F as l,G as qH}from"./chunk-e8pfbb6c.js";import{H as BH,ca as FH,ea as EH,fa as MH,ja as zH}from"./chunk-bx75fd0d.js";import"./chunk-h74p51hg.js";import"./chunk-7ykqvsph.js";import"./chunk-ermypm1x.js";import{Fb as t,Rb as GH,_b as PH}from"./chunk-5sf2rc1z.js";import"./chunk-wzkh3e6a.js";import{Jd as UH,Nd as _H,Pd as u,_d as n}from"./chunk-zk9rf1d7.js";import"./chunk-z3hpstky.js";import"./chunk-p0gbxaqz.js";import"./chunk-xt0ktytp.js";import{if as AH}from"./chunk-h05qhgrb.js";import{kf as SH,lf as TH,mf as yH}from"./chunk-gpj7k3er.js";import{nf as fH}from"./chunk-39de5k03.js";import"./chunk-9frd4fpk.js";import{Nf as xH}from"./chunk-v5503t2t.js";import"./chunk-v508x7cg.js";import"./chunk-q0s3gcjm.js";import"./chunk-a26vtcv5.js";import"./chunk-0ccm29qy.js";import"./chunk-74bswv4z.js";import"./chunk-4jqw75ce.js";import"./chunk-e76gej4y.js";import"./chunk-f2b9cyj5.js";import{ch as YH}from"./chunk-etf3e9kt.js";import"./chunk-karq4wfd.js";import"./chunk-69nwa6bn.js";import"./chunk-mavranwn.js";import"./chunk-c2mx5zg0.js";import"./chunk-ramana2t.js";import{Ii as WH}from"./chunk-6xvrrypm.js";import{Ni as s,Oi as r}from"./chunk-9a7bppj7.js";import{Si as k}from"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import{uj as jH,wj as H,xj as XH,zj as Y}from"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";import hJ from"yargs";import{hideBin as OJ}from"yargs/helpers";function a(K,Z,Q){if(K.off){K.off(Z,Q);return}K.removeListener?.(Z,Q)}function vH(K,Z){if(!K.once&&!K.on||!K.off&&!K.removeListener)throw Error("Writable returned false without an observable drain contract");return new Promise((Q,q)=>{let J=!1,V=()=>{a(K,"drain",x),a(K,"error",j),Z.removeEventListener("abort",P)},W=(F)=>{if(J)return;J=!0,V(),F()},x=()=>W(Q),j=(F)=>W(()=>q(F??Error("Writable emitted an error"))),P=()=>W(()=>q(Z.reason??Error("Writable drain aborted")));if(Z.aborted){P();return}let T=K.once?.bind(K)??K.on?.bind(K);T?.("drain",x),T?.("error",j),Z.addEventListener("abort",P,{once:!0})})}async function lH(K,Z,Q){if(K.destroyed||K.writableEnded)throw Error("Writable is already closed");if(K.write(Z)===!1)await vH(K,Q)}class i{options;queues;sinkErrorListeners=[];failed=!1;closing=!1;handleAbort=()=>{this.fail(new l("aborted","Headless output was aborted",{cause:this.options.signal?.reason}))};constructor(K,Z={}){this.options=Z;let Q=(q)=>new qH({maxPendingItems:Z.maxPendingItems??VH,maxPendingBytes:Z.maxPendingBytes??ZH,writeTimeoutMs:Z.writeTimeoutMs??$H,sizeOf:(J)=>Buffer.byteLength(J),write:(J,V)=>lH(K[q],J,V),onFailure:(J)=>this.fail(J)});if(this.queues={stdout:Q("stdout"),stderr:Q("stderr")},this.observeSinkErrors(K.stdout),K.stderr!==K.stdout)this.observeSinkErrors(K.stderr);if(Z.signal?.addEventListener("abort",this.handleAbort,{once:!0}),Z.signal?.aborted)this.handleAbort()}write(K,Z){return this.queues[K].offer(Z).accepted}async flush(){await Promise.all([this.queues.stdout.flush(),this.queues.stderr.flush()])}close(K){if(this.closing||this.failed)return;this.closing=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close(K),this.queues.stderr.close(K)}stats(){return{stdout:this.queues.stdout.stats(),stderr:this.queues.stderr.stats()}}observeSinkErrors(K){if(!K.on||!K.off&&!K.removeListener)return;let Z=(Q)=>{this.fail(new l("write_failed","Headless writable failed",{cause:Q??Error("Writable emitted an error")}))};K.on("error",Z),this.sinkErrorListeners.push({writer:K,listener:Z})}fail(K){if(this.closing||this.failed)return;this.failed=!0,this.options.signal?.removeEventListener("abort",this.handleAbort),this.removeSinkErrorListeners(),this.queues.stdout.close(K),this.queues.stderr.close(K),this.options.onFailure?.(K)}removeSinkErrorListeners(){for(let{writer:K,listener:Z}of this.sinkErrorListeners.splice(0))a(K,"error",Z)}}var c=1;function D(K){return H.Object({event_version:H.Literal(c),...K})}var aH=D({type:H.Literal("content_delta"),delta:H.String()}),iH=D({type:H.Literal("thinking_delta"),delta:H.String()}),oH=D({type:H.Literal("thinking"),content:H.String()}),sH=D({type:H.Literal("stream_end")}),rH=D({type:H.Literal("content"),content:H.String()}),nH=D({type:H.Literal("structured_output"),output:H.Record(H.String(),H.Unknown()),schema_digest:H.String({pattern:"^[a-f0-9]{64}$"})}),o=Y(["readonly","write","execute"]),tH=H.Object({kind:o,scope:Y(["global","session"]),queue_position:H.Integer({minimum:1}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:1})}),eH=D({type:H.Literal("tool_start"),tool_name:H.String(),summary:H.String(),target:H.Optional(H.String()),tool_kind:H.Optional(o)}),HJ=D({type:H.Literal("tool_progress"),tool_name:H.String(),message:H.String(),progress:H.Optional(H.Number()),total:H.Optional(H.Number()),admission:H.Optional(tH)}),JJ=H.Object({auto_backgrounded:H.Literal(!0),background_reason:H.Literal("foreground_budget"),foreground_budget_ms:H.Integer({minimum:1}),shell_id:H.String({minLength:1,maxLength:128,pattern:"^bash_[A-Za-z0-9-]+$"}),pid:H.Optional(H.Integer({minimum:1})),terminal_transport:Y(["local","acp"])}),KJ=D({type:H.Literal("tool_result"),tool_name:H.String(),summary:H.String(),target:H.Optional(H.String()),tool_kind:H.Optional(o),success:H.Optional(H.Boolean()),error_type:H.Optional(H.String()),error_message:H.Optional(H.String()),background:H.Optional(JJ)}),VJ=D({type:H.Literal("mcp_catalog_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),added:H.Array(H.String()),removed:H.Array(H.String()),updated:H.Array(H.String())}),ZJ=D({type:H.Literal("mcp_content_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),content_kind:Y(["resources","resource_templates","prompts"]),added:H.Array(H.String()),removed:H.Array(H.String()),updated:H.Array(H.String())}),$J=D({type:H.Literal("mcp_resource_updated"),revision:H.Integer({minimum:1}),server_name:H.String(),uri:H.String()}),qJ=D({type:H.Literal("mcp_connection_changed"),revision:H.Integer({minimum:1}),server_name:H.String(),phase:Y(["reconnecting","recovered","failed"]),reason:H.String(),attempt:H.Integer({minimum:0}),max_attempts:H.Integer({minimum:0}),next_retry_at:H.Optional(H.Integer({minimum:0})),error:H.Optional(H.String())}),XJ=D({type:H.Literal("mcp_log"),revision:H.Integer({minimum:1}),server_name:H.String(),level:Y(["debug","info","notice","warning","error","critical","alert","emergency"]),logger:H.Optional(H.String()),message:H.String(),projected_bytes:H.Integer({minimum:0}),data_sha256:H.String(),truncated:H.Boolean(),details_omitted:H.Boolean(),timestamp:H.Integer({minimum:0}),synthetic:H.Optional(H.Boolean())}),YJ=D({type:H.Literal("mcp_instructions_changed"),revision:H.Integer({minimum:0}),server_name:H.String(),action:Y(["added","removed"]),reason:Y(["snapshot","connection","disconnection"]),text:H.Optional(H.String()),source_bytes:H.Optional(H.Integer({minimum:0})),projected_bytes:H.Optional(H.Integer({minimum:0})),sha256:H.Optional(H.String()),truncated:H.Optional(H.Boolean()),details_omitted:H.Optional(H.Boolean())}),BJ=D({type:H.Literal("mcp_task_changed"),revision:H.Integer({minimum:0}),task_id:H.String(),server_name:H.String(),tool_name:H.String(),status:Y(["working","input_required","interrupted","completed","failed","cancelled"]),status_message:H.Optional(H.String()),created_at:H.Integer({minimum:0}),updated_at:H.Integer({minimum:0}),completed_at:H.Optional(H.Integer({minimum:0})),has_result:H.Boolean(),error:H.Optional(H.String())}),NJ=D({type:H.Literal("project_rules_loaded"),files:H.Array(H.Object({id:H.String(),relative_path:H.String(),source:Y(["project","local"]),conditional:H.Boolean(),content_sha256:H.String({pattern:"^[a-f0-9]{64}$"})})),trigger_paths:H.Array(H.String()),blocked_write:H.Boolean()}),QJ=D({type:H.Literal("user_shell_started"),execution_id:H.String(),command:H.String(),auxiliary:H.Boolean()}),DJ=D({type:H.Literal("user_shell_output"),execution_id:H.String(),stream:Y(["stdout","stderr"]),chunk:H.String(),stream_truncated:H.Boolean()}),LJ=D({type:H.Literal("user_shell_completed"),execution_id:H.String(),message_id:H.String(),status:Y(["completed","failed","aborted","timed_out","spawn_error"]),exit_code:H.Union([H.Integer(),H.Null()]),duration_ms:H.Number({minimum:0}),stdout:H.String(),stderr:H.String(),truncated:H.Boolean(),auxiliary:H.Boolean()}),WJ=D({type:H.Literal("phase"),phase:Y(["turn","searching","inspecting","target_hit","executing","completed"]),status:Y(["ongoing","hit","done"]),message:H.String(),turn:H.Optional(H.Number()),tool_name:H.Optional(H.String()),target:H.Optional(H.String())}),jJ=D({type:H.Literal("tool_detail"),tool_name:H.String(),detail:H.String()}),xJ=D({type:H.Literal("task_update"),tasks:H.Array(BH)}),UJ=D({type:H.Literal("goal_frontier"),goal_id:H.String({minLength:1}),status:Y(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"]),task_list_id:H.String({minLength:1,maxLength:256}),total:H.Integer({minimum:0}),completed:H.Integer({minimum:0}),in_progress:H.Integer({minimum:0}),pending:H.Integer({minimum:0}),blocked:H.Integer({minimum:0}),next_task:H.Optional(H.Object({id:H.String({minLength:1}),subject:H.String({minLength:1,maxLength:512}),priority:Y(["high","medium","low"])})),digest_sha256:H.String({pattern:"^[a-f0-9]{64}$"}),observed_at:H.String(),stall_category:H.Optional(Y(["waiting_dependency","same_task_no_effect","repeated_deferral"])),stall_count:H.Optional(H.Integer({minimum:1,maximum:3}))}),_J=D({type:H.Literal("goal"),state:Y(["updated","cleared"]),goal_id:H.Optional(H.String()),status:H.Optional(Y(["active","verifying","paused","blocked","usage_limited","budget_limited","complete"])),verification_attempt:H.Optional(H.Integer({minimum:1})),verification_status:H.Optional(Y(["pending","pass","fail","partial"])),verifier_session_id:H.Optional(H.String()),verification_evidence_sha256:H.Optional(H.String({pattern:"^[a-f0-9]{64}$"})),verification_summary:H.Optional(H.String()),verification_stall_count:H.Optional(H.Integer({minimum:1})),premature_stop_pattern:H.Optional(Y(YH)),premature_stop_count:H.Optional(H.Integer({minimum:1})),frontier_stall_category:H.Optional(Y(["waiting_dependency","same_task_no_effect","repeated_deferral"])),frontier_stall_count:H.Optional(H.Integer({minimum:1,maximum:3}))}),GJ=D({type:H.Literal("subagent"),state:Y(["spawned","completed"]),session_id:H.String(),subagent_type:H.Optional(H.String()),success:H.Optional(H.Boolean()),summary:H.Optional(H.String()),verification_verdict:H.Optional(Y(["pass","fail","partial"])),resumed_from:H.Optional(H.String()),root_agent_id:H.Optional(H.String()),resume_depth:H.Optional(H.Integer({minimum:0}))}),PJ=D({type:H.Literal("token_usage"),input_tokens:H.Number(),output_tokens:H.Number(),total_tokens:H.Number(),max_context_tokens:H.Number(),cache_read_tokens:H.Optional(H.Number()),cache_write_tokens:H.Optional(H.Number()),prompt_cache_break:H.Optional(H.Object({reason:Y(["model_changed","system_prompt_changed","tools_changed","request_policy_changed","ttl_expired","server_side"]),previous_cache_read_tokens:H.Number(),cache_read_tokens:H.Number(),cache_write_tokens:H.Number(),token_drop:H.Number(),elapsed_ms:H.Number(),call_number:H.Number(),system_prompt_changed:H.Boolean(),system_char_delta:H.Number(),tools_changed:H.Boolean(),added_tool_count:H.Number(),removed_tool_count:H.Number(),changed_tool_count:H.Number(),model_changed:H.Boolean(),request_policy_changed:H.Boolean()})),cost_usd:H.Optional(H.Number())}),FJ=D({type:H.Literal("compacting"),state:Y(["started","completed"]),reason:H.Optional(Y(["threshold","context_limit","turn_limit","manual"])),strategy:H.Optional(Y(["llm","fallback","snip"])),outcome:H.Optional(Y(["completed","fallback","failed"])),pre_tokens:H.Optional(H.Number({minimum:0})),pre_token_source:H.Optional(Y(["provider","provider_plus_estimate","local_estimate"])),estimated_pending_tokens:H.Optional(H.Number({minimum:0})),post_tokens:H.Optional(H.Number({minimum:0})),sample_attempts:H.Optional(H.Integer({minimum:0})),input_reductions:H.Optional(H.Integer({minimum:0})),messages_omitted:H.Optional(H.Integer({minimum:0})),files_omitted:H.Optional(H.Integer({minimum:0})),images_omitted:H.Optional(H.Integer({minimum:0})),fallback_target_tokens:H.Optional(H.Integer({minimum:0})),fallback_messages_omitted:H.Optional(H.Integer({minimum:0})),fallback_messages_truncated:H.Optional(H.Integer({minimum:0})),failure_reason:H.Optional(Y(["circuit_open","context_exhausted","deterministic","empty_exhausted","insufficient_reduction","transient_exhausted"]))}),EJ=D({type:H.Literal("provider_retry"),phase:Y(["scheduled","waiting","attempt","recovered","exhausted"]),attempt:H.Integer({minimum:0}),max_retries:H.Integer({minimum:0}),reason:Y(["rate_limit","server_error","timeout","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:599})),delay_ms:H.Optional(H.Integer({minimum:0})),next_retry_at:H.Optional(H.Integer({minimum:0})),mode:H.Optional(Y(["standard","bounded_foreground"])),recovery_budget_ms:H.Optional(H.Integer({minimum:0})),recovery_elapsed_ms:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0})),exhausted_by:H.Optional(Y(["attempt_limit","recovery_budget"]))}),MJ=D({type:H.Literal("provider_admission"),phase:Y(["queued","admitted","rejected"]),request_class:Y(["foreground","background","internal"]),resource:Y(["stream","pending_count","pending_bytes"]),scope:Y(["global","domain","owner","class"]),reason:H.Optional(Y(["capacity","queue_full","wait_timeout","closed"])),queue_position:H.Integer({minimum:0}),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:0}),wait_ms:H.Integer({minimum:0}),max_wait_ms:H.Integer({minimum:0}),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))}),zJ=D({type:H.Literal("provider_circuit"),phase:Y(["opened","waiting","probe","closed","reopened","rejected"]),reason:Y(["rate_limit","server_error","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:599})),retry_after_ms:H.Optional(H.Integer({minimum:0})),next_probe_at:H.Optional(H.Integer({minimum:0})),open_duration_ms:H.Integer({minimum:0}),sample_count:H.Optional(H.Integer({minimum:0})),failure_count:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))}),fJ=D({type:H.Literal("provider_stall"),phase:Y(["detected","recovered"]),stall_count:H.Integer({minimum:1}),duration_ms:H.Integer({minimum:0}),warning_after_ms:H.Integer({minimum:1}),timeout_ms:H.Integer({minimum:1}),output_started:H.Boolean()}),m=H.Object({provider:H.String({minLength:1,maxLength:256}),model:H.String({minLength:1,maxLength:256})},{additionalProperties:!1}),NH=H.Union([H.Object({source:Y(["retry","circuit"]),reason:Y(["rate_limit","server_error","timeout","transport","stream_closed"]),status_code:H.Optional(H.Integer({minimum:100,maximum:999}))},{additionalProperties:!1}),H.Object({source:H.Literal("admission"),reason:Y(["queue_full","wait_timeout","closed"])},{additionalProperties:!1}),H.Object({source:H.Literal("stall"),reason:H.Literal("timeout")},{additionalProperties:!1})]),AJ=H.Object({activity:Y(["admission_wait","retry_wait","retry_attempt","circuit_open","circuit_probe","stream_stall","fallback"]),reason:Y(["capacity","queue_full","wait_timeout","admission_closed","rate_limit","server_error","timeout","transport","stream_closed","circuit_open","stream_stall"]),updated_at:H.Integer({minimum:0}),next_action_at:H.Optional(H.Integer({minimum:0})),retry:H.Optional(H.Object({attempt:H.Integer({minimum:0}),max_retries:H.Integer({minimum:0}),status_code:H.Optional(H.Integer({minimum:100,maximum:999})),delay_ms:H.Optional(H.Integer({minimum:0})),recovery_budget_ms:H.Optional(H.Integer({minimum:0})),recovery_elapsed_ms:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),admission:H.Optional(H.Object({request_class:Y(["foreground","background","internal"]),scope:Y(["global","domain","owner","class"]),resource:Y(["stream","pending_count","pending_bytes"]),queue_position:H.Integer({minimum:0}),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),limit:H.Integer({minimum:0}),wait_ms:H.Integer({minimum:0}),max_wait_ms:H.Integer({minimum:0}),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),circuit:H.Optional(H.Object({phase:Y(["opened","reopened","waiting","probe","rejected"]),status_code:H.Optional(H.Integer({minimum:100,maximum:999})),retry_after_ms:H.Optional(H.Integer({minimum:0})),next_probe_at:H.Optional(H.Integer({minimum:0})),open_duration_ms:H.Integer({minimum:0}),sample_count:H.Optional(H.Integer({minimum:0})),failure_count:H.Optional(H.Integer({minimum:0})),recovery_remaining_ms:H.Optional(H.Integer({minimum:0}))},{additionalProperties:!1})),stall:H.Optional(H.Object({stall_count:H.Integer({minimum:0}),duration_ms:H.Integer({minimum:0}),warning_after_ms:H.Integer({minimum:0}),timeout_ms:H.Integer({minimum:0}),output_started:H.Boolean()},{additionalProperties:!1})),fallback:H.Optional(H.Object({from:m,to:m,candidate:H.Integer({minimum:1}),candidate_count:H.Integer({minimum:1}),trigger:NH},{additionalProperties:!1}))},{additionalProperties:!1}),SJ=H.Object({event_version:H.Literal(c),type:H.Literal("provider_recovery"),generation:H.String({minLength:1,maxLength:128}),revision:H.Integer({minimum:0}),snapshot:H.Union([AJ,H.Null()])},{additionalProperties:!1}),TJ=H.Object({event_version:H.Literal(c),type:H.Literal("model_fallback"),from:m,to:m,candidate:H.Integer({minimum:1}),candidate_count:H.Integer({minimum:1}),trigger:NH},{additionalProperties:!1}),yJ=D({type:H.Literal("action_stationarity"),phase:Y(["detected","recovered","halted"]),tool_name:H.String(),run_length:H.Integer({minimum:1}),nudge_threshold:H.Integer({minimum:1}),halt_threshold:H.Integer({minimum:1}),progress_aware:H.Boolean()}),bJ=D({type:H.Literal("turn_recovery"),state:Y(["completed","resumable","requires_attention"]),turn_id:H.String({minLength:1}),input_message_count:H.Integer({minimum:0}),reason:H.Optional(Y(["successful_tool_result","interrupted_tool_call"]))}),IJ=D({type:H.Literal("turn_limit"),turns_count:H.Number(),action:H.Literal("continue")}),RJ=D({type:H.Literal("task_session"),session_id:H.String(),project_path:H.String(),source_project_path:H.String(),isolation:Y(["local","worktree"]),worktree_branch:H.Optional(H.String()),base_commit:H.Optional(H.String())}),gJ=D({type:H.Literal("task_admission"),state:Y(["queued","running"]),queue_position:H.Optional(H.Integer({minimum:1})),queue_depth:H.Integer({minimum:0}),in_flight:H.Integer({minimum:0}),max_concurrent_tasks:H.Integer({minimum:1})}),kJ=D({type:H.Literal("output"),content:H.String(),exit_code:H.Number()}),CJ=D({type:H.Literal("error"),message:H.String()}),ZK=XH(H.Union([aH,iH,oH,sH,rH,nH,eH,HJ,KJ,VJ,ZJ,$J,qJ,XJ,YJ,BJ,NJ,QJ,DJ,LJ,WJ,jJ,xJ,UJ,_J,GJ,PJ,FJ,MJ,zJ,EJ,fJ,SJ,TJ,yJ,bJ,IJ,RJ,gJ,kJ,CJ]));function QH(K,Z){return{event_version:c,type:K,...Z}}function wJ(K){if(!K||typeof K!=="object"||Array.isArray(K))return;let Z=K;if(Z.auto_backgrounded!==!0||Z.background_reason!=="foreground_budget"||!Number.isSafeInteger(Z.foreground_budget_ms)||Z.foreground_budget_ms<=0||typeof Z.shell_id!=="string"||!/^bash_[A-Za-z0-9-]+$/.test(Z.shell_id)||Z.shell_id.length>128||Z.terminal_transport!=="local"&&Z.terminal_transport!=="acp"||Z.pid!==void 0&&(!Number.isSafeInteger(Z.pid)||Z.pid<=0))return;return{auto_backgrounded:!0,background_reason:"foreground_budget",foreground_budget_ms:Z.foreground_budget_ms,shell_id:Z.shell_id,...Z.pid===void 0?{}:{pid:Z.pid},terminal_transport:Z.terminal_transport}}function mJ(K){let Z=new AbortController,Q=(V)=>{if(!Z.signal.aborted)Z.abort(V)},q=()=>Q("interrupt"),J=()=>Q(K?.signal?.reason);if(K?.signal){if(K.signal.addEventListener("abort",J,{once:!0}),K.signal.aborted)J()}else process.once("SIGINT",q),process.once("SIGTERM",q);return{signal:Z.signal,abort:Q,dispose:()=>{K?.signal?.removeEventListener("abort",J),process.removeListener("SIGINT",q),process.removeListener("SIGTERM",q)}}}var cJ=Y(["text","jsonl"]),uJ=H.Object({headless:H.Optional(H.Boolean()),message:H.Optional(H.String()),_:H.Optional(H.Array(H.Union([H.String(),H.Number()]))),model:H.Optional(H.String()),systemPrompt:H.Optional(H.String()),appendSystemPrompt:H.Optional(H.String()),verificationAgent:H.Optional(H.Boolean()),maxTurns:H.Optional(H.Refine(H.Integer(),(K)=>K===-1||K>0,()=>"must be -1 (unlimited) or a positive integer")),permissionMode:H.Optional(H.Enum(WH)),mcpConfig:H.Optional(H.Array(H.String())),strictMcpConfig:H.Optional(H.Boolean()),sessionId:H.Optional(H.String()),allowedTools:H.Optional(H.Array(H.String())),disallowedTools:H.Optional(H.Array(H.String())),agents:H.Optional(H.String()),continue:H.Optional(H.Boolean()),resume:H.Optional(H.Union([H.String(),H.Boolean()])),forkSession:H.Optional(H.Boolean()),taskIsolation:H.Optional(Y(["local","worktree"])),outputFormat:H.Optional(cJ),jsonSchema:H.Optional(H.String()),outputSchema:H.Optional(H.String())});class OH{openedThinking=!1;wroteAssistantContent=!1;markAssistantContent(){this.wroteAssistantContent=!0}setThinkingOpened(K){this.openedThinking=K}hasOpenThinking(){return this.openedThinking}completeStream(){let K={openedThinking:this.openedThinking,wroteAssistantContent:this.wroteAssistantContent};return this.openedThinking=!1,this.wroteAssistantContent=!1,K}}function dJ(K){return K.issues.map((Z)=>`${Z.path.join(".")||"options"}: ${Z.message}`).join("; ")}function pJ(K){let Z=jH(uJ,K);if(!Z.success)throw Error(`Invalid headless options: ${dJ(Z.error)}`);return Z.data}function vJ(K){return K.command("* [message]","Run full agent loop without Ink UI and print events to the terminal",(Z)=>Z.positional("message",{describe:"Message to process",type:"string"}).option("headless",{type:"boolean",describe:"Run full agent loop without Ink UI and print events to the terminal"}).option("model",{describe:"Model ID for this run",type:"string"}).option("system-prompt",{describe:"Replace the default system prompt",type:"string"}).option("append-system-prompt",{describe:"Append a system prompt to the default system prompt",type:"string"}).option("verification-agent",{describe:"Run the built-in independent verification agent after non-trivial changes",type:"boolean",default:!0}).option("max-turns",{alias:["maxTurns"],describe:"Maximum conversation turns (-1: unlimited, N>0: limit to N turns)",type:"number"}).option("output-format",{alias:["outputFormat"],choices:["text","jsonl"],describe:"Headless output format",type:"string"}).option("json-schema",{alias:["jsonSchema"],describe:"Inline JSON Schema for the structured final response",type:"string"}).option("output-schema",{alias:["outputSchema"],describe:"Path to a JSON Schema file for the structured final response",type:"string"}).option("task-isolation",{alias:["taskIsolation"],choices:["local","worktree"],describe:"Dispatch a new durable task in the selected workspace mode",type:"string"}),async(Z)=>{if(!Z.headless)return;let Q=await rJ(Z);process.exit(Q)})}function L(K,Z=""){K.write(`${Z}
2
- `)}function lJ(K){return`[task] [${K.status}] ${K.subject}`}function aJ(){return{requestConfirmation:async(K)=>K.type==="mcpElicitation"?{approved:!1,reason:"headless-mcp-elicitation-unavailable",elicitation:{action:"cancel"}}:K.type==="mcpSampling"?{approved:!1,reason:"headless-mcp-sampling-unavailable"}:{approved:!0,reason:"headless-auto-approved",scope:"session"}}}function iJ(K){if(!(K instanceof Error))return"Unknown error";let q=K.lastError??K;if(q.responseBody)try{let W=JSON.parse(q.responseBody)?.error?.message;if(W)return q.statusCode?`${W} (HTTP ${q.statusCode})`:W}catch{}let J=K.message.match(/Last error:\s*(.+)$/);if(J)return J[1];return K.message}function oJ(K){return K==="jsonl"?"jsonl":"text"}function DH(K,Z){let Q=(...q)=>{for(let J of q){let V=Z[J];if(typeof V==="string"&&V.trim()!=="")return V}return};switch(K){case"Read":case"Edit":case"Write":case"UndoEdit":return Q("file_path");case"ApplyPatch":return"multi-file patch";case"NotebookEdit":return Q("notebook_path");case"Grep":return Q("path","pattern");case"Glob":return Q("pattern");case"WebFetch":return Q("url");case"WebSearch":return Q("query");case"Bash":return Q("command","description");case"Task":return Q("description");case"LSP":return Q("filePath","operation");case"EnterWorktree":return Q("name");case"ExitWorktree":return Q("action");default:return}}function sJ(K,Z,Q,q){let J=new Set(["Glob","Grep","WebSearch","LS"]),V=new Set(["Read","WebFetch"]);if(new Set(["Edit","Write","ApplyPatch","NotebookEdit","Bash","LSP","UndoEdit","EnterWorktree","ExitWorktree"]).has(K)&&!q.targetLocked)return{phase:"target_hit",status:"hit",message:`Target locked: ${Z}`,shouldLockTarget:!0};if(q.targetLocked)return{phase:"executing",status:"hit",message:Q?`Working within target: ${Z}`:`Executing: ${Z}`,shouldLockTarget:!1};if(J.has(K))return{phase:"searching",status:"ongoing",message:`Still searching: ${Z}`,shouldLockTarget:!1};if(V.has(K))return{phase:"inspecting",status:"ongoing",message:`Inspecting candidate: ${Z}`,shouldLockTarget:!1};return{phase:"executing",status:q.targetLocked?"hit":"ongoing",message:`Executing: ${Z}`,shouldLockTarget:!1}}function LH(K,Z,Q=!1){let q=(J,V)=>{K.stdout.write(`${JSON.stringify(QH(J,V))}
3
- `)};return{contentDelta(J){if(Z==="jsonl"){q("content_delta",{delta:J});return}if(Q)return;K.stdout.write(J)},thinkingDelta(J,V){if(Z==="jsonl")return q("thinking_delta",{delta:J}),V;if(!V)K.stderr.write("[thinking] ");return K.stderr.write(J),!0},thinking(J){if(Z==="jsonl"){q("thinking",{content:J});return}L(K.stderr,`[thinking] ${J}`)},streamEnd(J,V){if(Z==="jsonl"){q("stream_end",{});return}if(V)K.stderr.write(`
4
- `);if(J)K.stdout.write(`
5
- `)},content(J){if(Z==="jsonl"){q("content",{content:J});return}L(K.stdout,J)},structuredOutput(J){if(Z==="jsonl"){q("structured_output",{output:J.output,schema_digest:J.schemaDigest});return}L(K.stdout,JSON.stringify(J.output))},toolStart(J,V,W,x){if(Z==="jsonl"){q("tool_start",{tool_name:J,summary:V,target:W,tool_kind:x});return}L(K.stderr,`[tool:start] ${V}`)},toolProgress(J,V,W,x,j){if(Z==="jsonl"){q("tool_progress",{tool_name:J,message:V,progress:W,total:x,admission:j?{kind:j.kind,scope:j.scope,queue_position:j.queuePosition,in_flight:j.inFlight,limit:j.limit}:void 0});return}L(K.stderr,`[tool:progress] ${J}: ${V}`)},toolResult(J,V,W,x,j){if(Z==="jsonl"){q("tool_result",{tool_name:J,summary:V,target:W,tool_kind:x,success:j?.success,error_type:j?.errorType,error_message:j?.errorMessage,background:j?.background});return}L(K.stderr,`[tool:result] ${V}`)},mcpCatalogChanged(J){if(Z==="jsonl"){q("mcp_catalog_changed",{revision:J.revision,server_name:J.serverName,added:J.added,removed:J.removed,updated:J.updated});return}L(K.stderr,`[mcp:catalog] r${J.revision} ${J.serverName} +${J.added.length} -${J.removed.length} ~${J.updated.length}`)},mcpContentChanged(J){if(Z==="jsonl"){q("mcp_content_changed",{revision:J.revision,server_name:J.serverName,content_kind:J.contentKind==="resourceTemplates"?"resource_templates":J.contentKind,added:J.added,removed:J.removed,updated:J.updated});return}L(K.stderr,`[mcp:${J.contentKind}] r${J.revision} ${J.serverName} +${J.added.length} -${J.removed.length} ~${J.updated.length}`)},mcpResourceUpdated(J){if(Z==="jsonl"){q("mcp_resource_updated",{revision:J.revision,server_name:J.serverName,uri:J.uri});return}L(K.stderr,`[mcp:resource] r${J.revision} ${J.serverName} updated ${J.uri}`)},mcpConnectionChanged(J){if(Z==="jsonl"){q("mcp_connection_changed",{revision:J.revision,server_name:J.serverName,phase:J.phase,reason:J.reason,attempt:J.attempt,max_attempts:J.maxAttempts,...J.nextRetryAt!==void 0?{next_retry_at:J.nextRetryAt}:{},...J.error?{error:J.error}:{}});return}L(K.stderr,`[mcp:connection] r${J.revision} ${J.serverName} ${J.phase} ${J.attempt}/${J.maxAttempts}`)},mcpLog(J){if(Z==="jsonl"){q("mcp_log",{revision:J.revision,server_name:J.serverName,level:J.level,logger:J.logger,message:J.message,projected_bytes:J.projectedBytes,data_sha256:J.dataSha256,truncated:J.truncated,details_omitted:J.detailsOmitted,timestamp:J.timestamp,synthetic:J.synthetic});return}L(K.stderr,`[mcp:log] ${J.level} ${J.serverName}${J.logger?` logger=${J.logger}`:""}: ${J.message}`)},mcpInstructionsChanged(J){if(Z==="jsonl"){q("mcp_instructions_changed",{revision:J.revision,server_name:J.serverName,action:J.action,reason:J.reason,text:J.text,source_bytes:J.sourceBytes,projected_bytes:J.projectedBytes,sha256:J.sha256,truncated:J.truncated,details_omitted:J.detailsOmitted});return}L(K.stderr,`[mcp:instructions] ${J.action} ${J.serverName}${J.truncated?" (truncated)":""}`)},mcpTaskChanged(J){if(Z==="jsonl"){q("mcp_task_changed",{revision:J.revision,task_id:J.taskId,server_name:J.serverName,tool_name:J.toolName,status:J.status,status_message:J.statusMessage,created_at:J.createdAt,updated_at:J.updatedAt,completed_at:J.completedAt,has_result:J.hasResult,error:J.error});return}L(K.stderr,`[mcp:task] ${J.taskId} ${J.serverName}/${J.toolName} `+J.status)},projectRulesLoaded(J){if(Z==="jsonl"){q("project_rules_loaded",{files:J.files.map((V)=>({id:V.id,relative_path:V.relativePath,source:V.source,conditional:V.conditional,content_sha256:V.contentSha256})),trigger_paths:J.triggerPaths,blocked_write:J.blockedWrite});return}L(K.stderr,`[project-rules] loaded ${J.files.length} file(s)${J.blockedWrite?" before write":""}`)},userShellStarted(J,V,W){if(Z==="jsonl"){q("user_shell_started",{execution_id:J,command:V,auxiliary:W});return}L(K.stderr,`[user-shell:start] ${V}`)},userShellOutput(J,V,W,x){if(Z==="jsonl"){q("user_shell_output",{execution_id:J,stream:V,chunk:W,stream_truncated:x});return}(V==="stderr"?K.stderr:K.stdout).write(W)},userShellCompleted(J){if(Z==="jsonl"){q("user_shell_completed",{execution_id:J.executionId,message_id:J.messageId,status:J.record.status,exit_code:J.record.exitCode,duration_ms:J.record.durationMs,stdout:J.record.stdout,stderr:J.record.stderr,truncated:J.record.truncated,auxiliary:J.auxiliary});return}L(K.stderr,`[user-shell:${J.record.status}] exit=${J.record.exitCode??"null"} ${J.record.durationMs}ms`)},phase(J,V,W,x={}){if(Z==="jsonl"){q("phase",{phase:J,status:V,message:W,turn:x.turn,tool_name:x.toolName,target:x.target});return}L(K.stderr,`[phase:${J}] ${W}`)},toolDetail(J,V){if(Z==="jsonl"){q("tool_detail",{tool_name:J,detail:V});return}L(K.stderr,V)},taskUpdate(J){if(Z==="jsonl"){q("task_update",{tasks:J});return}for(let V of J)L(K.stderr,lJ(V))},goalFrontier(J){if(Z==="jsonl"){q("goal_frontier",{goal_id:J.goal.goalId,status:J.goal.status,task_list_id:J.frontier.taskListId,total:J.frontier.total,completed:J.frontier.completed,in_progress:J.frontier.inProgress,pending:J.frontier.pending,blocked:J.frontier.blocked,next_task:J.frontier.nextTask,digest_sha256:J.frontier.digestSha256,observed_at:J.frontier.observedAt,stall_category:J.goal.frontierStall?.category,stall_count:J.goal.frontierStall?.consecutiveCount});return}let V=J.frontier.nextTask?` next=#${J.frontier.nextTask.id} ${J.frontier.nextTask.subject}`:"";L(K.stderr,`[goal-frontier] ${J.frontier.completed}/${J.frontier.total} completed${V}`)},turnRecovery(J){let V=J.assessment;if(Z==="jsonl"){q("turn_recovery",{state:V.state,turn_id:V.turnId,input_message_count:V.inputMessageCount,reason:V.state==="requires_attention"?V.reason:void 0});return}L(K.stderr,`[turn-recovery:${V.state}] ${V.turnId}`)},goal(J){if(Z==="jsonl"){q("goal",{state:J.goal?"updated":"cleared",goal_id:J.goal?.goalId,status:J.goal?.status,verification_attempt:J.goal?.completionVerification?.attempt,verification_status:J.goal?.completionVerification?.status,verifier_session_id:J.goal?.completionVerification?.verifierSessionId,verification_evidence_sha256:J.goal?.completionVerification?.evidenceSha256,verification_summary:J.goal?.completionVerification?.summary,verification_stall_count:J.goal?.verificationStall?.consecutiveCount,premature_stop_pattern:J.goal?.prematureStop?.pattern,premature_stop_count:J.goal?.prematureStop?.consecutiveCount,frontier_stall_category:J.goal?.frontierStall?.category,frontier_stall_count:J.goal?.frontierStall?.consecutiveCount});return}if(J.goal)L(K.stderr,`[goal:${J.goal.status}] ${J.goal.objective}`);else L(K.stderr,"[goal:cleared]")},subagent(J){let V=J.kind==="subagent_spawned";if(Z==="jsonl"){q("subagent",{state:V?"spawned":"completed",session_id:J.sessionId,subagent_type:J.type,success:V?void 0:J.success,summary:V?void 0:J.summary,verification_verdict:V?void 0:J.verificationVerdict,resumed_from:J.resumedFrom,root_agent_id:J.rootAgentId,resume_depth:J.resumeDepth});return}L(K.stderr,`[subagent:${V?"spawned":"completed"}] ${J.sessionId}${J.resumedFrom?` resumed from ${J.resumedFrom}`:""}`)},tokenUsage(J){if(Z==="jsonl"){q("token_usage",{input_tokens:J.inputTokens,output_tokens:J.outputTokens,total_tokens:J.totalTokens,max_context_tokens:J.maxContextTokens,cache_read_tokens:J.cacheReadTokens,cache_write_tokens:J.cacheWriteTokens,prompt_cache_break:J.cacheBreak?{reason:J.cacheBreak.reason,previous_cache_read_tokens:J.cacheBreak.previousCacheReadTokens,cache_read_tokens:J.cacheBreak.cacheReadTokens,cache_write_tokens:J.cacheBreak.cacheWriteTokens,token_drop:J.cacheBreak.tokenDrop,elapsed_ms:J.cacheBreak.elapsedMs,call_number:J.cacheBreak.callNumber,system_prompt_changed:J.cacheBreak.systemPromptChanged,system_char_delta:J.cacheBreak.systemCharDelta,tools_changed:J.cacheBreak.toolsChanged,added_tool_count:J.cacheBreak.addedToolCount,removed_tool_count:J.cacheBreak.removedToolCount,changed_tool_count:J.cacheBreak.changedToolCount,model_changed:J.cacheBreak.modelChanged,request_policy_changed:J.cacheBreak.requestPolicyChanged}:void 0,cost_usd:J.costUsd});return}L(K.stderr,`[tokens] in=${J.inputTokens} out=${J.outputTokens} total=${J.totalTokens} / ${J.maxContextTokens}`)},compacting(J){let V=J.phase==="start";if(Z==="jsonl"){q("compacting",{state:V?"started":"completed",reason:J.reason,strategy:J.strategy,outcome:J.outcome,pre_tokens:J.preTokens,pre_token_source:J.preTokenSource,estimated_pending_tokens:J.estimatedPendingTokens,post_tokens:J.postTokens,sample_attempts:J.sampleAttempts,input_reductions:J.inputReductions,messages_omitted:J.messagesOmitted,files_omitted:J.filesOmitted,images_omitted:J.imagesOmitted,fallback_target_tokens:J.fallbackTargetTokens,fallback_messages_omitted:J.fallbackMessagesOmitted,fallback_messages_truncated:J.fallbackMessagesTruncated,failure_reason:J.failureReason});return}L(K.stderr,V?`[context] compacting started${J.reason?` (${J.reason})`:""}`:`[context] compacting ${J.outcome??"completed"}${J.sampleAttempts!==void 0?` after ${J.sampleAttempts} sample attempt${J.sampleAttempts===1?"":"s"}`:""}${J.inputReductions?` with ${J.inputReductions} input reduction${J.inputReductions===1?"":"s"}`:""}${J.imagesOmitted?` and ${J.imagesOmitted} image${J.imagesOmitted===1?"":"s"} omitted`:""}${J.fallbackTargetTokens!==void 0?`; fallback target ${J.fallbackTargetTokens} tokens, ${J.fallbackMessagesOmitted??0} messages omitted, ${J.fallbackMessagesTruncated??0} truncated`:""}`)},providerAdmission(J){if(Z==="jsonl"){q("provider_admission",{phase:J.phase,request_class:J.requestClass,resource:J.resource,scope:J.scope,reason:J.reason,queue_position:J.queuePosition,queue_depth:J.queueDepth,in_flight:J.inFlight,limit:J.limit,wait_ms:J.waitMs,max_wait_ms:J.maxWaitMs,recovery_remaining_ms:J.recoveryRemainingMs});return}L(K.stderr,`[provider-admission:${J.phase}] ${J.resource}/${J.scope} ${J.inFlight}/${J.limit} queue=${J.queuePosition}/${J.queueDepth}`)},providerRetry(J){if(Z==="jsonl"){q("provider_retry",{phase:J.phase,attempt:J.attempt,max_retries:J.maxRetries,reason:J.reason,status_code:J.statusCode,delay_ms:J.delayMs,next_retry_at:J.nextRetryAt,mode:J.mode,recovery_budget_ms:J.recoveryBudgetMs,recovery_elapsed_ms:J.recoveryElapsedMs,recovery_remaining_ms:J.recoveryRemainingMs,exhausted_by:J.exhaustedBy});return}let V=J.delayMs!==void 0?` in ${Math.max(0,Math.ceil(J.delayMs/1000))}s`:"";L(K.stderr,`[provider-retry:${J.phase}] ${J.attempt}/${J.maxRetries} ${J.reason}${V}`)},providerCircuit(J){if(Z==="jsonl"){q("provider_circuit",{phase:J.phase,reason:J.reason,status_code:J.statusCode,retry_after_ms:J.retryAfterMs,next_probe_at:J.nextProbeAt,open_duration_ms:J.openDurationMs,sample_count:J.sampleCount,failure_count:J.failureCount,recovery_remaining_ms:J.recoveryRemainingMs});return}let V=J.retryAfterMs!==void 0?` retry in ${Math.max(0,Math.ceil(J.retryAfterMs/1000))}s`:"";L(K.stderr,`[provider-circuit:${J.phase}] ${J.reason}${V}`)},providerStall(J){if(Z==="jsonl"){q("provider_stall",{phase:J.phase,stall_count:J.stallCount,duration_ms:J.durationMs,warning_after_ms:J.warningAfterMs,timeout_ms:J.timeoutMs,output_started:J.outputStarted});return}L(K.stderr,`[provider-stall:${J.phase}] ${J.durationMs}ms / ${J.timeoutMs}ms`)},providerRecovery(J){let V=J.recovery.snapshot;if(Z==="jsonl"){q("provider_recovery",{generation:J.recovery.generation,revision:J.recovery.revision,snapshot:V?{activity:V.activity,reason:V.reason,updated_at:V.updatedAt,next_action_at:V.nextActionAt,retry:V.retry?{attempt:V.retry.attempt,max_retries:V.retry.maxRetries,status_code:V.retry.statusCode,delay_ms:V.retry.delayMs,recovery_budget_ms:V.retry.recoveryBudgetMs,recovery_elapsed_ms:V.retry.recoveryElapsedMs,recovery_remaining_ms:V.retry.recoveryRemainingMs}:void 0,admission:V.admission?{request_class:V.admission.requestClass,scope:V.admission.scope,resource:V.admission.resource,queue_position:V.admission.queuePosition,queue_depth:V.admission.queueDepth,in_flight:V.admission.inFlight,limit:V.admission.limit,wait_ms:V.admission.waitMs,max_wait_ms:V.admission.maxWaitMs,recovery_remaining_ms:V.admission.recoveryRemainingMs}:void 0,circuit:V.circuit?{phase:V.circuit.phase,status_code:V.circuit.statusCode,retry_after_ms:V.circuit.retryAfterMs,next_probe_at:V.circuit.nextProbeAt,open_duration_ms:V.circuit.openDurationMs,sample_count:V.circuit.sampleCount,failure_count:V.circuit.failureCount,recovery_remaining_ms:V.circuit.recoveryRemainingMs}:void 0,stall:V.stall?{stall_count:V.stall.stallCount,duration_ms:V.stall.durationMs,warning_after_ms:V.stall.warningAfterMs,timeout_ms:V.stall.timeoutMs,output_started:V.stall.outputStarted}:void 0,fallback:V.fallback?{from:V.fallback.from,to:V.fallback.to,candidate:V.fallback.candidate,candidate_count:V.fallback.candidateCount,trigger:V.fallback.trigger.source==="retry"||V.fallback.trigger.source==="circuit"?{source:V.fallback.trigger.source,reason:V.fallback.trigger.reason,status_code:V.fallback.trigger.statusCode}:V.fallback.trigger}:void 0}:null});return}L(K.stderr,V?`[provider-recovery:${V.activity}] ${V.reason}`:"[provider-recovery:clear]")},modelFallback(J){let V=J.trigger.source==="retry"||J.trigger.source==="circuit"?{source:J.trigger.source,reason:J.trigger.reason,status_code:J.trigger.statusCode}:J.trigger;if(Z==="jsonl"){q("model_fallback",{from:J.from,to:J.to,candidate:J.candidate,candidate_count:J.candidateCount,trigger:V});return}L(K.stderr,`[provider-fallback] ${J.from.model} -> ${J.to.model}`)},actionStationarity(J){if(Z==="jsonl"){q("action_stationarity",{phase:J.phase,tool_name:J.toolName,run_length:J.runLength,nudge_threshold:J.nudgeThreshold,halt_threshold:J.haltThreshold,progress_aware:J.progressAware});return}L(K.stderr,`[action-stationarity:${J.phase}] ${J.toolName} ${J.runLength}/${J.haltThreshold}`)},turnLimit(J){if(Z==="jsonl"){q("turn_limit",{turns_count:J,action:"continue"});return}L(K.stderr,`[turn-limit] continuing after ${J} turns`)},taskSession(J){if(Z==="jsonl"){q("task_session",{session_id:J.sessionId,project_path:J.projectPath,source_project_path:J.sourceProjectPath,isolation:J.isolation,worktree_branch:J.worktreeBranch,base_commit:J.baseCommit});return}L(K.stderr,`[task:${J.isolation}] ${J.sessionId} ${J.sourceProjectPath} -> ${J.projectPath}${J.worktreeBranch?` (${J.worktreeBranch})`:""}`)},taskAdmission(J){if(Z==="jsonl"){q("task_admission",{state:J.state,queue_position:J.queuePosition,queue_depth:J.queueDepth,in_flight:J.inFlight,max_concurrent_tasks:J.maxConcurrentTasks});return}L(K.stderr,J.state==="queued"?`[task:queued] position ${J.queuePosition??1}/${J.queueDepth} (running ${J.inFlight}/${J.maxConcurrentTasks})`:`[task:running] admitted (running ${J.inFlight}/${J.maxConcurrentTasks})`)},output(J,V=0){if(Z==="jsonl"){q("output",{content:J,exit_code:V});return}L(V===0?K.stdout:K.stderr,J)},error(J){if(Z==="jsonl"){q("error",{message:J});return}L(K.stderr,J)}}}async function rJ(K,Z={stdout:process.stdout,stderr:process.stderr},Q){let q="text",J=new OH,V={targetLocked:!1},W,x,j,P=mJ(Q),T=!1,F=new i(Z,{signal:P.signal,onFailure:(N)=>{T=!0,P.abort(N)}}),d={stdout:{write:(N)=>F.write("stdout",N)},stderr:{write:(N)=>F.write("stderr",N)}},B=LH(d,q),p=async()=>{try{return await F.flush(),!T}catch{return!1}},E=async(N)=>{return x?.(),x=void 0,j?.(),j=void 0,await p()?N:1};try{let N=pJ(K);q=oJ(N.outputFormat);let y=await CH(N);B=LH(d,q,Boolean(y)),await IH();let e=N.forkSession!==!0&&(N.continue===!0||typeof N.resume==="string"&&N.resume.length>0)?await gH({message:N.message,_:N._,stdin:Q?.stdin}):await RH({...N,stdin:Q?.stdin}),M=e===void 0,_=M?{mode:"agent",content:""}:await kH(e);if(_.mode==="output"){if(_.content)B.output(_.content,_.exitCode??0);return await E(_.exitCode??0)}if(!M&&_.content.length>s)throw Error(`User prompt exceeds the ${s}-character durable input limit`);if(!M&&Buffer.byteLength(_.content,"utf8")>r)throw Error(`User prompt exceeds the ${r}-byte durable input limit`);let C=_.content.trimStart().startsWith("!")?_.content.trimStart().slice(1).trim():void 0;if(C!==void 0&&N.taskIsolation)throw Error("User shell commands cannot be combined with --task-isolation");if(C!==void 0&&y)throw Error("Output schemas cannot be combined with user shell commands");if(N.taskIsolation&&(N.continue||N.resume||N.forkSession))throw Error("--task-isolation cannot be combined with --continue, --resume, or --fork-session");let{sessionId:G,messages:HH,metadata:JH}=await hH({sessionId:N.sessionId,continue:N.continue,resume:N.resume,forkSession:N.forkSession,fallbackSessionPrefix:"headless"}),R=N.permissionMode??JH?.permissionMode??"yolo",KH=N.model&&N.model!=="inherit"?N.model:xH()?.id,U=N.taskIsolation?await bH.createSessionTask({sessionId:G,prompt:_.content,sourceProjectPath:k(),isolation:N.taskIsolation,dispatch:{version:1,prompt:_.content,sourceProjectPath:k(),isolation:N.taskIsolation,permissionMode:R,...KH?{modelId:KH}:{},...y?{outputSchema:y}:{}}}):void 0,z=U?.metadata.projectPath??JH?.projectPath??k();if(j=t.subscribe(($)=>{if($.type!=="subagent.provider.admission"||$.sessionId!==G||$.projectPath!==z)return;let X=$.properties,f=["queued","admitted","rejected"],A=["foreground","background","internal"],S=["stream","pending_count","pending_bytes"],I=["global","domain","owner","class"],pH=["capacity","queue_full","wait_timeout","closed"];if(!f.includes(X.phase)||!A.includes(X.requestClass)||!S.includes(X.resource)||!I.includes(X.scope)||X.reason!==void 0&&!pH.includes(X.reason)||typeof X.queuePosition!=="number"||typeof X.queueDepth!=="number"||typeof X.inFlight!=="number"||typeof X.limit!=="number"||typeof X.waitMs!=="number"||typeof X.maxWaitMs!=="number"||X.recoveryRemainingMs!==void 0&&typeof X.recoveryRemainingMs!=="number")return;B.providerAdmission({kind:"provider_admission",phase:X.phase,requestClass:X.requestClass,resource:X.resource,scope:X.scope,...X.reason!==void 0?{reason:X.reason}:{},queuePosition:X.queuePosition,queueDepth:X.queueDepth,inFlight:X.inFlight,limit:X.limit,waitMs:X.waitMs,maxWaitMs:X.maxWaitMs,...X.recoveryRemainingMs!==void 0?{recoveryRemainingMs:X.recoveryRemainingMs}:{}})}),!U)await n.setSessionPermissionMode(G,z,R);let wH=U?!1:await PH.cancelPendingNonInteractive(z,G);if(U)B.taskSession({sessionId:G,projectPath:z,sourceProjectPath:U.metadata.taskSourceProjectPath??k(),isolation:N.taskIsolation,worktreeBranch:U.metadata.taskWorktreeBranch,baseCommit:U.metadata.taskBaseCommit}),x=t.subscribe(($)=>{if($.type!=="task.status"||$.sessionId!==G||$.projectPath!==z||!["queued","running"].includes(String($.properties.taskStatus))||typeof $.properties.taskQueueDepth!=="number"||typeof $.properties.taskInFlight!=="number"||typeof $.properties.taskConcurrencyLimit!=="number")return;B.taskAdmission({state:$.properties.taskStatus,queuePosition:typeof $.properties.taskQueuePosition==="number"?$.properties.taskQueuePosition:void 0,queueDepth:$.properties.taskQueueDepth,inFlight:$.properties.taskInFlight,maxConcurrentTasks:$.properties.taskConcurrencyLimit})});let mH={messages:wH?await n.loadSessionModelContext(G,z):[...HH],userId:"cli-user",sessionId:G,workspaceRoot:z,permissionMode:R,signal:P.signal,...U?.taskWorktree?{worktreeActive:!0}:{},confirmationHandler:aJ()};W=await FH.create({sessionId:G,workspaceRoot:z,modelId:N.model,permissionMode:R,mcpConfig:N.mcpConfig,strictMcpConfig:N.strictMcpConfig,agents:N.agents?fH(N.agents):void 0,...U?.taskWorktree?{taskWorktree:U.taskWorktree}:{},...U?.metadata.taskIsolation?{taskIsolation:U.metadata.taskIsolation}:{},...HH.length>0?{sessionStart:{isResume:!0,resumeSessionId:G}}:{}});let g=M&&W.getPendingSteeringCount()>0,h=M&&!g?await W.getGoal():null,O=h?.status==="active"||h?.status==="verifying",v=W.getTurnRecoveryAssessment?.()??{state:"none"};if(M&&!g&&!O&&v.state==="requires_attention")return B.turnRecovery({kind:"turn_recovery",assessment:v}),B.error("Error: Turn recovery requires explicit user attention before continuation"),await E(2);let b=M&&!g&&!O?await W.getRecoveredFinalResponse():void 0;if(M&&!g&&!O){if(!b)throw Error("No unfinished turn or active goal to resume");let $=v;if($.state!=="none")B.turnRecovery({kind:"turn_recovery",assessment:$});if(h)B.goal({kind:"goal_updated",goal:h});if(b.structuredOutput&&b.structuredOutputSchemaDigest)B.structuredOutput({kind:"structured_output",output:b.structuredOutput,schemaDigest:b.structuredOutputSchemaDigest});else B.content(b.content);return B.phase("completed","done","Recovered headless run completed"),await E(0)}if(C!==void 0){let $=await W.executeUserShellCommand(C,{signal:P.signal,onEvent:async(X)=>{if(X.type==="started")B.userShellStarted(X.executionId,X.command,X.auxiliary);else if(X.type==="output")B.userShellOutput(X.executionId,X.stream,X.chunk,X.streamTruncated);await p()}});return B.userShellCompleted($),await E($.record.status==="completed"?0:$.record.status==="aborted"?130:$.record.exitCode??1)}let cH=N.maxTurns??W.getConfig().maxTurns,uH=U?.taskWorktree?[...new Set([...N.disallowedTools??[],"EnterWorktree","ExitWorktree"])]:N.disallowedTools,dH=await zH.createWithRuntime(W,{sessionId:G,systemPrompt:N.systemPrompt,appendSystemPrompt:N.appendSystemPrompt,maxTurns:N.maxTurns,modelId:N.model,permissionMode:R,toolWhitelist:N.allowedTools,toolBlacklist:uH,mcpConfig:N.mcpConfig,strictMcpConfig:N.strictMcpConfig}),w=await GH(dH.chatStream(_.content,mH,{stream:!0,signal:P.signal,maxTurns:N.maxTurns,builtinVerification:N.verificationAgent!==!1,outputSchema:y,pendingInputOnly:g,goalContinuationOnly:O,...cH===-1?{onTurnLimitReached:async($)=>{return B.turnLimit($.turnsCount),{continue:!0,reason:"headless-auto-continue"}}}:{}}),async($)=>{switch($.kind){case"content_delta":if(!y||q==="jsonl")J.markAssistantContent();B.contentDelta($.delta);break;case"thinking_delta":J.setThinkingOpened(B.thinkingDelta($.delta,J.hasOpenThinking()));break;case"stream_end":{let X=J.completeStream();B.streamEnd(X.wroteAssistantContent,X.openedThinking);break}case"tool_start":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===u)break;if(["TaskCreate","TaskUpdate","TaskList"].includes(X.function.name))break;try{let f=JSON.parse(X.function.arguments),A=EH(X.function.name,f),S=DH(X.function.name,f),I=sJ(X.function.name,A,S,V);if(I.shouldLockTarget)V.targetLocked=!0;B.phase(I.phase,I.status,I.message,{toolName:X.function.name,target:S}),B.toolStart(X.function.name,A,S,$.toolKind)}catch{B.phase(V.targetLocked?"executing":"searching",V.targetLocked?"hit":"ongoing",V.targetLocked?`Working within target: ${X.function.name}`:`Still searching: ${X.function.name}`,{toolName:X.function.name}),B.toolStart(X.function.name,X.function.name,void 0,$.toolKind)}break}case"tool_progress":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===u)break;B.toolProgress(X.function.name,$.update.message,$.update.progress,$.update.total,$.update.admission);break}case"tool_result":{let X=$.toolCall;if(!("function"in X))break;if(X.function.name===u)break;let f;try{let S=JSON.parse(X.function.arguments);f=DH(X.function.name,S)}catch{f=void 0}let A=_H(MH(X.function.name,$.result),UH);if(B.toolResult(X.function.name,A.summary,f,void 0,{success:$.result.success,errorType:$.result.error?.type,errorMessage:$.result.error?.message,background:wJ($.result.metadata)}),A.detail)B.toolDetail(X.function.name,A.detail);break}case"token_usage":B.tokenUsage($.usage);break;case"compaction":B.compacting($);break;case"task_update":B.taskUpdate($.tasks);break;case"goal_frontier_updated":B.goalFrontier($);break;case"turn_recovery":B.turnRecovery($);break;case"structured_output":B.structuredOutput($);break;case"mcp_catalog_changed":B.mcpCatalogChanged($);break;case"mcp_content_changed":B.mcpContentChanged($);break;case"mcp_resource_updated":B.mcpResourceUpdated($);break;case"mcp_connection_changed":B.mcpConnectionChanged($);break;case"mcp_log":B.mcpLog($);break;case"mcp_instructions_changed":B.mcpInstructionsChanged($);break;case"mcp_task_changed":B.mcpTaskChanged($);break;case"project_rules_loaded":B.projectRulesLoaded($);break;case"steering_applied":case"follow_up_started":case"follow_up_queue_changed":case"goal_continuation_started":break;case"goal_updated":B.goal($);break;case"subagent_spawned":case"subagent_completed":B.subagent($);break;case"model_fallback":B.modelFallback($);break;case"provider_admission":B.providerAdmission($);break;case"provider_retry":B.providerRetry($);break;case"provider_circuit":B.providerCircuit($);break;case"provider_stall":B.providerStall($);break;case"provider_recovery":B.providerRecovery($);break;case"action_stationarity":B.actionStationarity($);break;case"turn_start":if($.turn===1)V.targetLocked=!1;B.phase("turn",V.targetLocked?"hit":"ongoing",`Turn ${$.turn} started`,{turn:$.turn});break;default:{let X=$}}await p()});if(w.metadata?.outputTruncated)B.error("[warning] 输出因达到 token 上限被截断,部分内容可能不完整。");if(w.metadata?.recoveryAttention)return B.error("Error: Turn recovery requires explicit user attention before continuation"),await E(2);if(!w.success)return B.error(`Error: ${w.error?.message??"Agent execution failed"}`),await E(1);return B.phase("completed","done","Headless run completed"),await E(0)}catch(N){if(!T){if(J.hasOpenThinking()&&q==="text")d.stderr.write(`
6
- `);B.error(`Error: ${iJ(N)}`)}return await E(1)}finally{x?.(),j?.();try{await W?.dispose()}finally{F.close(),P.dispose()}}}async function IK(){if(!process.argv.slice(2).includes("--headless"))return!1;let{headless:Q,"output-format":q,"system-prompt":J,"append-system-prompt":V,"max-turns":W,...x}=AH,j=hJ(OJ(process.argv)).scriptName("blade").strict(!1).options(x).middleware([TH,SH,yH]);return vJ(j),await j.parse(),!0}export{rJ as runHeadless,IK as handleHeadlessMode,uJ as HeadlessOptionsSchema};
@@ -1 +0,0 @@
1
- import{if as a,jf as b}from"./chunk-h05qhgrb.js";import"./chunk-g9vdmvk2.js";import"./chunk-6e3mh79j.js";export{a as globalOptions,b as cliConfig};
@@ -1,10 +0,0 @@
1
- import{a as T,b as W,c as X,d as Y}from"./chunk-5btfnf2r.js";import"./chunk-rgjr7jsd.js";import"./chunk-0c82q1sz.js";import"./chunk-ky9br0z8.js";import"./chunk-y6jee9w7.js";import"./chunk-e8pfbb6c.js";import"./chunk-bx75fd0d.js";import"./chunk-h74p51hg.js";import"./chunk-7ykqvsph.js";import"./chunk-ermypm1x.js";import"./chunk-5sf2rc1z.js";import"./chunk-wzkh3e6a.js";import"./chunk-zk9rf1d7.js";import"./chunk-z3hpstky.js";import"./chunk-p0gbxaqz.js";import"./chunk-xt0ktytp.js";import{pf as R}from"./chunk-1evc05gr.js";import"./chunk-9frd4fpk.js";import{Lf as Q}from"./chunk-v5503t2t.js";import"./chunk-v508x7cg.js";import"./chunk-q0s3gcjm.js";import"./chunk-a26vtcv5.js";import"./chunk-0ccm29qy.js";import"./chunk-74bswv4z.js";import"./chunk-4jqw75ce.js";import"./chunk-e76gej4y.js";import"./chunk-f2b9cyj5.js";import"./chunk-etf3e9kt.js";import"./chunk-karq4wfd.js";import"./chunk-69nwa6bn.js";import"./chunk-mavranwn.js";import"./chunk-c2mx5zg0.js";import"./chunk-ramana2t.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import{Mj as M}from"./chunk-g9vdmvk2.js";import"./chunk-wxypv01z.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";import m from"chalk";import K from"open";var A=`
2
- ____ _ _
3
- | __ )| | __ _ __| | ___
4
- | _ \\| |/ _\` |/ _\` |/ _ \\
5
- | |_) | | (_| | (_| | __/
6
- |____/|_|\\__,_|\\__,_|\\___|
7
- `,C={command:"web",describe:"Start Blade server and open web interface",builder:T,handler:async(Z)=>{let H=W(Z);if(await Q(),!process.env.BLADE_SERVER_PASSWORD)console.log(m.yellow("[WARN] BLADE_SERVER_PASSWORD is not set; server is unsecured.")),console.log(m.gray(` Set this environment variable to enable Basic Auth.
8
- `));let F=await Y.listenAsync(H);if(console.log(m.cyan(A)),console.log(m.gray(` v${M()}
9
- `)),H.hostname==="0.0.0.0"){let q=`http://localhost:${F.port}`;console.log(m.blue.bold(" Local access: "),m.white(q));let x=X();for(let z of x)console.log(m.blue.bold(" Network access: "),m.white(`http://${z}:${F.port}`));K(q).catch(()=>{})}else{let q=F.url.toString();console.log(m.blue.bold(" Web interface: "),m.white(q)),K(q).catch(()=>{})}console.log(""),console.log(m.gray(` Press Ctrl+C to stop the server.
10
- `));let J,$=new Promise((q)=>{J=q}),b=R(async()=>{await F.stop(),J()});try{await $}finally{b(),await F.stop()}}};export{C as webCommand};
@@ -1 +0,0 @@
1
- import{Lj as a,Mj as b,Nj as c,Oj as d,Pj as e,Qj as f}from"./chunk-g9vdmvk2.js";import"./chunk-6e3mh79j.js";export{b as getVersion,c as getPackageName,a as getPackageInfo,e as getFormattedVersion,d as getDescription,f as getCopyright};
@@ -1 +0,0 @@
1
- import{Ib as a,Jb as b,Lb as c,Pb as d,Qb as e,Rb as f,Sb as g,Tb as h,Ub as i,Vb as j,Wb as k,bc as l,cc as m,dc as n,ec as o,gc as p,hc as q,ic as r}from"./chunk-5sf2rc1z.js";import"./chunk-wzkh3e6a.js";import"./chunk-zk9rf1d7.js";import"./chunk-z3hpstky.js";import"./chunk-p0gbxaqz.js";import"./chunk-xt0ktytp.js";import"./chunk-q0s3gcjm.js";import"./chunk-a26vtcv5.js";import"./chunk-0ccm29qy.js";import"./chunk-4jqw75ce.js";import"./chunk-etf3e9kt.js";import"./chunk-karq4wfd.js";import"./chunk-mavranwn.js";import"./chunk-c2mx5zg0.js";import"./chunk-6xvrrypm.js";import"./chunk-9a7bppj7.js";import"./chunk-g799czsy.js";import"./chunk-mzye1ah2.js";import"./chunk-vp6d1fqp.js";import"./chunk-xg9fyvw0.js";import"./chunk-wxtj6gqb.js";import"./chunk-g9vdmvk2.js";import"./chunk-nxnmqk4s.js";import"./chunk-0k2x2ae6.js";import"./chunk-6e3mh79j.js";export{g as saveUserMessage,i as saveToolUse,j as saveToolResult,k as saveCompaction,h as saveAssistantMessage,d as isRootSystemPrompt,m as handleTaskListUpdate,n as handleSkillActivation,o as extractModelSwitch,r as executeLoopGenerator,f as drainLoop,c as checkStopHook,a as checkOutputRecovery,b as checkIncompleteIntent,q as checkAndCompactInLoop,p as applyToolDomainEffects,l as StreamingToolExecutor,e as ConversationState};