@testmuai/kane-cli 0.7.2 → 0.8.1
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-E7QKI4LA.js → ChatSurface-U37VZDCW.js} +1 -1
- package/dist/{ChromeProfilePicker-DGDWGCZD.js → ChromeProfilePicker-AUU7JF6F.js} +1 -1
- package/dist/{CliFeedbackPrompt-SYCZXSME.js → CliFeedbackPrompt-4W74Y3UF.js} +1 -1
- package/dist/{CliUploadProgress-VDEAKXJY.js → CliUploadProgress-6HL7WTEX.js} +1 -1
- package/dist/ConfigView-6BSCZP5Y.js +2 -0
- package/dist/EvidenceViewOffer-62XHEEGW.js +2 -0
- package/dist/FolderPicker-S7U2EN2M.js +2 -0
- package/dist/{HelpView-ON6BFGJM.js → HelpView-TU7ED43J.js} +1 -1
- package/dist/{InfoBox-B23NZ6IG.js → InfoBox-JLTMKVDE.js} +1 -1
- package/dist/{LinksBox-TI26VFFH.js → LinksBox-LREUUJDV.js} +1 -1
- package/dist/{ProfilesView-CRO5AH3H.js → ProfilesView-W3GX2N2E.js} +1 -1
- package/dist/{ProjectPicker-3N7LJOXU.js → ProjectPicker-SYQUJK2J.js} +1 -1
- package/dist/{SaveSessionPrompt-UTOEC5AW.js → SaveSessionPrompt-MR5NJMRP.js} +1 -1
- package/dist/SingleShotApp-XOKVOM7C.js +2 -0
- package/dist/{SummaryBox-JK64EKC2.js → SummaryBox-UAYSVFB7.js} +1 -1
- package/dist/TestMdRunView-7UVSDAF4.js +2 -0
- package/dist/{WhoamiView-6QSLPNF6.js → WhoamiView-2YU76ASQ.js} +1 -1
- package/dist/adbkit-apkreader-ORZBGCJQ.js +184 -0
- package/dist/app-client-OEXESV4U.js +2 -0
- package/dist/app-download-AEEFQ63M.js +2 -0
- package/dist/{auth-IKFVW3NX.js → auth-HET3TBRI.js} +1 -1
- package/dist/{bind-KCUSVJXG.js → bind-STKXOUYI.js} +3 -3
- package/dist/bootstrap-44YKVWWE.js +2 -0
- package/dist/bridge-5Z3BIB77.js +2 -0
- package/dist/{changelog-AAH2ZBYO.js → changelog-7OWRHFHZ.js} +1 -1
- package/dist/{chat-committer-UUC6JTRJ.js → chat-committer-ZWWCLJFD.js} +1 -1
- package/dist/{chunk-ZUGCHQFC.js → chunk-27U4PLPX.js} +1 -1
- package/dist/{chunk-ZBOWFJB2.js → chunk-2BGUUWNF.js} +2 -2
- package/dist/chunk-2KDGIZED.js +4 -0
- package/dist/{chunk-SFII7HPP.js → chunk-3LJWYRAA.js} +1 -1
- package/dist/chunk-3PECJD6S.js +11 -0
- package/dist/{chunk-7QJ75SYR.js → chunk-3POR47RC.js} +2 -2
- package/dist/chunk-4JOD47QI.js +2 -0
- package/dist/{chunk-QIGPXYMF.js → chunk-56PAQAX5.js} +6 -6
- package/dist/{chunk-DZPGG4S6.js → chunk-65ZTD5SJ.js} +2 -2
- package/dist/chunk-6IA6QMPH.js +2 -0
- package/dist/{chunk-VT54ARGE.js → chunk-6O3DDOP2.js} +1 -1
- package/dist/chunk-6XX4LEVJ.js +2 -0
- package/dist/{chunk-4NFCAGRK.js → chunk-766WGMBU.js} +1 -1
- package/dist/{chunk-VMM4LC4V.js → chunk-7BZSCUPP.js} +3 -3
- package/dist/{chunk-PLOWZLG5.js → chunk-7JWKHKFU.js} +2 -2
- package/dist/chunk-7Q6M6P4X.js +26 -0
- package/dist/chunk-AW2XUHH4.js +2 -0
- package/dist/{chunk-7OYZR6JA.js → chunk-BRHNRCEZ.js} +1 -1
- package/dist/chunk-BRIEBB2U.js +2 -0
- package/dist/{chunk-APPYQZFK.js → chunk-C7HSWZP6.js} +1 -1
- package/dist/chunk-CTW2VQKS.js +6 -0
- package/dist/{chunk-FDIPQRX4.js → chunk-DCY6R5DP.js} +1 -1
- package/dist/{chunk-KWIK22R6.js → chunk-DO5HAO3H.js} +1 -1
- package/dist/chunk-DPUV6OSP.js +2 -0
- package/dist/{chunk-B5RS2XZU.js → chunk-DZGCXKKI.js} +3 -3
- package/dist/{chunk-JKM2PUHI.js → chunk-EDSZJZFG.js} +1 -1
- package/dist/{chunk-OIYGGEUL.js → chunk-ELM6MXGJ.js} +1 -1
- package/dist/{chunk-VHZ4S57N.js → chunk-EWCAFKLX.js} +1 -1
- package/dist/chunk-EYOCNMUM.js +2 -0
- package/dist/{chunk-GYNTNKNB.js → chunk-FEJXWJ3L.js} +1 -1
- package/dist/{chunk-UC7MNPIN.js → chunk-FMRSMN34.js} +1 -1
- package/dist/chunk-FNH55WSR.js +19 -0
- package/dist/chunk-FQLIW3LM.js +2 -0
- package/dist/{chunk-O75ZHGJG.js → chunk-G7VQCS4J.js} +1 -1
- package/dist/{chunk-2WFZIQ62.js → chunk-GCBKDX2J.js} +1 -1
- package/dist/chunk-GKYPNSQP.js +26 -0
- package/dist/chunk-GPG3FIN3.js +21 -0
- package/dist/chunk-GZPK6FRP.js +7 -0
- package/dist/{chunk-XUS4WKDS.js → chunk-HCKH44I2.js} +1 -1
- package/dist/chunk-HEAIJCGZ.js +2 -0
- package/dist/{chunk-SL6PCVM2.js → chunk-HMYMSRA4.js} +1 -1
- package/dist/chunk-IOFZSQAA.js +2 -0
- package/dist/{chunk-YTHQNN2L.js → chunk-IP2O264K.js} +1 -1
- package/dist/{chunk-AXTGYOMK.js → chunk-JJHG3BWO.js} +1 -1
- package/dist/chunk-KFSUPQAG.js +66 -0
- package/dist/chunk-KRKGZ2ZW.js +47 -0
- package/dist/{chunk-AJ56AMT6.js → chunk-KU6IXFGZ.js} +1 -1
- package/dist/chunk-L7MXYCD7.js +2 -0
- package/dist/{chunk-5ZQZOVWY.js → chunk-MA34UWKX.js} +3 -3
- package/dist/chunk-MBF3FP5P.js +5 -0
- package/dist/chunk-MSGW4JDG.js +2 -0
- package/dist/{chunk-C3T7TKAC.js → chunk-MXHHMIO2.js} +2 -2
- package/dist/{chunk-RDNFVZEB.js → chunk-NX7TM662.js} +1 -1
- package/dist/chunk-OMQCD3KR.js +2 -0
- package/dist/{chunk-OR6MCL6Z.js → chunk-OTTGS2TE.js} +1 -1
- package/dist/chunk-QGKPLOUI.js +2 -0
- package/dist/{chunk-FBHRBFHP.js → chunk-QRZRSAZH.js} +1 -1
- package/dist/{chunk-VLWMMOMF.js → chunk-QSDH5P7C.js} +1 -1
- package/dist/{chunk-VOOPWFHW.js → chunk-QW6EZC53.js} +1 -1
- package/dist/{chunk-ZRASQ63J.js → chunk-RC52N7PC.js} +1 -1
- package/dist/{chunk-M6FKJKC6.js → chunk-RFR4ZKIC.js} +3 -3
- package/dist/{chunk-AFBKGZFG.js → chunk-RLRNLIRS.js} +1 -1
- package/dist/{chunk-5FJJJNJK.js → chunk-SDPRO2LE.js} +1 -1
- package/dist/chunk-T5Y6MOLM.js +4 -0
- package/dist/{chunk-VRLUNZAK.js → chunk-TFPPEOAK.js} +1 -1
- package/dist/{chunk-5SXMV66P.js → chunk-TKGUT425.js} +1 -1
- package/dist/chunk-TYLYFERW.js +10 -0
- package/dist/chunk-TZXXJWHA.js +2 -0
- package/dist/{chunk-KQZA2QSC.js → chunk-UDIQOJEL.js} +1 -1
- package/dist/chunk-UV462FZR.js +2 -0
- package/dist/{chunk-HYSFJSIG.js → chunk-UXDL4XDL.js} +1 -1
- package/dist/{chunk-53IBTIL3.js → chunk-V2R3LCA3.js} +1 -1
- package/dist/{chunk-VFII6C46.js → chunk-W2JFDDIB.js} +1 -1
- package/dist/{chunk-4LTXE3IX.js → chunk-XO5ZH3ZR.js} +1 -1
- package/dist/{chunk-EOLFTMWF.js → chunk-YFYCCTSL.js} +1 -1
- package/dist/{chunk-JPWLGHPM.js → chunk-YJELGSKJ.js} +1 -1
- package/dist/chunk-YRFMPIU2.js +4 -0
- package/dist/{chunk-F7ISS545.js → chunk-ZGBSGZZM.js} +1 -1
- package/dist/{chunk-VWKVUOXU.js → chunk-ZIUAOEUC.js} +1 -1
- package/dist/chunk-ZVHCQMJ6.js +13 -0
- package/dist/{config-CWZV6XPT.js → config-RS47F5SC.js} +1 -1
- package/dist/{controller-client-RD2YEMAH.js → controller-client-OB4WD2C4.js} +1 -1
- package/dist/{cover-cmd-NWIRJY5Z.js → cover-cmd-HDZZWJXG.js} +1 -1
- package/dist/{credentials-YHTJGKEO.js → credentials-OH6AVI6N.js} +1 -1
- package/dist/deps-resolve-XC5S53DG.js +2 -0
- package/dist/{dispatch-WVNXB7AD.js → dispatch-SE5GY3Z2.js} +1 -1
- package/dist/doctor-FSECFZUU.js +2 -0
- package/dist/docx-convert-JMUMT5C4.js +2 -0
- package/dist/evidence-OYPHZUKI.js +2 -0
- package/dist/evolve-cmd-BCPNXAMV.js +2 -0
- package/dist/exec-P2IKJRRR.js +2 -0
- package/dist/exit-manager-3FVBTNYR.js +2 -0
- package/dist/{explain-cmd-IZEHWZV5.js → explain-cmd-3GEKR7O5.js} +1 -1
- package/dist/{explain-cmd-75MCF2ZV.js → explain-cmd-EX24XKD6.js} +1 -1
- package/dist/{extract-bind-5OWELRME.js → extract-bind-LLEASZAK.js} +3 -3
- package/dist/{extract-cmd-ZRYMJ6IC.js → extract-cmd-UZMEZMGP.js} +2 -2
- package/dist/{gaps-cmd-XBRXKXDL.js → gaps-cmd-IVXFPFAQ.js} +1 -1
- package/dist/{generate-headless-D6BISWDC.js → generate-headless-D3SVQ2AI.js} +3 -3
- package/dist/host-7GZPBA74.js +2 -0
- package/dist/index.js +85 -69
- package/dist/ingest-cmd-EAE7N5RC.js +2 -0
- package/dist/{interactive-bind-XSRD36MO.js → interactive-bind-ORMN2REX.js} +3 -3
- package/dist/{lifecycle-cmd-EQSFAZG6.js → lifecycle-cmd-O2324GN6.js} +1 -1
- package/dist/{list-cmd-IRJSUCM5.js → list-cmd-N4KMA34H.js} +1 -1
- package/dist/list-commands-MRXL5HGS.js +2 -0
- package/dist/login-flow-QJQM3RHT.js +2 -0
- package/dist/{maintenance-cmd-MVFA6H74.js → maintenance-cmd-6XSVO6FO.js} +1 -1
- package/dist/mobile-prompts-TOX35ER6.js +2 -0
- package/dist/persist-recorded-session-TLDQ5HKP.js +3 -0
- package/dist/{phase-seed-DIRETNU6.js → phase-seed-VFHIH6FL.js} +1 -1
- package/dist/pipeline-UOM4LNAI.js +2 -0
- package/dist/prepare-target-QYWIJIVQ.js +2 -0
- package/dist/reconcile-cmd-3H34KVVD.js +2 -0
- package/dist/{reconcile-deps-HTT6IPHT.js → reconcile-deps-XIH75ZLY.js} +2 -2
- package/dist/reconcile-engine-UKWPG2LV.js +2 -0
- package/dist/{recording-banner-76GCIPUN.js → recording-banner-4M7XHVGI.js} +1 -1
- package/dist/registry-PYOTKZYZ.js +2 -0
- package/dist/{require-project-folder-ACRDP5ZB.js → require-project-folder-4UPQNEBJ.js} +1 -1
- package/dist/resolve-run-intent-X72V3KJA.js +7 -0
- package/dist/{resolver-SRPCFW7P.js → resolver-UBOZLFFE.js} +1 -1
- package/dist/{review-cmd-L3V5UP5T.js → review-cmd-DQRKQUMG.js} +1 -1
- package/dist/run-2COODVX2.js +2 -0
- package/dist/run-URPGHOQM.js +2 -0
- package/dist/{run-test-md-KEHSRMCM.js → run-test-md-76ZPKXO6.js} +3 -3
- package/dist/session-target-UWROGOCY.js +2 -0
- package/dist/{sessions-cmd-ZVYGSRJ3.js → sessions-cmd-ZZIZN2VB.js} +1 -1
- package/dist/{skill-installer-HBN3A35K.js → skill-installer-CIS6GAYF.js} +1 -1
- package/dist/spawner-J67QR4QP.js +2 -0
- package/dist/{structured-answers-A43Q25CZ.js → structured-answers-5EY2AZN7.js} +1 -1
- package/dist/tcg-generate-BDTRKY2A.js +2 -0
- package/dist/testmd-actions-77ELR5UU.js +2 -0
- package/dist/token-refresh-4BPAPXKK.js +2 -0
- package/dist/types-6E2HTDKJ.js +2 -0
- package/dist/{validate-basic-ZGWPBYB6.js → validate-basic-2GVSQ2R5.js} +1 -1
- package/dist/{verdicts-SCETLY5J.js → verdicts-TRSTJLCL.js} +1 -1
- package/dist/{version-check-CJWKDAXV.js → version-check-O6PYTI4T.js} +1 -1
- package/dist/{view-cmd-SOVM64L2.js → view-cmd-KPJTP4DI.js} +1 -1
- package/dist/{walk-session-YUYRULPY.js → walk-session-CHJXHZMO.js} +1 -1
- package/dist/with-telemetry-CQCWLVOC.js +2 -0
- package/package.json +12 -6
- package/dist/ConfigView-HPKRQXMC.js +0 -2
- package/dist/EvidenceViewOffer-F5YG54OC.js +0 -2
- package/dist/FolderPicker-4NSDXQY5.js +0 -2
- package/dist/SingleShotApp-Y3YDFQSD.js +0 -2
- package/dist/TestMdRunView-O6JTHV5W.js +0 -2
- package/dist/bootstrap-NFYYRGGR.js +0 -2
- package/dist/bridge-JSKEO4N3.js +0 -2
- package/dist/chunk-23VPUWBD.js +0 -23
- package/dist/chunk-2WRBTLFN.js +0 -13
- package/dist/chunk-5WXGMXGA.js +0 -26
- package/dist/chunk-74HTO7K3.js +0 -11
- package/dist/chunk-AECMF3T2.js +0 -8
- package/dist/chunk-BXYWX4J3.js +0 -2
- package/dist/chunk-DBKNJRJG.js +0 -2
- package/dist/chunk-H32GM5G4.js +0 -2
- package/dist/chunk-J5FBU425.js +0 -62
- package/dist/chunk-MK7JUOYV.js +0 -6
- package/dist/chunk-ORQNKZ2Z.js +0 -5
- package/dist/chunk-OUJQVBUT.js +0 -7
- package/dist/chunk-QOFZSHSC.js +0 -47
- package/dist/chunk-RKWJG3WW.js +0 -19
- package/dist/chunk-STVP2XHO.js +0 -2
- package/dist/chunk-WAOCHXJ5.js +0 -2
- package/dist/docx-convert-CHLJUTFH.js +0 -2
- package/dist/evidence-IVDNXWPL.js +0 -2
- package/dist/evolve-cmd-XBX4SX5H.js +0 -2
- package/dist/exit-manager-XZL4KIJU.js +0 -2
- package/dist/ingest-cmd-YTGOICTC.js +0 -2
- package/dist/list-commands-RCYHJ5Y3.js +0 -2
- package/dist/login-flow-PYAPYCPY.js +0 -2
- package/dist/persist-recorded-session-DTYCLXTQ.js +0 -3
- package/dist/pipeline-MXFOD6ES.js +0 -2
- package/dist/reconcile-cmd-EG6BOU3A.js +0 -2
- package/dist/reconcile-engine-JQNXALNY.js +0 -2
- package/dist/run-GMZCDRDD.js +0 -2
- package/dist/run-TFRWPGXP.js +0 -2
- package/dist/spawner-GC5CFAJ7.js +0 -2
- package/dist/tcg-generate-V7YFNC5O.js +0 -2
- package/dist/testmd-actions-MNDOO76O.js +0 -2
- package/dist/token-refresh-3UYMCYG3.js +0 -2
- package/dist/with-telemetry-E7QWPGL6.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c}from"./chunk-65ZTD5SJ.js";import"./chunk-7BZSCUPP.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-R7QAS6LZ.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{c as ingestCommand,b as runIngestCommand,a as runIngestWithResults};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as T}from"./chunk-
|
|
2
|
+
import{a as T}from"./chunk-MXHHMIO2.js";import"./chunk-KHU7C6EE.js";import"./chunk-IOD3HQVW.js";import"./chunk-3Q6WAK6P.js";import"./chunk-AFPHLUQ5.js";import"./chunk-KU6IXFGZ.js";import"./chunk-ZGBSGZZM.js";import"./chunk-65ZTD5SJ.js";import"./chunk-BRHNRCEZ.js";import"./chunk-BB2W35TW.js";import"./chunk-VGFTNLQQ.js";import"./chunk-L2TV4G56.js";import"./chunk-JFAFKHDX.js";import"./chunk-6KPPGMO2.js";import"./chunk-7BZSCUPP.js";import"./chunk-GFKCTYCA.js";import"./chunk-YKTYVJBN.js";import"./chunk-IMR64OCZ.js";import"./chunk-427OQS2N.js";import"./chunk-JZ26R6UL.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-R7QAS6LZ.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-SDPRO2LE.js";import{c as P}from"./chunk-5DT7PIGB.js";import"./chunk-ZPDM6FO7.js";import"./chunk-NVGBE2DR.js";import{a as $}from"./chunk-CH273NAE.js";import"./chunk-L5LI2JF4.js";import{a as R,b as A}from"./chunk-IP2O264K.js";import"./chunk-R5T4RLF5.js";import"./chunk-IDX3TOPY.js";import"./chunk-BKM2LWU2.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-KBM3XHAM.js";import"./chunk-2YEHV2CX.js";import"./chunk-MSGW4JDG.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";async function J(e){let[{render:o},t,{QuestionBatchPrompt:r}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),u=t.default??t;return new Promise(s=>{let g=o(u.createElement(r,{questions:e,onSubmit:m=>{g.unmount(),s(m)}}))})}async function S(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{return/^y(es)?$/i.test((await t.question(`${e} [y/N] `)).trim())}finally{t.close()}}async function K(e){let{createInterface:o}=await import("readline/promises"),t=o({input:process.stdin,output:process.stdout});try{process.stdout.write(`${e.message}
|
|
3
3
|
`),process.stdout.write(` 1. start at ${e.earliest} instead \u2014 the earliest uncommitted phase (recommended)
|
|
4
4
|
`),process.stdout.write(` 2. proceed anyway \u2014 noted on the record
|
|
5
5
|
`),process.stdout.write(` 3. cancel
|
|
@@ -10,7 +10,7 @@ import{a as T}from"./chunk-C3T7TKAC.js";import"./chunk-IOD3HQVW.js";import"./chu
|
|
|
10
10
|
`);let u=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return u===""||u==="1"?{pick:"view"}:u==="2"?{pick:"redesign",because:(await t.question("because (reason for the redesign): ")).trim()}:{pick:"back"}}process.stdout.write(` 1. refresh first \u2014 evolve re-designs against the moved use-case (recommended)
|
|
11
11
|
`),process.stdout.write(` 2. proceed anyway \u2014 asks a reason, noted on the record
|
|
12
12
|
`),process.stdout.write(` 3. back
|
|
13
|
-
`);let r=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return r===""||r==="1"?{pick:"refresh"}:r==="2"?{pick:"proceed",because:(await t.question("because (reason for proceeding): ")).trim()}:{pick:"back"}}finally{t.close()}}async function Z(e){let[{resolveAgentAuthEnv:o},{runAgent:t},{preflightTurn:r}]=await Promise.all([import("./spawner-
|
|
13
|
+
`);let r=(await t.question("pick [1-3, \u23CE = 1] ")).trim();return r===""||r==="1"?{pick:"refresh"}:r==="2"?{pick:"proceed",because:(await t.question("because (reason for proceeding): ")).trim()}:{pick:"back"}}finally{t.close()}}async function Z(e){let[{resolveAgentAuthEnv:o},{runAgent:t},{preflightTurn:r}]=await Promise.all([import("./spawner-J67QR4QP.js"),import("./bridge-5Z3BIB77.js"),import("./turn-preflight-JGYT7LXP.js")]),u=await o(),s=$(process.cwd()),{baseUrlAdvisory:g}=await import("./turn-preflight-JGYT7LXP.js"),m=g();m&&process.stderr.write(m+`
|
|
14
14
|
`);let i=A({verb:"design",mode:e.plan?"cli":"interactive",contextRoot:s,env:R(),resumeSid:e.resume,write:!0,longSession:!0}),h={...u,...i.spawnEnv()},k=await r(h);if(!k.ok)return process.stderr.write((k.message??"error: turn-endpoint preflight failed")+`
|
|
15
15
|
`),process.stderr.write(i.supportFooter()+`
|
|
16
16
|
`),i.error("preflight_auth"),await i.end({exit_code:2}),2;let C=async()=>k;if(e.plan){let n=await T({...e,confirmRetarget:S,askPhaseEntry:K,askDesignEntry:I},{contextDir:s,agent:t,preflightTurn:C,ask:J,out:a=>process.stdout.write(a+`
|
|
@@ -21,5 +21,5 @@ import{a as T}from"./chunk-C3T7TKAC.js";import"./chunk-IOD3HQVW.js";import"./chu
|
|
|
21
21
|
`),0):d.pick==="refresh"?(process.stdout.write(`refresh it first: kane-cli maintain evolve ${c.wall.display}
|
|
22
22
|
`),0):(process.stdout.write(`nothing executed \u2014 list use-cases: kane-cli context list
|
|
23
23
|
`),0)}else return process.stderr.write(`design: ${c.message}
|
|
24
|
-
`),c.code}let[{render:F},D,{ScrollbackProvider:q},{ChatSurface:G},{ScrollbackTap:N},{makeChatController:V},{setInkExit:_},j]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-
|
|
24
|
+
`),c.code}let[{render:F},D,{ScrollbackProvider:q},{ChatSurface:G},{ScrollbackTap:N},{makeChatController:V},{setInkExit:_},j]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./scrollback-JLPJR25X.js"),import("./ChatSurface-U37VZDCW.js"),import("./ScrollbackTap-Q3IOKNMS.js"),import("./chat-controller-T2FAI55V.js"),import("./exit-manager-3FVBTNYR.js"),Promise.all([import("./chat-committer-ZWWCLJFD.js"),import("./descriptor-OEUZZCOK.js"),import("./explain-UAAQWHYR.js"),import("./readmodel-XOYGGQ3S.js")])]),[{commitChatTurn:B},{topologyDescriptor:O},{explain:Q},{openGraph:y}]=j,b=D.default??D,l=V({commitChatTurn:B,descriptor:O("design"),contextDir:s,refreshGraph:()=>y(s),graph:y(s),explain:Q,by:{kind:"human",id:"owner"}}),{buildDossier:Y}=await import("./dossier-KTLTGT2X.js"),U=n=>{try{return Y(y(s),n)}catch{return null}},v={current:null},E=0,x=null,w=!1,z=()=>{if(E+=1,E>=2){try{f.unmount()}catch{}process.exit(130)}l.requestPause(),x=setTimeout(()=>{w||(w=!0,(async()=>{l.ledger({kind:"interrupted",detail:"the agent did not confirm the pause within 5s"}),await v.current?.flush();try{f.unmount()}catch{}process.exit(130)})())},5e3)},f=F(b.createElement(q,null,b.createElement(N,{into:v}),b.createElement(G,{controller:l,verb:"design",onCtrlC:z,inspect:U})),{exitOnCtrlC:!1});_(()=>f.unmount()),l.ledger({kind:"banner",text:`kane-cli design \xB7 ${e.useCase??e.resume??""}`});try{let n=T({...e,confirmRetarget:S},{contextDir:s,agent:t,preflightTurn:C,ask:p=>l.ask(p),out:p=>l.note(p),progress:()=>{},isTTY:P(),auth:h,chat:l,telemetry:i});n.finally(()=>{w=!0});let a=await n;return a===1&&process.stderr.write(i.supportFooter()+`
|
|
25
25
|
`),await i.end({exit_code:a}),a}finally{w=!0,x&&clearTimeout(x),await v.current?.flush();try{f.unmount()}catch{}}}export{Z as bindDesignInteractive};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as l,b as a,c as f,d as m}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import{A as c,r as y,s as b,y as v}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-
|
|
2
|
+
import{a as l,b as a,c as f,d as m}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import"./chunk-CH273NAE.js";import{A as c,r as y,s as b,y as v}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";var g={kind:"human",id:process.env.USER??"operator"},C=/^(UNKNOWN_|BAD_|INVALID_|MALFORMED_|NOT_|SLUG_TAKEN|ALREADY_|SUPERSEDED_)/;function w(e){return e.every(r=>C.test(r.code))?2:1}function p(e,r){for(let n of r)l(e,`${n.code}: ${n.detail}`);return w(r)}async function E(e,r,n,o=process.cwd()){let t=a(o,n);if(!t||!await f(n,`retire source ${e} (head \u2192 null + tombstone record)`,r.yes))return 2;let i=c(t),s=b({contextDir:t,graph:i,sourceId:e,reason:r.reason,by:g});return s.errors?p(n,s.errors):(n.out(`retired ${e} (record ${s.record.seq}) \u2014 its use-cases stay until no live source evidences them`),0)}async function _(e,r,n,o=process.cwd()){let t=a(o,n);if(!t)return 2;if(v.test(r))return l(n,`"${r}" is in the reserved sequential-id namespace (assigned at mint) \u2014 pick a descriptive name`),2;let i=c(t),s=y({contextDir:t,graph:i,assignments:[{ref:e,slug:r}],by:g});return s.errors?p(n,s.errors):(n.out(`named ${s.record.names[0].cid} as "${r}" (record ${s.record.seq})`),0)}async function x(e,r,n,o=process.cwd()){let t=a(o,n);if(!t)return 2;let i=Number(e);if(!await f(n,`revert record ${i} via a compensation record`,r.yes))return 2;let s=c(t),{commitRevert:$}=await import("./revert-NQ7GEVSE.js"),d=$({contextDir:t,graph:s,seq:i,reason:r.reason,by:g});for(let h of d.warnings)n.out(`note: ${h}`);if(d.errors)return p(n,d.errors);let u=d.record;return n.out(`reverted record ${i} via compensation record ${u.seq}: ${u.supersessions.length} supersession(s), ${u.review.length} trust restoration(s), ${Object.keys(u.source_head_moves).length} head move(s) \u2014 history unchanged, effects inverted`),0}async function P(e,r){return E(e,r,m())}async function R(e,r){return _(e,r,m())}async function k(e={},r=process.cwd()){return D(e,m(),r)}async function D(e,r,n=process.cwd()){let o=a(n,r);if(!o||!await f(r,"assign logical ids to every live unnamed node (one commit record)",e.yes))return 2;let{backfillLogicalIds:t}=await import("./logical-ids-TEBCQJGO.js"),i=c(o),s=t(o,i);return s.errors?p(r,s.errors):(r.out(s.assigned===0?"backfill: every live node already has a logical id":`backfill: assigned ${s.assigned} logical id(s) (record ${s.record.seq})`),0)}async function q(e,r){return x(e,r,m())}export{k as nameBackfillCommand,R as nameCommand,P as retireCommand,q as revertCommand,D as runNameBackfillCommand,_ as runNameCommand,E as runRetireCommand,x as runRevertCommand};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as m}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import{A as g}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import{d as s}from"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-
|
|
2
|
+
import{b as m}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import"./chunk-CH273NAE.js";import{A as g}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import{d as s}from"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";var h=[s.SOURCE,s.USECASE,s.SCENARIO,s.AC,s.TEST,s.GAP];function b(n,e){if(n===s.SOURCE)return String(e.source_id??"");let l=e.question?.header,o=e.title??e.text??l??e.kind??"";return String(o)}function E(n,e){if(n.length<=e)return n;let l=n.slice(0,e-1),o=l.lastIndexOf(" ");return`${(o>e*.6?l.slice(0,o):l).trimEnd()}\u2026`}var p=58;async function O(n,e,l=process.cwd()){let o=m(l,e);if(!o)return 2;let a=g(o),i=[...a.nodeLabel.entries()].filter(([t])=>n.all||!a.superseded.has(t)).map(([t,r])=>{let u=a.getNode(t)?.content??{},f=a.trust.get(t)??(r===s.SOURCE?"-":"derived");return{id:r===s.SOURCE?String(u.source_id??""):a.nameOf.get(t)??t.slice(0,19),cid:t,label:r,title:b(r,u),trust:f,fresh:f==="archived"?"-":a.stale(t)}});if(n.type&&(i=i.filter(t=>t.label===n.type)),n.inferred&&(i=i.filter(t=>t.trust==="derived")),n.stale&&(i=i.filter(t=>t.fresh!=="fresh")),!n.all){let t=new Map;for(let r of i)t.set(`${r.label}:${r.id}`,r);i=[...t.values()]}let c=t=>{let r=h.indexOf(t);return r===-1?h.length:r};if(i.sort((t,r)=>c(t.label)-c(r.label)||t.title.localeCompare(r.title)),n.json){for(let t of i)e.out(JSON.stringify(t));return 0}if(i.length===0)return e.out("(no matching nodes)"),0;e.out("trust \xB7 fresh \xB7 title \xB7 id");let d=null;for(let t of i){if(t.label!==d){d=t.label;let u=i.filter(f=>f.label===t.label).length;e.out(""),e.out(`\u2500\u2500 ${t.label} \xB7 ${u} \u2500\u2500`)}let r=E(t.title||"(untitled)",p);e.out(` ${t.trust.padEnd(8)} ${t.fresh.padEnd(6)} ${r.padEnd(p)} ${t.id}`)}{let{heldArchiveScan:t}=await import("./feeder-C3TOJPKK.js"),r=t(o,a).live.size;r>0&&(e.out(""),e.out(`${r} held archive(s) awaiting confirmation \u2014 kane-cli context review walks them (or --allow-archive --because applies headlessly)`))}return 0}async function C(n){return O(n,{out:e=>process.stdout.write(e+`
|
|
3
3
|
`),confirm:async()=>!1,isTTY:!!process.stdout.isTTY})}export{E as capWord,C as listCommand,O as runListCommand,b as titleOf};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i}from"./chunk-2BGUUWNF.js";import"./chunk-OTTGS2TE.js";import"./chunk-2WVKOZ6W.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-G7VQCS4J.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-6O3DDOP2.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{d as emitNdjson,b as filterByName,g as formatAuthResolutionError,c as paginate,a as parsePagination,i as registerListCommands,e as renderTable,f as resolveTmsBasicAuth,h as validateCreateName};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a}from"./chunk-FMRSMN34.js";import"./chunk-RFHMDQXZ.js";import"./chunk-766WGMBU.js";import"./chunk-G7VQCS4J.js";import"./chunk-RZ4F3BHX.js";import"./chunk-6O3DDOP2.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{a as LoginFlow};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as E,c as N,d as f}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import{c as l,d as p,e as _}from"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import
|
|
2
|
+
import{b as E,c as N,d as f}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import{a as u}from"./chunk-CH273NAE.js";import{c as l,d as p,e as _}from"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";var a=["CHAIN_ERROR","CARDINALITY_VIOLATION","DOUBLE_SUPERSEDE","SUPERSEDE_CYCLE","EDGE_CYCLE","SUPERSEDE_UNKNOWN_OLD","SUPERSEDE_UNKNOWN_NEW","SUPERSEDE_UNKNOWN_ECID","NAME_UNKNOWN_TARGET","UNKNOWN_LABEL","UNKNOWN_EDGE_TYPE","ILLEGAL_EDGE","MISSING_SALIENT","MISSING_FIELD","UNKNOWN_FIELD","UNKNOWN_EDGE_PROP","BAD_ENUM","BAD_CHECK","DERIVED_MISSING","DERIVED_DRIFT","NODE_FILE_MISSING","NODE_FILE_MISMATCH","NODE_FILE_CORRUPT"];function I(e){let t=r=>{let n=a.indexOf(r);return n===-1?a.length:n},o=e[0]?.code??"fsck_failed";for(let r of e)t(r.code)<t(o)&&(o=r.code);return o}function S(e){let t=new Map;for(let s of e.issues)t.set(s.code,(t.get(s.code)??0)+1);let o=[...t.entries()].sort((s,d)=>d[1]-s[1]).map(([s,d])=>`${s}:${d}`);for(;o.length>1&&o.join("/").length>512;)o.pop();let r=o.join("/"),n=e.issues.map(s=>({code:s.code,detail:s.detail.length>512?s.detail.slice(0,512):s.detail})),i=[...n],c=JSON.stringify(i);for(;i.length>0&&Buffer.byteLength(c,"utf8")>16384;)i.pop(),c=JSON.stringify(i);let m=n.length-i.length;return{issue_count:e.issues.length,records:e.records,...e.pending!==void 0?{pending:e.pending}:{},codes:r,issues:c,...m>0?{issues_truncated:m}:{}}}async function O(e,t=process.cwd(),o,r={}){if(!E(t,e))return r.json&&e.out(JSON.stringify({ok:!1,error:"NO_STORE"})),2;let n=_(u(t));if(n.ok)return r.json?e.out(JSON.stringify(n)):e.out(n.pending?`ok: ${n.records} record(s) verified \u2014 ${n.pending} record(s) pending catch-up (applied automatically on the next command)`:`ok: ${n.records} record(s) verified, derived projection in parity`),0;if(r.json)e.out(JSON.stringify(n));else for(let i of n.issues)e.out(`issue: ${p(i)}`);return o&&(o.event("ASR_FSCK_REPORT",S(n)),o.error(I(n.issues))),1}async function D(e,t,o=process.cwd()){if(!E(o,t)||!await N(t,"wipe .context/derived and rebuild it from the verified commit chain",e.yes))return 2;let r=l(u(o));return t.out(`rebuilt: ${r.applied.seq} record(s) replayed, ${Object.keys(r.nodeLabel).length} node(s) projected`),0}async function A(e,t={}){return O(f(),process.cwd(),e,t)}async function b(e={}){return D(e,f())}export{A as fsckCommand,b as rebuildCommand,O as runFsckCommand,D as runRebuildCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as c,b as m,c as s,d,e as P}from"./chunk-6XX4LEVJ.js";import{a as f}from"./chunk-IOFZSQAA.js";import"./chunk-EWCAFKLX.js";import"./chunk-5Y2G4NC7.js";import"./chunk-YCCUBQY4.js";import"./chunk-L7MXYCD7.js";import"./chunk-QGKPLOUI.js";import"./chunk-2KDGIZED.js";import"./chunk-YRFMPIU2.js";import"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-AW2XUHH4.js";import"./chunk-HEAIJCGZ.js";import"./chunk-TFPPEOAK.js";import"./chunk-BRIEBB2U.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import{a as p}from"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import{a as T}from"./chunk-6YGTRKDT.js";import{e as a}from"./chunk-UR6MHSHU.js";var g=a(T(),1);import{access as k}from"fs/promises";var l=a(p(),1);async function u(r){let{render:e}=await import("./build-JIKYOZUH.js");return await new Promise(t=>{let{unmount:i,waitUntilExit:n}=e(r(o=>{i(),t(o)}),{stdout:process.stderr,exitOnCtrlC:!0});n().then(()=>t(null)).catch(()=>t(null))})}async function K(){return await u(r=>(0,l.jsx)(f,{mode:"mobile-only",onSelect:e=>{(e==="emulator"||e==="simulator")&&r(e)},onCancel:()=>r(null)}))}async function M(r,e,t){return await u(i=>(0,l.jsx)(c,{targets:r,kind:e,...t?{preselectedTarget:t}:{},onSelect:n=>i(n),onCancel:()=>i(null)}))}function y({kind:r,listApps:e,done:t}){let[i,n]=(0,g.useState)(e?"source":"local");return i==="source"?(0,l.jsx)(d,{kind:r,onSelect:o=>n(o==="local"?"local":"cloud"),onCancel:()=>t(null)}):i==="cloud"&&e?(0,l.jsx)(m,{kind:r,listApps:e,onSelect:o=>t(o.appId),onManualEntry:()=>n("id"),onCancel:()=>n("source")}):i==="id"?(0,l.jsx)(P,{onSubmit:async o=>(t(o),{ok:!0}),onBack:()=>n("cloud")}):(0,l.jsx)(s,{kind:r,onSelect:async o=>{try{await k(o.value)}catch{return{ok:!1,error:`${o.value} is not there.`}}return t(o.value),{ok:!0}},onBack:()=>e?n("source"):t(null),onCancel:()=>t(null)})}async function x(r){return await u(e=>(0,l.jsx)(y,{...r,done:e}))}export{x as promptApp,M as promptDevice,K as promptMobileKind};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{g as h}from"./chunk-ELM6MXGJ.js";import{a as m,b as I,k as S,t as _}from"./chunk-GPG3FIN3.js";import"./chunk-EHN5HTUD.js";import"./chunk-L5LI2JF4.js";import{a as f}from"./chunk-T5Y6MOLM.js";import"./chunk-EYOCNMUM.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";async function v(e,s={}){e.flushRecorder();let o=e.recorder?.lastWrittenPath??null;if(!o)return e.log("info","PERSIST_SKIPPED","No recorded path \u2014 recorder.flush no-op",{reason:e.sessionName?"recorder_flush_failed":"no_session_name",session_name:e.sessionName}),null;let p;try{p=_(o)}catch(t){throw e.log("error","PERSIST_RESOLVE_FAILED","resolveTestMd threw",{error:t.message,recorded_path:o}),t}let i=e.getRunsAsStepRecords(),u=e.getFlows(),a=[],c=0;for(let t=0;t<i.length;t++){let r=i[t],l=u.slice(c,c+r.totalRunDirs);c+=r.totalRunDirs;let g=l.find(n=>n.status==="failed"||n.status==="error"),T=g?"failed":l.length===0?"skipped":"passed";a.push({rootStepIndex:t+1,status:T,duration_s:l.reduce((n,E)=>n+(E.duration??0),0),reason:g?.reason})}let P=a.some(t=>t.status==="failed")?"failed":"passed",D=new f().load().code_export?.language==="javascript"?"javascript":"python",d=I(o);e.log("info","PERSIST_START","Building staging dir",{recorded_path:o,output_dir:d,session_dir:e.sessionDir,step_count:i.length,flow_count:u.length});try{await h({resolvedTest:p,sessionDir:e.sessionDir,stepRunRecords:i,outcomes:a,overallStatus:P,startedISO:e.startedAt,durationS:a.reduce((t,r)=>t+(r.duration_s??0),0),sessionId:e.sessionId,commitId:e.sessionId,tmsIds:{testId:e.testId??void 0,testcaseId:s.testcaseId,projectId:s.projectId,folderId:s.folderId,orgId:s.orgId??e.orgId??void 0,sessionName:e.sessionName??m(o)},codeExportDir:s.codeExportDir,codeExportLanguage:D,packTestDir:s.packTestDir}),e.log("info","PERSIST_STAGING_OK","Staging dir built",{output_dir:d}),S(d),e.log("info","PERSIST_OK","Persist complete",{output_dir:d})}catch(t){let r=t;e.log("error","PERSIST_FAILED","staging build / atomic replace failed",{error:r.message,stack:r.stack,output_dir:d}),process.stderr.write(`[persist] staging build / atomic replace failed: ${r.message}
|
|
3
|
+
`)}return{recordedTestPath:o,outputDir:d}}export{v as persistRecordedSession};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{c}from"./chunk-3Q6WAK6P.js";import"./chunk-AFPHLUQ5.js";import{a as p}from"./chunk-TRJUD3XJ.js";import{a as g}from"./chunk-BB2W35TW.js";import"./chunk-DNNZ353O.js";import"./chunk-NVGBE2DR.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import{d}from"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";var u=["grounding","acs","scenarios","wiring","tests"];function l(i,r,o){let s=r.resolve(o);if(s===null)return[];let n=g(r,s.cid),a=c(d(i).records,n),e=a.reduce((t,m)=>Math.max(t,m.generation),0);return a.filter(t=>t.generation===e)}function E(i,r,o,s){let n=u;if(!n.includes(s))return{ok:!1,code:"UNKNOWN_PHASE",message:`--phase must be one of ${n.join(" | ")}, got '${s}'`,valid:[...n]};let a=new Set(l(i,r,o).map(t=>t.phase)),e=n.slice(0,n.indexOf(s)).filter(t=>t!=="grounding"&&!a.has(t));return e.length===0?{ok:!0,phase:s}:{ok:!1,code:"PHASE_ORDER",message:`--phase ${s} needs ${e.join(" + ")} committed first (nothing recorded for ${e.join(", ")})`,missing:e,earliest:e[0]}}function y(i,r,o,s){let n=l(i,r,o),a=r.resolve(o);if(a===null)return{priorDesign:void 0,phaseLadder:n};let e=p(r,a.tip);return{priorDesign:e.scenarios.length===0&&e.tests.length===0&&e.acs.length===0?void 0:e,phaseLadder:n}}function R(i,r,o){return`kane-cli design tests --use-case ${i} --phase ${r}${o?" --mode agent":""}`}export{u as PHASE_ORDER,y as buildPhaseSeed,E as checkPhaseEntry,R as phaseEntryCmd,l as phaseLadderFor};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c}from"./chunk-MBF3FP5P.js";import"./chunk-2YQ6TW77.js";import"./chunk-ZVHCQMJ6.js";import"./chunk-5DBK6QNS.js";import"./chunk-CJJXT5DO.js";import"./chunk-XWKUZJCP.js";import"./chunk-ZPDM6FO7.js";import"./chunk-EHN5HTUD.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-L5LI2JF4.js";import"./chunk-6IA6QMPH.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-2WVKOZ6W.js";import"./chunk-2KDGIZED.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-4JOD47QI.js";import"./chunk-G7VQCS4J.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{c as UploadPipeline,b as packPresignEntry,a as readPackForUpload};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{c as a,d as b,e as c,f as d,g as e,h as f}from"./chunk-QGKPLOUI.js";import"./chunk-2KDGIZED.js";import"./chunk-YRFMPIU2.js";import"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-AW2XUHH4.js";import"./chunk-HEAIJCGZ.js";import"./chunk-BRIEBB2U.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{a as MobileHostUnsupportedError,b as MobilePreflightError,c as PACKAGE_ID_REJECTED,e as isInstallablePath,f as prepareTarget,d as toAppSpec};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e,f}from"./chunk-MA34UWKX.js";import"./chunk-3POR47RC.js";import"./chunk-AFPHLUQ5.js";import"./chunk-RLRNLIRS.js";import"./chunk-OS4VSIHT.js";import"./chunk-TRJUD3XJ.js";import"./chunk-CLGC7VEO.js";import"./chunk-W5TTF7GB.js";import"./chunk-JFAFKHDX.js";import"./chunk-7BZSCUPP.js";import"./chunk-JZ26R6UL.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-XWKUZJCP.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{c as childModeFor,d as emitWalkSignal,f as reconcileCommand,a as resolveReconcileMode,e as runReconcileCommand,b as validateReconcileInputs};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as q}from"./chunk-
|
|
2
|
+
import{d as q}from"./chunk-MA34UWKX.js";import{j as K}from"./chunk-3POR47RC.js";import{a as J}from"./chunk-GCBKDX2J.js";import"./chunk-AFPHLUQ5.js";import"./chunk-RLRNLIRS.js";import"./chunk-OS4VSIHT.js";import"./chunk-TRJUD3XJ.js";import"./chunk-CLGC7VEO.js";import{a as b,b as Y}from"./chunk-ZMNJBUAO.js";import"./chunk-W5TTF7GB.js";import"./chunk-I7TIGB7K.js";import{a as W}from"./chunk-BRHNRCEZ.js";import"./chunk-BB2W35TW.js";import"./chunk-JFAFKHDX.js";import"./chunk-7BZSCUPP.js";import"./chunk-YKTYVJBN.js";import"./chunk-JZ26R6UL.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-N2P4MI32.js";import"./chunk-5DT7PIGB.js";import"./chunk-XWKUZJCP.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import{e as P}from"./chunk-IDX3TOPY.js";import{A as D,d as V,h as G,o as M,p as H,t as U,u as F}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import{b as E}from"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import{e as A}from"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";import{existsSync as te,mkdirSync as re,readFileSync as N,readdirSync as ne,renameSync as ie,rmSync as le,writeFileSync as oe}from"fs";import{join as v}from"path";var ae=["title","description","summary","value"];function Q(e,t){let s=[],o=t.updated;if(!o)return s;for(let r of ae){let p=o[r];if(typeof p!="string"||p===e[r])continue;let g=e[r];typeof g=="string"&&g.length>0&&s.push({op:"-",field:r,text:g}),s.push({op:"+",field:r,text:p})}let i=(e.criteria??[]).map(String),u=o.criteria??[];if(u.length>0)if(u.some(r=>"op"in r))for(let r of u)r.op==="set"&&s.push({op:"+",field:"criteria",text:r.text}),r.op==="remove"&&s.push({op:"-",field:"criteria",text:r.text});else{let r=u.map(p=>p.text);for(let p of i)r.includes(p)||s.push({op:"-",field:"criteria",text:p});for(let p of r)i.includes(p)||s.push({op:"+",field:"criteria",text:p})}return s}function $(e){let t=e.filter(r=>r.field==="criteria"),s=t.filter(r=>r.op==="+").length,o=t.filter(r=>r.op==="-").length,i=[...new Set(e.filter(r=>r.field!=="criteria").map(r=>r.field))],u=[];return t.length>0&&u.push(`${t.length} criteria changed \xB7 +${s} \u2212${o}`),i.length>0&&u.push(`${i.join("/")} reworded`),u.join(" \xB7 ")||"no field changes"}var z={high:0,med:1,low:2};function B(e,t){return t?e.nameOf.get(t)??`${t.slice(0,19)}\u2026`:"(new)"}function O(e,t){if(!t)return;let s=e.edgesInto(t).filter(o=>o.type===A.BELONGS_TO||o.type===A.SCOPED_TO);if(s.length!==0)return{stale:s.length,direct:s.slice(0,3).map(o=>B(e,o.src))}}function X(e){return G(e).map(t=>({...t.source_id!==void 0?{source_id:t.source_id}:{},anchor:t.anchor,quote:t.quote??""}))}function S(e,t){let s=Y(e),o=[];for(let i of s.updates){let u=t.resolve(i.matches_existing.cid),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{},g=Q(p,i);o.push({key:b("MODIFY",i.matches_existing.cid),kind:"MODIFY",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.title,changeLine:i.change_note??$(g),diff:g,diffSummary:g.length>4?$(g):null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),...i.matches_existing?.reason!==void 0?{tier:i.matches_existing.reason}:{},...O(t,r)!==void 0?{impact:O(t,r)}:{},payload:i})}for(let i of s.adds)o.push({key:b("ADD",i.temp_ref),kind:"ADD",display:"(new)",title:i.title,changeLine:i.summary??i.title,diff:[],diffSummary:null,...i.risk!==void 0?{risk:i.risk}:{},cites:X(i),payload:i});for(let i of s.archives){let u=t.resolve(i.target),r=u?t.tipOf(u.cid):null,p=(r?t.getNode(r)?.content:void 0)??{};o.push({key:b("ARCHIVE",i.target),kind:"ARCHIVE",...r?{ref:r}:{},display:B(t,r),title:typeof p.title=="string"?p.title:i.target,changeLine:i.reason,diff:[],diffSummary:null,...typeof p.risk=="string"?{risk:p.risk}:{},cites:[],reason:i.reason,basis:i.basis,...O(t,r)!==void 0?{impact:O(t,r)}:{}})}return o.sort((i,u)=>(z[i.risk??"low"]??2)-(z[u.risk??"low"]??2))}function j(e,t){return e.filter(s=>!(s.key in t))}async function Z(e){let{contextDir:t,graph:s,card:o,verdict:i,by:u}=e,r=null;if(o.kind!=="ADD"){let n=o.ref?s.resolve(o.ref):null;if(r=n?s.tipOf(n.cid):null,!r||(s.trust.get(r)??null)==="archived")return{ok:!1,refusal:`its target ${o.display} was retired while the review was open \u2014 nothing landed`}}if(i==="reject")return e.signals?.({ref:o.display,verdict:"reject",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"nothing saved \u2014 rejections aren't remembered yet; it may be re-proposed"};if(i==="defer"){let n=de({contextDir:t,card:o,note:e.note,changeBasis:e.changeBasis,tip:r,proposalId:e.proposalId});return n.ok?(e.signals?.({ref:o.display,verdict:"defer",...e.note?{reason:e.note}:{}}),{ok:!0,landed:"none",note:"gap recorded \u2014 visible in cover gaps until a later verdict resolves it"}):{ok:!1,refusal:n.refusal}}if(e.changeBasis?.to_cid){let n=s.resolve(e.changeBasis.source_id);if(!n)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} no longer resolves \u2014 cannot verify this changeset is current; re-run maintain reconcile`};if(n.cid!==e.changeBasis.to_cid)return{ok:!1,refusal:`the source ${e.changeBasis.source_id} moved again while this review was open \u2014 re-run maintain reconcile to refresh the changeset`}}if(o.kind==="ARCHIVE"){let n=(e.proposal.archived??[]).filter(c=>{let y=s.resolve(c.target);return y!=null&&s.tipOf(y.cid)===r}),l=V({...e.proposal,archived:n},s);if(n.length===0||l.errors.length>0)return{ok:!1,refusal:l.errors.length>0?`${l.errors.map(c=>c.detail).join("; ")} \u2014 nothing landed; the card re-presents`:`its archive op no longer resolves to ${o.display} \u2014 re-run maintain reconcile`};let h;try{h=H({contextDir:t,graph:s,verdicts:new Map([[r,{resolution:"rejected",...o.reason??e.note?{reason:o.reason??e.note}:{}}]]),by:u})}catch(c){if(c instanceof E)return{ok:!1,refusal:"concurrent activity kept moving the store \u2014 try the card again"};throw c}return h.errors?{ok:!1,refusal:h.errors.map(c=>c.detail).join("; ")}:(e.signals?.({ref:o.display,verdict:"archive"}),F({contextDir:t,graph:s,targetTip:r,resolvedBy:r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:"archived"})}let p=o.payload,g=o.kind==="MODIFY"&&r&&p.matches_existing&&r!==p.matches_existing.cid?{...p,matches_existing:{...p.matches_existing,cid:r}}:p,R={version:1,read_basis:s.latestHash,source:e.proposal.source,...e.proposal.sources?{sources:e.proposal.sources}:{},use_cases:[g]},a=await W(J(t,e.sid??`card-${process.pid}`),{verb:"maintain",ucTargets:r?[{ref:r}]:[],newBuCandidates:o.kind==="ADD"?[{tempRef:g.temp_ref,title:g.title,probeText:`${g.title} ${g.summary??""}`.trim()}]:[],sourcePins:[],readBasis:s.latestHash},n=>{let l=M({contextDir:t,graph:n.graph,proposal:R,proposalId:`${e.proposalId}:${o.key}`,verdicts:new Map([[g.temp_ref,{resolution:"approved"}]]),by:u,autoName:!0,allowStaleBasis:!0,eventIds:n.eventIds("maintain",1),...e.sid?{sid:n.sid}:{},probeHits:n.probeHits});return l.errors!==null?{errors:l.errors}:{result:l,record:l.record}});if(!a.ok||!("result"in a))return{ok:!1,refusal:!a.ok&&a.kind==="validation"?a.errors.map(l=>l.detail).join("; "):"concurrent activity kept moving the store \u2014 try the card again"};e.signals?.({ref:o.display,verdict:"approve"});let d=a.result.record?.nodes.find(n=>n.label==="usecase")?.cid,f=o.kind==="MODIFY"?d??r??void 0:d;return o.kind==="MODIFY"&&r&&F({contextDir:t,graph:s,targetTip:r,resolvedBy:d??r,...e.changeBasis?{sourceId:e.changeBasis.source_id}:{},by:u}),{ok:!0,landed:o.kind==="MODIFY"?"successor":"minted",...f?{offer:{kind:o.kind==="MODIFY"?"evolve":"design",target:f}}:{}}}function de(e){let{card:t,changeBasis:s}=e,o={kind:"reconcile_deferred",derived:!0,text:t.changeLine||t.title,...t.risk?{risk:t.risk}:{},...e.note?{risk_rationale:e.note}:{},...e.tip?{ref:t.display,uc:e.tip}:{},...s?{basis:{source_id:s.source_id,from_cid:s.from_cid??"",to_cid:s.to_cid??""}}:{},...e.proposalId?{proposal_id:e.proposalId}:{},...t.payload?.temp_ref?{temp_ref:t.payload.temp_ref}:{}};return U({contextDir:e.contextDir,content:o,...e.tip?{annotates:e.tip}:{}})}function se(e,t){return v(e,"proposals",t,"verdicts.json")}function C(e,t){try{return JSON.parse(N(se(e,t),"utf8"))}catch{return{verdicts:{}}}}function ee(e,t,s){let o=v(e,"proposals",t);re(o,{recursive:!0});let i=v(o,`.verdicts.${process.pid}.tmp`);oe(i,JSON.stringify(s,null,2)+`
|
|
3
3
|
`),ie(i,se(e,t))}function T(e,t){try{return JSON.parse(N(v(e,"proposals",t,"proposal.json"),"utf8"))}catch{return null}}function L(e,t){let s=v(e,"sessions");if(!te(s))return null;for(let o of ne(s)){let i;try{i=P(e,o)}catch{continue}if(!i?.reconcile||new Date(i.expires_at).getTime()<=Date.now()||C(e,i.reconcile.proposal_id).resolved)continue;let r=i.change_basis?.source_id??Object.keys(i.read_basis)[0]??"";if(!(t!==void 0&&r!==t))return{sid:i.sid,proposalId:i.reconcile.proposal_id,source:r,...i.change_basis?{changeBasis:{source_id:i.change_basis.source_id,to_cid:i.change_basis.new_head}}:{}}}return null}var fe=80;function pe(e){return{kind:e.kind,ref:e.display,title:e.kind==="ADD"?e.title:`${e.display} \xB7 ${e.title}`,why:e.changeLine,origin:"content-change",...e.tier!==void 0?{tier:e.tier}:{},...e.diffSummary==null&&e.diff.length>0?{diff:e.diff}:{},...e.diffSummary!=null?{diffSummary:e.diffSummary,viewDiff:!0}:{},...e.cites.length>0?{citeLines:e.cites.map(t=>`cite ${t.source_id??"conversation"} ${t.anchor} \u2014 "${t.quote.slice(0,fe)}"`)}:{},...e.impact?{impact:{stale_refs:Array(e.impact.stale).fill("\xB7"),...e.impact.direct.length>0?{direct_refs:e.impact.direct}:{}}}:{}}}function Be(e){let t=e.contextDir,s=e.changeContext?.source_id,o=new Map;e.changeContext&&o.set(e.changeContext.source_id,e.changeContext.old_head);let i=a=>{let d=o.get(a);if(d)return d;try{let f=K(t,a);return f&&o.set(a,f.old_head),f?.old_head}catch{return}},u=v(t,"proposals",".reconcile-steer-carry.json"),r=()=>{try{return JSON.parse(N(u,"utf8"))}catch{return null}},p=(a,d,f)=>{let n=r();if(!n||n.source!==f)return d;let l=C(t,a),h=!1;for(let c of d)(n.keys.includes(c.key)||c.kind==="ADD"&&n.addTitles.includes(c.title.toLowerCase()))&&!(c.key in l.verdicts)&&(l.verdicts[c.key]={verdict:"steer",at:new Date().toISOString()},h=!0);h&&ee(t,a,l);try{le(u)}catch{}return d},g=(a,d)=>{let f=T(t,a);if(!f)return[];let n=p(a,S(f,D(t)),d),l=C(t,a);return j(n,l.verdicts)},R=()=>{let a=v(t,"sessions");if(!te(a))return null;for(let d of ne(a)){let f;try{f=P(t,d)}catch{continue}if(!f||new Date(f.expires_at).getTime()<=Date.now())continue;let n=(f.ingest_schedule??[]).filter(l=>l.status==="skipped"&&(l.note??"").includes("review"));if(n.length>0)return{source:n[0].source_id,count:n.length}}return null};return{pending(){let a=L(t,s);if(a){let f=g(a.proposalId,a.source).length;return f>0?{source:a.source,count:f,kind:"cards"}:null}let d=R();return d?{source:d.source,count:d.count,kind:"needs-run"}:null},loadCards(){let a=L(t,s);if(!a)return[];let d=g(a.proposalId,a.source),f=d.filter(n=>n.kind==="ADD"||n.ref!=null);for(let n of d.filter(l=>l.kind!=="ADD"&&l.ref==null))e.note?.(`dropped: [${n.kind}] ${n.title} \u2014 its target was retired while the review was open; nothing lands`);return f.map(n=>({key:n.key,card:pe(n),viewLines:n.diff}))},noteSteer(){let a=L(t,s);if(!a)return;let d=T(t,a.proposalId);if(!d)return;let f=C(t,a.proposalId),n=S(d,D(t)).filter(c=>c.key in f.verdicts),l={source:a.source,keys:n.map(c=>c.key),addTitles:n.filter(c=>c.kind==="ADD").map(c=>c.title.toLowerCase())},h=`${u}.${process.pid}.tmp`;re(v(t,"proposals"),{recursive:!0}),oe(h,JSON.stringify(l,null,2)+`
|
|
4
|
-
`),ie(h,u)},async applyVerdict(a,d,f){let n=L(t,s);if(!n)return{ok:!1,refusal:"the held changeset is gone \u2014 nothing to verdict"};let l=T(t,n.proposalId);if(!l)return{ok:!1,refusal:`proposal ${n.proposalId} is unreadable \u2014 re-run maintain reconcile`};if(a in C(t,n.proposalId).verdicts)return{ok:!1,refusal:"that change was already verdicted (another surface?) \u2014 refresh the review"};let h=D(t),c=S(l,h).find(x=>x.key===a);if(!c)return{ok:!1,refusal:"that change no longer builds a card \u2014 the set may have moved; re-open the review"};let y=i(n.source),I=n.changeBasis?{source_id:n.changeBasis.source_id,...y?{from_cid:y}:{},...n.changeBasis.to_cid?{to_cid:n.changeBasis.to_cid}:{}}:void 0,m=await Z({contextDir:t,graph:h,proposal:l,proposalId:n.proposalId,card:c,verdict:d,...f?{note:f}:{},by:{kind:"human",id:"owner"},sid:n.sid,...I?{changeBasis:I}:{},signals:x=>q(t,x.ref,x.verdict,x.reason)});if(!m.ok)return{ok:!1,refusal:m.refusal};let k=C(t,n.proposalId);return k.verdicts[a]={verdict:d,...f?{note:f}:{},at:new Date().toISOString()},j(S(l,D(t)),k.verdicts).length===0&&(k.resolved=!0),ee(t,n.proposalId,k),{ok:!0,line:`${d==="approve"?c.kind==="ARCHIVE"?"retired":"approved":d==="reject"?"rejected":"deferred"} change \xB7 [${c.kind}] ${c.display}${c.kind==="ADD"?"":` ${c.title}`} (you)`,...m.note?{note:m.note}:{},...m.offer&&m.offer.target?{offer:{kind:m.offer.kind,key:m.offer.target,title:c.kind==="ADD"?c.title:c.display}}:{}}},async startReview(a){let d=e.runPostureChild??(async(l,h)=>{let[{runExtract:c},{runAgent:y},{resolveAgentAuthEnv:I},{preflightTurn:m}]=await Promise.all([import("./run-
|
|
4
|
+
`),ie(h,u)},async applyVerdict(a,d,f){let n=L(t,s);if(!n)return{ok:!1,refusal:"the held changeset is gone \u2014 nothing to verdict"};let l=T(t,n.proposalId);if(!l)return{ok:!1,refusal:`proposal ${n.proposalId} is unreadable \u2014 re-run maintain reconcile`};if(a in C(t,n.proposalId).verdicts)return{ok:!1,refusal:"that change was already verdicted (another surface?) \u2014 refresh the review"};let h=D(t),c=S(l,h).find(x=>x.key===a);if(!c)return{ok:!1,refusal:"that change no longer builds a card \u2014 the set may have moved; re-open the review"};let y=i(n.source),I=n.changeBasis?{source_id:n.changeBasis.source_id,...y?{from_cid:y}:{},...n.changeBasis.to_cid?{to_cid:n.changeBasis.to_cid}:{}}:void 0,m=await Z({contextDir:t,graph:h,proposal:l,proposalId:n.proposalId,card:c,verdict:d,...f?{note:f}:{},by:{kind:"human",id:"owner"},sid:n.sid,...I?{changeBasis:I}:{},signals:x=>q(t,x.ref,x.verdict,x.reason)});if(!m.ok)return{ok:!1,refusal:m.refusal};let k=C(t,n.proposalId);return k.verdicts[a]={verdict:d,...f?{note:f}:{},at:new Date().toISOString()},j(S(l,D(t)),k.verdicts).length===0&&(k.resolved=!0),ee(t,n.proposalId,k),{ok:!0,line:`${d==="approve"?c.kind==="ARCHIVE"?"retired":"approved":d==="reject"?"rejected":"deferred"} change \xB7 [${c.kind}] ${c.display}${c.kind==="ADD"?"":` ${c.title}`} (you)`,...m.note?{note:m.note}:{},...m.offer&&m.offer.target?{offer:{kind:m.offer.kind,key:m.offer.target,title:c.kind==="ADD"?c.title:c.display}}:{}}},async startReview(a){let d=e.runPostureChild??(async(l,h)=>{let[{runExtract:c},{runAgent:y},{resolveAgentAuthEnv:I},{preflightTurn:m}]=await Promise.all([import("./run-URPGHOQM.js"),import("./bridge-5Z3BIB77.js"),import("./spawner-J67QR4QP.js"),import("./turn-preflight-JGYT7LXP.js")]),k=await I();return c({mode:"override",posture:"reconcile",source:l,changeContext:h},{contextDir:t,agent:y,preflightTurn:()=>m(k),ask:async _=>_.map(w=>({id:w.id,selected_index:w.recommended_index,free_text:null})),review:async _=>new Map(_.map(w=>[w.temp_ref,{resolution:"skipped"}])),confirmStale:async()=>!0,out:_=>e.note?.(_),progress:()=>{},isTTY:!1,auth:k})}),{buildChangeContext:f}=await import("./reconcile-engine-UKWPG2LV.js"),n=f(t,a);return n?(o.set(a,n.old_head),d(a,n)):(e.note?.(`no change context for ${a} \u2014 nothing to review`),2)}}}export{Be as makeReconcileDeps,C as readVerdictLedger,pe as toWalkCard};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-3POR47RC.js";import"./chunk-AFPHLUQ5.js";import"./chunk-RLRNLIRS.js";import"./chunk-OS4VSIHT.js";import"./chunk-TRJUD3XJ.js";import"./chunk-JFAFKHDX.js";import"./chunk-JZ26R6UL.js";import"./chunk-DNNZ353O.js";import"./chunk-5DT7PIGB.js";import"./chunk-XWKUZJCP.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";export{g as EVOLVABLE,d as RECONCILE_NOTE_CHANGED,c as RECONCILE_SKIPPED_ARMS,j as buildChangeContext,l as buildReconcilePlan,i as capDiff,a as commitHeldRows,k as commitOneHeldRow,e as isLive,h as lineDiff,o as liveReextractSeam,m as liveReingestSeam,n as liveRemoteReingestSeam,f as parentUc,b as rowImpactOf};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
2
|
import{a as n}from"./chunk-3MSXQU2C.js";import"./chunk-UR6MHSHU.js";function p(t){let s=t.sessionName!==null,e={type:"recording_state",enabled:!0,session_id:t.sessionId,persist:s};return t.sessionName&&(e.session_name=t.sessionName),t.testPath&&(e.test_path=t.testPath),t.outputPath&&(e.output_path=t.outputPath),e}async function g(t){if(t.isAgent){process.stdout.write(JSON.stringify(p(t))+`
|
|
3
|
-
`);return}let s=(await import("./react-QWOAB3TB.js")).default,{render:e,useApp:a}=await import("./build-JIKYOZUH.js"),{useEffect:o}=s,{InfoBox:r}=await import("./InfoBox-
|
|
3
|
+
`);return}let s=(await import("./react-QWOAB3TB.js")).default,{render:e,useApp:a}=await import("./build-JIKYOZUH.js"),{useEffect:o}=s,{InfoBox:r}=await import("./InfoBox-JLTMKVDE.js"),u=t.sessionName?[{label:"session",value:t.sessionName},{label:"test",value:n(t.testPath??"")},{label:"output",value:n(t.outputPath??"")}]:[{label:"session",value:"ephemeral"},{label:"note",value:"use /name <name> to persist this session"}];function l(){let{exit:i}=a();return o(()=>{let c=setTimeout(()=>i(),50);return()=>clearTimeout(c)},[i]),s.createElement(r,{title:"Recording",titleColor:"#ff9500",rows:u})}await e(s.createElement(l),{stdout:process.stderr}).waitUntilExit()}export{p as buildRecordingStateEvent,g as printRecordingBanner};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{b as a,c as b,d as c,e as d,f as e}from"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{d as discoverAll,a as knownPlatforms,c as providerFor,b as registeredPlatforms,e as resolveTarget};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk-
|
|
2
|
+
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g}from"./chunk-DZGCXKKI.js";import"./chunk-2WVKOZ6W.js";import"./chunk-VE3SUJMA.js";import"./chunk-G7VQCS4J.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{d as buildAutoDefaultAnnouncement,f as buildAutoDefaultedEvent,e as buildAutoDefaultedNdjson,c as buildRemediationMessage,b as decideGateAction,a as loadCachedIds,g as requireProjectFolder};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{e as f,f as u}from"./chunk-QGKPLOUI.js";import"./chunk-2KDGIZED.js";import"./chunk-YRFMPIU2.js";import"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-AW2XUHH4.js";import"./chunk-HEAIJCGZ.js";import"./chunk-BRIEBB2U.js";import"./chunk-4JOD47QI.js";import"./chunk-RZ4F3BHX.js";import{a as c,e as l}from"./chunk-EYOCNMUM.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";var m=["desktop","emulator","simulator"];function v(e,n){return e.kind==="app_id"?!0:n==="emulator"?e.kind==="apk":e.kind==="zip"}function h(e){let{flags:n,saved:i}=e,d=[],s;if(n.target!==void 0){if(!m.includes(n.target))return{kind:"invalid",message:`--target must be one of desktop, emulator, simulator (got "${n.target}")`};s=n.target}else{let t=c(i?.tui_target,i?.default_target?.kind);if(t.kind==="choose-mobile")return{kind:"choose-mobile-kind"};s=t.kind==="unset"?"desktop":t.kind}if(s==="desktop"){for(let[t,a]of[["--device",n.device],["--app",n.app]])a!==void 0&&d.push(`ignored ${t} ${a}: session target is desktop \u2014 set --target emulator|simulator to run on a device`);return{kind:"web",warnings:d}}if(!e.host.supported)return{kind:"invalid",message:e.host.reason??"this machine cannot run mobile targets."};let p=[],o;n.device!==void 0?o={value:n.device,source:"flag"}:i?.default_target&&i.default_target.kind===s?o={value:i.default_target.id,source:"saved"}:p.push("device");let r;if(n.app!==void 0){let t=u(n.app);if(!t)return{kind:"invalid",message:`${n.app}: ${f}`};if(!v(t,s))return{kind:"invalid",message:s==="emulator"?`--app ${n.app} cannot run on an emulator (needs an .apk, or an APP\u2026 id).`:`--app ${n.app} cannot run on a simulator (needs a .zip of the .app bundle, or an APP\u2026 id).`};r={value:n.app,source:"flag"}}else{let t=i?.default_app,a=t?u(t):null;a&&v(a,s)&&i?.default_target?.kind===s?r={value:t,source:"saved"}:p.push("app")}return{kind:"mobile",target:s,...o?{device:o}:{},...r?{app:r}:{},missing:p,warnings:d}}function R(e){return e.target==="desktop"?"Running on: Desktop \xB7 Chrome":`Running on: ${l(e.target)} \xB7 ${e.deviceLabel} \xB7 ${e.appLabel}`}var g={emulator:"</path/to/app.apk | APPid>",simulator:"</path/to/app.zip | APPid>"};function S(e,n){let i=l(e).toLowerCase();return n==="device"?[`session target is "${i}" but no device is set.`," See devices: kane-cli doctor",' Set one: kane-cli config set-device "<name>"',' Or per-run: --device "<name>"'].join(`
|
|
3
|
+
`):[`session target is "${i}" but no app is set.`,` Set one: kane-cli config set-app ${g[e]}`,` Or per-run: --app ${g[e]}`].join(`
|
|
4
|
+
`)}function P(e){return[`saved device "${e}" was not found on this machine.`," See devices: kane-cli doctor",' Set one: kane-cli config set-device "<name>"'].join(`
|
|
5
|
+
`)}function T(e,n){return[`saved app ${e} no longer exists on disk.`," The build may have been moved or cleaned. Set a new one:",` kane-cli config set-app ${g[n]}`].join(`
|
|
6
|
+
`)}var $=['session target is "mobile" from an older version \u2014 say which kind:'," kane-cli config set-target emulator|simulator"].join(`
|
|
7
|
+
`);export{$ as CHOOSE_MOBILE_KIND_MESSAGE,v as appSuitsTarget,R as formatRunningOn,S as missingPieceMessage,h as resolveRunIntent,T as staleAppMessage,P as staleDeviceMessage};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a,b}from"./chunk-
|
|
2
|
+
import{a,b}from"./chunk-OTTGS2TE.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-UR6MHSHU.js";export{a as AuthResolver,b as classifyAuthFailure};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as x}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import{A as O,p as V}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import{d as N}from"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-
|
|
2
|
+
import{b as x}from"./chunk-OS4VSIHT.js";import"./chunk-5DT7PIGB.js";import"./chunk-CH273NAE.js";import{A as O,p as V}from"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import{d as N}from"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";import{readFileSync as M}from"fs";var P=new Set(["derived","skipped","archived","drift"]),q={kind:"human",id:process.env.USER??"operator"};function $(r,t){return r.nameOf.get(t)??t.slice(0,19)}function A(r,t){let o=r.getNode(t)?.content??{},h=r.derivesInto(t)[0]?.props.anchor;return{cid:t,uc:{temp_ref:t,title:String(o.title??o.text??""),summary:o.summary!==void 0?String(o.summary):void 0,risk:String(o.risk??"med"),cite:{anchor:typeof h=="string"?h:"\u2014",quote:""},depends_on_hint:[],matches_existing:null}}}function G(r,t){let o=new Set,{records:h}=N(r);for(let i of h){if(i.proposal_id==null)continue;let u=new Set(i.review.map(e=>e.id));for(let e of i.nodes)u.has(e.cid)||o.add(e.cid)}for(let i of[...o])(t.trust.get(i)!=="derived"||t.superseded.has(i))&&o.delete(i);return o}var U=new Set(["approved","edited","rejected","skipped","supersede"]);function D(r){let t;try{t=JSON.parse(r)}catch(i){return{errors:[`not valid JSON: ${i instanceof Error?i.message:String(i)}`]}}if(!Array.isArray(t))return{errors:['expected a top-level array of {"ref", "resolution", ...} entries']};let o=[],h=[];return t.forEach((i,u)=>{if(i==null||typeof i!="object"||Array.isArray(i)){o.push(`[${u}]: not an object`);return}let e=i;(typeof e.ref!="string"||!e.ref.trim())&&o.push(`[${u}]: "ref" (slug or cid) is required`),(typeof e.resolution!="string"||!U.has(e.resolution))&&o.push(`[${u}]: "resolution" must be one of approved | edited | rejected | skipped | supersede`),e.resolution==="supersede"&&(typeof e.supersede_target!="string"||!e.supersede_target.trim())&&o.push(`[${u}]: resolution "supersede" requires "supersede_target" (slug or cid)`),e.edit!==void 0&&(e.edit==null||typeof e.edit!="object"||Array.isArray(e.edit))&&o.push(`[${u}]: "edit" must be an object ({title?, summary?, risk?})`),o.length===0&&h.push(e)}),o.length>0?{errors:o}:{entries:h}}async function Q(r,t,o,h=process.cwd()){let i=r.queue??"derived";if(!P.has(i))return t.out(`unknown queue ${i} \u2014 one of: derived | skipped | archived | drift`),2;if(r.mode!=null&&r.mode!=="agent"&&r.mode!=="ci")return(t.err??t.out)(`error: review --mode must be agent | ci, got '${r.mode}'`),2;r.mode==="agent"&&(r={...r,json:!0});let u=x(h,t);if(!u)return 2;let e=O(u),m=n=>(t.err??t.out)(n);if(r.allowArchive&&!r.because?.trim())return m('error: --allow-archive requires --because "<reason>" (the audit trail on the record)'),2;if(r.mode==="ci"&&r.allowArchive)return m("error: ci mode never archives \u2014 nothing committed"),2;if((r.approve?.length??0)>0||(r.skip?.length??0)>0||(r.defer?.length??0)>0){if(r.verdicts)return m("error: --approve/--skip/--defer and --verdicts are mutually exclusive"),2;let n=new Map,c=[];for(let d of r.approve??[]){let f=e.resolve(d),g=f&&!e.superseded.has(f.tip)?f.tip:null;if(!g){c.push(`${d}: names nothing in the graph`);continue}n.set(g,{resolution:"approved"})}for(let d of[...r.skip??[],...r.defer??[]])e.resolve(d)||c.push(`${d}: names nothing in the graph`);if(c.length>0){for(let d of c)m(`error: ${d}`);return m("error: nothing committed (structured verdicts are atomic \u2014 fix every offender and re-run)"),2}if(n.size===0)return t.out("nothing changed \u2014 every ref was skipped/deferred"),0;let l=V({contextDir:u,graph:e,verdicts:n,by:q});if(l.errors){for(let d of l.errors)m(`${d.code}: ${d.detail}`);return 1}return t.out(`review: committed record ${l.record.seq} \u2014 ${n.size} approved`),0}if(r.verdicts){let n=s=>(t.err??t.out)(s),c;try{c=M(r.verdicts,"utf8")}catch{return n(`error: cannot read verdicts file ${r.verdicts}`),2}let l=D(c);if("errors"in l){for(let s of l.errors)n(`error: --verdicts ${r.verdicts}: ${s}`);return 2}let d=new Set([...e.trust.entries()].filter(([s,a])=>(a==="derived"||a==="archived")&&!e.superseded.has(s)).map(([s])=>s)),f=new Map,g=[];for(let s of l.entries){let a=e.resolve(s.ref),p=a&&!e.superseded.has(a.tip)?a.tip:null;if(!p){g.push(`${s.ref}: names nothing in the graph`);continue}if(!d.has(p)){g.push(`${s.ref}: not in a review queue (trust: ${e.trust.get(p)??"?"})`);continue}if(f.has(p)){g.push(`${s.ref}: duplicate \u2014 an earlier entry already resolves to this node (${$(e,p)})`);continue}f.set(p,{resolution:s.resolution,...s.reason?{reason:s.reason}:{},...s.edit?{edit:s.edit}:{},...s.supersede_target?{supersedeTarget:s.supersede_target}:{}})}if(g.length>0){for(let s of g)n(`error: --verdicts: ${s}`);return n("error: nothing committed (the verdicts file is atomic \u2014 fix every offender and re-run)"),2}let y=[...f.entries()].filter(([,s])=>s.resolution==="rejected"||s.resolution==="supersede");if(y.length>0&&r.mode==="ci")return n(`error: ci mode never archives \u2014 ${y.length} retiring verdict(s) (rejected/supersede) present, nothing committed`),2;if(y.length>0&&r.allowArchive){let{archiveImpact:s}=await import("./feeder-C3TOJPKK.js");for(let[a,p]of y){let R=p.resolution==="supersede"?(()=>{let j=p.supersedeTarget?e.resolve(p.supersedeTarget):null;return j&&!e.superseded.has(j.tip)?j.tip:null})():a;if(R===null)continue;let C=s(e,R),I=p.resolution==="supersede"?`supersede (retires ${$(e,R)})`:`archive ${$(e,R)}`;n(`${I}: ${C.design_children} design child(ren) affected`)}for(let[,a]of y)a.reason||(a.reason=r.because)}let E=y.length>0&&!r.allowArchive,S=V({contextDir:u,graph:e,verdicts:f,by:q,...E?{holdArchives:!0}:{}});if(S.errors){if(S.errors[0]?.code==="NO_VERDICTS")return n("nothing changed \u2014 every item was skipped"),0;for(let s of S.errors)n(`${s.code}: ${s.detail}`);return 1}E&&t.out(`${y.length} archive(s) held for interactive confirmation (re-run with --allow-archive --because "<reason>" to apply headlessly)`);let _=new Map;for(let s of f.values())_.set(s.resolution,(_.get(s.resolution)??0)+1);if(r.json)for(let[s,a]of f.entries())t.out(JSON.stringify({ref:$(e,s),cid:s,resolution:a.resolution}));else{let s=[..._.entries()].map(([a,p])=>`${p} ${a}`).join(", ");t.out(`review: committed record ${S.record.seq} \u2014 ${s}`)}return 0}if(i==="drift"){let n=e.staleList().filter(({state:c})=>c!=="superseded").map(({cid:c,state:l})=>({ref:$(e,c),cid:c,state:l,title:String(e.getNode(c)?.content.title??e.getNode(c)?.content.source_id??""),pinned_sources:[...new Set(e.derivesInto(c).map(d=>String(d.props.source_id)))]}));if(r.json){for(let c of n)t.out(JSON.stringify(c));return 0}if(n.length===0)return t.out("drift queue is empty \u2014 every node's evidence matches the current source snapshots"),0;t.out(`${n.length} item(s) whose evidence changed (re-extract the source to re-approve):`);for(let c of n)t.out(` [${c.state}] ${c.ref} \xB7 ${c.title} \xB7 sources: ${c.pinned_sources.join(", ")||"\u2014"}`);return 0}if(!t.isTTY)return t.out("review: verdict queues need a TTY (drift listing works anywhere, or pass --verdicts <file.json>)"),2;let v,w;if(i==="archived")v=[...e.trust.entries()].filter(([n,c])=>c==="archived"&&!e.superseded.has(n)).map(([n])=>A(e,n)),w="skipped";else{let n=G(u,e),c=[...e.trust.entries()].filter(([d,f])=>f==="derived"&&!e.superseded.has(d)).map(([d])=>d),l=i==="skipped"?c.filter(d=>n.has(d)):c;l.sort((d,f)=>Number(n.has(f))-Number(n.has(d))),v=l.map(d=>A(e,d)),w="skipped"}if(v.length===0)return t.out(`${i} queue is empty`),0;t.out(`${v.length} node(s) in the ${i} queue \u2014 approve promotes, reject ${i==="archived"?"re-archives":"archives"}, edit mints a new version, skip leaves it for later`);let T=await o(v,e,w),k=V({contextDir:u,graph:e,verdicts:T,by:q});if(k.errors){if(k.errors[0]?.code==="NO_VERDICTS")return t.out("nothing changed \u2014 every item was skipped"),0;for(let n of k.errors)t.out(`${n.code}: ${n.detail}`);return 1}let b=k.record;return t.out(`committed record ${b.seq}: ${b.review.length} review fact(s), ${b.supersessions.length} supersession(s), ${b.nodes.length} new version(s)`),0}async function F(r,t,o){let[{render:h},i,{ReviewChecklist:u}]=await Promise.all([import("./build-JIKYOZUH.js"),import("./react-QWOAB3TB.js"),import("./ui-JEJGTURD.js")]),e=i.default??i;return new Promise(m=>{let v=h(e.createElement(u,{items:r.map(w=>({uc:w.uc})),defaultResolution:o,onSubmit:w=>{v.unmount(),m(w)}}))})}async function B(r){let{bothTTY:t}=await import("./headless-io-66RG5NN5.js");return Q(r,{out:o=>process.stdout.write(o+`
|
|
3
3
|
`),err:o=>process.stderr.write(o+`
|
|
4
4
|
`),confirm:async()=>!1,isTTY:t()},F)}export{D as parseVerdictsFile,B as reviewCommand,Q as runReviewCommand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a}from"./chunk-MXHHMIO2.js";import"./chunk-KHU7C6EE.js";import"./chunk-IOD3HQVW.js";import"./chunk-3Q6WAK6P.js";import"./chunk-AFPHLUQ5.js";import"./chunk-KU6IXFGZ.js";import"./chunk-ZGBSGZZM.js";import"./chunk-65ZTD5SJ.js";import"./chunk-BRHNRCEZ.js";import"./chunk-BB2W35TW.js";import"./chunk-VGFTNLQQ.js";import"./chunk-L2TV4G56.js";import"./chunk-JFAFKHDX.js";import"./chunk-6KPPGMO2.js";import"./chunk-7BZSCUPP.js";import"./chunk-GFKCTYCA.js";import"./chunk-YKTYVJBN.js";import"./chunk-IMR64OCZ.js";import"./chunk-427OQS2N.js";import"./chunk-JZ26R6UL.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-R7QAS6LZ.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-SDPRO2LE.js";import"./chunk-5DT7PIGB.js";import"./chunk-ZPDM6FO7.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-L5LI2JF4.js";import"./chunk-IDX3TOPY.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-5EOX4MEY.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{a as runDesign};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as b,b as c,c as d,d as e,e as f,f as g,g as h}from"./chunk-V2R3LCA3.js";import"./chunk-ZMNJBUAO.js";import"./chunk-W5TTF7GB.js";import"./chunk-I7TIGB7K.js";import{d as a}from"./chunk-KU6IXFGZ.js";import"./chunk-ZGBSGZZM.js";import"./chunk-65ZTD5SJ.js";import"./chunk-BRHNRCEZ.js";import"./chunk-BB2W35TW.js";import"./chunk-VGFTNLQQ.js";import"./chunk-L2TV4G56.js";import"./chunk-JFAFKHDX.js";import"./chunk-6KPPGMO2.js";import"./chunk-7BZSCUPP.js";import"./chunk-GFKCTYCA.js";import"./chunk-YKTYVJBN.js";import"./chunk-IMR64OCZ.js";import"./chunk-427OQS2N.js";import"./chunk-W4B5LOEX.js";import"./chunk-DNNZ353O.js";import"./chunk-R7QAS6LZ.js";import"./chunk-KRKGZ2ZW.js";import"./chunk-2UIHS2FH.js";import"./chunk-Q2F5QB2W.js";import"./chunk-BKHXPBWN.js";import"./chunk-N2P4MI32.js";import"./chunk-OMQCD3KR.js";import"./chunk-SDPRO2LE.js";import"./chunk-5DT7PIGB.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-IDX3TOPY.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-MSGW4JDG.js";import"./chunk-5EOX4MEY.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{g as dedupPreFlags,c as deliveredImagesWire,e as displaySourceName,b as extractProtocolCtx,a as resolveAnswers,h as runExtract,d as sessionSourceRef,f as sourceBanner};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as A}from"./chunk-
|
|
2
|
+
import{a as A}from"./chunk-HCKH44I2.js";import{H as M,I as P,J as K,K as H,L as U}from"./chunk-KFSUPQAG.js";import"./chunk-ELM6MXGJ.js";import"./chunk-C5UNZ6ZY.js";import"./chunk-S3DAAAE5.js";import"./chunk-MBF3FP5P.js";import"./chunk-5DT7PIGB.js";import{a as _,b as E}from"./chunk-RFR4ZKIC.js";import{a as h,b as k}from"./chunk-YJELGSKJ.js";import{t as L}from"./chunk-GPG3FIN3.js";import"./chunk-2YQ6TW77.js";import"./chunk-ZVHCQMJ6.js";import"./chunk-5DBK6QNS.js";import"./chunk-CJJXT5DO.js";import"./chunk-XWKUZJCP.js";import"./chunk-ZPDM6FO7.js";import"./chunk-EHN5HTUD.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import{c as S}from"./chunk-HMYMSRA4.js";import"./chunk-L5LI2JF4.js";import"./chunk-CTW2VQKS.js";import"./chunk-GZPK6FRP.js";import"./chunk-6IA6QMPH.js";import"./chunk-TDPWFYTJ.js";import{a as T}from"./chunk-T5Y6MOLM.js";import"./chunk-R5T4RLF5.js";import"./chunk-OTTGS2TE.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-DZGCXKKI.js";import"./chunk-2WVKOZ6W.js";import"./chunk-VE3SUJMA.js";import"./chunk-2YEHV2CX.js";import"./chunk-QGKPLOUI.js";import"./chunk-2KDGIZED.js";import"./chunk-YRFMPIU2.js";import"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import{m as R,n as x,o as b}from"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-AW2XUHH4.js";import"./chunk-HEAIJCGZ.js";import"./chunk-BRIEBB2U.js";import"./chunk-4JOD47QI.js";import"./chunk-XO5ZH3ZR.js";import"./chunk-766WGMBU.js";import{a as C}from"./chunk-G7VQCS4J.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import{a as v}from"./chunk-6O3DDOP2.js";import"./chunk-27U4PLPX.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";import{resolve as Y}from"path";import{existsSync as D}from"fs";function O(){return{register:(n,r)=>R(n,r),deregister:n=>x(n),cleanup:(n,r)=>b(n,r),remoteLogger:null}}async function le(n,r){let t=Y(n);if(!D(t))return process.stderr.write(`error: file not found: ${t}
|
|
3
3
|
`),2;if(r.finalValidation!==void 0&&r.finalValidation!=="on"&&r.finalValidation!=="off")return process.stderr.write(`error: --final-validation must be 'on' or 'off'
|
|
4
4
|
`),2;if(!t.endsWith("_test.md"))return process.stderr.write(`error: not a *_test.md file: ${t}
|
|
5
5
|
helpers are import-only \u2014 run a test that @imports it.
|
|
6
6
|
`),2;_(t);let a=!process.stdin.isTTY||!!r.agent,c=O(),s;try{s=L(t)}catch(e){return process.stderr.write(`error: ${e.message}
|
|
7
7
|
`),2}for(let e of s.warnings)process.stderr.write(`warn: ${e}
|
|
8
8
|
`);if(s.steps.length===0)return process.stderr.write(`info: no steps in ${t}; nothing to run.
|
|
9
|
-
`),0;let i;try{i=G(r)}catch(e){if(e instanceof m)return process.stderr.write(e.message),e.exitCode;throw e}let o=new v,l=new
|
|
9
|
+
`),0;let i;try{i=G(r)}catch(e){if(e instanceof m)return process.stderr.write(e.message),e.exitCode;throw e}let o=new v,l=new T,u=!!(r.username&&r.accessKey);await E({isInteractive:!!process.stdin.isTTY&&!r.agent&&!u,creds:o,config:l});let I=o.getActiveProfile()??"default",f=r.env??void 0??o.getDefaultEnv()??"prod",N=C(f),$="v16-alpha",p;try{p=await k({creds:o,env:f,usernameFlag:r.username,accessKeyFlag:r.accessKey,log:()=>{}})}catch(e){return e instanceof h&&e.code==="not_authenticated"?process.stderr.write(`error: Not authenticated. Choose one:
|
|
10
10
|
\u2022 Pass credentials inline: --username <user> --access-key <key>
|
|
11
11
|
\u2022 Run 'kane-cli login --oauth' (browser-based)
|
|
12
12
|
\u2022 Run 'kane-cli login --username <user> --access-key <key>'
|
|
13
13
|
`):e instanceof h&&e.code==="refresh_failed"?process.stderr.write(`error: Token refresh failed. Run 'kane-cli login' to re-authenticate.
|
|
14
14
|
`):process.stderr.write(`error: auth resolution failed: ${e.message}
|
|
15
|
-
`),2}let y=String(p.resolvedCreds?.org_id??"");if(!y)return process.stderr.write("error: TMS did not return an org_id. Run `kane-cli login` again.\n"),2;{let{readMetaIfExists:e,assertOrgMatchOrExit:g}=await import("./testmd-actions-
|
|
15
|
+
`),2}let y=String(p.resolvedCreds?.org_id??"");if(!y)return process.stderr.write("error: TMS did not return an org_id. Run `kane-cli login` again.\n"),2;{let{readMetaIfExists:e,assertOrgMatchOrExit:g}=await import("./testmd-actions-77ELR5UU.js"),d=g(e(t),y);if(d!==null)return d}let w=new S,j=A({isAgent:a,log:(e,g,d,V)=>w.log(e,g,d,V)}),F={path:t,cwd:process.cwd(),opts:r,isAgent:a,disableAskUser:!0,resolved:s,resolvedAuth:p,cliOverrides:i,environment:f,envConfig:N,profile:I,model:$,creds:o,configStore:l,session:w};try{return(await M(F,j,c)).exitCode}catch(e){return process.stderr.write(`error: ${e.message}
|
|
16
16
|
`),2}}var m=class extends Error{constructor(t,a){super(t);this.exitCode=a;this.name="CliArgError"}};function G(n){let r={mode:"mode",assertionMode:"assertion_mode",finalValidation:"final_validation",maxSteps:"max_steps",timeout:"timeout",globalContext:"global_context",localContext:"local_context",codeExport:"code_export",codeLanguage:"code_language",headless:"headless",cdpEndpoint:"cdp_endpoint",wsEndpoint:"ws_endpoint"},t=new Set(["max_steps","timeout"]),a={};for(let[c,s]of Object.entries(r)){let i=n[c];if(i===void 0||i==="")continue;let o=i;if(t.has(s)&&(o=Number(i),Number.isNaN(o))){let l="--"+c.replace(/[A-Z]/g,u=>"-"+u.toLowerCase());throw new m(`error: ${l} must be a number
|
|
17
17
|
`,2)}a[s]=o}return a}export{U as applyCliStepConfig,K as buildStepRunVariables,P as buildTestLevelVariables,G as optsToOverrides,H as replayVariablesForStep,le as runTestMdFile};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as $}from"./chunk-
|
|
2
|
+
import{b as $}from"./chunk-ZGBSGZZM.js";import"./chunk-L2TV4G56.js";import"./chunk-GFKCTYCA.js";import{a as g}from"./chunk-CH273NAE.js";import{e as p,f as m,h as f}from"./chunk-IDX3TOPY.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";function w(t,i=new Date){let n=new Date(t).getTime()-i.getTime();if(Number.isNaN(n))return"unknown";if(n<=0)return"EXPIRED";let e=Math.floor(n/36e5),o=Math.round(n%36e5/6e4);return e>0?`${e}h ${o}m`:`${o}m`}function l(t){return t.verb==="design"?`kane-cli design tests --resume ${t.sid} --mode ${t.mode==="agent"?"agent":"interactive"}`:t.verb===void 0||t.verb==="extract"?`kane-cli context extract --resume ${t.sid}${t.mode==="agent"?" --mode agent":""}`:null}function x(t){return t.verb==="design"?t.use_case??"?":t.verb===void 0||t.verb==="extract"?"extract corpus":`${t.verb} session`}function v(t,i,n){let e,o,s;try{if(e=p(t,i),!e)return process.stderr.write(`error: no session ${i} (kane-cli context sessions lists them)
|
|
3
3
|
`),2;o=e.pending.questions.map($),s=l(e)}catch{return process.stderr.write(`error: session ${i} has a corrupt state.json \u2014 remove with: kane-cli context sessions clean ${i}
|
|
4
4
|
`),2}let r=new Date(e.expires_at).getTime()<=Date.now();if(n)return process.stdout.write(JSON.stringify({sid:e.sid,verb:e.verb??"extract",use_case:e.use_case,mode:e.mode,created_at:e.created_at,expires_at:e.expires_at,...r?{expired:!0}:s!==null?{resume:s}:{},pending_questions:o,pending_proposals:e.pending.proposals.length,assumed:e.assumed,...e.force?{force:!0}:{}})+`
|
|
5
5
|
`),0;let c=x(e);process.stdout.write(`${e.sid} ${e.verb??"extract"} \xB7 ${c} \xB7 ${e.mode} \xB7 expires in ${w(e.expires_at)}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as p,b as g}from"./chunk-
|
|
2
|
+
import{a as p,b as g}from"./chunk-DO5HAO3H.js";import{b as m}from"./chunk-QW6EZC53.js";import"./chunk-G7VQCS4J.js";import{a as d}from"./chunk-RZ4F3BHX.js";import"./chunk-6O3DDOP2.js";import{a as f,h as a,i as u}from"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";import{mkdirSync as y,writeFileSync as w,readFileSync as S,rmSync as c,cpSync as v,createWriteStream as T,existsSync as b}from"fs";import{join as s}from"path";import{tmpdir as k}from"os";import{spawn as h}from"child_process";import{Readable as I}from"stream";import{pipeline as $}from"stream/promises";function E(t){try{return S(s(t,"VERSION"),"utf-8").trim()||null}catch{return null}}function L(t,r,l){return l?t!==r:t===null||m(t,r)>0}function C(t){let r=a.split("/").pop()??a;return`https://registry.npmjs.org/${a}/-/${r}-${t}.tgz`}var R=5e3,A=6e4;async function x(){let t=new AbortController,r=setTimeout(()=>t.abort(),R);try{let l=await d(p(),{headers:{Accept:"application/json"},signal:t.signal});if(!l.ok)throw new Error(`Controller returned ${l.status} fetching skill version map`);let i=await l.json(),n=g(i,f);if(!n)throw new Error("No compatible skill version found for this kane-cli build");return n}finally{clearTimeout(r)}}async function _(t){let r=C(t),l=new AbortController,i=setTimeout(()=>l.abort(),A);try{let n=await d(r,{headers:{Accept:"application/octet-stream"},signal:l.signal});if(!n.ok||!n.body)throw new Error(`Failed to download skill tarball (${n.status})`);let e=s(k(),`kane-cli-skill-${t}-${process.pid}.tgz`);return await $(I.fromWeb(n.body),T(e)),e}finally{clearTimeout(i)}}function M(t,r){return new Promise((l,i)=>{y(r,{recursive:!0});let n=h("tar",["-xzf",t,"-C",r,"--strip-components=2","package/skills"],{stdio:["ignore","ignore","pipe"]}),e="";n.stderr?.on("data",o=>{e+=o.toString()}),n.on("error",o=>i(o)),n.on("close",o=>{o===0?l():i(new Error(`tar exited ${o}${e?`: ${e.trim()}`:""}`))})})}async function W(t){let r;try{r=t??await x()}catch(e){return{status:"failed",version:t??"unknown",installedTargets:0,error:e instanceof Error?e.message:String(e)}}let l=u.filter(({dir:e})=>L(E(e),r,!!t));if(l.length===0)return{status:"already-installed",version:r,installedTargets:0};let i=null,n=null;try{if(n=await _(r),i=s(k(),`kane-cli-skill-${r}-stage-${process.pid}`),c(i,{recursive:!0,force:!0}),await M(n,i),!b(s(i,"SKILL.md")))throw new Error(`Unexpected skill tarball layout for v${r}: SKILL.md not at package/skills/ root`);let e=0;for(let{dir:o}of l)try{c(o,{recursive:!0,force:!0}),y(o,{recursive:!0}),v(i,o,{recursive:!0,force:!0}),w(s(o,"VERSION"),r+`
|
|
3
3
|
`),e++}catch{}return e===0?{status:"failed",version:r,installedTargets:0,error:"Could not write to any agent skill directory"}:{status:"installed",version:r,installedTargets:e}}catch(e){return{status:"failed",version:r,installedTargets:0,error:e instanceof Error?e.message:String(e)}}finally{if(n)try{c(n,{force:!0})}catch{}if(i)try{c(i,{recursive:!0,force:!0})}catch{}}}function D(t){switch(t.status){case"installed":return`Installed kane-cli skill v${t.version} (${t.installedTargets}/${u.length} agent dirs). Restart your AI agent (Claude Code / Codex CLI / Gemini CLI) to load it.`;case"already-installed":return`kane-cli skill v${t.version} already installed.`;case"failed":return`Failed to install kane-cli skill: ${t.error??"unknown error"}`}}export{D as formatInstallResult,W as installSkill,L as targetNeedsInstall};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a,b,c,d,e}from"./chunk-OMQCD3KR.js";import"./chunk-SDPRO2LE.js";import"./chunk-UD7KKHPW.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{b as assurancePackageName,d as buildAgentEnv,c as findAssuranceAgent,a as platformPackageName,e as resolveAgentAuthEnv};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as m,g as k}from"./chunk-GFKCTYCA.js";import"./chunk-
|
|
2
|
+
import{b as m,g as k}from"./chunk-GFKCTYCA.js";import{e as g}from"./chunk-IDX3TOPY.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-UR6MHSHU.js";import{join as w}from"path";import{existsSync as y}from"fs";function x(e){return(e.answer?.length??0)>0||(e.approve?.length??0)>0||(e.skip?.length??0)>0||(e.defer?.length??0)>0}function h(e){if(!x(e))return{ok:!0,value:null};let t=[],r=new Set;for(let o of e.answer??[]){let u=o.indexOf("="),c=u>0?o.slice(0,u).trim():"",n=u>0?o.slice(u+1):"";if(!c||!n)return{ok:!1,error:`--answer needs <id>=<option-number-or-text>, got '${o}'`};if(r.has(c))return{ok:!1,error:`--answer target '${c}' given twice \u2014 one answer per id`};if(r.add(c),/^\d+$/.test(n.trim())){let p=Number(n.trim());if(p<1)return{ok:!1,error:`--answer option numbers are 1-based (got '${c}=${n.trim()}')`};t.push({target:c,optionIndex:p-1})}else t.push({target:c,freeText:n})}let i=o=>[...new Set((o??[]).map(u=>u.trim()).filter(Boolean))],s=i(e.approve),a=i(e.skip),d=i(e.defer);for(let[o,u]of[s,a,d].entries())for(let c of u)if([s,a,d].some((p,f)=>f!==o&&p.includes(c)))return{ok:!1,error:`handle '${c}' appears in more than one of --approve/--skip/--defer`};return{ok:!0,value:{answers:t,approve:s,skip:a,defer:d}}}function E(e,t){if(!x(e))return null;let r=t==="extract"?"extract":"design",i=h(e);return i.ok?e.resume?e.mode!=="agent"?`${r}: --answer/--approve/--skip/--defer are the structured agent-mode resume surface \u2014 add --mode agent (interactively, just answer in the session)`:null:`${r}: --answer/--approve/--skip/--defer address a paused session's pending panels \u2014 pair them with --resume <sid>`:`${r}: ${i.error}`}function P(e,t){if(e.archetype==="pause-card")return null;if(e.archetype==="walk-card"){let s=e.body.card??{},a=new Set([e.id]);for(let d of["temp_ref","ref","cid"]){let o=s[d];typeof o=="string"&&o&&a.add(o)}for(let[d,o]of[["approve",t.approve],["skip",t.skip],["defer",t.defer]]){let u=o.find(c=>a.has(c));if(u)return{kind:"verdict",panelId:e.id,ref:u,v:d}}return null}if(e.archetype==="ask"){let s=e.body.questions??[];for(let a=0;a<s.length;a++){let d=t.answers.find(o=>o.target===s[a].id||o.target===e.id);if(d)return d.optionIndex!==void 0?d.optionIndex<0||d.optionIndex>=(s[a].options?.length??0)?null:{kind:"answer",panelId:e.id,qIndex:a,optionIndex:d.optionIndex}:{kind:"answer",panelId:e.id,qIndex:a,freeText:d.freeText??""}}return null}let r=t.answers.find(s=>s.target===e.id);if(!r)return null;let i=e.body.options;return r.optionIndex!==void 0?!Array.isArray(i)||r.optionIndex<0||r.optionIndex>=i.length?null:{kind:"answer",panelId:e.id,qIndex:0,optionIndex:r.optionIndex}:{kind:"answer",panelId:e.id,qIndex:0,freeText:r.freeText??""}}function v(e,t){let r=g(e,t);if(!r)return null;let i=r.pending.questions;try{if(y(w(e,"sessions",t,m))){let a=k(e,t).kane?.pending.questions??[];a.length>0&&(i=a)}}catch{}return{questions:i,panels:[],appliedEvents:r.applied_events??[]}}function I(e){let t=e.questions.map(o=>o.id),r=[],i=[],s=[];for(let o of e.panels){if(s.push(o.id),o.archetype==="ask")for(let u of o.body.questions??[])r.push(u.id);if(o.archetype==="walk-card"){let u=o.body.card??{};for(let c of["temp_ref","ref","cid"]){let n=u[c];typeof n=="string"&&n&&i.push(n)}}}let a=(o,u)=>u.length>0?`${o}: ${u.join(", ")}`:null,d=[a("questions",[...new Set([...t,...r])]),a("panels",s),a("verdict handles",i)].filter(o=>o!==null);return d.length>0?`addressable pending ids \u2014 ${d.join(" \xB7 ")}`:"this session has NO pending panels or questions"}function $(e,t,r,i){let s=[],a=new Map(t.questions.map(n=>[n.id,n])),d=new Map(t.panels.map(n=>[n.id,n])),o=new Map,u=new Set;for(let n of t.panels){if(n.archetype==="ask")for(let p of n.body.questions??[])o.set(p.id,p);if(n.archetype==="walk-card"){let p=n.body.card??{};u.add(n.id);for(let f of["temp_ref","ref","cid"]){let l=p[f];typeof l=="string"&&l&&u.add(l)}}}let c=()=>{let n=t.questions[0],p=n?` --answer ${n.id}=${n.recommendedOptionIndex+1}`:"";return`try: ${i}${p}`};for(let n of e.answers){let p=a.get(n.target)??o.get(n.target);if(p){let l=p.options?.length??0;if(n.optionIndex!==void 0&&(n.optionIndex<0||n.optionIndex>=l))return{ok:!1,error:`error: --answer ${n.target}=${n.optionIndex+1} is out of range \u2014 '${n.target}' has ${l} option(s) (numbers are 1-based)`};continue}let f=d.get(n.target);if(f){let l=f.body.options;if(n.optionIndex!==void 0&&Array.isArray(l)&&(n.optionIndex<0||n.optionIndex>=l.length))return{ok:!1,error:`error: --answer ${n.target}=${n.optionIndex+1} is out of range \u2014 the panel has ${l.length} option(s) (numbers are 1-based)`};continue}if(t.appliedEvents.includes(`resolveq:${r}:${n.target}`)||t.appliedEvents.includes(`assumed:${r}:${n.target}`)){s.push(`note: '${n.target}' was already answered \u2014 --answer ${n.target}=\u2026 is a no-op`);continue}return{ok:!1,error:`error: unknown --answer target '${n.target}' \u2014 ${I(t)}
|
|
3
3
|
${c()}`}}for(let[n,p]of[["--approve",e.approve],["--skip",e.skip],["--defer",e.defer]])for(let f of p){if(u.has(f))continue;let l=u.size>0?`addressable verdict handles: ${[...u].join(", ")}`:"this session has NO pending walk/review cards";return{ok:!1,error:`error: unknown ${n} handle '${f}' \u2014 ${l}
|
|
4
4
|
${c()}`}}return{ok:!0,notes:s}}function S(e,t){let r=[],i=[];for(let s of e){let a=t.answers.find(o=>o.target===s.id);if(!a)continue;i.push(s.id);let d=a.optionIndex!==void 0?s.options[a.optionIndex]?.label??`option ${a.optionIndex+1}`:a.freeText??"";r.push(`- ${s.question} [${s.id}] \u2192 ${d}`)}return r.length===0?{statement:null,matchedQids:[]}:{statement:["Structured resume answers (applied via --answer flags \u2014 these ARE the human's decisions; do not re-ask them):",...r].join(`
|
|
5
5
|
`),matchedQids:i}}var b=/^kane-cli (context extract|design tests) --resume [A-Za-z0-9][A-Za-z0-9._-]*( --mode (agent|interactive|ci|override))?( --answer \S+=\d+)*$/;function A(e){try{let t=typeof e.resume=="string"?e.resume:null;if(!t)return[];let r=[{cmd:t,why:"resume the paused session",title:"Resume the session"}],i=Array.isArray(e.pending_questions)?e.pending_questions.filter(s=>s&&typeof s.id=="string"&&!/\s/.test(s.id)):[];if(i.length>0){let s=i.map(d=>{let o=typeof d.recommended_index=="number"&&d.recommended_index>=0?d.recommended_index:0;return` --answer ${d.id}=${o+1}`}).join(""),a=`${t}${s}`;b.test(a)&&r.push({cmd:a,why:`answer the ${i.length} pending question(s) non-interactively \u2014 --answer <question-id>=<option number (1-based) or free text>, repeatable; shown with each question's recommended option`,title:"Answer via structured flags"})}return r}catch{return[]}}function O(e){let t=null;return{encoding:e.encoding,out:e.out,progress:e.progress,event:r=>{if(r.type==="session_paused"&&!("next"in r)&&typeof r.resume=="string"){let i=A(r);if(i.length>0){t=i,e.event({...r,next:i});return}}e.event(r)},done:(r,i,s)=>e.done(r,i,s??(r===3&&t?t:void 0))}}function R(e,t){return e==="design"?`kane-cli design tests --resume ${t} --mode agent`:`kane-cli context extract --resume ${t} --mode agent`}function Q(e){let t=h(e.opts);if(!t.ok)return{kind:"refuse",error:`error: ${t.error}`,code:"STRUCTURED_FLAGS_USAGE"};if(!t.value)return{kind:"none"};let r=e.opts.resume;if(!r)return{kind:"refuse",error:"error: structured resume flags need --resume <sid>",code:"STRUCTURED_FLAGS_USAGE"};let i=v(e.contextDir,r);if(!i)return{kind:"none"};let s=$(t.value,i,r,R(e.verb,r));if(!s.ok)return{kind:"refuse",error:s.error,code:"STRUCTURED_TARGET_UNKNOWN"};let{statement:a,matchedQids:d}=S(i.questions,t.value);return{kind:"apply",answers:t.value,statement:a,matchedQids:d,notes:s.notes}}export{b as STRUCTURED_RESUME_RE,S as composeAnswerStatement,E as gateStructuredFlags,x as hasStructuredFlags,P as matchPanelInput,h as parseStructuredAnswers,Q as prepareStructuredResume,v as readPendingSets,R as resumeExample,A as structuredNextItems,$ as validateStructuredTargets,O as withStructuredNext};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{f as a}from"./chunk-7Q6M6P4X.js";import"./chunk-3MSXQU2C.js";import"./chunk-6XX4LEVJ.js";import"./chunk-DCY6R5DP.js";import"./chunk-7JWKHKFU.js";import"./chunk-3LJWYRAA.js";import"./chunk-C7HSWZP6.js";import"./chunk-JJHG3BWO.js";import"./chunk-KFSUPQAG.js";import"./chunk-ELM6MXGJ.js";import"./chunk-C5UNZ6ZY.js";import"./chunk-S3DAAAE5.js";import"./chunk-MBF3FP5P.js";import"./chunk-5DT7PIGB.js";import"./chunk-GKYPNSQP.js";import"./chunk-RFR4ZKIC.js";import"./chunk-YJELGSKJ.js";import"./chunk-GPG3FIN3.js";import"./chunk-2YQ6TW77.js";import"./chunk-YFYCCTSL.js";import"./chunk-ZVHCQMJ6.js";import"./chunk-5DBK6QNS.js";import"./chunk-CJJXT5DO.js";import"./chunk-XWKUZJCP.js";import"./chunk-ZPDM6FO7.js";import"./chunk-EHN5HTUD.js";import"./chunk-NVGBE2DR.js";import"./chunk-CH273NAE.js";import"./chunk-3PECJD6S.js";import"./chunk-IOFZSQAA.js";import"./chunk-HMYMSRA4.js";import"./chunk-L5LI2JF4.js";import"./chunk-ZIUAOEUC.js";import"./chunk-CTW2VQKS.js";import"./chunk-GZPK6FRP.js";import"./chunk-6IA6QMPH.js";import"./chunk-TDPWFYTJ.js";import"./chunk-T5Y6MOLM.js";import"./chunk-UV462FZR.js";import"./chunk-EWCAFKLX.js";import"./chunk-5Y2G4NC7.js";import"./chunk-TKGUT425.js";import"./chunk-R5T4RLF5.js";import"./chunk-OTTGS2TE.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-QRZRSAZH.js";import"./chunk-UXDL4XDL.js";import"./chunk-YCCUBQY4.js";import"./chunk-L7MXYCD7.js";import"./chunk-DZGCXKKI.js";import"./chunk-2WVKOZ6W.js";import"./chunk-VE3SUJMA.js";import"./chunk-FMRSMN34.js";import"./chunk-RFHMDQXZ.js";import"./chunk-2YEHV2CX.js";import"./chunk-QGKPLOUI.js";import"./chunk-2KDGIZED.js";import"./chunk-YRFMPIU2.js";import"./chunk-FNH55WSR.js";import"./chunk-TYLYFERW.js";import"./chunk-MSGW4JDG.js";import"./chunk-TZXXJWHA.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-AW2XUHH4.js";import"./chunk-HEAIJCGZ.js";import"./chunk-NX7TM662.js";import"./chunk-RC52N7PC.js";import"./chunk-TFPPEOAK.js";import"./chunk-BRIEBB2U.js";import"./chunk-4JOD47QI.js";import"./chunk-XO5ZH3ZR.js";import"./chunk-766WGMBU.js";import"./chunk-G7VQCS4J.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-EYOCNMUM.js";import"./chunk-6O3DDOP2.js";import"./chunk-UDIQOJEL.js";import"./chunk-FEJXWJ3L.js";import"./chunk-27U4PLPX.js";import{a as o}from"./chunk-DFS4RMVP.js";import{a as t}from"./chunk-HCBYKLMW.js";import{c as n}from"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import{e as r}from"./chunk-UR6MHSHU.js";var e=r(t(),1);async function p(i){let c=i.scenarioLimit!==void 0||i.perScenarioLimit!==void 0?{scenarioLimit:i.scenarioLimit,perScenarioLimit:i.perScenarioLimit}:void 0,{waitUntilExit:m}=n((0,e.jsx)(o,{children:(0,e.jsx)(a,{initialChatMode:"generate",initialObjective:i.objective,initialGenerateLimits:c})}),{exitOnCtrlC:!1});await m()}export{p as runGenerate};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{e as a,f as b,g as c,h as d,i as e,j as f,k as g,l as h,m as i,n as j,o as k,p as l,q as m}from"./chunk-GKYPNSQP.js";import"./chunk-RFR4ZKIC.js";import"./chunk-YJELGSKJ.js";import"./chunk-GPG3FIN3.js";import"./chunk-2YQ6TW77.js";import"./chunk-L5LI2JF4.js";import"./chunk-T5Y6MOLM.js";import"./chunk-OTTGS2TE.js";import"./chunk-L7MXYCD7.js";import"./chunk-56PAQAX5.js";import"./chunk-5EOX4MEY.js";import"./chunk-TFPPEOAK.js";import"./chunk-XO5ZH3ZR.js";import"./chunk-766WGMBU.js";import"./chunk-G7VQCS4J.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import"./chunk-6O3DDOP2.js";import"./chunk-27U4PLPX.js";import"./chunk-HCBYKLMW.js";import"./chunk-C44QQJR4.js";import"./chunk-6YGTRKDT.js";import"./chunk-UR6MHSHU.js";export{i as ExportError,c as assertOrgMatchOrExit,j as exportTestmd,b as metaMatchesOrg,a as readMetaIfExists,d as resolveCurrentOrgId,l as resolveSyncAuth,h as runDeleteAction,k as runExportAction,e as runListAction,f as runListTui,g as runStatusAction,m as runSyncAction};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a}from"./chunk-XO5ZH3ZR.js";import"./chunk-766WGMBU.js";import"./chunk-G7VQCS4J.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{a as refreshOAuthToken};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as t}from"./chunk-
|
|
2
|
+
import{a as t}from"./chunk-G7VQCS4J.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";async function l(n,o,r){let{ControllerClient:e}=await import("./controller-client-OB4WD2C4.js");await new e(t(n).controllerBaseUrl,{username:o,accessKey:r}).getTmsCredentials()}export{l as validateBasicAuth};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a,b,c}from"./chunk-
|
|
2
|
+
import{a,b,c}from"./chunk-GCBKDX2J.js";import"./chunk-I7TIGB7K.js";import"./chunk-BRHNRCEZ.js";import"./chunk-BB2W35TW.js";import"./chunk-YKTYVJBN.js";import"./chunk-DNNZ353O.js";import"./chunk-NVGBE2DR.js";import"./chunk-TH47OOBV.js";import"./chunk-VAYBKR76.js";import"./chunk-CUM23TLF.js";import"./chunk-DUAXZYAD.js";import"./chunk-DBIBROYW.js";import"./chunk-WXHQYYD5.js";import"./chunk-IAHKTEET.js";import"./chunk-UD7KKHPW.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{b as requiresBecause,a as reviewProtocolCtx,c as submitReview};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a,b,c,d}from"./chunk-
|
|
2
|
+
import{a,b,c,d}from"./chunk-QW6EZC53.js";import"./chunk-RZ4F3BHX.js";import"./chunk-27U4PLPX.js";import"./chunk-UR6MHSHU.js";export{d as checkForUpdate,b as compareVersions,c as getSeverity,a as getUpdateCommand};
|