@testmuai/kane-cli 0.6.4 → 0.6.6
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/bin/kane-cli.cjs +91 -0
- package/bin/resolve-runtime.cjs +45 -0
- package/dist/{ChatSurface-VXYU6KFW.js → ChatSurface-LV3KW6WN.js} +1 -1
- package/dist/{ChromeProfilePicker-QWTM7DK6.js → ChromeProfilePicker-6PLUQ5TW.js} +1 -1
- package/dist/{CliFeedbackPrompt-6NVWMONO.js → CliFeedbackPrompt-I4F56IVK.js} +1 -1
- package/dist/{CliUploadProgress-2YRQLECI.js → CliUploadProgress-ULRSPKY3.js} +1 -1
- package/dist/{ConfigView-I4R5M7BO.js → ConfigView-7NMYALEA.js} +1 -1
- package/dist/{EvidenceViewOffer-54GEARRX.js → EvidenceViewOffer-KQKPTMXA.js} +1 -1
- package/dist/{FolderPicker-5VWBYTAK.js → FolderPicker-4IOVDO2P.js} +1 -1
- package/dist/{HelpView-OJZW4XWX.js → HelpView-SHMVMHNU.js} +1 -1
- package/dist/{InfoBox-TGELGCBR.js → InfoBox-W2LZVGQS.js} +1 -1
- package/dist/{LinksBox-B5EBRY26.js → LinksBox-ZS25VTBY.js} +1 -1
- package/dist/{ProfilesView-3SJRIBHQ.js → ProfilesView-XBBRIQ3U.js} +1 -1
- package/dist/{ProjectPicker-72HKMBEY.js → ProjectPicker-AUN47FXS.js} +1 -1
- package/dist/{SaveSessionPrompt-CK5SGNRO.js → SaveSessionPrompt-Z2K225VN.js} +1 -1
- package/dist/SingleShotApp-M7R5PW4X.js +2 -0
- package/dist/{SummaryBox-ABB7ST26.js → SummaryBox-4T545XRB.js} +1 -1
- package/dist/TestMdRunView-JXRXMACE.js +2 -0
- package/dist/{WhoamiView-OF354UGC.js → WhoamiView-GCVD35EX.js} +1 -1
- package/dist/{bind-BWILBZGR.js → bind-JLMT57Q3.js} +2 -2
- package/dist/{bridge-LNDJS3HH.js → bridge-PDJEOSAJ.js} +1 -1
- package/dist/{changelog-BWCEZQ23.js → changelog-D65HWZDM.js} +1 -1
- package/dist/{chunk-AXABTFCD.js → chunk-24OFJ7SE.js} +1 -1
- package/dist/{chunk-UZSG54OY.js → chunk-24VYAMMK.js} +1 -1
- package/dist/{chunk-6LRKYF67.js → chunk-262ES67I.js} +2 -2
- package/dist/{chunk-64QURIT6.js → chunk-2BWRAY3Y.js} +1 -1
- package/dist/{chunk-2K4XOHVK.js → chunk-2WO7G2HO.js} +1 -1
- package/dist/{chunk-BYUARJE7.js → chunk-32GP7KTM.js} +1 -1
- package/dist/{chunk-IRRGSC7B.js → chunk-3Z3UIW5H.js} +1 -1
- package/dist/{chunk-QNNBNIR7.js → chunk-4A6BLXQN.js} +2 -2
- package/dist/{chunk-ACEODVSC.js → chunk-4R2HOA7J.js} +1 -1
- package/dist/{chunk-XUJ5EPVW.js → chunk-4SXD6XWV.js} +1 -1
- package/dist/{chunk-ADOXYGZE.js → chunk-5JJ245FW.js} +1 -1
- package/dist/{chunk-OB6CKLEL.js → chunk-6CZIEK6B.js} +1 -1
- package/dist/{chunk-POI6DCP6.js → chunk-6NIV7AVZ.js} +1 -1
- package/dist/chunk-6SGPN76K.js +2 -0
- package/dist/{chunk-I2JUBAPU.js → chunk-6XHAXAL2.js} +1 -1
- package/dist/{chunk-DNOBOZPO.js → chunk-AKHUNBQS.js} +1 -1
- package/dist/{chunk-IOTJZTHX.js → chunk-BLSZ4H5W.js} +12 -12
- package/dist/{chunk-5KSB5MOF.js → chunk-BV5QKFMJ.js} +1 -1
- package/dist/{chunk-4MUHS3UL.js → chunk-C42WWO7Y.js} +1 -1
- package/dist/chunk-D7L6UW5Z.js +7 -0
- package/dist/{chunk-MVF4KRHA.js → chunk-EOLQUB4Q.js} +1 -1
- package/dist/{chunk-PYB2EXRE.js → chunk-EWTX7HSU.js} +2 -2
- package/dist/chunk-GLS46X7N.js +5 -0
- package/dist/{chunk-YI4XULHR.js → chunk-HA5GE57Z.js} +15 -15
- package/dist/{chunk-YMSN25DX.js → chunk-HWA7WD44.js} +1 -1
- package/dist/{chunk-3HEPW6SN.js → chunk-JF7Q2I45.js} +1 -1
- package/dist/{chunk-QZI43UNV.js → chunk-JTEY32TL.js} +1 -1
- package/dist/{chunk-HNE4TDOZ.js → chunk-JU5KRCKD.js} +4 -4
- package/dist/{chunk-ANIVHX3P.js → chunk-JV356AYH.js} +1 -1
- package/dist/{chunk-MK2G7VIF.js → chunk-KI2DVQSA.js} +1 -1
- package/dist/{chunk-DXK55KGR.js → chunk-KNCHEM6A.js} +1 -1
- package/dist/{chunk-CT2I5KUM.js → chunk-KYHXDJN4.js} +1 -1
- package/dist/{chunk-652FEDL4.js → chunk-L26LU6TU.js} +2 -2
- package/dist/{chunk-3WJJ43MT.js → chunk-LABIRPOT.js} +1 -1
- package/dist/{chunk-IXVR66NS.js → chunk-LEQ2B3PR.js} +1 -1
- package/dist/{chunk-WE57PD6K.js → chunk-LLS47HUA.js} +1 -1
- package/dist/{chunk-OLXOZJ7X.js → chunk-LURGFJEE.js} +1 -1
- package/dist/{chunk-5CTMOJG4.js → chunk-MSPZOEFB.js} +1 -1
- package/dist/{chunk-PICCLJSO.js → chunk-MY32TBBR.js} +1 -1
- package/dist/{chunk-STH6I3UB.js → chunk-N6DO2LBH.js} +1 -1
- package/dist/{chunk-O66EU5UV.js → chunk-OFEOWKM3.js} +1 -1
- package/dist/{chunk-BOO7YXAV.js → chunk-P4HW2NTZ.js} +1 -1
- package/dist/{chunk-CY5NDMO7.js → chunk-RIMJDJWY.js} +1 -1
- package/dist/{chunk-ZQP3MCZW.js → chunk-RV2NXHIC.js} +1 -1
- package/dist/{chunk-WT3SMSY5.js → chunk-S2C62SDY.js} +1 -1
- package/dist/{chunk-FV4LLU3T.js → chunk-UZJ7MRBV.js} +1 -1
- package/dist/{chunk-W36P7S5W.js → chunk-VBCE4U4B.js} +1 -1
- package/dist/{chunk-CLTANA4L.js → chunk-WJGBXJT4.js} +2 -2
- package/dist/{chunk-BNN6ZDJW.js → chunk-WWH7CW5R.js} +1 -1
- package/dist/{chunk-WFEGGQJ4.js → chunk-XQL53VB7.js} +1 -1
- package/dist/{config-OJF53CHL.js → config-6PAZZ7CR.js} +1 -1
- package/dist/{credentials-NLJHSVBY.js → credentials-BJCIWQWA.js} +1 -1
- package/dist/{evidence-UPOFW3XC.js → evidence-7VE5EGEF.js} +1 -1
- package/dist/{evolve-cmd-MVALOB3G.js → evolve-cmd-RUGUWKAG.js} +1 -1
- package/dist/{extract-bind-SSTKQGTV.js → extract-bind-YS7C4KZ3.js} +2 -2
- package/dist/{extract-cmd-GO4UV7ER.js → extract-cmd-Z4PMDIMZ.js} +1 -1
- package/dist/{generate-headless-2HYMSVN5.js → generate-headless-IWY32HC4.js} +2 -2
- package/dist/index.js +12 -12
- package/dist/{interactive-bind-Q5TQFQ6N.js → interactive-bind-ZIIJDRBU.js} +2 -2
- package/dist/{list-commands-6WDXAECV.js → list-commands-SSXJQGE7.js} +1 -1
- package/dist/login-flow-HRS6YACY.js +2 -0
- package/dist/{persist-recorded-session-KHIMN4A3.js → persist-recorded-session-3AOYZJT2.js} +1 -1
- package/dist/{pipeline-2HRAWT5U.js → pipeline-IZSODNCC.js} +1 -1
- package/dist/{reconcile-cmd-DH4VV6PG.js → reconcile-cmd-6HVZJFG3.js} +1 -1
- package/dist/{recording-banner-SADVYNEP.js → recording-banner-KKEUWS3N.js} +1 -1
- package/dist/{require-project-folder-LP7V26IU.js → require-project-folder-NPTKR2AW.js} +1 -1
- package/dist/{run-RT2VMPTQ.js → run-2A7M7EJK.js} +1 -1
- package/dist/{run-XAZMT7WO.js → run-6AFY35QW.js} +1 -1
- package/dist/{run-test-md-ATB2HZRG.js → run-test-md-QNC6KDMN.js} +2 -2
- package/dist/{skill-installer-DE2LSSKU.js → skill-installer-ULFNSE6X.js} +1 -1
- package/dist/{spawner-GOTVIFR5.js → spawner-DWONVIPI.js} +1 -1
- package/dist/tcg-generate-IHHPRVNG.js +2 -0
- package/dist/{testmd-actions-RYQHBX4K.js → testmd-actions-S3ZNOZEK.js} +1 -1
- package/dist/token-refresh-CFVOA62N.js +2 -0
- package/dist/{validate-basic-6BQ2L7TT.js → validate-basic-4OLDKIA2.js} +1 -1
- package/dist/{version-check-YW3FUWDH.js → version-check-UL4S6R4N.js} +1 -1
- package/dist/{walk-session-O4TMVORI.js → walk-session-N3BP57HK.js} +1 -1
- package/package.json +15 -7
- package/bin/kane-cli.js +0 -2
- package/dist/SingleShotApp-AJBIWW74.js +0 -2
- package/dist/TestMdRunView-5PMLLLFT.js +0 -2
- package/dist/chunk-E3BO7OVR.js +0 -7
- package/dist/chunk-HJGUEZLW.js +0 -2
- package/dist/chunk-IJPFAWBH.js +0 -5
- package/dist/login-flow-XQMJFC4H.js +0 -2
- package/dist/tcg-generate-7PUXJ5R4.js +0 -2
- package/dist/token-refresh-F5KRV7ER.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b,c as ge,d as ct,f as ve,g as he}from"./chunk-CJJXT5DO.js";import{a as at,e as N,f as J,g as dt,h as te,i as U,j as ut}from"./chunk-FJTWJ243.js";import{a as oe}from"./chunk-BC7UVJJB.js";import{d as ft}from"./chunk-2PQXEEVY.js";import{a as K,b as W,d as st}from"./chunk-EHN5HTUD.js";import{a as T,b as S}from"./chunk-L5LI2JF4.js";import{a as O}from"./chunk-MCQXRJGH.js";import{b as ie}from"./chunk-74RUSHIB.js";import{a as pt}from"./chunk-ZZLR3O5A.js";import{e as re,g as ne}from"./chunk-ZG2V2ODK.js";import{d as R,e as H,f as lt}from"./chunk-5YPBPZUR.js";import{a as ot}from"./chunk-
|
|
2
|
+
import{b,c as ge,d as ct,f as ve,g as he}from"./chunk-CJJXT5DO.js";import{a as at,e as N,f as J,g as dt,h as te,i as U,j as ut}from"./chunk-FJTWJ243.js";import{a as oe}from"./chunk-BC7UVJJB.js";import{d as ft}from"./chunk-2PQXEEVY.js";import{a as K,b as W,d as st}from"./chunk-EHN5HTUD.js";import{a as T,b as S}from"./chunk-L5LI2JF4.js";import{a as O}from"./chunk-MCQXRJGH.js";import{b as ie}from"./chunk-74RUSHIB.js";import{a as pt}from"./chunk-ZZLR3O5A.js";import{e as re,g as ne}from"./chunk-ZG2V2ODK.js";import{d as R,e as H,f as lt}from"./chunk-5YPBPZUR.js";import{a as ot}from"./chunk-AKHUNBQS.js";import{a as it}from"./chunk-6SGPN76K.js";function M(e){if(e===null)return"broken";let t=Math.floor(e/100);return t===1?"passed":t===7?"failed":t===2?"skipped":"broken"}var j={failed:3,broken:2,passed:1,skipped:0};function we(e){let t="skipped";for(let r of e)j[r]>j[t]&&(t=r);return t}import{createHash as Wt}from"crypto";import{basename as Jt}from"path";function ye(e){let t=e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40);return t.length>0?t:"session"}function _e(e){return Wt("sha256").update(e).digest("hex").slice(0,8)}function xe(e){let t=Jt(e).replace(/_test\.md$/i,"").replace(/\.md$/i,"");return`${ye(t)}-${_e(e)}`}function Se(e,t){return`${ye(e)}-${_e(t)}`}function be(e){let t={};for(let[r,n]of Object.entries(e))typeof n=="string"&&n.length>0&&(t[r]=n);return t}var Xt={darwin:"macOS",linux:"Linux",win32:"Windows"};function ke(e){return Xt[e]??e}function Ee(e,t){let r={},n=(i,o)=>{o!==void 0&&o!==""&&(r[i]=o)};return n("model",t.model),n("os",e.os),n("browser",e.browser),n("browser_version",e.browser_version),n("resolution",e.resolution),n("platform",t.platform),n("platform_type",t.platform_type),n("run_kind",t.run_kind),n("os_version",e.os_version),e.device!==void 0&&e.device!==""?r.device=e.device:t.platform_type&&t.platform_type!=="web"&&(r.device=null),r}function Zt(e,t){return{pack_test_dir:e,ordinal_offset:t}}import{promises as P}from"fs";import{join as D}from"path";function Ie(e){let t={evidence:"0.1",run_id:e.execution_id,status:"running",title:e.title,started:e.started,environment:{producer:{name:"kane-cli",version:e.producerVersion},...e.surfaces?{surfaces:e.surfaces}:{},run_kind:e.run_kind,origin:e.origin,pid:e.pid},...e.credits!==void 0?{metrics:{credits:{value:e.credits,type:"count"}}}:{}};return S(t,{lineWidth:-1})}async function Re(e,t,r,n=process.cwd(),i){let o=i??b(e.execution_id,n),a=D(o,"tests",t);return await P.mkdir(D(o,"coverage"),{recursive:!0}),await P.writeFile(D(o,"coverage",".keep"),""),await P.mkdir(a,{recursive:!0}),await P.writeFile(D(o,"run.yaml"),Ie(e)),r&&await P.writeFile(D(a,r.path),r.content),o}async function Qt(e,t=process.cwd()){let r=b(e.execution_id,t);await P.mkdir(D(r,"coverage"),{recursive:!0}),await P.writeFile(D(r,"coverage",".keep"),"");let n=T(Ie(e));return n.environment&&delete n.environment.run_kind,await P.writeFile(D(r,"run.yaml"),S(n,{lineWidth:-1})),r}async function qt(e,t=process.cwd()){return W(b(e,t),new Date().toISOString())}async function Pe(e,t=process.cwd()){await P.rm(b(e,t),{recursive:!0,force:!0})}import{promises as Ce}from"fs";import{join as Ae}from"path";function Oe(e){let t={evidence:"0.1",test:e.testId,status:e.status,...e.durationMs!==void 0?{duration_ms:e.durationMs}:{},...e.definitionPath?{definition:{path:e.definitionPath}}:{},...e.definitionId?{definition_id:e.definitionId}:{},...e.assuranceId?{assurance_id:e.assuranceId}:{},...Object.keys(e.externalId).length?{external_id:e.externalId}:{},...e.tags&&e.tags.length?{tags:e.tags}:{},...Object.keys(e.environment).length?{environment:e.environment}:{},steps:e.steps};return S(t,{lineWidth:-1})}function De(e){return S({logs:e},{lineWidth:-1})}async function $e(e,t,r){await Ce.writeFile(Ae(e,"tests",t,"result.yaml"),r)}async function Fe(e,t,r){let n=Ae(e,"tests",t,"logs");await Ce.mkdir(n,{recursive:!0}),await Ce.writeFile(Ae(n,"meta.yaml"),r)}import{promises as se}from"fs";import{join as mt}from"path";function gt(e){return mt(e,".internal","meta.json")}async function vt(e){let t;try{t=await se.readFile(gt(e),"utf8")}catch(n){if(n?.code==="ENOENT")return null;throw n}let r=JSON.parse(t);if(!r||typeof r!="object"||Array.isArray(r))throw new Error("meta.json is not a JSON object");return r}async function Le(e,t){let r;try{r=await vt(e)??{}}catch(a){console.warn(`evidence: meta.json at ${e} unreadable \u2014 skipping execution-pointer append to preserve identity`,a);return}let n=Array.isArray(r.executions)?r.executions:[];n.push(t),r.executions=n,await se.mkdir(mt(e,".internal"),{recursive:!0});let i=gt(e),o=`${i}.tmp-${process.pid}-${Date.now()}`;await se.writeFile(o,JSON.stringify(r,null,2)+`
|
|
3
3
|
`),await se.rename(o,i)}async function er(e){try{let t=await vt(e);return t&&Array.isArray(t.executions)?t.executions:[]}catch{return[]}}async function tr(e,t,r=process.cwd()){let n=await ve(e,r);if(!n){let o=`evidence: no pack found for "${e}"`;return t.json?console.log(JSON.stringify({valid:!1,error:"not_found",target:e})):console.error(o),2}let i=await K(n,t.profile??"L1");return t.json?console.log(JSON.stringify({valid:i.valid,status:i.status,diagnostics:i.diagnostics})):console.log(`evidence: ${i.valid?"valid":"INVALID"} (${t.profile??"L1"}, status ${i.status})`),i.valid?0:1}function Te(e){let t=[];for(let r of e){let n=r.perFlow&&r.perFlow.length?r.perFlow.map(i=>i.resultCode):[r.resultCode];for(let i of n)t.push(M(i))}return we(t)}function rr(e){let t=null;for(let r of e){let n=r.perFlow&&r.perFlow.length?r.perFlow.map(i=>i.resultCode):[r.resultCode];for(let i of n)i!=null&&(t==null||j[M(i)]>j[M(t)]||j[M(i)]===j[M(t)]&&i>t)&&(t=i)}return t}import{promises as nr}from"fs";import{extname as ht,basename as ir}from"path";var or={".ndjson":"ndjson",".log":"log",".json":"json",".har":"har"};async function Ne(e){let t;try{t=await nr.readdir(e)}catch{return[]}return t.filter(r=>r!=="meta.yaml").sort().map(r=>({name:ir(r,ht(r)),file:r,format:or[ht(r)]??"txt"}))}import{mkdirSync as sr,appendFileSync as cr}from"fs";import{join as wt}from"path";function je(e,t){return wt(e,"tests",t,"logs")}function Me(e,t,r,n={},i){try{i?.(t,r,r,n)}catch{}if(e)try{sr(e,{recursive:!0});let o=JSON.stringify({ts:new Date().toISOString(),level:t,event:r,...n})+`
|
|
4
4
|
`;cr(wt(e,"diagnostics.ndjson"),o)}catch{}}import{promises as $}from"fs";import{join as G}from"path";async function ar(e){try{let t=G(e,"tests"),r=await $.readdir(t).catch(()=>[]);for(let n of r){let i=G(t,n,"steps"),o=await $.readdir(i).catch(()=>[]);for(let a of o){let s=await $.readFile(G(i,a,"failure.yaml"),"utf8").catch(()=>null);if(s!=null)try{let u=T(s);if(u&&typeof u=="object"&&u.triage)return!0}catch{}}}}catch{}return!1}async function yt(e,t,r){let n=G(e,"tests",t,"logs");if(r)try{await $.mkdir(n,{recursive:!0}),await $.copyFile(r,G(n,"tui.log"))}catch{}let i=await Ne(n);i.length&&await Fe(e,t,De(i))}async function Ve(e){let t=e.cwd??process.cwd(),r=e.packDir??b(e.executionId,t);if(!e.saved&&!e.packDir)return await Pe(e.executionId,t),{sealed:!1};await yt(r,e.testId,e.tuiLogPath);let n=G(r,"run.yaml"),i=T(await $.readFile(n,"utf8"));i.environment={...i.environment??{},saved:e.saved,run_kind:e.runKind},await $.writeFile(n,S(i,{lineWidth:-1}));let o=await $.open(n,"r+");try{await o.sync()}finally{await o.close()}let a=await ar(r);await W(r,new Date().toISOString());let s;try{let c=await K(r,"L1");s=c.valid;let p=(c.diagnostics??[]).filter(l=>String(l?.code??"").includes("failure.status_disagrees"));if(p.length>0)if(e.expectStatusDisagrees||a){let l=e.expectStatusDisagrees?"expected under --bug-detection continue":"self-explained by triaged failure record(s)";console.warn(`evidence: ${p.length} status_disagrees advisory(ies) \u2014 ${l}`)}else console.warn(`evidence: ${p.length} status_disagrees advisory(ies) \u2014 step verdicts disagree with their failure records`,p);if(!c.valid){console.warn(`evidence: sealed pack ${e.executionId} failed L1 validation`,c.diagnostics);let l=String(c.diagnostics?.[0]?.code??"");Me(je(r,e.testId),"warn","EVIDENCE_INVALID",{execution_id:e.executionId,first_code:l,surface:e.surface??"testmd"},e.log)}}catch(c){console.warn(`evidence: validation error for ${e.executionId}`,c)}let u;if(e.saved&&e.packDir)try{u=await ct(r,e.executionId,t)}catch(c){console.warn(`evidence: store install failed for ${e.executionId}`,c)}if(e.outputStemDir)try{await Le(e.outputStemDir,{execution_id:e.executionId,run_kind:e.runKind,status:e.verdict,valid:s,at:new Date().toISOString()})}catch(c){console.warn(`evidence: execution-pointer append failed for ${e.executionId} (pack is sealed)`,c)}return{sealed:!0,valid:s,storePath:u}}import{release as _t}from"os";import{execFileSync as dr}from"child_process";var xt=!1,ce;function ur(){if(!xt)if(xt=!0,process.platform==="darwin")try{ce=dr("sw_vers",["-productVersion"],{timeout:2e3}).toString().trim()||void 0}catch{ce=_t()||void 0}else ce=_t()||void 0;return ce}function Be(e){let t={os:ke(process.platform)},r=ur();if(r&&(t.os_version=r),e.cdpBrowser){let n=/^([A-Za-z]+)\/(\d+)/.exec(e.cdpBrowser);n&&(t.browser=n[1].replace(/^Headless/,""),t.browser_version=n[2])}return e.resolution&&(t.resolution=e.resolution),t}async function St(e){if(e)try{let t=await fetch(`${e}/json/version`,{signal:AbortSignal.timeout(2e3)});if(!t.ok)return;let r=await t.json();return typeof r.Browser=="string"?r.Browser:void 0}catch{return}}function lr(e){let t;return()=>(t||(t=St(e)),t)}import{promises as Ue,existsSync as He,readFileSync as gr}from"fs";import{basename as vr,join as F}from"path";import{readFileSync as pr}from"fs";import{dirname as fr,resolve as mr}from"path";function bt(e,t){let r=mr(e),n=pr(r,"utf8");return N(t?J(n,te(fr(r),t)):n)}var X=class e{constructor(t){this.opts=t}executionId;testId;definitionPath=null;definitionContent=null;accumulatedSteps=[];maxOrdinal=0;_packDirOverride;_attached=!1;get attached(){return this._attached}static async attach(t){let r=vr(t.packDir).replace(/\.evidence$/,""),n=new e({origin:"testrun",runKind:"author",pid:process.pid,title:t.testId,started:new Date().toISOString(),producerVersion:it,cwd:t.cwd});n.executionId=r,n.testId=t.testId,n._packDirOverride=t.packDir,n._attached=!0;let i=F(t.packDir,"tests",t.testId);return await Ue.mkdir(i,{recursive:!0}),t.definition&&(await Ue.writeFile(F(i,t.definition.path),t.definition.content),n.definitionPath=t.definition.path,n.definitionContent=t.definition.content),n}async start(){if(this._attached)throw new Error("attach-mode session is already started");this.executionId=ge(),this.testId=this.opts.testmdRelPath?xe(this.opts.testmdRelPath):Se(this.opts.objectiveOrName??"session",this.opts.sessionId??this.executionId);let t=this.opts.definition??null;return await Re({execution_id:this.executionId,title:this.opts.title,started:this.opts.started,producerVersion:this.opts.producerVersion,surfaces:this.opts.surfaces,run_kind:this.opts.runKind,origin:this.opts.origin,pid:this.opts.pid,...this.opts.credits!==void 0?{credits:this.opts.credits}:{}},this.testId,t,this.opts.cwd,this.opts.packRootDir?this.pack:void 0),t&&(this.definitionPath=t.path,this.definitionContent=t.content),{executionId:this.executionId,testId:this.testId,packTestDir:this.packTestDir}}get pack(){return this._packDirOverride?this._packDirOverride:this.opts.packRootDir?F(this.opts.packRootDir,`${this.executionId}.evidence`):b(this.executionId,this.opts.cwd)}get packTestDir(){return F(this.pack,"tests",this.testId)}async writeDefinition(t,r="test.md"){await Ue.writeFile(F(this.packTestDir,r),t),this.definitionPath=r,this.definitionContent=t}computeAssuranceId(){try{if(this.opts.testmdRelPath&&this.opts.cwd){let t=F(this.opts.cwd,this.opts.testmdRelPath);if(He(t))return U(gr(t,"utf8"))?.id}}catch{}}computeDefinitionId(){try{if(this.opts.testmdRelPath&&this.opts.cwd){let t=F(this.opts.cwd,this.opts.testmdRelPath),r=F(this.opts.cwd,".context"),n=He(r)?O(r):void 0;if(He(t))return bt(t,n)}if(this.definitionContent!=null)return N(this.definitionContent)}catch{}}noteSpawn(t){this.accumulatedSteps.push(...t.steps),this.maxOrdinal=Math.max(this.maxOrdinal,t.maxOrdinal)}nextOrdinalOffset(){return this.maxOrdinal}get steps(){return this.accumulatedSteps}async writeResult(t){let r=Te(t.spawns),n=this.pack;await $e(n,this.testId,Oe({testId:this.testId,status:r,durationMs:t.durationMs,definitionPath:this.definitionPath,definitionId:this.computeDefinitionId(),assuranceId:this.computeAssuranceId(),externalId:be(t.externalIdInput),environment:Ee(t.runnerEnv,t.intentEnv),steps:t.steps,tags:t.tags}));let i=t.externalIdInput;return t.log&&(i.commit_id||i.test_id||i.testcase_id)&&t.log("info","EVIDENCE_EXTERNAL_ID","Evidence external-id mapping",{execution_id:this.executionId,commit_id:i.commit_id??null,test_id:i.test_id??null,testcase_id:i.testcase_id??null,project_id:i.project_id??null,session_id:i.session_id??null,session_name:i.session_name??null}),r}get id(){return this.executionId}get test(){return this.testId}};async function hr(e,t,r=he){try{let n=await r(e);if(n.aborted.length>0||n.removed.length>0)try{t?.("info","EVIDENCE_RECOVERY","Startup evidence recovery swept incomplete packs",{aborted:n.aborted,removed:n.removed,origin:"startup"})}catch{}return n}catch(n){return console.warn("evidence: startup recovery failed",n),{aborted:[],removed:[]}}}import{promises as Jr}from"fs";import{existsSync as Ye,mkdirSync as Ur,readdirSync as Hr,readFileSync as Gr,rmSync as zr,statSync as Yr,writeFileSync as Kr}from"fs";import{join as z}from"path";var wr={window:10,latest_only:!1,stale_at_run_weight:.5,counted_verdicts:["passed","failed"],accepted_oracle_modes:["authored","inferred","runtime-derived"],verified_threshold:.5,min_passes:1,risk_weights:{high:3}},yr={window:10,latest_only:!0,stale_at_run_weight:0,counted_verdicts:["passed","failed"],accepted_oracle_modes:["authored","inferred"],verified_threshold:1,min_passes:1,risk_weights:{high:3}},_r={lenient:wr,strict:yr};function xr(e,t){let r=e.slice(-t.window),n=new Map;for(let c of r)n.set(c.execution_id,c);let i=[...n.values()].sort((c,d)=>c.ts<d.ts?-1:c.ts>d.ts?1:c.execution_id<d.execution_id?-1:1).filter(c=>t.counted_verdicts.includes(c.verdict)&&t.accepted_oracle_modes.includes(c.oracle_mode));t.latest_only&&i.length>1&&(i=[i[i.length-1]]);let o=0,a=0,s=0;for(let c of i){let d=c.stale_at_run?t.stale_at_run_weight:1;o+=d,c.verdict==="passed"&&(a+=d,s++)}let u=o>0?Math.round(a/o*100)/100:0;return{score:u,verified:u>=t.verified_threshold&&s>=t.min_passes,passes:s,counted:i.length}}function kt(e,t){let r=0,n=0;for(let i of e){let o=t.risk_weights[i.risk]??1;r+=o,i.verified&&(n+=o)}return r>0?Math.round(n/r*100):0}function Sr(e,t){let r={},n={},i=[],o=0;for(let a of e.usecases){let s=[];for(let d of a.acceptance_criteria){let p=xr(d.executions??[],t);r[d.id]=p;let l={risk:d.risk,verified:p.verified};s.push(l),i.push(l)}let u=s.filter(d=>d.verified).length,c=s.length>0&&u===s.length?"covered":u>0?"partial":"uncovered";c==="covered"&&o++,n[a.id]={status:c,pct:kt(s,t)}}return{config:t,acs:r,usecases:n,summary:{coverage_pct:kt(i,t),acs_verified:`${i.filter(a=>a.verified).length}/${i.length}`,usecases_covered:`${o}/${e.usecases.length}`,uncovered:Object.values(n).filter(a=>a.status==="uncovered").length}}}function Et(e,t=_r){return{rollup_version:1,stale_sources:new Set(e.usecases.flatMap(r=>r.stale_sources??[])).size,high_risk_gaps:(e.gaps??[]).filter(r=>r.risk==="high").length,aspects:Object.fromEntries(Object.entries(t).map(([r,n])=>[r,Sr(e,n)]))}}var C=(e,t)=>e.nameOf.get(t)??t,V=(e,t)=>!e.superseded.has(t);function br(e,t){return e.byLabel(R.SCENARIO).filter(({cid:r})=>V(e,r)).filter(({cid:r})=>e.edgesFrom(r).some(n=>n.type===H.BELONGS_TO&&e.tipOf(n.dst)===t)).map(({cid:r})=>r)}function kr(e,t,r){let n=[];for(let{cid:i}of e.byLabel(R.AC)){if(!V(e,i))continue;let o=e.edgesFrom(i).find(s=>s.type===H.SCOPED_TO);if(!o)continue;let a=e.tipOf(o.dst);a===t?n.push({cid:i,scope:{type:"usecase",ref:C(e,t)}}):r.has(a)&&n.push({cid:i,scope:{type:"scenario",ref:C(e,a)}})}return n}function Er(e){let t=e.filter(r=>r!==void 0).map(r=>r.execution);return t.includes("failed")?"failed":t.includes("blocked")?"blocked":t.includes("passed")?"passed":"not-run"}var Ir={passed:"passed",failed:"failed",broken:"blocked",skipped:"not-run"};function Rr(e,t){let r=t.flatMap(n=>n?.acs??[]).filter(n=>n.ref===e).map(n=>Ir[n.verdict]??"not-run");return r.length===0?Er(t):r.includes("failed")?"failed":r.includes("blocked")?"blocked":r.includes("passed")?"passed":"not-run"}function It(e,t,r){let n=r?.scope==="run",i=[],o=new Set,a=new Map;for(let[c,d]of e.nameOf)a.set(e.tipOf(c)??c,d);let s=c=>a.get(c)??C(e,c);for(let{cid:c,content:d}of e.byLabel(R.USECASE)){if(!V(e,c)||e.trust.get(c)==="archived")continue;let p=e.tipOf(c),l=e.derivesInto(p).filter(f=>!e.superseded.has(f.ecid)),v=[...new Set(l.map(f=>String(f.props?.source_id??"")).filter(Boolean))].sort(),g=v.map(f=>{let y=e.heads.get(f);if(typeof y!="string")return{id:f};let m=e.getNode(y)?.content.blob;return{id:f,media_type:e.mediaOf(y).media_type,...typeof m=="string"?{cid:m}:{}}}),w=l[0],E=new Map;for(let f of l)f.props?.source_id&&f.props?.source_cid&&E.set(String(f.props.source_id),String(f.props.source_cid));let I=v.filter(f=>{let y=e.heads.get(f),m=E.get(f);return y!=null&&m!==void 0&&y!==m}).sort(),_=e.edgesFrom(c).filter(f=>f.type===H.DEPENDS_ON&&!e.superseded.has(f.ecid)).map(f=>Cr(e,f.dst)).filter(f=>f!==null).sort(),A=br(e,p),B=new Set(A),Y=A.map(f=>{let y=e.getNode(f)?.content??{},m=e.edgesFrom(f).filter(k=>k.type===H.EXERCISES&&!e.superseded.has(k.ecid)&&V(e,e.tipOf(k.dst))).map(k=>C(e,e.tipOf(k.dst))).sort();return{id:C(e,f),case_type:String(y.case_type??""),intent:String(y.intent??""),exercises:m}}).sort((f,y)=>f.id<y.id?-1:1),ue=!1,L=new Set([p]);for(let f of A)L.add(f);let q=kr(e,p,B).map(({cid:f,scope:y})=>{let m=e.getNode(f)?.content??{},k=[...new Set(e.edgesInto(f).filter(h=>h.type===H.VERIFIES&&!e.superseded.has(h.ecid)).map(h=>e.tipOf(h.src)).filter(h=>!!h&&V(e,h)))].sort((h,x)=>s(h)<s(x)?-1:1),le=k.length>0,pe=k.map(h=>t.get(`id:${s(h)}`)??t.get(`def:${String(e.getNode(h)?.content.definitionId??"")}`)),tt=pe.some(h=>h!==void 0);tt&&(ue=!0),L.add(f);for(let h of k)L.add(h);let Kt=le&&!tt?"unknown":e.stale(f)==="fresh"?"fresh":"stale",ee=m.expected_answer??{},fe=C(e,f),rt=k.flatMap(h=>(e.execHistory?.(s(h))??[]).map(x=>({execution_id:String(x.execution_id),ts:String(x.started_at),verdict:String(x.per_ac?.find(me=>me.ac_ref===fe)?.verdict??x.verdict),stale_at_run:!!x.stale_at_run,oracle_mode:String(x.oracle_mode),...x.via_parent?{via_parent:String(x.via_parent)}:{}}))).sort((h,x)=>h.ts<x.ts?-1:1).slice(-10);return{id:fe,text:String(m.text??""),risk:String(m.risk??""),scope:y,covered_by:k.map(h=>s(h)),...le?{link_type:"verifies"}:{},execution:Rr(fe,pe),fresh:Kt,derived:!!m.derived,...m.kind||m.expected_answer?{expected_answer:{...m.kind?{kind:String(m.kind)}:{},statement:String(m.text??""),...ee.operator!==void 0?{operator:ee.operator}:{},...ee.operand!==void 0?{operand:ee.operand}:{}}}:{},...le?{satisfied_by:k.map((h,x)=>{let me=e.getNode(h)?.content.check??{},nt=pe[x]?.steps?.checkStepId??me.verified_against;return{test:s(h),...nt?{step:nt}:{}}})}:{},...rt.length?{executions:rt}:{}}}).sort((f,y)=>f.id<y.id?-1:1);if(!(n&&!ue)){for(let f of L)o.add(f);i.push({id:C(e,c),title:String(d.title??""),...d.description||d.summary?{description:String(d.description??d.summary)}:{},...Array.isArray(d.actors)&&d.actors.length?{actors:d.actors.map(String)}:{},...d.value?{value:String(d.value)}:{},risk:String(d.risk??""),status:e.trust.get(c)==="trusted"?"approved":"draft",sources:g,...I.length?{stale_sources:I}:{},..._.length?{depends_on:_}:{},...w?{provenance:{derived_from:`${String(w.props?.source_id??"")}#${String(w.props?.anchor??"")}`}}:{},scenarios:Y,acceptance_criteria:q})}}i.sort((c,d)=>c.id<d.id?-1:1);let u=e.byLabel(R.GAP).filter(({cid:c})=>V(e,c)&&e.trust.get(c)!=="archived").filter(({content:c})=>{if(!n||typeof c.uc=="string"&&o.has(e.tipOf(c.uc)))return!0;let d=typeof c.ref=="string"?e.resolve(c.ref):null;return d!==null&&o.has(e.tipOf(d.cid))}).map(({cid:c,content:d})=>({ref:C(e,c),kind:String(d.kind??""),...d.risk?{risk:String(d.risk)}:{},...d.question?{question:Pr(d.question)}:{}})).sort((c,d)=>c.ref<d.ref?-1:1);return{usecases:i,...u.length?{gaps:u}:{},...n?{scope:"run"}:{}}}function Pr(e){if(typeof e=="string")return e;let t=e?.header;return typeof t=="string"?t:""}function Cr(e,t){let r=e.tipOf(t);return e.nodeLabel.get(r)!==R.USECASE||!V(e,r)?null:C(e,r)}import{mkdirSync as Ar,renameSync as Or,rmSync as Dr,writeFileSync as $r}from"fs";import{join as Rt}from"path";var Fr=5e6;function Pt(e,t,r){let n=Rt(e,"coverage","sources"),i=new Map,o=!1;try{for(let a of r.usecases)for(let s of a.sources){if(i.has(s.id)){s.file=i.get(s.id);continue}if(!s.cid)continue;let u=ft(t,s.cid);if(u===null||u.byteLength>Fr)continue;o||(Ar(n,{recursive:!0}),o=!0);let c=Rt(n,s.id),d=`${c}.tmp-${process.pid}`;$r(d,u),Or(d,c);let p=`coverage/sources/${s.id}`;i.set(s.id,p),s.file=p}}catch{for(let a of r.usecases)for(let s of a.sources)delete s.file;if(o)try{Dr(n,{recursive:!0,force:!0})}catch{}}}import{existsSync as ze,readFileSync as Z,renameSync as Nr,writeFileSync as jr}from"fs";import{dirname as $t,isAbsolute as Ft,resolve as Lt}from"path";var Lr=new Set(["inline","testmd","testrun"]),Tr=new Set(["inferred","authored","runtime-derived"]),Ge=new Set(["passed","failed","broken","skipped"]);function Ct(e,t,r){let n=[];if(r.facts.length===0)return{record:null,errors:[{code:"EMPTY_EXECUTIONS",detail:"a run with no designed units attaches no facts \u2014 skip the call"}]};let i=re(e);if(t.latestHash!==i)return{record:null,errors:[{code:"STALE_BASIS",detail:`graph opened at ${String(t.latestHash)} but chain head is ${String(i)} \u2014 re-open and retry`}]};let o=[];for(let s of r.facts){let u=`executions[${s.ref}]`,c=t.resolve(s.ref),d=c?t.tipOf(c.cid):null;if(!c||!d||t.superseded.has(d)){n.push({code:"UNKNOWN_REF",detail:`${u}: '${s.ref}' is not a live committed node`});continue}if(t.nodeLabel.get(d)!==R.TEST){n.push({code:"ILLEGAL_TARGET",detail:`${u}: execution facts attach to tests \u2014 '${s.ref}' is a ${t.nodeLabel.get(d)}`});continue}if(!Lr.has(s.mode)){n.push({code:"BAD_MODE",detail:`${u}: mode '${s.mode}' not in inline|testmd|testrun`});continue}if(!Ge.has(s.verdict)){n.push({code:"BAD_VERDICT",detail:`${u}: verdict '${s.verdict}' not in ${[...Ge].join("|")}`});continue}if(!Tr.has(s.oracle_mode)){n.push({code:"BAD_ORACLE_MODE",detail:`${u}: oracle_mode '${s.oracle_mode}' not in inferred|authored|runtime-derived`});continue}if(typeof s.drift_flag!="boolean"||typeof s.stale_at_run!="boolean"){n.push({code:"MISSING_FIELD",detail:`${u}: drift_flag and stale_at_run are required booleans`});continue}if(!s.execution_id||!s.started_at||!s.definition_id_at_run){n.push({code:"MISSING_FIELD",detail:`${u}: execution_id, started_at and definition_id_at_run are required`});continue}let p=[];for(let l of s.per_ac??[]){let v=t.resolve(l.ac_ref),g=v?t.tipOf(v.cid):null;if(!v||!g||t.superseded.has(g)||t.nodeLabel.get(g)!==R.AC){n.push({code:"UNKNOWN_REF",detail:`${u}.per_ac: '${l.ac_ref}' is not a live AC`});continue}if(!Ge.has(l.verdict)){n.push({code:"BAD_VERDICT",detail:`${u}.per_ac['${l.ac_ref}']: verdict '${l.verdict}'`});continue}p.push({ac_ref:t.nameOf.get(g)??g,verdict:l.verdict})}o.push({about:d,definition_id_at_run:s.definition_id_at_run,verdict:s.verdict,...p.length?{per_ac:p}:{},drift_flag:s.drift_flag,oracle_mode:s.oracle_mode,stale_at_run:s.stale_at_run,...s.unresolved_acs?.length?{unresolved_acs:s.unresolved_acs}:{},execution_id:s.execution_id,...s.evidence_id?{evidence_id:s.evidence_id}:{},...s.duration_ms!==void 0?{duration_ms:s.duration_ms}:{},started_at:s.started_at,mode:s.mode,local:s.local,...s.via_parent?{via_parent:s.via_parent}:{}})}if(n.length>0)return{record:null,errors:n};let a=ne(e,{ts:new Date().toISOString(),proposal_id:null,nodes:[],edges:[],review:[],supersessions:[],executions:o,source_head_moves:{}});return ie(e),{record:a.record,errors:null}}function Tt(e){let t={failed:3,broken:2,skipped:1,passed:0},r=new Map;for(let n of e)for(let i of n.verifies??[]){let o=r.get(i);(o===void 0||(t[n.status]??0)>(t[o]??0))&&r.set(i,n.status)}return[...r.entries()].map(([n,i])=>({ref:n,verdict:i}))}function Nt(e){let t=[],r=oe(e.cwd);if(!ze(r))return{synced:0,superseded:0,skipped:"no-context",warnings:t};let n=e.by??{kind:"ai",id:"exec-sync"},i=O(r),o=[],a=0,s=new Set;for(let c of e.members){let d=Ft(c.path)?c.path:Lt(e.cwd,c.path);for(let p of Mr(d)){if(s.has(p.path))continue;s.add(p.path);let l=p.path===d?void 0:U(Z(d,"utf8"))?.id,v=Z(p.path,"utf8"),g=U(v);if(!g?.id)continue;let w=i.resolve(g.id),E=w?i.tipOf(w.cid):null;if(!w||!E||i.superseded.has(E)){t.push(`sync: ${g.id} does not resolve to a live test \u2014 skipped (foreign store?)`);continue}let I=N(J(v,te($t(p.path),i))),_=String(i.getNode(E)?.content.test_md_blob??""),A=N(J(_,dt(i))),B=!1,Y=E;if(I===A)g.base!==A&&Dt(p.path,v,A,t);else if(g.base===A){let m=Vr(r,i,E,v,I,n);m.error?(t.push(`sync: could not supersede ${g.id}: ${m.error}`),B=!0):(a++,Y=m.newCid,B=m.oracleTier,Dt(p.path,Z(p.path,"utf8"),I,t),i=O(r))}else B=!0,t.push(g.base?`sync: ${g.id} was edited from an older version \u2014 graph kept; reconcile via a redesign or maintain`:`sync: ${g.id} carries no base pin (hand-copied file?) \u2014 fact attached with drift flag`);let L=i.getNode(Y)?.content.check,q=p.path===d?c.acs??[]:[],f=q.filter(m=>At(i,m.ref)),y=q.filter(m=>!At(i,m.ref)).map(m=>m.ref);o.push({ref:g.id,definition_id_at_run:I,verdict:c.verdict,...f.length?{per_ac:f.map(m=>({ac_ref:m.ref,verdict:m.verdict}))}:{},drift_flag:B,oracle_mode:L?.expected_mode??(at(L?.operand)?"runtime-derived":"inferred"),stale_at_run:i.stale(Y)!=="fresh",...y.length?{unresolved_acs:y}:{},execution_id:c.executionId,...c.evidenceId?{evidence_id:c.evidenceId}:{},...c.durationMs!==void 0?{duration_ms:c.durationMs}:{},started_at:c.startedAt,mode:c.mode,local:c.local,...l?{via_parent:l}:{}})}}if(o.length===0)return{synced:0,superseded:a,warnings:t};let u=Ct(r,O(r),{facts:o,by:n});return u.errors?(t.push(...u.errors.map(c=>`sync facts: ${c.code}: ${c.detail}`)),{synced:0,superseded:a,warnings:t}):{synced:o.length,superseded:a,warnings:t}}function Mr(e){let t=[],r=new Set,n=i=>{if(r.has(i)||!ze(i))return;r.add(i);let o=Z(i,"utf8");for(let a of o.split(`
|
|
5
5
|
`)){let s=/^@import\s+(\S+)\s*$/.exec(a.trim());if(!s)continue;let u=Ft(s[1])?s[1]:Lt($t(i),s[1]);ze(u)&&U(Z(u,"utf8"))?.id&&n(u)}t.push({path:i})};return n(e),t}function At(e,t){let r=e.resolve(t),n=r?e.tipOf(r.cid):null;return!!(r&&n&&!e.superseded.has(n)&&e.nodeLabel.get(n)==="ac")}function Vr(e,t,r,n,i,o){let a=t.getNode(r);if(!a)return{oracleTier:!1,error:"tip unreadable"};let s=ut(n),u=String(a.content.test_md_blob??""),c=/^#\s+(.+?)\s*$/m.exec(s)?.[1]??String(a.content.title??""),d={...a.content,test_md_blob:s,definitionId:i,title:c},p=lt("test",d);if(p.length>0)return{oracleTier:!1,error:p.map(w=>w.detail).join("; ")};let l=pt("test",d);if(l===r)return{newCid:r,oracleTier:!1};let v=Ot(u)!==Ot(s),g=re(e);if(t.latestHash!==g)return{oracleTier:v,error:`store advanced under the sync (basis ${String(t.latestHash)} vs head ${String(g)}) \u2014 re-run to retry`};try{ne(e,{ts:new Date().toISOString(),proposal_id:null,nodes:[{cid:l,label:"test",content:d}],edges:[],review:[{id:l,kind:"review-item",resolution:"edited",edit:null,reason:"edited on disk (run sync)",by:o}],supersessions:[{kind:"node",old:r,new:l,reason:"edited on disk (run sync)",by:o}],source_head_moves:{}},{expectPrev:g})}catch(w){return{oracleTier:v,error:w instanceof Error?w.message:String(w)}}return ie(e),{newCid:l,oracleTier:v}}var Br=/\s@verifies\s+(ac-[\w.:\/-]+(?:\s*,\s*ac-[\w.:\/-]+)*)\s*$/;function Ot(e){let t=[],r=e.split(`
|
|
@@ -8,6 +8,6 @@ import{b,c as ge,d as ct,f as ve,g as he}from"./chunk-CJJXT5DO.js";import{a as a
|
|
|
8
8
|
`),o=-1;if(i[0]?.trim()==="---"){for(let u=1;u<i.length;u++)if(i[u].trim()==="---"){o=u;break}}if(o<0)return;let a=!1;for(let u=1;u<o;u++){if(/^\s+base:\s*sha256:[0-9a-f]+\s*$/.test(i[u])){i[u]=i[u].replace(/sha256:[0-9a-f]+/,r),a=!0;break}if(/^assurance:\s*$/.test(i[u])&&!i.slice(u,Math.min(u+3,o)).some(c=>/^\s+base:/.test(c))){i.splice(u+2,0,` base: ${r}`),a=!0;break}}if(!a)return;let s=`${e}.tmp-sync`;jr(s,i.join(`
|
|
9
9
|
`)),Nr(s,e)}catch(i){n.push(`sync: pin refresh failed for ${e} (${i instanceof Error?i.message:String(i)}) \u2014 next run self-heals`)}}var Wr={passed:"passed",failed:"failed",broken:"blocked",skipped:"not-run"},jt=(e,t)=>{try{if(!Ye(t))return{status:"skipped",reason:"no context store at the project root"};let r=z(e,"tests");if(!Ye(r))return{status:"skipped",reason:"pack has no tests/"};let n=new Map;for(let s of Hr(r)){let u=z(r,s,"result.yaml");if(!Ye(u)||!Yr(z(r,s)).isDirectory())continue;let c=T(Gr(u,"utf8"));if(!c?.definition_id&&!c?.assurance_id)continue;let d=Tt(c.steps??[]),p={testShortId:String(c.test??s),execution:Wr[String(c.status)]??"not-run",...d.length?{acs:d}:{}};c.assurance_id&&n.set(`id:${c.assurance_id}`,p),c.definition_id&&n.set(`def:${c.definition_id}`,p)}let i=It(O(t),n,{scope:"run"}),o=Et(i);Pt(e,t,i);let a=S({...i,rollup:o},{lineWidth:-1});return Ur(z(e,"coverage"),{recursive:!0}),Kr(z(e,"coverage","usecases.yaml"),a),{status:"written"}}catch(r){try{zr(z(e,"coverage","sources"),{recursive:!0,force:!0})}catch{}return{status:"skipped",reason:r instanceof Error?r.message:String(r)}}};async function Xr(e){try{let t=new X({origin:"inline",runKind:"author",pid:e.pid,title:e.title,started:new Date().toISOString(),producerVersion:e.producerVersion,surfaces:e.surfaces,objectiveOrName:e.objectiveOrName,sessionId:e.sessionId,cwd:e.cwd,packRootDir:e.packRootDir}),r=await t.start();return{session:t,...r,packDir:t.pack,spawns:[],startedAtMs:Date.now(),cwd:e.cwd}}catch(t){return console.warn("evidence: inline pack creation failed",t),null}}function Zr(e,t,r){if(!e)return;e.session.noteSpawn(t),t.resolution&&(e.resolution=t.resolution);let n=(r?.per_flow_metadata??[]).map(i=>({resultCode:i?.result_code!=null?Number(i.result_code):null}));e.spawns.push({resultCode:r?.result_code!=null?Number(r.result_code):null,...n.length?{perFlow:n}:{}})}function Qr(e){if(e)return{packTestDir:e.packTestDir,ordinalOffset:e.session.nextOrdinalOffset()}}async function qr(e,t){if(!e)return null;if(e.finalized)return e.finalized;let r=(n,i,o)=>t.log?t.log("warn",n,i,o):console.warn(`evidence: ${i}`,o??"");try{if(t.recordedTestPath)try{await e.session.writeDefinition(await Jr.readFile(t.recordedTestPath,"utf8"))}catch(a){r("EVIDENCE_DEFINITION_FAILED","could not attach synthesized test.md",{error:String(a)})}let n=t.cdpBrowserCapture?await t.cdpBrowserCapture():void 0,i=await e.session.writeResult({steps:e.session.steps,spawns:e.spawns.length?e.spawns:[{resultCode:null}],externalIdInput:{...t.externalIdInput,execution_id:e.executionId},runnerEnv:Be({cdpBrowser:n,resolution:e.resolution}),intentEnv:{model:t.model,platform:"Desktop",platform_type:"web"},durationMs:t.durationMs??Date.now()-e.startedAtMs,log:t.log});try{if(t.recordedTestPath){let a=Nt({cwd:t.cwd??e.cwd??process.cwd(),members:[{path:t.recordedTestPath,verdict:i,executionId:e.executionId,startedAt:new Date(e.startedAtMs).toISOString(),mode:"inline",local:t.local??!1}]});for(let s of a.warnings)r("EXEC_SYNC",s)}}catch(a){r("EXEC_SYNC","exec-sync failed",{error:String(a)})}try{let a=(t.coverageWriter??jt)(e.packDir,oe(t.cwd??e.cwd??process.cwd()));a.status==="skipped"&&r("EVIDENCE_COVERAGE_SKIPPED",`coverage/usecases.yaml not written: ${a.reason}`)}catch(a){r("EVIDENCE_COVERAGE_SKIPPED","coverage writer threw",{error:String(a)})}let o=await Ve({executionId:e.executionId,testId:e.testId,saved:t.saved,runKind:"author",verdict:i,cwd:t.cwd??e.cwd,packDir:e.packDir,tuiLogPath:t.tuiLogPath,log:t.log,surface:"inline"});return e.finalized=o,t.log?.("info","EVIDENCE_SEALED","Inline pack sealed",{execution_id:e.executionId,verdict:i,valid:o.valid,pack:e.packDir,store_copy:o.storePath??null}),o}catch(n){return r("EVIDENCE_SEAL_FAILED","inline pack finalize failed",{error:String(n)}),null}}import{statSync as sn,openSync as cn,readSync as an,closeSync as dn}from"fs";import{basename as un,resolve as ln}from"path";import{createServer as en}from"http";import{createReadStream as tn,promises as rn}from"fs";import{randomBytes as nn}from"crypto";var ae="127.0.0.1";function Mt(e,t){if(!e)return null;let r=/^bytes=(\d*)-(\d*)$/.exec(e.trim());if(!r)return null;let[,n,i]=r;if(n===""&&i==="")return null;if(n===""){let s=Number(i);return s===0||t===0?"unsatisfiable":{start:Math.max(0,t-s),end:t-1}}let o=Number(n);if(o>=t)return"unsatisfiable";let a=i===""?t-1:Math.min(Number(i),t-1);return a<o?null:{start:o,end:a}}async function Ke(e){let t=nn(16).toString("hex"),r=en((i,o)=>{on(i,o,e,t).catch(()=>o.destroy())});await new Promise((i,o)=>{r.once("error",o),r.listen(e.port??0,ae,()=>{r.removeListener("error",o),i()})});let n=r.address().port;return{port:n,urlFor:i=>`http://${ae}:${n}/${t}/${encodeURIComponent(i)}`,close:()=>new Promise(i=>{r.close(()=>i()),r.closeAllConnections()})}}async function on(e,t,r,n){let i=e.url??"/",o=_=>{try{r.log?.("warn","EVIDENCE_SERVE_DENIED",{reason:_,path:i})}catch{}};if(e.headers.host!==`${ae}:${e.socket.localPort}`){o("host_mismatch"),t.writeHead(403).end();return}let a=e.headers.origin;if(a!==void 0&&!r.allowedOrigins.includes(a)){o("origin_denied"),t.writeHead(403).end();return}let s=a?{"Access-Control-Allow-Origin":a,Vary:"Origin","Access-Control-Expose-Headers":"Content-Range, Content-Length"}:{};if(e.method==="OPTIONS"){let _={...s,"Access-Control-Allow-Methods":"GET, HEAD, OPTIONS","Access-Control-Allow-Headers":"range","Access-Control-Max-Age":"86400"};e.headers["access-control-request-private-network"]==="true"&&(_["Access-Control-Allow-Private-Network"]="true"),t.writeHead(204,_).end();return}if(e.method!=="GET"&&e.method!=="HEAD"){t.writeHead(405,s).end();return}let u;try{let _=new URL(e.url??"/",`http://${ae}`).pathname.split("/");if(_.length!==3||_[1]!==n){o("bad_token"),t.writeHead(404,s).end();return}u=decodeURIComponent(_[2])}catch{o("not_found"),t.writeHead(404,s).end();return}let c=r.packs.get(u);if(!c){o("not_found"),t.writeHead(404,s).end();return}let d;try{let _=await rn.stat(c);if(!_.isFile())throw new Error("not a file");d=_.size}catch{o("not_found"),t.writeHead(404,s).end();return}let p={...s,"Accept-Ranges":"bytes","Content-Type":"application/zip","Cache-Control":"no-store"};if(e.method==="HEAD"){t.writeHead(200,{...p,"Content-Length":String(d)}).end();return}let l=Mt(e.headers.range,d);if(l==="unsatisfiable"){o("unsatisfiable"),t.writeHead(416,{...s,"Content-Range":`bytes */${d}`}).end();return}let[v,g,w]=l===null?[0,d-1,200]:[l.start,l.end,206],E={...p,"Content-Length":String(g-v+1)};if(w===206&&(E["Content-Range"]=`bytes ${v}-${g}/${d}`),t.writeHead(w,E),d===0){t.end();return}let I=tn(c,{start:v,end:g});I.on("error",()=>t.destroy()),t.on("close",()=>I.destroy()),I.pipe(t)}function Q(e,t){return(t??ot(e).evidenceViewerUrl).replace(/\/+$/,"")}function We(e,t){return`${t}/?pack=${encodeURIComponent(e)}`}function Je(e){return`evidence: view locally with \`kane-cli evidence serve ${e}\``}async function pn(e,t,r={}){let n=r.out??(d=>process.stdout.write(d+`
|
|
10
10
|
`)),i=d=>(n(`error: ${d}`),2);if(t.env!=="prod"&&t.env!=="stage")return i(`invalid --env: ${String(t.env)}`);if(t.port!==void 0&&(!Number.isInteger(t.port)||t.port<1||t.port>65535))return i("invalid --port: expected an integer 1-65535");let o;try{o=Q(t.env,t.viewerUrl),new URL(o)}catch{return i(`invalid --viewer-url: ${t.viewerUrl}`)}if(e.length===0)return i("no pack paths given");let a=new Map;for(let d of e){let p=ln(d),l;try{l=sn(p)}catch{return i(`${d}: not found`)}if(l.isDirectory())return i(`${d}: is a directory \u2014 packs must be sealed .evidence files (run the execution to completion, or seal it, first)`);if(!l.isFile())return i(`${d}: not a regular file`);let v=Buffer.alloc(2),g=cn(p,"r");try{an(g,v,0,2,0)}finally{dn(g)}if(v.toString("latin1")!=="PK")return i(`${d}: not a sealed evidence pack (zip magic missing)`);let w=un(p);if(a.has(w))return i(`duplicate pack basename: ${w} (URL names collide \u2014 rename one)`);a.set(w,p)}let s=r.log??((d,p,l)=>process.stderr.write(`warn: ${p} reason=${l.reason} path=${l.path}
|
|
11
|
-
`)),u;try{u=await Ke({packs:a,allowedOrigins:[new URL(o).origin],port:t.port,log:s})}catch(d){return i(`could not bind 127.0.0.1${t.port?`:${t.port}`:""} \u2014 ${d.message}`)}n(`serving ${a.size} pack${a.size===1?"":"s"} on http://127.0.0.1:${u.port}`);for(let d of a.keys()){let p=u.urlFor(d);n(d),n(` pack ${p}`),n(` viewer ${We(p,o)}`)}return n("press Ctrl-C to stop"),await(r.hold??fn)(),await u.close(),0}function fn(){return new Promise(e=>{let t=process.listeners("SIGINT");process.removeAllListeners("SIGINT"),process.once("SIGINT",()=>{for(let r of t)process.on("SIGINT",r);e()})})}import{promises as de}from"fs";import{tmpdir as hn}from"os";import{join as Ut,resolve as Ze}from"path";var mn=["error","prefer_first","prefer_latest","discard"],gn=["external_id.commit_id","external_id.test_id"];function Vt(e){let t=e.replace(/-/g,"_");return mn.includes(t)?t:null}function Bt(e){let t=e==="discard"?{on_collision:"discard"}:{on_collision:"error",identity:{keys:[...gn],on_same:e??"nest",on_different:e?"error":"split"}};return S({packs:{require_status:"finalized",require_valid:"L1",on_ineligible:"abort"},tests:t,rules:[{file:"run.yaml",key:"run_id",must:"different",on_violation:"skip"},{file:"result.yaml",key:"external_id.project_id",must:"same",on_violation:"error"},{file:"result.yaml",key:"external_id.org_id",must:"same",on_violation:"error"}]},{lineWidth:-1})}async function Xe(e){try{if(!e.isTTY){e.log(Je(e.packPath));return}let t=Q(e.env);await(e.renderPrompt??vn)(e.packPath,t)}catch(t){try{e.log(`evidence view failed \u2014 ${t.message}`)}catch{}}}async function vn(e,t){let r=await import("./react-QWOAB3TB.js"),{render:n}=await import("./build-JIKYOZUH.js"),{EvidenceViewOffer:i}=await import("./EvidenceViewOffer-
|
|
11
|
+
`)),u;try{u=await Ke({packs:a,allowedOrigins:[new URL(o).origin],port:t.port,log:s})}catch(d){return i(`could not bind 127.0.0.1${t.port?`:${t.port}`:""} \u2014 ${d.message}`)}n(`serving ${a.size} pack${a.size===1?"":"s"} on http://127.0.0.1:${u.port}`);for(let d of a.keys()){let p=u.urlFor(d);n(d),n(` pack ${p}`),n(` viewer ${We(p,o)}`)}return n("press Ctrl-C to stop"),await(r.hold??fn)(),await u.close(),0}function fn(){return new Promise(e=>{let t=process.listeners("SIGINT");process.removeAllListeners("SIGINT"),process.once("SIGINT",()=>{for(let r of t)process.on("SIGINT",r);e()})})}import{promises as de}from"fs";import{tmpdir as hn}from"os";import{join as Ut,resolve as Ze}from"path";var mn=["error","prefer_first","prefer_latest","discard"],gn=["external_id.commit_id","external_id.test_id"];function Vt(e){let t=e.replace(/-/g,"_");return mn.includes(t)?t:null}function Bt(e){let t=e==="discard"?{on_collision:"discard"}:{on_collision:"error",identity:{keys:[...gn],on_same:e??"nest",on_different:e?"error":"split"}};return S({packs:{require_status:"finalized",require_valid:"L1",on_ineligible:"abort"},tests:t,rules:[{file:"run.yaml",key:"run_id",must:"different",on_violation:"skip"},{file:"result.yaml",key:"external_id.project_id",must:"same",on_violation:"error"},{file:"result.yaml",key:"external_id.org_id",must:"same",on_violation:"error"}]},{lineWidth:-1})}async function Xe(e){try{if(!e.isTTY){e.log(Je(e.packPath));return}let t=Q(e.env);await(e.renderPrompt??vn)(e.packPath,t)}catch(t){try{e.log(`evidence view failed \u2014 ${t.message}`)}catch{}}}async function vn(e,t){let r=await import("./react-QWOAB3TB.js"),{render:n}=await import("./build-JIKYOZUH.js"),{EvidenceViewOffer:i}=await import("./EvidenceViewOffer-KQKPTMXA.js");await new Promise(o=>{let a=n(r.default.createElement(i,{packPath:e,viewerBase:t,onDone:()=>{a.unmount(),o()}}),{stdout:process.stderr,exitOnCtrlC:!1})})}async function wn(e,t,r=process.cwd(),n={}){let i=n.out??(l=>process.stdout.write(l+`
|
|
12
12
|
`)),o=n.err??(l=>process.stderr.write(l+`
|
|
13
13
|
`)),a=l=>(o(`evidence merge: ${l}`),2);if(!t.runId)return a("--run-id is required (merged identity is the caller's fact)");if(t.rules&&t.onCollision)return a("--rules and --on-collision are mutually exclusive");let s;if(t.onCollision!==void 0){let l=Vt(t.onCollision);if(!l)return a(`invalid --on-collision: ${t.onCollision} (expected error | prefer-first | prefer-latest | discard)`);s=l}let u=[];for(let l of e){let v=await yn(l,r);if(!v)return a(`no pack found for "${l}"`);u.push(v)}let c=t.out?Ze(r,t.out):b(t.runId,r),d=null,p;t.rules?p=Ze(r,t.rules):(d=await de.mkdtemp(Ut(hn(),"kane-merge-rules-")),p=Ut(d,"merge-rules.yaml"),await de.writeFile(p,Bt(s)));try{let l=await(n.mergeFn??st)(u,{runId:t.runId,out:c,rulesPath:p,title:t.title,finalize:t.finalize});return t.json?i(JSON.stringify(l)):_n(i,l),l.output.finalized&&!t.json&&await(n.offer??Xe)({packPath:c,env:t.env,isTTY:n.isTTY??(!!process.stdin.isTTY&&!!process.stderr.isTTY),log:o}),0}catch(l){let v=l instanceof Error?l.message:String(l);return l?.code==="ABORT"?(o(`evidence merge: aborted \u2014 ${v}`),1):a(v)}finally{d&&await de.rm(d,{recursive:!0,force:!0}).catch(()=>{})}}async function yn(e,t){let r=Ze(t,e);if(await Ht(r))return r;let n=b(e,t);return await Ht(n)?n:null}async function Ht(e){try{return await de.stat(e),!0}catch{return!1}}function _n(e,t){let{packs:r,tests:n,output:i}=t;e(`evidence: merged ${n.merged} tests from ${r.eligible.length} packs -> ${i.path} (${i.finalized?"sealed":"live"})`);for(let o of r.skipped)e(` skipped ${o.runId}: ${o.rule} \u2014 ${o.reason}`);for(let o of n.collisions){let a;o.action==="nest"?a=`nested into ${o.folder}, latest ${o.winner}`:o.action==="split"?a=`split into ${o.folder}`:a=`winner ${o.winner}`,e(` collision ${o.test}: ${a} (${o.rule})`)}for(let o of n.discarded)e(` discarded ${o}`)}import{copyFileSync as xn,existsSync as Qe,mkdirSync as Sn}from"fs";import{join as Gt}from"path";function bn(e,t,r){try{let n=Gt(e,"auteur","execution.json");if(Qe(n))return!0;for(let i of t)if(!(!i||!Qe(i)))return Sn(Gt(e,"auteur"),{recursive:!0}),xn(i,n),!0}catch(n){try{r?.("debug","EVIDENCE_BLOB_COPY_FAILED","auteur execution blob copy failed",{operation:"ensureAuteurExecution",source:t.find(i=>i&&Qe(i))??null,error:n instanceof Error?n.message:String(n)})}catch{}}return!1}import{readFileSync as kn}from"fs";import{join as En}from"path";function et(e){let t=[],r=!0,n=o=>{if(o===null||typeof o!="object")return;let a=o;if(Array.isArray(a.operations))for(let s of a.operations){let u=s?.operation_id;typeof u=="string"&&u&&t.push(u)}if(Array.isArray(a.children)){a.content_type!=="generative_block"&&(r=!1);for(let s of a.children)n(s)}if(Array.isArray(a.branches)){r=!1;for(let s of a.branches){let u=s?.children;if(Array.isArray(u))for(let c of u)n(c)}}},i=e?.instructions;if(Array.isArray(i))for(let o of i)n(o);return{ids:t,linear:r}}function In(e){return et(e).ids}function qe(e,t){let r=new Set(t.map(s=>s.action_id).filter(Boolean)),n=-1;for(let s of r){let u=e.indexOf(s);u>n&&(n=u)}let i=t.reduce((s,u)=>Math.max(s,u.ordinal),0),o=new Set,a=[];for(let s of e.slice(n+1))r.has(s)||o.has(s)||(o.add(s),a.push({id:s,ordinal:++i,status:"skipped",action_id:s}));return a}function zt(e,t){let r=new Set(t),n=e.filter(o=>o.action_id);if(n.some(o=>r.has(o.action_id))||n.length>t.length)return null;let i=0;return e.map(o=>o.action_id?{...o,action_id:t[i++]}:o)}function Rn(e,t){if(e.length>t.length)return!1;for(let r=0;r<e.length;r++)if(t[r]!==e[r].action_id)return!1;return!0}function Pn(e,t,r,n=!0){if(t.length===0)return{steps:e,tail:[]};let i=(r&&n?zt(e,t):null)??e,o=i.filter(s=>s.action_id),a=new Set(t);return o.length>0&&o.every(s=>a.has(s.action_id))?{steps:i,tail:qe(t,i)}:o.length>0&&!Rn(o,t)?{steps:i,tail:[],unjoined:!0}:{steps:i,tail:qe(t,i)}}function Yt(e){try{let t=kn(En(e,"auteur","execution.json"),"utf8");return et(JSON.parse(t))}catch{return{ids:[],linear:!0}}}function Cn(e){return Yt(e).ids}export{M as a,we as b,ye as c,_e as d,xe as e,Se as f,be as g,ke as h,Ee as i,Zt as j,Ie as k,Re as l,Qt as m,qt as n,Pe as o,Oe as p,De as q,$e as r,Fe as s,Le as t,er as u,tr as v,Te as w,rr as x,Ne as y,je as z,Me as A,yt as B,Ve as C,Be as D,St as E,lr as F,X as G,hr as H,Tt as I,Nt as J,jt as K,Xr as L,Zr as M,Qr as N,qr as O,Mt as P,Ke as Q,Q as R,We as S,Je as T,pn as U,Xe as V,wn as W,bn as X,et as Y,In as Z,qe as _,zt as $,Pn as aa,Yt as ba,Cn as ca};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{f as Be}from"./chunk-K5JGCJ2K.js";import{a as fe,e as Me,g as Te,h as Ge}from"./chunk-
|
|
2
|
+
import{f as Be}from"./chunk-K5JGCJ2K.js";import{a as fe,e as Me,g as Te,h as Ge}from"./chunk-KNCHEM6A.js";import{b as Ne,f as je,g as Ue,h as He}from"./chunk-FXPPQL4D.js";import{a as Oe}from"./chunk-RE3BZVGE.js";import{a as Pe,b as Ae}from"./chunk-JFAFKHDX.js";import{e as z,f as re}from"./chunk-WIA7TPK3.js";import{c as Ee}from"./chunk-6GTOYTCQ.js";import{b as Ie}from"./chunk-YKTYVJBN.js";import{a as Fe}from"./chunk-6AYUSR7X.js";import{a as ee,d as te}from"./chunk-2PQXEEVY.js";import{a as R}from"./chunk-MCQXRJGH.js";import{b as Re}from"./chunk-ZG2V2ODK.js";import{d as U}from"./chunk-5YPBPZUR.js";import{appendFileSync as rt,mkdirSync as he,writeFileSync as pe}from"fs";import{extname as st,join as M}from"path";var E=class extends Error{code;constructor(e,c){super(`${e}: ${c}`),this.name="ProposalAdapterError",this.code=e}};function qe(s){return s.version===2}function Le(s,e){if(s.read_basis.length!==1)throw new E("READ_BASIS_COUNT",`read_basis must have exactly 1 element, got ${s.read_basis.length}`);let c=s.read_basis[0],x=s.use_cases.map(o=>{if(o.cite.length!==1)throw new E("CITE_COUNT",`${o.temp_ref}: cite must have exactly 1 element, got ${o.cite.length}`);let m=o.cite[0];if(m.source_id!==c.source_id)throw new E("SOURCE_MISMATCH",`${o.temp_ref}: cite source ${m.source_id} != read_basis source ${c.source_id} (single-source)`);return{temp_ref:o.temp_ref,title:o.title,...o.description!==void 0?{description:o.description}:{},...o.summary!==void 0?{summary:o.summary}:{},...o.actors!==void 0?{actors:o.actors}:{},...o.value!==void 0?{value:o.value}:{},risk:o.risk,cite:{anchor:m.anchor,quote:m.quote},...o.criteria!=null&&o.criteria.length>0?{criteria:o.criteria.map((u,h)=>{if(u.cite.source_id!==c.source_id)throw new E("SOURCE_MISMATCH",`${o.temp_ref}.criteria[${h}]: cite source ${u.cite.source_id} != read_basis source ${c.source_id} (single-source)`);return{text:u.text,cite:{anchor:u.cite.anchor,quote:u.cite.quote}}})}:{},depends_on_hint:o.depends_on_hint,matches_existing:o.matches_existing,...o.conflicts_with!=null?{conflicts_with:o.conflicts_with}:{},...o.changed?{changed:!0}:{},...o.updated!=null?{updated:{...o.updated.title!=null?{title:o.updated.title}:{},...o.updated.description!=null?{description:o.updated.description}:{},...o.updated.summary!=null?{summary:o.updated.summary}:{},...o.updated.actors!=null?{actors:o.updated.actors}:{},...o.updated.value!=null?{value:o.updated.value}:{},...o.updated.risk!=null?{risk:o.updated.risk}:{},...o.updated.criteria!=null?{criteria:o.updated.criteria.map((u,h)=>{if(u.cite.source_id!==c.source_id)throw new E("SOURCE_MISMATCH",`${o.temp_ref}.updated.criteria[${h}]: cite source ${u.cite.source_id} != read_basis source ${c.source_id} (single-source)`);return{text:u.text,cite:{anchor:u.cite.anchor,quote:u.cite.quote}}})}:{}}}:{},...o.change_note!=null?{change_note:o.change_note}:{}}});return{version:1,read_basis:e,source:{source_id:c.source_id,source_cid:c.source_cid},use_cases:x}}function We(s){let{contextDir:e,graph:c}=s,x=s.maxDigestBytes??4096,o={},m=[];for(let[d,g]of c.heads){if(o[d]=g,typeof g!="string")continue;let _=c.mediaOf(g),w=c.getNode(g)?.content?.blob;if(typeof w=="string")if(_.format==="image")m.push({source_id:d,cid:g,format:"image",blobRef:{path:ee(e,w),cid:w}});else{let n=te(e,w)?.toString("utf8")??"";m.push({source_id:d,cid:g,format:_.format,text:n})}}m.sort((d,g)=>d.source_id<g.source_id?-1:1);let u=[];for(let d of c.byLabel(U.STYLENOTE).sort((g,_)=>g.cid<_.cid?-1:1))c.superseded.has(d.cid)||u.push(`\u2022 ${String(d.content.statement)} [${String(d.content.learned_from_kind)}]`);let h="";for(let d of u){if(Buffer.byteLength(h+d+`
|
|
3
3
|
`,"utf8")>x)break;h+=d+`
|
|
4
4
|
`}return{read_basis:o,sources:m,styleNoteDigest:h}}function ze(s,e){let c=We({contextDir:s,graph:e}).styleNoteDigest;return c.length>0?c:void 0}function ot(s){return s.length>8&&s[0]===137&&s[1]===80&&s[2]===78&&s[3]===71?"image/png":s.length>3&&s[0]===255&&s[1]===216&&s[2]===255?"image/jpeg":s.length>12&&s.toString("ascii",0,4)==="RIFF"&&s.toString("ascii",8,12)==="WEBP"?"image/webp":null}function it(s){return s.toString("utf8").replace(/\n$/,"").split(`
|
|
5
5
|
`).map((c,x)=>`${String(x+1).padStart(4,"0")}| ${c}`).join(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{y as n}from"./chunk-6SGPN76K.js";import{a as s}from"./chunk-HCBYKLMW.js";import{a,b as i}from"./chunk-C44QQJR4.js";import{e as r}from"./chunk-UR6MHSHU.js";var o=r(s(),1);function g({bindings:c,suppressEscBack:p=!1,escBackLabel:m="back to chat"}){let e=c.map(t=>`${t.keys} ${t.label}`);return p||e.push(`esc \xB7 ${m}`),(0,o.jsx)(a,{marginTop:1,children:(0,o.jsx)(i,{color:n.dim,children:e.join(" \xB7 ")})})}export{g as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as J}from"./chunk-
|
|
2
|
+
import{b as J}from"./chunk-D7L6UW5Z.js";import{e as H,g as P}from"./chunk-M5JQXOCE.js";import{a as ce}from"./chunk-6YGTRKDT.js";import{e as ue}from"./chunk-UR6MHSHU.js";var u=ue(ce(),1);function $(p,r){let f=null,R=(b,j)=>{for(let S=0;S<b.length;S++){let y=b[S],l=[...j,S];r(y)&&(f===null||l.length>f.length)&&(f=l),y.children&&y.children.length>0&&R(y.children,l)}};return R(p,[]),f}function T(p,r,f){if(r.length===0)return[...p];let R=r[0],b=[...p],j=b[R];if(r.length===1)b[R]=f(j);else{let S=r.slice(1),y=T(j.children??[],S,f);b[R]={...j,children:y}}return b}function K(){return{steps:[],maxOrdinal:0}}function le(p,r){if(r.type==="run_start"&&r.environment?.resolution)return{...p,resolution:r.environment.resolution};if(r.type==="step_end"&&typeof r.ordinal=="number"&&r.id){let f={id:r.id,ordinal:r.ordinal,status:r.status,...r.kind?{kind:r.kind}:{},...typeof r.duration=="number"?{duration_ms:Math.round(r.duration*1e3)}:{},...typeof r.action_id=="string"&&r.action_id?{action_id:r.action_id}:{}};return{...p,steps:[...p.steps,f],maxOrdinal:Math.max(p.maxOrdinal,r.ordinal)}}return p}function D(p){let r=p.indexOf(": ");return r>0&&r<15?p.slice(r+2):p}function W(p){return p.map(r=>{let f=r.children?W(r.children):r.children;return r.status==="running"?{...r,status:"stopped",phase:void 0,children:f}:f!==r.children?{...r,children:f}:r})}function Se(p,r,f,R,b){let[j,S]=(0,u.useState)(!1),[y,l]=(0,u.useState)([]),[Q,B]=(0,u.useState)(null),[X,F]=(0,u.useState)(null),[Y,w]=(0,u.useState)(null),[Z,L]=(0,u.useState)(null),[ee,q]=(0,u.useState)([]),[ne,G]=(0,u.useState)(null),[te,ie]=(0,u.useState)(void 0),m=(0,u.useRef)(null),x=(0,u.useRef)(null),_=(0,u.useRef)(0),A=(0,u.useRef)(!1),O=(0,u.useRef)(K()),re=(0,u.useCallback)(async(I,V)=>{let z=m.current;if(z){try{await z.exited}catch{}m.current=null}l([]),B(null),F(null),w(null),L(null),q([]),G(null),ie(I.max_steps),S(!0),x.current=null,_.current=0,O.current=K();let h;try{h=J(I,V)}catch(E){w(E instanceof Error?E.message:String(E)),S(!1);return}m.current=h,H("runner",()=>h.cancel()),(async()=>{A.current=!1;let E=!1;for await(let e of h.events){if(A.current)break;switch(O.current=le(O.current,e),e.type){case"run_start":if(e.child_id)break;if(x.current&&!x.current.isSingleFlow){let o=_.current;_.current++,l(d=>d.map((i,s)=>s===o?{...i,status:"running"}:i.status==="running"&&!i.children?.some(n=>n.status==="running")?{...i,status:i.children?.some(n=>n.status==="failed")?"failed":"passed"}:i))}break;case"bifurcation":{let o=e.flows??[],d=e.count??o.length,i={flows:o,isSingleFlow:e.is_single_flow??d<=1};L(i),x.current=i,_.current=0,l(o.map((s,n)=>({index:n+1,objective:s??`Flow ${n+1}`,status:"pending"})));break}case"step_start":{r?.("STEP_START",`Step ${e.index} started`,{index:e.index,objective:e.objective,child_id:e.child_id});let o=e.index,d=e.objective??`Step ${o}`,i=e.child_id,s=x.current&&!x.current.isSingleFlow;if(i)l(n=>{let t=$(n,a=>a.branchChildId===i)??$(n,a=>a.status==="running");return t?T(n,t,a=>{let c=(a.children??[]).map(g=>g.status==="running"&&g.childId===i?{...g,status:"stopped",phase:void 0}:g);return c.push({index:o,objective:d,status:"running",childId:i}),{...a,children:c}}):n});else if(s){let n=Math.max(0,_.current-1);l(t=>{let a=[...t];if(n>=a.length)return t;let c={...a[n]},k=[...c.children??[]].map(U=>U.status==="running"&&U.childId===void 0?{...U,status:"stopped",phase:void 0}:U);return k.push({index:o,objective:d,status:"running"}),c.children=k,c.status="running",a[n]=c,a})}else l(n=>{let t=W(n);return t.some(c=>c.index===o)?t.map(c=>c.index===o?{...c,status:"running",objective:d}:c):[...t,{index:o,objective:d,status:"running"}]});break}case"step_event":{r?.("STEP_EVENT",`Step ${e.index} ${e.event}`,{index:e.index,phase:e.event,action_type:e.action_type,detail:e.detail,child_id:e.child_id});let o=e.child_id,d=x.current&&!x.current.isSingleFlow;if(e.event==="cm_init"&&e.checkpoint_count!=null){q(i=>[...i,e.checkpoint_count]);break}if(e.event==="replay_started"){G({recordingLength:e.recording_length??0});break}if(e.event==="reasoning"&&e.detail&&e.detail!=="reasoning"&&f?.(e.detail),o){let i=n=>{if(n.index!==e.index||n.childId!==o)return n;let t={phase:e.event};return e.event==="reasoning"&&e.detail&&e.detail!=="reasoning"&&(t.objective=e.detail),e.action_type&&(t.actionType=e.action_type),{...n,...t}},s=n=>n.map(t=>{let a=i(t);return a!==t?a:t.children&&t.children.length>0?{...t,children:s(t.children)}:t});l(n=>n.map(t=>t.children?{...t,children:s(t.children)}:t))}else if(d){let i=Math.max(0,_.current-1);l(s=>{let n=[...s];if(i>=n.length)return s;let t={...n[i]},a=[...t.children??[]];if(!a.some(g=>g.index===e.index&&g.childId===void 0))a.push({index:e.index,objective:`Step ${e.index}`,status:"running",phase:e.event,actionType:e.action_type});else for(let g=0;g<a.length;g++){if(a[g].index!==e.index||a[g].childId!==void 0)continue;let k={phase:e.event};e.event==="reasoning"&&e.detail&&e.detail!=="reasoning"&&(k.objective=e.detail),e.action_type&&(k.actionType=e.action_type),a[g]={...a[g],...k}}return t.children=a,n[i]=t,n})}else l(i=>i.some(n=>n.index===e.index)?i.map(n=>{if(n.index!==e.index)return n;let t={phase:e.event};return e.event==="reasoning"&&e.detail&&e.detail!=="reasoning"&&(t.objective=e.detail),e.action_type&&(t.actionType=e.action_type),{...n,...t}}):[...W(i),{index:e.index,objective:`Step ${e.index}`,status:"running",phase:e.event,actionType:e.action_type}]);break}case"step_end":{r?.("STEP_END",`Step ${e.index} ${e.status}`,{index:e.index,status:e.status,duration:e.duration,summary:e.summary,child_id:e.child_id}),R?.();let o=e.child_id,d=x.current&&!x.current.isSingleFlow;if(o){let i=n=>n.index===e.index&&n.childId===o?{...n,status:e.status,duration:e.duration,phase:void 0,objective:n.objective.startsWith("Step ")?D(e.summary||n.objective):n.objective}:n,s=n=>n.map(t=>{let a=i(t);return a!==t?a:t.children&&t.children.length>0?{...t,children:s(t.children)}:t});l(n=>n.map(t=>t.children?{...t,children:s(t.children)}:t))}else if(d){let i=Math.max(0,_.current-1);l(s=>{let n=[...s];if(i>=n.length)return s;let t={...n[i]},a=(t.children??[]).map(c=>c.index===e.index&&c.childId===void 0?{...c,status:e.status,duration:e.duration,phase:void 0,objective:c.objective.startsWith("Step ")?D(e.summary||c.objective):c.objective}:c);return t.children=a,n[i]=t,n})}else l(i=>i.map(s=>s.index===e.index?{...s,status:e.status,duration:e.duration,phase:void 0,objective:s.objective.startsWith("Step ")?D(e.summary||s.objective):s.objective}:s));{let s=x.current&&!x.current.isSingleFlow?Math.max(0,_.current-1):0,n=typeof e.ordinal=="number"&&e.id?{ordinal:e.ordinal,id:e.id}:void 0;p?.(e.index,s,e.child_id,n)}break}case"child_agent_start":{let o=e.objective??"",d=e.child_id;l(i=>{let s=$(i,n=>n.status==="running");return s?T(i,s,n=>({...n,objective:`${o} (branch)`,phase:`child: ${o.slice(0,50)}`,branchObjective:o,branchChildId:d})):i});break}case"child_agent_end":{let o=e.child_id,d=`child ${e.success?"done":"failed"}`;l(i=>{let s=$(i,n=>n.branchChildId===o);return s?T(i,s,n=>({...n,phase:d})):i.map(n=>n.phase?.startsWith("child:")?{...n,phase:d}:n)});break}case"describe_trigger":b?.(e);break;case"ask_user":B(e.question??"");break;case"run_end":l(o=>o.map(d=>d.status==="running"?{...d,status:e.status,phase:void 0}:d)),S(!1),F(e),E=!0;break;case"error":S(!1),w(e.message??"Runner error"),l(o=>o.map(d=>d.status==="running"?{...d,status:"failed",phase:void 0}:d));break}}let{code:v,signal:M}=await h.exited,N=h.stderr,de=v===0&&!M,C=[];v!==null&&v!==0&&C.push(`Runner exited with code ${v}`),M&&C.push(`Runner killed by signal ${M}`),N&&(!de||!E?C.push(N):V?.log?.("debug","RUNNER_STDERR_BENIGN","Runner stderr on clean exit",{stderr:N})),m.current===h&&(C.length>0&&w(C.join(`
|
|
3
3
|
`)),S(!1),P("runner","Event stream ended"),m.current=null)})().catch(E=>{let v=[`Runner event loop error: ${E}`];h.exitCode!==null&&h.exitCode!==0&&v.push(`Exit code: ${h.exitCode}`),h.exitSignal&&v.push(`Signal: ${h.exitSignal}`),h.stderr&&v.push(h.stderr),m.current===h&&(w(v.join(`
|
|
4
4
|
`)),S(!1),P("runner","Event loop error"),m.current=null)})},[p,r,f,R,b]),se=(0,u.useCallback)(I=>{m.current?.sendUserResponse(I),B(null)},[]),ae=(0,u.useCallback)(()=>{let I=m.current;I&&(I.sendCancel("user"),S(!1),B(null),setTimeout(()=>{m.current===I&&(P("runner","User cancelled run"),m.current=null)},5e3))},[]),oe=(0,u.useCallback)(()=>{l([]),F(null),w(null)},[]);return(0,u.useEffect)(()=>()=>{A.current=!0,P("runner","Component unmounted"),m.current=null},[]),{isRunning:j,steps:y,askingUser:Q,lastRunEnd:X,runError:Y,bifurcationInfo:Z,cmInitCounts:ee,replayInfo:ne,maxSteps:te,startRun:re,sendAnswer:se,cancelRun:ae,clearLastRun:oe,getEvidenceState:()=>O.current}}export{K as a,le as b,Se as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as ve}from"./chunk-
|
|
2
|
+
import{a as ve}from"./chunk-4SXD6XWV.js";import{c as we,y as d}from"./chunk-6SGPN76K.js";import{a as V}from"./chunk-HCBYKLMW.js";import{a as v,b as u,h as Te,i as de,k as Ae}from"./chunk-C44QQJR4.js";import{a as ue}from"./chunk-6YGTRKDT.js";import{e as B}from"./chunk-UR6MHSHU.js";var Be=B(ue(),1);import{readFileSync as Ye,writeFileSync as Ve,mkdirSync as Xe}from"fs";import{dirname as Ge,join as Pe}from"path";var Je=Pe(we,"command-history.json"),gt=Pe(we,"generate-history.json"),ze=200,Ee=class{entries;filePath;max;constructor(o=Je,n=ze){this.filePath=o,this.max=n,this.entries=this._load()}push(o){this.entries.length>0&&this.entries[this.entries.length-1]===o||(this.entries.push(o),this.entries.length>this.max&&(this.entries=this.entries.slice(this.entries.length-this.max)),this._save())}getAll(){return[...this.entries]}search(o){let n=o.toLowerCase(),l=[];for(let s=this.entries.length-1;s>=0;s--)this.entries[s].toLowerCase().includes(n)&&l.push(this.entries[s]);return l}_load(){if(this.filePath===null)return[];try{let o=Ye(this.filePath,"utf-8"),n=JSON.parse(o);return Array.isArray(n)?n:[]}catch{return[]}}_save(){if(this.filePath!==null)try{Xe(Ge(this.filePath),{recursive:!0}),Ve(this.filePath,JSON.stringify(this.entries)+`
|
|
3
3
|
`)}catch{}}};function pt(r){let o=(0,Be.useRef)(null);return o.current||(o.current=new Ee(r)),o.current}var C=B(ue(),1);var Se=B(ue(),1);var $=B(V(),1);function Le({history:r,onSelect:o,onClose:n}){let[l,s]=(0,Se.useState)(""),[c,m]=(0,Se.useState)(0),S=l?r.search(l).slice(0,8):[];return de((y,g)=>{if(g.escape){n();return}if(g.return){S.length>0&&S[c]?o(S[c]):n();return}if(g.upArrow){m(M=>Math.max(0,M-1));return}if(g.downArrow){m(M=>Math.min(S.length-1,M+1));return}if(g.backspace||g.delete){s(M=>M.slice(0,-1)),m(0);return}y&&!g.ctrl&&!g.meta&&(s(M=>M+y),m(0))}),(0,$.jsxs)(v,{flexDirection:"column",marginLeft:2,borderStyle:"single",paddingX:1,children:[(0,$.jsx)(u,{color:d.muted,bold:!0,children:"reverse search"}),(0,$.jsxs)(v,{gap:1,children:[(0,$.jsx)(u,{color:d.dim,children:"search:"}),(0,$.jsx)(u,{children:l}),(0,$.jsx)(u,{color:d.orange,children:"\u2588"})]}),S.length>0&&(0,$.jsx)(u,{children:" "}),S.map((y,g)=>(0,$.jsx)(v,{marginLeft:2,children:(0,$.jsxs)(u,{color:g===c?d.orange:d.dim,bold:g===c,children:[g===c?"\u25B8 ":" ",y]})},`${g}-${y}`))]})}var X=B(V(),1);function De({commands:r,selectedIndex:o}){return r.length===0?null:(0,X.jsx)(v,{flexDirection:"column",marginBottom:0,children:r.map((n,l)=>{let s=l===o;return(0,X.jsxs)(v,{children:[(0,X.jsx)(u,{color:s?d.orange:d.dim,children:s?"\u276F ":" "}),(0,X.jsxs)(u,{color:s?d.orange:void 0,bold:s,children:["/",n.name]}),n.args&&(0,X.jsxs)(u,{color:d.dim,children:[" ",n.args]}),(0,X.jsxs)(u,{color:d.dim,children:[" ",n.description]})]},n.name)})})}var _e=B(ue(),1);var P=B(V(),1),$e={scenario:"Scenarios",case:"Test Cases",file:"Files"};function Oe(r){let o={scenario:0,case:0,file:0};for(let n of r)o[n.kind]++;return["scenario","case","file"].filter(n=>o[n]>0).map(n=>`${o[n]} ${$e[n]}`).join(" \xB7 ")}var ge=7;function Ke({items:r,selectedIndex:o,accent:n=d.orange}){let l=r.length;if(l===0)return null;let s=Math.floor(ge/2),c=l<=ge?0:Math.max(0,Math.min(o-s,l-ge)),m=Math.min(l,c+ge),S=c,y=l-m;return(0,P.jsxs)(v,{flexDirection:"column",marginBottom:0,children:[S>0&&(0,P.jsx)(v,{children:(0,P.jsx)(u,{color:d.dim,children:` \u22EF ${S} above \u2014 ${Oe(r.slice(0,c))}`})}),r.slice(c,m).map((g,M)=>{let W=c+M,H=W===o,Q=M===0||r[W-1].kind!==g.kind;return(0,P.jsxs)(_e.default.Fragment,{children:[Q&&(0,P.jsx)(v,{children:(0,P.jsx)(u,{color:d.dim,children:$e[g.kind]})}),(0,P.jsxs)(v,{children:[(0,P.jsx)(u,{color:H?n:d.dim,children:H?"\u276F ":" "}),(0,P.jsx)(u,{color:H?n:void 0,bold:H,children:g.label})]})]},`${g.kind}:${g.value}:${W}`)}),y>0&&(0,P.jsx)(v,{children:(0,P.jsx)(u,{color:d.dim,children:` \u22EF ${y} more \u2014 ${Oe(r.slice(m))}`})})]})}var pe=B(ue(),1);var Qe=27,Ze=127,et=11;function tt(r){return r>=64&&r<=126}function nt(r,o){r===et&&o({killToEnd:!0,ctrl:!0,raw:String.fromCharCode(r)})}function rt(r,o){r===Ze&&o({backspace:!0,meta:!0,raw:"\x1B\x7F"})}function ot(r,o){let n=r.map(s=>String.fromCharCode(s)).join(""),l=/^\[1;([0-9]+)([A-D])$/.exec(n);if(l){let s=parseInt(l[1],10),c=l[2],m={raw:"\x1B"+n};if(s===2)m.shift=!0;else if(s===3)m.meta=!0;else if(s===5)m.ctrl=!0;else return;c==="A"?m.arrowUp=!0:c==="B"?m.arrowDown=!0:c==="C"?m.arrowRight=!0:c==="D"&&(m.arrowLeft=!0),o(m);return}if(n==="[H"||n==="[1~"||n==="[7~"){o({home:!0,raw:"\x1B"+n});return}if(n==="[F"||n==="[4~"||n==="[8~"){o({end:!0,raw:"\x1B"+n});return}if(n==="[3;5~"){o({delete:!0,ctrl:!0,raw:"\x1B"+n});return}if(n==="[3;3~"){o({delete:!0,meta:!0,raw:"\x1B"+n});return}}function it(r,o){r===72?o({home:!0,raw:"\x1BO"+String.fromCharCode(r)}):r===70&&o({end:!0,raw:"\x1BO"+String.fromCharCode(r)})}function st(){let r="IDLE",o=[];function n(){r="IDLE",o=[]}return{feed(l,s){for(let c of l)r==="IDLE"?c===Qe?(r="ESC",o=[]):nt(c,s):r==="ESC"?c===91?(r="CSI",o=[]):c===79?(r="SS3",o=[]):(rt(c,s),n()):r==="CSI"?(o.push(c),tt(c)&&(ot([91,...o],s),n())):r==="SS3"&&(it(c,s),n())},flushIdle(l){r==="ESC"&&o.length===0&&l({raw:"\x1B"}),n()}}}function He(r,o={}){let n=(0,pe.useRef)(r);n.current=r;let{stdin:l}=Te();(0,pe.useEffect)(()=>{if(o.isActive===!1||!l)return;let s=st(),c=null,m=S=>{c&&(clearTimeout(c),c=null);let y=Buffer.isBuffer(S)?S:Buffer.from(S,"binary");s.feed(y,g=>n.current(g)),c=setTimeout(()=>{s.flushIdle(g=>n.current(g)),c=null},50)};return l.on("data",m),()=>{l.removeListener("data",m),c&&clearTimeout(c)}},[o.isActive,l])}var x=B(V(),1);function lt(r,o){let n=o-1;for(;n>=0&&r[n]!=="@"&&r[n]!==" "&&r[n]!==`
|
|
4
4
|
`;)n--;return n<0||r[n]!=="@"||n>0&&r[n-1]!==" "&&r[n-1]!==`
|
|
5
5
|
`?null:{at:n,query:r.slice(n+1,o).join("")}}var ye=10;function at(r){return r.replace(/\x1b?\[200~/g,"").replace(/\x1b?\[201~/g,"").replace(/\r\n/g,`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as u,b as x}from"./chunk-
|
|
2
|
+
import{a as u,b as x}from"./chunk-3Z3UIW5H.js";import{y as m}from"./chunk-6SGPN76K.js";import{a as f}from"./chunk-HCBYKLMW.js";import{a as r,b as i}from"./chunk-C44QQJR4.js";import{e as n}from"./chunk-UR6MHSHU.js";var e=n(f(),1);function C({title:B,titleColor:c,borderColor:d,variant:p,rows:s,footer:t,labelWidth:l=14,marginBottom:b=1}){return(0,e.jsxs)(u,{title:B,titleColor:c,borderColor:d,variant:p,marginBottom:b,children:[s.map((o,a)=>typeof o.value=="string"?(0,e.jsx)(x,{label:o.label,value:o.value,valueColor:o.valueColor,labelWidth:l},`${o.label}-${a}`):(0,e.jsxs)(r,{children:[(0,e.jsx)(r,{width:l,children:(0,e.jsx)(i,{color:m.dim,children:o.label})}),o.value]},`${o.label}-${a}`)),t&&(0,e.jsx)(r,{marginTop:1,children:t})]})}export{C as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{homedir as a}from"os";import{join as t}from"path";var m="0.6.6",d="kane-cli",e=t(a(),".testmuai","kaneai"),g=t(e,"profiles"),h=t(e,"tui-config.json"),_=t(e,"media"),A="https://registry.npmjs.org/@testmuai/kane-cli",L="https://api.github.com/repos/LambdaTest/kane-cli/releases",n="@testmuai/kane-cli-skill",x=`https://registry.npmjs.org/${n}`,r="kane-cli",b=[{dir:t(a(),".claude","skills",r),agent:"Claude Code"},{dir:t(a(),".agents","skills",r),agent:"Codex CLI"},{dir:t(a(),".gemini","skills",r),agent:"Gemini CLI"}],u="https://dd-proxy.lambdatest.com/intake/kane-cli",U="https://kaneai-playground.lambdatest.io",R=9222,I=9230,E=t(e,"chrome-profiles"),o=t(e,"hints"),C=t(o,"state.json");function T(s){return t(o,`catalog-${s}.json`)}var c="127.0.0.1",S=18392,N=18400,i="/callback";function P(s){return`http://${c}:${s}${i}`}var B="KANE CLI",O="*",f={prod:{authBaseUrl:"https://auth.lambdatest.com",consentUrl:"https://accounts.lambdatest.com",controllerBaseUrl:"https://kaneai-api.lambdatest.com/v16-controller/v1",tmsBaseUrl:"https://test-manager-api.lambdatest.com/api",testGeneratorBaseUrl:"https://test-manager-api.lambdatest.com",secretsBaseUrl:"https://api-hyperexecute.lambdatest.com",testManagerUiUrl:"https://test-manager.lambdatest.com",shareApiBaseUrl:"https://api.lambdatest.com",v16ServerHost:"https://kaneai-api.lambdatest.com/v16-server",evidenceViewerUrl:"https://evidence.lambdatest.com",mediaArtefactsHost:"prod-mobile-artefacts.lambdatest.com"},stage:{authBaseUrl:"https://stage-auth.lambdatestinternal.com",consentUrl:"https://stage-accounts.lambdatestinternal.com",controllerBaseUrl:"https://auteur-stage-automind.lambdatestinternal.com/v16-controller/v1",tmsBaseUrl:"https://stage-test-manager-api.lambdatestinternal.com/api",testGeneratorBaseUrl:"https://stage-test-manager-api.lambdatestinternal.com",secretsBaseUrl:"https://api-stage-hyperexecute.lambdatestinternal.com",testManagerUiUrl:"https://stage-test-manager.lambdatestinternal.com",shareApiBaseUrl:"https://stage-api.lambdatestinternal.com",v16ServerHost:"https://auteur-stage-automind.lambdatestinternal.com/v16-server",evidenceViewerUrl:"https://stage-evidence.lambdatestinternal.com",mediaArtefactsHost:"stage-mobile-artefacts.lambdatestinternal.com"}},k={orange:"#ff9500",generateAccent:"#0d9488",purple:"#b388ff",secondary:"#888888",dim:"#666666",muted:"#444444",green:"#4ade80",red:"#ef4444"};export{m as a,d as b,e as c,h as d,_ as e,A as f,L as g,n as h,b as i,u as j,U as k,R as l,I as m,E as n,C as o,T as p,c as q,S as r,N as s,i as t,P as u,B as v,O as w,f as x,k as y};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as m}from"./chunk-L5LI2JF4.js";import{c as p}from"./chunk-
|
|
2
|
+
import{b as m}from"./chunk-L5LI2JF4.js";import{c as p}from"./chunk-6SGPN76K.js";import{randomUUID as E}from"crypto";import{mkdirSync as F,writeFileSync as f,appendFileSync as O,existsSync as v}from"fs";import{join as u}from"path";import{writeFileSync as w,mkdirSync as x,existsSync as I}from"fs";import{join as h,relative as j}from"path";function _(n){let t=Object.keys(n.frontmatter).length>0?m(n.frontmatter).trimEnd():"",s=["---"];return t&&s.push(t),s.push("---",""),s.push(`# ${n.heading}`,""),n.steps.forEach((i,r)=>{s.push(`## Step ${r+1}`,i,"")}),s.join(`
|
|
3
3
|
`)}function C(n,e){let t={},s={},i=e;for(let[r,l]of Object.entries(n)){if(r.startsWith("global.")||r.startsWith("secrets.user.")||r.startsWith("environment.")){let o=r.startsWith("secrets.user.");t[r]={value:l.value,secret:o,syntax:`{{${r}}}`,type:o?"secret":r.startsWith("environment.")?"environment":"global"},s[r]=r;continue}if(l.secret){let o=`secrets.user.${r}`;t[o]={value:l.value,secret:!0,syntax:`{{secrets.user.${r}}}`,type:"secret"},s[r]=o,i=i.replaceAll(`{{${r}}}`,`{{secrets.user.${r}}}`)}else{let o=`global.${r}`;t[o]={value:l.value,secret:!1,syntax:`{{global.${r}}}`,type:"global"},s[r]=o,i=i.replaceAll(`{{${r}}}`,`{{global.${r}}}`)}}return{variables:t,objective:i,keyMap:s}}var y=/\{\{\s*(?:global|secrets\.user|environment)\.([^{}]+?)\s*\}\}/g;function c(n){return typeof n!="string"||!n.includes("{{")?n:n.replace(y,"{{$1}}")}function d(n){if(typeof n=="string")return c(n);if(Array.isArray(n))return n.map(e=>d(e));if(n&&typeof n=="object"){let e={};for(let[t,s]of Object.entries(n))e[t]=d(s);return e}return n}var L=new Set(["username","access_key","oauth","profile","project_id","folder_id"]),N=new Set(["model","env"]),g=class{constructor(e){this.opts=e}objectives=[];flushed=!1;lastWrittenPath=null;lastCollisionSuffixed=!1;appendObjective(e){this.objectives.push(e)}flush(){if(this.flushed||(this.flushed=!0,this.objectives.length===0))return;let e=this.opts.getName();if(!e)return;let t=h(this.opts.cwd,".testmuai","tests");try{x(t,{recursive:!0})}catch(a){process.stderr.write(`
|
|
4
4
|
\u26A0 Failed to create ${j(this.opts.cwd,t)}/
|
|
5
5
|
${a.message}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{
|
|
2
|
+
import{x as s}from"./chunk-6SGPN76K.js";function n(r="prod"){let e=s[r];return r!=="stage"?e:{authBaseUrl:process.env.KANE_STAGE_AUTH_URL??e.authBaseUrl,consentUrl:process.env.KANE_STAGE_CONSENT_URL??e.consentUrl,controllerBaseUrl:process.env.TESTMUAI_BASE_URL??e.controllerBaseUrl,tmsBaseUrl:process.env.KANE_STAGE_TMS_URL??e.tmsBaseUrl,testGeneratorBaseUrl:process.env.KANE_STAGE_TCG_URL??e.testGeneratorBaseUrl,secretsBaseUrl:process.env.KANE_STAGE_SECRETS_URL??e.secretsBaseUrl,testManagerUiUrl:process.env.KANE_STAGE_TEST_MANAGER_UI_URL??e.testManagerUiUrl,shareApiBaseUrl:process.env.KANE_STAGE_SHARE_API_URL??e.shareApiBaseUrl,v16ServerHost:process.env.KANE_STAGE_V16_SERVER_HOST??e.v16ServerHost,evidenceViewerUrl:process.env.KANE_STAGE_EVIDENCE_VIEWER_URL??e.evidenceViewerUrl,mediaArtefactsHost:process.env.KANE_STAGE_MEDIA_ARTEFACTS_HOST??e.mediaArtefactsHost}}export{n as a};
|