@testmuai/kane-cli 0.6.8 → 0.6.10

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 (170) hide show
  1. package/dist/ChatSurface-PLXUGRBV.js +8 -0
  2. package/dist/{ChromeProfilePicker-FJOUNY2B.js → ChromeProfilePicker-IDKFTIHW.js} +1 -1
  3. package/dist/{CliFeedbackPrompt-HC4NNBTK.js → CliFeedbackPrompt-SZOU5FGZ.js} +1 -1
  4. package/dist/{CliUploadProgress-VIEZQNZ5.js → CliUploadProgress-W2FC33Q4.js} +1 -1
  5. package/dist/{ConfigView-LK5F4F7W.js → ConfigView-JB2NSZ2N.js} +1 -1
  6. package/dist/EvidenceViewOffer-5YST67KY.js +2 -0
  7. package/dist/{FolderPicker-3S57MSC6.js → FolderPicker-SPNZESAR.js} +1 -1
  8. package/dist/{HelpView-BQ3TS7WE.js → HelpView-XBDXXHFB.js} +1 -1
  9. package/dist/{InfoBox-4HVXV3TD.js → InfoBox-2T7GYSFT.js} +1 -1
  10. package/dist/{LinksBox-3B2KO5S4.js → LinksBox-2NNZZDQT.js} +1 -1
  11. package/dist/{ProfilesView-FLRMROUR.js → ProfilesView-KJZVGU5B.js} +1 -1
  12. package/dist/{ProjectPicker-R3KLRGHH.js → ProjectPicker-AUTZNEPE.js} +1 -1
  13. package/dist/{SaveSessionPrompt-P7HSG7R7.js → SaveSessionPrompt-LHLSJQSQ.js} +1 -1
  14. package/dist/SingleShotApp-Z2HGSZXG.js +2 -0
  15. package/dist/{SummaryBox-HCDIWKPS.js → SummaryBox-5G7WULUN.js} +1 -1
  16. package/dist/TestMdRunView-B4IZHRDT.js +2 -0
  17. package/dist/{WhoamiView-ZD6FIBMK.js → WhoamiView-XNWBDMQR.js} +1 -1
  18. package/dist/bind-FEOGBJ2O.js +6 -0
  19. package/dist/bootstrap-T6DSUI34.js +2 -0
  20. package/dist/{bridge-D2HETW5M.js → bridge-WMGH3O3B.js} +1 -1
  21. package/dist/{changelog-QB7S4VV4.js → changelog-AGFDNTTW.js} +1 -1
  22. package/dist/{chat-committer-MWZ4JQMM.js → chat-committer-4ENYH3RC.js} +1 -1
  23. package/dist/{chat-controller-YX5A7R52.js → chat-controller-M4QYRH7Y.js} +1 -1
  24. package/dist/chunk-26H3PDVN.js +4 -0
  25. package/dist/{chunk-5VC7MBHR.js → chunk-2H3XNXL3.js} +1 -1
  26. package/dist/chunk-2KS2YRIS.js +2 -0
  27. package/dist/{chunk-K7P6VNLI.js → chunk-2OQLMW3F.js} +1 -1
  28. package/dist/chunk-2XMJ6YAE.js +2 -0
  29. package/dist/{chunk-HCWEZCKP.js → chunk-3KN2UW37.js} +1 -1
  30. package/dist/{chunk-D5IZ77YG.js → chunk-4OSW2WEN.js} +35 -35
  31. package/dist/chunk-5EOX4MEY.js +2 -0
  32. package/dist/{chunk-NKUA3TSO.js → chunk-5F7PU5AJ.js} +1 -1
  33. package/dist/{chunk-YTK3IQUB.js → chunk-5LTUYXMP.js} +2 -2
  34. package/dist/{chunk-QOGQBVTP.js → chunk-5Z7GAIPP.js} +2 -2
  35. package/dist/{chunk-QFD6CB4P.js → chunk-6CGNLFSN.js} +1 -1
  36. package/dist/{chunk-NKCXCCPM.js → chunk-6JTEWZ75.js} +1 -1
  37. package/dist/{chunk-GFKIE3AL.js → chunk-6MTVGARW.js} +1 -1
  38. package/dist/{chunk-GO4CBUB6.js → chunk-6NWPK2MS.js} +1 -1
  39. package/dist/{chunk-3BIEIXJK.js → chunk-6ZJ7ZFEX.js} +1 -1
  40. package/dist/{chunk-ELN3EN4K.js → chunk-76I6NJBX.js} +1 -1
  41. package/dist/{chunk-IQFUBT6Z.js → chunk-7APDXIKI.js} +1 -1
  42. package/dist/{chunk-TFVMSEIA.js → chunk-7C6G4V43.js} +1 -1
  43. package/dist/{chunk-PV4EDQY4.js → chunk-7LWXIRI3.js} +1 -1
  44. package/dist/{chunk-L3HG5ONB.js → chunk-A46NBRAP.js} +1 -1
  45. package/dist/{chunk-66LXV7NN.js → chunk-AYDUHTPA.js} +1 -1
  46. package/dist/chunk-BKM2LWU2.js +3 -0
  47. package/dist/{chunk-JKHQBGFY.js → chunk-C3OGWCII.js} +2 -2
  48. package/dist/{chunk-TRXNJZSL.js → chunk-DHF3VO2R.js} +1 -1
  49. package/dist/{chunk-TBXIOT6M.js → chunk-ECFOND7B.js} +1 -1
  50. package/dist/chunk-EV3EHXEI.js +4 -0
  51. package/dist/{chunk-OYOTWI53.js → chunk-FEF75YKV.js} +1 -1
  52. package/dist/chunk-FHKDTM5L.js +6 -0
  53. package/dist/{chunk-EQORZ6RT.js → chunk-FYDBD7Q4.js} +1 -1
  54. package/dist/{chunk-FCZ2YFD3.js → chunk-GWJ76BLF.js} +2 -2
  55. package/dist/chunk-J44RN3FB.js +2 -0
  56. package/dist/{chunk-VZHXNQDO.js → chunk-J4WS2SXT.js} +1 -1
  57. package/dist/chunk-JHHMXU76.js +2 -0
  58. package/dist/chunk-JHPZXF77.js +14 -0
  59. package/dist/chunk-JTCW76YG.js +12 -0
  60. package/dist/{chunk-K5JGCJ2K.js → chunk-K7USHLVZ.js} +4 -4
  61. package/dist/{chunk-Q3WHZ26R.js → chunk-KA7Q5IIC.js} +1 -1
  62. package/dist/chunk-KFUZYEHX.js +2 -0
  63. package/dist/chunk-KK7DYHK6.js +347 -0
  64. package/dist/{chunk-AXJIXRYF.js → chunk-LPBAQQ7E.js} +1 -1
  65. package/dist/{chunk-ATO6NM45.js → chunk-MJF3USZF.js} +2 -2
  66. package/dist/{chunk-B22NUHB2.js → chunk-MSK7AC4E.js} +2 -2
  67. package/dist/{chunk-EYZWG32F.js → chunk-OESHJ4J2.js} +2 -2
  68. package/dist/chunk-OIYGGEUL.js +6 -0
  69. package/dist/chunk-Q2F5QB2W.js +2 -0
  70. package/dist/{chunk-D4WLVWJQ.js → chunk-QGBLC4ZJ.js} +1 -1
  71. package/dist/chunk-QPT4ERGK.js +47 -0
  72. package/dist/{chunk-K4ERF7GT.js → chunk-RH4GCEFX.js} +1 -1
  73. package/dist/{chunk-TAUSKB3O.js → chunk-RLZA4VJT.js} +1 -1
  74. package/dist/{chunk-VRVSOGXH.js → chunk-SACSQY3Q.js} +1 -1
  75. package/dist/{chunk-LEA6IHXC.js → chunk-SDRFTIRU.js} +1 -1
  76. package/dist/{chunk-SHAA6FOD.js → chunk-SKRZN25J.js} +1 -1
  77. package/dist/chunk-TLL7KFLY.js +6 -0
  78. package/dist/{chunk-MEHEGW3V.js → chunk-TW3K2DKB.js} +1 -1
  79. package/dist/chunk-VOHQA2SP.js +2 -0
  80. package/dist/{chunk-BLHCGRSK.js → chunk-VYQMCLKG.js} +1 -1
  81. package/dist/{chunk-F4FXE466.js → chunk-W54W762O.js} +1 -1
  82. package/dist/{chunk-27GF2OQ7.js → chunk-WSZ7IENQ.js} +3 -3
  83. package/dist/{chunk-YKZIACYJ.js → chunk-WV42KKEU.js} +1 -1
  84. package/dist/chunk-XY5KWIRF.js +3 -0
  85. package/dist/{chunk-YEMR62WY.js → chunk-XZW3TBOV.js} +1 -1
  86. package/dist/chunk-Y5RNCJAN.js +19 -0
  87. package/dist/{chunk-BUVRZXO3.js → chunk-YJIESLN6.js} +1 -1
  88. package/dist/{chunk-A6TFZQV6.js → chunk-YOFKDRY4.js} +1 -1
  89. package/dist/{chunk-N5YIMTGV.js → chunk-YVXC46DY.js} +1 -1
  90. package/dist/{chunk-6WHKJSMJ.js → chunk-Z25FKS3Y.js} +1 -1
  91. package/dist/{chunk-NVGTSXCJ.js → chunk-ZFFRHV5U.js} +1 -1
  92. package/dist/chunk-ZPENY2Q3.js +4 -0
  93. package/dist/{config-JV7HNJ3I.js → config-7WI6TBDV.js} +1 -1
  94. package/dist/{cover-cmd-L2HSVDLH.js → cover-cmd-J2ZJUL6P.js} +1 -1
  95. package/dist/{credentials-TQW3TT2I.js → credentials-MX5ABDPF.js} +1 -1
  96. package/dist/docx-convert-IAX54REO.js +2 -0
  97. package/dist/{dossier-ZHSHATVU.js → dossier-UVTGCL7T.js} +1 -1
  98. package/dist/{evidence-ZFYDHO73.js → evidence-TZYIOSPG.js} +1 -1
  99. package/dist/{evolve-cmd-YGJECGND.js → evolve-cmd-IDS5ZIUY.js} +1 -1
  100. package/dist/exit-manager-MXUD7GQ7.js +2 -0
  101. package/dist/{explain-cmd-E366QTAD.js → explain-cmd-NPKN63XL.js} +1 -1
  102. package/dist/{explain-cmd-327F6ESA.js → explain-cmd-R3WCNR2A.js} +1 -1
  103. package/dist/extract-bind-CISTQFI3.js +8 -0
  104. package/dist/{extract-cmd-TQ2MYXOG.js → extract-cmd-HG3DHHSL.js} +1 -1
  105. package/dist/{gaps-cmd-IAEXXESW.js → gaps-cmd-XLVUFSTY.js} +1 -1
  106. package/dist/{generate-headless-XXECVP6L.js → generate-headless-4VJMAHCU.js} +2 -2
  107. package/dist/index.js +67 -65
  108. package/dist/ingest-UAIKHOB4.js +2 -0
  109. package/dist/ingest-cmd-7HJLRLMG.js +4 -0
  110. package/dist/interactive-bind-IXFRXBBL.js +10 -0
  111. package/dist/{lifecycle-cmd-KZOC4WDW.js → lifecycle-cmd-VTFZ3TF2.js} +1 -1
  112. package/dist/{list-cmd-6X5U46RD.js → list-cmd-KXL4WQII.js} +1 -1
  113. package/dist/list-commands-BJYJ34HT.js +2 -0
  114. package/dist/{logical-ids-RFGWBVML.js → logical-ids-LMBNMENR.js} +1 -1
  115. package/dist/login-flow-KW5T7WRJ.js +2 -0
  116. package/dist/pdf-convert-S7VYE6AV.js +2 -0
  117. package/dist/{persist-recorded-session-DT3K6ZYQ.js → persist-recorded-session-QR7RVAXR.js} +1 -1
  118. package/dist/{pipeline-5N7HWGAL.js → pipeline-L6V24KGN.js} +1 -1
  119. package/dist/{readmodel-V3DVL6NP.js → readmodel-AGAPK2AI.js} +1 -1
  120. package/dist/reconcile-cmd-E2MMQM7Z.js +2 -0
  121. package/dist/{recording-banner-QI77ERTZ.js → recording-banner-QAIKLV6E.js} +1 -1
  122. package/dist/{require-project-folder-2UAXXZA4.js → require-project-folder-OANMHOVE.js} +1 -1
  123. package/dist/{review-cmd-XVWPSWU2.js → review-cmd-2FCGP55U.js} +1 -1
  124. package/dist/run-FYJZCWYS.js +2 -0
  125. package/dist/run-IOBBB7GN.js +2 -0
  126. package/dist/{run-test-md-DKRJOUFA.js → run-test-md-5E53A5DT.js} +2 -2
  127. package/dist/{sessions-cmd-STHKGDX4.js → sessions-cmd-DTQYDZNT.js} +1 -1
  128. package/dist/{skill-installer-TK5REDD6.js → skill-installer-LGEIIQ4Q.js} +1 -1
  129. package/dist/{spawner-K7LWPNIC.js → spawner-6FHAXNOA.js} +1 -1
  130. package/dist/store-id-EOSGEKVK.js +2 -0
  131. package/dist/tcg-generate-CEDA6DZJ.js +2 -0
  132. package/dist/testmd-actions-2OFH5GRJ.js +2 -0
  133. package/dist/token-refresh-R75DGT4X.js +2 -0
  134. package/dist/{validate-basic-XEJGB4GN.js → validate-basic-Z46MAH2G.js} +1 -1
  135. package/dist/{version-check-IT7T5YKJ.js → version-check-64M5JQQ7.js} +1 -1
  136. package/dist/{view-cmd-G4PGJRQH.js → view-cmd-PG66UQK7.js} +1 -1
  137. package/dist/walk-session-7PM2RXEF.js +2 -0
  138. package/package.json +10 -6
  139. package/dist/ChatSurface-QLRMFZJG.js +0 -8
  140. package/dist/EvidenceViewOffer-HZ4WZKGM.js +0 -2
  141. package/dist/SingleShotApp-ZBZY7KGR.js +0 -2
  142. package/dist/TestMdRunView-GQP2QGFU.js +0 -2
  143. package/dist/bind-RSVQXQJT.js +0 -6
  144. package/dist/chunk-35RV2AAV.js +0 -12
  145. package/dist/chunk-4GXOBABK.js +0 -4
  146. package/dist/chunk-BSFONZ2E.js +0 -2
  147. package/dist/chunk-E4EHWO3J.js +0 -4
  148. package/dist/chunk-FXPPQL4D.js +0 -6
  149. package/dist/chunk-K4LCN5X4.js +0 -6
  150. package/dist/chunk-M5JQXOCE.js +0 -12
  151. package/dist/chunk-PXPXK4Q7.js +0 -2
  152. package/dist/chunk-QZ7DZXLQ.js +0 -14
  153. package/dist/chunk-RHNKYNNZ.js +0 -6
  154. package/dist/chunk-XSAZDIQV.js +0 -347
  155. package/dist/chunk-XWIN3S7O.js +0 -4
  156. package/dist/exit-manager-VCSIUYBR.js +0 -2
  157. package/dist/extract-bind-7UZXDON6.js +0 -5
  158. package/dist/ingest-CBQAXVH6.js +0 -2
  159. package/dist/ingest-cmd-JN6PLDE3.js +0 -3
  160. package/dist/interactive-bind-WA2YVAUW.js +0 -7
  161. package/dist/list-commands-I577A5LK.js +0 -2
  162. package/dist/login-flow-OVEZXSMW.js +0 -2
  163. package/dist/pdf-convert-KYXI4FU4.js +0 -2
  164. package/dist/reconcile-cmd-HYYH3SZS.js +0 -2
  165. package/dist/run-RYIYWV63.js +0 -2
  166. package/dist/run-VMKZDO7J.js +0 -2
  167. package/dist/tcg-generate-6EJLU5KX.js +0 -2
  168. package/dist/testmd-actions-Q2XWL7P5.js +0 -2
  169. package/dist/token-refresh-NQZJEUQE.js +0 -2
  170. package/dist/walk-session-HCTG4LN2.js +0 -2
@@ -1,2 +0,0 @@
1
- import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- import{a as ie}from"./chunk-QZ7DZXLQ.js";import{a as Q,c as z,d as ne}from"./chunk-QOGQBVTP.js";import"./chunk-GRB66C5S.js";import"./chunk-3C5GMAM4.js";import{b as X,c as re,d as oe}from"./chunk-BSFONZ2E.js";import{a as L}from"./chunk-TFVMSEIA.js";import"./chunk-JFAFKHDX.js";import"./chunk-DNNZ353O.js";import"./chunk-RN4OSVTG.js";import"./chunk-QM4S2APK.js";import"./chunk-BC7UVJJB.js";import"./chunk-NVGBE2DR.js";import{a as _}from"./chunk-LEA6IHXC.js";import{b as te}from"./chunk-RGDQMKNJ.js";import"./chunk-L3HG5ONB.js";import"./chunk-L4JIMNKW.js";import{e as ee}from"./chunk-MBXWXBDM.js";import"./chunk-IAHKTEET.js";import"./chunk-5YPBPZUR.js";import{a as G}from"./chunk-YCCUBQY4.js";import{y as l}from"./chunk-PXPXK4Q7.js";import{a as H}from"./chunk-HCBYKLMW.js";import{a as T,b as c,k as Y}from"./chunk-C44QQJR4.js";import{a as ge}from"./chunk-6YGTRKDT.js";import{e as V}from"./chunk-UR6MHSHU.js";var A=V(ge(),1);function ae(e,g,b){let{ref:C,reason:d,by:x}=b;if(!d||d.trim().length===0)return{record:null,errors:[{code:"REASON_REQUIRED",detail:"archiving a node needs a reason \u2014 it becomes the tombstone's provenance"}]};let w=g.resolve(C);if(!w)return{record:null,errors:[{code:"UNKNOWN_REF",detail:`no node '${C}' in the graph`}]};let o=g.tipOf(w.cid);if(g.superseded.has(o))return{record:null,errors:[{code:"ALREADY_ARCHIVED",detail:`${C} is already superseded at its tip (${o.slice(0,19)}\u2026)`}]};let i=ee(e,{ts:new Date().toISOString(),proposal_id:null,nodes:[],edges:[],review:[],supersessions:[{kind:"node",old:o,new:null,reason:d,by:x}],source_head_moves:{}},{expectPrev:g.latestHash});return te(e),{record:i.record,errors:null}}function se(e){let g=e.by??{kind:"human",id:process.env.USER??"operator"},b=e.mode==="interactive"?"override":e.mode,C={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},d={applied:0,committed:0,retired:0,skipped:0,deferred:0,failed:0},x=new Map;for(let o of e.planRows)if(o.held_ref&&e.held){let i=e.held.rows.find(n=>n.temp_ref===o.held_ref);if(!i)continue;let h={kind:i.kind,ref:i.temp_ref,title:i.title,why:i.why,origin:"content-change",...o.impact?{impact:o.impact}:{}};x.set(h.ref,{card:h,source:"held",heldRef:i.temp_ref})}else if(o.kind==="MODIFY"){let i={kind:"MODIFY",ref:o.ref,title:o.ref,why:`${o.reason}: ${o.provenance}`,origin:o.origin??"structural-stale",...o.impact?{impact:o.impact}:{}};x.set(i.ref,{card:i,source:"row",row:o})}else if(o.kind==="ADD"){let i={kind:"ADD",ref:o.ref,title:o.ref,why:o.reason,origin:o.origin??"content-change"};x.set(i.ref,{card:i,source:"row",row:o})}for(let o of e.archive){if(o.kind!=="ARCHIVE")continue;let i={kind:"ARCHIVE",ref:o.ref,title:o.ref,why:o.why,provenance:o.why,...o.impact?{impact:o.impact}:{}};x.set(i.ref,{card:i,source:"archive",row:o})}let w=o=>(d.failed++,{outcome:"failed",detail:o});return{cards:()=>[...x.values()].map(o=>o.card),async submit(o,i){let h=x.get(o);if(!h)return w(`no card ${o}`);if(i.v==="skip")return d.skipped++,e.signals({ref:o,verdict:"gap-dismissed"}),{outcome:"skipped"};if(i.v==="defer")return d.deferred++,{outcome:"deferred"};if(i.v==="archive"){if(h.source!=="archive")return w(`${o} is not an ARCHIVE card`);let s=_(e.contextDir),R=s.resolve(h.row.ref);if(R&&s.superseded.has(s.tipOf(R.cid)))return d.skipped++,{outcome:"skipped",detail:"already retired \u2014 nothing to do"};let $=ae(e.contextDir,_(e.contextDir),{ref:h.row.ref,reason:`reconcile retire: ${h.row.why}`,by:g});return $.errors?w($.errors.map(a=>`${a.code}: ${a.detail}`).join("; ")):(d.retired++,e.signals({ref:o,verdict:"gap-resolved-archive",reason:h.row.why}),{outcome:"retired"})}if(h.source==="archive")return w(`${o} takes archive/skip/defer, not approve`);if(h.source==="held"){let s=ie(e.contextDir,e.held,h.heldRef,g,i.edits);if(!s.ok)return w(s.message);if(s.kind==="ADD"){let R=await e.runDesign(s.ref,{yes:!0,mode:b,...i.steering?{because:i.steering}:{}});return R!==0?(d.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its design run exited ${R} \u2014 finish with kane-cli design tests --use-case ${s.ref}`}):(d.applied++,e.signals({ref:o,verdict:"gap-resolved-create",...i.steering?{reason:i.steering}:{}}),{outcome:"applied",detail:s.ref})}if(i.steering){let R=_(e.contextDir),$=Q(R,s.ref);if(!$.ok)return d.committed++,{outcome:"committed",detail:`committed ${s.ref}, but steering could not resolve it (${$.message}) \u2014 steer via kane-cli maintain evolve ${s.ref}`};let a=await z(e.contextDir,$.target,{yes:!0,mode:b,because:i.steering},C,e.runDesign,"batch");if(a.outcome==="no-design"){let u=await e.runDesign($.target.seamRef,{yes:!0,mode:b,because:i.steering});return u!==0?(d.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but its steered design run exited ${u} \u2014 finish with kane-cli design tests --use-case ${$.target.seamRef}`}):(d.applied++,e.signals({ref:o,verdict:"gap-resolved-create",reason:i.steering}),{outcome:"applied",detail:s.ref})}return a.outcome==="failed"||a.outcome==="paused"?(d.failed++,{outcome:"failed",landed:!0,detail:`committed ${s.ref}, but the steering evolve ${a.outcome} (exit ${a.code}) \u2014 finish with kane-cli maintain evolve ${s.ref}`}):a.outcome==="declined"?(d.committed++,{outcome:"committed",detail:`committed ${s.ref} \u2014 the steering evolve was declined; re-run kane-cli maintain evolve ${s.ref}`}):(d.applied++,e.signals({ref:o,verdict:"gap-resolved-evolve",reason:i.steering}),{outcome:"applied",detail:s.ref})}return d.committed++,e.signals({ref:o,verdict:"gap-resolved-evolve"}),{outcome:"committed",detail:s.ref}}let n=_(e.contextDir),f=Q(n,h.row.ref);if(!f.ok)return w(f.message);if(h.card.kind==="ADD"){let s=await e.runDesign(f.target.seamRef,{yes:!0,mode:b});return s!==0?w(`design run exited ${s}`):(d.applied++,e.signals({ref:o,verdict:"gap-resolved-create"}),{outcome:"applied"})}let v=await z(e.contextDir,f.target,{yes:!0,mode:b,...i.steering?{because:i.steering}:{}},C,e.runDesign,"batch");return v.outcome==="evolved"?(d.applied++,e.signals({ref:o,verdict:"gap-resolved-evolve",...i.steering?{reason:i.steering}:{}}),{outcome:"applied"}):v.outcome==="failed"||v.outcome==="paused"?w(`evolve ${v.outcome} (exit ${v.code})`):(d.skipped++,{outcome:"skipped",detail:v.outcome})},summary:()=>({...d})}}var y=V(H(),1);function N(e){return e.kind==="ARCHIVE"?[{v:"archive",label:"retire",detail:"tombstone it \u2014 the graph forgets forward"},{v:"skip",label:"skip",detail:"keep it \u2014 decided, never re-offered"},{v:"defer",label:"defer",detail:"not now \u2014 the plan re-offers it"}]:[{v:"approve",label:"approve",detail:e.kind==="ADD"?"commit + design it":"commit the updated version (old\u2192new redirect)"},{v:"skip",label:e.origin==="content-change"?"reject":"skip",detail:e.origin==="content-change"?"drop the staged proposal \u2014 nothing committed":"leave it as is"},{v:"defer",label:"defer",detail:"not now \u2014 the plan keeps it staged"}]}function U(e){return e.kind==="ARCHIVE"?null:N(e).length}var he={ADD:{color:l.green??"green"},MODIFY:{color:"yellow"},ARCHIVE:{color:l.red}},ve=60;function le({card:e,position:g,sel:b=0,focused:C=!1,freeText:d=null}){let{stdout:x}=Y(),o=(x?.columns??80)<ve,i=N(e),h=U(e),n=he[e.kind],f=$=>C&&b===$?(0,y.jsx)(c,{color:l.generateAccent,children:"\u25B8"}):" ",v=e.impact,s=v&&v.stale_refs.length>0?`${e.kind==="ARCHIVE"?"retiring drops":"approving marks"} ${v.stale_refs.length} item(s) stale`+((v.direct_refs?.length??0)>0?` \u2014 ${v.direct_refs.length} directly touched: ${v.direct_refs.join(", ")}`:""):null,R=(0,y.jsxs)(T,{flexDirection:"column",children:[(0,y.jsx)(c,{bold:!0,color:l.generateAccent,children:`? reconcile \u2014 item ${g.n} of ${g.of}`}),(0,y.jsxs)(c,{bold:!0,children:[" ",(0,y.jsx)(c,{color:n.color,children:`[${e.kind}]`}),` ${L(e.title)}`]}),(0,y.jsx)(c,{color:l.muted,children:` ${e.why}`}),s?(0,y.jsx)(c,{color:l.muted,children:` impact: ${s}`}):null,e.kind==="ARCHIVE"&&e.provenance&&e.provenance!==e.why?(0,y.jsx)(c,{color:l.muted,children:` ${e.provenance}`}):null,i.map(($,a)=>(0,y.jsxs)(c,{children:[" ",f(a),` ${a+1} ${$.label}`,(0,y.jsx)(c,{color:l.dim,children:` \u2014 ${$.detail}`})]},`o-${a}`)),h!==null?d?(0,y.jsxs)(T,{flexDirection:"column",children:[(0,y.jsxs)(T,{children:[(0,y.jsxs)(c,{children:[" ",(0,y.jsx)(c,{color:l.generateAccent,children:"\u25B8"})," ",(0,y.jsx)(c,{color:l.dim,children:"\u270E "})]}),(0,y.jsx)(G,{value:d.value,onChange:d.onChange,onSubmit:d.onSubmit,onCancel:d.onCancel,placeholder:"say what to adjust"})]}),(0,y.jsx)(c,{color:l.muted,children:" submits as: approve \xB7 your words steer the re-design"})]}):(0,y.jsxs)(c,{children:[" ",f(h)," ",(0,y.jsx)(c,{color:l.dim,children:"\u270E approve with changes \u2014 say what to adjust"})]}):null,(0,y.jsx)(c,{color:l.muted,children:h!==null?" \u2191\u2193 \xB7 \u23CE select \xB7 1-9 \xB7 type = adjust \xB7 esc \xB7 nothing to undo":" \u2191\u2193 \xB7 \u23CE select \xB7 1-9 \xB7 esc \xB7 nothing to undo"})]});return o?R:(0,y.jsx)(T,{flexDirection:"column",borderStyle:"round",borderColor:l.generateAccent,paddingX:1,children:R})}var j=V(H(),1);function K({mark:e,markColor:g,color:b,indent:C=2,reserve:d=0,children:x}){let{stdout:w}=Y(),o=(w?.columns??80)-d,i=C+e.length+1;return(0,j.jsxs)(T,{children:[(0,j.jsx)(T,{width:i,flexShrink:0,children:(0,j.jsx)(c,{color:g,children:`${" ".repeat(C)}${e}`})}),(0,j.jsx)(T,{width:Math.max(20,o-i),children:(0,j.jsx)(c,{color:b,children:x})})]})}var p=V(H(),1);function ce(e){return e.landed?"committed":e.outcome}var ke={applied:{mark:"\u2714",color:"green"},committed:{mark:"\u2714",color:"green"},retired:{mark:"\u2714",color:"green"},skipped:{mark:"\xB7",color:"dim"},deferred:{mark:"\u2013",color:"dim"},failed:{mark:"\u2717",color:"red"}},q=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"];function ye(e){return e.v==="archive"?"Retiring\u2026":e.v==="approve"&&e.steering?"Approving with your changes \u2014 committing, then re-designing\u2026":"Applying \u2014 committing\u2026"}function we({controller:e,cards:g,note:b,markOutcome:C,routeChat:d,listEvolveTargets:x,barSubject:w,onFinish:o,onCtrlC:i,pauseRef:h}){let[n,f]=(0,A.useState)(g.length>0?{at:"card",idx:0,sel:0,editor:null}:{at:"done-panel",sel:0}),v=(0,A.useRef)(0),s=(0,A.useRef)(n);s.current=n;let R=(0,A.useRef)([]),[$,a]=(0,A.useState)(0),u=n.at==="busy"||n.at==="evolving";(0,A.useEffect)(()=>{if(!u)return;let t=setInterval(()=>a(r=>r+1),120);return()=>clearInterval(t)},[u]);let W=(0,A.useRef)(!1),D=()=>{b((0,p.jsx)(c,{color:l.dim,children:"walk paused \u2014 every verdict so far is committed; re-run the same command to continue"})),o(3)},S=()=>{if(W.current)return;W.current=!0;let t=s.current;if(t.at==="busy"||t.at==="evolving"){b((0,p.jsx)(c,{color:l.dim,children:"finishing the current item, then pausing\u2026"}));return}if(t.at==="done-panel"||t.at==="picker"||t.at==="why"||t.at==="view"){o(v.current);return}D()};h&&(h.current=S);let I=n.at==="card"||n.at==="busy"?g[n.idx]:null,E=()=>[{key:"finish",label:"finish"},...x?[{key:"evolve",label:"evolve another use-case\u2026"}]:[],...R.current.length>0?[{key:"view",label:"view what changed"}]:[]],O=()=>{let t=x?.()??[];if(t.length===0){b((0,p.jsx)(c,{color:l.dim,children:"nothing is stale \u2014 no evolve targets right now"})),f({at:"done-panel",sel:0});return}f({at:"picker",items:t,sel:0})},P=t=>{let r=t+1;if(r<g.length)f({at:"card",idx:r,sel:0,editor:null});else{let m=e.summary();b((0,p.jsx)(c,{color:l.dim,children:`reconcile walk: ${m.applied} applied, ${m.committed} committed, ${m.retired} retired, ${m.skipped} skipped, ${m.deferred} deferred`+(m.failed>0?`, ${m.failed} failed`:"")})),f({at:"done-panel",sel:0})}},F=(0,A.useRef)(!1),M=(t,r)=>{if(F.current)return;F.current=!0;let m=g[t];f({at:"busy",idx:t,label:ye(r),startedAt:Date.now()}),e.submit(m.ref,r).catch(k=>({outcome:"failed",detail:k instanceof Error?k.message:String(k)})).then(k=>{let B=ke[k.outcome]??{mark:"\xB7",color:"dim"},fe=k.outcome!=="failed"&&k.outcome!=="skipped"&&k.outcome!=="deferred"&&m.impact&&m.impact.stale_refs.length>0?` \xB7 ${m.impact.stale_refs.length} item(s) now stale`:"",Z=`${k.outcome} [${m.kind}] ${L(m.title)}${k.detail?` \u2014 ${L(k.detail)}`:""}${fe}`;if(R.current.push({mark:B.mark,color:B.color,line:Z}),b((0,p.jsx)(K,{mark:B.mark,markColor:B.color==="green"?l.green:B.color==="red"?l.red:l.dim,color:B.color==="dim"?l.dim:void 0,children:Z})),k.outcome==="failed"&&(v.current=v.current===0?1:v.current),C(m.ref,ce(k)),F.current=!1,W.current){D();return}P(t)})},de=(t,r)=>{f({at:"evolving",title:t.title,startedAt:Date.now()}),d(`${t.key} ${r}`).catch(m=>`\u2717 evolve failed: ${m instanceof Error?m.message:String(m)}`).then(m=>{let k=m.startsWith("\u2713");if(R.current.push({mark:k?"\u2714":"\u2717",color:k?"green":"red",line:m.replace(/^[✓✗]\s*/,"")}),b((0,p.jsx)(K,{mark:k?"\u2714":"\u2717",markColor:k?l.green:l.red,children:m.replace(/^[✓✗]\s*/,"")})),W.current){o(v.current);return}f({at:"done-panel",sel:0})})},ue=(0,A.useMemo)(()=>({isFocused:()=>{let t=s.current;return t.at==="card"&&t.editor===null||t.at==="done-panel"||t.at==="picker"||t.at==="view"},onMove:t=>{f(r=>{if(r.at==="card"){let m=g[r.idx],k=U(m)??N(m).length-1;return{...r,sel:Math.max(0,Math.min(k,r.sel+t))}}return r.at==="done-panel"?{...r,sel:Math.max(0,Math.min(E().length-1,r.sel+t))}:r.at==="picker"?{...r,sel:Math.max(0,Math.min(r.items.length-1,r.sel+t))}:r})},onSelect:()=>{let t=s.current;if(t.at==="card"){let r=g[t.idx],m=U(r);if(m!==null&&t.sel===m){f({...t,editor:""});return}let k=N(r)[t.sel];k&&M(t.idx,{v:k.v});return}if(t.at==="done-panel"){let r=E()[t.sel];r?.key==="finish"?o(v.current):r?.key==="evolve"?O():r?.key==="view"&&f({at:"view"});return}if(t.at==="picker"){let r=t.items[t.sel];r&&f({at:"why",item:r,text:""});return}},onDigit:t=>{let r=s.current;if(r.at==="card"){let m=N(g[r.idx])[t-1];m&&M(r.idx,{v:m.v});return}r.at==="done-panel"&&t-1<E().length&&f({...r,sel:t-1}),r.at==="picker"&&t-1<r.items.length&&f({...r,sel:t-1})},onType:t=>{f(r=>r.at!=="card"||U(g[r.idx])===null?r:{...r,editor:(r.editor??"")+t})},isMulti:()=>!1,onSpace:()=>{},onBack:()=>{let t=s.current;(t.at==="picker"||t.at==="view")&&f({at:"done-panel",sel:0})}}),[g]);(0,A.useEffect)(()=>{n.at==="done"&&o(v.current)},[n.at]);let me=n.at==="card"||n.at==="done-panel"||n.at==="picker"||n.at==="why"||n.at==="view",pe=n.at==="card"||n.at==="busy"?`${w?`${w} \xB7 `:""}item ${n.idx+1} of ${g.length}`:w,J=t=>Math.floor((Date.now()-t)/1e3);return(0,p.jsxs)(T,{flexDirection:"column",children:[(0,p.jsx)(oe,{onToggleThinking:()=>{},onCtrlC:()=>{i(),S()},panel:ue}),n.at==="card"&&I?(0,p.jsx)(le,{card:I,position:{n:n.idx+1,of:g.length},sel:n.sel,focused:n.editor===null,freeText:n.editor!==null?{value:n.editor,onChange:t=>f(r=>r.at==="card"?{...r,editor:t}:r),onSubmit:t=>{let r=s.current;r.at==="card"&&(t.trim()?M(r.idx,{v:"approve",steering:t.trim()}):f({...r,editor:null}))},onCancel:()=>f(t=>t.at==="card"?{...t,editor:null}:t)}:null}):null,n.at==="busy"?(0,p.jsxs)(c,{color:l.generateAccent,children:[`${q[$%q.length]} ${n.label} `,(0,p.jsx)(c,{color:l.dim,children:`(${J(n.startedAt)}s)`})]}):null,n.at==="evolving"?(0,p.jsxs)(c,{color:l.generateAccent,children:[`${q[$%q.length]} Evolving ${n.title}\u2026 `,(0,p.jsx)(c,{color:l.dim,children:`(${J(n.startedAt)}s)`})]}):null,n.at==="done-panel"?(0,p.jsx)(X,{headline:(()=>{let t=e.summary();return`reconcile done \u2014 ${t.applied+t.committed} applied \xB7 ${t.retired} retired \xB7 ${t.skipped} skipped \xB7 ${t.deferred} deferred${t.failed>0?` \xB7 ${t.failed} failed`:""}`})(),rows:E(),sel:n.sel,focused:!0,legend:"\u2191\u2193 \xB7 \u23CE select"}):null,n.at==="picker"?(0,p.jsx)(X,{ask:!0,headline:"evolve which use-case?",rows:n.items.map(t=>({key:t.key,label:t.title,detail:t.badge})),sel:n.sel,focused:!0,legend:"\u2191\u2193 \xB7 \u23CE select \xB7 esc back"}):null,n.at==="why"?(0,p.jsxs)(T,{flexDirection:"column",borderStyle:"round",borderColor:l.generateAccent,paddingX:1,children:[(0,p.jsxs)(T,{children:[(0,p.jsxs)(c,{children:[(0,p.jsx)(c,{color:l.generateAccent,children:"\u25B8"})," ",(0,p.jsx)(c,{color:l.dim,children:"\u270E "})]}),(0,p.jsx)(G,{value:n.text,onChange:t=>f(r=>r.at==="why"?{...r,text:t}:r),onSubmit:t=>{let r=s.current;r.at==="why"&&(t.trim()?de(r.item,t.trim()):f({at:"picker",items:[r.item],sel:0}))},onCancel:()=>{s.current.at==="why"&&O()},placeholder:`what should change about ${n.item.title}?`})]}),(0,p.jsx)(c,{color:l.muted,children:" \u23CE submit \xB7 esc back"})]}):null,n.at==="view"?(0,p.jsxs)(T,{flexDirection:"column",borderStyle:"round",borderColor:l.dim,paddingX:1,children:[(0,p.jsx)(c,{bold:!0,children:`view \xB7 this run's changes \xB7 ${R.current.length}`}),R.current.map((t,r)=>(0,p.jsx)(K,{mark:t.mark,markColor:t.color==="green"?l.green:t.color==="red"?l.red:l.dim,color:t.color==="dim"?l.dim:void 0,indent:0,reserve:4,children:t.line},`vc-${r}`)),(0,p.jsx)(c,{color:l.muted,children:" esc back"})]}):null,(0,p.jsx)(re,{verb:"maintain",subject:pe,state:me?"idle":void 0,hints:"ctrl+c exit"})]})}async function Xe(e){let g={current:null},b=a=>{g.current?.append(a)},C=null,d=async(a,u)=>{let[{runDesign:W},{resolveAgentAuthEnv:D},{runAgent:S},{preflightTurn:I}]=await Promise.all([import("./run-VMKZDO7J.js"),import("./spawner-K7LWPNIC.js"),import("./bridge-D2HETW5M.js"),import("./turn-preflight-JGYT7LXP.js")]);C??=await D();let E=C;return W({useCase:a,force:!0,mode:u.mode??"override",...u.because?{because:u.because}:{},...u.changeDelta!==void 0?{changeDelta:u.changeDelta}:{},...u.priorDesign!==void 0?{priorDesign:u.priorDesign}:{}},{contextDir:e.dir,agent:S,preflightTurn:()=>I(E),ask:async()=>[],out:()=>{},progress:()=>{},isTTY:!1,auth:E})},x=e.runDesign??d,w=se({contextDir:e.dir,held:e.held,archive:e.archive,planRows:e.rows,runDesign:x,mode:"interactive",signals:e.signals}),o=new Set(e.rows.filter(a=>a.applied!==void 0).map(a=>a.held_ref??a.ref)),i=w.cards().filter(a=>!o.has(a.ref)&&!(a.kind==="ARCHIVE"&&e.archiveState?.[a.ref]!==void 0)),h=a=>e.rows.findIndex(u=>(u.held_ref??u.ref)===a),n=(a,u)=>{try{if(i.find(S=>S.ref===a)?.kind==="ARCHIVE"){u==="retired"?e.markA?.(a,"retired"):u==="skipped"&&e.markA?.(a,"skipped");return}let D=h(a);if(D<0)return;u==="applied"||u==="committed"?e.mark?.(D,"approved"):u==="skipped"&&e.mark?.(D,"skipped")}catch{}},f=async a=>{let[{openGraph:u},{resolveParentUc:W,evolveOneUc:D}]=await Promise.all([import("./readmodel-V3DVL6NP.js"),import("./evolve-cmd-YGJECGND.js")]),[S,...I]=a.split(/\s+/),E=u(e.dir),O=W(E,S);if(!O.ok)return`couldn't resolve '${S}' \u2014 start with a use-case id (uc-\u2026): ${O.message}`;if(I.length===0)return`say what to change: \`${S} <your words>\` \u2014 the words become the redesign's change delta`;let P=I.join(" "),F={out:()=>{},err:()=>{},isTTY:!1,confirm:async()=>!0},M=await D(e.dir,O.target,{yes:!0,mode:"override",because:P},F,x,"batch");return M.outcome==="evolved"?(e.signals({ref:O.target.display,verdict:"gap-resolved-evolve",reason:P}),`\u2713 redesigned ${O.target.display} \u2014 "${P}"`):`\u2717 evolve ${M.outcome} for ${O.target.display} (exit ${M.code})`},v=e.listEvolveTargets??(()=>{let a=_(e.dir);return ne(a).targets.map(u=>({key:u.display,title:u.display,badge:"stale"}))});if(e.script){let a=0;for(let u of i){let W=await e.script(u),D=await w.submit(u.ref,W);D.outcome==="failed"&&a===0&&(a=1),n(u.ref,ce(D))}return a}let[{render:s},{ScrollbackProvider:R},{ScrollbackTap:$}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./scrollback-JLPJR25X.js"),import("./ScrollbackTap-Q3IOKNMS.js")]);return new Promise(a=>{let u=!1,W=P=>{u||(u=!0,(async()=>{process.removeListener("SIGINT",E),await g.current?.flush();try{O.unmount()}catch{}a(P)})())},D=0,S={current:null},I=()=>{if(D+=1,D>=2){process.removeListener("SIGINT",E);try{O.unmount()}catch{}a(130)}},E=()=>{I(),S.current?.()};process.on("SIGINT",E);let O=s((0,p.jsxs)(R,{children:[(0,p.jsx)($,{into:g}),(0,p.jsx)(we,{controller:w,cards:i,note:b,markOutcome:n,routeChat:f,listEvolveTargets:v,barSubject:e.barSubject,onFinish:W,onCtrlC:I,pauseRef:S})]}),{exitOnCtrlC:!1})})}export{we as WalkSessionSurface,ce as outcomeToMark,Xe as runWalkSession};