noskills 4.1.56 → 4.5.0
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/LICENSE +13 -0
- package/README.md +47 -10
- package/chunks/ajan-bridge-T5M4DPDT.js +1 -0
- package/chunks/anthropic-TS7EMQML.js +1 -0
- package/chunks/approve-HEW3VFYH.js +1 -0
- package/chunks/ask-AXHTCVD6.js +2 -0
- package/chunks/block-VN76CXZW.js +1 -0
- package/chunks/{browser-XLYVEO2J.js → browser-BGFD24RX.js} +1 -1
- package/chunks/bun-WZ7BVR7Y.js +1 -0
- package/chunks/cancel-7WRAST62.js +1 -0
- package/chunks/chunk-3ZJ3UGQL.js +48 -0
- package/chunks/chunk-4PF2MT7S.js +29 -0
- package/chunks/chunk-575Y3OEG.js +1 -0
- package/chunks/{chunk-DZTBXXB3.js → chunk-5DZHAHXW.js} +23 -23
- package/chunks/chunk-5PBNUBBY.js +3 -0
- package/chunks/{chunk-HNAHPI6V.js → chunk-5RLCKUIF.js} +1 -1
- package/chunks/chunk-6YSS6PEL.js +3 -0
- package/chunks/chunk-7GC46XEU.js +1 -0
- package/chunks/{chunk-LBPD4EIH.js → chunk-7PPUGTKL.js} +1 -1
- package/chunks/chunk-AUZWXMWA.js +27 -0
- package/chunks/chunk-CH6A3LES.js +91 -0
- package/chunks/{chunk-UG26APX2.js → chunk-CML74SNT.js} +1 -1
- package/chunks/chunk-CTTMQSHF.js +1 -0
- package/chunks/chunk-DBKXMYLF.js +4 -0
- package/chunks/chunk-DEHRWREM.js +1 -0
- package/chunks/chunk-EIGFDYGQ.js +1 -0
- package/chunks/chunk-EIMBEXUJ.js +1 -0
- package/chunks/chunk-EJYSOUEA.js +1 -0
- package/chunks/chunk-ENP4P2YH.js +0 -0
- package/chunks/{chunk-RJX4ZXQ4.js → chunk-EROZRDGT.js} +1 -1
- package/chunks/chunk-FE4MKOI4.js +1 -0
- package/chunks/chunk-GQTHILPL.js +5 -0
- package/chunks/chunk-HISXAZ4Y.js +1 -0
- package/chunks/chunk-I4Z2RF7L.js +31 -0
- package/chunks/chunk-IFE5SYGK.js +1 -0
- package/chunks/chunk-IGDFEGCH.js +2 -0
- package/chunks/chunk-JL3MAFYQ.js +1 -0
- package/chunks/chunk-JYVB6UAV.js +1 -0
- package/chunks/chunk-KJLEPI7T.js +1 -0
- package/chunks/chunk-KM64FL2X.js +1 -0
- package/chunks/chunk-KMLNG3EC.js +1 -0
- package/chunks/chunk-KRKOWSYW.js +148 -0
- package/chunks/chunk-KRRPOVQG.js +1 -0
- package/chunks/{chunk-CKETVOVQ.js → chunk-LJEWPIEI.js} +1 -1
- package/chunks/{chunk-VAP3TSYK.js → chunk-LN4NDYT6.js} +1 -1
- package/chunks/{chunk-Z3O5HAIO.js → chunk-NGCBWJML.js} +1 -1
- package/chunks/chunk-O4KKKYCH.js +1 -0
- package/chunks/chunk-OAWYVETM.js +1 -0
- package/chunks/chunk-PKEQKXZW.js +23 -0
- package/chunks/chunk-PRQ5CRIG.js +1 -0
- package/chunks/{chunk-SWYX6WYQ.js → chunk-PSX63TYP.js} +2 -2
- package/chunks/{chunk-5P46WSNG.js → chunk-Q4TI7EYT.js} +1 -1
- package/chunks/chunk-QKWJ72HI.js +3 -0
- package/chunks/chunk-RAQY37P6.js +1 -0
- package/chunks/{openai-QGEN33SU.js → chunk-S4MUTKHT.js} +3 -3
- package/chunks/chunk-SLO22P65.js +1 -0
- package/chunks/chunk-UE56BMAW.js +21 -0
- package/chunks/{chunk-O2NUECRA.js → chunk-VJRCTYGL.js} +1 -1
- package/chunks/chunk-VXU6XZ66.js +39 -0
- package/chunks/chunk-W4TQLLUK.js +7 -0
- package/chunks/{chunk-PKYW3S5P.js → chunk-XDRX4ZBJ.js} +1 -1
- package/chunks/{chunk-XNGHRJVK.js → chunk-Y5E7ZCCX.js} +1 -1
- package/chunks/chunk-Z7OYXH3J.js +1 -0
- package/chunks/claude-code-DIWRQKZA.js +1 -0
- package/chunks/cmd-46ZIHXLB.js +1 -0
- package/chunks/concern-QSENGU6C.js +1 -0
- package/chunks/{config-CZDLCSOC.js → config-S3UXTJN2.js} +1 -1
- package/chunks/decision-ledger-GY2W6VWL.js +1 -0
- package/chunks/delegate-WKXIER7E.js +1 -0
- package/chunks/deno-YM5PW6ZM.js +1 -0
- package/chunks/{diagrams-H7NLJF7W.js → diagrams-A7W2EBYV.js} +1 -1
- package/chunks/diagrams-CBCUA47B.js +1 -0
- package/chunks/{dist-UI3SRKS3.js → dist-3MH5UCQU.js} +3 -3
- package/chunks/done-WR3UFYJT.js +1 -0
- package/chunks/followup-5EGZEF5Q.js +1 -0
- package/chunks/free-KJQHRYZA.js +1 -0
- package/chunks/gemini-IWP24T63.js +1 -0
- package/chunks/init-437SU6XH.js +1 -0
- package/chunks/invoke-hook-LMCWNF65.js +13 -0
- package/chunks/kiro-THWCXS5L.js +1 -0
- package/chunks/{learn-KIZTV5OH.js → learn-ZTYKBZER.js} +1 -1
- package/chunks/ledger-FOOPJ2UO.js +1 -0
- package/chunks/list-HNGIOVBK.js +1 -0
- package/chunks/loader-command-3A5FK2RF.js +1 -0
- package/chunks/loader-reactor-YZM7HO4G.js +1 -0
- package/chunks/manager-2MOLEJ4Q.js +3 -0
- package/chunks/mod-6EZYRKWV.js +1 -0
- package/chunks/{mod-TYCXSLSH.js → mod-7VTKN6Q5.js} +1 -1
- package/chunks/mod-7X5TKHKC.js +1 -0
- package/chunks/mod-AJIRKRAH.js +1 -0
- package/chunks/mod-SFSUQWSB.js +8 -0
- package/chunks/mod-TGOMO3CJ.js +1 -0
- package/chunks/{multipart-parser-UVM6CEKF.js → multipart-parser-DKDFOZKD.js} +1 -1
- package/chunks/next-Y6FOPM4Z.js +15 -0
- package/chunks/node-AZK2C657.js +12 -0
- package/chunks/node-GQQ42DT2.js +68 -0
- package/chunks/node-J4GTOSL2.js +1 -0
- package/chunks/ollama-2KAMCXVL.js +1 -0
- package/chunks/openai-HHE35TAX.js +31 -0
- package/chunks/openai-YES2XJDU.js +1 -0
- package/chunks/opencode-S4M7WJTO.js +1 -0
- package/chunks/{pack-33LQ7SJT.js → pack-KUT53Z24.js} +4 -4
- package/chunks/plan-export-PG2BVRQZ.js +3 -0
- package/chunks/purge-JGNJNEET.js +4 -0
- package/chunks/reopen-RPDXN3CF.js +1 -0
- package/chunks/reset-RBCQO2RF.js +1 -0
- package/chunks/review-VMS5MYOV.js +1 -0
- package/chunks/{rule-XREVPB5P.js → rule-IB4VKSBC.js} +2 -2
- package/chunks/run-62PWXVII.js +3 -0
- package/chunks/sdk-FR7Z4YSC.js +1 -0
- package/chunks/{session-HBP5GGI2.js → session-Q43KMFL2.js} +1 -1
- package/chunks/spec-4RKLPOEM.js +1 -0
- package/chunks/{src-GLQPTDNR.js → src-HXQVVTGQ.js} +1 -1
- package/chunks/{status-P754FM5Y.js → status-OGLFEFF7.js} +1 -1
- package/chunks/sync-H35O5DN5.js +1 -0
- package/chunks/{unstable_chmod-RZ5DE3XZ.js → unstable_chmod-44MCKF3B.js} +1 -1
- package/chunks/validate-JX7UTAK5.js +1 -0
- package/chunks/vertexai-WF5CKMYI.js +1 -0
- package/chunks/watch-SOZDHLSC.js +8 -0
- package/chunks/web-3VGRM3W4.js +1 -0
- package/chunks/wontfix-RBOGLLWJ.js +1 -0
- package/chunks/workerd-I7MLRCLJ.js +1 -0
- package/noskills.js +1 -1
- package/package.json +2 -2
- package/chunks/anthropic-LDUWIUPL.js +0 -1
- package/chunks/approve-OIXULOYH.js +0 -1
- package/chunks/ask-VGI3BFZW.js +0 -2
- package/chunks/block-6L3XJKPC.js +0 -1
- package/chunks/bun-5VMFSLLY.js +0 -1
- package/chunks/cancel-6IH4L4BL.js +0 -1
- package/chunks/chunk-2GF5IUQD.js +0 -39
- package/chunks/chunk-2N4GTHXQ.js +0 -1
- package/chunks/chunk-5CNPFLE6.js +0 -1
- package/chunks/chunk-5MN3MWQN.js +0 -1
- package/chunks/chunk-65A35QPF.js +0 -1
- package/chunks/chunk-7UX6WIXX.js +0 -1
- package/chunks/chunk-AGPCY6XP.js +0 -1
- package/chunks/chunk-AGWPQX43.js +0 -31
- package/chunks/chunk-AP3YBNPX.js +0 -1
- package/chunks/chunk-BJ2X6GHW.js +0 -5
- package/chunks/chunk-D3IKJ7FF.js +0 -1
- package/chunks/chunk-EFG5UU32.js +0 -1
- package/chunks/chunk-H77MLIL5.js +0 -4
- package/chunks/chunk-JVCVWI3B.js +0 -3
- package/chunks/chunk-OLM5RTFK.js +0 -1
- package/chunks/chunk-OTRBRRIO.js +0 -1
- package/chunks/chunk-U5SHLIO4.js +0 -3
- package/chunks/chunk-UT6ZCLRA.js +0 -1
- package/chunks/chunk-XXBSEOQR.js +0 -148
- package/chunks/chunk-YSLRAWBK.js +0 -1
- package/chunks/chunk-YSSDQJTT.js +0 -91
- package/chunks/chunk-YTNM7A5Y.js +0 -3
- package/chunks/claude-code-BWCSAVK2.js +0 -1
- package/chunks/cmd-ZXO6KFK6.js +0 -1
- package/chunks/concern-RB444PUE.js +0 -1
- package/chunks/delegate-NEWTWM6L.js +0 -1
- package/chunks/deno-QOH6TCLQ.js +0 -1
- package/chunks/diagrams-I2QKL7WR.js +0 -1
- package/chunks/done-KCSWC5WY.js +0 -1
- package/chunks/followup-5IFWOU4E.js +0 -1
- package/chunks/free-R4ZTZ76O.js +0 -1
- package/chunks/gemini-YR5KT32S.js +0 -1
- package/chunks/init-JRL2FB64.js +0 -1
- package/chunks/invoke-hook-CYJM3RDY.js +0 -13
- package/chunks/kiro-RGYUKJAX.js +0 -3
- package/chunks/list-6EQP6VUL.js +0 -1
- package/chunks/manager-WDSQSVF6.js +0 -6
- package/chunks/mod-A77UWGGG.js +0 -1
- package/chunks/next-47KYGODA.js +0 -7
- package/chunks/node-3FTYLC7H.js +0 -67
- package/chunks/node-BPWE6I45.js +0 -1
- package/chunks/ollama-LTZ43OHQ.js +0 -3
- package/chunks/openai-Y74OQTVB.js +0 -23
- package/chunks/opencode-PZDL7VDP.js +0 -1
- package/chunks/purge-G22VY6CI.js +0 -4
- package/chunks/reopen-63HEEXO6.js +0 -1
- package/chunks/reset-UDDESCDH.js +0 -1
- package/chunks/review-BC5HZNOU.js +0 -1
- package/chunks/run-GI2ZJ7BS.js +0 -3
- package/chunks/sdk-6IMATOQ3.js +0 -40
- package/chunks/spec-CLMOWKHY.js +0 -1
- package/chunks/sync-LPYKBDG2.js +0 -1
- package/chunks/vertexai-RUXZ24C2.js +0 -1
- package/chunks/watch-MONZHLBZ.js +0 -8
- package/chunks/web-PEDL6264.js +0 -1
- package/chunks/wontfix-A6OZSA3P.js +0 -1
- package/chunks/workerd-IIQRIOBX.js +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{a as A,f as C}from"./chunk-
|
|
1
|
+
import{a as A,f as C}from"./chunk-5DZHAHXW.js";import{b as T,c as P}from"./chunk-IFE5SYGK.js";import{c as y,d as a,f as k,g as v,o as p,q as d,r as u}from"./chunk-VXU6XZ66.js";import{E as x,f as j,o as R}from"./chunk-KRKOWSYW.js";import{a as h,b as w}from"./chunk-OAWYVETM.js";import{i as $}from"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var B=async e=>{let s=e?.[0];if(s==="add")return await b(e?.slice(1));if(s==="list")return await W();if(s==="promote")return await U(e?.slice(1));let i=T(),t=p({renderer:u.ansi(),sink:d.stdout()});return t.writeln(`Usage: ${i} rule <add "rule text" | list | promote "decision">`),await t.close(),h(void 0)},b=async e=>{let s=p({renderer:u.ansi(),sink:d.stdout()}),{root:i}=await x(),t=[],r=[],n=[];if(e!==void 0)for(let o of e)o.startsWith("--phases=")?t=o.slice(9).split(",").map(g=>g.trim()):o.startsWith("--applies-to=")?r=o.slice(13).split(",").map(g=>g.trim().replace(/^["']|["']$/g,"")):o.startsWith("-")||n.push(o);let c=n.join(" "),m=await R(i);if(c.length===0)return s.writeln(k("Please provide a rule: "),y(`${P('rule add "Use Deno Tests for all tests"')}`)),await s.close(),w({exitCode:1});let D=c.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"").slice(0,50),l="";(t.length>0||r.length>0)&&(l+=`---
|
|
2
2
|
`,t.length>0&&(l+=`phases: [${t.join(", ")}]
|
|
3
3
|
`),r.length>0&&(l+=`applies_to: [${r.map(o=>`"${o}"`).join(", ")}]
|
|
4
4
|
`),l+=`---
|
|
5
5
|
`),l+=c+`
|
|
6
|
-
`;let E=`${i}/${
|
|
6
|
+
`;let E=`${i}/${j.rulesDir}/${D}.md`;await $.fs.mkdir(`${i}/${j.rulesDir}`,{recursive:!0}),await $.fs.writeTextFile(E,l);let f=[];t.length>0&&f.push(t.join(", ")),r.length>0&&f.push(r.join(", "));let L=f.length>0?` [${f.join("; ")}]`:"";return s.writeln(v("\u2714")," Rule added: ",a(c),a(L)),m!==null&&m.tools.length>0&&(await C(i,m.tools,m),s.writeln(a(" Tool files synced."))),await s.close(),h(void 0)},W=async()=>{let e=p({renderer:u.ansi(),sink:d.stdout()}),{root:s}=await x(),i=await A(s);if(e.writeln(y("Rules")),e.writeln(""),i.length===0)e.writeln(a(` No rules yet. Add one with: ${P('rule add "..."')}`));else for(let t=0;t<i.length;t++){let r=i[t],n=[];r.phases!==void 0&&r.phases.length>0?n.push(r.phases.join(", ")):n.push("all phases"),r.appliesTo!==void 0&&r.appliesTo.length>0?n.push(r.appliesTo.join(", ")):n.push("all files"),e.writeln(` ${t+1}. ${r.text} `,a(`[${n.join(", ")}]`))}return await e.close(),h(void 0)},U=async e=>{let s=p({renderer:u.ansi(),sink:d.stdout()}),i=e?.join(" ");return i===void 0||i.length===0?(s.writeln(k("Please provide the decision text to promote.")),await s.close(),w({exitCode:1})):(await s.close(),await b(e))};export{B as main};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{b as Z,c as P}from"./chunk-W4TQLLUK.js";import{a as G,b as L,g as U}from"./chunk-AUZWXMWA.js";import{b as Q,e as Y}from"./chunk-5DZHAHXW.js";import{N as J,a as H,n as q}from"./chunk-UE56BMAW.js";import"./chunk-XDRX4ZBJ.js";import{b as S,c as K}from"./chunk-IFE5SYGK.js";import{c as T,d as o,f as l,g as O,h as x,k as A,o as F,q as M,r as N}from"./chunk-VXU6XZ66.js";import"./chunk-VJRCTYGL.js";import"./chunk-PKEQKXZW.js";import"./chunk-O4KKKYCH.js";import{D as j,E as z,f as V,g as C,h as _,i as B,k as v,o as W,s as X}from"./chunk-KRKOWSYW.js";import"./chunk-ENP4P2YH.js";import"./chunk-575Y3OEG.js";import"./chunk-4PF2MT7S.js";import{a as I,b as h,c as D}from"./chunk-OAWYVETM.js";import"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var oe="claude-sonnet-5",be=async t=>{let e=F({renderer:N.ansi(),sink:M.stdout()}),{root:n}=await z(),i=t?.includes("--unattended")??!1,a=ee(t,"--max-turns")??10,u=ee(t,"--max-iterations")??50;if(!await j(n))return e.writeln(l(`noskills not initialized. Run: ${K("init")}`)),await e.close(),h({exitCode:1});let E=B(t),p=await _(n,E);if(p.phase!=="EXECUTING"&&p.phase!=="SPEC_APPROVED")return e.writeln(l(`Cannot run from phase: ${p.phase}`)),e.writeln(o("Must be in SPEC_APPROVED or EXECUTING to start.")),await e.close(),h({exitCode:1});if(p.phase==="SPEC_APPROVED"){e.writeln(o("Starting execution from approved spec..."));let s=q(p);await v(n,s)}let f=await W(n);if(f===null)return e.writeln(l("Config not found.")),await e.close(),h({exitCode:1});e.writeln(T(`${S()} run`)),e.writeln(o(`Mode: ${i?"unattended":"interactive"}, max-turns: ${a}, max-iterations: ${u}`)),e.writeln("");let w=0,c=0;await P(n,"acp");try{for(;w<u;){w++;let s=await C(n);if(s.phase==="COMPLETED"){e.writeln(""),e.writeln(O("\u2714")," Spec completed!"),e.writeln(` Iterations: ${s.execution.iteration}`),e.writeln(` Decisions: ${s.decisions.length}`);break}if(s.phase==="BLOCKED"){let r=s.execution.lastProgress??"Unknown";if(e.writeln(""),e.writeln(x("\u26A0")," Execution blocked: ",o(r)),i){await ce(n,r,w),e.writeln(o("Logged to .eser/.state/progresses/blocked.log. Resolve and re-run.")),c=1;break}let m=L(),d=await U(m,{message:"Enter resolution (or leave empty to stop):"});if(G(d)||d===""){e.writeln(o("Stopped by user."));break}let g=H(s,"EXECUTING");await v(n,{...g,execution:{...g.execution,lastProgress:`Resolved: ${d}`}});continue}if(s.phase!=="EXECUTING"){e.writeln(l(`Unexpected phase: ${s.phase}. Stopping.`)),c=1;break}let te=(await X(n)).filter(r=>f.concerns.includes(r.id)),ne=await Q(n),ie=Y(f.tools),se=await J(s,te,ne,f,void 0,void 0,void 0,ie),re=le(se);e.writeln(A(`\u2500\u2500 Iteration ${w}`),o(` (execution: ${s.execution.iteration}, debt: ${s.execution.debt?.items.length??0})`)),s.execution.lastProgress!==null&&e.writeln(o(` Last: ${s.execution.lastProgress}`)),s.execution.lastVerification?.passed===!1&&e.writeln(l(" Verification failed \u2014 agent will fix")),s.execution.debt!==null&&e.writeln(x(` Debt: ${s.execution.debt.items.length} items`)),e.writeln(o(" Spawning agent..."));let $;try{let[r,m]=await Promise.all([import("./mod-TGOMO3CJ.js"),import("./mod-6EZYRKWV.js")]),d=await m.factoryFor("claude-code");if(d===void 0)throw new Error("no claude-code provider available");let g=new r.Registry({factories:[d]});await g.addModel("default",{provider:"claude-code",model:oe,properties:{maxTurns:a,cwd:n}});let y=g.getDefault();if(y===null)throw new Error("failed to initialise the claude-code model");let k=await y.generateText({messages:[r.textMessage("user",re)]});if(await y.close(),D(k)){let ae=k.error;e.writeln(l(` Agent turn failed: ${ae.message??"unknown error"}`)),c=1;break}$=k.value.stopReason}catch(r){let m=r instanceof Error?r.message:String(r);e.writeln(l(` Failed to run the agent: ${m}`),o(" Is the claude CLI installed?")),c=1;break}let b=await Z(n);if(b===null){e.writeln(l(" Could not record the iteration (state unreadable).")),c=1;break}e.writeln(o(` Agent finished (${$}). Iteration ${b.iteration}: ${b.gitStat||"no file changes"}`)),$!=="end_turn"&&e.writeln(x(` Turn ended early: ${$}`));let R=await C(n);if(f.autoCommit===!0&&f.allowGit!==!1)try{let r=await import("./mod-7X5TKHKC.js");if((await r.exec`git diff --name-only`.noThrow().text()).trim().length>0){await r.exec`git add -A`.noThrow().text();let d=`noskills: iteration ${R.execution.iteration} \u2014 ${R.execution.lastProgress??"progress"}`;await r.exec`git commit -m ${d}`.noThrow().text(),e.writeln(o(" Auto-committed."))}}catch{e.writeln(o(" Auto-commit failed (non-fatal)."))}}}finally{await P(n,null)}return w>=u&&(e.writeln(""),e.writeln(x("\u26A0"),` Max iterations (${u}) reached. Stopping.`),c=2),await e.close(),c!==0?h({exitCode:c}):I(void 0)},le=t=>{let e=[];if(e.push(t.meta.resumeHint),e.push(""),t.meta.spec!==null&&(e.push(`Working on spec: ${t.meta.spec}`),e.push("")),"instruction"in t&&(e.push(t.instruction),e.push("")),"previousIterationDebt"in t){let i=t.previousIterationDebt;if(i!==void 0){e.push(`DEBT from iteration ${i.fromIteration} (address first):`);for(let a of i.items)e.push(`- ${a}`);e.push("")}}if("statusReportRequired"in t){let i=t.statusReport;if(i!==void 0){e.push("Report against these acceptance criteria:");for(let a of i.criteria)e.push(`- ${a}`);e.push("")}}if("verificationFailed"in t&&t.verificationFailed===!0&&(e.push("Test output:"),e.push(("verificationOutput"in t?t.verificationOutput:"")??""),e.push("")),t.behavioral.rules.length>0){e.push("Rules:");for(let i of t.behavioral.rules)e.push(`- ${i}`);e.push("")}if("context"in t){let i=t.context;if(i.concernReminders.length>0){e.push("Reminders:");for(let a of i.concernReminders)e.push(`- ${a}`);e.push("")}}let n=S();return e.push(`When done, report progress: ${n} next --answer="your progress"`),e.push(`If blocked, run: ${n} block "reason"`),e.push(`When all tasks are complete: ${n} done`),e.join(`
|
|
2
|
+
`)},ee=(t,e)=>{if(t===void 0)return null;let n=`${e}=`;for(let i of t)if(i.startsWith(n)){let a=parseInt(i.slice(n.length),10);if(!isNaN(a)&&a>0)return a}return null},ce=async(t,e,n)=>{let i=`${t}/${V.progressesDir}/blocked.log`,a=`[${new Date().toISOString()}] iteration=${n} reason=${e}
|
|
3
|
+
`;try{let{appendFileSync:u,mkdirSync:E}=await import("node:fs"),{dirname:p}=await import("node:path");E(p(i),{recursive:!0}),u(i,a)}catch{}};export{be as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as v,B as w,c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l,o as m,p as n,q as o,s as p,t as q,u as r,x as s,y as t,z as u}from"./chunk-3ZJ3UGQL.js";import"./chunk-HISXAZ4Y.js";export{t as AI_PROMPT,d as APIConnectionError,e as APIConnectionTimeoutError,b as APIError,p as APIPromise,c as APIUserAbortError,v as Anthropic,a as AnthropicError,h as AuthenticationError,g as BadRequestError,u as BaseAnthropic,o as BetaFallbackState,k as ConflictError,s as HUMAN_PROMPT,n as InternalServerError,j as NotFoundError,q as PagePromise,i as PermissionDeniedError,m as RateLimitError,f as RetryableError,l as UnprocessableEntityError,w as betaRefusalFallbackMiddleware,v as default,r as toFile};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as I,c as R}from"./chunk-IFE5SYGK.js";import{c as a,d as i,f as d,g as v,o as m,q as f,r as w}from"./chunk-VXU6XZ66.js";import{A as C,B as N,C as $,D as x,E as h,h as b,n as O,v as P,x as y,y as A}from"./chunk-KRKOWSYW.js";import{a as u,b as g}from"./chunk-OAWYVETM.js";import{i as E}from"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var G=async t=>{let s=t?.[0];if(s==="start")return await D(t?.slice(1));if(s==="end")return await M(t?.slice(1));if(s==="list")return await j();if(s==="gc")return await _();let n=I(),e=m({renderer:w.ansi(),sink:f.stdout()});return e.writeln(`Usage: ${n} session <start | end | list | gc>`),e.writeln(""),e.writeln(i(" start --spec=<name> Bind to a spec")),e.writeln(i(" start --free Idle mode (no spec, no enforcement)")),e.writeln(i(" start --auto Auto-detect spec or idle")),e.writeln(i(" end [--id=<id>] End current/specific session")),e.writeln(i(" list Show active sessions")),e.writeln(i(" gc Remove stale sessions")),await e.close(),u(void 0)},D=async t=>{let s=m({renderer:w.ansi(),sink:f.stdout()}),{root:n}=await h();if(!await x(n))return s.writeln(d("noskills is not initialized.")," Run: ",a(R("init"))),await s.close(),g({exitCode:1});let e=null,o=!1,c=!1;for(let r of t??[])r.startsWith("--spec=")?e=r.slice(7):r==="--free"?o=!0:r==="--auto"&&(c=!0);if(c){let p=(await O(n)).filter(L=>L.state.phase!=="COMPLETED"&&L.state.phase!=="IDLE");p.length===1?e=p[0].name:o=!0}if(e===null&&!o)return s.writeln(d("Specify --spec=<name>, --free, or --auto.")),s.writeln(i(`Example: ${I()} session start --spec=my-feature`)),await s.close(),g({exitCode:1});let l=null;if(e!==null)try{l=(await b(n,e)).phase}catch(r){let p=r instanceof Error?r.message:String(r);return s.writeln(d(`Error: ${p}`)),await s.close(),g({exitCode:1})}let S=$(),k={id:S,spec:e,mode:o?"free":"spec",phase:o?null:l,pid:0,startedAt:new Date().toISOString(),lastActiveAt:new Date().toISOString(),tool:"claude-code",projectRoot:n};return await P(n,k),s.writeln(v("Session started.")),s.writeln(" ID: ",a(S)),s.writeln(" Mode: ",a(o?"free":"spec")),e!==null&&(s.writeln(" Spec: ",a(e)),l!==null&&s.writeln(" Phase: ",i(l))),s.writeln(""),s.writeln("Run:"),s.writeln(a(` export NOSKILLS_SESSION=${S}`)),s.writeln(a(` export NOSKILLS_PROJECT_ROOT=${n}`)),await s.close(),u(void 0)},M=async t=>{let s=m({renderer:w.ansi(),sink:f.stdout()}),{root:n}=await h(),e=null;for(let c of t??[])c.startsWith("--id=")&&(e=c.slice(5));return e===null&&(e=E.env.get("NOSKILLS_SESSION")??null),e===null?(s.writeln(d("No session specified. Use --id=<id> or set NOSKILLS_SESSION env var.")),await s.close(),g({exitCode:1})):(await A(n,e)?s.writeln(v("Session ended: "),i(e)):s.writeln(d(`Session not found: ${e}`)),await s.close(),u(void 0))},j=async()=>{let t=m({renderer:w.ansi(),sink:f.stdout()}),{root:s}=await h(),n=await y(s);if(t.writeln(a("Sessions")),t.writeln(""),n.length===0)t.writeln(i(` No active sessions. Start one with: ${R("session start --spec=<name>")}`));else for(let e of n){let o=N(e),c=Date.now()-new Date(e.lastActiveAt).getTime(),l=Math.floor(c/6e4),S=l<60?`${l}min ago`:`${Math.floor(l/60)}h ago`,k=e.mode==="free"?"free":`spec:${e.spec??"?"}`,r=e.phase??"\u2014",p=o?d(" (stale)"):"";t.writeln(" ",a(e.id)," ",i(k.padEnd(25))," ",i(r.padEnd(18))," ",i(S),p)}return await t.close(),u(void 0)},_=async()=>{let t=m({renderer:w.ansi(),sink:f.stdout()}),{root:s}=await h(),n=await C(s);if(n.length===0)t.writeln(i("No stale sessions to remove."));else{t.writeln(v(`Removed ${n.length} stale session(s):`));for(let e of n)t.writeln(" ",i(e))}return await t.close(),u(void 0)};export{G as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as re}from"./chunk-DBKXMYLF.js";import{a as ie,d as G}from"./chunk-7PPUGTKL.js";import{g as z,h as N}from"./chunk-5RLCKUIF.js";import{A as K,L as ne,b as j,g as _,h as q,q as Y,s as ee,y as te,z as se}from"./chunk-UE56BMAW.js";import"./chunk-XDRX4ZBJ.js";import{b as g,c as T}from"./chunk-IFE5SYGK.js";import{c as f,d as c,f as p,g as R,h as O,k as B,o as v,q as y,r as $}from"./chunk-VXU6XZ66.js";import"./chunk-VJRCTYGL.js";import{i as H}from"./chunk-PKEQKXZW.js";import"./chunk-O4KKKYCH.js";import{D as M,E as P,b as F,f as C,h as b,i as V,m as k,n as J,o as Q,s as Z}from"./chunk-KRKOWSYW.js";import{a as u,b as d}from"./chunk-OAWYVETM.js";import{i as D}from"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var ae=new Set(["new","list","help","next","approve","done","block","reset","cancel","wontfix","reopen","revisit","split","ac","task","note","review","delegate","followup","plan-export","ledger"]),ue=new Set(["a","an","the","and","or","but","in","on","at","to","for","of","with","by","from","is","it","its","this","that","as","be","are","was","were","been","being","have","has","had","do","does","did","will","would","could","should","may","might","shall","can","i","we","you","they","our","my","so","if","not","no","all"]),we=n=>n.replace(/(?:~|\.{1,2})?\/(?:[\w@.-]+\/)*[\w@.-]+/g," ").replace(/(?:[\w@.-]+\/){2,}[\w@.-]+/g," ").replace(/\s+/g," ").trim(),me=n=>{let a=we(n).toLowerCase().replace(/[^a-z0-9\s-]/g,"").split(/\s+/).filter(o=>o.length>0&&!ue.has(o)).slice(0,6).join("-");return a.length>50&&(a=a.slice(0,50).replace(/-[^-]*$/,"")),a=a.replace(/^-+|-+$/g,""),a||"spec"},fe=n=>n.includes(" ")||n.length>50,he=new Map([["next",()=>import("./next-Y6FOPM4Z.js")],["approve",()=>import("./approve-HEW3VFYH.js")],["done",()=>import("./done-WR3UFYJT.js")],["block",()=>import("./block-VN76CXZW.js")],["reset",()=>import("./reset-RBCQO2RF.js")],["cancel",()=>import("./cancel-7WRAST62.js")],["wontfix",()=>import("./wontfix-RBOGLLWJ.js")],["reopen",()=>import("./reopen-RPDXN3CF.js")],["review",()=>import("./review-VMS5MYOV.js")],["delegate",()=>import("./delegate-WKXIER7E.js")],["followup",()=>import("./followup-5EGZEF5Q.js")],["learn",()=>import("./learn-ZTYKBZER.js")],["plan-export",()=>import("./plan-export-PG2BVRQZ.js")],["ledger",()=>import("./ledger-FOOPJ2UO.js")]]);var je=async n=>{let t=n?.[0];if(t==="new")return await ge(n?.slice(1));if(t==="list")return await Se(n?.slice(1));if(t==="help"||t===void 0){let l=g(),r=v({renderer:$.ansi(),sink:y.stdout()});return r.writeln(`Usage: ${l} spec <new "description" | list | <name> <command>>`),r.writeln(""),r.writeln(c(" Commands for a spec:")),r.writeln(c(" next, approve, done, block, reset, cancel, wontfix, reopen, revisit, split, ac, task, note, ledger")),r.writeln(""),r.writeln(c(" Examples:")),r.writeln(c(` ${l} spec new "Add photo upload support" # name auto-generated`)),r.writeln(c(` ${l} spec new my-feature "Add upload support" # explicit name`)),r.writeln(c(` ${l} spec my-feature next`)),r.writeln(c(` ${l} spec my-feature next --answer="approve"`)),await r.close(),u(void 0)}let e=t,s=n?.[1];if(s===void 0)return await(await import("./status-OGLFEFF7.js")).main([`--spec=${e}`]);if(s==="split")return await ye([`--spec=${e}`,...n?.slice(2)??[]]);if(s==="revisit")return await $e([`--spec=${e}`,...n?.slice(2)??[]]);if(s==="ac")return await Ce(e,n?.slice(2));if(s==="task")return await ke(e,n?.slice(2));if(s==="note")return await xe(e,n?.slice(2));let a=he.get(s);if(a!==void 0)return await(await a()).main([`--spec=${e}`,...n?.slice(2)??[]]);let o=v({renderer:$.ansi(),sink:y.stdout()});return o.writeln(p(`Unknown command: spec ${e} ${s}`)),o.writeln(c(" Valid: next, approve, done, block, reset, cancel, wontfix, reopen, revisit, split, ac, task, note, ledger")),await o.close(),d({exitCode:1})},ge=async n=>{let t=v({renderer:$.ansi(),sink:y.stdout()}),{root:e}=await P();if(!await M(e))return t.writeln(p("noskills is not initialized.")," Run: ",f(T("init"))),await t.close(),d({exitCode:1});let s=null,a=[];if(n!==void 0){let h=!1,S=[];for(let E of n)E.startsWith("--name=")?(s=E.slice(7),h=!0):E.startsWith("-")||S.push(E);if(h)a.push(...S);else if(S.length>=1){let E=S[0];fe(E)?a.push(...S):(s=E,a.push(...S.slice(1)))}}let o=null;if(n!==void 0)for(let h of n)h.startsWith("--from-plan=")&&(o=h.slice(12));let l=a.join(" ");if((s===null||s.length===0)&&l.length>0){s=me(l);let h=s,S=2;for(;;){if(ae.has(h)){h=`${s}-${S}`,S++;continue}let E=`${e}/${C.specDir(h)}`;try{await D.fs.stat(E),h=`${s}-${S}`,S++}catch{break}}s=h}if(s===null||s.length===0){let h={phase:"IDLE",action:"spec-new-interactive",instruction:"Ask the user what they want to build. Accept any input \u2014 one sentence, detailed requirements, meeting notes, a Linear task. Then call spec new again with their description.",prompt:"What do you want to build?"};return await t.close(),await G(h,"json"),u(void 0)}if(ae.has(s))return t.writeln(p(`"${s}" is a reserved name.`),c(" Choose a different spec name.")),await t.close(),d({exitCode:1});let r=/^[a-z0-9][a-z0-9-]*[a-z0-9]$/;if(s.length>50||s.length>1&&!r.test(s)||s.length===1&&!/^[a-z0-9]$/.test(s))return t.writeln(p("Invalid spec name: "),f(s)),t.writeln(c("Must be lowercase, hyphens, numbers only. Max 50 chars. Regex: /^[a-z0-9][a-z0-9-]*[a-z0-9]$/")),await t.close(),d({exitCode:1});if(l.length===0)return t.writeln(p("Please provide a description: "),f(`${g()} spec new "Add photo upload support"`)),await t.close(),d({exitCode:1});if(o!==null)try{if((await D.fs.stat(o)).size>50*1024)return t.writeln(p("Plan file too large. Maximum 50KB.")),await t.close(),d({exitCode:1})}catch{return t.writeln(p(`Plan file not found: ${o}`)),await t.close(),d({exitCode:1})}let i=`spec/${s}`,w=`${e}/${C.specDir(s)}`;try{return await D.fs.stat(w),t.writeln(p(`Spec "${s}" already exists.`),c(` Use a different --name or run \`${g()} reset --spec=${s}\` first.`)),await t.close(),d({exitCode:1})}catch{}let A=F(),m=j(A,s,i,l),x=await N(e),L=te(m,"IDLE","DISCOVERY",x);o!==null&&(L={...m,discovery:{...m.discovery,planPath:o}}),await D.fs.mkdir(`${e}/${C.specDir(s)}`,{recursive:!0});let I=await Z(e),U=await Q(e),oe=I.filter(h=>U?.concerns.includes(h.id)??!1),le=new Date,ce={name:x?.name??"unknown",email:x?.email??""},W=H({specName:s,activeConcerns:oe,classification:null,creator:ce,now:le}),pe=`${e}/${C.specFile(s)}`;await D.fs.writeTextFile(pe,W.content);let de={...L,specState:{path:C.specFile(s),status:"draft",metadata:W.metadata,placeholders:W.placeholders}};return await k(e,s,de),await re(e,{ts:new Date().toISOString(),type:"spec-created",spec:s,user:x?.name??"unknown",description:l??""}),t.writeln(R("\u2714")," Spec started: ",f(s)),t.writeln(" Directory: ",c(C.specDir(s))),t.writeln(" Branch: ",c(i)),t.writeln(" Phase: ",O("DISCOVERY")),o!==null&&t.writeln(" Plan: ",c(o)),t.writeln(""),t.writeln("Run ",f(T(`next --spec=${s}`))," to begin discovery questions."),await t.close(),u(void 0)},Se=async n=>{let{root:t}=await P(),e=ie(n),s=await J(t),a=`${t}/${C.specsDir}`,o=new Set(s.map(i=>i.name)),l=[];for(let i of s)l.push({name:i.name,phase:i.state.phase,iteration:i.state.execution.iteration});try{for await(let i of D.fs.readDir(a))i.isDirectory&&!o.has(i.name)&&l.push({name:i.name,phase:"IDLE",iteration:0})}catch{}if(e==="json")return await G(l,"json"),u(void 0);let r=v({renderer:$.ansi(),sink:y.stdout()});if(r.writeln(f("Specs")),r.writeln(""),l.length===0)r.writeln(c(" No specs yet."));else for(let i of l){let w=i.phase==="COMPLETED"?R(i.phase):i.phase==="EXECUTING"?B(i.phase):i.phase==="BLOCKED"?p(i.phase):O(i.phase),A=i.phase==="EXECUTING"?c(` iteration ${i.iteration}`):"";r.writeln(" ",c("\u25CB")," ",i.name," ",w,A)}return await r.close(),u(void 0)},ve=n=>{let t=[],e=0;for(;e<n.length;)if(n[e]==="--into"&&e+1<n.length){let s=n[e+1],a=s;e+2<n.length&&!n[e+2].startsWith("-")?(a=n[e+2],e+=3):e+=2,t.push({name:s,description:a})}else e+=1;return t},ye=async n=>{let t=v({renderer:$.ansi(),sink:y.stdout()}),{root:e}=await P();if(!await M(e))return t.writeln(p("noskills is not initialized.")," Run: ",f(T("init"))),await t.close(),d({exitCode:1});let s=V(n??[]);if(s===null)return t.writeln(p("Error: --spec=<name> is required.")),t.writeln(c("Example: "),f(`${g()} spec split --spec=parent --into name1 "desc1" --into name2 "desc2"`)),await t.close(),d({exitCode:1});let a;try{a=await b(e,s)}catch(i){let w=i instanceof Error?i.message:String(i);return t.writeln(p(`Error: ${w}`)),await t.close(),d({exitCode:1})}if(a.phase!=="DISCOVERY"&&a.phase!=="DISCOVERY_REFINEMENT")return t.writeln(p(`Cannot split spec in phase ${a.phase}. Must be in DISCOVERY or DISCOVERY_REFINEMENT.`)),await t.close(),d({exitCode:1});let o=ve(n??[]);if(o.length<2){let i=ne(a.discovery.answers);if(!i.detected||i.proposals.length<2)return t.writeln(p("Error: at least 2 --into entries required, or discovery answers must contain 2+ independent areas.")),await t.close(),d({exitCode:1});let w=[];for(let m of i.proposals){let x=`${e}/${C.specDir(m.name)}`;await D.fs.mkdir(x,{recursive:!0});let X=a.discovery.answers.filter(U=>m.relevantAnswers.includes(U.questionId)),I=j(F(),m.name,`spec/${m.name}`);for(let U of X)I=_(I,U.questionId,U.answer);I=q(I),await k(e,m.name,I),w.push(m.name)}let A=Y(a,"cancelled",`Split into: ${w.join(", ")}`);await k(e,s,A),t.writeln(R("Split complete."),` Created ${w.length} sub-specs:`);for(let m of w)t.writeln(" ",c("\u25CB")," ",f(m));return t.writeln("",c(`Parent spec "${s}" cancelled.`)),await t.close(),u(void 0)}let l=[];for(let i of o){let w=`${e}/${C.specDir(i.name)}`;await D.fs.mkdir(w,{recursive:!0});let m=j(F(),i.name,`spec/${i.name}`);for(let x of a.discovery.answers)m=_(m,x.questionId,x.answer);m=q(m),await k(e,i.name,m),l.push(i.name)}let r=Y(a,"cancelled",`Split into: ${l.join(", ")}`);await k(e,s,r),t.writeln(R("Split complete."),` Created ${l.length} sub-specs:`);for(let i of l)t.writeln(" ",c("\u25CB")," ",f(i));return t.writeln("",c(`Parent spec "${s}" cancelled.`)),await t.close(),u(void 0)},$e=async n=>{let t=v({renderer:$.ansi(),sink:y.stdout()}),{root:e}=await P();if(!await M(e))return t.writeln(p("noskills is not initialized.")," Run: ",f(T("init"))),await t.close(),d({exitCode:1});let s=V(n??[]);if(s===null)return t.writeln(p("Error: --spec=<name> is required.")),t.writeln(c("Example: "),f(`${g()} spec revisit --spec=my-spec "reason for revisit"`)),await t.close(),d({exitCode:1});let a=(n??[]).find(i=>!i.startsWith("--")&&i!==s);if(a===void 0||a.trim().length===0)return t.writeln(p('Error: Reason is required: noskills spec revisit --spec=X "reason"')),await t.close(),d({exitCode:1});let o;try{o=await b(e,s)}catch(i){let w=i instanceof Error?i.message:String(i);return t.writeln(p(`Error: ${w}`)),await t.close(),d({exitCode:1})}if(o.phase==="DISCOVERY"||o.phase==="DISCOVERY_REFINEMENT"||o.phase==="SPEC_PROPOSAL"||o.phase==="SPEC_APPROVED")return t.writeln(p("Already in planning phase, no need to revisit.")),await t.close(),d({exitCode:1});if(o.phase==="COMPLETED")return t.writeln(p(`Spec is completed. Use \`${g()} reopen --spec=${s}\` instead.`)),await t.close(),d({exitCode:1});if(o.phase==="IDLE")return t.writeln(p("No active spec to revisit.")),await t.close(),d({exitCode:1});let l=o.execution.completedTasks.length,r=ee(o,a.trim());return await k(e,s,r),t.writeln(R("Revisit complete.")),t.writeln(" Phase: ",f("DISCOVERY"),c(` (revisited from ${o.phase})`)),l>0&&t.writeln(" Previous progress: ",f(`${l} tasks completed`)),t.writeln(" Reason: ",c(`"${a.trim()}"`)),t.writeln(" Discovery answers preserved \u2014 revise or re-approve."),await t.close(),u(void 0)},Ce=async(n,t)=>{let e=v({renderer:$.ansi(),sink:y.stdout()}),{root:s}=await P(),a=t?.[0];if(n===void 0||a===void 0)return e.writeln(`Usage: ${g()} spec <name> ac <add "text" | list>`),await e.close(),u(void 0);if(a==="add"){let o=(t?.slice(1)??[]).filter(w=>!w.startsWith("-")).join(" ");if(o.length===0)return e.writeln(p("Please provide AC text.")),await e.close(),d({exitCode:1});let l=await b(s,n),r=await N(s);l.phase==="EXECUTING"&&e.writeln(O("Warning: Adding ACs during execution is scope creep."));let i=se(l,o,r);return await k(s,n,i),e.writeln(R("AC added: "),`"${o}"`,c(` (by ${z(r)})`)),await e.close(),u(void 0)}if(a==="list"){let l=(await b(s,n)).customACs??[];if(e.writeln(f(`Custom ACs for ${n}`)),e.writeln(""),l.length===0)e.writeln(c(" No custom ACs."));else for(let r of l)e.writeln(` - ${r.text}`,c(` -- ${r.user}, ${r.addedInPhase}`));return await e.close(),u(void 0)}return e.writeln(`Usage: ${g()} spec <name> ac <add "text" | list>`),await e.close(),u(void 0)},ke=async(n,t)=>{let e=v({renderer:$.ansi(),sink:y.stdout()}),{root:s}=await P(),a=t?.[0];if(n===void 0||a===void 0)return e.writeln(`Usage: ${g()} spec <name> task <add "text" | list>`),await e.close(),u(void 0);if(a==="add"){let o=(t?.slice(1)??[]).filter(w=>!w.startsWith("-")).join(" ");if(o.length===0)return e.writeln(p("Please provide task text.")),await e.close(),d({exitCode:1});let l=await b(s,n);if(l.phase==="EXECUTING"||l.phase==="BLOCKED")return e.writeln(p("Cannot add tasks during execution. Use `spec revisit` to go back to discovery.")),await e.close(),d({exitCode:1});let r=await N(s),i=K(l,`[TASK] ${o}`,r);return await k(s,n,i),e.writeln(R("Task added: "),`"${o}"`,c(` (by ${z(r)})`)),await e.close(),u(void 0)}if(a==="list"){let l=((await b(s,n)).specNotes??[]).filter(r=>r.text.startsWith("[TASK] "));if(e.writeln(f(`Custom tasks for ${n}`)),e.writeln(""),l.length===0)e.writeln(c(" No custom tasks."));else for(let r of l)e.writeln(` - ${r.text.replace("[TASK] ","")}`,c(` -- ${r.user}, ${r.phase}`));return await e.close(),u(void 0)}return e.writeln(`Usage: ${g()} spec <name> task <add "text" | list>`),await e.close(),u(void 0)},xe=async(n,t)=>{let e=v({renderer:$.ansi(),sink:y.stdout()}),{root:s}=await P(),a=t?.[0];if(n===void 0||a===void 0)return e.writeln(`Usage: ${g()} spec <name> note <add "text" | list>`),await e.close(),u(void 0);if(a==="add"){let o=(t?.slice(1)??[]).filter(w=>!w.startsWith("-")).join(" ");if(o.length===0)return e.writeln(p("Please provide note text.")),await e.close(),d({exitCode:1});let l=await b(s,n),r=await N(s),i=K(l,o,r);return await k(s,n,i),e.writeln(R("Note added: "),`"${o}"`,c(` (by ${z(r)})`)),await e.close(),u(void 0)}if(a==="list"){let l=((await b(s,n)).specNotes??[]).filter(r=>!r.text.startsWith("[TASK] "));if(e.writeln(f(`Notes for ${n}`)),e.writeln(""),l.length===0)e.writeln(c(" No notes."));else for(let r of l)e.writeln(` - ${r.text}`,c(` -- ${r.user}, ${r.phase}`));return await e.close(),u(void 0)}return e.writeln(`Usage: ${g()} spec <name> note <add "text" | list>`),await e.close(),u(void 0)};export{ae as RESERVED_NAMES,fe as looksLikeDescription,je as main,me as slugFromDescription};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as j,b as Ie,c as ze,d as I,e as ae,f as fe,g as Ne,h as De,i as Me,j as We,k as Ve}from"./chunk-AGWPQX43.js";import{b as y}from"./chunk-OTRBRRIO.js";function Ge(r){if(!/^data:/i.test(r))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');r=r.replace(/\r?\n/g,"");let e=r.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let t=r.substring(5,e).split(";"),n="",o=!1,s=t[0]||"text/plain",i=s;for(let R=1;R<t.length;R++)t[R]==="base64"?o=!0:t[R]&&(i+=`;${t[R]}`,t[R].indexOf("charset=")===0&&(n=t[R].substring(8)));!t[0]&&!n.length&&(i+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(r.substring(e+1)),a=Buffer.from(l,c);return a.type=s,a.typeFull=i,a.charset=n,a}var ce,le=y(()=>{ce=Ge});var U,M=y(()=>{U=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var p,q=y(()=>{M();p=class extends U{constructor(e,t,n){super(e,t),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var W,ee,z,ue,he,de,V=y(()=>{W=Symbol.toStringTag,ee=r=>typeof r=="object"&&typeof r.append=="function"&&typeof r.delete=="function"&&typeof r.get=="function"&&typeof r.getAll=="function"&&typeof r.has=="function"&&typeof r.set=="function"&&typeof r.sort=="function"&&r[W]==="URLSearchParams",z=r=>r&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&typeof r.constructor=="function"&&/^(Blob|File)$/.test(r[W]),ue=r=>typeof r=="object"&&(r[W]==="AbortSignal"||r[W]==="EventTarget"),he=(r,e)=>{let t=new URL(e).hostname,n=new URL(r).hostname;return t===n||t.endsWith(`.${n}`)},de=(r,e)=>{let t=new URL(e).protocol,n=new URL(r).protocol;return t===n}});import v,{PassThrough as pe}from"node:stream";import{types as me,deprecate as te,promisify as Ke}from"node:util";import{Buffer as b}from"node:buffer";async function re(r){if(r[m].disturbed)throw new TypeError(`body used already for: ${r.url}`);if(r[m].disturbed=!0,r[m].error)throw r[m].error;let{body:e}=r;if(e===null)return b.alloc(0);if(!(e instanceof v))return b.alloc(0);let t=[],n=0;try{for await(let o of e){if(r.size>0&&n+o.length>r.size){let s=new p(`content size at ${r.url} over limit: ${r.size}`,"max-size");throw e.destroy(s),s}n+=o.length,t.push(o)}}catch(o){throw o instanceof U?o:new p(`Invalid response body while trying to fetch ${r.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return t.every(o=>typeof o=="string")?b.from(t.join("")):b.concat(t,n)}catch(o){throw new p(`Could not create Buffer from response body for ${r.url}: ${o.message}`,"system",o)}else throw new p(`Premature close of server response while trying to fetch ${r.url}`)}var Ye,m,E,F,Je,G,ye,ge,K=y(()=>{Ie();fe();q();M();V();Ye=Ke(v.pipeline),m=Symbol("Body internals"),E=class{constructor(e,{size:t=0}={}){let n=null;e===null?e=null:ee(e)?e=b.from(e.toString()):z(e)||b.isBuffer(e)||(me.isAnyArrayBuffer(e)?e=b.from(e):ArrayBuffer.isView(e)?e=b.from(e.buffer,e.byteOffset,e.byteLength):e instanceof v||(e instanceof I?(e=ae(e),n=e.type.split("=")[1]):e=b.from(String(e))));let o=e;b.isBuffer(e)?o=v.Readable.from(e):z(e)&&(o=v.Readable.from(e.stream())),this[m]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=t,e instanceof v&&e.on("error",s=>{let i=s instanceof U?s:new p(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[m].error=i})}get body(){return this[m].stream}get bodyUsed(){return this[m].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:n}=await re(this);return e.slice(t,t+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new I,o=new URLSearchParams(await this.text());for(let[s,i]of o)n.append(s,i);return n}let{toFormData:t}=await import("./multipart-parser-UVM6CEKF.js");return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[m].body&&this[m].body.type||"",t=await this.arrayBuffer();return new j([t],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await re(this);return new TextDecoder().decode(e)}buffer(){return re(this)}};E.prototype.buffer=te(E.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(E.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:te(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});F=(r,e)=>{let t,n,{body:o}=r[m];if(r.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof v&&typeof o.getBoundary!="function"&&(t=new pe({highWaterMark:e}),n=new pe({highWaterMark:e}),o.pipe(t),o.pipe(n),r[m].stream=t,o=n),o},Je=te(r=>r.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),G=(r,e)=>r===null?null:typeof r=="string"?"text/plain;charset=UTF-8":ee(r)?"application/x-www-form-urlencoded;charset=UTF-8":z(r)?r.type||null:b.isBuffer(r)||me.isAnyArrayBuffer(r)||ArrayBuffer.isView(r)?null:r instanceof I?`multipart/form-data; boundary=${e[m].boundary}`:r&&typeof r.getBoundary=="function"?`multipart/form-data;boundary=${Je(r)}`:r instanceof v?null:"text/plain;charset=UTF-8",ye=r=>{let{body:e}=r[m];return e===null?0:z(e)?e.size:b.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},ge=async(r,{body:e})=>{e===null?r.end():await Ye(e,r)}});import{types as we}from"node:util";import J from"node:http";function be(r=[]){return new g(r.reduce((e,t,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,t])=>{try{return Y(e),oe(e,String(t)),!0}catch{return!1}}))}var Y,oe,g,_=y(()=>{Y=typeof J.validateHeaderName=="function"?J.validateHeaderName:r=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(r)){let e=new TypeError(`Header name must be a valid HTTP token [${r}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},oe=typeof J.validateHeaderValue=="function"?J.validateHeaderValue:(r,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let t=new TypeError(`Invalid character in header content ["${r}"]`);throw Object.defineProperty(t,"code",{value:"ERR_INVALID_CHAR"}),t}},g=class r extends URLSearchParams{constructor(e){let t=[];if(e instanceof r){let n=e.raw();for(let[o,s]of Object.entries(n))t.push(...s.map(i=>[o,i]))}else if(e!=null)if(typeof e=="object"&&!we.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)t.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");t=[...e].map(o=>{if(typeof o!="object"||we.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return t=t.length>0?t.map(([n,o])=>(Y(n),oe(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(t),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(i,c)=>(Y(i),oe(i,String(c)),URLSearchParams.prototype[o].call(n,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(Y(i),URLSearchParams.prototype[o].call(n,String(i).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let n=t.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,t=void 0){for(let n of this.keys())Reflect.apply(e,t,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,t)=>{let n=this.getAll(t);return t==="host"?e[t]=n[0]:e[t]=n.length>1?n:n[0],e},{})}};Object.defineProperties(g.prototype,["get","entries","forEach","values"].reduce((r,e)=>(r[e]={enumerable:!0},r),{}))});var _e,Z,ne=y(()=>{_e=new Set([301,302,303,307,308]),Z=r=>_e.has(r)});var T,S,Se=y(()=>{_();K();ne();T=Symbol("Response internals"),S=class r extends E{constructor(e=null,t={}){super(e,t);let n=t.status!=null?t.status:200,o=new g(t.headers);if(e!==null&&!o.has("Content-Type")){let s=G(e,this);s&&o.append("Content-Type",s)}this[T]={type:"default",url:t.url,status:n,statusText:t.statusText||"",headers:o,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[T].type}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}get highWaterMark(){return this[T].highWaterMark}clone(){return new r(F(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,t=302){if(!Z(t))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new r(null,{headers:{location:new URL(e).toString()},status:t})}static error(){let e=new r(null,{status:0,statusText:""});return e[T].type="error",e}static json(e=void 0,t={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new g(t&&t.headers);return o.has("content-type")||o.set("content-type","application/json"),new r(n,{...t,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(S.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Te,Re=y(()=>{Te=r=>{if(r.search)return r.search;let e=r.href.length-1,t=r.hash||(r.href[e]==="#"?"#":"");return r.href[e-t.length]==="?"?"?":""}});import{isIP as Ze}from"node:net";function xe(r,e=!1){return r==null||(r=new URL(r),/^(about|blob|data):$/.test(r.protocol))?"no-referrer":(r.username="",r.password="",r.hash="",e&&(r.pathname="",r.search=""),r)}function Le(r){if(!Ee.has(r))throw new TypeError(`Invalid referrerPolicy: ${r}`);return r}function Qe(r){if(/^(http|ws)s:$/.test(r.protocol))return!0;let e=r.host.replace(/(^\[)|(]$)/g,""),t=Ze(e);return t===4&&/^127\./.test(e)||t===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:r.host==="localhost"||r.host.endsWith(".localhost")?!1:r.protocol==="file:"}function k(r){return/^about:(blank|srcdoc)$/.test(r)||r.protocol==="data:"||/^(blob|filesystem):$/.test(r.protocol)?!0:Qe(r)}function Ue(r,{referrerURLCallback:e,referrerOriginCallback:t}={}){if(r.referrer==="no-referrer"||r.referrerPolicy==="")return null;let n=r.referrerPolicy;if(r.referrer==="about:client")return"no-referrer";let o=r.referrer,s=xe(o),i=xe(o,!0);s.toString().length>4096&&(s=i),e&&(s=e(s)),t&&(i=t(i));let c=new URL(r.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return i;case"unsafe-url":return s;case"strict-origin":return k(s)&&!k(c)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:k(s)&&!k(c)?"no-referrer":i;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:i;case"no-referrer-when-downgrade":return k(s)&&!k(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function ve(r){let e=(r.get("referrer-policy")||"").split(/[,\s]+/),t="";for(let n of e)n&&Ee.has(n)&&(t=n);return t}var Ee,Pe,se=y(()=>{Ee=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Pe="strict-origin-when-cross-origin"});import{format as Xe}from"node:url";import{deprecate as je}from"node:util";var u,N,qe,C,Be,Ae=y(()=>{_();K();V();Re();se();u=Symbol("Request internals"),N=r=>typeof r=="object"&&typeof r[u]=="object",qe=je(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),C=class r extends E{constructor(e,t={}){let n;if(N(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=t.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!N(t)&&"data"in t&&qe(),(t.body!=null||N(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=t.body?t.body:N(e)&&e.body!==null?F(e):null;super(s,{size:t.size||e.size||0});let i=new g(t.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let a=G(s,this);a&&i.set("Content-Type",a)}let c=N(e)?e.signal:null;if("signal"in t&&(c=t.signal),c!=null&&!ue(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=t.referrer==null?e.referrer:t.referrer;if(l==="")l="no-referrer";else if(l){let a=new URL(l);l=/^about:(\/\/)?client$/.test(a)?"client":a}else l=void 0;this[u]={method:o,redirect:t.redirect||e.redirect||"follow",headers:i,parsedURL:n,signal:c,referrer:l},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||""}get method(){return this[u].method}get url(){return Xe(this[u].parsedURL)}get headers(){return this[u].headers}get redirect(){return this[u].redirect}get signal(){return this[u].signal}get referrer(){if(this[u].referrer==="no-referrer")return"";if(this[u].referrer==="client")return"about:client";if(this[u].referrer)return this[u].referrer.toString()}get referrerPolicy(){return this[u].referrerPolicy}set referrerPolicy(e){this[u].referrerPolicy=Le(e)}clone(){return new r(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(C.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Be=r=>{let{parsedURL:e}=r[u],t=new g(r[u].headers);t.has("Accept")||t.set("Accept","*/*");let n=null;if(r.body===null&&/^(post|put)$/i.test(r.method)&&(n="0"),r.body!==null){let c=ye(r);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&t.set("Content-Length",n),r.referrerPolicy===""&&(r.referrerPolicy=Pe),r.referrer&&r.referrer!=="no-referrer"?r[u].referrer=Ue(r):r[u].referrer="no-referrer",r[u].referrer instanceof URL&&t.set("Referer",r.referrer),t.has("User-Agent")||t.set("User-Agent","node-fetch"),r.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=r;typeof o=="function"&&(o=o(e));let s=Te(e),i={path:e.pathname+s,method:r.method,headers:t[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:r.insecureHTTPParser,agent:o};return{parsedURL:e,options:i}}});var Q,Ce=y(()=>{M();Q=class extends U{constructor(e,t="aborted"){super(e,t)}}});import er from"node:http";import rr from"node:https";import O from"node:zlib";import $e,{PassThrough as Fe,pipeline as H}from"node:stream";import{Buffer as X}from"node:buffer";async function ke(r,e){return new Promise((t,n)=>{let o=new C(r,e),{parsedURL:s,options:i}=Be(o);if(!tr.has(s.protocol))throw new TypeError(`node-fetch cannot load ${r}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let f=ce(o.url),P=new S(f,{headers:{"Content-Type":f.typeFull}});t(P);return}let c=(s.protocol==="https:"?rr:er).request,{signal:l}=o,a=null,R=()=>{let f=new Q("The operation was aborted.");n(f),o.body&&o.body instanceof $e.Readable&&o.body.destroy(f),!(!a||!a.body)&&a.body.emit("error",f)};if(l&&l.aborted){R();return}let D=()=>{R(),A()},B=c(s.toString(),i);l&&l.addEventListener("abort",D);let A=()=>{B.abort(),l&&l.removeEventListener("abort",D)};B.on("error",f=>{n(new p(`request to ${o.url} failed, reason: ${f.message}`,"system",f)),A()}),or(B,f=>{a&&a.body&&a.body.destroy(f)}),process.version<"v14"&&B.on("socket",f=>{let P;f.prependListener("end",()=>{P=f._eventsCount}),f.prependListener("close",h=>{if(a&&P<f._eventsCount&&!h){let L=new Error("Premature close");L.code="ERR_STREAM_PREMATURE_CLOSE",a.body.emit("error",L)}})}),B.on("response",f=>{B.setTimeout(0);let P=be(f.rawHeaders);if(Z(f.statusCode)){let d=P.get("Location"),x=null;try{x=d===null?null:new URL(d,o.url)}catch{if(o.redirect!=="manual"){n(new p(`uri requested responds with an invalid redirect URL: ${d}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new p(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(x===null)break;if(o.counter>=o.follow){n(new p(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let w={headers:new g(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:F(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!he(o.url,x)||!de(o.url,x))for(let He of["authorization","www-authenticate","cookie","cookie2"])w.headers.delete(He);if(f.statusCode!==303&&o.body&&e.body instanceof $e.Readable){n(new p("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&o.method==="POST")&&(w.method="GET",w.body=void 0,w.headers.delete("content-length"));let ie=ve(P);ie&&(w.referrerPolicy=ie),t(ke(new C(x,w))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&f.once("end",()=>{l.removeEventListener("abort",D)});let h=H(f,new Fe,d=>{d&&n(d)});process.version<"v12.10"&&f.on("aborted",D);let L={url:o.url,status:f.statusCode,statusText:f.statusMessage,headers:P,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},$=P.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||$===null||f.statusCode===204||f.statusCode===304){a=new S(h,L),t(a);return}let Oe={flush:O.Z_SYNC_FLUSH,finishFlush:O.Z_SYNC_FLUSH};if($==="gzip"||$==="x-gzip"){h=H(h,O.createGunzip(Oe),d=>{d&&n(d)}),a=new S(h,L),t(a);return}if($==="deflate"||$==="x-deflate"){let d=H(f,new Fe,x=>{x&&n(x)});d.once("data",x=>{(x[0]&15)===8?h=H(h,O.createInflate(),w=>{w&&n(w)}):h=H(h,O.createInflateRaw(),w=>{w&&n(w)}),a=new S(h,L),t(a)}),d.once("end",()=>{a||(a=new S(h,L),t(a))});return}if($==="br"){h=H(h,O.createBrotliDecompress(),d=>{d&&n(d)}),a=new S(h,L),t(a);return}a=new S(h,L),t(a)}),ge(B,o).catch(n)})}function or(r,e){let t=X.from(`0\r
|
|
1
|
+
import{a as j,b as Ie,c as ze,d as I,e as ae,f as fe,g as Ne,h as De,i as Me,j as We,k as Ve}from"./chunk-I4Z2RF7L.js";import{b as y}from"./chunk-HISXAZ4Y.js";function Ge(r){if(!/^data:/i.test(r))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');r=r.replace(/\r?\n/g,"");let e=r.indexOf(",");if(e===-1||e<=4)throw new TypeError("malformed data: URI");let t=r.substring(5,e).split(";"),n="",o=!1,s=t[0]||"text/plain",i=s;for(let R=1;R<t.length;R++)t[R]==="base64"?o=!0:t[R]&&(i+=`;${t[R]}`,t[R].indexOf("charset=")===0&&(n=t[R].substring(8)));!t[0]&&!n.length&&(i+=";charset=US-ASCII",n="US-ASCII");let c=o?"base64":"ascii",l=unescape(r.substring(e+1)),a=Buffer.from(l,c);return a.type=s,a.typeFull=i,a.charset=n,a}var ce,le=y(()=>{ce=Ge});var U,M=y(()=>{U=class extends Error{constructor(e,t){super(e),Error.captureStackTrace(this,this.constructor),this.type=t}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}}});var p,q=y(()=>{M();p=class extends U{constructor(e,t,n){super(e,t),n&&(this.code=this.errno=n.code,this.erroredSysCall=n.syscall)}}});var W,ee,z,ue,he,de,V=y(()=>{W=Symbol.toStringTag,ee=r=>typeof r=="object"&&typeof r.append=="function"&&typeof r.delete=="function"&&typeof r.get=="function"&&typeof r.getAll=="function"&&typeof r.has=="function"&&typeof r.set=="function"&&typeof r.sort=="function"&&r[W]==="URLSearchParams",z=r=>r&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&typeof r.constructor=="function"&&/^(Blob|File)$/.test(r[W]),ue=r=>typeof r=="object"&&(r[W]==="AbortSignal"||r[W]==="EventTarget"),he=(r,e)=>{let t=new URL(e).hostname,n=new URL(r).hostname;return t===n||t.endsWith(`.${n}`)},de=(r,e)=>{let t=new URL(e).protocol,n=new URL(r).protocol;return t===n}});import v,{PassThrough as pe}from"node:stream";import{types as me,deprecate as te,promisify as Ke}from"node:util";import{Buffer as b}from"node:buffer";async function re(r){if(r[m].disturbed)throw new TypeError(`body used already for: ${r.url}`);if(r[m].disturbed=!0,r[m].error)throw r[m].error;let{body:e}=r;if(e===null)return b.alloc(0);if(!(e instanceof v))return b.alloc(0);let t=[],n=0;try{for await(let o of e){if(r.size>0&&n+o.length>r.size){let s=new p(`content size at ${r.url} over limit: ${r.size}`,"max-size");throw e.destroy(s),s}n+=o.length,t.push(o)}}catch(o){throw o instanceof U?o:new p(`Invalid response body while trying to fetch ${r.url}: ${o.message}`,"system",o)}if(e.readableEnded===!0||e._readableState.ended===!0)try{return t.every(o=>typeof o=="string")?b.from(t.join("")):b.concat(t,n)}catch(o){throw new p(`Could not create Buffer from response body for ${r.url}: ${o.message}`,"system",o)}else throw new p(`Premature close of server response while trying to fetch ${r.url}`)}var Ye,m,E,F,Je,G,ye,ge,K=y(()=>{Ie();fe();q();M();V();Ye=Ke(v.pipeline),m=Symbol("Body internals"),E=class{constructor(e,{size:t=0}={}){let n=null;e===null?e=null:ee(e)?e=b.from(e.toString()):z(e)||b.isBuffer(e)||(me.isAnyArrayBuffer(e)?e=b.from(e):ArrayBuffer.isView(e)?e=b.from(e.buffer,e.byteOffset,e.byteLength):e instanceof v||(e instanceof I?(e=ae(e),n=e.type.split("=")[1]):e=b.from(String(e))));let o=e;b.isBuffer(e)?o=v.Readable.from(e):z(e)&&(o=v.Readable.from(e.stream())),this[m]={body:e,stream:o,boundary:n,disturbed:!1,error:null},this.size=t,e instanceof v&&e.on("error",s=>{let i=s instanceof U?s:new p(`Invalid response body while trying to fetch ${this.url}: ${s.message}`,"system",s);this[m].error=i})}get body(){return this[m].stream}get bodyUsed(){return this[m].disturbed}async arrayBuffer(){let{buffer:e,byteOffset:t,byteLength:n}=await re(this);return e.slice(t,t+n)}async formData(){let e=this.headers.get("content-type");if(e.startsWith("application/x-www-form-urlencoded")){let n=new I,o=new URLSearchParams(await this.text());for(let[s,i]of o)n.append(s,i);return n}let{toFormData:t}=await import("./multipart-parser-DKDFOZKD.js");return t(this.body,e)}async blob(){let e=this.headers&&this.headers.get("content-type")||this[m].body&&this[m].body.type||"",t=await this.arrayBuffer();return new j([t],{type:e})}async json(){let e=await this.text();return JSON.parse(e)}async text(){let e=await re(this);return new TextDecoder().decode(e)}buffer(){return re(this)}};E.prototype.buffer=te(E.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(E.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:te(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});F=(r,e)=>{let t,n,{body:o}=r[m];if(r.bodyUsed)throw new Error("cannot clone body after it is used");return o instanceof v&&typeof o.getBoundary!="function"&&(t=new pe({highWaterMark:e}),n=new pe({highWaterMark:e}),o.pipe(t),o.pipe(n),r[m].stream=t,o=n),o},Je=te(r=>r.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),G=(r,e)=>r===null?null:typeof r=="string"?"text/plain;charset=UTF-8":ee(r)?"application/x-www-form-urlencoded;charset=UTF-8":z(r)?r.type||null:b.isBuffer(r)||me.isAnyArrayBuffer(r)||ArrayBuffer.isView(r)?null:r instanceof I?`multipart/form-data; boundary=${e[m].boundary}`:r&&typeof r.getBoundary=="function"?`multipart/form-data;boundary=${Je(r)}`:r instanceof v?null:"text/plain;charset=UTF-8",ye=r=>{let{body:e}=r[m];return e===null?0:z(e)?e.size:b.isBuffer(e)?e.length:e&&typeof e.getLengthSync=="function"&&e.hasKnownLength&&e.hasKnownLength()?e.getLengthSync():null},ge=async(r,{body:e})=>{e===null?r.end():await Ye(e,r)}});import{types as we}from"node:util";import J from"node:http";function be(r=[]){return new g(r.reduce((e,t,n,o)=>(n%2===0&&e.push(o.slice(n,n+2)),e),[]).filter(([e,t])=>{try{return Y(e),oe(e,String(t)),!0}catch{return!1}}))}var Y,oe,g,_=y(()=>{Y=typeof J.validateHeaderName=="function"?J.validateHeaderName:r=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(r)){let e=new TypeError(`Header name must be a valid HTTP token [${r}]`);throw Object.defineProperty(e,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),e}},oe=typeof J.validateHeaderValue=="function"?J.validateHeaderValue:(r,e)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(e)){let t=new TypeError(`Invalid character in header content ["${r}"]`);throw Object.defineProperty(t,"code",{value:"ERR_INVALID_CHAR"}),t}},g=class r extends URLSearchParams{constructor(e){let t=[];if(e instanceof r){let n=e.raw();for(let[o,s]of Object.entries(n))t.push(...s.map(i=>[o,i]))}else if(e!=null)if(typeof e=="object"&&!we.isBoxedPrimitive(e)){let n=e[Symbol.iterator];if(n==null)t.push(...Object.entries(e));else{if(typeof n!="function")throw new TypeError("Header pairs must be iterable");t=[...e].map(o=>{if(typeof o!="object"||we.isBoxedPrimitive(o))throw new TypeError("Each header pair must be an iterable object");return[...o]}).map(o=>{if(o.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...o]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return t=t.length>0?t.map(([n,o])=>(Y(n),oe(n,String(o)),[String(n).toLowerCase(),String(o)])):void 0,super(t),new Proxy(this,{get(n,o,s){switch(o){case"append":case"set":return(i,c)=>(Y(i),oe(i,String(c)),URLSearchParams.prototype[o].call(n,String(i).toLowerCase(),String(c)));case"delete":case"has":case"getAll":return i=>(Y(i),URLSearchParams.prototype[o].call(n,String(i).toLowerCase()));case"keys":return()=>(n.sort(),new Set(URLSearchParams.prototype.keys.call(n)).keys());default:return Reflect.get(n,o,s)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(e){let t=this.getAll(e);if(t.length===0)return null;let n=t.join(", ");return/^content-encoding$/i.test(e)&&(n=n.toLowerCase()),n}forEach(e,t=void 0){for(let n of this.keys())Reflect.apply(e,t,[this.get(n),n,this])}*values(){for(let e of this.keys())yield this.get(e)}*entries(){for(let e of this.keys())yield[e,this.get(e)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((e,t)=>(e[t]=this.getAll(t),e),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((e,t)=>{let n=this.getAll(t);return t==="host"?e[t]=n[0]:e[t]=n.length>1?n:n[0],e},{})}};Object.defineProperties(g.prototype,["get","entries","forEach","values"].reduce((r,e)=>(r[e]={enumerable:!0},r),{}))});var _e,Z,ne=y(()=>{_e=new Set([301,302,303,307,308]),Z=r=>_e.has(r)});var T,S,Se=y(()=>{_();K();ne();T=Symbol("Response internals"),S=class r extends E{constructor(e=null,t={}){super(e,t);let n=t.status!=null?t.status:200,o=new g(t.headers);if(e!==null&&!o.has("Content-Type")){let s=G(e,this);s&&o.append("Content-Type",s)}this[T]={type:"default",url:t.url,status:n,statusText:t.statusText||"",headers:o,counter:t.counter,highWaterMark:t.highWaterMark}}get type(){return this[T].type}get url(){return this[T].url||""}get status(){return this[T].status}get ok(){return this[T].status>=200&&this[T].status<300}get redirected(){return this[T].counter>0}get statusText(){return this[T].statusText}get headers(){return this[T].headers}get highWaterMark(){return this[T].highWaterMark}clone(){return new r(F(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(e,t=302){if(!Z(t))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new r(null,{headers:{location:new URL(e).toString()},status:t})}static error(){let e=new r(null,{status:0,statusText:""});return e[T].type="error",e}static json(e=void 0,t={}){let n=JSON.stringify(e);if(n===void 0)throw new TypeError("data is not JSON serializable");let o=new g(t&&t.headers);return o.has("content-type")||o.set("content-type","application/json"),new r(n,{...t,headers:o})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(S.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}})});var Te,Re=y(()=>{Te=r=>{if(r.search)return r.search;let e=r.href.length-1,t=r.hash||(r.href[e]==="#"?"#":"");return r.href[e-t.length]==="?"?"?":""}});import{isIP as Ze}from"node:net";function xe(r,e=!1){return r==null||(r=new URL(r),/^(about|blob|data):$/.test(r.protocol))?"no-referrer":(r.username="",r.password="",r.hash="",e&&(r.pathname="",r.search=""),r)}function Le(r){if(!Ee.has(r))throw new TypeError(`Invalid referrerPolicy: ${r}`);return r}function Qe(r){if(/^(http|ws)s:$/.test(r.protocol))return!0;let e=r.host.replace(/(^\[)|(]$)/g,""),t=Ze(e);return t===4&&/^127\./.test(e)||t===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(e)?!0:r.host==="localhost"||r.host.endsWith(".localhost")?!1:r.protocol==="file:"}function k(r){return/^about:(blank|srcdoc)$/.test(r)||r.protocol==="data:"||/^(blob|filesystem):$/.test(r.protocol)?!0:Qe(r)}function Ue(r,{referrerURLCallback:e,referrerOriginCallback:t}={}){if(r.referrer==="no-referrer"||r.referrerPolicy==="")return null;let n=r.referrerPolicy;if(r.referrer==="about:client")return"no-referrer";let o=r.referrer,s=xe(o),i=xe(o,!0);s.toString().length>4096&&(s=i),e&&(s=e(s)),t&&(i=t(i));let c=new URL(r.url);switch(n){case"no-referrer":return"no-referrer";case"origin":return i;case"unsafe-url":return s;case"strict-origin":return k(s)&&!k(c)?"no-referrer":i.toString();case"strict-origin-when-cross-origin":return s.origin===c.origin?s:k(s)&&!k(c)?"no-referrer":i;case"same-origin":return s.origin===c.origin?s:"no-referrer";case"origin-when-cross-origin":return s.origin===c.origin?s:i;case"no-referrer-when-downgrade":return k(s)&&!k(c)?"no-referrer":s;default:throw new TypeError(`Invalid referrerPolicy: ${n}`)}}function ve(r){let e=(r.get("referrer-policy")||"").split(/[,\s]+/),t="";for(let n of e)n&&Ee.has(n)&&(t=n);return t}var Ee,Pe,se=y(()=>{Ee=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),Pe="strict-origin-when-cross-origin"});import{format as Xe}from"node:url";import{deprecate as je}from"node:util";var u,N,qe,C,Be,Ae=y(()=>{_();K();V();Re();se();u=Symbol("Request internals"),N=r=>typeof r=="object"&&typeof r[u]=="object",qe=je(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),C=class r extends E{constructor(e,t={}){let n;if(N(e)?n=new URL(e.url):(n=new URL(e),e={}),n.username!==""||n.password!=="")throw new TypeError(`${n} is an url with embedded credentials.`);let o=t.method||e.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(o)&&(o=o.toUpperCase()),!N(t)&&"data"in t&&qe(),(t.body!=null||N(e)&&e.body!==null)&&(o==="GET"||o==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=t.body?t.body:N(e)&&e.body!==null?F(e):null;super(s,{size:t.size||e.size||0});let i=new g(t.headers||e.headers||{});if(s!==null&&!i.has("Content-Type")){let a=G(s,this);a&&i.set("Content-Type",a)}let c=N(e)?e.signal:null;if("signal"in t&&(c=t.signal),c!=null&&!ue(c))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let l=t.referrer==null?e.referrer:t.referrer;if(l==="")l="no-referrer";else if(l){let a=new URL(l);l=/^about:(\/\/)?client$/.test(a)?"client":a}else l=void 0;this[u]={method:o,redirect:t.redirect||e.redirect||"follow",headers:i,parsedURL:n,signal:c,referrer:l},this.follow=t.follow===void 0?e.follow===void 0?20:e.follow:t.follow,this.compress=t.compress===void 0?e.compress===void 0?!0:e.compress:t.compress,this.counter=t.counter||e.counter||0,this.agent=t.agent||e.agent,this.highWaterMark=t.highWaterMark||e.highWaterMark||16384,this.insecureHTTPParser=t.insecureHTTPParser||e.insecureHTTPParser||!1,this.referrerPolicy=t.referrerPolicy||e.referrerPolicy||""}get method(){return this[u].method}get url(){return Xe(this[u].parsedURL)}get headers(){return this[u].headers}get redirect(){return this[u].redirect}get signal(){return this[u].signal}get referrer(){if(this[u].referrer==="no-referrer")return"";if(this[u].referrer==="client")return"about:client";if(this[u].referrer)return this[u].referrer.toString()}get referrerPolicy(){return this[u].referrerPolicy}set referrerPolicy(e){this[u].referrerPolicy=Le(e)}clone(){return new r(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(C.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});Be=r=>{let{parsedURL:e}=r[u],t=new g(r[u].headers);t.has("Accept")||t.set("Accept","*/*");let n=null;if(r.body===null&&/^(post|put)$/i.test(r.method)&&(n="0"),r.body!==null){let c=ye(r);typeof c=="number"&&!Number.isNaN(c)&&(n=String(c))}n&&t.set("Content-Length",n),r.referrerPolicy===""&&(r.referrerPolicy=Pe),r.referrer&&r.referrer!=="no-referrer"?r[u].referrer=Ue(r):r[u].referrer="no-referrer",r[u].referrer instanceof URL&&t.set("Referer",r.referrer),t.has("User-Agent")||t.set("User-Agent","node-fetch"),r.compress&&!t.has("Accept-Encoding")&&t.set("Accept-Encoding","gzip, deflate, br");let{agent:o}=r;typeof o=="function"&&(o=o(e));let s=Te(e),i={path:e.pathname+s,method:r.method,headers:t[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:r.insecureHTTPParser,agent:o};return{parsedURL:e,options:i}}});var Q,Ce=y(()=>{M();Q=class extends U{constructor(e,t="aborted"){super(e,t)}}});import er from"node:http";import rr from"node:https";import O from"node:zlib";import $e,{PassThrough as Fe,pipeline as H}from"node:stream";import{Buffer as X}from"node:buffer";async function ke(r,e){return new Promise((t,n)=>{let o=new C(r,e),{parsedURL:s,options:i}=Be(o);if(!tr.has(s.protocol))throw new TypeError(`node-fetch cannot load ${r}. URL scheme "${s.protocol.replace(/:$/,"")}" is not supported.`);if(s.protocol==="data:"){let f=ce(o.url),P=new S(f,{headers:{"Content-Type":f.typeFull}});t(P);return}let c=(s.protocol==="https:"?rr:er).request,{signal:l}=o,a=null,R=()=>{let f=new Q("The operation was aborted.");n(f),o.body&&o.body instanceof $e.Readable&&o.body.destroy(f),!(!a||!a.body)&&a.body.emit("error",f)};if(l&&l.aborted){R();return}let D=()=>{R(),A()},B=c(s.toString(),i);l&&l.addEventListener("abort",D);let A=()=>{B.abort(),l&&l.removeEventListener("abort",D)};B.on("error",f=>{n(new p(`request to ${o.url} failed, reason: ${f.message}`,"system",f)),A()}),or(B,f=>{a&&a.body&&a.body.destroy(f)}),process.version<"v14"&&B.on("socket",f=>{let P;f.prependListener("end",()=>{P=f._eventsCount}),f.prependListener("close",h=>{if(a&&P<f._eventsCount&&!h){let L=new Error("Premature close");L.code="ERR_STREAM_PREMATURE_CLOSE",a.body.emit("error",L)}})}),B.on("response",f=>{B.setTimeout(0);let P=be(f.rawHeaders);if(Z(f.statusCode)){let d=P.get("Location"),x=null;try{x=d===null?null:new URL(d,o.url)}catch{if(o.redirect!=="manual"){n(new p(`uri requested responds with an invalid redirect URL: ${d}`,"invalid-redirect")),A();return}}switch(o.redirect){case"error":n(new p(`uri requested responds with a redirect, redirect mode is set to error: ${o.url}`,"no-redirect")),A();return;case"manual":break;case"follow":{if(x===null)break;if(o.counter>=o.follow){n(new p(`maximum redirect reached at: ${o.url}`,"max-redirect")),A();return}let w={headers:new g(o.headers),follow:o.follow,counter:o.counter+1,agent:o.agent,compress:o.compress,method:o.method,body:F(o),signal:o.signal,size:o.size,referrer:o.referrer,referrerPolicy:o.referrerPolicy};if(!he(o.url,x)||!de(o.url,x))for(let He of["authorization","www-authenticate","cookie","cookie2"])w.headers.delete(He);if(f.statusCode!==303&&o.body&&e.body instanceof $e.Readable){n(new p("Cannot follow redirect with body being a readable stream","unsupported-redirect")),A();return}(f.statusCode===303||(f.statusCode===301||f.statusCode===302)&&o.method==="POST")&&(w.method="GET",w.body=void 0,w.headers.delete("content-length"));let ie=ve(P);ie&&(w.referrerPolicy=ie),t(ke(new C(x,w))),A();return}default:return n(new TypeError(`Redirect option '${o.redirect}' is not a valid value of RequestRedirect`))}}l&&f.once("end",()=>{l.removeEventListener("abort",D)});let h=H(f,new Fe,d=>{d&&n(d)});process.version<"v12.10"&&f.on("aborted",D);let L={url:o.url,status:f.statusCode,statusText:f.statusMessage,headers:P,size:o.size,counter:o.counter,highWaterMark:o.highWaterMark},$=P.get("Content-Encoding");if(!o.compress||o.method==="HEAD"||$===null||f.statusCode===204||f.statusCode===304){a=new S(h,L),t(a);return}let Oe={flush:O.Z_SYNC_FLUSH,finishFlush:O.Z_SYNC_FLUSH};if($==="gzip"||$==="x-gzip"){h=H(h,O.createGunzip(Oe),d=>{d&&n(d)}),a=new S(h,L),t(a);return}if($==="deflate"||$==="x-deflate"){let d=H(f,new Fe,x=>{x&&n(x)});d.once("data",x=>{(x[0]&15)===8?h=H(h,O.createInflate(),w=>{w&&n(w)}):h=H(h,O.createInflateRaw(),w=>{w&&n(w)}),a=new S(h,L),t(a)}),d.once("end",()=>{a||(a=new S(h,L),t(a))});return}if($==="br"){h=H(h,O.createBrotliDecompress(),d=>{d&&n(d)}),a=new S(h,L),t(a);return}a=new S(h,L),t(a)}),ge(B,o).catch(n)})}function or(r,e){let t=X.from(`0\r
|
|
2
2
|
\r
|
|
3
3
|
`),n=!1,o=!1,s;r.on("response",i=>{let{headers:c}=i;n=c["transfer-encoding"]==="chunked"&&!c["content-length"]}),r.on("socket",i=>{let c=()=>{if(n&&!o){let a=new Error("Premature close");a.code="ERR_STREAM_PREMATURE_CLOSE",e(a)}},l=a=>{o=X.compare(a.slice(-5),t)===0,!o&&s&&(o=X.compare(s.slice(-3),t.slice(0,3))===0&&X.compare(a.slice(-2),t.slice(3))===0),s=a};i.prependListener("close",c),i.on("data",l),r.on("close",()=>{i.removeListener("close",c),i.removeListener("data",l)})})}var tr,nr=y(()=>{le();K();Se();_();Ae();q();Ce();ne();fe();V();se();Ve();tr=new Set(["data:","http:","https:"])});nr();export{Q as AbortError,j as Blob,p as FetchError,ze as File,I as FormData,g as Headers,C as Request,S as Response,De as blobFrom,Ne as blobFromSync,ke as default,Me as fileFrom,We as fileFromSync,Z as isRedirect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{b as k,e as O}from"./chunk-5DZHAHXW.js";import{a as S,d as w}from"./chunk-7PPUGTKL.js";import{N as R}from"./chunk-UE56BMAW.js";import"./chunk-XDRX4ZBJ.js";import{c as h}from"./chunk-IFE5SYGK.js";import{c as i,d as r,f as c,g as C,h as p,k as y,o as d,q as u,r as m}from"./chunk-VXU6XZ66.js";import{a as f}from"./chunk-VJRCTYGL.js";import"./chunk-PKEQKXZW.js";import"./chunk-O4KKKYCH.js";import{D as v,E as P,h as I,i as b,o as x,s as D}from"./chunk-KRKOWSYW.js";import{a as l,b as E}from"./chunk-OAWYVETM.js";import"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var K=async g=>{let{root:n}=await P(),o=S(g);if(!await v(n)){if(o==="json")await w({error:"noskills is not initialized"},o);else{let s=d({renderer:m.ansi(),sink:u.stdout()});s.writeln(c("noskills is not initialized.")," Run: ",i(h("init"))),await s.close()}return E({exitCode:1})}let N=b(g),e=await I(n,N),t=await x(n),T={phase:e.phase,spec:e.spec,branch:e.branch,discovery:e.phase==="DISCOVERY"||e.phase==="DISCOVERY_REFINEMENT"?{answered:e.discovery.answers.length,total:f.length}:void 0,execution:e.phase==="EXECUTING"||e.phase==="BLOCKED"?{iteration:e.execution.iteration,lastProgress:e.execution.lastProgress,debt:e.execution.debt?.items.length??0,verificationPassed:e.execution.lastVerification?.passed??null}:void 0,concerns:t?.concerns??[],tools:t?.tools??[],decisions:e.decisions.length};if(o==="json"){let a=(await D(n)).filter(V=>t!==null&&t.concerns.includes(V.id)),F=await k(n),j=O(t?.tools??[]),$=await R(e,a,F,t,void 0,void 0,void 0,j);return await w({...T,...$},"json"),l(void 0)}{let s=d({renderer:m.ansi(),sink:u.stdout()});s.writeln(i(`${h("status")}`)),s.writeln("");let a=e.phase==="COMPLETED"?C(e.phase):e.phase==="BLOCKED"?c(e.phase):e.phase==="EXECUTING"?y(e.phase):p(e.phase);s.writeln(" Phase: ",a),e.spec!==null&&s.writeln(" Spec: ",i(e.spec)),e.branch!==null&&s.writeln(" Branch: ",e.branch),(e.phase==="DISCOVERY"||e.phase==="DISCOVERY_REFINEMENT")&&s.writeln(` Discovery: ${e.discovery.answers.length}/${f.length} questions answered`),e.phase==="EXECUTING"&&(s.writeln(` Iteration: ${e.execution.iteration}`),e.execution.lastProgress!==null&&s.writeln(" Progress: ",r(e.execution.lastProgress)),e.execution.debt!==null&&s.writeln(p(` Debt: ${e.execution.debt.items.length} items`))),t!==null&&(s.writeln(""),t.concerns.length>0&&s.writeln(" Concerns: ",r(t.concerns.join(", "))),t.tools.length>0&&s.writeln(" Tools: ",r(t.tools.join(", ")))),e.decisions.length>0&&(s.writeln(""),s.writeln(` Decisions: ${e.decisions.length}`)),await s.close()}return l(void 0)};export{K as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as t,o as i,q as r,r as n}from"./chunk-VXU6XZ66.js";import"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var l=async e=>{let s=i({renderer:n.ansi(),sink:r.stdout()});return s.writeln(t("`sync` has been merged into `init`. Running `noskills init`...")),s.writeln(""),await s.close(),await(await import("./init-437SU6XH.js")).main(e)};export{l as main};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./chunk-
|
|
1
|
+
import"./chunk-HISXAZ4Y.js";var r=globalThis.navigator?.userAgent?.includes("Deno");function s(){return globalThis.process.getBuiltinModule("node:fs")}var c=r?Deno.errors.AlreadyExists:class extends Error{},d=r?Deno.errors.BadResource:class extends Error{},E=r?Deno.errors.BrokenPipe:class extends Error{},y=r?Deno.errors.Busy:class extends Error{},B=r?Deno.errors.Interrupted:class extends Error{},T=r?Deno.errors.InvalidData:class extends Error{},a=r?Deno.errors.NotFound:class extends Error{},P=r?Deno.errors.PermissionDenied:class extends Error{},F=r?Deno.errors.TimedOut:class extends Error{},S=r?Deno.errors.UnexpectedEof:class extends Error{},O=r?Deno.errors.WriteZero:class extends Error{};function n(e){return o=>Object.assign(new e(o.message),{stack:o.stack})}var l={EEXIST:n(c),ENOENT:n(a),EBADF:n(d)};function p(e){return e instanceof Error&&"code"in e}function i(e){return p(e)&&l[e.code]?.(e)||e}async function W(e,o){if(r)await Deno.chmod(e,o);else try{await s().promises.chmod(e,o)}catch(t){throw i(t)}}function Z(e,o){if(r)Deno.chmodSync(e,o);else try{s().chmodSync(e,o)}catch(t){throw i(t)}}export{W as chmod,Z as chmodSync};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as a}from"./chunk-IFE5SYGK.js";import{c,d as r,f as o,g as u,h as p,o as m,q as f,r as w}from"./chunk-VXU6XZ66.js";import{f as g}from"./chunk-PKEQKXZW.js";import{E as h,l as v}from"./chunk-KRKOWSYW.js";import{a as d,b as i}from"./chunk-OAWYVETM.js";import"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var D=async $=>{let e=m({renderer:w.ansi(),sink:f.stdout()}),{root:S}=await h(),s=($??[])[0]??null;if(s===null)return e.writeln(o("Error: spec name is required.")),e.writeln(r(`Usage: ${a()} validate <spec-name>`)),await e.close(),i({exitCode:1});let l;try{l=await v(S,s)}catch{return e.writeln(o(`Spec "${s}" not found.`)),e.writeln(r(`Run \`${a()} spec list\` to see available specs.`)),await e.close(),i({exitCode:1})}if(l===null)return e.writeln(o(`No state found for spec "${s}".`)),await e.close(),i({exitCode:1});let n=g(l.specState),x=l.specState.placeholders.filter(t=>t.status!=="conditional-hidden");if(n.canAdvance)return e.writeln(u("\u2713")," ",c(s),`: all ${x.length} sections resolved`),await e.close(),d(void 0);if(e.writeln(o("\u2717")," ",c(s),`: ${n.unresolvedSections.length} unresolved, ${n.pendingDecisions.length} pending decisions`),n.unresolvedSections.length>0){e.writeln(""),e.writeln(p("Unresolved sections:"));for(let t of n.unresolvedSections)e.writeln(" - ",t.sectionTitle)}if(n.pendingDecisions.length>0){e.writeln(""),e.writeln(p("Pending decisions:"));for(let t of n.pendingDecisions)e.writeln(" - ",`${t.section}: ${t.question}`,r(` (waiting for ${t.waitingFor.join(", ")})`))}return e.writeln(""),e.writeln(r(`Run \`${a()} spec ${s} next\` to fill remaining sections.`)),await e.close(),i({exitCode:1})};export{D as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b}from"./chunk-EIGFDYGQ.js";import"./chunk-PSX63TYP.js";import"./chunk-EJYSOUEA.js";import"./chunk-JYVB6UAV.js";import"./chunk-OAWYVETM.js";import"./chunk-HISXAZ4Y.js";export{a as VertexAIModel,b as vertexaiFactory};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as O,c as I}from"./chunk-7PPUGTKL.js";import{a as F,c as R}from"./chunk-EROZRDGT.js";import{D as v,E as L,f as E,g as x,n as P,o as D}from"./chunk-KRKOWSYW.js";import{a as y,b as C}from"./chunk-OAWYVETM.js";import{i as g}from"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var N=async e=>{let t=await x(e),d=await D(e),l=await W(e),s=null,c=null,u=0,a=0;if(t.spec!==null){let i=await F(e,t.spec);if(i!==null){u=i.tasks.length,a=t.execution.completedTasks.length;let f=R(i.tasks,t.execution.completedTasks);f!==null&&(s=f.id,c=f.title)}}let p=null;t.lastCalledAt!==null&&(p=Math.floor((Date.now()-new Date(t.lastCalledAt).getTime())/1e3));let r=(await P(e)).map(i=>({name:i.name,phase:i.state.phase,iteration:i.state.execution.iteration}));return{spec:t.spec,phase:t.phase,iteration:t.execution.iteration,activeTaskId:s,activeTaskTitle:c,totalTasks:u,completedTaskCount:a,lastProgress:t.execution.lastProgress,lastCalledAt:t.lastCalledAt,modifiedFiles:t.execution.modifiedFiles,debt:t.execution.debt,concerns:d?.concerns??[],maxIterations:d?.maxIterationsBeforeRestart??15,awaitingStatusReport:t.execution.awaitingStatusReport,verificationPassed:t.execution.lastVerification?.passed??null,decisionsCount:t.decisions.length,discoveryAnswered:t.discovery.answers.length,discoveryTotal:6,trackedFiles:l,timeSinceUpdate:p,allSpecs:r}},W=async e=>{let t=`${e}/${E.progressesDir}/files-changed.jsonl`;try{let l=(await g.fs.readTextFile(t)).trim().split(`
|
|
2
|
+
`).filter(Boolean),s=[];for(let c of l)try{let u=JSON.parse(c);s.includes(u.file)||s.push(u.file)}catch{}return s}catch{return[]}},B="\x1B[2J\x1B[H",b="\x1B[1m",m="\x1B[2m",o="\x1B[0m",T="\x1B[32m",k="\x1B[33m",w="\x1B[31m",A="\x1B[36m",S=e=>{switch(e){case"COMPLETED":return T;case"BLOCKED":return w;case"EXECUTING":return A;default:return k}},M=(e,t,d)=>{if(t===0)return"\u2591".repeat(d);let l=Math.min(e/t,1),s=Math.round(l*d);return"\u2588".repeat(s)+"\u2591".repeat(d-s)},U=e=>e===null?"never":e<60?`${e}s ago`:e<3600?`${Math.floor(e/60)}m ago`:`${Math.floor(e/3600)}h ago`,j=e=>e.replace(/\x1b\[[0-9;]*m/g,""),K=(e,t)=>{let d=j(e).length;return e+" ".repeat(Math.max(0,t-d))},V=e=>{let t=[],l="\u2500".repeat(54),s=a=>`${m}\u2502${o} ${K(a,52)}${m}\u2502${o}`,c=()=>`${m}\u2502${"".padEnd(54)}\u2502${o}`;if(t.push(`${m}\u256D${l}\u256E${o}`),t.push(s(`${b}noskills watch${o}`)),t.push(c()),t.push(s(`${b}Specs:${o}`)),e.allSpecs.length>0)for(let a of e.allSpecs){let p=S(a.phase),n=a.name.slice(0,18).padEnd(18),r=`${p}${a.phase}${o}`.padEnd(a.phase.length+10);if(a.phase==="EXECUTING"||a.phase==="BLOCKED"){let i=M(e.completedTaskCount,e.totalTasks,10),f=e.totalTasks>0?Math.round(e.completedTaskCount/e.totalTasks*100):0;t.push(s(` ${n} ${r} ${i} ${e.completedTaskCount}/${e.totalTasks} (${f}%)`))}else a.phase==="COMPLETED"?t.push(s(` ${n} ${r} done`)):t.push(s(` ${n} ${r}`))}else if(e.spec!==null){let a=S(e.phase);t.push(s(` ${e.spec} ${a}${e.phase}${o}`))}else t.push(s(` ${m}No specs yet${o}`));if(t.push(c()),e.phase==="DISCOVERY"||e.phase==="DISCOVERY_REFINEMENT")t.push(s(`Phase: ${S(e.phase)}${e.phase}${o} Discovery: ${e.discoveryAnswered}/${e.discoveryTotal} questions answered`));else if(e.phase==="SPEC_PROPOSAL")t.push(s(`Phase: ${k}${e.phase}${o} ${k}Awaiting approval${o}`));else if(e.phase==="SPEC_APPROVED")t.push(s(`Phase: ${k}${e.phase}${o} ${T}Ready to start${o}`));else if(e.phase==="EXECUTING"||e.phase==="BLOCKED"){if(e.spec!==null&&t.push(s(`${b}${e.spec}${o} (iteration ${e.iteration}):`)),e.activeTaskId!==null){let n=`${e.activeTaskId}${e.activeTaskTitle!==null?` (${e.activeTaskTitle})`:""}`;t.push(s(` Active task: ${A}${n.slice(0,36)}${o}`))}let a=M(e.completedTaskCount,e.totalTasks,12),p=e.totalTasks>0?Math.round(e.completedTaskCount/e.totalTasks*100):0;if(t.push(s(` Progress: ${T}${a} ${e.completedTaskCount}/${e.totalTasks} tasks (${p}%)${o}`)),t.push(s(` Iteration: ${e.iteration}`)),t.push(s(` Last update: ${U(e.timeSinceUpdate)}`)),e.lastProgress!==null&&t.push(s(` ${m}${e.lastProgress.slice(0,50)}${o}`)),e.phase==="BLOCKED"){let n=(e.lastProgress??"unknown").replace(/^BLOCKED:\s*/,"");t.push(s(` ${w}BLOCKED: ${n.slice(0,40)}${o}`)),t.push(s(` ${k}Human input needed${o}`))}if(e.awaitingStatusReport&&t.push(s(` ${k}Status report pending${o}`)),e.verificationPassed===!1&&t.push(s(` ${w}Verification failed${o}`)),t.push(c()),e.debt!==null&&e.debt.items.length>0){t.push(s(` Debt: ${e.debt.items.length} item(s)`));for(let n of e.debt.items.slice(0,3))t.push(s(` \u2514\u2500 ${n.text.slice(0,44)}`));e.debt.items.length>3&&t.push(s(` \u2514\u2500 ... and ${e.debt.items.length-3} more`))}if(e.trackedFiles.length>0||e.modifiedFiles.length>0){let n=e.trackedFiles.length>0?e.trackedFiles:e.modifiedFiles;t.push(s(` Files changed: ${n.length}`));for(let r of n.slice(0,5)){let i=r.length>44?"..."+r.slice(-41):r;t.push(s(` \u2514\u2500 ${i}`))}n.length>5&&t.push(s(` \u2514\u2500 ... and ${n.length-5} more`))}}else e.phase==="COMPLETED"?t.push(s(`${T}Complete!${o} ${e.iteration} iterations, ${e.decisionsCount} decisions`)):e.phase==="IDLE"&&t.push(s(`${m}No active spec \u2014 work freely${o}`));t.push(c()),e.concerns.length>0&&t.push(s(`Concerns: ${e.concerns.join(", ").slice(0,40)}`));let u=e.iteration>=e.maxIterations?`${w}RESTART RECOMMENDED${o}`:`${T}ok${o} (${e.iteration}/${e.maxIterations})`;return t.push(s(`Context: ${u}`)),t.push(`${m}\u2570${l}\u256F${o}`),t.push(` ${m}watching .eser/.state/progresses/ ... ctrl+c to stop${o}`),t.join(`
|
|
3
|
+
`)},_=e=>JSON.stringify({ts:new Date().toISOString(),phase:e.phase,spec:e.spec,iteration:e.iteration,activeTask:e.activeTaskId,tasks:{completed:e.completedTaskCount,total:e.totalTasks},progress:e.lastProgress,debt:e.debt?.items.length??0,filesChanged:e.trackedFiles.length>0?e.trackedFiles:e.modifiedFiles,timeSinceUpdate:e.timeSinceUpdate,verificationPassed:e.verificationPassed}),H=async e=>{let{root:t}=await L(),l=e!==void 0&&e.some(r=>r==="-o"||r.startsWith("--output"))?O(e):"ansi";if(!await v(t)){let r=new TextEncoder,i=g.process.stdout.getWriter();return await i.write(r.encode(`noskills not initialized.
|
|
4
|
+
`)),i.releaseLock(),C({exitCode:1})}let s=`${t}/${E.progressesDir}`,c="",u=async()=>{let r=await N(t),i=l==="json"?_(r):l==="markdown"?I(r,"markdown"):V(r);if(l==="json"){let h=new TextEncoder,$=g.process.stdout.getWriter();await $.write(h.encode(i+`
|
|
5
|
+
`)),$.releaseLock()}else if(l==="markdown"){let h=new TextEncoder,$=g.process.stdout.getWriter();await $.write(h.encode(i+`
|
|
6
|
+
---
|
|
7
|
+
`)),$.releaseLock()}else if(i!==c){let h=new TextEncoder,$=g.process.stdout.getWriter();await $.write(h.encode(B+i+`
|
|
8
|
+
`)),$.releaseLock(),c=i}return r.allSpecs.length>0&&r.allSpecs.every(h=>h.phase==="COMPLETED")||r.allSpecs.length===0&&r.phase==="COMPLETED"};if(await u())return y(void 0);let p=1e3,n=0;for(;;){await new Promise(r=>setTimeout(r,p));try{let i=(await g.fs.stat(`${s}/state.json`)).mtime?.getTime()??0;if(i>n&&(n=i,await new Promise(h=>setTimeout(h,200)),await u()))break}catch{}}return y(void 0)};export{N as buildSnapshot,H as main,_ as renderJsonLine,V as renderTerminal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{D as l,E as a}from"./chunk-KRKOWSYW.js";import{a as n,b as s}from"./chunk-OAWYVETM.js";import"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var u=async p=>{let{root:t}=await a();if(!await l(t))return console.error("noskills is not initialized. Run: noskills init"),s({exitCode:1});let r=3e3,o=!1;for(let e of p??[])e.startsWith("--port=")&&(r=parseInt(e.slice(7),10)),e==="--open"&&(o=!0);let c="@eserstack/noskills-web",i;try{i=(await import(c)).startServer}catch{return console.error("@eserstack/noskills-web is not installed. Run: pnpm install"),s({exitCode:1})}return await i({root:t,port:r,open:o}),n(void 0)};export{u as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as P}from"./chunk-DBKXMYLF.js";import{a as T,d as L}from"./chunk-LN4NDYT6.js";import{h as I}from"./chunk-5RLCKUIF.js";import{K as A,q as v,y as D}from"./chunk-UE56BMAW.js";import"./chunk-XDRX4ZBJ.js";import"./chunk-IFE5SYGK.js";import{d as f,f as n,g as u,o as w,q as h,r as S}from"./chunk-VXU6XZ66.js";import"./chunk-VJRCTYGL.js";import"./chunk-PKEQKXZW.js";import"./chunk-O4KKKYCH.js";import{E as C,f as g,h as x,j as E,k,m as y}from"./chunk-KRKOWSYW.js";import{a as m,b as i}from"./chunk-OAWYVETM.js";import{i as d}from"./chunk-Y5E7ZCCX.js";import"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";var z=async c=>{let e=w({renderer:S.ansi(),sink:h.stdout()}),{root:r}=await C(),p=E(c);if(!p.ok)return e.writeln(n(p.error)),await e.close(),i({exitCode:1});let o=(c??[]).filter(a=>!a.startsWith("--spec=")).join(" ");if(o.length===0)return e.writeln(n('A reason is required: noskills wontfix "reason text"')),await e.close(),i({exitCode:1});let t;try{t=await x(r,p.spec)}catch(a){let $=a instanceof Error?a.message:String(a);return e.writeln(n($)),await e.close(),i({exitCode:1})}if(t.phase==="IDLE"||t.phase==="UNINITIALIZED"||t.phase==="COMPLETED")return e.writeln(n(`Cannot mark as won't fix in phase: ${t.phase}`)),await e.close(),i({exitCode:1});if(t.spec!==null){let a=`${r}/${g.specDir(t.spec)}`;try{await d.fs.stat(a)}catch{return e.writeln(n(`Active spec '${t.spec}' directory not found.`)),e.writeln(f("Run `noskills reset` to return to idle.")),await e.close(),i({exitCode:1})}}let l=await I(r),s=v(t,"wontfix",o);s=D(s,t.phase,"COMPLETED",l,o),s.spec!==null&&await y(r,s.spec,s);let U=A(s);return await k(r,U),s.spec!==null&&(await T(r,s.spec,"wontfix"),await L(r,s.spec,"wontfix")),await P(r,{ts:new Date().toISOString(),type:"phase-change",spec:t.spec??"unknown",user:l.name,from:t.phase,to:"COMPLETED",reason:"wontfix"}),e.writeln(u("\u2714"),` Spec marked as won't fix: ${o}`),await e.close(),m(void 0)};export{z as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c,d}from"./chunk-LJEWPIEI.js";import"./chunk-FE4MKOI4.js";import"./chunk-HISXAZ4Y.js";export{a as WORKERD_CAPABILITIES,c as clearEnv,d as createWorkerdRuntime,b as populateEnvFromContext};
|
package/noskills.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as t}from"./chunks/chunk-
|
|
2
|
+
import{a as t}from"./chunks/chunk-CH6A3LES.js";import{e as s}from"./chunks/chunk-OAWYVETM.js";import{i as o}from"./chunks/chunk-Y5E7ZCCX.js";import"./chunks/chunk-LJEWPIEI.js";import"./chunks/chunk-FE4MKOI4.js";import"./chunks/chunk-HISXAZ4Y.js";var i=new t({description:"noskills \u2014 state-machine orchestrator for AI agents",modules:{init:{description:"Initialize noskills in project",load:()=>import("./chunks/init-437SU6XH.js")},status:{description:"Show current state",load:()=>import("./chunks/status-OGLFEFF7.js")},spec:{description:"Manage specs (new, list)",load:()=>import("./chunks/spec-4RKLPOEM.js")},validate:{description:"Read-only completeness check for a spec (CI-friendly)",load:()=>import("./chunks/validate-JX7UTAK5.js")},ledger:{description:"Read-only decision ledger + maturity summary for a spec",load:()=>import("./chunks/ledger-FOOPJ2UO.js")},next:{description:"Get next instruction for agent",load:()=>import("./chunks/next-Y6FOPM4Z.js")},approve:{description:"Approve phase transition",load:()=>import("./chunks/approve-HEW3VFYH.js")},block:{description:"Mark spec as blocked",load:()=>import("./chunks/block-VN76CXZW.js")},reset:{description:"Reset current spec state",load:()=>import("./chunks/reset-RBCQO2RF.js")},done:{description:"Mark spec execution as complete",load:()=>import("./chunks/done-WR3UFYJT.js")},free:{description:"Show idle mode info (noskills starts permissive by default)",load:()=>import("./chunks/free-KJQHRYZA.js")},cancel:{description:"Cancel current spec",load:()=>import("./chunks/cancel-7WRAST62.js")},wontfix:{description:"Mark spec as won't fix (requires reason)",load:()=>import("./chunks/wontfix-RBOGLLWJ.js")},reopen:{description:"Reopen a completed spec for revision",load:()=>import("./chunks/reopen-RPDXN3CF.js")},concern:{description:"Manage concerns (add, remove, list)",load:()=>import("./chunks/concern-QSENGU6C.js")},run:{description:"Autonomous execution loop (Ralph loop)",load:()=>import("./chunks/run-62PWXVII.js")},watch:{description:"Live dashboard for monitoring agent progress",load:()=>import("./chunks/watch-SOZDHLSC.js")},web:{description:"Start web interface (browser dashboard)",load:()=>import("./chunks/web-3VGRM3W4.js")},sync:{description:"Regenerate tool-specific files (redirects to init)",load:()=>import("./chunks/sync-H35O5DN5.js")},learn:{description:"Manage cross-session learnings (list, remove)",load:()=>import("./chunks/learn-ZTYKBZER.js")},diagrams:{description:"Diagram registry and staleness checks (scan, list, check, verify)",load:()=>import("./chunks/diagrams-A7W2EBYV.js")},purge:{description:"Remove all noskills content (specs, rules, concerns, hooks)",load:()=>import("./chunks/purge-JGNJNEET.js")},"invoke-hook":{description:"Internal hook handlers (called by agents)",load:()=>import("./chunks/invoke-hook-LMCWNF65.js")},rule:{description:"Manage rules (add, list, promote)",load:()=>import("./chunks/rule-IB4VKSBC.js")},config:{description:"Manage configuration (set-user, get-user, clear-user)",load:()=>import("./chunks/config-S3UXTJN2.js")},pack:{description:"Manage packs (list, install, uninstall, inspect, search)",load:()=>import("./chunks/pack-KUT53Z24.js")},session:{description:"Manage sessions for multi-instance support",load:()=>import("./chunks/session-Q43KMFL2.js")},manager:{description:"Multi-spec TUI with tab management",load:()=>import("./chunks/manager-2MOLEJ4Q.js")},mgr:{description:"Alias for manager",load:()=>import("./chunks/manager-2MOLEJ4Q.js")}}});var r={name:"@eserstack/noskills",version:"4.5.0",type:"module",exports:{".":"./main.ts","./mod":"./mod.ts","./module":"./module.ts","./dashboard":"./dashboard/mod.ts","./persistence":"./state/persistence.ts","./session":"./manager/session-binding.ts","./go-noskills":"./go-noskills.ts"},dependencies:{"@eserstack/agents":"workspace:*","@eserstack/ai":"workspace:*","@eserstack/ajan":"workspace:*","@eserstack/codebase":"workspace:*","@eserstack/mux":"workspace:*","@eserstack/primitives":"workspace:*","@eserstack/shell":"workspace:*","@eserstack/standards":"workspace:*","@eserstack/streams":"workspace:*",esbuild:"^0.28.1",yaml:"^2.9.0"},devDependencies:{"@std/assert":"npm:@jsr/std__assert@^1.0.19","@std/testing":"npm:@jsr/std__testing@^1.0.20"}};var p=i.toCommand("noskills",r.version),c=async()=>await p.parse();if(import.meta.main){let a=await c();s(a,{ok:()=>{},fail:e=>{e.message!==void 0&&console.error(e.message),o.process.setExitCode(e.exitCode)}})}export{c as main};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as y,c as f}from"./chunk-5MN3MWQN.js";import{a as _,e as b}from"./chunk-OLM5RTFK.js";import"./chunk-OTRBRRIO.js";var h=class{capabilities=["text_generation","streaming","tool_calling","vision","batch_processing"];provider="anthropic";modelId;client;config;constructor(t,n){this.client=t,this.config=n,this.modelId=n.model}async generateText(t,n){let o=p(this.config,t);try{let a=await this.client.messages.create(o,{signal:n,timeout:this.config.requestTimeoutMs});return k(a,this.modelId)}catch(a){throw i(a)}}async*streamText(t,n){let o=p(this.config,t);try{let a=await this.client.messages.create({...o,stream:!0},{signal:n,timeout:this.config.requestTimeoutMs}),r=null,l=null,c="",d=0,u=0;for await(let s of a)if(s.type==="message_start")d=s.message?.usage?.input_tokens??0;else if(s.type==="content_block_start")s.content_block?.type==="tool_use"&&(r=s.content_block.id??null,l=s.content_block.name??null,c="");else if(s.type==="content_block_delta")s.delta?.type==="text_delta"?yield{kind:"content_delta",textDelta:s.delta.text}:s.delta?.type==="input_json_delta"&&(c+=s.delta.partial_json??"",yield{kind:"tool_call_delta",textDelta:s.delta.partial_json});else if(s.type==="content_block_stop"){if(r!==null&&l!==null){let m={};try{m=JSON.parse(c||"{}")}catch{}yield{kind:"tool_call_delta",toolCall:{id:r,name:l,arguments:m}},r=null,l=null,c=""}}else s.type==="message_delta"&&(u=s.usage?.output_tokens??u,yield{kind:"message_done",stopReason:x(s.delta?.stop_reason),usage:{inputTokens:d,outputTokens:u,totalTokens:d+u}})}catch(a){yield{kind:"error",error:i(a)}}}async submitBatch(t,n){let o=t.items.map(a=>({custom_id:a.customId,params:p(this.config,a.options)}));try{let a=await this.client.beta.messages.batches.create({requests:o},{signal:n});return g(a)}catch(a){throw i(a)}}async getBatchJob(t,n){try{let o=await this.client.beta.messages.batches.retrieve(t,{signal:n});return g(o)}catch(o){throw i(o)}}async listBatchJobs(t,n){try{let o=await this.client.beta.messages.batches.list({limit:t?.limit,after_id:t?.after},{signal:n}),a=[];for(let r of o.data??[])a.push(g(r));return a}catch(o){throw i(o)}}async downloadBatchResults(t,n){try{let o=await this.client.beta.messages.batches.results(t.id,{signal:n}),a=[];for await(let r of o)r.result?.type==="succeeded"?a.push({customId:r.custom_id,result:k(r.result.message,this.modelId)}):a.push({customId:r.custom_id,error:r.result?.error?.message??"Unknown error"});return a}catch(o){throw i(o)}}async cancelBatchJob(t,n){try{await this.client.beta.messages.batches.cancel(t,{signal:n})}catch(o){throw i(o)}}async close(){}getRawClient(){return this.client}},A={provider:"anthropic",async createModel(e){let{default:t}=await import("./sdk-6IMATOQ3.js"),n={};e.apiKey!==void 0&&(n.apiKey=e.apiKey),e.baseUrl!==void 0&&(n.baseURL=e.baseUrl);let o=new t(n);return new h(o,e)}},p=(e,t)=>{let n={model:e.model,max_tokens:t.maxTokens??e.maxTokens,messages:R(t.messages)};return t.system!==void 0&&(n.system=t.system),t.temperature!==void 0&&(n.temperature=t.temperature),t.topP!==void 0&&(n.top_p=t.topP),t.stopWords!==void 0&&(n.stop_sequences=t.stopWords),t.tools!==void 0&&(n.tools=t.tools.map(o=>({name:o.name,description:o.description,input_schema:o.parameters??{type:"object",properties:{}}}))),t.toolChoice!==void 0&&(n.tool_choice={type:t.toolChoice}),t.thinkingBudget!==void 0&&(n.thinking={type:"enabled",budget_tokens:t.thinkingBudget}),n},R=e=>{let t=[];for(let n of e){if(n.role==="system")continue;let o=n.content.map(C);t.push({role:n.role==="tool"?"user":n.role,content:o})}return t},C=e=>{switch(e.kind){case"text":return{type:"text",text:e.text};case"image":{if(e.image.data!==void 0)return{type:"image",source:{type:"base64",media_type:e.image.mimeType??"image/png",data:w(e.image.data)}};if(e.image.url!==void 0){if(y(e.image.url)){let t=f(e.image.url);if(t!==null)return{type:"image",source:{type:"base64",media_type:t.mimeType,data:w(t.data)}}}return{type:"image",source:{type:"url",url:e.image.url}}}return{type:"text",text:"[unsupported image]"}}case"tool_call":return{type:"tool_use",id:e.toolCall.id,name:e.toolCall.name,input:e.toolCall.arguments};case"tool_result":return{type:"tool_result",tool_use_id:e.toolResult.toolCallId,content:e.toolResult.content,is_error:e.toolResult.isError};default:return{type:"text",text:`[unsupported content: ${e.kind}]`}}},k=(e,t)=>{let n=[];for(let o of e.content??[])o.type==="text"?n.push({kind:"text",text:o.text}):o.type==="thinking"?n.push({kind:"text",text:`[thinking] ${o.thinking}`}):o.type==="tool_use"&&n.push({kind:"tool_call",toolCall:{id:o.id,name:o.name,arguments:o.input??{}}});return{content:n,stopReason:x(e.stop_reason),usage:{inputTokens:e.usage?.input_tokens??0,outputTokens:e.usage?.output_tokens??0,totalTokens:(e.usage?.input_tokens??0)+(e.usage?.output_tokens??0)},modelId:t,rawResponse:e}},x=e=>e==="end_turn"?"end_turn":e==="max_tokens"?"max_tokens":e==="tool_use"?"tool_use":e==="stop_sequence"?"stop":"end_turn",g=e=>({id:e.id,status:B(e.processing_status),createdAt:new Date(e.created_at),completedAt:e.ended_at!==void 0?new Date(e.ended_at):void 0,totalCount:e.request_counts?.total??0,doneCount:e.request_counts?.succeeded??0,failedCount:e.request_counts?.errored??0}),B=e=>e==="in_progress"?"processing":e==="ended"?"completed":e==="canceling"||e==="canceled"?"cancelled":"pending",i=e=>{if(e instanceof _)return e;let t=e instanceof Error?e:new Error(String(e)),n=e?.status??e?.statusCode??500;return b("anthropic",n,t)},w=e=>{let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)};export{h as AnthropicModel,A as anthropicFactory};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as x}from"./chunk-U5SHLIO4.js";import"./chunk-RJX4ZXQ4.js";import{a as k,d as L}from"./chunk-VAP3TSYK.js";import{h}from"./chunk-HNAHPI6V.js";import{C as b,i as I,l as $,s as S}from"./chunk-EFG5UU32.js";import{C as _,d as R,f as y,h as O,i as u,k as f,m as A,q as D}from"./chunk-XXBSEOQR.js";import{c}from"./chunk-UT6ZCLRA.js";import{c as o,d as p,f as n,g as m,k as w,o as v,q as E,r as C}from"./chunk-2GF5IUQD.js";import{a as g,b as i}from"./chunk-2N4GTHXQ.js";import{i as P}from"./chunk-XNGHRJVK.js";import"./chunk-CKETVOVQ.js";import"./chunk-YSLRAWBK.js";import"./chunk-OTRBRRIO.js";var K=async N=>{let e=v({renderer:C.ansi(),sink:E.stdout()}),{root:r}=await _(),l=O(N);if(!l.ok)return e.writeln(n(l.error)),await e.close(),i({exitCode:1});let s;try{s=await y(r,l.spec)}catch(a){let t=a instanceof Error?a.message:String(a);return e.writeln(n(t)),await e.close(),i({exitCode:1})}let T=await A(r);if(s.spec!==null){let a=`${r}/${R.specDir(s.spec)}`;try{await P.fs.stat(a)}catch{return e.writeln(n(`Active spec '${s.spec}' directory not found.`)),e.writeln(p("Run `noskills reset` to return to idle.")),await e.close(),i({exitCode:1})}}let d=b(s);if(d.length>0&&(s.phase==="SPEC_PROPOSAL"||s.phase==="DISCOVERY_REFINEMENT")){e.writeln(n(`Cannot approve \u2014 ${d.length} pending delegation(s):`)),e.writeln("");for(let a of d)e.writeln(` ${a.questionId}: delegated to `,o(a.delegatedTo),p(` (pending since ${a.delegatedAt.slice(0,10)})`));return e.writeln(""),e.writeln(p("All delegations must be answered before approval.")),await e.close(),i({exitCode:1})}if(s.phase==="SPEC_PROPOSAL"){if(s.classification===null&&s.spec!==null){let V=(await D(r)).filter(F=>T?.concerns.includes(F.id)??!1);try{await x(r,s,V)}catch{}}let a=await h(r),t=$(s);t=S(t,"SPEC_PROPOSAL","SPEC_APPROVED",a),await u(r,t),t.spec!==null&&await f(r,t.spec,t),t.spec!==null&&(await k(r,t.spec,"approved"),await L(r,t.spec,"approved")),e.writeln(m("\u2714")," Spec approved. Phase: ",w("SPEC_APPROVED")),e.writeln("When ready, run ",o(`${c('next --answer="start"')}`)," to begin execution.")}else if(s.phase==="DISCOVERY_REFINEMENT"){let a=await h(r),t=I(s);t=S(t,"DISCOVERY_REFINEMENT","SPEC_PROPOSAL",a),await u(r,t),t.spec!==null&&await f(r,t.spec,t),e.writeln(m("\u2714")," Discovery answers approved. Phase: ",w("SPEC_PROPOSAL")),e.writeln("Review the spec and run ",o(c("approve"))," again to approve.")}else s.phase==="DISCOVERY"&&s.discovery.completed?(e.writeln(p("Discovery complete. Spec draft already generated.")),e.writeln("Review the spec and run ",o(c("approve"))," again when in SPEC_PROPOSAL phase.")):e.writeln(n(`Cannot approve in phase: ${s.phase}`));return await e.close(),g(void 0)};export{K as main};
|
package/chunks/ask-VGI3BFZW.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as Ee,b as Ie}from"./chunk-AGPCY6XP.js";import{a as te,b as C,c as M,d as G,f as L,g as Ae,h as be,j as ke,k as re,l as Pe,o as ne,p as Re,q as oe,r as _e}from"./chunk-2GF5IUQD.js";import{d as ie}from"./chunk-JVCVWI3B.js";import{a as Fe}from"./chunk-5MN3MWQN.js";import"./chunk-OLM5RTFK.js";import{a as Le,b as D}from"./chunk-2N4GTHXQ.js";import{i as T}from"./chunk-XNGHRJVK.js";import"./chunk-CKETVOVQ.js";import"./chunk-YSLRAWBK.js";import{d as ee}from"./chunk-OTRBRRIO.js";var Ne=e=>({rawMessage:e.rawMessage??e.message,args:e.args??[],datetime:e.datetime??new Date,properties:e.properties??{},context:e.context??{},...e});var d=e=>typeof e=="string"?e.split(".").filter(Boolean):e,V=(e,t=".")=>e.join(t),w=e=>e.join("\0");var Oe=(e,t)=>e.length<t.length?!1:t.every((r,n)=>e[n]===r);var De=(e,t)=>{let r=[];for(let n of t.values()){let i=d(n.category);Oe(e,i)&&r.push(n)}return r.sort((n,i)=>{let o=d(n.category).length;return d(i.category).length-o}),r};var j=(e,t)=>{let r=typeof t=="string"?[t]:t;return[...e,...r]};var K={};ee(K,{configure:()=>Tt,configureSync:()=>Ct,getEffectiveConfig:()=>ue,getFilterNames:()=>Rt,getLoggerCategories:()=>_t,getRegistryState:()=>St,getSinkNames:()=>Pt,isConfigured:()=>ht,registerFilter:()=>At,registerLogger:()=>kt,registerLoggerCacheClear:()=>le,registerSink:()=>wt,reset:()=>ze,resetSync:()=>Ke,unregisterFilter:()=>bt,unregisterSink:()=>Lt});var g={Trace:1,Debug:5,Info:9,Notice:10,Warning:13,Error:17,Critical:21,Alert:22,Emergency:23},Me={[g.Trace]:"Trace",[g.Debug]:"Debug",[g.Info]:"Info",[g.Notice]:"Notice",[g.Warning]:"Warning",[g.Error]:"Error",[g.Critical]:"Critical",[g.Alert]:"Alert",[g.Emergency]:"Emergency"};var $,z,pt=()=>{if($===void 0)try{let e=globalThis.AsyncLocalStorage??globalThis.require?.("async_hooks")?.AsyncLocalStorage;e&&($=new e)}catch{}return $},mt=()=>{if(z===void 0)try{let e=globalThis.AsyncLocalStorage??globalThis.require?.("async_hooks")?.AsyncLocalStorage;e&&(z=new e)}catch{}return z},Ge,Ve,R=e=>{Ge=e},se=e=>{Ve=e},ge=()=>{$=void 0,z=void 0},dt=()=>Ge??pt(),yt=()=>Ve??mt();var je=()=>{let e=dt();return e?e.getStore()??{}:{}};var xt=()=>{let e=yt();return e?e.getStore()??[]:[]},$e=e=>{let t=xt();return t.length===0?e:j(t,e)};var ce=null,le=e=>{ce=e},u=null,y=new Map,St=()=>u,ht=()=>u!==null,Tt=async e=>{(e.reset||u===null)&&await ze(),u={sinks:new Map(Object.entries(e.sinks)),filters:new Map(Object.entries(e.filters??{})),loggers:new Map,contextLocalStorage:e.contextLocalStorage};for(let t of e.loggers){let r=d(t.category),n=w(r);u.loggers.set(n,{...t,category:r})}e.contextLocalStorage&&R(e.contextLocalStorage),y.clear()},Ct=e=>{(e.reset||u===null)&&Ke(),u={sinks:new Map(Object.entries(e.sinks)),filters:new Map(Object.entries(e.filters??{})),loggers:new Map,contextLocalStorage:e.contextLocalStorage};for(let t of e.loggers){let r=d(t.category),n=w(r);u.loggers.set(n,{...t,category:r})}e.contextLocalStorage&&R(e.contextLocalStorage),y.clear()},ze=async()=>{if(u)for(let e of u.sinks.values()){let t=e;typeof t.dispose=="function"?await t.dispose():typeof t[Symbol.asyncDispose]=="function"&&await t[Symbol.asyncDispose]()}u=null,y.clear(),ce?.(),R(void 0),se(void 0),ge()},Ke=()=>{if(u)for(let e of u.sinks.values()){let t=e;typeof t.disposeSync=="function"?t.disposeSync():typeof t[Symbol.dispose]=="function"&&t[Symbol.dispose]()}u=null,y.clear(),ce?.(),R(void 0),se(void 0),ge()},ue=e=>{let t=w(e),r=y.get(t);if(r)return r;let n={sinks:[],filters:[],lowestLevel:g.Info};if(!u)return n;let i=De(e,u.loggers),o=new Set,a=new Set,l=!1;for(let s of i){if(s.sinks&&s.sinks.length>0){s.parentSinks==="override"&&o.clear();for(let c of s.sinks)o.add(c)}if(s.filters)for(let c of s.filters)a.add(c);!l&&s.lowestLevel!==void 0&&(n.lowestLevel=s.lowestLevel,l=!0)}for(let s of o){let c=u.sinks.get(s);c&&n.sinks.push(c)}for(let s of a){let c=u.filters.get(s);c&&n.filters.push(c)}return y.set(t,n),n},wt=(e,t)=>{if(!u)throw new Error("Logging not configured. Call configure() first.");u.sinks.set(e,t),y.clear()},Lt=e=>{u&&(u.sinks.delete(e),y.clear())},At=(e,t)=>{if(!u)throw new Error("Logging not configured. Call configure() first.");u.filters.set(e,t),y.clear()},bt=e=>{u&&(u.filters.delete(e),y.clear())},kt=e=>{if(!u)throw new Error("Logging not configured. Call configure() first.");let t=d(e.category),r=w(t);u.loggers.set(r,{...e,category:t}),y.clear()},Pt=()=>u?Array.from(u.sinks.keys()):[],Rt=()=>u?Array.from(u.filters.keys()):[],_t=()=>u?Array.from(u.loggers.values()).map(e=>d(e.category)):[];var W={};ee(W,{DEFAULT_LEVEL:()=>Ft,Logger:()=>_,clearLoggerCache:()=>We,current:()=>It,getLogger:()=>Et});var Ft=g.Info,_=class e{category;parent;#e;#t=null;constructor(t,r=null,n={}){this.category=d(t),this.parent=r,this.#e=n}#r(){return this.#t===null&&(this.#t=ue(this.category)),this.#t}getChild(t){let r=j(this.category,d(t));return new e(r,this,this.#e)}with(t){return new e(this.category,this.parent,{...this.#e,...t})}get loggerName(){return V(this.category)}asString(t,r=!1){return typeof t=="string"?r?`"${t}"`:t:t===null||typeof t=="number"||typeof t=="bigint"||typeof t=="boolean"||typeof t>"u"||typeof t=="symbol"?String(t):t instanceof Error?t.stack:t!==null&&typeof t=="object"?Array.isArray(t)?JSON.stringify(t):`{${Object.entries(t).map(([n,i])=>`"${n}":${this.asString(i,!0)}`).join(",")}}`:"undefined"}async log(t,r,...n){let i=this.#r();if(t<i.lowestLevel)return r instanceof Function?void 0:r;let o,a;r instanceof Function?(o=r(),a=this.asString(o)):a=this.asString(r);let l=je(),s=Ne({message:a,rawMessage:a,args:n,datetime:new Date,severity:t,category:this.category,properties:this.#e,context:l});for(let c of i.filters)if(!c(s))return r instanceof Function?o:r;return i.sinks.length>0&&await Promise.all(i.sinks.map(c=>c(s))),r instanceof Function?o:r}debug(t,...r){return this.log(g.Debug,t,...r)}info(t,...r){return this.log(g.Info,t,...r)}warn(t,...r){return this.log(g.Warning,t,...r)}error(t,...r){return this.log(g.Error,t,...r)}critical(t,...r){return this.log(g.Critical,t,...r)}emergency(t,...r){return this.log(g.Emergency,t,...r)}alert(t,...r){return this.log(g.Alert,t,...r)}notice(t,...r){return this.log(g.Notice,t,...r)}trace(t,...r){return this.log(g.Trace,t,...r)}},fe=new Map,Et=e=>{let t=$e(d(e)),r=w(t),n=fe.get(r);return n||(n=new _(t),fe.set(r,n)),n},We=()=>{fe.clear()};le(We);var It=new _(["default"]);var B={};ee(B,{fingersCrossedSink:()=>Kt,getBufferedSink:()=>zt,getOutputSink:()=>jt,getRecordCollectorSink:()=>Ue,getTestSink:()=>Wt,withFilter:()=>$t});var Nt={[g.Trace]:"TRCE",[g.Debug]:"DBUG",[g.Info]:"INFO",[g.Notice]:"NOTC",[g.Warning]:"WARN",[g.Error]:"ERRO",[g.Critical]:"CRIT",[g.Alert]:"ALRT",[g.Emergency]:"EMRG"};var Ot=(e,t)=>{if(t==="none")return"";if(typeof t=="function")return t(e);let r=e.toISOString(),n=r.slice(0,10),i=r.slice(11,19),o=r.slice(19);switch(t){case"rfc3339":return r;case"date-time-timezone":case void 0:return`${n} ${i}${o}`;case"date-time":return`${n} ${i}`;case"time-timezone":return`${i}${o}`;case"time":return i;case"date":return n}},Dt=e=>{try{return JSON.stringify(e)}catch{return String(e)}},Mt=(e,t)=>{let r={...t,...e},n=Object.entries(r);return n.length===0?"":" "+n.map(([i,o])=>{let a=typeof o=="string"?o:Dt(o);return`${i}=${a}`}).join(" ")};var Gt=(e,t)=>{switch(e){case g.Trace:return G(ke(t));case g.Debug:return Pe(t);case g.Info:return Ae(t);case g.Notice:return re(t);case g.Warning:return be(t);case g.Error:return L(t);case g.Critical:return M(L(t));case g.Alert:return M(L(t));case g.Emergency:return M(L(t));default:return C(t)}},Be=e=>{let t=Ot(e.datetime,"date-time-timezone"),r=Nt[e.severity]??"????",n=e.category.length>0?V(e.category):"",i=Mt(e.properties,e.context),o=[];return t&&o.push(G(t),C(" ")),o.push(Gt(e.severity,r),C(" ")),n&&o.push(re(`[${n}]`),C(" ")),e.severity>=g.Error?o.push(L(e.message)):o.push(C(e.message)),i.trim()&&o.push(C(" "),G(i.trim())),o};var jt=(e,t)=>{let r=t?.formatter??Be;return n=>{let i=r(n);e.writeln(...i)}},$t=(e,t)=>r=>{if(t(r))return e(r)},zt=(e,t={})=>{let{maxSize:r=100,flushIntervalMs:n=5e3}=t,i=[],o=null,a=async()=>{if(i.length===0)return;let c=i;i=[],o&&(clearTimeout(o),o=null),await Promise.all(c.map(p=>e(p)))},l=()=>{o===null&&(o=setTimeout(()=>{o=null,a().catch(()=>{})},n))},s=async c=>{i.push(c),i.length>=r?await a():l()};return s.flush=a,s},Kt=(e,t={})=>{let{triggerLevel:r=17,maxBufferSize:n=1e3}=t,i=[],o=!1,a=async()=>{let c=i;i=[],o=!0,await Promise.all(c.map(p=>e(p)))},l=()=>{i=[],o=!1},s=async c=>{if(o){await e(c);return}if(c.severity>=r){i.push(c),await a();return}i.push(c),i.length>n&&i.shift()};return s.flush=a,s.clear=l,s},Ue=()=>{let e=[];return{sink:r=>{e.push(r)},records:e}},Wt=Ue;var Ye=typeof globalThis=="object"?globalThis:global;var v="1.9.0";var Xe=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function Ut(e){var t=new Set([e]),r=new Set,n=e.match(Xe);if(!n)return function(){return!1};var i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null)return function(s){return s===e};function o(l){return r.add(l),!1}function a(l){return t.add(l),!0}return function(s){if(t.has(s))return!0;if(r.has(s))return!1;var c=s.match(Xe);if(!c)return o(s);var p={major:+c[1],minor:+c[2],patch:+c[3],prerelease:c[4]};return p.prerelease!=null||i.major!==p.major?o(s):i.major===0?i.minor===p.minor&&i.patch<=p.patch?a(s):o(s):i.minor<=p.minor?a(s):o(s)}}var qe=Ut(v);var Yt=v.split(".")[0],F=Symbol.for("opentelemetry.js.api."+Yt),E=Ye;function A(e,t,r,n){var i;n===void 0&&(n=!1);var o=E[F]=(i=E[F])!==null&&i!==void 0?i:{version:v};if(!n&&o[e]){var a=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(a.stack||a.message),!1}if(o.version!==v){var a=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+v);return r.error(a.stack||a.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+v+"."),!0}function S(e){var t,r,n=(t=E[F])===null||t===void 0?void 0:t.version;if(!(!n||!qe(n)))return(r=E[F])===null||r===void 0?void 0:r[e]}function b(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+v+".");var r=E[F];r&&delete r[e]}var Xt=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},qt=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},He=function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return I("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return I("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return I("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return I("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return I("verbose",this._namespace,t)},e}();function I(e,t,r){var n=S("diag");if(n)return r.unshift(t),n[e].apply(n,qt([],Xt(r),!1))}var m;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(m||(m={}));function Je(e,t){e<m.NONE?e=m.NONE:e>m.ALL&&(e=m.ALL),t=t||{};function r(n,i){var o=t[n];return typeof o=="function"&&e>=i?o.bind(t):function(){}}return{error:r("error",m.ERROR),warn:r("warn",m.WARN),info:r("info",m.INFO),debug:r("debug",m.DEBUG),verbose:r("verbose",m.VERBOSE)}}var Ht=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},Jt=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Qt="diag",k=function(){function e(){function t(i){return function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var l=S("diag");if(l)return l[i].apply(l,Jt([],Ht(o),!1))}}var r=this,n=function(i,o){var a,l,s;if(o===void 0&&(o={logLevel:m.INFO}),i===r){var c=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((a=c.stack)!==null&&a!==void 0?a:c.message),!1}typeof o=="number"&&(o={logLevel:o});var p=S("diag"),f=Je((l=o.logLevel)!==null&&l!==void 0?l:m.INFO,i);if(p&&!o.suppressOverrideMessage){var x=(s=new Error().stack)!==null&&s!==void 0?s:"<failed to generate stacktrace>";p.warn("Current logger will be overwritten from "+x),f.warn("Current logger will overwrite one already registered from "+x)}return A("diag",f,r,!0)};r.setLogger=n,r.disable=function(){b(Qt,r)},r.createComponentLogger=function(i){return new He(i)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e}();function Qe(e){return Symbol.for(e)}var Zt=function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,i){var o=new e(r._currentContext);return o._currentContext.set(n,i),o},r.deleteValue=function(n){var i=new e(r._currentContext);return i._currentContext.delete(n),i}}return e}(),Ze=new Zt;var er=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},tr=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},et=function(){function e(){}return e.prototype.active=function(){return Ze},e.prototype.with=function(t,r,n){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r.call.apply(r,tr([n],er(i),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}();var rr=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},nr=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},pe="context",or=new et,U=function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return A(pe,t,k.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var i,o=[],a=3;a<arguments.length;a++)o[a-3]=arguments[a];return(i=this._getContextManager()).with.apply(i,nr([t,r,n],rr(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return S(pe)||or},e.prototype.disable=function(){this._getContextManager().disable(),b(pe,k.instance())},e}();var Y;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(Y||(Y={}));var me="0000000000000000",de="00000000000000000000000000000000",tt={traceId:de,spanId:me,traceFlags:Y.NONE};var h=function(){function e(t){t===void 0&&(t=tt),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e}();var ye=Qe("OpenTelemetry Context Key SPAN");function X(e){return e.getValue(ye)||void 0}function rt(){return X(U.getInstance().active())}function N(e,t){return e.setValue(ye,t)}function nt(e){return e.deleteValue(ye)}function ot(e,t){return N(e,new h(t))}function q(e){var t;return(t=X(e))===null||t===void 0?void 0:t.spanContext()}var ir=/^([0-9a-f]{32})$/i,ar=/^[0-9a-f]{16}$/i;function sr(e){return ir.test(e)&&e!==de}function gr(e){return ar.test(e)&&e!==me}function H(e){return sr(e.traceId)&&gr(e.spanId)}function it(e){return new h(e)}var xe=U.getInstance(),J=function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=xe.active());var i=!!r?.root;if(i)return new h;var o=n&&q(n);return cr(o)&&H(o)?new h(o):new h},e.prototype.startActiveSpan=function(t,r,n,i){var o,a,l;if(!(arguments.length<2)){arguments.length===2?l=r:arguments.length===3?(o=r,l=n):(o=r,a=n,l=i);var s=a??xe.active(),c=this.startSpan(t,o,s),p=N(s,c);return xe.with(p,l,void 0,c)}},e}();function cr(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var lr=new J,at=function(){function e(t,r,n,i){this._provider=t,this.name=r,this.version=n,this.options=i}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,i){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):lr},e}();var st=function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new J},e}();var ur=new st,ve=function(){function e(){}return e.prototype.getTracer=function(t,r,n){var i;return(i=this.getDelegateTracer(t,r,n))!==null&&i!==void 0?i:new at(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:ur},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getTracer(t,r,n)},e}();var Se="trace",gt=function(){function e(){this._proxyTracerProvider=new ve,this.wrapSpanContext=it,this.isSpanContextValid=H,this.deleteSpan=nt,this.getSpan=X,this.getActiveSpan=rt,this.getSpanContext=q,this.setSpan=N,this.setSpanContext=ot}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=A(Se,this._proxyTracerProvider,k.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return S(Se)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){b(Se,k.instance()),this._proxyTracerProvider=new ve},e}();var he=gt.getInstance();var Yn=he.getTracer("@eser/logging");var Te=(e,t,r)=>{let n=e.streamText(t,r);return{name:`ai-text/${e.provider}/${e.modelId}`,readable:new ReadableStream({async start(i){try{for await(let o of n)o.kind==="content_delta"&&i.enqueue(te(o.textDelta));i.close()}catch(o){i.error(o)}}})}};var dr={cc:"claude-code",ol:"ollama",oc:"opencode",oai:"openai",ant:"anthropic",gem:"gemini",vtx:"vertexai"},yr={"claude-code":"Claude Code",ollama:"Ollama",opencode:"OpenCode",kiro:"Kiro",anthropic:"Anthropic API",openai:"OpenAI API",gemini:"Gemini API",vertexai:"Vertex AI"},xr=e=>dr[e]??e,vr=async e=>{if(e){let t=T.process.stderr.getWriter(),r=ne({renderer:_e.ansi(),sink:oe.writable(new WritableStream({async write(n){await t.write(new TextEncoder().encode(String(n.data)))},close(){t.releaseLock()}}))});await K.configure({sinks:{stderr:B.getOutputSink(r)},loggers:[{category:["ai"],lowestLevel:g.Debug,sinks:["stderr"]}]})}return W.getLogger(["ai","ask"])},Sr=async e=>{await e.info("Auto-detecting AI provider...");try{if(await ie`which claude`.noThrow().code()===0)return await e.info("Claude Code detected."),"claude-code"}catch{}try{if((await fetch("http://localhost:11434/api/version",{signal:AbortSignal.timeout(1e3)})).ok)return await e.info("Ollama detected at localhost:11434."),"ollama"}catch{}try{if(await ie`which opencode`.noThrow().code()===0)return await e.info("OpenCode detected."),"opencode"}catch{}if(T.capabilities.env){if(T.env.has("ANTHROPIC_API_KEY"))return await e.info("Anthropic API key detected."),"anthropic";if(T.env.has("OPENAI_API_KEY"))return await e.info("OpenAI API key detected."),"openai"}throw new Error("No AI provider detected. Install claude, ollama, or set ANTHROPIC_API_KEY / OPENAI_API_KEY.")},hr=async e=>{switch(e){case"claude-code":return(await import("./claude-code-BWCSAVK2.js")).claudeCodeFactory;case"ollama":return(await import("./ollama-LTZ43OHQ.js")).ollamaFactory;case"opencode":return(await import("./opencode-PZDL7VDP.js")).openCodeFactory;case"kiro":return(await import("./kiro-RGYUKJAX.js")).kiroFactory;case"anthropic":return(await import("./anthropic-LDUWIUPL.js")).anthropicFactory;case"openai":return(await import("./openai-QGEN33SU.js")).openaiFactory;case"gemini":return(await import("./gemini-YR5KT32S.js")).geminiFactory;case"vertexai":return(await import("./vertexai-RUXZ24C2.js")).vertexaiFactory;default:throw new Error(`Unknown provider: ${e}`)}},lo=async e=>{let t=e??[],r=null,n=null,i=null,o=!1,a=!1,l=[],s=0;for(;s<t.length;){let f=t[s];if(f==="-p"||f==="--provider"){r=t[s+1]??null,s+=2;continue}if(f==="-m"||f==="--model"){n=t[s+1]??null,s+=2;continue}if(f==="--max-tokens"){let x=t[s+1];x!==void 0&&(i=Number(x)),s+=2;continue}if(f==="--json"){o=!0,s+=1;continue}if(f==="-v"||f==="--verbose"){a=!0,s+=1;continue}f.startsWith("-")||l.push(f),s+=1}let c=l.join(" ");if(c.length===0)return D({message:'Usage: ai ask "your prompt" [-p provider] [-m model] [--verbose]',exitCode:1});let p=await vr(a);try{let f=r!==null?xr(r):await Sr(p),x=yr[f]??f,Ce=n??Lr(f);await p.info(`Using ${x} (${Ce})`);let lt=await hr(f),Q=new Ie({factories:[lt]});await Q.addModel("default",{provider:f,model:Ce});let Z=Q.getDefault();if(Z===null)return D({message:"Failed to initialize model",exitCode:1});let we=[Fe("user",c)];if(await p.info(`Sending prompt (${c.length} chars)...`),o){let O=await Z.generateText({messages:we,maxTokens:i??void 0});await p.info(`Response received (${Ee(O).length} chars)`);let P=ne({sink:oe.stdout()});P.writeln(JSON.stringify(O,null,2)),await P.close()}else{let O=Te(Z,{messages:we,maxTokens:i??void 0});await Re().from(O).to(wr()).run();let P=T.process.stdout.getWriter();await P.write(new TextEncoder().encode(`
|
|
2
|
-
`)),P.releaseLock()}return await Q.close(),Le(void 0)}catch(f){let x=f instanceof Error?f.message:String(f);return await p.error(x),a&&f instanceof Error&&f.cause!==void 0&&await p.debug(`Cause: ${String(f.cause)}`),D({message:x,exitCode:1})}},Tr=12,Cr=e=>new Promise(t=>setTimeout(t,e)),wr=(e=Tr)=>{let t=new TextEncoder;return{name:"typewriter",writable:new WritableStream({async write(r){let n=String(r.data),i=T.process.stdout.getWriter();for(let o of n)await i.write(t.encode(o)),await Cr(e);i.releaseLock()}})}},Lr=e=>{switch(e){case"claude-code":return"claude-sonnet-4-20250514";case"ollama":return"llama3";case"opencode":return"default";case"kiro":return"default";case"anthropic":return"claude-sonnet-4-20250514";case"openai":return"gpt-4o";case"gemini":return"gemini-2.0-flash";case"vertexai":return"gemini-2.0-flash";default:return"default"}};export{lo as main};
|
package/chunks/block-6L3XJKPC.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as $}from"./chunk-HNAHPI6V.js";import{n as A,s as R}from"./chunk-EFG5UU32.js";import{C as x,d as y,f as k,h as C,i as S,k as v}from"./chunk-XXBSEOQR.js";import{c as E}from"./chunk-UT6ZCLRA.js";import{c as d,d as c,f as o,h as f,o as w,q as h,r as g}from"./chunk-2GF5IUQD.js";import{a as m,b as n}from"./chunk-2N4GTHXQ.js";import{i as u}from"./chunk-XNGHRJVK.js";import"./chunk-CKETVOVQ.js";import"./chunk-YSLRAWBK.js";import"./chunk-OTRBRRIO.js";var q=async p=>{let e=w({renderer:g.ansi(),sink:h.stdout()}),{root:i}=await x(),a=C(p);if(!a.ok)return e.writeln(o(a.error)),await e.close(),n({exitCode:1});let l=(p??[]).filter(s=>!s.startsWith("--spec=")).join(" ")||"No reason given",t;try{t=await k(i,a.spec)}catch(s){let D=s instanceof Error?s.message:String(s);return e.writeln(o(D)),await e.close(),n({exitCode:1})}if(t.spec!==null){let s=`${i}/${y.specDir(t.spec)}`;try{await u.fs.stat(s)}catch{return e.writeln(o(`Active spec '${t.spec}' directory not found.`)),e.writeln(c("Run `noskills reset` to return to idle.")),await e.close(),n({exitCode:1})}}if(t.phase!=="EXECUTING")return e.writeln(o(`Cannot block in phase: ${t.phase}`)),await e.close(),n({exitCode:1});let b=await $(i),r=A(t,l);return r=R(r,"EXECUTING","BLOCKED",b,l),await S(i,r),r.spec!==null&&await v(i,r.spec,r),e.writeln(f("\u26A0")," Spec blocked: ",c(l)),e.writeln("Resolve with: ",d(`${E('next --answer="resolution"')}`)),await e.close(),m(void 0)};export{q as main};
|
package/chunks/bun-5VMFSLLY.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as m,b as h,c as g,d as S}from"./chunk-65A35QPF.js";import{s as l,t as p}from"./chunk-YSLRAWBK.js";import"./chunk-OTRBRRIO.js";var y={fs:!0,fsSync:!0,exec:!0,process:!0,env:!0,stdin:!0,stdout:!0,kv:!1},u=async i=>{if(!i)return new Uint8Array(0);let n=[],t=i.getReader();try{for(;;){let{done:e,value:s}=await t.read();if(e)break;n.push(s)}}finally{t.releaseLock()}let a=n.reduce((e,s)=>e+s.length,0),o=new Uint8Array(a),d=0;for(let e of n)o.set(e,d),d+=e.length;return o},P=async(i,n=[],t)=>{let[a,o,d]=l(t),e=Bun.spawn([i,...n],{cwd:t?.cwd,env:t?.env,stdin:a,stdout:o,stderr:d}),[s,r,c]=await Promise.all([e.exited,u(e.stdout),u(e.stderr)]);return{success:s===0,code:s,stdout:r,stderr:c}},b=(i,n=[],t)=>{let[a,o,d]=l(t),e=Bun.spawn([i,...n],{cwd:t?.cwd,env:t?.env,stdin:a,stdout:o,stderr:d}),s=e.exited.then(r=>({success:r===0,code:r,signal:void 0}));return{pid:e.pid,stdin:e.stdin,stdout:e.stdout,stderr:e.stderr,status:s,output:async()=>{let[r,c,w]=await Promise.all([s,u(e.stdout),u(e.stderr)]);return{success:r.success,code:r.code,stdout:c,stderr:w}},kill:r=>{e.kill(r)}}},A=()=>({name:"bun",version:Bun.version,capabilities:y,fs:m(),path:h(),exec:p(P,b),env:g(),process:S()});export{y as BUN_CAPABILITIES,A as createBunRuntime};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as P}from"./chunk-H77MLIL5.js";import{a as T,d as x}from"./chunk-VAP3TSYK.js";import{h as I}from"./chunk-HNAHPI6V.js";import{D as k,p as v,s as D}from"./chunk-EFG5UU32.js";import{C,d as h,f as S,h as g,i as E,k as y}from"./chunk-XXBSEOQR.js";import{d as m,f as i,g as d,o as u,q as f,r as w}from"./chunk-2GF5IUQD.js";import{a as p,b as n}from"./chunk-2N4GTHXQ.js";import{i as l}from"./chunk-XNGHRJVK.js";import"./chunk-CKETVOVQ.js";import"./chunk-YSLRAWBK.js";import"./chunk-OTRBRRIO.js";var Z=async L=>{let t=u({renderer:w.ansi(),sink:f.stdout()}),{root:r}=await C(),o=g(L);if(!o.ok)return t.writeln(i(o.error)),await t.close(),n({exitCode:1});let e;try{e=await S(r,o.spec)}catch(a){let A=a instanceof Error?a.message:String(a);return t.writeln(i(A)),await t.close(),n({exitCode:1})}if(e.phase==="IDLE"||e.phase==="UNINITIALIZED"||e.phase==="COMPLETED")return t.writeln(i(`Cannot cancel in phase: ${e.phase}`)),await t.close(),n({exitCode:1});if(e.spec!==null){let a=`${r}/${h.specDir(e.spec)}`;try{await l.fs.stat(a)}catch{return t.writeln(i(`Active spec '${e.spec}' directory not found.`)),t.writeln(m("Run `noskills reset` to return to idle.")),await t.close(),n({exitCode:1})}}let c=await I(r),s=v(e,"cancelled");s=D(s,e.phase,"COMPLETED",c,"cancelled"),s.spec!==null&&await y(r,s.spec,s);let U=k(s);return await E(r,U),s.spec!==null&&(await T(r,s.spec,"cancelled"),await x(r,s.spec,"cancelled")),await P(r,{ts:new Date().toISOString(),type:"phase-change",spec:e.spec??"unknown",user:c.name,from:e.phase,to:"COMPLETED",reason:"cancelled"}),t.writeln(d("\u2714")," Spec cancelled."),await t.close(),p(void 0)};export{Z as main};
|
package/chunks/chunk-2GF5IUQD.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import{i as v}from"./chunk-XNGHRJVK.js";import{d as G}from"./chunk-OTRBRRIO.js";var y=e=>e.map(n=>typeof n=="string"?X(n):n),X=e=>({kind:"text",value:e}),se=(...e)=>({kind:"bold",children:y(e)}),le=(...e)=>({kind:"dim",children:y(e)});var pe=(...e)=>({kind:"group",children:y(e)});var g=(e,...n)=>({kind:"color",color:e,children:y(n)}),ue=(...e)=>g("red",...e),de=(...e)=>g("green",...e),ce=(...e)=>g("yellow",...e),me=(...e)=>g("blue",...e),ye=(...e)=>g("magenta",...e),he=(...e)=>g("cyan",...e),fe=(...e)=>g("gray",...e);var ke=(e,n)=>({kind:"table",headers:y(e),rows:n.map(r=>y(r))});var Se=(e,...n)=>({kind:"alert",level:e,children:y(n)}),h=e=>{switch(e.kind){case"text":return e.value.length;case"newline":return 1;case"bold":case"dim":case"italic":case"underline":case"strikethrough":case"color":case"group":return e.children.reduce((n,r)=>n+h(r),0);case"code-block":return e.value.length;case"table":case"list":return 0;case"gauge":{let n=e.width??20,r=e.label?` ${e.label}`:"";return n+` ${e.percent}%`.length+r.length}case"separator":return 0;case"alert":return 2+e.children.reduce((n,r)=>n+h(r),0)}};var w=(e,n)=>{let r=typeof e=="string"?"text":e instanceof Uint8Array?"bytes":"structured";return{data:e,meta:{timestamp:Date.now(),kind:r,channel:"stdout",...n}}};var E=e=>{switch(e.kind){case"text":return e.value;case"newline":return`
|
|
2
|
-
`;case"bold":case"dim":case"italic":case"underline":case"strikethrough":case"color":case"group":return e.children.map(E).join("");case"code-block":return e.value.split(`
|
|
3
|
-
`).map(n=>` ${n}`).join(`
|
|
4
|
-
`)+`
|
|
5
|
-
`;case"table":{let n=e.headers.map((i,l)=>{let s=e.rows.reduce((T,u)=>{let m=u[l];return Math.max(T,m!==void 0?h(m):0)},0);return Math.max(h(i),s)}),r=(i,l)=>{let s=E(i),T=h(i);return s+" ".repeat(Math.max(0,l-T))},o=e.headers.map((i,l)=>r(i,n[l])).join(" "),t=n.map(i=>"-".repeat(i)).join(" "),d=e.rows.map(i=>i.map((l,s)=>r(l,n[s])).join(" ")).join(`
|
|
6
|
-
`);return`${o}
|
|
7
|
-
${t}
|
|
8
|
-
${d}
|
|
9
|
-
`}case"list":return e.items.map(n=>` - ${n.map(E).join("")}`).join(`
|
|
10
|
-
`)+`
|
|
11
|
-
`;case"gauge":{let n=e.width??20,r=Math.round(n*e.percent/100),o=n-r,t=`[${"=".repeat(r)}${" ".repeat(o)}]`,d=e.label?` ${e.label}`:"";return`${t} ${e.percent}%${d}`}case"separator":return e.label?`--- ${e.label} ---
|
|
12
|
-
`:`${"\u2500".repeat(40)}
|
|
13
|
-
`;case"alert":return`[${{info:"INFO",success:"OK",warning:"WARN",error:"ERROR"}[e.level]}] ${e.children.map(E).join("")}`}},j=()=>({name:"plain",render:e=>e.map(E).join("")});var I=()=>{let e=[];return{name:"buffer",writable:new WritableStream({write(n){e.push(n)}}),chunks:()=>e,items:()=>e.map(n=>n.data),clear:()=>{e.length=0}}};var ee=e=>{console.error(`[streams] Error at chunk #${e.chunkIndex} (${e.pendingCount} pending):`,e.error)},H=e=>{let n=[],r=e?.onError??ee,o=e?.renderer??j(),t=!1,d=0,i=!1,l,u=(()=>{let p=e?.sink??I(),S=e?.layers??[];if(S.length===0)return p.writable;let{readable:O,writable:V}=new TransformStream,M=O;for(let W of S)M=M.pipeThrough(W.transform());return M.pipeTo(p.writable).catch(W=>{r({error:W,chunkIndex:d,pendingCount:n.length,lastChunk:n[n.length-1]})}),V})().getWriter(),m=async()=>{for(t=!1;n.length>0;){let p=n.shift();try{await u.ready,await u.write(p),d++}catch(S){r({error:S,chunkIndex:d,pendingCount:n.length,lastChunk:p}),n.length=0;break}}l!==void 0&&(l(),l=void 0)},k=()=>{t||(t=!0,queueMicrotask(m))},$=p=>{i||(n.push(p),k())},P={write:(...p)=>{let S=y(p),O=o.render(S);$(w(O))},writeln:(...p)=>{let S=y(p),O=o.render(S)+`
|
|
14
|
-
`;$(w(O))},flush:()=>n.length===0&&!t?Promise.resolve():new Promise(p=>{l=p,k()}),close:async()=>{i=!0,await P.flush();try{await u.close()}catch{}},pipe:(...p)=>H({sink:e?.sink,renderer:e?.renderer,layers:[...e?.layers??[],...p],onError:r})};return P};var L=class extends Error{constructor(n){super(n),this.name="StreamError"}},b=class extends L{cause;constructor(n,r){super(n),this.name="PipelineError",this.cause=r}},x=class extends L{constructor(n){super(`Pipeline timed out after ${n}ms`),this.name="TimeoutError"}};var ne=()=>{let e,n=[],r,o={from:t=>(e=t,o),through:(...t)=>(n.push(...t),o),to:t=>(r=t,o),run:async t=>{if(e===void 0)throw new b("Pipeline has no source. Call .from() first.");if(r===void 0)throw new b("Pipeline has no sink. Call .to() first.");let d=e.readable;for(let s of n)d=d.pipeThrough(s.transform());let i=new AbortController,l;t?.timeout!==void 0&&t.timeout>0&&(l=setTimeout(()=>{i.abort(new x(t.timeout))},t.timeout));try{await d.pipeTo(r.writable,{signal:i.signal})}catch(s){throw s instanceof x?s:s instanceof DOMException&&s.name==="AbortError"?new x(t?.timeout??0):new b(`Pipeline failed: ${s instanceof Error?s.message:String(s)}`,s instanceof Error?s:void 0)}finally{l!==void 0&&clearTimeout(l)}},collect:async()=>{let t=I();return r=t,await o.run(),t.items()}};return o};var K={};G(K,{buffer:()=>I,multiplex:()=>F,nullSink:()=>_,stderr:()=>N,stdout:()=>U,writable:()=>z});var D,re=()=>(D===void 0&&(D=new TextEncoder),D),U=()=>{let e=v.process.stdout;return{name:"stdout",writable:new WritableStream({async write(n){let r=String(n.data),o=re().encode(r),t=e.getWriter();try{await t.write(o)}finally{t.releaseLock()}}})}};var B,te=()=>(B===void 0&&(B=new TextEncoder),B),N=()=>{let e=v.process.stderr;return{name:"stderr",writable:new WritableStream({async write(n){let r=String(n.data),o=te().encode(r),t=e.getWriter();try{await t.write(o)}finally{t.releaseLock()}}})}};var _=()=>({name:"null",writable:new WritableStream({write(e){}})});var z=(e,n)=>({name:n??"writable",writable:e});var F=(...e)=>{let n=e.map(r=>({name:r.name,writer:r.writable.getWriter()}));return{name:`multiplex(${e.map(r=>r.name).join(",")})`,writable:new WritableStream({async write(r){await Promise.all(n.map(o=>o.writer.write(r)))},async close(){await Promise.all(n.map(r=>r.writer.close()))},async abort(r){await Promise.all(n.map(o=>o.writer.abort(r)))}})}};var Q={};G(Q,{ansi:()=>Y,markdown:()=>J,plain:()=>j});var a="\x1B[",oe=`${a}0m`,c={bold:[`${a}1m`,`${a}22m`],dim:[`${a}2m`,`${a}22m`],italic:[`${a}3m`,`${a}23m`],underline:[`${a}4m`,`${a}24m`],strikethrough:[`${a}9m`,`${a}29m`]},R={black:`${a}30m`,red:`${a}31m`,green:`${a}32m`,yellow:`${a}33m`,blue:`${a}34m`,magenta:`${a}35m`,cyan:`${a}36m`,white:`${a}37m`,gray:`${a}90m`},q=`${a}39m`,C=e=>{switch(e.kind){case"text":return e.value;case"newline":return`
|
|
15
|
-
`;case"bold":case"dim":case"italic":case"underline":case"strikethrough":{let[n,r]=c[e.kind];return`${n}${e.children.map(C).join("")}${r}`}case"color":return`${R[e.color]??R.white}${e.children.map(C).join("")}${q}`;case"group":return e.children.map(C).join("");case"code-block":{let n=c.dim[0],r=c.dim[1];return e.value.split(`
|
|
16
|
-
`).map(o=>`${n} ${o}${r}`).join(`
|
|
17
|
-
`)+`
|
|
18
|
-
`}case"table":{let n=e.headers.map((u,m)=>{let k=e.rows.reduce(($,P)=>{let p=P[m];return Math.max($,p!==void 0?h(p):0)},0);return Math.max(h(u),k)}),r=c.bold[0],o=c.bold[1],t=c.dim[0],d=c.dim[1],i=(u,m)=>{let k=C(u),$=h(u);return k+" ".repeat(Math.max(0,m-$))},l=e.headers.map((u,m)=>`${r}${i(u,n[m])}${o}`).join(" "),s=`${t}${n.map(u=>"\u2500".repeat(u)).join("\u2500\u2500")}${d}`,T=e.rows.map(u=>u.map((m,k)=>i(m,n[k])).join(" ")).join(`
|
|
19
|
-
`);return`${l}
|
|
20
|
-
${s}
|
|
21
|
-
${T}
|
|
22
|
-
`}case"list":return e.items.map(n=>` \u2022 ${n.map(C).join("")}`).join(`
|
|
23
|
-
`)+`
|
|
24
|
-
`;case"gauge":{let n=e.width??20,r=Math.round(n*e.percent/100),o=n-r,t=`${R.green}${"\u2588".repeat(r)}${q}${c.dim[0]}${"\u2591".repeat(o)}${c.dim[1]}`,d=` ${e.percent}%`,i=e.label?`${c.dim[0]} ${e.label}${c.dim[1]}`:"";return`${t}${d}${i}`}case"separator":{let n=c.dim[0],r=c.dim[1];if(e.label){let o="\u2500".repeat(Math.max(0,33-e.label.length));return`${n}\u2500\u2500\u2500\u2500 ${e.label} ${o}${r}
|
|
25
|
-
`}return`${n}${"\u2500".repeat(40)}${r}
|
|
26
|
-
`}case"alert":{let n={info:"\u2139",success:"\u2713",warning:"\u25B2",error:"\u2717"},r={info:"cyan",success:"green",warning:"yellow",error:"red"},o=n[e.level];return`${R[r[e.level]]}${o}${q} ${e.children.map(C).join("")}`}}},Y=()=>({name:"ansi",render:e=>{let n=e.map(C).join("");return n.includes(a)?n+oe:n}});var f=e=>{switch(e.kind){case"text":return e.value;case"newline":return`
|
|
27
|
-
`;case"bold":return`**${e.children.map(f).join("")}**`;case"italic":return`*${e.children.map(f).join("")}*`;case"strikethrough":return`~~${e.children.map(f).join("")}~~`;case"dim":case"underline":case"color":case"group":return e.children.map(f).join("");case"code-block":return`\`\`\`${e.language??""}
|
|
28
|
-
${e.value}
|
|
29
|
-
\`\`\`
|
|
30
|
-
`;case"table":{let n=`| ${e.headers.map(f).join(" | ")} |`,r=`| ${e.headers.map(()=>"---").join(" | ")} |`,o=e.rows.map(t=>`| ${t.map(f).join(" | ")} |`).join(`
|
|
31
|
-
`);return`${n}
|
|
32
|
-
${r}
|
|
33
|
-
${o}
|
|
34
|
-
`}case"list":return e.items.map(n=>`- ${n.map(f).join("")}`).join(`
|
|
35
|
-
`)+`
|
|
36
|
-
`;case"gauge":{let n=e.label?` \u2014 ${e.label}`:"";return`**${e.percent}%**${n}`}case"separator":return e.label?`--- ${e.label} ---
|
|
37
|
-
`:`---
|
|
38
|
-
`;case"alert":{let n={info:"\u2139 Info",success:"\u2713 Success",warning:"\u26A0 Warning",error:"\u2717 Error"},r=e.children.map(f).join("");return`> **${n[e.level]}:** ${r}
|
|
39
|
-
`}}},J=()=>({name:"markdown",render:e=>e.map(f).join("")});export{w as a,X as b,se as c,le as d,pe as e,ue as f,de as g,ce as h,me as i,ye as j,he as k,fe as l,ke as m,Se as n,H as o,ne as p,K as q,Q as r};
|
package/chunks/chunk-2N4GTHXQ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t=r=>({_tag:"Ok",value:r,*[Symbol.iterator](){return yield this}}),E=r=>({_tag:"Fail",error:r,*[Symbol.iterator](){return yield this}}),o=r=>r._tag==="Ok";var n=(r,e)=>o(r)?e.ok(r.value):e.fail(r.error);export{t as a,E as b,n as c};
|
package/chunks/chunk-5CNPFLE6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i}from"./chunk-XNGHRJVK.js";var l=[{envVars:["CLAUDE_CODE","CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_SESSION_ID"],tool:"claude-code"},{envVars:["CURSOR_SESSION","CURSOR"],tool:"cursor"},{envVars:["KIRO_SESSION","KIRO"],tool:"kiro"},{envVars:["WINDSURF_SESSION"],tool:"windsurf"},{envVars:["GITHUB_COPILOT"],tool:"copilot"}],s=()=>{for(let e of l)for(let t of e.envVars){let n=i.env.get(t);if(n!==void 0&&n!=="")return e.tool}return null},o=()=>s()!==null?"agent":"human";var I=(e,t)=>{if(e!==void 0)for(let r of e){if(r==="--agent")return"agent";if(r==="--human")return"human"}let n=t?.agentMode;return n===!0?"agent":n===!1?"human":o()};var y=e=>e===void 0?[]:e.filter(t=>t!=="--agent"&&t!=="--human"&&t!=="--non-interactive");export{s as a,I as b,y as c};
|
package/chunks/chunk-5MN3MWQN.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c=(t,e)=>({role:t,content:[{kind:"text",text:e}]});var l="data:",i=";base64,",u=t=>t.startsWith(l),d=t=>{if(!t.startsWith(l))return null;let e=t.slice(l.length),o=e.indexOf(i);if(o===-1)return null;let s=e.slice(0,o),g=e.slice(o+i.length),r=atob(g),a=new Uint8Array(r.length);for(let n=0;n<r.length;n++)a[n]=r.charCodeAt(n);return{mimeType:s,data:a}},p={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",bmp:"image/bmp",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",m4a:"audio/mp4",webm:"audio/webm",pdf:"application/pdf",json:"application/json",txt:"text/plain"},m=t=>{let e=t.split("?")[0]??t,o=e.lastIndexOf(".");if(o===-1)return null;let s=e.slice(o+1).toLowerCase();return p[s]??null};export{c as a,u as b,d as c,m as d};
|
package/chunks/chunk-65A35QPF.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as v}from"./chunk-YSLRAWBK.js";import*as t from"node:fs/promises";import*as w from"node:fs";import*as i from"node:path";import*as F from"node:os";import n from"node:process";import{Readable as b,Writable as g}from"node:stream";var p=e=>({isFile:e.isFile(),isDirectory:e.isDirectory(),isSymlink:e.isSymbolicLink(),size:e.size,mtime:e.mtime,atime:e.atime,birthtime:e.birthtime}),l=(e,r)=>{throw e instanceof Error&&"code"in e&&e.code==="ENOENT"?new v(r):e},x=()=>({async readFile(e,r){try{let s=await t.readFile(e,{signal:r?.signal});return new Uint8Array(s)}catch(s){return l(s,e)}},async readTextFile(e,r){try{return await t.readFile(e,{encoding:"utf-8",signal:r?.signal})}catch(s){return l(s,e)}},async writeFile(e,r,s){let a=s?.append?"a":"w";await t.writeFile(e,r,{signal:s?.signal,mode:s?.mode,flag:a})},async writeTextFile(e,r,s){let a=s?.append?"a":"w";await t.writeFile(e,r,{encoding:"utf-8",signal:s?.signal,mode:s?.mode,flag:a})},async exists(e){try{return await t.access(e),!0}catch{return!1}},async stat(e){try{let r=await t.stat(e);return p(r)}catch(r){return l(r,e)}},async lstat(e){try{let r=await t.lstat(e);return p(r)}catch(r){return l(r,e)}},async mkdir(e,r){await t.mkdir(e,{recursive:r?.recursive??!1,mode:r?.mode})},async ensureDir(e){await t.mkdir(e,{recursive:!0})},async remove(e,r){try{await t.rm(e,{recursive:r?.recursive??!1,force:!1})}catch(s){l(s,e)}},async*readDir(e){try{let r=await t.readdir(e,{withFileTypes:!0});for(let s of r)yield{name:s.name,isFile:s.isFile(),isDirectory:s.isDirectory(),isSymlink:s.isSymbolicLink()}}catch(r){l(r,e)}},async copyFile(e,r){await t.copyFile(e,r)},async rename(e,r){await t.rename(e,r)},async makeTempDir(e){let r=e?.dir??F.tmpdir(),s=e?.prefix??"",a=e?.suffix??"",c=await t.mkdtemp(i.join(r,s));if(a){let m=c+a;return await t.rename(c,m),m}return c},async realPath(e){try{return await t.realpath(e)}catch(r){return l(r,e)}},watch(e,r){let s=r?.recursive??!0,a=[],c=[],m=[],u=!1,f=o=>{u||(m.length>0?m.shift()({value:o,done:!1}):c.push(o))};for(let o of e)try{let d=w.watch(o,{recursive:s},(y,P)=>{P!==null&&f({kind:y==="rename"?"create":"modify",paths:[i.join(o,P)]})});a.push(d)}catch{}return{close:()=>{u=!0;for(let o of a)o.close();for(let o of m)o({value:void 0,done:!0});m=[]},[Symbol.asyncIterator]:()=>({next:()=>u?Promise.resolve({value:void 0,done:!0}):c.length>0?Promise.resolve({value:c.shift(),done:!1}):new Promise(o=>{m.push(o)})})}},async chmod(e,r){await t.chmod(e,r)},async*walk(e,r){let s=r?.includeDirs??!0,a=r?.includeFiles??!0,c=r?.exts,m=r?.skip,u=async function*(f){let o=await t.readdir(f,{withFileTypes:!0});for(let d of o){let y=i.join(f,d.name);if(m?.some(h=>h.test(y)))continue;let P=d.isSymbolicLink();if(d.isDirectory())s&&(yield{path:y,name:d.name,isFile:!1,isDirectory:!0,isSymlink:P}),yield*u(y);else if(d.isFile()||P){if(!a||c&&!c.some(h=>d.name.endsWith(h.startsWith(".")?h:`.${h}`)))continue;yield{path:y,name:d.name,isFile:d.isFile(),isDirectory:!1,isSymlink:P}}}};yield*u(e)}}),W=()=>({join:i.join,resolve:i.resolve,dirname:i.dirname,basename:i.basename,extname:i.extname,normalize:i.normalize,isAbsolute:i.isAbsolute,relative:i.relative,parse:i.parse,format:i.format,sep:i.sep,delimiter:i.delimiter}),R=()=>({get(e){return n.env[e]},set(e,r){n.env[e]=r},delete(e){delete n.env[e]},has(e){return e in n.env},toObject(){let e={};for(let[r,s]of Object.entries(n.env))s!==void 0&&(e[r]=s);return e}}),T=()=>({exit(e){n.exit(e)},setExitCode(e){n.exitCode=e},cwd(){return n.cwd()},chdir(e){n.chdir(e)},hostname(){return F.hostname()},execPath(){return n.execPath},argv:n.argv,argv0:n.argv0,args:n.argv.slice(2),pid:n.pid,stdin:b.toWeb(n.stdin),stdout:g.toWeb(n.stdout),stderr:g.toWeb(n.stderr),isTerminal(e){switch(e){case"stdin":return n.stdin.isTTY===!0;case"stdout":return n.stdout.isTTY===!0;case"stderr":return n.stderr.isTTY===!0}},setStdinRaw(e){n.stdin.setRawMode(e)},writeToStdout(e){n.stdout.write(e)},consoleSize(){return{columns:n.stdout.columns??80,rows:n.stdout.rows??24}}});export{x as a,W as b,R as c,T as d};
|