@testmuai/kane-cli 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ChatSurface-QLRMFZJG.js → ChatSurface-B2QJYKV4.js} +1 -1
- package/dist/{ChromeProfilePicker-FJOUNY2B.js → ChromeProfilePicker-FSZB4SZR.js} +1 -1
- package/dist/{CliFeedbackPrompt-HC4NNBTK.js → CliFeedbackPrompt-WNMDCIHZ.js} +1 -1
- package/dist/{CliUploadProgress-VIEZQNZ5.js → CliUploadProgress-H4265KXU.js} +1 -1
- package/dist/{ConfigView-LK5F4F7W.js → ConfigView-XCUZ44SP.js} +1 -1
- package/dist/{EvidenceViewOffer-HZ4WZKGM.js → EvidenceViewOffer-5TJCRM2T.js} +1 -1
- package/dist/{FolderPicker-3S57MSC6.js → FolderPicker-S2XVCPYN.js} +1 -1
- package/dist/{HelpView-BQ3TS7WE.js → HelpView-OPKRGNNM.js} +1 -1
- package/dist/{InfoBox-4HVXV3TD.js → InfoBox-TW2PGJK5.js} +1 -1
- package/dist/{LinksBox-3B2KO5S4.js → LinksBox-66M7XP5Y.js} +1 -1
- package/dist/{ProfilesView-FLRMROUR.js → ProfilesView-T2CFQPR5.js} +1 -1
- package/dist/{ProjectPicker-R3KLRGHH.js → ProjectPicker-7ALN52CY.js} +1 -1
- package/dist/{SaveSessionPrompt-P7HSG7R7.js → SaveSessionPrompt-HM3F6QML.js} +1 -1
- package/dist/SingleShotApp-YQYS6HTB.js +2 -0
- package/dist/{SummaryBox-HCDIWKPS.js → SummaryBox-BQZEGOIV.js} +1 -1
- package/dist/TestMdRunView-7CL3PM3J.js +2 -0
- package/dist/{WhoamiView-ZD6FIBMK.js → WhoamiView-722MBPSG.js} +1 -1
- package/dist/{bind-RSVQXQJT.js → bind-HNI5LCNK.js} +2 -2
- package/dist/{bridge-D2HETW5M.js → bridge-V4FF5QPK.js} +1 -1
- package/dist/{changelog-QB7S4VV4.js → changelog-KMYZW5MI.js} +1 -1
- package/dist/{chunk-35RV2AAV.js → chunk-2Z5MSC23.js} +1 -1
- package/dist/{chunk-ELN3EN4K.js → chunk-345PY4SZ.js} +1 -1
- package/dist/{chunk-GO4CBUB6.js → chunk-3YI4QRXF.js} +1 -1
- package/dist/{chunk-K7P6VNLI.js → chunk-4BAL4OGF.js} +1 -1
- package/dist/{chunk-BSFONZ2E.js → chunk-4CKZAGBD.js} +1 -1
- package/dist/{chunk-3BIEIXJK.js → chunk-4FH2KFRT.js} +1 -1
- package/dist/{chunk-YKZIACYJ.js → chunk-7BCZLDNX.js} +1 -1
- package/dist/{chunk-ATO6NM45.js → chunk-AU7WQ2O5.js} +2 -2
- package/dist/{chunk-D5IZ77YG.js → chunk-CLYG26XV.js} +2 -2
- package/dist/{chunk-F4FXE466.js → chunk-DKERZJYF.js} +1 -1
- package/dist/{chunk-BUVRZXO3.js → chunk-DPOES6G3.js} +1 -1
- package/dist/{chunk-Q3WHZ26R.js → chunk-EASTDHNW.js} +1 -1
- package/dist/{chunk-D4WLVWJQ.js → chunk-EWLLPUP4.js} +1 -1
- package/dist/{chunk-N5YIMTGV.js → chunk-F42YVALT.js} +1 -1
- package/dist/{chunk-B22NUHB2.js → chunk-FFHBQK5N.js} +2 -2
- package/dist/{chunk-VRVSOGXH.js → chunk-FT4G3QGO.js} +1 -1
- package/dist/{chunk-NKCXCCPM.js → chunk-FVM7TWKT.js} +1 -1
- package/dist/{chunk-A6TFZQV6.js → chunk-G6F2BOFT.js} +1 -1
- package/dist/{chunk-AXJIXRYF.js → chunk-GBYH35H5.js} +1 -1
- package/dist/{chunk-VZHXNQDO.js → chunk-GNNMHYWE.js} +1 -1
- package/dist/{chunk-TBXIOT6M.js → chunk-IWBPV3VS.js} +1 -1
- package/dist/{chunk-66LXV7NN.js → chunk-JHAGEBKE.js} +1 -1
- package/dist/{chunk-TRXNJZSL.js → chunk-LMMOR7CR.js} +1 -1
- package/dist/{chunk-EQORZ6RT.js → chunk-LRA3V5GY.js} +1 -1
- package/dist/{chunk-5VC7MBHR.js → chunk-MXLXKHW4.js} +1 -1
- package/dist/{chunk-HCWEZCKP.js → chunk-NIKA2V6B.js} +1 -1
- package/dist/{chunk-EYZWG32F.js → chunk-O4HWPV67.js} +2 -2
- package/dist/{chunk-JKHQBGFY.js → chunk-OAEZKYYQ.js} +2 -2
- package/dist/{chunk-OYOTWI53.js → chunk-OV2W7KBC.js} +1 -1
- package/dist/{chunk-6WHKJSMJ.js → chunk-P4SE6YON.js} +1 -1
- package/dist/{chunk-PV4EDQY4.js → chunk-QB4IOM3X.js} +1 -1
- package/dist/{chunk-BLHCGRSK.js → chunk-QM3XF5TW.js} +1 -1
- package/dist/{chunk-MEHEGW3V.js → chunk-QTHITA73.js} +1 -1
- package/dist/{chunk-K4ERF7GT.js → chunk-QZJID3OZ.js} +1 -1
- package/dist/{chunk-GFKIE3AL.js → chunk-QZNUTCSD.js} +1 -1
- package/dist/{chunk-IQFUBT6Z.js → chunk-R65HNFRB.js} +1 -1
- package/dist/{chunk-YEMR62WY.js → chunk-RLICAFFQ.js} +1 -1
- package/dist/{chunk-NVGTSXCJ.js → chunk-RQM3DUSB.js} +1 -1
- package/dist/{chunk-K4LCN5X4.js → chunk-SORKKW7B.js} +1 -1
- package/dist/{chunk-YTK3IQUB.js → chunk-T2ULEJK7.js} +1 -1
- package/dist/{chunk-QOGQBVTP.js → chunk-T4WZWKIU.js} +1 -1
- package/dist/{chunk-FCZ2YFD3.js → chunk-TACPTX64.js} +2 -2
- package/dist/{chunk-NKUA3TSO.js → chunk-U5QTE3WX.js} +1 -1
- package/dist/{chunk-TAUSKB3O.js → chunk-U6TLLYRG.js} +1 -1
- package/dist/{chunk-PXPXK4Q7.js → chunk-VCYVSKPM.js} +1 -1
- package/dist/{chunk-XSAZDIQV.js → chunk-VXLOEM2U.js} +1 -1
- package/dist/{chunk-QZ7DZXLQ.js → chunk-XTO236AL.js} +2 -2
- package/dist/{chunk-27GF2OQ7.js → chunk-YY6WPFMT.js} +3 -3
- package/dist/{chunk-QFD6CB4P.js → chunk-ZA4GR5R7.js} +1 -1
- package/dist/{config-JV7HNJ3I.js → config-Z4OS3HEE.js} +1 -1
- package/dist/{credentials-TQW3TT2I.js → credentials-TNEVAUHI.js} +1 -1
- package/dist/{evidence-ZFYDHO73.js → evidence-MA3LDBWG.js} +1 -1
- package/dist/{evolve-cmd-YGJECGND.js → evolve-cmd-DTW4EOXM.js} +1 -1
- package/dist/{extract-bind-7UZXDON6.js → extract-bind-DZLG4GUE.js} +2 -2
- package/dist/{extract-cmd-TQ2MYXOG.js → extract-cmd-LFVMG6UE.js} +1 -1
- package/dist/{generate-headless-XXECVP6L.js → generate-headless-TYQRYQKJ.js} +2 -2
- package/dist/index.js +12 -12
- package/dist/{interactive-bind-WA2YVAUW.js → interactive-bind-QEBWUJCN.js} +2 -2
- package/dist/{list-commands-I577A5LK.js → list-commands-BU2MSYRH.js} +1 -1
- package/dist/login-flow-4L62GWLT.js +2 -0
- package/dist/{persist-recorded-session-DT3K6ZYQ.js → persist-recorded-session-RAL7UCQT.js} +1 -1
- package/dist/{pipeline-5N7HWGAL.js → pipeline-PLI5WQKX.js} +1 -1
- package/dist/{reconcile-cmd-HYYH3SZS.js → reconcile-cmd-UXY36ROJ.js} +1 -1
- package/dist/{recording-banner-QI77ERTZ.js → recording-banner-MBR3Q7VD.js} +1 -1
- package/dist/{require-project-folder-2UAXXZA4.js → require-project-folder-KE7XOOFN.js} +1 -1
- package/dist/{run-VMKZDO7J.js → run-5DQSL5KH.js} +1 -1
- package/dist/{run-RYIYWV63.js → run-B7BRNC3X.js} +1 -1
- package/dist/{run-test-md-DKRJOUFA.js → run-test-md-ZCAWNP35.js} +2 -2
- package/dist/{skill-installer-TK5REDD6.js → skill-installer-H5DPJJFW.js} +1 -1
- package/dist/{spawner-K7LWPNIC.js → spawner-C6B5J73J.js} +1 -1
- package/dist/tcg-generate-DIMZXAV3.js +2 -0
- package/dist/{testmd-actions-Q2XWL7P5.js → testmd-actions-X6XCV53D.js} +1 -1
- package/dist/token-refresh-7PAPCMQK.js +2 -0
- package/dist/{validate-basic-XEJGB4GN.js → validate-basic-VBPGGHES.js} +1 -1
- package/dist/{version-check-IT7T5YKJ.js → version-check-YPRCQJ7E.js} +1 -1
- package/dist/{walk-session-HCTG4LN2.js → walk-session-GWOP27TX.js} +1 -1
- package/package.json +6 -6
- package/dist/SingleShotApp-ZBZY7KGR.js +0 -2
- package/dist/TestMdRunView-GQP2QGFU.js +0 -2
- package/dist/login-flow-OVEZXSMW.js +0 -2
- package/dist/tcg-generate-6EJLU5KX.js +0 -2
- package/dist/token-refresh-NQZJEUQE.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as b}from"./chunk-
|
|
2
|
+
import{a as b}from"./chunk-QTHITA73.js";import{n as d,y as o}from"./chunk-VCYVSKPM.js";import{a as L}from"./chunk-HCBYKLMW.js";import{a as u,b as c,i as A}from"./chunk-C44QQJR4.js";import{a as D}from"./chunk-6YGTRKDT.js";import{e as h}from"./chunk-UR6MHSHU.js";var x=h(D(),1);import{readdirSync as N,mkdirSync as B,statSync as k}from"fs";import{join as P}from"path";var r=h(L(),1);function O(n){try{return N(n).filter(l=>{try{return k(P(n,l)).isDirectory()}catch{return!1}})}catch{return[]}}function E(n,l,f,v){return{name:n,path:l,label:n,isActive:v}}function H({currentPath:n,onSelect:l,onCancel:f}){let s=O(d).map(i=>{let e=P(d,i);return E(i,e,n,e===n)}),p=!n,R=s.length+2,[a,C]=(0,x.useState)(()=>{if(p)return 0;let i=s.findIndex(e=>e.isActive);return i>=0?i+1:0}),[T,I]=(0,x.useState)(!1),[S,g]=(0,x.useState)("");return A((i,e)=>{if(T){if(e.escape){I(!1),g("");return}if(e.return){let t=S.trim();if(t){let m=P(d,t);B(m,{recursive:!0}),l(m),f()}return}if(e.backspace||e.delete){g(t=>t.slice(0,-1));return}i&&!e.ctrl&&!e.meta&&g(t=>t+i);return}if(e.escape){f();return}if(e.upArrow){C(t=>Math.max(0,t-1));return}if(e.downArrow){C(t=>Math.min(R-1,t+1));return}if(e.return){if(a===0){p||l(""),f();return}if(a===s.length+1){B(d,{recursive:!0}),I(!0),g("");return}let t=s[a-1];t&&!t.isActive&&l(t.path),f();return}}),T?(0,r.jsxs)(u,{flexDirection:"column",borderStyle:"round",borderColor:o.orange,paddingX:2,paddingY:1,children:[(0,r.jsx)(c,{color:o.orange,bold:!0,children:"Chrome Profile \u203A New"}),(0,r.jsxs)(u,{marginTop:1,children:[(0,r.jsx)(c,{color:o.secondary,children:"Name: "}),(0,r.jsx)(c,{children:S}),(0,r.jsx)(c,{color:o.dim,children:"\u2588"})]}),(0,r.jsx)(b,{bindings:[{keys:"\u21B5",label:"create"}],escBackLabel:"back"})]}):(0,r.jsxs)(u,{flexDirection:"column",borderStyle:"round",borderColor:o.orange,paddingX:2,paddingY:1,children:[(0,r.jsx)(c,{color:o.orange,bold:!0,children:"Chrome Profile"}),(0,r.jsxs)(u,{flexDirection:"column",marginTop:1,children:[(0,r.jsxs)(c,{color:p?o.green:a===0?o.orange:o.dim,children:[a===0?"\u276F ":" ","Use temporary (no profile)",p?" \u25CF active":""]}),s.map((i,e)=>{let m=e+1===a,w=m?"\u276F ":" ",y=i.isActive?o.green:m?o.orange:void 0;return(0,r.jsxs)(c,{color:y,children:[w,i.label,i.isActive?" \u25CF active":""]},i.name)}),(0,r.jsxs)(c,{color:a===s.length+1?o.orange:o.dim,children:[a===s.length+1?"\u276F ":" ","+ Create new"]})]}),(0,r.jsx)(b,{bindings:[{keys:"\u2191\u2193",label:"navigate"},{keys:"\u21B5",label:"select"}],escBackLabel:"back"})]})}export{O as a,E as b,H as c};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a}from"./chunk-
|
|
2
|
+
import{a}from"./chunk-QZJID3OZ.js";import"./chunk-VCYVSKPM.js";import"./chunk-UR6MHSHU.js";export{a as getEnvironment};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a}from"./chunk-
|
|
2
|
+
import{a}from"./chunk-DPOES6G3.js";import"./chunk-VCYVSKPM.js";import"./chunk-UR6MHSHU.js";export{a as CredentialsManager};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{$ as fa,A as J,B as K,C as L,D as M,E as N,F as O,G as P,H as Q,L as R,M as S,N as T,O as U,P as V,Q as W,R as X,S as Y,T as Z,U as _,V as $,W as aa,X as ba,Y as ca,Z as da,_ as ea,a,aa as ga,b,ba as ha,c,ca as ia,d,e,f,g,h,i,j,k as t,l as u,m as v,n as w,o as x,p as y,q as z,r as A,s as B,t as C,u as D,v as E,w as F,x as G,y as H,z as I}from"./chunk-
|
|
2
|
+
import{$ as fa,A as J,B as K,C as L,D as M,E as N,F as O,G as P,H as Q,L as R,M as S,N as T,O as U,P as V,Q as W,R as X,S as Y,T as Z,U as _,V as $,W as aa,X as ba,Y as ca,Z as da,_ as ea,a,aa as ga,b,ba as ha,c,ca as ia,d,e,f,g,h,i,j,k as t,l as u,m as v,n as w,o as x,p as y,q as z,r as A,s as B,t as C,u as D,v as E,w as F,x as G,y as H,z as I}from"./chunk-O4HWPV67.js";import"./chunk-FCMLIK7P.js";import{a as n,b as o,c as p,e as q,f as r,g as s}from"./chunk-CJJXT5DO.js";import"./chunk-QM4S2APK.js";import"./chunk-ZPDM6FO7.js";import"./chunk-BC7UVJJB.js";import"./chunk-NVGBE2DR.js";import{a as k,b as l,c as m}from"./chunk-EHN5HTUD.js";import"./chunk-L5LI2JF4.js";import"./chunk-LEA6IHXC.js";import"./chunk-RGDQMKNJ.js";import"./chunk-L3HG5ONB.js";import"./chunk-L4JIMNKW.js";import"./chunk-MBXWXBDM.js";import"./chunk-IAHKTEET.js";import"./chunk-5YPBPZUR.js";import"./chunk-QZJID3OZ.js";import"./chunk-VCYVSKPM.js";import"./chunk-UR6MHSHU.js";export{P as EvidenceSession,C as appendExecutionPointer,M as assembleExecutionEnv,i as buildEnvironment,j as buildEvidenceRunConfig,g as buildExternalId,z as buildLogsMetaYaml,y as buildResultYaml,t as buildRunYaml,O as createCdpBrowserCapture,u as createRunningPack,v as createRunningPackRoot,H as declareLogsFromDir,J as diagnostics,x as discardPack,ba as ensureAuteurExecution,N as fetchCdpBrowserString,L as finalizeEvidencePack,U as finalizeInlineEvidence,K as finalizeMemberTestLogs,da as flattenAuteurLeafIds,ca as flattenAuteurLeaves,T as inlineEvidenceBlock,q as listPacks,p as newExecutionId,h as normalizeOs,S as noteInlineSpawn,$ as offerEvidenceView,o as packPath,I as packTestLogsDir,V as parseRange,D as readExecutionPointers,ia as readPackLeafIds,ha as readPackLeaves,s as recoverStore,fa as remapReplayActionIds,r as resolvePack,ga as resolveReplayResultSteps,F as rollupTestStatus,aa as runEvidenceMerge,_ as runEvidenceServe,E as runEvidenceValidate,Q as runStartupRecovery,l as sealPack,w as sealPackById,Z as serveHint,d as shortHash,c as slugify,W as startEvidenceLocalServer,R as startInlineEvidence,n as storeDir,m as sweepStore,ea as synthesizeSkippedTail,f as testIdForInline,e as testIdForTestmd,k as validatePack,a as verdictFromResultCode,X as viewerBaseFor,Y as viewerUrlFor,b as worstOf,G as worstResultCode,B as writeLogsMeta,A as writeResult};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a,b,c,d,e,f,g}from"./chunk-
|
|
2
|
+
import{a,b,c,d,e,f,g}from"./chunk-T4WZWKIU.js";import"./chunk-GRB66C5S.js";import"./chunk-3C5GMAM4.js";import"./chunk-JFAFKHDX.js";import"./chunk-DNNZ353O.js";import"./chunk-RN4OSVTG.js";import"./chunk-BC7UVJJB.js";import"./chunk-NVGBE2DR.js";import"./chunk-LEA6IHXC.js";import"./chunk-RGDQMKNJ.js";import"./chunk-L3HG5ONB.js";import"./chunk-L4JIMNKW.js";import"./chunk-MBXWXBDM.js";import"./chunk-IAHKTEET.js";import"./chunk-5YPBPZUR.js";import"./chunk-UR6MHSHU.js";export{b as designStateOf,g as evolveCommand,c as evolveOneUc,f as liveRunDesignForUc,a as resolveParentUc,e as runEvolveCommand,d as staleTargets};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as N}from"./chunk-3C5GMAM4.js";import{d as j,e as v}from"./chunk-
|
|
2
|
+
import{a as N}from"./chunk-3C5GMAM4.js";import{d as j,e as v}from"./chunk-2Z5MSC23.js";import"./chunk-K5JGCJ2K.js";import"./chunk-RQM3DUSB.js";import"./chunk-FXPPQL4D.js";import"./chunk-GG43HSU2.js";import"./chunk-JFAFKHDX.js";import"./chunk-OSALXGD4.js";import"./chunk-DNNZ353O.js";import{c as I}from"./chunk-YKTYVJBN.js";import"./chunk-CVOGP253.js";import"./chunk-427OQS2N.js";import{a as k}from"./chunk-P4SE6YON.js";import{d as R}from"./chunk-7BCZLDNX.js";import{c as F}from"./chunk-RN4OSVTG.js";import{a as M}from"./chunk-BC7UVJJB.js";import"./chunk-NVGBE2DR.js";import"./chunk-LEA6IHXC.js";import"./chunk-RGDQMKNJ.js";import"./chunk-L3HG5ONB.js";import"./chunk-L4JIMNKW.js";import"./chunk-MBXWXBDM.js";import"./chunk-IAHKTEET.js";import"./chunk-5YPBPZUR.js";import"./chunk-VCYVSKPM.js";import"./chunk-UR6MHSHU.js";async function Q(i){let[{render:s},e,{QuestionBatchPrompt:a}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),d=e.default??e;return new Promise(r=>{let f=s(d.createElement(a,{questions:i,onSubmit:p=>{f.unmount(),r(p)}}))})}async function U(i,s){let[{render:e},a,{ReviewChecklist:d}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),r=a.default??a;return new Promise(f=>{let p=e(r.createElement(d,{items:i.map(h=>{let c=s.get(h.temp_ref);return{uc:h,dedupWith:c&&!c.archived?c.cid:void 0,archivedMatch:c?.archived?{cid:c.cid,reason:c.reason}:void 0}}),onSubmit:h=>{p.unmount(),f(h)}}))})}async function q(i){let{createInterface:s}=await import("readline/promises"),e=s({input:process.stdin,output:process.stdout});try{let a=await e.question(`${i} [y/N] `);return/^y(es)?$/i.test(a.trim())}finally{e.close()}}async function te(i){let s=await R(),e=M(process.cwd()),a=await I(s);if(!a.ok)return process.stderr.write((a.message??"error: turn-endpoint preflight failed")+`
|
|
3
3
|
`),2;let d=async()=>a;if(i.plan)return v(i,{contextDir:e,agent:k,preflightTurn:d,ask:Q,review:U,confirmStale:q,out:n=>process.stdout.write(n+`
|
|
4
4
|
`),progress:n=>process.stderr.write(n+`
|
|
5
|
-
`),isTTY:F(),auth:s});let[{render:r},f,{ScrollbackProvider:p},{ChatSurface:h},{ScrollbackTap:c},{makeChatController:o},{setInkExit:P},C]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-
|
|
5
|
+
`),isTTY:F(),auth:s});let[{render:r},f,{ScrollbackProvider:p},{ChatSurface:h},{ScrollbackTap:c},{makeChatController:o},{setInkExit:P},C]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-B2QJYKV4.js"),import("./ScrollbackTap-Q3IOKNMS.js"),import("./chat-controller-YX5A7R52.js"),import("./exit-manager-VCSIUYBR.js"),Promise.all([import("./chat-committer-MWZ4JQMM.js"),import("./descriptor-KXDJ4XYD.js"),import("./explain-VTRHEVUQ.js"),import("./readmodel-V3DVL6NP.js")])]),[{commitChatTurn:G},{topologyDescriptor:Y},{explain:z},{openGraph:y}]=C,E=f.default??f,l=o({commitChatTurn:G,descriptor:Y(),contextDir:e,refreshGraph:()=>y(e),graph:y(e),explain:z,by:{kind:"human",id:"owner"},dedupFlags:n=>j(n,y(e))}),D={current:null},V=0,S=null,x=!1,H=()=>{if(V+=1,V>=2){try{b.unmount()}catch{}process.exit(130)}l.requestPause(),S=setTimeout(()=>{x||(x=!0,(async()=>{l.ledger({kind:"interrupted",detail:"the agent did not confirm the pause within 5s"}),await D.current?.flush();try{b.unmount()}catch{}process.exit(130)})())},5e3)},$=await import("./dossier-ZHSHATVU.js"),L=n=>{try{return $.buildDossier(y(e),n)}catch{return null}},O={listUcs:()=>{let n=y(e),m=new Set(l.state.turns.flatMap(t=>(t.items??[]).map(u=>u.title.toLowerCase()))),w={high:0,med:1,low:2};return n.byLabel("usecase").filter(t=>!n.superseded.has(t.cid)).map((t,u)=>{let g=t.content,T=String(g.title??t.cid.slice(0,12)),_=N(n,t.cid),A=_?_.designed_at_cid===t.cid?"current":"stale":void 0;return{key:t.cid,title:T,badge:A==="current"?"designed":A==="stale"?"designed \xB7 stale":m.has(T.toLowerCase())?"drafted this session":"existing",designed:A,risk:g.risk,i:u}}).sort((t,u)=>(w[t.risk??"zz"]??3)-(w[u.risk??"zz"]??3)||t.i-u.i).map(({key:t,title:u,badge:g,designed:T})=>({key:t,title:u,badge:g,designed:T}))},runDesignChild:async(n,m=!1)=>{let[{runDesign:w}]=await Promise.all([import("./run-5DQSL5KH.js")]),t="",u=await w({useCase:n,force:m,mode:"interactive"},{contextDir:e,agent:k,preflightTurn:d,ask:g=>l.ask(g),chat:l,nested:!0,out:g=>{t=g},progress:()=>{},isTTY:!0,auth:s});return u!==0&&t&&l.note(t),u}},b=r(E.createElement(p,null,E.createElement(c,{into:D}),E.createElement(h,{controller:l,verb:"extract",onCtrlC:H,chain:O,inspect:L})),{exitOnCtrlC:!1});P(()=>b.unmount()),l.ledger({kind:"banner",text:"kane-cli context \xB7 extract \xB7 interactive"});try{let n=v(i,{contextDir:e,agent:k,preflightTurn:d,ask:m=>l.ask(m),review:async m=>new Map(m.map(w=>[w.temp_ref,{resolution:"skipped"}])),confirmStale:async()=>!0,out:m=>l.note(m),progress:()=>{},isTTY:F(),auth:s,chat:l});return n.finally(()=>{x=!0}),await n}finally{x=!0,S&&clearTimeout(S),await D.current?.flush();try{b.unmount()}catch{}}}async function re(i){let s=await R(),{makeHeadlessIO:e,resolveEncoding:a,guardedChannels:d}=await import("./headless-io-PWW6YKH2.js"),r=e(a(i.mode),"extract"),{makeInterruptGuard:f}=await import("./interrupt-guard-UREUWNRL.js"),p=f(k,o=>r.out(o)),c=d(r,()=>p.interrupted(),/^error: (agent failed|repair run failed|agent ended)/);try{let o=await v(i,{contextDir:M(process.cwd()),agent:p.agent,preflightTurn:()=>I(s),ask:async()=>[],review:async P=>new Map(P.map(C=>[C.temp_ref,{resolution:"skipped"}])),confirmStale:async()=>!1,out:c.out,emit:c.emit,progress:r.progress,isTTY:!1,auth:s});return p.interrupted()&&o!==3?(r.out("interrupted \u2014 no session saved"),r.done(130)):r.done(o)}catch(o){return r.event({type:"error",message:`error: extract failed: ${o instanceof Error?o.message:String(o)}`}),r.out(`error: extract failed: ${o instanceof Error?o.message:String(o)}`),r.out("hint: per-run trace logs live under .context/logs/ (extract-*.log)"),r.done(1)}finally{p.dispose()}}export{re as bindExtractHeadless,te as bindExtractInteractive};
|
|
@@ -3,4 +3,4 @@ import{a as s}from"./chunk-BC7UVJJB.js";import"./chunk-UR6MHSHU.js";import{exist
|
|
|
3
3
|
`),2;let n=async(r,t)=>{if(process.stderr.write(r+`
|
|
4
4
|
`),e.mode!=="agent")return 2;let{makeHeadlessIO:a,agentRefusal:c}=await import("./headless-io-PWW6YKH2.js");return c(a("ndjson","extract"),r,t)};if(e.apply)return n("extract: --apply is not implemented yet \u2014 coming with the plan\u2192apply workflow (run without --apply, or use --plan to preview)");{let{validateResumeMessage:r}=await import("./headless-io-PWW6YKH2.js"),t=r(e,"extract");if(t)return n(t)}if(!d(s(process.cwd())))return n("error: no context store here (run `kane-cli context ingest <files>` first)","NO_STORE");if(!e.mode&&!process.stdin.isTTY)return process.stderr.write(`extract: no TTY \u2014 pass an explicit --mode agent|ci|override to run headless
|
|
5
5
|
`),2;let i=e.mode??"interactive";if(i==="interactive"){if(!process.stdin.isTTY||!process.stdout.isTTY)return process.stderr.write(`extract: --mode interactive needs a TTY on stdin and stdout (use --mode agent|ci|override headless)
|
|
6
|
-
`),2;let{bindExtractInteractive:r}=await import("./extract-bind-
|
|
6
|
+
`),2;let{bindExtractInteractive:r}=await import("./extract-bind-DZLG4GUE.js");return r(e)}let{bindExtractHeadless:o}=await import("./extract-bind-DZLG4GUE.js");return o({...e,mode:i})}export{l as extractCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p as F,r as z,s as C,t as _,u as O,v as K}from"./chunk-
|
|
2
|
+
import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p as F,r as z,s as C,t as _,u as O,v as K}from"./chunk-AU7WQ2O5.js";import{b as k}from"./chunk-RLICAFFQ.js";import{d as J}from"./chunk-EWLLPUP4.js";import{c as E}from"./chunk-R65HNFRB.js";import"./chunk-4BAL4OGF.js";import{a as q}from"./chunk-FVM7TWKT.js";import"./chunk-QZNUTCSD.js";import"./chunk-U5QTE3WX.js";import"./chunk-FPFOW6BS.js";import"./chunk-WAOCHXJ5.js";import"./chunk-L5LI2JF4.js";import{e as x,f as A}from"./chunk-M5JQXOCE.js";import{h as H}from"./chunk-T2ULEJK7.js";import"./chunk-2WVKOZ6W.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import{a as R}from"./chunk-QZJID3OZ.js";import"./chunk-VE3SUJMA.js";import{a as j}from"./chunk-DPOES6G3.js";import"./chunk-VCYVSKPM.js";import"./chunk-UR6MHSHU.js";import{join as se}from"path";async function V(t){let e=t.projectId,n=t.folderId,r=null;if(!e&&t.autoResolve){let l=await t.resolver.resolve();if(!l)throw new $("unauthorized; run `kane-cli login`");let u=await H({creds:t.autoResolve.creds,config:t.autoResolve.config,profile:t.autoResolve.profile,env:t.autoResolve.envName,tmsCreds:{username:l.username,access_key:l.access_key},isLocal:!1,log:t.log});u.status==="ok"&&(e=u.projectId,n=n??u.folderId,u.autoDefaulted&&(r={projectId:u.autoDefaulted.projectId,projectName:u.autoDefaulted.projectName,folderId:u.autoDefaulted.folderId,folderName:u.autoDefaulted.folderName}))}return{baseUrl:`${t.env.testGeneratorBaseUrl}/test-generator/api/v2`,tmsBaseUrl:t.env.tmsBaseUrl,authResolver:t.resolver,projectId:e,folderId:n,suiteName:t.suiteName,autoDefaulted:r,log:t.log}}function Z(t){return t.reduce((e,n)=>e+(n.test_cases?.length??0),0)}var y=class{constructor(e=n=>process.stdout.write(n)){this.write=e}emit(e){this.write(JSON.stringify(e)+`
|
|
3
3
|
`)}onStart(e){this.emit({type:"generate_start",request_id:e.requestId,objective_chars:e.objectiveChars,scenario_limit:e.scenarioLimit,per_scenario_limit:e.perScenarioLimit,is_refine:e.isRefine})}onUpload(e){this.emit({type:"generate_upload",file:e.file,index:e.index,total:e.total,status:e.status})}onThinking(e){this.emit({type:"generate_thinking",took_ms:e.tookMs})}onProgress(e){this.emit({type:"generate_progress",pct:e})}onSnapshot(e){this.emit({type:"generate_snapshot",scenario_count:e.scenarios.length,case_count:Z(e.scenarios),scenarios:e.scenarios})}onClarification(e){this.emit({type:"generate_clarification",text:e})}onChat(e){this.emit({type:"generate_chat",text:e})}onError(e){this.emit({type:"error",message:e})}onSaveResult(e){this.emit({type:"generate_save_result",suite_dir:e.suiteDir,saved:e.saved,fell_back:e.fellBack,...e.warning?{warning:e.warning}:{}})}onDone(e){this.emit({type:"generate_done",request_id:e.requestId,status:e.status,scenario_count:e.scenarioCount,case_count:e.caseCount,refine_hint:e.refineHint,save_hint:e.saveHint,...e.suiteDir?{suite_dir:e.suiteDir}:{}})}onUpdateAvailable(e){this.emit({type:"update_available",current:e.current,latest:e.latest,severity:e.severity})}},S=class{constructor(e=n=>process.stdout.write(n)){this.write=e}onStart(e){let n=e.isRefine?"Refining":"Generating";this.write(`${n} (request ${e.requestId})\u2026
|
|
4
4
|
`)}onUpload(e){e.status==="uploading"&&this.write(` uploading ${e.file} (${e.index}/${e.total})
|
|
5
5
|
`)}onThinking(e){let n=e.tookMs?` (${Math.round(e.tookMs/1e3)}s)`:"";this.write(` thinking${n}
|
|
@@ -16,6 +16,6 @@ import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p a
|
|
|
16
16
|
`),this.write(` Save: ${e.saveHint}
|
|
17
17
|
`),e.suiteDir&&this.write(` Saved: ${e.suiteDir}
|
|
18
18
|
`)}onUpdateAvailable(e){this.write(`(update available: ${e.current} \u2192 ${e.latest})
|
|
19
|
-
`)}};import{createHash as ee}from"crypto";function te(t){return ee("sha1").update(JSON.stringify({t:t.title,p:t.preconditions,m:t.manual_steps})).digest("hex")}function re(t){let e=[];for(let n of t.scenarios)for(let r of n.test_cases??[])I(r)&&r.manual_steps!=null&&e.push(r);return e}async function ne(t,e,n){let r=new Array(t.length),l=0,u=Array.from({length:Math.min(e,t.length)},async()=>{for(;;){let d=l++;if(d>=t.length)return;try{r[d]={ok:!0,value:await n(t[d])}}catch{r[d]={ok:!1}}}});return await Promise.all(u),r}async function Y(t,e,n){let r=re(t),l=n.run??(async(c,s)=>{let m=await n.resolveAuth(),o=U({objective:c,model:n.model,sessionId:n.sessionId,auth:m});return F(o,n.spawnOpts,s)}),u=r.map(te),d=[...new Set(u)],g=new Map;d.forEach(c=>{g.set(c,r[u.indexOf(c)])});let p=d.map(c=>g.get(c)),v=await ne(p,n.concurrency??3,c=>l(L(c))),i=new Map;d.forEach((c,s)=>{let m=v[s];m.ok&&i.set(c,m.value)});let f=new Map;r.forEach((c,s)=>{f.set(c.id,i.get(u[s]))});let a=0;for(let c of t.scenarios)for(let s of c.test_cases??[])I(s)&&!f.get(s.id)&&a++;let w=c=>{let s=f.get(c.id);return s?N(s,c):M(c)};return{...await B(t,e,{suiteName:n.suiteName,redirectBareCwd:!1},w),fellBack:a}}function Pe(t,e){let n=!!t.agent||!!t.refine||!!t.save||!e,r=t.agent?"agent":"plain";return{headless:n,mode:r}}function $e(t){return t.refine&&t.save?{error:"use --refine or --save, not both"}:t.save?t.objective?{error:"--save takes no objective; use --refine to add to a request"}:t.req?{op:"save"}:{error:"--save requires --req <id>"}:t.refine?t.req?t.objective?t.out?{error:"--out is only valid with --save"}:{op:"refine"}:{error:"--refine needs a refinement objective"}:{error:"--refine requires --req <id>"}:t.req?{error:"--req requires --refine or --save"}:t.out?{error:"--out is only valid with --save"}:t.objective?{op:"new"}:{error:"provide an objective, or use --refine/--save with --req"}}function ie(){return se(process.cwd(),".testmuai","tests")}function Ge(t){if(typeof t!="string")return;let e=t.split(",").map(n=>n.trim()).filter(Boolean);return e.length?e:void 0}var X="tcg-generate-headless";function Q(t){return{refineHint:`kane-cli generate "<refinement>" --refine --req ${t}`,saveHint:`kane-cli generate --save --req ${t}`}}function W(t){return t.scenarios.reduce((e,n)=>e+(n.test_cases?.length??0),0)}function oe(t){return t==="completed"?0:t==="stopped"?3:1}async function Ne(t,e){let n=e.write??(i=>process.stdout.write(i)),r=e.sink??(e.mode==="agent"?new y(n):new S(n)),l,u,d=null;try{let i=await e.makeClient();l=i.client,u=i.conn,d=i.autoDefaulted}catch(i){return r.onError(i.message),2}if(e.mode==="agent"&&d){let{buildAutoDefaultedNdjson:i}=await import("./require-project-folder-
|
|
19
|
+
`)}};import{createHash as ee}from"crypto";function te(t){return ee("sha1").update(JSON.stringify({t:t.title,p:t.preconditions,m:t.manual_steps})).digest("hex")}function re(t){let e=[];for(let n of t.scenarios)for(let r of n.test_cases??[])I(r)&&r.manual_steps!=null&&e.push(r);return e}async function ne(t,e,n){let r=new Array(t.length),l=0,u=Array.from({length:Math.min(e,t.length)},async()=>{for(;;){let d=l++;if(d>=t.length)return;try{r[d]={ok:!0,value:await n(t[d])}}catch{r[d]={ok:!1}}}});return await Promise.all(u),r}async function Y(t,e,n){let r=re(t),l=n.run??(async(c,s)=>{let m=await n.resolveAuth(),o=U({objective:c,model:n.model,sessionId:n.sessionId,auth:m});return F(o,n.spawnOpts,s)}),u=r.map(te),d=[...new Set(u)],g=new Map;d.forEach(c=>{g.set(c,r[u.indexOf(c)])});let p=d.map(c=>g.get(c)),v=await ne(p,n.concurrency??3,c=>l(L(c))),i=new Map;d.forEach((c,s)=>{let m=v[s];m.ok&&i.set(c,m.value)});let f=new Map;r.forEach((c,s)=>{f.set(c.id,i.get(u[s]))});let a=0;for(let c of t.scenarios)for(let s of c.test_cases??[])I(s)&&!f.get(s.id)&&a++;let w=c=>{let s=f.get(c.id);return s?N(s,c):M(c)};return{...await B(t,e,{suiteName:n.suiteName,redirectBareCwd:!1},w),fellBack:a}}function Pe(t,e){let n=!!t.agent||!!t.refine||!!t.save||!e,r=t.agent?"agent":"plain";return{headless:n,mode:r}}function $e(t){return t.refine&&t.save?{error:"use --refine or --save, not both"}:t.save?t.objective?{error:"--save takes no objective; use --refine to add to a request"}:t.req?{op:"save"}:{error:"--save requires --req <id>"}:t.refine?t.req?t.objective?t.out?{error:"--out is only valid with --save"}:{op:"refine"}:{error:"--refine needs a refinement objective"}:{error:"--refine requires --req <id>"}:t.req?{error:"--req requires --refine or --save"}:t.out?{error:"--out is only valid with --save"}:t.objective?{op:"new"}:{error:"provide an objective, or use --refine/--save with --req"}}function ie(){return se(process.cwd(),".testmuai","tests")}function Ge(t){if(typeof t!="string")return;let e=t.split(",").map(n=>n.trim()).filter(Boolean);return e.length?e:void 0}var X="tcg-generate-headless";function Q(t){return{refineHint:`kane-cli generate "<refinement>" --refine --req ${t}`,saveHint:`kane-cli generate --save --req ${t}`}}function W(t){return t.scenarios.reduce((e,n)=>e+(n.test_cases?.length??0),0)}function oe(t){return t==="completed"?0:t==="stopped"?3:1}async function Ne(t,e){let n=e.write??(i=>process.stdout.write(i)),r=e.sink??(e.mode==="agent"?new y(n):new S(n)),l,u,d=null;try{let i=await e.makeClient();l=i.client,u=i.conn,d=i.autoDefaulted}catch(i){return r.onError(i.message),2}if(e.mode==="agent"&&d){let{buildAutoDefaultedNdjson:i}=await import("./require-project-folder-KE7XOOFN.js");n(i(d))}try{let i=await(e.checkUpdate??J)();i&&r.onUpdateAvailable(i)}catch{}let g=t.reqId??null;x(X,()=>{g&&l.cancel(g).catch(()=>{})});let p=process.cwd(),v={validate:e.validate??z,upload:e.upload??O,buildMappings:K,onUpload:i=>r.onUpload(i)};try{if(t.op==="save"){let s;try{s=(await l.attach(t.reqId)).state}catch(D){return r.onError(D.message),2}g=s.requestId,r.onSnapshot(s);let m=t.outDir??ie(),o=await e.materialize(s,m,t.suiteName);r.onSaveResult({suiteDir:o.suiteDir,saved:o.paths.length,fellBack:o.fellBack,warning:o.warning});let h=Q(s.requestId);return r.onDone({requestId:s.requestId,status:"completed",scenarioCount:s.scenarios.length,caseCount:W(s),refineHint:h.refineHint,saveHint:h.saveHint,suiteDir:o.suiteDir}),0}let i=t.op==="refine",f,a;if(i){let s;try{s=await l.attach(t.reqId)}catch(o){return r.onError(o.message),2}if(a=s.state,g=a.requestId,a.error)return r.onError(a.error),2;let m;try{m=await _({promptText:t.objective,filePaths:t.files??[],cwd:p,scenarios:a.scenarios,isRefine:!0,conn:u,deps:v})}catch(o){if(o instanceof C){for(let h of o.errors)r.onError(h);return 2}return r.onError(o.message),2}for(let o of m.warnings)process.stderr.write(`warning: ${o}
|
|
20
20
|
`);r.onStart({requestId:a.requestId,objectiveChars:m.promptText.length,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,isRefine:!0});try{await l.chat(t.reqId,m.promptText,{mappings:m.mappings,attachments:m.attachments})}catch(o){return r.onError(o.message),2}f=s.events}else{let s;try{s=await _({promptText:t.objective,filePaths:t.files??[],cwd:p,scenarios:[],isRefine:!1,conn:u,deps:v})}catch(o){if(o instanceof C){for(let h of o.errors)r.onError(h);return 2}return r.onError(o.message),2}for(let o of s.warnings)process.stderr.write(`warning: ${o}
|
|
21
21
|
`);let m;try{m=await l.start({prompt:s.promptText,attachments:s.attachments,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,memoryEnhancement:t.memory})}catch(o){return r.onError(o.message),2}a=m.state,g=a.requestId,r.onStart({requestId:a.requestId,objectiveChars:s.promptText.length,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,isRefine:!1}),f=m.events}let w="";for await(let s of f){switch(a=P(a,s),s.type){case"thinking_done":r.onThinking({tookMs:s.tookMs});break;case"progress":r.onProgress(s.pct);break;case"clarification":r.onClarification(s.text);break;case"chat":r.onChat(s.text);break;case"error":r.onError(s.message);break;case"done":w=s.status;break;default:break}if(s.type==="done"||s.type!=="thinking"&&a.status&&T(a.status))break}r.onSnapshot(a);let b=w||a.status||"completed",c=Q(a.requestId);return r.onDone({requestId:a.requestId,status:b,scenarioCount:a.scenarios.length,caseCount:W(a),refineHint:c.refineHint,saveHint:c.saveHint,suiteDir:void 0}),oe(b)}finally{A(X)}}var ae=()=>{};async function Me(t){let e=new j,n=new q,r=e.getActiveProfile()??"default",l=t.env??e.getDefaultEnv()??"prod",u=R(l),d=new E;t.name&&d.setSessionName(t.name);let g=n.load().model,p=async()=>{let i=await k({creds:e,env:l,usernameFlag:t.username,accessKeyFlag:t.accessKey,log:()=>{}}),f=await V({resolver:i.resolver,env:u,log:ae,projectId:t.projectId,folderId:t.folderId,autoResolve:t.projectId?void 0:{creds:e,config:n,profile:r,envName:l}});return{client:G(f),conn:f,autoDefaulted:f.autoDefaulted??null}},v=async()=>{let i=await k({creds:e,env:l,usernameFlag:t.username,accessKeyFlag:t.accessKey,log:()=>{}});return i.basicAuth?{username:i.basicAuth.username,access_key:i.basicAuth.access_key}:i.token?{auth:{type:"bearer",token:i.token}}:{}};return{mode:t.mode,makeClient:p,materialize:(i,f,a)=>Y(i,f,{model:g,sessionId:d.sessionId,resolveAuth:v,spawnOpts:{environment:l},suiteName:a})}}export{Me as buildHeadlessDeps,Pe as decideGenerateMode,ie as defaultOutDir,Ge as parseFilesFlag,$e as resolveGenerateOp,Ne as runGenerateHeadless};
|