@testmuai/kane-cli 0.6.1 → 0.6.3
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-J777M5WC.js +8 -0
- package/dist/{ChromeProfilePicker-BZKLIO2T.js → ChromeProfilePicker-UUGUMJPI.js} +1 -1
- package/dist/{CliFeedbackPrompt-3HYRBMXS.js → CliFeedbackPrompt-JZWESL7Z.js} +1 -1
- package/dist/{CliUploadProgress-OAPMO5I3.js → CliUploadProgress-62U3LAUU.js} +1 -1
- package/dist/{ConfigView-YIAAISLE.js → ConfigView-WHEFCVHR.js} +1 -1
- package/dist/EvidenceViewOffer-JQDEAE2T.js +2 -0
- package/dist/FolderPicker-HJUUHQEI.js +2 -0
- package/dist/{HelpView-HBQX64VR.js → HelpView-EWHP7LSJ.js} +1 -1
- package/dist/{InfoBox-DKJO73HM.js → InfoBox-GQQJVTI5.js} +1 -1
- package/dist/{LinksBox-44WCVBT4.js → LinksBox-EWCPAZFN.js} +1 -1
- package/dist/{ProfilesView-NVEDYU3H.js → ProfilesView-5FJNQMUW.js} +1 -1
- package/dist/{ProjectPicker-COBY7TCY.js → ProjectPicker-IN7GFN7I.js} +1 -1
- package/dist/{SaveSessionPrompt-O4ENMYHP.js → SaveSessionPrompt-ISODGFP7.js} +1 -1
- package/dist/SingleShotApp-QANGFAPO.js +2 -0
- package/dist/{SummaryBox-ROV7TNK4.js → SummaryBox-R6WHU7VD.js} +1 -1
- package/dist/TestMdRunView-74A3LCNE.js +2 -0
- package/dist/{WhoamiView-4QV3DPN2.js → WhoamiView-YRQNOSOH.js} +1 -1
- package/dist/{bind-RDTZZ6ZI.js → bind-FZ4X4SOK.js} +2 -2
- package/dist/{bridge-VY2Q3HQU.js → bridge-7UMWMIJJ.js} +1 -1
- package/dist/{changelog-JMFGVNEU.js → changelog-YQC2QDCO.js} +1 -1
- package/dist/{chat-committer-RTJCKQMM.js → chat-committer-GHDZY5XF.js} +1 -1
- package/dist/chat-controller-QXFAB2DK.js +3 -0
- package/dist/{chunk-N2ZW5635.js → chunk-2S4S2XJC.js} +3 -3
- package/dist/{chunk-BMSWIYYK.js → chunk-2TVRHXRK.js} +1 -1
- package/dist/{chunk-IRDMEYJB.js → chunk-326XAPMW.js} +2 -2
- package/dist/{chunk-47RNFG2V.js → chunk-53VDR5DN.js} +3 -3
- package/dist/{chunk-CP4XCWAJ.js → chunk-6RQAUK5F.js} +1 -1
- package/dist/{chunk-WAGJLR5X.js → chunk-7LFCSSPX.js} +10 -10
- package/dist/{chunk-2PDWMY2B.js → chunk-7MV5UF6O.js} +1 -1
- package/dist/{chunk-S74MQRDN.js → chunk-7YQW4TFI.js} +1 -1
- package/dist/{chunk-MMI3VSCA.js → chunk-ARS72637.js} +1 -1
- package/dist/{chunk-CB3TEWZJ.js → chunk-AV5SUGRY.js} +1 -1
- package/dist/{chunk-WRHZCHZY.js → chunk-B5LJCGAY.js} +1 -1
- package/dist/{chunk-FAIH2K2U.js → chunk-BFFCGEUH.js} +1 -1
- package/dist/{chunk-SQJWMOJQ.js → chunk-BGGNBWAJ.js} +1 -1
- package/dist/{chunk-Q4PUOA46.js → chunk-BO3JA2GS.js} +3 -3
- package/dist/{chunk-VXD5667K.js → chunk-C5POEXSX.js} +2 -2
- package/dist/{chunk-OBBXDBEE.js → chunk-CIW2KP4C.js} +1 -1
- package/dist/{chunk-R2K2SGGE.js → chunk-DEEBPSJN.js} +1 -1
- package/dist/{chunk-HMGNPFXP.js → chunk-E4OYR32M.js} +1 -1
- package/dist/{chunk-AAWRKFE4.js → chunk-EEO4XWY6.js} +1 -1
- package/dist/{chunk-SB6MBQKR.js → chunk-EWFFJBAM.js} +1 -1
- package/dist/{chunk-SUDAFBVD.js → chunk-F2K3XFFH.js} +2 -2
- package/dist/{chunk-FS4YJM22.js → chunk-F66SSA4C.js} +1 -1
- package/dist/{chunk-O4O4KL6Z.js → chunk-FFL2TQEJ.js} +1 -1
- package/dist/chunk-FTD3B7QA.js +2 -0
- package/dist/{chunk-7SUKUJO2.js → chunk-G6AF2JUA.js} +1 -1
- package/dist/{chunk-5UXL6RNG.js → chunk-ME5QSYWX.js} +1 -1
- package/dist/{chunk-MZ2PXBKK.js → chunk-NFGG5DA2.js} +1 -1
- package/dist/{chunk-WGG5XURS.js → chunk-OE7TVGNB.js} +3 -3
- package/dist/{chunk-2T4JPBB5.js → chunk-OGVIHL5G.js} +1 -1
- package/dist/{chunk-ISAE457F.js → chunk-P46TIMGQ.js} +1 -1
- package/dist/{chunk-YJ6AQ2KP.js → chunk-PJDOXRLB.js} +1 -1
- package/dist/{chunk-XDW2RGIL.js → chunk-Q4HLQOJI.js} +1 -1
- package/dist/chunk-RE3BZVGE.js +3 -0
- package/dist/{chunk-KGP7NSXH.js → chunk-RLG5NUTE.js} +1 -1
- package/dist/{chunk-Q4P2L7DY.js → chunk-RZFINU7J.js} +1 -1
- package/dist/{chunk-7DBQEOFL.js → chunk-SGU72YLH.js} +4 -4
- package/dist/{chunk-NSSKSXCT.js → chunk-SHSV64GX.js} +1 -1
- package/dist/{chunk-RH2OAIJI.js → chunk-SL7AJ7JQ.js} +1 -1
- package/dist/{chunk-ZA67EBYF.js → chunk-SQFNMZJ2.js} +1 -1
- package/dist/{chunk-5FD6ZXB5.js → chunk-TTSYHJLX.js} +1 -1
- package/dist/chunk-TY5LWU6I.js +14 -0
- package/dist/{chunk-4CRKK5WV.js → chunk-TZZYRDCF.js} +1 -1
- package/dist/{chunk-J5BUMF3G.js → chunk-UXJPCWGW.js} +1 -1
- package/dist/{chunk-KFAYCOTB.js → chunk-VXGOWBET.js} +1 -1
- package/dist/{chunk-ROPXE7TF.js → chunk-WFRL54GK.js} +1 -1
- package/dist/{chunk-HGL3RM7P.js → chunk-XBE7PGVY.js} +1 -1
- package/dist/{chunk-ZNANAARA.js → chunk-Y6LMHBLE.js} +1 -1
- package/dist/{chunk-QZWQCHXK.js → chunk-Y7KW5AEN.js} +1 -1
- package/dist/chunk-YKTYVJBN.js +3 -0
- package/dist/{chunk-37CI4EJX.js → chunk-YZKPZXHY.js} +1 -1
- package/dist/chunk-YZSYXNMB.js +2 -0
- package/dist/config-5OOP2BO3.js +2 -0
- package/dist/{credentials-L63BBW2S.js → credentials-XCP6DJZZ.js} +1 -1
- package/dist/{evidence-UAFPTHQX.js → evidence-AX67Q6RN.js} +1 -1
- package/dist/{evolve-cmd-2SPNVTT4.js → evolve-cmd-HR25DRTC.js} +1 -1
- package/dist/{extract-bind-DS4UP23P.js → extract-bind-ZDAXRQUS.js} +2 -2
- package/dist/{extract-cmd-PMZHMMU7.js → extract-cmd-5GGI6LAM.js} +1 -1
- package/dist/{generate-headless-C3UZKDS5.js → generate-headless-DRDE46ON.js} +2 -2
- package/dist/index.js +12 -12
- package/dist/{ingest-cmd-FJ3SLTT4.js → ingest-cmd-X7BWGIN7.js} +1 -1
- package/dist/{interactive-bind-SJLDJULN.js → interactive-bind-T6OBLZCT.js} +2 -2
- package/dist/{lifecycle-cmd-56OZT4LY.js → lifecycle-cmd-55NZL3UO.js} +1 -1
- package/dist/{list-commands-PGAX5HRB.js → list-commands-UDAL3SBY.js} +1 -1
- package/dist/{logical-ids-QRRUXV5E.js → logical-ids-ATVR6PF2.js} +1 -1
- package/dist/login-flow-LJ4BH3OS.js +2 -0
- package/dist/{persist-recorded-session-WFU4M4SQ.js → persist-recorded-session-BW3YSFMP.js} +1 -1
- package/dist/{pipeline-EYQUM27P.js → pipeline-TZJ652NT.js} +1 -1
- package/dist/{reconcile-cmd-TFFYCTCY.js → reconcile-cmd-242S7XNO.js} +2 -2
- package/dist/{recording-banner-PH2NND2X.js → recording-banner-6FVTCUWQ.js} +1 -1
- package/dist/{require-project-folder-RD2UAB7E.js → require-project-folder-AQUVEEJB.js} +1 -1
- package/dist/{review-cmd-SL52N4TM.js → review-cmd-RXPPC5GK.js} +1 -1
- package/dist/run-UGAOGR3B.js +2 -0
- package/dist/{run-test-md-I6O4H7B2.js → run-test-md-AUK7NGLL.js} +2 -2
- package/dist/{skill-installer-BJLHH3DW.js → skill-installer-2MNPCPRD.js} +1 -1
- package/dist/{spawner-UDCF35OA.js → spawner-XCOMTJJC.js} +1 -1
- package/dist/tcg-generate-E5X23RVP.js +2 -0
- package/dist/testmd-actions-TU4KTO32.js +2 -0
- package/dist/token-refresh-GGLARJV4.js +2 -0
- package/dist/{turn-preflight-I5SM4UIZ.js → turn-preflight-JGYT7LXP.js} +1 -1
- package/dist/{validate-basic-WILRWRRP.js → validate-basic-IYMPP7C7.js} +1 -1
- package/dist/{version-check-TXTCVX2N.js → version-check-MUPSKONS.js} +1 -1
- package/package.json +6 -6
- package/dist/ChatSurface-R55VO3VW.js +0 -9
- package/dist/EvidenceViewOffer-DBMZQ34Z.js +0 -2
- package/dist/FolderPicker-ILK4AIKL.js +0 -2
- package/dist/SingleShotApp-NA6A2S6I.js +0 -2
- package/dist/TestMdRunView-U5YTNLY6.js +0 -2
- package/dist/chat-controller-OTBYHB4Y.js +0 -3
- package/dist/chunk-5446YVGQ.js +0 -4
- package/dist/chunk-5ILXUQIX.js +0 -2
- package/dist/chunk-DM2GL24Z.js +0 -3
- package/dist/chunk-MJFYMMX2.js +0 -2
- package/dist/chunk-RY4OOGSC.js +0 -14
- package/dist/login-flow-4OJ34VDP.js +0 -2
- package/dist/run-NODOSQUL.js +0 -2
- package/dist/tcg-generate-E7H4LF7Y.js +0 -2
- package/dist/testmd-actions-FMVUXZGX.js +0 -2
- package/dist/token-refresh-OGBTJGZ2.js +0 -2
package/dist/chunk-RY4OOGSC.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as Ie,f as Te,g as Ue}from"./chunk-7DBQEOFL.js";import{a as Ce}from"./chunk-DM2GL24Z.js";import{a as Oe,b as Pe}from"./chunk-JFAFKHDX.js";import{e as L,f as re}from"./chunk-5ILXUQIX.js";import{c as Ee}from"./chunk-VJUIW2ES.js";import{b as Me,f as Fe,g as je,h as Be}from"./chunk-FXPPQL4D.js";import{b as Ae}from"./chunk-5446YVGQ.js";import{a as Ne}from"./chunk-Z56AWGVY.js";import{a as ee,d as te}from"./chunk-KHDUQ33H.js";import{a as E}from"./chunk-D5T4ARTB.js";import{b as Re}from"./chunk-B2PZAB7J.js";import{d as j}from"./chunk-IACKIGPX.js";import{appendFileSync as Qe,mkdirSync as fe,writeFileSync as ge}from"fs";import{extname as Ze,join as A}from"path";var O=class extends Error{code;constructor(e,c){super(`${e}: ${c}`),this.name="ProposalAdapterError",this.code=e}};function Ge(s){return s.version===2}function He(s,e){if(s.read_basis.length!==1)throw new O("READ_BASIS_COUNT",`read_basis must have exactly 1 element, got ${s.read_basis.length}`);let c=s.read_basis[0],h=s.use_cases.map(i=>{if(i.cite.length!==1)throw new O("CITE_COUNT",`${i.temp_ref}: cite must have exactly 1 element, got ${i.cite.length}`);let l=i.cite[0];if(l.source_id!==c.source_id)throw new O("SOURCE_MISMATCH",`${i.temp_ref}: cite source ${l.source_id} != read_basis source ${c.source_id} (single-source)`);return{temp_ref:i.temp_ref,title:i.title,...i.description!==void 0?{description:i.description}:{},...i.summary!==void 0?{summary:i.summary}:{},...i.actors!==void 0?{actors:i.actors}:{},...i.value!==void 0?{value:i.value}:{},risk:i.risk,cite:{anchor:l.anchor,quote:l.quote},...i.criteria!=null&&i.criteria.length>0?{criteria:i.criteria.map((d,p)=>{if(d.cite.source_id!==c.source_id)throw new O("SOURCE_MISMATCH",`${i.temp_ref}.criteria[${p}]: cite source ${d.cite.source_id} != read_basis source ${c.source_id} (single-source)`);return{text:d.text,cite:{anchor:d.cite.anchor,quote:d.cite.quote}}})}:{},depends_on_hint:i.depends_on_hint,matches_existing:i.matches_existing,...i.conflicts_with!=null?{conflicts_with:i.conflicts_with}:{},...i.changed?{changed:!0}:{},...i.updated!=null?{updated:i.updated}:{}}});return{version:1,read_basis:e,source:{source_id:c.source_id,source_cid:c.source_cid},use_cases:h}}function qe(s){let{contextDir:e,graph:c}=s,h=s.maxDigestBytes??4096,i={},l=[];for(let[u,m]of c.heads){if(i[u]=m,typeof m!="string")continue;let _=c.mediaOf(m),w=c.getNode(m)?.content?.blob;if(typeof w=="string")if(_.format==="image")l.push({source_id:u,cid:m,format:"image",blobRef:{path:ee(e,w),cid:w}});else{let n=te(e,w)?.toString("utf8")??"";l.push({source_id:u,cid:m,format:_.format,text:n})}}l.sort((u,m)=>u.source_id<m.source_id?-1:1);let d=[];for(let u of c.byLabel(j.STYLENOTE).sort((m,_)=>m.cid<_.cid?-1:1))c.superseded.has(u.cid)||d.push(`\u2022 ${String(u.content.statement)} [${String(u.content.learned_from_kind)}]`);let p="";for(let u of d){if(Buffer.byteLength(p+u+`
|
|
3
|
-
`,"utf8")>h)break;p+=u+`
|
|
4
|
-
`}return{read_basis:i,sources:l,styleNoteDigest:p}}function Le(s,e){let c=qe({contextDir:s,graph:e}).styleNoteDigest;return c.length>0?c:void 0}function et(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 tt(s){return s.toString("utf8").replace(/\n$/,"").split(`
|
|
5
|
-
`).map((c,h)=>`${String(h+1).padStart(4,"0")}| ${c}`).join(`
|
|
6
|
-
`)}function We(s){return s.toISOString().replace(/[-:]/g,"").slice(0,15)}function rt(s){return s.startsWith("su-conv-")?`conv-${Re(Buffer.from(s,"utf8")).slice(0,8)}`:s}function W(s){return s.toLowerCase().trim().replace(/\s+/g," ")}function ze(s,e){let c=new Map,h=new Map,i=new Map;for(let{cid:d,content:p}of e.byLabel(j.USECASE)){if(e.superseded.has(d))continue;(e.trust.get(d)==="archived"?i:h).set(W(String(p.title??"")),d)}let l=d=>e.trust.get(d)==="archived"?{cid:d,archived:!0,reason:e.archivedReason.get(d)}:{cid:d};for(let d of s.use_cases){if(d.matches_existing){let m=d.matches_existing.cid;if(e.superseded.has(m)){let _=e.tipOf(m);m=e.superseded.has(_)?null:_}if(m!==null){c.set(d.temp_ref,l(m));continue}}let p=h.get(W(d.title));if(p){c.set(d.temp_ref,{cid:p});continue}let u=i.get(W(d.title));u&&c.set(d.temp_ref,l(u))}return c}var Ve=/^(\S+)\.criteria\[(\d+)\]/;function st(s,e,c){if(e.length===0||!e.every(i=>Ve.test(i.detail)))return!1;let h=new Map;for(let i of e){let l=Ve.exec(i.detail),d=h.get(l[1])??new Set;d.add(Number(l[2])),h.set(l[1],d)}for(let i of s.use_cases){let l=h.get(i.temp_ref);l?.size&&(i.criteria=(i.criteria??[]).filter((d,p)=>!l.has(p)),c(`${i.temp_ref}: dropped ${l.size} criteria with unverifiable cites \u2014 committed without them (criteria are hints; P2 blast-radius rule)`))}return!0}async function Je(s,e,c,h,i=()=>{},l){let d=(p,u)=>i(p,u,s.session_id);return Te(s,e,c,h,i,{async onProposalEvent(p){let u=p,m=null,_=null;if(Ge(u))try{m=He(u,s.read_basis),d("adapter",{ok:!0,use_cases:m.use_cases.length})}catch(w){_=w instanceof O?w.message:String(w),d("adapter",{ok:!1,error:_})}else m=u;return m&&m.use_cases.length===0&&e.out("warning: the agent proposed ZERO use-cases for this source"),m&&l&&await l(m),{proposal:m,error:_}}})}var ot=new Set(["agent","ci","override"]);async function It(s,e){let c=s.mode??"interactive";if(c==="interactive"){if(!e.isTTY)return e.out("extract: --mode interactive needs a TTY (use --mode agent|ci|override headless)"),2}else if(!ot.has(c))return e.out(`extract: unknown mode "${c}" \u2014 interactive | agent | ci | override`),2;let h=We(e.now?.()??new Date),i=A(e.contextDir,"logs");fe(i,{recursive:!0});let l=A(i,`extract-${h}.log`),d=`run-${h}-${Math.random().toString(36).slice(2,8)}`,p=t=>t==="error"||t==="failed_proposal"?"error":t==="repair_respawn"?"warn":"info",u=(t,a,x)=>{try{Qe(l,JSON.stringify({ts:new Date().toISOString(),level:p(t),run_id:d,...x?{session_id:x}:{},kind:t,data:a})+`
|
|
7
|
-
`)}catch{}};e.out(`trace: ${l}`),e.emit?.({type:"run_start",mode:c,trace:l});let m=Ae();if(m&&e.out(m),e.preflightTurn){let t=await e.preflightTurn();if(u("preflight",t),!t.ok)return e.out(t.message??"error: turn-endpoint preflight failed"),e.emit?.({type:"error",message:t.message??"error: turn-endpoint preflight failed",code:"PREFLIGHT"}),2}let _=E(e.contextDir),w=Le(e.contextDir,_);if(s.source){if(s.resume){let a="error: --source cannot be combined with --resume (the resumed session already has its scope)";return e.out(a),e.emit?.({type:"error",message:a,code:"SOURCE_WITH_RESUME"}),2}let t=_.heads.get(s.source);if(typeof t!="string"){let a=t===null?`error: --source ${s.source} was ingested but is retired \u2014 re-ingest it to extract again`:`error: --source ${s.source} is not an ingested source (kane-cli context list shows them)`;return e.out(a),e.emit?.({type:"error",message:a,code:"SOURCE_UNKNOWN"}),2}}let n=null;if(s.resume){try{n=Be(e.contextDir,s.resume,_)}catch(a){return e.out(`error: ${a instanceof Error?a.message:String(a)}`),e.emit?.({type:"error",message:`error: ${a instanceof Error?a.message:String(a)}`}),1}n.staleBasis.length>0&&e.out(`note: changed since the pause: ${n.staleBasis.join(", ")} \u2014 re-presented items may be stale`);let t=n.handle.state.held_receipts??[];if(t.length>0)if(e.chat?.holdReceipt)for(let a of t)e.chat.holdReceipt(a);else e={...e,initialMessage:[t.join(`
|
|
8
|
-
|
|
9
|
-
`),e.initialMessage].filter(Boolean).join(`
|
|
10
|
-
|
|
11
|
-
`)};n.handle.state.assumed.length>0&&e.out(`note: ${n.handle.state.assumed.length} default(s) were assumed while you were away \u2014 kane-cli context sessions show ${s.resume} lists them`)}let pe=_.extractedSourceCids,z=!!(s.force||n?.handle.state.force),$=[],I=[];for(let[t,a]of _.heads.entries())if(a!=null&&!(s.source&&t!==s.source)){if(!s.source&&!n&&t.startsWith("su-conv-")){e.out(`skipped: ${t} \u2014 conversation source (extract it explicitly with --source ${t})`),I.push({source_id:t,reason:"conversation"});continue}if(n){let x=t in n.handle.state.read_basis,P=n.handle.state.corpus_cursor.remaining.includes(t);if(!x&&!P)continue;if(P&&!z&&pe.has(a)){e.out(`cached: ${t} @ ${a.slice(0,19)} already extracted \u2014 skipping`),I.push({source_id:t,reason:"cached"});continue}}else if(!z&&pe.has(a)){e.out(`cached: ${t} @ ${a.slice(0,19)} already extracted \u2014 skipping`),I.push({source_id:t,reason:"cached"});continue}$.push({source_id:t,cid:a})}if(e.emit?.({type:"corpus",sources:$,skipped:I}),$.length===0){if(n){let x=`error: resumed session's paused source (${Object.keys(n.handle.state.read_basis).join(", ")||"unknown"}) is no longer in the corpus \u2014 restore/re-ingest it and re-run --resume ${s.resume}, or discard with: kane-cli context sessions clean ${s.resume}`;return e.out(x),e.emit?.({type:"error",message:x,code:"SOURCE_MISSING"}),n.handle.release(),2}let t=I.length>0&&I.every(a=>a.reason==="conversation");return e.out(s.source?`extract: nothing to do \u2014 ${s.source} is already extracted at its current snapshot (--force to re-run)`:t?"extract: nothing to do \u2014 only conversation sources here (extract one explicitly with --source <id>)":"extract: nothing to do \u2014 every ingested source is already extracted"),0}let V=new Map;if(n&&n.questions.length>0&&!s.message){e.out(`re-presenting ${n.questions.length} unanswered question(s) from the paused session`);let t=await e.ask(n.questions.map(Fe));for(let a of t)V.set(a.id,a)}let B=e.by??{kind:"human",id:"owner"},T=c==="interactive"&&!s.plan&&!!e.chat,he=0,_e=0;try{for(let t of $){let a=E(e.contextDir),x={current:a};e.chat?.attachOnCommitted?.(r=>{x.current=r});let P=a.getNode(t.cid),U=String(P?.content.blob??""),se=te(e.contextDir,U);if(!se)return e.out(`error: ${t.source_id}: blob ${U} missing from .context/blobs`),e.emit?.({type:"error",source_id:t.source_id,message:`error: ${t.source_id}: blob ${U} missing from .context/blobs`,code:"BLOB_MISSING"}),1;let xe=a.mediaOf(t.cid),oe=xe.media_type.startsWith("image/");if(!oe){let r=et(se);if(r){e.out(`skipping ${t.source_id}: binary ${r} ingested before image support \u2014 re-ingest it (kane-cli context ingest) to extract from it`),e.emit?.({type:"source_skipped",source_id:t.source_id,reason:"binary_pre_media"});continue}}let G=oe?`0001| (image source ${t.source_id} \u2014 the content is attached as an image; cite it with anchor img#whole)`:tt(se),ye=We(e.now?.()??new Date),M=`${ye}-${t.source_id}`,ve=!!(n&&t.source_id in n.handle.state.read_basis)?s.resume:`ext-${ye}-${rt(t.source_id)}`,N="";if(T){let r=Ee({contextDir:e.contextDir,graph:E(e.contextDir),sessionStamp:ve,by:B});r.errors===null||r.errors[0]?.code==="CONV_SOURCE_EXISTS"?(N=r.sourceId,e.chat.attachConversationSource?.(N),x.current=E(e.contextDir)):e.out(`warning: conversation source unavailable (${r.errors[0]?.detail}) \u2014 chat adds will not land this session`)}let b={type:"run_config",version:1,session_id:ve,mode:c,source:{source_id:t.source_id,source_cid:t.cid,kind:Ze(t.source_id)||"md",numbered_text:G},existing_use_cases:a.byLabel(j.USECASE).filter(({cid:r})=>a.trust.get(r)!=="archived"&&!a.superseded.has(r)).map(({cid:r,content:o})=>({id:r,title:String(o.title??""),summary:String(o.summary??"")})),read_basis:x.current.latestHash,max_free_text_rounds:Ie,graph_reads:!0,verb:"extract",...w!==void 0?{style_note_digest:w}:{},topology:Ne(),...T?{chat:!0}:{},...oe?{image_sources:[{source_id:t.source_id,source_cid:t.cid,media_type:xe.media_type,blob_ref:{path:ee(e.contextDir,U),cid:U}}]}:{},...n&&t.source_id in n.handle.state.read_basis?{resume:{agent_state:n.handle.state.agent_state}}:{}};e.out(n&&t.source_id in n.handle.state.read_basis?`resuming: ${t.source_id} (session ${s.resume})`:`extracting: ${t.source_id} @ ${t.cid.slice(0,19)}`),e.emit?.({type:"source_start",source_id:t.source_id,cid:t.cid,index:$.indexOf(t)+1,total:$.length,resumed:!!(n&&t.source_id in n.handle.state.read_basis)}),e.chat?.ledger?.({kind:"banner",text:`source ${$.indexOf(t)+1}/${$.length} \xB7 ${t.source_id} @ ${t.cid.slice(0,19)}`}),e.chat?.setWorking?.(`extracting ${t.source_id}\u2026`);let $e=new Map;u("spawn",{source_id:t.source_id,source_cid:t.cid,resume:!!n,chat:T},b.session_id);let be=!1,Xe=async r=>{let o=L(r,G,E(e.contextDir));if(u("kane_validate",{errors:o.map(g=>g.code)},b.session_id),o.length>0){e.chat.submit("[auto-repair] the proposal failed validation: "+o.map(g=>`${g.code}: ${g.detail}`).join("; ")+" \u2014 please re-finalize with these fixed.");return}let y=E(e.contextDir),k=ze(r,y),Y=A(e.contextDir,"proposals",M);fe(Y,{recursive:!0}),ge(A(Y,"proposal.json"),JSON.stringify(r,null,2)+`
|
|
12
|
-
`);let Ke=new Map(r.use_cases.map(g=>[g.temp_ref,{resolution:"skipped"}])),K=re({contextDir:e.contextDir,graph:y,proposal:r,proposalId:M,verdicts:Ke,by:{kind:"ai",id:"extract-agent"},autoName:!0});if(K.errors){e.chat.ledger?.({kind:"commit",ok:!1,line:"commit failed \u2014 nothing landed",warnings:K.errors.map(g=>`${g.code}: ${g.detail}`)});return}be=!0;let Q=K.record.nodes.length;he+=Q;let Z=r.use_cases.length-Q;{let g=E(e.contextDir),we=new Map;for(let{cid:v,content:R}of g.byLabel(j.USECASE))g.superseded.has(v)||we.set(W(String(R.title??"")),v);let me=[];for(let v of r.use_cases){let R=null;if(v.matches_existing?.cid&&g.hasNode(v.matches_existing.cid)){let q=g.tipOf(v.matches_existing.cid);R=g.superseded.has(q)?null:q}R=R??we.get(W(v.title))??null,R&&me.push({ref:v.temp_ref,cid:R})}me.length>0&&e.chat.registerAliases?.(me),x.current=g;let De=v=>{for(let[R,q]of g.names)if(q===v&&!g.superseded.has(q))return R},ke=Ce({verb:"extract",commitN:1,phase:"proposal",committed:K.record.nodes.map(v=>({cid:v.cid,...De(v.cid)?{logical_id:De(v.cid)}:{}})),reused:Z},g);e.emit?.(ke.event),e.chat.holdReceipt?.(ke.text)}u("commit",{derived:Q,evidence_matched:Z,chat:!0},b.session_id),e.chat.ledger?.({kind:"commit",ok:!0,line:`committed: ${Q} new use-case(s) as derived`+(Z>0?` \xB7 ${Z} matched existing (evidence attached, no duplicate)`:"")}),e.chat.note('chat to refine ("looks good" approves; "done" finishes)')},Se=!!(n&&t.source_id in n.handle.state.read_basis),J=Se&&V.size>0?{...e,ask:async r=>r.every(o=>V.has(o.id))?(n.handle.markApplied(r.map(o=>`resolveq:${s.resume}:${o.id}`)),e.out(`answered ${r.length} re-asked question(s) from the held resume answers`),r.map(o=>V.get(o.id))):e.ask(r)}:e;Se&&s.message&&(J={...J,initialMessage:s.message});let f=await Je(b,{...J,graphSlot:x},$e,a,u,T?Xe:void 0);if(e.chat?.setWorking?.(null),f.error)return e.out(`error: agent failed for ${t.source_id}: ${f.error}`),e.emit?.({type:"error",source_id:t.source_id,message:`error: agent failed for ${t.source_id}: ${f.error}`}),1;if(f.highRisk)return e.out(`error: ${f.highRisk.length} high-risk decision${f.highRisk.length===1?"":"s"} need a human \u2014 ci mode won't guess. Re-run with --mode agent to pause for review.`),e.emit?.({type:"error",source_id:t.source_id,message:`error: high-risk question(s) in ci mode (fail-closed): ${f.highRisk.map(r=>r.id).join(", ")}`,code:"HIGH_RISK_CI"}),1;if(f.paused){let r=$.slice($.indexOf(t)+1).map(Y=>Y.source_id),o=n?.handle??Me(e.contextDir,{sid:b.session_id,mode:"agent",created_at:(e.now?.()??new Date).toISOString(),expires_at:new Date((e.now?.()??new Date).getTime()+1440*60*1e3).toISOString(),agent_state:f.paused.agent_state,pending:{questions:[],proposals:[]},assumed:[],read_basis:{[t.source_id]:t.cid},corpus_cursor:{remaining:r},conv_source:N,verb:"extract",...z?{force:!0}:{}});N&&o.state.conv_source!==N&&o.save({conv_source:N});let y=e.chat?.drainHeldReceipts?.()??[];(y.length>0||(o.state.held_receipts?.length??0)>0)&&o.save({held_receipts:y}),n?.handle&&o.save({read_basis:{[t.source_id]:t.cid},corpus_cursor:{remaining:r},...z&&!o.state.force?{force:!0}:{}}),je(o,f.paused),u("session_paused",{sid:o.state.sid},b.session_id);let k=`kane-cli context extract --resume ${o.state.sid} --mode ${c}`;return e.out(`paused: session ${o.state.sid} saved \u2014 resume with: ${k}`),e.emit?.({type:"session_paused",sid:o.state.sid,source_id:t.source_id,mode:c,resume:k,expires_at:o.state.expires_at,pending_questions:f.paused.pending.questions}),e.chat?.ledger?.({kind:"pause",sid:o.state.sid,expires_at:o.state.expires_at,resume:k,messageForm:`${k} --message "<your words>"`}),3}if(T){if(_e+=f.assumedDefaults??0,f.error)return 1;if(!be){let r=$.length-$.indexOf(t)-1;return e.out(`done \u2014 nothing committed for ${t.source_id} (no finalize before the session ended)`+(r>0?`; stopping here \u2014 ${r} remaining source(s) not extracted (re-run kane-cli context extract to continue)`:"")),n&&t.source_id in n.handle.state.read_basis&&(n.handle.complete(),n=null),0}n&&t.source_id in n.handle.state.read_basis&&(n.handle.complete(),n=null);continue}if(!f.proposal)return e.out(`error: agent ended without a proposal for ${t.source_id}`),e.emit?.({type:"error",source_id:t.source_id,message:`error: agent ended without a proposal for ${t.source_id}`}),1;let D=L(f.proposal,G,a);if(u("kane_validate",{errors:D.map(r=>r.code)},b.session_id),D.length>0&&st(f.proposal,D,r=>e.out(r))&&(u("criteria_dropped",{source_id:t.source_id},b.session_id),D=L(f.proposal,G,a)),D.length>0){if(e.out("the agent's proposal didn't validate \u2014 retrying once"),e.emit?.({type:"validate_failed",source_id:t.source_id,codes:D.map(r=>r.code),repairing:!0}),u("repair_respawn",{source_id:t.source_id},b.session_id),f=await Je(b,{...J,graphSlot:x},$e,a,u),f.error||!f.proposal)return e.out(`error: repair run failed for ${t.source_id}`),e.emit?.({type:"error",source_id:t.source_id,message:`error: repair run failed for ${t.source_id}`}),1;if(D=L(f.proposal,G,a),D.length>0){for(let r of D)e.out(` ${r.detail}`);return e.emit?.({type:"validate_failed",source_id:t.source_id,codes:D.map(r=>r.code),repairing:!1}),e.emit?.({type:"error",source_id:t.source_id,message:`error: proposal failed validation after repair (${D.map(r=>r.code).join(", ")})`}),1}}let S=f.proposal,X=ze(S,a),ie=A(e.contextDir,"proposals",M);if(fe(ie,{recursive:!0}),ge(A(ie,"proposal.json"),JSON.stringify(S,null,2)+`
|
|
13
|
-
`),s.plan){e.out(`plan: ${S.use_cases.length} use-case(s) proposed from ${t.source_id} (nothing committed)`);for(let r of S.use_cases){let o=X.get(r.temp_ref),y=o?o.archived?` \u2248 matches ARCHIVED ${o.cid.slice(0,19)}${o.reason?` \u2014 previously rejected: "${o.reason}"`:" \u2014 previously rejected"}`:` \u2248 matches ${o.cid.slice(0,19)}`:"";e.out(` [${r.risk}] ${r.title} \u2014 cite ${r.cite.anchor}${y}`)}e.emit?.({type:"plan",source_id:t.source_id,use_cases:S.use_cases.map(r=>{let o=X.get(r.temp_ref);return{risk:r.risk,title:r.title,anchor:r.cite.anchor,...o?{match:o.cid,match_archived:!!o.archived}:{}}})}),f.assumedDefaults&&e.out(`assumed: ${f.assumedDefaults} default(s) auto-taken (flagged)`);continue}for(let r of S.use_cases){if(!r.conflicts_with?.length)continue;let o=r.conflicts_with.filter(k=>a.resolve(k)!==null),y=r.conflicts_with.filter(k=>a.resolve(k)===null);y.length>0&&(e.out(`note: ${r.temp_ref}: dropped unresolvable conflict hint(s): ${y.join(", ")}`),r.conflicts_with=o.length>0?o:void 0)}u("review_start",{use_cases:S.use_cases.length,flags:X.size},b.session_id);let H=await e.review(S.use_cases,X);u("review_verdicts",[...H.entries()].map(([r,o])=>({ref:r,resolution:o.resolution})),b.session_id),ge(A(ie,"review.json"),JSON.stringify(S.use_cases.map(r=>{let o=H.get(r.temp_ref)??{resolution:"skipped"};return{id:r.temp_ref,kind:"review-item",resolution:o.resolution,edit:o.edit??null,reason:o.reason??null,...o.supersedeTarget?{supersede_target:o.supersedeTarget}:{},by:B}}),null,2)+`
|
|
14
|
-
`);let ne=a,C=re({contextDir:e.contextDir,graph:ne,proposal:S,proposalId:M,verdicts:H,by:B,autoName:!0});if(C.errors&&C.errors[0]?.code==="STALE_BASIS"){if(!await e.confirmStale(`the context changed while you reviewed (${C.errors[0].detail}) \u2014 commit against the new head anyway?`))return e.out("aborted: proposal not committed"),e.emit?.({type:"error",source_id:t.source_id,message:"aborted: proposal not committed",code:"STALE_BASIS"}),e.emit?.({type:"done",status:"aborted",exit_code:1}),1;ne=E(e.contextDir),C=re({contextDir:e.contextDir,graph:ne,proposal:S,proposalId:M,verdicts:H,by:B,allowStaleBasis:!0,autoName:!0})}if(C.errors){for(let r of C.errors)e.out(` ${r.detail}`);return e.emit?.({type:"error",source_id:t.source_id,message:`error: commit failed: ${C.errors.map(r=>`${r.code}: ${r.detail}`).join("; ")}`}),1}let Ye=new Date().toISOString();for(let r of S.use_cases){let o=H.get(r.temp_ref)??{resolution:"skipped"};for(let y of Pe({ts:Ye,command:"context extract",id:r.temp_ref,by:B},o.resolution))Oe(e.contextDir,y)}let F=C.record,ae=new Map(F.review.map(r=>[r.id,r.resolution])),ce=[...ae.values()].filter(r=>r==="approved"||r==="edited").length,ue=[...ae.values()].filter(r=>r==="rejected").length,de=F.nodes.filter(r=>!ae.has(r.cid)).length,le=F.supersessions.filter(r=>r.kind==="node"&&r.new!==r.old).length;u("commit",{trusted:ce,derived:de,archived:ue},b.session_id),e.out(`committed: ${ce} trusted, ${de} derived (queued), ${ue} archived`+(le>0?`, ${le} superseded`:"")),f.assumedDefaults&&e.out(`assumed: ${f.assumedDefaults} default(s) auto-taken (flagged)`),e.emit?.({type:"commit",source_id:t.source_id,proposal_id:M,trusted:ce,derived:de,archived:ue,superseded:le,assumed:f.assumedDefaults??0,evidence_matched:Math.max(0,S.use_cases.length-F.nodes.length),minted:F.nodes.map(r=>{let o=F.names?.find(y=>y.cid===r.cid)?.slug;return{cid:r.cid,...o?{logical_id:o}:{}}})}),n&&t.source_id in n.handle.state.read_basis&&(n.handle.complete(),e.out(`session ${s.resume} complete`),e.emit?.({type:"session_complete",sid:s.resume,source_id:t.source_id}),n=null)}}finally{n?.handle.release()}if(T){let t=e.chat?.state.ledger.filter(P=>P.kind==="answer"&&P.receipt.form==="assumed").length??0,a=_e+t,x=e.chat?.state.credits?.total;e.chat?.ledger?.({kind:"summary",lines:[`committed ${he} across ${$.length} source(s)`,...a>0?[`${a} assumed default(s)`]:[],...x!==void 0?[`credits used: ${x.toFixed(1)}`]:[],`trace: ${l}`]})}return s.plan||Ue(e.contextDir),0}export{rt as a,ze as b,It as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a}from"./chunk-BMSWIYYK.js";import"./chunk-RFHMDQXZ.js";import"./chunk-RH2OAIJI.js";import"./chunk-KGP7NSXH.js";import"./chunk-RZ4F3BHX.js";import"./chunk-4CRKK5WV.js";import"./chunk-HMGNPFXP.js";import"./chunk-UR6MHSHU.js";export{a as LoginFlow};
|
package/dist/run-NODOSQUL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as b,b as c,c as d}from"./chunk-RY4OOGSC.js";import{e as a}from"./chunk-7DBQEOFL.js";import"./chunk-I2S6KNZW.js";import"./chunk-DM2GL24Z.js";import"./chunk-JFAFKHDX.js";import"./chunk-5ILXUQIX.js";import"./chunk-QPZRHAYK.js";import"./chunk-VJUIW2ES.js";import"./chunk-FXPPQL4D.js";import"./chunk-5446YVGQ.js";import"./chunk-Z56AWGVY.js";import"./chunk-427OQS2N.js";import"./chunk-6PS65QFF.js";import"./chunk-KHDUQ33H.js";import"./chunk-D5T4ARTB.js";import"./chunk-AE6SS34N.js";import"./chunk-GIRXJOJI.js";import"./chunk-B2PZAB7J.js";import"./chunk-IACKIGPX.js";import"./chunk-HMGNPFXP.js";import"./chunk-UR6MHSHU.js";export{c as dedupPreFlags,a as resolveAnswers,d as runExtract,b as sessionSourceRef};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as a}from"./chunk-47RNFG2V.js";import"./chunk-ZA67EBYF.js";import"./chunk-R2K2SGGE.js";import"./chunk-3MSXQU2C.js";import"./chunk-MMI3VSCA.js";import"./chunk-Q4PUOA46.js";import"./chunk-SUDAFBVD.js";import"./chunk-VXD5667K.js";import"./chunk-ZNANAARA.js";import"./chunk-AAWRKFE4.js";import"./chunk-LMJTY32X.js";import"./chunk-RKWJG3WW.js";import"./chunk-S74MQRDN.js";import"./chunk-QZWQCHXK.js";import"./chunk-2PDWMY2B.js";import"./chunk-J5BUMF3G.js";import"./chunk-O4O4KL6Z.js";import"./chunk-XDW2RGIL.js";import"./chunk-HGL3RM7P.js";import"./chunk-YJ6AQ2KP.js";import"./chunk-FS4YJM22.js";import"./chunk-5Y2G4NC7.js";import"./chunk-5UXL6RNG.js";import"./chunk-MZ2PXBKK.js";import"./chunk-C5UNZ6ZY.js";import"./chunk-S3DAAAE5.js";import"./chunk-GIGD4M7V.js";import"./chunk-2YQ6TW77.js";import"./chunk-BMSWIYYK.js";import"./chunk-FPFOW6BS.js";import"./chunk-WAOCHXJ5.js";import"./chunk-WRHZCHZY.js";import"./chunk-RFHMDQXZ.js";import"./chunk-WGG5XURS.js";import"./chunk-FYOCF7DY.js";import"./chunk-RGEAEAZB.js";import"./chunk-BC7UVJJB.js";import"./chunk-NFOBDHZK.js";import"./chunk-KHDUQ33H.js";import"./chunk-L5LI2JF4.js";import"./chunk-D5T4ARTB.js";import"./chunk-AE6SS34N.js";import"./chunk-GIRXJOJI.js";import"./chunk-B2PZAB7J.js";import"./chunk-IACKIGPX.js";import"./chunk-ROPXE7TF.js";import"./chunk-KFAYCOTB.js";import"./chunk-SQJWMOJQ.js";import"./chunk-YCCUBQY4.js";import"./chunk-37CI4EJX.js";import"./chunk-M5JQXOCE.js";import"./chunk-OBBXDBEE.js";import"./chunk-2WVKOZ6W.js";import"./chunk-NLCCBXXV.js";import"./chunk-VE3SUJMA.js";import"./chunk-ISAE457F.js";import"./chunk-RH2OAIJI.js";import"./chunk-KGP7NSXH.js";import"./chunk-RZ4F3BHX.js";import"./chunk-E47GFYXA.js";import"./chunk-4CRKK5WV.js";import"./chunk-SB6MBQKR.js";import"./chunk-NSSKSXCT.js";import{a as o}from"./chunk-DFS4RMVP.js";import"./chunk-FAIH2K2U.js";import"./chunk-CB3TEWZJ.js";import"./chunk-HMGNPFXP.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};
|
|
@@ -1,2 +0,0 @@
|
|
|
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-SUDAFBVD.js";import"./chunk-VXD5667K.js";import"./chunk-ZNANAARA.js";import"./chunk-RKWJG3WW.js";import"./chunk-HGL3RM7P.js";import"./chunk-2YQ6TW77.js";import"./chunk-FPFOW6BS.js";import"./chunk-WAOCHXJ5.js";import"./chunk-L5LI2JF4.js";import"./chunk-37CI4EJX.js";import"./chunk-M5JQXOCE.js";import"./chunk-NLCCBXXV.js";import"./chunk-ISAE457F.js";import"./chunk-RH2OAIJI.js";import"./chunk-KGP7NSXH.js";import"./chunk-RZ4F3BHX.js";import"./chunk-4CRKK5WV.js";import"./chunk-CB3TEWZJ.js";import"./chunk-HMGNPFXP.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};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a}from"./chunk-ISAE457F.js";import"./chunk-RH2OAIJI.js";import"./chunk-KGP7NSXH.js";import"./chunk-RZ4F3BHX.js";import"./chunk-HMGNPFXP.js";import"./chunk-UR6MHSHU.js";export{a as refreshOAuthToken};
|