eser 4.1.48 → 4.1.50
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/chunks/{anthropic-QBGNUIP3.js → anthropic-YMZNUQKZ.js} +1 -1
- package/chunks/approve-PXC7FMDI.js +2 -0
- package/chunks/{ask-M3VS3GIJ.js → ask-6DWHUCLO.js} +1 -1
- package/chunks/block-CSVO3R47.js +2 -0
- package/chunks/{build-DPBRNANI.js → build-S4DSRSSR.js} +1 -1
- package/chunks/cancel-AJOYWYV5.js +2 -0
- package/chunks/{changelog-gen-627BV77Z.js → changelog-gen-TE6FXELA.js} +1 -1
- package/chunks/{chunk-7NKYCWAA.js → chunk-2PWSTO7A.js} +1 -1
- package/chunks/{chunk-H6P3EACV.js → chunk-3CE7GA2P.js} +1 -1
- package/chunks/{chunk-FNPBHLLZ.js → chunk-3KGG2I2A.js} +1 -1
- package/chunks/{chunk-73IMECRI.js → chunk-3SBAWBWS.js} +1 -1
- package/chunks/chunk-4NNSMDFH.js +2 -0
- package/chunks/{chunk-R4GKIRAI.js → chunk-4QMRLILJ.js} +1 -1
- package/chunks/chunk-4TTJVJEI.js +2 -0
- package/chunks/{chunk-7KFSTOXR.js → chunk-4XXI5LYN.js} +1 -1
- package/chunks/{chunk-4LQG2WOJ.js → chunk-66VSO643.js} +1 -1
- package/chunks/chunk-67AFLWXV.js +4 -0
- package/chunks/{chunk-C7NZBKCW.js → chunk-72R6CKNY.js} +1 -1
- package/chunks/{chunk-TFRONHJA.js → chunk-AUDMKDAA.js} +1 -1
- package/chunks/{chunk-RHVDIXOM.js → chunk-BESTYZQY.js} +1 -1
- package/chunks/{chunk-2YTW3JQ6.js → chunk-BJ45FF6F.js} +1 -1
- package/chunks/{chunk-DM6U63HP.js → chunk-BNZPRQUS.js} +1 -1
- package/chunks/{chunk-KHBIOZJE.js → chunk-BVIGTD2Z.js} +1 -1
- package/chunks/{chunk-5JV6KQMP.js → chunk-CE6UVD6F.js} +1 -1
- package/chunks/{chunk-WI2RW3YL.js → chunk-DHNS2KLJ.js} +1 -1
- package/chunks/{chunk-WTMV5GTZ.js → chunk-DTDUHDLM.js} +1 -1
- package/chunks/{chunk-MTCPFQ5I.js → chunk-FVXGVHUR.js} +1 -1
- package/chunks/{chunk-3D5TBTM3.js → chunk-HTC2FO4I.js} +2 -2
- package/chunks/{chunk-J5HFD7AQ.js → chunk-HV3EYAGF.js} +1 -1
- package/chunks/{chunk-XUV7CW3L.js → chunk-IY3YRKJJ.js} +1 -1
- package/chunks/{chunk-O325ZU5M.js → chunk-JTSRGXS4.js} +1 -1
- package/chunks/{chunk-CVDLYIOW.js → chunk-KFSZ6MDH.js} +1 -1
- package/chunks/chunk-KNIM3QST.js +10 -0
- package/chunks/chunk-L32KHQVT.js +3 -0
- package/chunks/chunk-LS5MCZUM.js +2 -0
- package/chunks/{chunk-ATYDQCCJ.js → chunk-MGNBNMJZ.js} +1 -1
- package/chunks/chunk-MX5DKVDI.js +2 -0
- package/chunks/{chunk-JO4JKJ7R.js → chunk-N6PXARPJ.js} +1 -1
- package/chunks/{chunk-2LF7QSIN.js → chunk-NWWXAZFA.js} +8 -8
- package/chunks/{chunk-MW3RJU6I.js → chunk-OSNPAAYT.js} +1 -1
- package/chunks/{chunk-6BILFSH2.js → chunk-PBZV2KA3.js} +1 -1
- package/chunks/{chunk-YKEVDAWS.js → chunk-PG7KG7NX.js} +1 -1
- package/chunks/{chunk-UGYRUVUH.js → chunk-PY6ZNQ4B.js} +1 -1
- package/chunks/{chunk-PPSDIDOI.js → chunk-QHVTWYZJ.js} +1 -1
- package/chunks/chunk-QL5FA3P3.js +2 -0
- package/chunks/{chunk-ULIMXXRY.js → chunk-QRNSYEPI.js} +1 -1
- package/chunks/{chunk-N4NDBIQS.js → chunk-QXSFQQGJ.js} +1 -1
- package/chunks/{chunk-OLHBVIWG.js → chunk-TBRDRQQK.js} +1 -1
- package/chunks/{chunk-DLBRD3UT.js → chunk-TTLUVJIR.js} +1 -1
- package/chunks/chunk-UTWYRNI6.js +17 -0
- package/chunks/{chunk-JFKHBLJB.js → chunk-UYGKTA3C.js} +1 -1
- package/chunks/chunk-VKB3B2FE.js +4 -0
- package/chunks/{chunk-IIFFSCDJ.js → chunk-VXVW4UNH.js} +1 -1
- package/chunks/{chunk-TZDEJTLC.js → chunk-WJI2X6IA.js} +1 -1
- package/chunks/{chunk-LYPDFFKK.js → chunk-YCI2VITZ.js} +1 -1
- package/chunks/chunk-YXETE4S3.js +4 -0
- package/chunks/chunk-Z2RL2SFY.js +4 -0
- package/chunks/{chunk-R3UCRXDC.js → chunk-ZQ7KN4HT.js} +1 -1
- package/chunks/{claude-code-UJYCO6CN.js → claude-code-RN3Q2VCK.js} +1 -1
- package/chunks/commitmsg-BRWGZ26L.js +15 -0
- package/chunks/{concern-I6LCWEIC.js → concern-DXCLVP5Y.js} +1 -1
- package/chunks/config-O3OOS5BQ.js +2 -0
- package/chunks/{dev-JM7NU24M.js → dev-NJVFMPTE.js} +1 -1
- package/chunks/done-HGZT3ZOT.js +2 -0
- package/chunks/{file-tools-shared-YKDNDDHR.js → file-tools-shared-IIW7WSUM.js} +1 -1
- package/chunks/free-IPJPYOJS.js +2 -0
- package/chunks/{gh-DJ2YTDQX.js → gh-YLYXDL2X.js} +2 -2
- package/chunks/{gh-contributors-SXUFX3SO.js → gh-contributors-YFATSPSW.js} +1 -1
- package/chunks/{init-GBMYF3YG.js → init-BZ6B74SY.js} +1 -1
- package/chunks/{init-M3P2QCX2.js → init-X6KNS3NC.js} +1 -1
- package/chunks/invoke-hook-KLJOYZF5.js +12 -0
- package/chunks/{kiro-V6SMU4OL.js → kiro-JS5UVLRL.js} +1 -1
- package/chunks/{list-NX7RRO6R.js → list-COFD6OUQ.js} +1 -1
- package/chunks/{list-ZVCGDRUH.js → list-RI4IF5TD.js} +1 -1
- package/chunks/{main-JAGIKKVD.js → main-JZTE4B4L.js} +1 -1
- package/chunks/manager-FMP6PKIR.js +7 -0
- package/chunks/{mod-VZT7JWPZ.js → mod-64M47KGW.js} +1 -1
- package/chunks/{mod-NSL6IJRQ.js → mod-CTW3YE4Q.js} +1 -1
- package/chunks/{mod-7ICCX4OY.js → mod-D5IDWU35.js} +1 -1
- package/chunks/{mod-5NDTGNVM.js → mod-DESWHMN6.js} +1 -1
- package/chunks/{mod-QCXWBSGJ.js → mod-MC2WNSB2.js} +1 -1
- package/chunks/{mod-2WMXZZGJ.js → mod-TUZZQKGZ.js} +1 -1
- package/chunks/{mod-KPIOBBDD.js → mod-YNYASB66.js} +1 -1
- package/chunks/next-6K3PS64Z.js +9 -0
- package/chunks/{ollama-DFG5G467.js → ollama-PL4UHEF2.js} +1 -1
- package/chunks/{opencode-UA45VV3W.js → opencode-K4G7UMAE.js} +1 -1
- package/chunks/{pack-7TGKWDRO.js → pack-YQVWUWCL.js} +1 -1
- package/chunks/{purge-IKPQWHBC.js → purge-ZQ23VDGR.js} +1 -1
- package/chunks/{release-SEKFNXRA.js → release-XACZAR6J.js} +2 -2
- package/chunks/{release-notes-UUCPVHBQ.js → release-notes-W6MNV6OT.js} +1 -1
- package/chunks/{release-tag-F4B6ICW4.js → release-tag-HSZX6WYU.js} +1 -1
- package/chunks/reopen-Z3MPVAGR.js +2 -0
- package/chunks/reset-NWO3MNAG.js +2 -0
- package/chunks/{rule-PQ6WRV5W.js → rule-CH5GMFKE.js} +1 -1
- package/chunks/run-5YOXFMP2.js +4 -0
- package/chunks/{run-DAKF5SJN.js → run-IMXYUDHS.js} +1 -1
- package/chunks/{scripts-VRQQ24O3.js → scripts-XTXYY5MJ.js} +1 -1
- package/chunks/{sdk-L2SQCWYV.js → sdk-EJKXYVDC.js} +8 -8
- package/chunks/{serve-OGJIE344.js → serve-3PZ7RBQY.js} +1 -1
- package/chunks/session-22XFZLH2.js +2 -0
- package/chunks/spec-PWS2UYVL.js +2 -0
- package/chunks/status-G5D6BYFF.js +2 -0
- package/chunks/{sync-N5STAT6M.js → sync-URY32B7Y.js} +1 -1
- package/chunks/{system-6GEEPUXD.js → system-CP5L6XUP.js} +1 -1
- package/chunks/{system-3236RFTI.js → system-N5A3SM5G.js} +1 -1
- package/chunks/{validate-bom-ME2NQAP3.js → validate-bom-EH5Z5TVU.js} +1 -1
- package/chunks/{validate-case-conflict-QUNIB43P.js → validate-case-conflict-XN4KQDSK.js} +1 -1
- package/chunks/{validate-circular-deps-DLUCIW7T.js → validate-circular-deps-YZ4DIXIM.js} +1 -1
- package/chunks/{validate-commit-msg-SRLJRTKU.js → validate-commit-msg-MXTBUPTC.js} +1 -1
- package/chunks/{validate-docs-43LWHLVW.js → validate-docs-BE32R2UM.js} +1 -1
- package/chunks/{validate-filenames-WNLZI2S6.js → validate-eof-JPKT2D3D.js} +1 -1
- package/chunks/{validate-export-names-D5I5DZTN.js → validate-export-names-D3QNF6VB.js} +1 -1
- package/chunks/{validate-eof-RV3IK6ZM.js → validate-filenames-DMZ46CRH.js} +1 -1
- package/chunks/{validate-json-6KIMBNBJ.js → validate-json-KG3U4NLK.js} +1 -1
- package/chunks/validate-large-files-C2ILVCDB.js +2 -0
- package/chunks/validate-licenses-P24RTTYG.js +2 -0
- package/chunks/validate-line-endings-F65GG2PC.js +2 -0
- package/chunks/validate-merge-conflict-PVT6WR2W.js +2 -0
- package/chunks/{validate-mod-exports-VCV4VZ5F.js → validate-mod-exports-J6KLADGR.js} +1 -1
- package/chunks/{validate-package-configs-6PGL2YGD.js → validate-package-configs-BFCQMBEI.js} +1 -1
- package/chunks/validate-secrets-RBD2KJ3R.js +2 -0
- package/chunks/validate-shebangs-L5YR7AGC.js +2 -0
- package/chunks/validate-submodules-HD7CSBOG.js +2 -0
- package/chunks/validate-symlinks-RPSZMV5Y.js +2 -0
- package/chunks/{validate-toml-PV3G7EFD.js → validate-toml-OMUYIHX2.js} +1 -1
- package/chunks/validate-trailing-whitespace-BIG3YYFY.js +2 -0
- package/chunks/{validate-yaml-IOMFQTSQ.js → validate-yaml-VTE42YLF.js} +1 -1
- package/chunks/{versions-ROLQITT5.js → versions-GXSXTSSG.js} +1 -1
- package/chunks/{watch-4NXY7JEX.js → watch-EVUCQISN.js} +6 -6
- package/chunks/wontfix-4R2ESAR5.js +2 -0
- package/eser.js +1 -1
- package/package.json +1 -1
- package/chunks/approve-UWBYGXCF.js +0 -2
- package/chunks/block-W76WKMS3.js +0 -2
- package/chunks/cancel-46C7E5N7.js +0 -2
- package/chunks/chunk-2HSGE3TL.js +0 -2
- package/chunks/chunk-2TANTKYS.js +0 -4
- package/chunks/chunk-C2IORZTF.js +0 -4
- package/chunks/chunk-DPZJWN2Y.js +0 -2
- package/chunks/chunk-EQUPVWVY.js +0 -2
- package/chunks/chunk-GVTM4EOU.js +0 -4
- package/chunks/chunk-LJ7A5HYR.js +0 -2
- package/chunks/chunk-TMMAF763.js +0 -10
- package/chunks/chunk-WZHVKEPB.js +0 -17
- package/chunks/chunk-XOMPQOI6.js +0 -4
- package/chunks/chunk-YACXTCWF.js +0 -2
- package/chunks/commitmsg-57EMHAFY.js +0 -11
- package/chunks/done-A5VWIFOF.js +0 -2
- package/chunks/free-5NMWMMYS.js +0 -2
- package/chunks/invoke-hook-6BKTP2JY.js +0 -12
- package/chunks/manager-GN6J4AUV.js +0 -7
- package/chunks/next-TIUOHHFS.js +0 -9
- package/chunks/reopen-G4IUIH73.js +0 -2
- package/chunks/reset-BJZ263XC.js +0 -2
- package/chunks/run-Y4ESAQUK.js +0 -4
- package/chunks/session-CFDY73RJ.js +0 -2
- package/chunks/spec-CYRR2XUA.js +0 -2
- package/chunks/status-ZE2SA6FP.js +0 -2
- package/chunks/validate-large-files-UXP7AZCW.js +0 -2
- package/chunks/validate-licenses-BL6PNSBP.js +0 -2
- package/chunks/validate-line-endings-NYHXORRG.js +0 -2
- package/chunks/validate-merge-conflict-IWUP4ZMW.js +0 -2
- package/chunks/validate-secrets-JV4ZSOVR.js +0 -2
- package/chunks/validate-shebangs-YACNWUG7.js +0 -2
- package/chunks/validate-submodules-ZXID3VEK.js +0 -2
- package/chunks/validate-symlinks-QNMKPYUY.js +0 -2
- package/chunks/validate-trailing-whitespace-5Q5SEHOD.js +0 -2
- package/chunks/wontfix-YSXRDPKA.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a,b}from"./chunk-
|
|
2
|
+
import{a,b}from"./chunk-QHVTWYZJ.js";import"./chunk-BNQAZLIQ.js";import"./chunk-J7YTWK67.js";import"./chunk-5WJ6AUNY.js";export{a as AnthropicModel,b as anthropicFactory};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as T}from"./chunk-Z2RL2SFY.js";import"./chunk-IZUADMIU.js";import{a as V,d as k}from"./chunk-2PWSTO7A.js";import{h}from"./chunk-L32KHQVT.js";import{i as _,l as F,s as S}from"./chunk-QL5FA3P3.js";import{c as g,e as E,g as D,h as u,i as f,k as P,o as A}from"./chunk-KNIM3QST.js";import{c as o}from"./chunk-UEMWZOIU.js";import"./chunk-2XNFZXHY.js";import{f as y,h as C,k as R}from"./chunk-SHN5MT56.js";import{c as p,d,f as n,g as m,k as w}from"./chunk-YVN2NZL4.js";import{a as v,b as i}from"./chunk-FFWPJP7A.js";import{i as l}from"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var J=async x=>{let s=y({renderer:R.ansi(),sink:C.stdout()}),r=l.process.cwd(),c=D(x);if(!c.ok)return s.writeln(n(c.error)),await s.close(),i({exitCode:1});let t;try{t=await E(r,c.spec)}catch(a){let e=a instanceof Error?a.message:String(a);return s.writeln(n(e)),await s.close(),i({exitCode:1})}let I=await P(r);if(t.spec!==null){let a=`${r}/${g.specDir(t.spec)}`;try{await l.fs.stat(a)}catch{return s.writeln(n(`Active spec '${t.spec}' directory not found.`)),s.writeln(d("Run `noskills reset` to return to idle.")),await s.close(),i({exitCode:1})}}if(t.phase==="SPEC_DRAFT"){if(t.classification===null&&t.spec!==null){let O=(await A(r)).filter(U=>I?.concerns.includes(U.id)??!1);try{await T(r,t,O)}catch{}}let a=await h(r),e=F(t);e=S(e,"SPEC_DRAFT","SPEC_APPROVED",a),await u(r,e),e.spec!==null&&await f(r,e.spec,e),e.spec!==null&&(await V(r,e.spec,"approved"),await k(r,e.spec,"approved")),s.writeln(m("\u2714")," Spec approved. Phase: ",w("SPEC_APPROVED")),s.writeln("When ready, run ",p(`${o('next --answer="start"')}`)," to begin execution.")}else if(t.phase==="DISCOVERY_REVIEW"){let a=await h(r),e=_(t);e=S(e,"DISCOVERY_REVIEW","SPEC_DRAFT",a),await u(r,e),e.spec!==null&&await f(r,e.spec,e),s.writeln(m("\u2714")," Discovery answers approved. Phase: ",w("SPEC_DRAFT")),s.writeln("Review the spec and run ",p(o("approve"))," again to approve.")}else t.phase==="DISCOVERY"&&t.discovery.completed?(s.writeln(d("Discovery complete. Spec draft already generated.")),s.writeln("Review the spec and run ",p(o("approve"))," again when in SPEC_DRAFT phase.")):s.writeln(n(`Cannot approve in phase: ${t.phase}`));return await s.close(),v(void 0)};export{J as main};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as _,b as $}from"./chunk-GE3LJ6QM.js";import{a as F}from"./chunk-BNQAZLIQ.js";import{d as x,f as v,g as I,h as y,k as P}from"./chunk-SHN5MT56.js";import{d as O,e as L,g as R}from"./chunk-5DWJ7WEE.js";import{a as T}from"./chunk-7DPLGQHN.js";import"./chunk-YVN2NZL4.js";import"./chunk-J7YTWK67.js";import{d as S}from"./chunk-
|
|
2
|
+
import{a as _,b as $}from"./chunk-GE3LJ6QM.js";import{a as F}from"./chunk-BNQAZLIQ.js";import{d as x,f as v,g as I,h as y,k as P}from"./chunk-SHN5MT56.js";import{d as O,e as L,g as R}from"./chunk-5DWJ7WEE.js";import{a as T}from"./chunk-7DPLGQHN.js";import"./chunk-YVN2NZL4.js";import"./chunk-J7YTWK67.js";import{d as S}from"./chunk-VKB3B2FE.js";import{a as C,b as g}from"./chunk-FFWPJP7A.js";import{i as m}from"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var k=(e,t,n)=>{let i=e.streamText(t,n);return{name:`ai-text/${e.provider}/${e.modelId}`,readable:new ReadableStream({async start(o){try{for await(let s of i)s.kind==="content_delta"&&o.enqueue(x(s.textDelta));o.close()}catch(s){o.error(s)}}})}};var Y={cc:"claude-code",ol:"ollama",oc:"opencode",oai:"openai",ant:"anthropic",gem:"gemini",vtx:"vertexai"},q={"claude-code":"Claude Code",ollama:"Ollama",opencode:"OpenCode",kiro:"Kiro",anthropic:"Anthropic API",openai:"OpenAI API",gemini:"Gemini API",vertexai:"Vertex AI"},H=e=>Y[e]??e,K=async e=>{if(e){let t=m.process.stderr.getWriter(),n=v({renderer:P.ansi(),sink:y.writable(new WritableStream({async write(i){await t.write(new TextEncoder().encode(String(i.data)))},close(){t.releaseLock()}}))});await O.configure({sinks:{stderr:R.getOutputSink(n)},loggers:[{category:["ai"],lowestLevel:T.Debug,sinks:["stderr"]}]})}return L.getLogger(["ai","ask"])},M=async e=>{await e.info("Auto-detecting AI provider...");try{if(await S`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 S`which opencode`.noThrow().code()===0)return await e.info("OpenCode detected."),"opencode"}catch{}if(m.capabilities.env){if(m.env.has("ANTHROPIC_API_KEY"))return await e.info("Anthropic API key detected."),"anthropic";if(m.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.")},U=async e=>{switch(e){case"claude-code":return(await import("./claude-code-RN3Q2VCK.js")).claudeCodeFactory;case"ollama":return(await import("./ollama-PL4UHEF2.js")).ollamaFactory;case"opencode":return(await import("./opencode-K4G7UMAE.js")).openCodeFactory;case"kiro":return(await import("./kiro-JS5UVLRL.js")).kiroFactory;case"anthropic":return(await import("./anthropic-YMZNUQKZ.js")).anthropicFactory;case"openai":return(await import("./openai-2KONKHWL.js")).openaiFactory;case"gemini":return(await import("./gemini-43AWJEWI.js")).geminiFactory;case"vertexai":return(await import("./vertexai-2F2A3VTE.js")).vertexaiFactory;default:throw new Error(`Unknown provider: ${e}`)}},le=async e=>{let t=e??[],n=null,i=null,o=null,s=!1,p=!1,A=[],a=0;for(;a<t.length;){let r=t[a];if(r==="-p"||r==="--provider"){n=t[a+1]??null,a+=2;continue}if(r==="-m"||r==="--model"){i=t[a+1]??null,a+=2;continue}if(r==="--max-tokens"){let c=t[a+1];c!==void 0&&(o=Number(c)),a+=2;continue}if(r==="--json"){s=!0,a+=1;continue}if(r==="-v"||r==="--verbose"){p=!0,a+=1;continue}r.startsWith("-")||A.push(r),a+=1}let f=A.join(" ");if(f.length===0)return g({message:'Usage: ai ask "your prompt" [-p provider] [-m model] [--verbose]',exitCode:1});let d=await K(p);try{let r=n!==null?H(n):await M(d),c=q[r]??r,E=i??z(r);await d.info(`Using ${c} (${E})`);let N=await U(r),w=new _({factories:[N]});await w.addModel("default",{provider:r,model:E});let h=w.getDefault();if(h===null)return g({message:"Failed to initialize model",exitCode:1});let b=[F("user",f)];if(await d.info(`Sending prompt (${f.length} chars)...`),s){let u=await h.generateText({messages:b,maxTokens:o??void 0});await d.info(`Response received (${$(u).length} chars)`);let l=v({sink:y.stdout()});l.writeln(JSON.stringify(u,null,2)),await l.close()}else{let u=k(h,{messages:b,maxTokens:o??void 0});await I().from(u).to(V()).run();let l=m.process.stdout.getWriter();await l.write(new TextEncoder().encode(`
|
|
3
3
|
`)),l.releaseLock()}return await w.close(),C(void 0)}catch(r){let c=r instanceof Error?r.message:String(r);return await d.error(c),p&&r instanceof Error&&r.cause!==void 0&&await d.debug(`Cause: ${String(r.cause)}`),g({message:c,exitCode:1})}},j=12,G=e=>new Promise(t=>setTimeout(t,e)),V=(e=j)=>{let t=new TextEncoder;return{name:"typewriter",writable:new WritableStream({async write(n){let i=String(n.data),o=m.process.stdout.getWriter();for(let s of i)await o.write(t.encode(s)),await G(e);o.releaseLock()}})}},z=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{le as main};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{h as $}from"./chunk-L32KHQVT.js";import{n as v,s as A}from"./chunk-QL5FA3P3.js";import{c as y,e as k,g as C,h as S,i as x}from"./chunk-KNIM3QST.js";import{c as E}from"./chunk-UEMWZOIU.js";import"./chunk-2XNFZXHY.js";import{f as w,h,k as g}from"./chunk-SHN5MT56.js";import{c as u,d as p,f as a,h as f}from"./chunk-YVN2NZL4.js";import{a as d,b as n}from"./chunk-FFWPJP7A.js";import{i as l}from"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var q=async m=>{let e=w({renderer:g.ansi(),sink:h.stdout()}),i=l.process.cwd(),o=C(m);if(!o.ok)return e.writeln(a(o.error)),await e.close(),n({exitCode:1});let c=(m??[]).filter(t=>!t.startsWith("--spec=")).join(" ")||"No reason given",s;try{s=await k(i,o.spec)}catch(t){let R=t instanceof Error?t.message:String(t);return e.writeln(a(R)),await e.close(),n({exitCode:1})}if(s.spec!==null){let t=`${i}/${y.specDir(s.spec)}`;try{await l.fs.stat(t)}catch{return e.writeln(a(`Active spec '${s.spec}' directory not found.`)),e.writeln(p("Run `noskills reset` to return to idle.")),await e.close(),n({exitCode:1})}}if(s.phase!=="EXECUTING")return e.writeln(a(`Cannot block in phase: ${s.phase}`)),await e.close(),n({exitCode:1});let b=await $(i),r=v(s,c);return r=A(r,"EXECUTING","BLOCKED",b,c),await S(i,r),r.spec!==null&&await x(i,r.spec,r),e.writeln(f("\u26A0")," Spec blocked: ",p(c)),e.writeln("Resolve with: ",u(`${E('next --answer="resolution"')}`)),await e.close(),d(void 0)};export{q as main};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
2
|
import{f as d,h as g,k as m}from"./chunk-SHN5MT56.js";import{b as c,d as L,h as C,k as u}from"./chunk-YVN2NZL4.js";import"./chunk-PWLF3WXM.js";import{a as v}from"./chunk-RNFCAHVL.js";import"./chunk-MG65QJY6.js";import{a as y}from"./chunk-FFWPJP7A.js";import"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var V=["trace","debug","info","warn","error","fatal"],N=async x=>{let{flags:o}=v(x??[],[{name:"out-dir",type:"string",default:"dist",description:"Output directory"},{name:"clean",type:"boolean",description:"Clean output first"},{name:"no-minify",type:"boolean",description:"Disable minification"},{name:"analyze",type:"boolean",description:"Analyze bundle size"},{name:"log-level",type:"string",default:"info",description:"Log level"}]),t=d({renderer:m.ansi(),sink:g.stdout()});t.writeln(u(`
|
|
3
3
|
\u{1F4E6} Building for production...
|
|
4
|
-
`));let e=await import("./mod-5JT4O5L3.js"),{runtime:n}=await import("./mod-4XKQZL6W.js"),i=n.process.cwd(),p=o["out-dir"],S=!o["no-minify"],h=o.clean,k=o.analyze,f=o["log-level"]??"info",b=V.includes(f.toLowerCase())?f.toLowerCase():"info",z={trace:e.Severities.Trace,debug:e.Severities.Debug,info:e.Severities.Info,warn:e.Severities.Warning,error:e.Severities.Error,fatal:e.Severities.Critical},D=d({renderer:m.ansi(),sink:g.stdout()});await e.config.configure({sinks:{console:e.sinks.getOutputSink(D)},loggers:[{category:["laroux-bundler"],lowestLevel:z[b],sinks:["console"]}]});let[{build:A,createBuildContext:E},{loadConfig:O},{reactPlugin:B},{createTailwindPlugin:P}]=await Promise.all([import("./system-
|
|
4
|
+
`));let e=await import("./mod-5JT4O5L3.js"),{runtime:n}=await import("./mod-4XKQZL6W.js"),i=n.process.cwd(),p=o["out-dir"],S=!o["no-minify"],h=o.clean,k=o.analyze,f=o["log-level"]??"info",b=V.includes(f.toLowerCase())?f.toLowerCase():"info",z={trace:e.Severities.Trace,debug:e.Severities.Debug,info:e.Severities.Info,warn:e.Severities.Warning,error:e.Severities.Error,fatal:e.Severities.Critical},D=d({renderer:m.ansi(),sink:g.stdout()});await e.config.configure({sinks:{console:e.sinks.getOutputSink(D)},loggers:[{category:["laroux-bundler"],lowestLevel:z[b],sinks:["console"]}]});let[{build:A,createBuildContext:E},{loadConfig:O},{reactPlugin:B},{createTailwindPlugin:P}]=await Promise.all([import("./system-N5A3SM5G.js"),import("./load-config-JZNJVJXH.js"),import("./mod-CTW3YE4Q.js"),import("./mod-64M47KGW.js")]),T=e.logger.getLogger(["laroux-bundler","cli"]),s=await O(i),r={projectRoot:i,srcDir:n.path.resolve(i,s.srcDir),distDir:n.path.resolve(i,p),logLevel:b,fonts:s.fonts,images:s.images,cssModuleTypes:s.cssModuleTypes,noCssModuleAutoReference:s.noCssModuleAutoReference,browserShims:s.browserShims,serverExternals:s.build.serverExternals,build:{...s.build,minify:S}};if(h)try{await n.fs.remove(r.distDir,{recursive:!0}),T.debug(`Cleaned ${r.distDir}`)}catch{}let R=P({globalCssPath:n.path.resolve(i,"src/app/styles/global.css")}),j=E(r,{framework:B,css:R,bundlerBackend:"rolldown"});if(await A(j),await e.config.reset(),k){t.writeln(u(`
|
|
5
5
|
\u{1F4CA} Bundle Analysis:
|
|
6
6
|
`));try{let M=`${p}/client/manifest.json`,$=await n.fs.readTextFile(M),w=JSON.parse($);t.writeln(c("Chunks:"));for(let[a,l]of Object.entries(w.files)){let I=(l.size/1024).toFixed(2);t.writeln(c(` ${a.padEnd(30)} ${I.padStart(8)} KB`))}let F=Object.values(w.files).reduce((a,l)=>a+l.size,0);t.writeln(L(`
|
|
7
7
|
Total: ${(F/1024).toFixed(2)} KB`))}catch{t.writeln(C("Could not analyze build (manifest.json not found)"))}}return await t.close(),y(void 0)};export{N as main};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as I,d as x}from"./chunk-2PWSTO7A.js";import{h as D}from"./chunk-L32KHQVT.js";import{p as C,s as E,v as k}from"./chunk-QL5FA3P3.js";import{c as w,e as h,g as S,h as g,i as y}from"./chunk-KNIM3QST.js";import"./chunk-2XNFZXHY.js";import{f as d,h as u,k as f}from"./chunk-SHN5MT56.js";import{d as l,f as n,g as m}from"./chunk-YVN2NZL4.js";import{a as p,b as i}from"./chunk-FFWPJP7A.js";import{i as o}from"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var q=async T=>{let e=d({renderer:f.ansi(),sink:u.stdout()}),r=o.process.cwd(),c=S(T);if(!c.ok)return e.writeln(n(c.error)),await e.close(),i({exitCode:1});let s;try{s=await h(r,c.spec)}catch(a){let A=a instanceof Error?a.message:String(a);return e.writeln(n(A)),await e.close(),i({exitCode:1})}if(s.phase==="IDLE"||s.phase==="UNINITIALIZED"||s.phase==="COMPLETED")return e.writeln(n(`Cannot cancel in phase: ${s.phase}`)),await e.close(),i({exitCode:1});if(s.spec!==null){let a=`${r}/${w.specDir(s.spec)}`;try{await o.fs.stat(a)}catch{return e.writeln(n(`Active spec '${s.spec}' directory not found.`)),e.writeln(l("Run `noskills reset` to return to idle.")),await e.close(),i({exitCode:1})}}let U=await D(r),t=C(s,"cancelled");t=E(t,s.phase,"COMPLETED",U,"cancelled"),t.spec!==null&&await y(r,t.spec,t);let v=k(t);return await g(r,v),t.spec!==null&&(await I(r,t.spec,"cancelled"),await x(r,t.spec,"cancelled")),e.writeln(m("\u2714")," Spec cancelled."),await e.close(),p(void 0)};export{q as main};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as R,b as A}from"./chunk-
|
|
2
|
+
import{a as R,b as A}from"./chunk-FVXGVHUR.js";import{a as w}from"./chunk-KFSZ6MDH.js";import"./chunk-HTC2FO4I.js";import"./chunk-GTHXGAMQ.js";import"./chunk-3XJLLDR5.js";import"./chunk-P7WCO724.js";import"./chunk-2XNFZXHY.js";import{a as x}from"./chunk-LFNUSULJ.js";import{a as y,c as v}from"./chunk-JTSRGXS4.js";import{o as m}from"./chunk-4TTJVJEI.js";import"./chunk-VV47GXU5.js";import"./chunk-J2Z7NG2X.js";import"./chunk-YTF3BAQS.js";import"./chunk-S7S2I2K5.js";import"./chunk-NBA6EFWU.js";import{f as h}from"./chunk-P2MUEKFT.js";import"./chunk-SHN5MT56.js";import"./chunk-7DPLGQHN.js";import"./chunk-YVN2NZL4.js";import"./chunk-VKB3B2FE.js";import{a as C}from"./chunk-MG65QJY6.js";import{g as u}from"./chunk-FFWPJP7A.js";import"./chunk-2BOCLC67.js";import"./chunk-N7DXBY3O.js";import"./chunk-7ATUODBM.js";import"./chunk-AP72BKVG.js";import{j as p}from"./chunk-6DBKPC2O.js";import"./chunk-ALFFE37K.js";import"./chunk-6G6UVWJN.js";import"./chunk-5WJ6AUNY.js";var{ctx:f,output:q}=y(),$={feat:"Added",fix:"Fixed",refactor:"Changed",perf:"Changed",docs:"Changed",revert:"Removed"},E=new Set(["chore","ci","test"]),S=/^(\w+)(?:\(([^)]+)\))?!?:\s{1,5}(.+)$/,T=/\s{0,100}\(take\s{1,100}[IVXLCDM\d]+\)\s{0,100}\.?$/i,G=(t,o)=>{let n=t.match(S);if(n!==null)return{type:n[1].toLowerCase(),scope:n[2],message:n[3].trim(),hash:o}},O=t=>t.replace(T,"").trim(),N=t=>{let o=[];for(let n of t){let e=G(n.subject,n.hash);e!==void 0&&o.push(e)}return o},I=t=>{let o=new Set,n=[];for(let e of t){let s=O(e.message),a=s.replace(/[.\s]{1,20}$/,"").toLowerCase(),l=`${e.type}:${a}`;o.has(l)||(o.add(l),n.push({...e,message:s}))}return n},P=t=>{let o=new Map;for(let n of t){if(E.has(n.type))continue;let e=$[n.type];if(e===void 0)continue;let s=o.get(e);s!==void 0?s.push(n):o.set(e,[n])}return o},M=t=>t.scope!==void 0?`- **${t.scope}:** ${t.message}`:`- ${t.message}`,b=(t,o)=>{let n=P(o);if(n.size===0){let l=new Date().toISOString().split("T")[0];return`## ${t} - ${l}
|
|
3
3
|
|
|
4
4
|
_Maintenance release._`}let e=new Date().toISOString().split("T")[0],s=[`## ${t} - ${e}`],a=["Added","Changed","Fixed","Removed"];for(let l of a){let r=n.get(l);if(!(r===void 0||r.length===0)){s.push("",`### ${l}`,"");for(let d of r)s.push(M(d))}}return s.join(`
|
|
5
5
|
`)},k=(t,o,n)=>{let e=t.split(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{c as o}from"./chunk-
|
|
2
|
+
import{c as o}from"./chunk-KNIM3QST.js";import{i as e}from"./chunk-6DBKPC2O.js";var d=async(r,i,n)=>{let s=`${r}/${o.specFile(i)}`;try{let t=await e.fs.readTextFile(s);t=t.replace(/^## Status: .+$/m,`## Status: ${n}`),await e.fs.writeTextFile(s,t)}catch{}},u=async(r,i,n)=>{let s=`${r}/${o.specFile(i)}`;try{let t=await e.fs.readTextFile(s),a=new RegExp(`^(- )\\[ \\]( ${n}:.*)$`,"m");t=t.replace(a,"$1[x]$2"),await e.fs.writeTextFile(s,t)}catch{}},w=async(r,i,n,s)=>{let t=`${r}/${o.specDir(i)}/progress.json`;try{let a=await e.fs.readTextFile(t),c=JSON.parse(a);for(let p of c.tasks)p.id===n&&(p.status=s);c.updatedAt=new Date().toISOString(),await e.fs.writeTextFile(t,JSON.stringify(c,null,2)+`
|
|
3
3
|
`)}catch{}},f=async(r,i,n)=>{let s=`${r}/${o.specDir(i)}/progress.json`;try{let t=await e.fs.readTextFile(s),a=JSON.parse(t);a.status=n,a.updatedAt=new Date().toISOString(),await e.fs.writeTextFile(s,JSON.stringify(a,null,2)+`
|
|
4
4
|
`)}catch{}};export{d as a,u as b,w as c,f as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as E}from"./chunk-
|
|
2
|
+
import{a as E}from"./chunk-VXVW4UNH.js";import{a as y}from"./chunk-LFNUSULJ.js";import{b as C}from"./chunk-JTSRGXS4.js";import{f as v}from"./chunk-P2MUEKFT.js";import{b as i,f as m,g as x,h as k,i as g}from"./chunk-YVN2NZL4.js";import{g as p}from"./chunk-FFWPJP7A.js";import{j as h}from"./chunk-6DBKPC2O.js";var l=C(),d=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase(),f=(e,o=[])=>{let s=e.split("/").filter(r=>r.length>0);for(let r of s){let t=r.startsWith(".")?r.slice(1):r;if(t.length===0)continue;let a=h.runtime.path.extname(t);if(a.length>0&&(t=t.slice(0,-a.length)),t.length!==0&&!o.includes(t)&&!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(t))return!1}return!0},N=async(e={})=>{let{root:o=".",ignoreWords:s=[]}=e,r=await E(o),t=[];for(let a of r){let n=a.config.exports?.value;if(n!=null){if(typeof n=="string"){f(n,s)||t.push({packageName:a.name,exportPath:n,suggestion:d(n)});continue}if(n!==null&&typeof n=="object")for(let[u,c]of Object.entries(n))f(u,s)||t.push({packageName:a.name,exportPath:u,suggestion:d(u)}),typeof c=="string"&&!f(c,s)&&t.push({packageName:a.name,exportPath:c,suggestion:d(c)})}}return{isValid:t.length===0,violations:t,packagesChecked:r.length}},w=e=>v.fromPromise(()=>N(e)),b=e=>p.ok({root:"."}),A=e=>{if(p.isFail(e))return l.writeln(m("\u2717"),i(" "+String(e.error))),p.fail({exitCode:1});let{value:o}=e;if(l.writeln(g("\u2139"),i(` Checked ${o.packagesChecked} packages.`)),!o.isValid){l.writeln(m("\u2717"),i(` Found ${o.violations.length} naming violations:`));for(let s of o.violations)l.writeln(k("\u26A0"),i(" "+s.packageName)),l.writeln(g("\u2139"),i(` Export: ${s.exportPath}`)),l.writeln(g("\u2139"),i(` Suggestion: ${s.suggestion}`));return p.fail({exitCode:1})}return l.writeln(x("\u2713"),i(" All export names follow conventions.")),p.ok(void 0)},P=y.createTrigger({handler:w,adaptInput:b,adaptOutput:A}),W=async e=>await P({command:"validate-export-names",args:[],flags:{}});export{N as a,w as b,P as c,W as d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{c as u}from"./chunk-
|
|
2
|
+
import{c as u}from"./chunk-YXETE4S3.js";import{a as i,e as m}from"./chunk-J7YTWK67.js";var p="http://localhost:11434",d=class{capabilities=["text_generation","streaming","vision"];provider="ollama";modelId;baseUrl;config;constructor(e,o){this.baseUrl=e,this.config=o,this.modelId=o.model}async generateText(e,o){let s=g(this.config,e,!1);try{let t=await fetch(`${this.baseUrl}/api/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:o});if(!t.ok)throw await f(t);let r=await t.json();return h(r,this.modelId)}catch(t){throw t instanceof i?t:new i(t instanceof Error?t.message:String(t),{provider:"ollama",cause:t instanceof Error?t:void 0})}}async*streamText(e,o){let s=g(this.config,e,!0);try{let t=await fetch(`${this.baseUrl}/api/chat`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:o});if(!t.ok){yield{kind:"error",error:await f(t)};return}if(t.body===null){yield{kind:"error",error:new i("No response body",{provider:"ollama"})};return}for await(let r of u(t.body)){let l=k(r);l!==null&&(yield l)}}catch(t){t instanceof i?yield{kind:"error",error:t}:yield{kind:"error",error:new i(t instanceof Error?t.message:String(t),{provider:"ollama",cause:t instanceof Error?t:void 0})}}}close(){return Promise.resolve()}getRawClient(){return null}},v={provider:"ollama",createModel(n){let e=n.properties?.baseUrl??p;return Promise.resolve(new d(e,n))}},g=(n,e,o)=>{let s=y(e.messages,e.system),t={model:n.model,messages:s,stream:o},r={};return e.temperature!==void 0&&(r.temperature=e.temperature),e.maxTokens!==void 0&&(r.num_predict=e.maxTokens),e.topP!==void 0&&(r.top_p=e.topP),e.stopWords!==void 0&&(r.stop=e.stopWords),Object.keys(r).length>0&&(t.options=r),e.responseFormat!==void 0&&(e.responseFormat.type==="json_schema"?t.format=e.responseFormat.jsonSchema:e.responseFormat.type==="json_object"&&(t.format="json")),t},y=(n,e)=>{let o=[];e!==void 0&&o.push({role:"system",content:e});for(let s of n){if(s.role==="system"){let a=[];for(let c of s.content)c.kind==="text"&&a.push(c.text);o.push({role:"system",content:a.join(`
|
|
3
3
|
`)});continue}let t=[],r=[];for(let a of s.content)a.kind==="text"?t.push(a.text):a.kind==="image"&&a.image.url!==void 0&&r.push(a.image.url);let l={role:s.role==="tool"?"user":s.role,content:t.join(`
|
|
4
4
|
`)};r.length>0&&(l.images=r),o.push(l)}return o},h=(n,e)=>{let o=[];return n.message?.content!==void 0&&o.push({kind:"text",text:n.message.content}),{content:o,stopReason:n.done_reason==="length"?"max_tokens":"end_turn",usage:{inputTokens:n.prompt_eval_count??0,outputTokens:n.eval_count??0,totalTokens:(n.prompt_eval_count??0)+(n.eval_count??0)},modelId:e,rawResponse:n}},k=n=>{if(n===null||typeof n!="object")return null;let e=n;return e.done===!0?{kind:"message_done",stopReason:e.done_reason==="length"?"max_tokens":"end_turn",usage:{inputTokens:e.prompt_eval_count??0,outputTokens:e.eval_count??0,totalTokens:(e.prompt_eval_count??0)+(e.eval_count??0)}}:e.message?.content!==void 0&&e.message.content.length>0?{kind:"content_delta",textDelta:e.message.content}:e.response!==void 0&&e.response.length>0?{kind:"content_delta",textDelta:e.response}:null},f=async n=>{let e;try{e=(await n.json()).error??`Ollama HTTP ${n.status}`}catch{e=`Ollama HTTP ${n.status}: ${n.statusText}`}return m("ollama",n.status,new Error(e))};export{d as a,v as b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as w}from"./chunk-
|
|
2
|
+
import{b as w}from"./chunk-JTSRGXS4.js";import{b as r,f as n,g as h}from"./chunk-YVN2NZL4.js";import{a as y}from"./chunk-MG65QJY6.js";import{g as i}from"./chunk-FFWPJP7A.js";import{j as v}from"./chunk-6DBKPC2O.js";var m=w(),x=["ci","chore","docs","feat","fix","perf","refactor","revert","test"],C=/^(\w+)(?:\(([^)]+)\))?!?:\s{1,5}.+$/,M=(p,e={})=>{let o=e.allowAsterisk??!0,a=e.allowMultipleScopes??!0,c=e.forceScope??!1,f=new Set(e.types??x),s=[],l=p.split(`
|
|
3
3
|
`)[0]?.trim()??"";if(l==="")return{valid:!1,issues:["commit message is empty"]};if(l.startsWith("Merge "))return{valid:!0,issues:[]};let d=l.match(C);if(d===null)return s.push(`invalid format: expected "type(scope): message", got: "${l}"`),{valid:!1,issues:s};let g=d[1].toLowerCase(),t=d[2];return f.has(g)||s.push(`invalid type "${g}". Must be one of: ${[...f].join(", ")}`),c&&(t===void 0||t.trim()==="")&&s.push("scope is required: use type(scope): message"),t!==void 0&&t.trim()!==""&&(t==="*"&&!o&&s.push('wildcard scope "*" is not allowed (allowAsterisk is false)'),t.includes(",")&&(a?t.split(",").map(u=>u.trim()).filter(u=>u==="").length>0&&s.push("invalid scope: each comma-separated scope must be non-empty"):s.push("multiple scopes are not allowed (allowMultipleScopes is false)"))),{valid:s.length===0,issues:s}},_=async p=>{let e=y(p??[],{string:["message"],boolean:["help"],alias:{h:"help",m:"message"}});if(e.help)return console.log(`eser codebase validate-commit-msg \u2014 Validate conventional commit format
|
|
4
4
|
`),console.log("Usage:"),console.log(" eser codebase validate-commit-msg <commit-msg-file>"),console.log(" eser codebase validate-commit-msg --message 'feat(x): msg'"),i.ok(void 0);let o;if(e.message!==void 0)o=e.message;else if(e._.length>0)try{o=await v.runtime.fs.readTextFile(String(e._[0]))}catch{return m.writeln(n("\u2717"),r(` cannot read commit message file: ${e._[0]}`)),i.fail({exitCode:1})}else return m.writeln(n("\u2717"),r(" no commit message provided")),i.fail({exitCode:1});let a=M(o);if(a.valid)return m.writeln(h("\u2713"),r(" commit message is valid")),i.ok(void 0);for(let c of a.issues)m.writeln(n("\u2717"),r(" "+c));return i.fail({exitCode:1})};export{M as a,_ as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
var s={id:"open-source",name:"Open Source",description:"Community-driven, inclusive, well-documented. Prioritize contributor experience, avoid exclusionary patterns, default to permissive choices.",extras:[{questionId:"status_quo",text:"Is this workaround common in the community?"},{questionId:"user_impact",text:"Does this make contribution harder?"}],specSections:["Contributor Guide","Public API Surface"],reminders:["Endpoint should be documented in API docs","Consider contributor experience for new patterns","Default to permissive, well-documented choices","New features and API changes must be documented so contributors can discover and use them"],acceptanceCriteria:["Public API documented","Changes reflected in README or relevant docs","No exclusionary patterns introduced"]};var r={id:"beautiful-product",name:"Beautiful Product",description:"Design and UX are first-class. Agent critiques UI/UX like a passionate designer. Empty states, error states, loading states, mobile layout \u2014 nothing ships unspecified.",extras:[{questionId:"status_quo",text:"How painful is the current experience?"},{questionId:"status_quo",text:"What does the current UI look like? Rate it 0-10 on design intentionality."},{questionId:"ambition",text:"In the 10-star version, what does the user feel?"},{questionId:"ambition",text:"What would a 10/10 design look like for this feature? Describe the emotional response you want from users."},{questionId:"ambition",text:"What makes this UI NOT look AI-generated? Name specific design decisions that differentiate it from generic templates."},{questionId:"verification",text:"How will you verify design quality? Will you review empty states, loading states, error states, and edge cases (long text, zero results, slow connection)?"}],specSections:["Design States (empty, loading, error, success)","Mobile Layout","Interaction Design"],reminders:["Loading state and error state must be designed, not placeholder","No AI slop \u2014 every UI element is intentional","Empty states need clear CTAs with examples","Rate each UI change 0-10 on design intentionality before marking task complete. If below 7, iterate.","Check all interaction states: loading, empty, error, success, partial. Missing states are bugs, not TODOs.","Edge case check: what happens with 47-character names? Zero results? Network failure mid-action?","AI SLOP BLACKLIST \u2014 reject these patterns in any UI implementation: (1) Purple/violet gradient backgrounds (2) 3-column feature grid with icon-in-circle + bold title + 2-line description (3) Icons in colored circles as decoration (4) Everything centered (text-align: center on all elements) (5) Uniform bubbly border-radius on every element (6) Decorative blobs, floating circles, wavy SVG dividers (7) Emoji as design elements in headings or bullets (8) Colored left-border on cards (9) Generic hero copy ('Welcome to X', 'Unlock the power of...') (10) Cookie-cutter section rhythm (hero \u2192 3 features \u2192 testimonials \u2192 pricing). If the implementation matches any of these patterns, reject it and ask for a redesign with specific, intentional alternatives."],acceptanceCriteria:["All UI states designed (empty, loading, error, success)","Mobile layout considered","No placeholder or skeleton UI left unfinished","All UI states specified and implemented: loading, empty, error, success, partial","No placeholder text in shipped UI \u2014 every empty state has warmth, a primary action, and context","Design rated 7+ on intentionality by the spec author"]};var a={id:"long-lived",name:"Long-Lived",description:"Built to last. Stability, maintainability, and backward compatibility matter. Every shortcut needs justification. Favor boring technology.",extras:[{questionId:"reversibility",text:"Will this decision still be correct in 2 years?"},{questionId:"verification",text:"Is documentation (README, CHANGELOG, API docs) up to date with this change?"},{questionId:"scope_boundary",text:"What technical debt would this introduce?"}],specSections:["Migration & Deprecation","Backward Compatibility"],reminders:["Favor boring technology over shiny new tools","Every shortcut needs explicit justification","Consider maintenance burden for new dependencies","If this task changes public behavior, API, CLI flags, or configuration \u2014 update README and relevant docs in the SAME task. Documentation is not a follow-up."],acceptanceCriteria:["Backward compatibility preserved","Migration path documented if breaking","No unnecessary new dependencies","Documentation updated for any public-facing change"]};var c={id:"move-fast",name:"Move Fast",description:"Optimize for shipping speed. Acceptable trade-offs on polish. Good enough is good enough. Reduce ceremony.",extras:[{questionId:"scope_boundary",text:"Which polish items can be deferred to v2?"},{questionId:"ambition",text:"What is the minimum viable 5-star version?"}],specSections:["v1 vs v2 Scope"],reminders:["Good enough is good enough \u2014 ship it","Reduce ceremony, optimize for feedback speed","Mark polish items for v2 explicitly"],acceptanceCriteria:["Core functionality works","v2 items explicitly deferred"]};var d={id:"compliance",name:"Compliance",description:"Audit trails, access controls, data handling rules. Every change is traceable. Verification is mandatory, not optional.",extras:[{questionId:"reversibility",text:"Is the audit trail preserved on rollback?"},{questionId:"verification",text:"Is there an audit/traceability requirement?"}],specSections:["Audit Trail","Access Control","Data Handling"],reminders:["Every state change must be traceable","Verification is mandatory, not optional","Document data handling and retention policies"],acceptanceCriteria:["Audit trail added for state changes","Access control verified","Data handling documented"]};var l={id:"learning-project",name:"Learning Project",description:"Experimentation is the goal. Encourage trying new patterns, don't punish dead ends. Document learnings over polish.",extras:[{questionId:"ambition",text:"What do you want to learn from building this?"},{questionId:"scope_boundary",text:"What experiments are explicitly allowed?"}],specSections:["Learning Goals","Experiment Log"],reminders:["Document learnings, not just outcomes","Dead ends are acceptable \u2014 document why","Try new patterns freely, polish later"],acceptanceCriteria:["Learnings documented","Experiment outcomes recorded"]};var u=[s,r,a,c,d,l];var N=()=>Promise.resolve(u),T=(n,t)=>{let e=[];for(let i of n)for(let o of i.extras)o.questionId===t&&e.push(o);return e},W=n=>{let t=[];for(let e of n)for(let i of e.reminders)t.push(`${e.id}: ${i}`);return t},M=n=>{let t=[],e=n.map(i=>i.id);return e.includes("move-fast")&&e.includes("compliance")&&t.push({between:["move-fast","compliance"],issue:"Speed vs traceability \u2014 shortcuts may violate audit requirements."}),e.includes("move-fast")&&e.includes("long-lived")&&t.push({between:["move-fast","long-lived"],issue:"Shipping speed vs maintainability \u2014 tech debt decisions need human approval."}),e.includes("beautiful-product")&&e.includes("move-fast")&&t.push({between:["beautiful-product","move-fast"],issue:"Design polish vs speed \u2014 which UI states can be deferred?"}),t};export{u as a,N as b,T as c,W as d,M as e};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as n}from"./chunk-
|
|
2
|
+
import{a as n}from"./chunk-MGNBNMJZ.js";var e=n({name:"validate-case-conflict",description:"Detect filenames that differ only by case",canFix:!1,stacks:[],defaults:{},checkAll(r){let o=new Map,s=[];for(let t of r){let a=t.path.toLowerCase(),i=o.get(a);i!==void 0?s.push({path:t.path,message:`case conflict with "${i}"`}):o.set(a,t.path)}return s}}),f=e.run,m=e.validator,d=e.main;export{e as a,f as b,m as c,d};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{f as ge,h as ne,k as ie}from"./chunk-SHN5MT56.js";import{b as l,c as Le,d,e as U,f as R,g,h as B,i as Be,k,l as _,n as ye,o as V}from"./chunk-YVN2NZL4.js";import{i as x}from"./chunk-6DBKPC2O.js";import{d as D}from"./chunk-5WJ6AUNY.js";var h=Symbol("tui.cancel"),We=e=>e===h,Me={ctrlC:"exit",escape:"cancel"},je=()=>{try{return x.process.stdin}catch{return new ReadableStream}},ze=e=>{let t=e?.interaction??(e?.target==="non-interactive"?"non-interactive":"interactive"),r=e?.audience??"human",s=t==="non-interactive"?"non-interactive":"interactive",n=t==="interactive";return{output:e?.output??ge({renderer:n?ie.ansi():ie.plain(),sink:n?ne.stdout():ne.stderr()}),input:e?.input??je(),target:s,interaction:t,audience:r,signals:{...Me,...e?.signals},stderr:e?.stderr??ge({renderer:ie.plain(),sink:ne.stderr()})}};var Ie={};D(Ie,{disableMouse:()=>Ye,enableMouse:()=>Xe,isSGRMouseSequence:()=>xe,parseMouseEvent:()=>be});var Xe=()=>"\x1B[?1000h\x1B[?1002h\x1B[?1006h",Ye=()=>"\x1B[?1006l\x1B[?1002l\x1B[?1000l",Je=/^\x1b\[<(\d+);(\d+);(\d+)([Mm])$/,be=e=>{let t=e.match(Je);if(t===null)return null;let r=parseInt(t[1],10),s=parseInt(t[2],10)-1,n=parseInt(t[3],10)-1,i=t[4]==="m",o=r&3,a=(r&4)!==0,p=(r&16)!==0,c=(r&32)!==0;return(r&64)!==0?{type:"wheel",button:0,x:s,y:n,shift:a,ctrl:p,direction:r&1?"down":"up"}:c?{type:"mousemove",button:o,x:s,y:n,shift:a,ctrl:p}:{type:i?"mouseup":"mousedown",button:o,x:s,y:n,shift:a,ctrl:p}},xe=e=>e.length>=4&&e[0]===27&&e[1]===91&&e[2]===60;var E=async e=>{let t=!1;if(x.capabilities.stdin&&x.process.isTerminal("stdin"))try{x.process.setStdinRaw(!0),t=!0}catch{}try{return await e()}finally{if(t)try{x.process.setStdinRaw(!1)}catch{}}},P=e=>{e.write(l("\x1B[?25l"))},A=e=>{e.write(l("\x1B[?25h"))},f=(e,t)=>{t>0&&e.write(l(`\x1B[${t}A\x1B[J`))},oe=e=>{e.write(l("\r\x1B[2K"))},Ne=e=>{let t=new Uint8Array(e);if(e.length===1&&e[0]===3)return{name:"c",ctrl:!0,meta:!1,shift:!1,raw:t};if(e.length===1&&e[0]===27)return{name:"escape",ctrl:!1,meta:!1,shift:!1,raw:t};if(e.length===1&&(e[0]===13||e[0]===10))return{name:"return",ctrl:!1,meta:!1,shift:!1,raw:t};if(e.length===1&&e[0]===9)return{name:"tab",ctrl:!1,meta:!1,shift:!1,raw:t};if(e.length===1&&e[0]===127)return{name:"backspace",ctrl:!1,meta:!1,shift:!1,raw:t};if(e.length>=3&&e[0]===27&&e[1]===91)switch(e[2]){case 65:return{name:"up",ctrl:!1,meta:!1,shift:!1,raw:t};case 66:return{name:"down",ctrl:!1,meta:!1,shift:!1,raw:t};case 67:return{name:"right",ctrl:!1,meta:!1,shift:!1,raw:t};case 68:return{name:"left",ctrl:!1,meta:!1,shift:!1,raw:t};case 72:return{name:"home",ctrl:!1,meta:!1,shift:!1,raw:t};case 70:return{name:"end",ctrl:!1,meta:!1,shift:!1,raw:t}}if(e.length===1&&e[0]>=1&&e[0]<=26)return{name:String.fromCharCode(e[0]+96),ctrl:!0,meta:!1,shift:!1,raw:t};if(e.length===1&&e[0]===32)return{name:"space",char:" ",ctrl:!1,meta:!1,shift:!1,raw:t};if(e.length===1&&e[0]>=33&&e[0]<=126){let r=String.fromCharCode(e[0]);return{name:r,char:r,ctrl:!1,meta:!1,shift:!1,raw:t}}if(e.length>0&&e[0]>=192){let r=new TextDecoder().decode(e);return{name:r,char:r,ctrl:!1,meta:!1,shift:!1,raw:t}}return{name:"unknown",ctrl:!1,meta:!1,shift:!1,raw:t}};async function*L(e,t){let r=e.getReader();try{for(;!t?.aborted;){let{done:s,value:n}=await r.read();if(s||n===void 0)break;yield Ne(n)}}finally{r.releaseLock()}}async function*Ze(e,t){let r=e.getReader(),s=new TextDecoder;try{for(;!t?.aborted;){let{done:n,value:i}=await r.read();if(n||i===void 0)break;if(xe(i)){let o=s.decode(i),a=be(o);if(a!==null){yield{kind:"mouse",event:a};continue}}yield{kind:"key",event:Ne(i)}}}finally{r.releaseLock()}}var w=(e,t)=>{if(e==="exit"){A(t.output);try{x.process.setStdinRaw(!1)}catch{}x.process.exit(130)}return e==="cancel"?"cancel":"continue"};var y="\u2502",De="\u250C",C="\u2514";var F="\u25CF",q="\u25CB",_e="\u25FC",Ge="\u25FB",M="\u25C6",v="\u25C7",O="\u25A0",$e="\u25CF";var G="\u25B2";var Ue="\u25C7";var ae=(e,t,r,s)=>{if(s==="done"){let o=r?"Yes":"No";return e.output.writeln(g(v),l(` ${t}`),d(` \xB7 ${o}`)),1}if(s==="cancel")return e.output.writeln(R(O),l(` ${t}`)),1;let n=r?U(g(F),l(" Yes")):U(d(q),d(" Yes")),i=r?U(d(q),d(" No")):U(g(F),l(" No"));return e.output.writeln(k(M),l(` ${t}`)),e.output.writeln(d(y),l(" "),n,d(" / "),i),e.output.writeln(d(C)),3},Qe=async(e,t)=>{let r=t.initialValue??!0,s=0;P(e.output);try{return await E(async()=>{s=ae(e,t.message,r,"active"),await e.output.flush();let n=()=>{f(e.output,s),ae(e,t.message,r,"cancel")};for await(let i of L(e.input)){if(i.name==="c"&&i.ctrl){if(w(e.signals.ctrlC,e)==="cancel")return n(),await e.output.flush(),h;continue}if(i.name==="escape"){if(w(e.signals.escape,e)==="cancel")return n(),await e.output.flush(),h;continue}if(i.name==="return")return f(e.output,s),ae(e,t.message,r,"done"),await e.output.flush(),r;let o=!1;(i.name==="left"||i.name==="right")&&(r=!r,o=!0),(i.name==="y"||i.name==="Y")&&(r=!0,o=!0),(i.name==="n"||i.name==="N")&&(r=!1,o=!0),o&&(f(e.output,s),s=ae(e,t.message,r,"active"),await e.output.flush())}return h})}finally{A(e.output),await e.output.flush()}};var W=(e,t,r,s,n,i)=>{if(i==="done")return e.output.writeln(g(v),l(` ${t}`),d(` \xB7 ${r}`)),1;if(i==="cancel")return e.output.writeln(R(O),l(` ${t}`)),1;let o=r.length>0?l(r):s!==void 0?d(s):l(""),a=n!==void 0?B(G):k(M);e.output.writeln(a,l(` ${t}`)),e.output.writeln(d(y),l(" "),o);let p=2;return n!==void 0?(e.output.writeln(d(C),l(" "),B(n)),p=3):(e.output.writeln(d(C)),p=3),p},et=async(e,t)=>{let r=t.initialValue??"",s=r.length,n,i=0;P(e.output);try{return await E(async()=>{i=W(e,t.message,r,t.placeholder,n,"active"),await e.output.flush();let o=()=>{f(e.output,i),W(e,t.message,r,t.placeholder,void 0,"cancel")};for await(let a of L(e.input)){if(a.name==="c"&&a.ctrl){if(w(e.signals.ctrlC,e)==="cancel")return o(),await e.output.flush(),h;continue}if(a.name==="escape"){if(w(e.signals.escape,e)==="cancel")return o(),await e.output.flush(),h;continue}if(a.name==="return"){if(t.validate!==void 0){let p=t.validate(r);if(p!==void 0){n=p,f(e.output,i),i=W(e,t.message,r,t.placeholder,n,"active"),await e.output.flush();continue}}return f(e.output,i),W(e,t.message,r,t.placeholder,void 0,"done"),await e.output.flush(),r}if(n=void 0,a.name==="backspace")s>0&&(r=r.slice(0,s-1)+r.slice(s),s--);else if(a.name==="left")s>0&&s--;else if(a.name==="right")s<r.length&&s++;else if(a.name==="home")s=0;else if(a.name==="end")s=r.length;else if(a.char!==void 0)r=r.slice(0,s)+a.char+r.slice(s),s++;else continue;f(e.output,i),i=W(e,t.message,r,t.placeholder,n,"active"),await e.output.flush()}return h})}finally{A(e.output),await e.output.flush()}};var le=(e,t,r,s,n)=>{if(n==="done"){let i=r[s];return e.output.writeln(g(v),l(` ${t}`),d(` \xB7 ${i?.label??""}`)),1}if(n==="cancel")return e.output.writeln(R(O),l(` ${t}`)),1;e.output.writeln(k(M),l(` ${t}`));for(let i=0;i<r.length;i++){let o=r[i],a=i===s,p=o.disabled===!0,c=a?g(F):d(q),u=p?d(` ${o.label}`):a?l(` ${o.label}`):d(` ${o.label}`),m=o.hint!==void 0?d(` (${o.hint})`):l("");e.output.writeln(d(y),l(" "),c,u,m)}return e.output.writeln(d(C)),r.length+2},we=(e,t,r)=>{let s=e.length,n=t;for(let i=0;i<s;i++)if(n=(n+r+s)%s,e[n]?.disabled!==!0)return n;return t},tt=async(e,t)=>{let r=0;if(t.initialValue!==void 0){let n=t.options.findIndex(i=>i.value===t.initialValue);n>=0&&(r=n)}t.options[r]?.disabled===!0&&(r=we(t.options,r,1));let s=0;P(e.output);try{return await E(async()=>{s=le(e,t.message,t.options,r,"active"),await e.output.flush();let n=()=>{f(e.output,s),le(e,t.message,t.options,r,"cancel")};for await(let i of L(e.input)){if(i.name==="c"&&i.ctrl){if(w(e.signals.ctrlC,e)==="cancel")return n(),await e.output.flush(),h;continue}if(i.name==="escape"){if(w(e.signals.escape,e)==="cancel")return n(),await e.output.flush(),h;continue}if(i.name==="return")return f(e.output,s),le(e,t.message,t.options,r,"done"),await e.output.flush(),t.options[r].value;let o=!1;(i.name==="up"||i.name==="k")&&(r=we(t.options,r,-1),o=!0),(i.name==="down"||i.name==="j")&&(r=we(t.options,r,1),o=!0),o&&(f(e.output,s),s=le(e,t.message,t.options,r,"active"),await e.output.flush())}return h})}finally{A(e.output),await e.output.flush()}};var j=(e,t,r,s,n,i,o)=>{if(o==="done"){let c=[...n].sort((u,m)=>u-m).map(u=>r[u]?.label??"").join(", ");return e.output.writeln(g(v),l(` ${t}`),d(` \xB7 ${c}`)),1}if(o==="cancel")return e.output.writeln(R(O),l(` ${t}`)),1;let a=i!==void 0?B(G):k(M);e.output.writeln(a,l(` ${t}`));for(let c=0;c<r.length;c++){let u=r[c],m=c===s,b=n.has(c),S=u.disabled===!0,se=b?g(_e):d(Ge),$=S?d(` ${u.label}`):m?l(` ${u.label}`):d(` ${u.label}`),he=u.hint!==void 0?d(` (${u.hint})`):l("");e.output.writeln(d(y),l(" "),se,$,he)}let p=r.length+2;return i!==void 0?e.output.writeln(d(C),l(" "),B(i)):e.output.writeln(d(C)),p},Ce=(e,t,r)=>{let s=e.length,n=t;for(let i=0;i<s;i++)if(n=(n+r+s)%s,e[n]?.disabled!==!0)return n;return t},rt=async(e,t)=>{let r=0,s=new Set;if(t.initialValues!==void 0)for(let o of t.initialValues){let a=t.options.findIndex(p=>p.value===o);a>=0&&s.add(a)}t.options[r]?.disabled===!0&&(r=Ce(t.options,r,1));let n=0,i;P(e.output);try{return await E(async()=>{n=j(e,t.message,t.options,r,s,i,"active"),await e.output.flush();let o=()=>{f(e.output,n),j(e,t.message,t.options,r,s,void 0,"cancel")};for await(let a of L(e.input)){if(a.name==="c"&&a.ctrl){if(w(e.signals.ctrlC,e)==="cancel")return o(),await e.output.flush(),h;continue}if(a.name==="escape"){if(w(e.signals.escape,e)==="cancel")return o(),await e.output.flush(),h;continue}if(a.name==="return"){if(t.required!==!1&&s.size===0){i="Please select at least one option.",f(e.output,n),n=j(e,t.message,t.options,r,s,i,"active"),await e.output.flush();continue}return f(e.output,n),j(e,t.message,t.options,r,s,void 0,"done"),await e.output.flush(),[...s].sort((c,u)=>c-u).map(c=>t.options[c].value)}i=void 0;let p=!1;if((a.name==="up"||a.name==="k")&&(r=Ce(t.options,r,-1),p=!0),(a.name==="down"||a.name==="j")&&(r=Ce(t.options,r,1),p=!0),a.name==="space"&&t.options[r]?.disabled!==!0&&(s.has(r)?s.delete(r):s.add(r),p=!0),a.name==="a"){let c=t.options.every((u,m)=>u.disabled===!0||s.has(m));for(let u=0;u<t.options.length;u++)t.options[u]?.disabled!==!0&&(c?s.delete(u):s.add(u));p=!0}p&&(f(e.output,n),n=j(e,t.message,t.options,r,s,i,"active"),await e.output.flush())}return h})}finally{A(e.output),await e.output.flush()}};var st=(e,t)=>{e.output.writeln(_(De),l(" "),Le(t)),e.output.writeln(_(y))},nt=(e,t)=>{e.output.writeln(_(y)),e.output.writeln(_(C),l(" "),l(t))},it=e=>{e.output.writeln(l(""))},ot=(e,t)=>{e.output.writeln(l(" "),d(t))},at=e=>{e.output.writeln(_(y))},lt={info:(e,t)=>{e.output.writeln(V("info",t))},success:(e,t)=>{e.output.writeln(V("success",t))},warn:(e,t)=>{e.output.writeln(V("warning",t))},error:(e,t)=>{e.output.writeln(V("error",t))},step:(e,t)=>{e.output.writeln(d(Ue),l(" "),d(t))},message:(e,t,r)=>{e.output.writeln(d(r??y),l(" "),l(t))}};var ut=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],ct=80,pt=(e,t,r)=>{let s=r?.frames??ut,n=r?.interval??ct,i=t,o=0,a,p=()=>{e.output.write(l(`\r${" ".repeat(i.length+4)}\r`))},c=()=>{a!==void 0&&(clearInterval(a),a=void 0,p())};return{start:u=>{u!==void 0&&(i=u),a=setInterval(()=>{let m=s[o%s.length];e.output.write(l("\r"),k(m??""),l(` ${i}`)),o++},n)},stop:u=>{c(),u!==void 0&&(i=u)},update:u=>{i=u},succeed:u=>{c(),e.output.writeln(g(v),l(` ${u??i}`))},fail:u=>{c(),e.output.writeln(R(O),l(` ${u??i}`))},warn:u=>{c(),e.output.writeln(B(G),l(` ${u??i}`))},info:u=>{c(),e.output.writeln(Be($e),l(` ${u??i}`))}}};var dt=(e,t)=>{let r=0,s=t.label??"",n=!1,i=()=>{let o=t.total>0?Math.round(r/t.total*100):0;oe(e.output),e.output.write(d(y),l(" "),ye(o,{width:t.width??20,label:s}))};return{start:o=>{o!==void 0&&(s=o),n=!0,e.output.writeln(d(v),l(` ${s}`)),i()},advance:(o,a)=>{n&&(r=Math.min(r+o,t.total),a!==void 0&&(s=a),i())},stop:o=>{n&&(n=!1,r=t.total,o!==void 0&&(s=o),oe(e.output),e.output.writeln(d(y),l(" "),ye(100,{width:t.width??20,label:s})))}}};var Ve={};D(Ve,{clearScreenSeq:()=>gt,enterAlternateScreen:()=>mt,exitAlternateScreen:()=>ht,getTerminalSize:()=>bt,hideCursorSeq:()=>ft,showCursorSeq:()=>yt});var mt=()=>"\x1B[?1049h",ht=()=>"\x1B[?1049l",ft=()=>"\x1B[?25l",yt=()=>"\x1B[?25h",gt=()=>"\x1B[2J\x1B[H",bt=()=>{try{let{columns:e,rows:t}=x.process.consoleSize();return{cols:e,rows:t}}catch{return{cols:80,rows:24}}};var de={};D(de,{bgBlue:()=>vt,bgGreen:()=>Ct,bold:()=>xt,cyan:()=>Se,dim:()=>ue,green:()=>ce,inverse:()=>Re,moveTo:()=>T,red:()=>Te,reset:()=>pe,stripAnsi:()=>ke,truncate:()=>X,visibleLength:()=>z,white:()=>wt,yellow:()=>ve});var T=(e,t)=>`\x1B[${e};${t}H`,xt=e=>`\x1B[1m${e}\x1B[22m`,ue=e=>`\x1B[2m${e}\x1B[22m`,ce=e=>`\x1B[32m${e}\x1B[39m`,ve=e=>`\x1B[33m${e}\x1B[39m`,Te=e=>`\x1B[31m${e}\x1B[39m`,Se=e=>`\x1B[36m${e}\x1B[39m`,wt=e=>`\x1B[37m${e}\x1B[39m`,Ct=e=>`\x1B[42m${e}\x1B[49m`,vt=e=>`\x1B[44m${e}\x1B[49m`,Re=e=>`\x1B[7m${e}\x1B[27m`,pe=()=>"\x1B[0m",Tt=/\x1b\[[0-9;]*[a-zA-Z]/g,ke=e=>e.replace(Tt,""),z=e=>ke(e).length,X=(e,t)=>{if(ke(e).length<=t)return e;let s=0,n=0,i=e;for(;n<i.length&&s<t-1;){if(i[n]==="\x1B"){let o=i.indexOf("m",n);if(o!==-1){n=o+1;continue}}s++,n++}return i.slice(0,n)+"\u2026"+pe()};var Ke={};D(Ke,{calculateLayout:()=>St});var St=(e,t,r)=>{let s=r.leftWidth<=1?Math.floor(e*r.leftWidth):Math.min(Math.floor(r.leftWidth),e),n=e-s,i=t-1,o=r.rightTopHeight<=1?Math.floor(i*r.rightTopHeight):Math.min(Math.floor(r.rightTopHeight),i),a=i-o;return{left:{id:"left",x:1,y:1,width:s,height:i},rightTop:{id:"rightTop",x:s+1,y:1,width:n,height:o},rightBottom:{id:"rightBottom",x:s+1,y:o+1,width:n,height:a},statusBar:{id:"statusBar",x:1,y:t,width:e,height:1}}};var He={};D(He,{nextSelectableIndex:()=>kt,renderList:()=>At});var Rt=(e,t)=>{switch(t){case"green":return ce(e);case"yellow":return ve(e);case"red":return Te(e);case"cyan":return Se(e);case"dim":return ue(e);default:return e}},kt=(e,t,r)=>{let s=r==="up"?-1:1,n=t+s;for(;n>=0&&n<e.length;){if(e[n].selectable!==!1)return n;n+=s}return t},At=(e,t,r)=>{let s=[],n=r.width-2,i=r.height-2,o=0;t>=i&&(o=t-i+1);for(let a=0;a<i;a++){let p=o+a,c=r.y+1+a;if(p>=e.length){s.push(T(c,r.x+1)+" ".repeat(n));continue}let u=e[p],m=u.selectable!==!1,b=p===t&&m,S=u.active?ce("\u25CF"):b?"\u25B8":" ",se=u.badge!==void 0?" "+Rt(`[${u.badge}]`,u.badgeColor??"dim"):"",$=u.dimmed?ue(u.label):u.label,he=` ${S} ${$}${se}`,fe=X(he,n),Pe=Math.max(0,n-z(fe));b?s.push(T(c,r.x+1)+Re(fe+" ".repeat(Pe))):s.push(T(c,r.x+1)+fe+" ".repeat(Pe))}return s.join("")};var J=()=>({char:" ",fg:-1,bg:-1,fgRGB:null,bgRGB:null,bold:!1,dim:!1,italic:!1,underline:!1,inverse:!1}),me=(e,t)=>{let r=[];for(let s=0;s<e;s++){let n=[];for(let i=0;i<t;i++)n.push(J());r.push(n)}return r},Y=e=>{let t=[];for(let r=0;r<e;r++)t.push(J());return t},Z=class{#e;#t;#r;#i=null;#o=0;#n;#s=new Set;constructor(t,r){this.#e=t,this.#t=r,this.#r=me(t,r),this.#n=t-1}get rows(){return this.#e}get cols(){return this.#t}getCell(t,r){return t<0||t>=this.#e||r<0||r>=this.#t?J():this.#r[t][r]}setCell(t,r,s,n){t<0||t>=this.#e||r<0||r>=this.#t||(this.#r[t][r]={char:n,fg:s.fg,bg:s.bg,fgRGB:s.fgRGB,bgRGB:s.bgRGB,bold:s.bold,dim:s.dim,italic:s.italic,underline:s.underline,inverse:s.inverse},this.#s.add(t))}scrollUp(t=1){for(let r=0;r<t;r++)this.#r.splice(this.#o,1),this.#r.splice(this.#n,0,Y(this.#t));for(let r=this.#o;r<=this.#n;r++)this.#s.add(r)}scrollDown(t=1){for(let r=0;r<t;r++)this.#r.splice(this.#n,1),this.#r.splice(this.#o,0,Y(this.#t));for(let r=this.#o;r<=this.#n;r++)this.#s.add(r)}setScrollRegion(t,r){this.#o=Math.max(0,t),this.#n=Math.min(this.#e-1,r)}insertLines(t,r){for(let s=0;s<t;s++)this.#r.splice(this.#n,1),this.#r.splice(r,0,Y(this.#t));for(let s=r;s<=this.#n;s++)this.#s.add(s)}deleteLines(t,r){for(let s=0;s<t;s++)this.#r.splice(r,1),this.#r.splice(this.#n,0,Y(this.#t));for(let s=r;s<=this.#n;s++)this.#s.add(s)}clearLine(t,r){if(t<0||t>=this.#e)return;let s=this.#r[t];if(r===2)for(let n=0;n<this.#t;n++)s[n]=J();this.#s.add(t)}clearLineRange(t,r,s){if(t<0||t>=this.#e)return;let n=this.#r[t];for(let i=r;i<=Math.min(s,this.#t-1);i++)n[i]=J();this.#s.add(t)}clearDisplay(t,r,s){if(t===0){this.clearLineRange(r,s,this.#t-1);for(let n=r+1;n<this.#e;n++)this.clearLine(n,2)}else if(t===1){for(let n=0;n<r;n++)this.clearLine(n,2);this.clearLineRange(r,0,s)}else{this.#r=me(this.#e,this.#t);for(let n=0;n<this.#e;n++)this.#s.add(n)}}enterAlternateScreen(){this.#i=this.#r,this.#r=me(this.#e,this.#t);for(let t=0;t<this.#e;t++)this.#s.add(t)}exitAlternateScreen(){if(this.#i!==null){this.#r=this.#i,this.#i=null;for(let t=0;t<this.#e;t++)this.#s.add(t)}}resize(t,r){let s=me(t,r),n=Math.min(t,this.#e),i=Math.min(r,this.#t);for(let o=0;o<n;o++)for(let a=0;a<i;a++)s[o][a]=this.#r[o][a];this.#e=t,this.#t=r,this.#r=s,this.#n=t-1;for(let o=0;o<t;o++)this.#s.add(o)}getLine(t){return t<0||t>=this.#e?Y(this.#t):this.#r[t]}getGrid(){return this.#r}getDirtyLines(){return this.#s}clearDirty(){this.#s.clear()}markAllDirty(){for(let t=0;t<this.#e;t++)this.#s.add(t)}markLineDirty(t){t>=0&&t<this.#e&&this.#s.add(t)}};var Q=class{row=0;col=0;visible=!0;#e=0;#t=0;moveTo(t,r){this.row=t,this.col=r}moveUp(t=1){this.row=Math.max(0,this.row-t)}moveDown(t=1){this.row+=t}moveForward(t=1){this.col+=t}moveBack(t=1){this.col=Math.max(0,this.col-t)}moveToColumn(t){this.col=t}save(){this.#e=this.row,this.#t=this.col}restore(){this.row=this.#e,this.col=this.#t}clamp(t,r){this.row=Math.max(0,Math.min(this.row,t-1)),this.col=Math.max(0,Math.min(this.col,r-1))}};var ee=()=>({fg:-1,bg:-1,fgRGB:null,bgRGB:null,bold:!1,dim:!1,italic:!1,underline:!1,inverse:!1}),Ae=(e,t)=>{let r={...t},s=0;for(;s<e.length;){let n=e[s];switch(n){case 0:Object.assign(r,ee());break;case 1:r.bold=!0;break;case 2:r.dim=!0;break;case 3:r.italic=!0;break;case 4:r.underline=!0;break;case 7:r.inverse=!0;break;case 22:r.bold=!1,r.dim=!1;break;case 23:r.italic=!1;break;case 24:r.underline=!1;break;case 27:r.inverse=!1;break;case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:r.fg=n-30;break;case 39:r.fg=-1;break;case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:r.bg=n-40;break;case 49:r.bg=-1;break;case 90:case 91:case 92:case 93:case 94:case 95:case 96:case 97:r.fg=n-90+8;break;case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:r.bg=n-100+8;break;case 38:s+1<e.length&&e[s+1]===5&&s+2<e.length?(r.fg=e[s+2],r.fgRGB=null,s+=2):s+1<e.length&&e[s+1]===2&&s+4<e.length&&(r.fgRGB={r:e[s+2],g:e[s+3],b:e[s+4]},r.fg=-1,s+=4);break;case 48:s+1<e.length&&e[s+1]===5&&s+2<e.length?(r.bg=e[s+2],r.bgRGB=null,s+=2):s+1<e.length&&e[s+1]===2&&s+4<e.length&&(r.bgRGB={r:e[s+2],g:e[s+3],b:e[s+4]},r.bg=-1,s+=4);break}s++}return r};var te=class{#e="GROUND";#t="";#r="";#i="";feed(t){let r=[],s=()=>{this.#i.length>0&&(r.push({type:"text",text:this.#i}),this.#i="")};for(let n=0;n<t.length;n++){let i=t[n],o=i.charCodeAt(0);switch(this.#e){case"GROUND":i==="\x1B"?(s(),this.#e="ESC"):o<32&&o!==27?(s(),r.push({type:"control",code:o})):this.#i+=i;break;case"ESC":i==="["?(this.#e="CSI_PARAM",this.#t=""):i==="]"?(this.#e="OSC",this.#r=""):(r.push({type:"esc",command:i}),this.#e="GROUND");break;case"CSI_PARAM":if(o>=48&&o<=63||i===";"||i==="?")this.#t+=i;else if(o>=64&&o<=126){let a=this.#t.replace(/^\?/,""),p=this.#t.startsWith("?"),c=a.length>0?a.split(";").map(m=>{let b=parseInt(m,10);return isNaN(b)?0:b}):[],u=(p?"?":"")+i;r.push({type:"csi",command:u,params:c}),this.#e="GROUND"}else this.#t+=i;break;case"OSC":if(i==="\x07"||i==="\\"&&this.#r.endsWith("\x1B")){let a=i==="\\"?this.#r.slice(0,-1):this.#r,p=a.indexOf(";"),c=p>=0?parseInt(a.slice(0,p),10):0,u=p>=0?a.slice(p+1):a;r.push({type:"osc",command:isNaN(c)?0:c,data:u}),this.#e="GROUND"}else this.#r+=i;break}}return s(),r}};var re=class{screen;cursor;#e;#t;constructor(t,r){this.screen=new Z(t,r),this.cursor=new Q,this.#e=new te,this.#t=ee()}write(t){let r=this.#e.feed(t);for(let s of r)switch(s.type){case"text":this.#r(s.text);break;case"csi":this.#o(s.command,s.params);break;case"esc":this.#n(s.command);break;case"control":this.#i(s.code);break;case"osc":break}}resize(t,r){this.screen.resize(t,r),this.cursor.clamp(t,r)}getScreen(){return this.screen}getCursor(){return this.cursor}#r(t){for(let r of t)this.cursor.col>=this.screen.cols&&(this.cursor.col=0,this.cursor.row++,this.cursor.row>=this.screen.rows&&(this.screen.scrollUp(),this.cursor.row=this.screen.rows-1)),this.screen.setCell(this.cursor.row,this.cursor.col,this.#t,r),this.cursor.col++}#i(t){switch(t){case 13:this.cursor.col=0;break;case 10:this.cursor.row++,this.cursor.row>=this.screen.rows&&(this.screen.scrollUp(),this.cursor.row=this.screen.rows-1);break;case 9:this.cursor.col=Math.min(this.screen.cols-1,(Math.floor(this.cursor.col/8)+1)*8);break;case 8:this.cursor.moveBack();break;case 7:break}}#o(t,r){let s=r[0]??0,n=r[1]??0,i=s||1;switch(t){case"A":this.cursor.moveUp(i);break;case"B":this.cursor.moveDown(i);break;case"C":this.cursor.moveForward(i);break;case"D":this.cursor.moveBack(i);break;case"H":case"f":this.cursor.moveTo((s||1)-1,(n||1)-1);break;case"G":this.cursor.moveToColumn((s||1)-1);break;case"d":this.cursor.moveTo((s||1)-1,this.cursor.col);break;case"J":this.screen.clearDisplay(s,this.cursor.row,this.cursor.col);break;case"K":s===0?this.screen.clearLineRange(this.cursor.row,this.cursor.col,this.screen.cols-1):s===1?this.screen.clearLineRange(this.cursor.row,0,this.cursor.col):this.screen.clearLine(this.cursor.row,2);break;case"m":this.#t=Ae(r.length>0?r:[0],this.#t);break;case"S":this.screen.scrollUp(i);break;case"T":this.screen.scrollDown(i);break;case"L":this.screen.insertLines(i,this.cursor.row);break;case"M":this.screen.deleteLines(i,this.cursor.row);break;case"s":this.cursor.save();break;case"u":this.cursor.restore();break;case"r":this.screen.setScrollRegion((s||1)-1,(n||this.screen.rows)-1);break;case"?h":s===25&&(this.cursor.visible=!0),s===1049&&this.screen.enterAlternateScreen();break;case"?l":s===25&&(this.cursor.visible=!1),s===1049&&this.screen.exitAlternateScreen();break}this.cursor.clamp(this.screen.rows,this.screen.cols)}#n(t){switch(t){case"7":this.cursor.save();break;case"8":this.cursor.restore();break;case"M":this.cursor.row===0?this.screen.scrollDown():this.cursor.moveUp();break;case"c":this.screen.clearDisplay(2,0,0),this.cursor.moveTo(0,0),this.#t=ee();break}}};var Bt=e=>{let t=[];return e.bold&&t.push(1),e.dim&&t.push(2),e.italic&&t.push(3),e.underline&&t.push(4),e.fgRGB!==null?t.push(38,2,e.fgRGB.r,e.fgRGB.g,e.fgRGB.b):e.fg>=0&&e.fg<8?t.push(30+e.fg):e.fg>=8&&e.fg<16?t.push(90+(e.fg-8)):e.fg>=16&&t.push(38,5,e.fg),t.length===0?"":`\x1B[${t.join(";")}m`},Mt=e=>e.fg===-1&&e.fgRGB===null&&!e.bold&&!e.dim&&!e.italic&&!e.underline,Oe=(e,t,r,s)=>{s!==void 0&&s.prevCursorRow>=0&&s.prevCursorRow<e.rows&&e.markLineDirty(s.prevCursorRow),t.visible&&t.row>=0&&t.row<e.rows&&e.markLineDirty(t.row);let n=[],i=e.getDirtyLines(),o=r.fullRedraw===!0||i.size>=r.height,a=Math.min(r.height,e.rows),p=Math.min(r.width,e.cols);for(let c=0;c<a;c++){if(!o&&!i.has(c))continue;n.push(`\x1B[${r.offsetRow+c};${r.offsetCol}H`);let u=e.getLine(c),m=!1,b=0;for(;b<p;b++){let S=b<u.length?u[b]:void 0;if(t.visible&&c===t.row&&b===t.col)m&&(n.push("\x1B[0m"),m=!1),n.push("\x1B[7m"),n.push(S?.char??" "),n.push("\x1B[27m");else if(S===void 0||Mt(S))m&&(n.push("\x1B[0m"),m=!1),n.push(S?.char??" ");else{let $=Bt(S);n.push($),m=!0,n.push(S.char)}}m&&n.push("\x1B[0m")}return s!==void 0&&(s.prevCursorRow=t.row,s.prevCursorCol=t.col),e.clearDirty(),n.join("")};var Ee=class{#e;#t=!1;constructor(t,r){this.#e=new re(t,r)}write(t){this.#e.write(t),this.#t=!0}render(t,r=!1){let s={offsetRow:t.y+1,offsetCol:t.x+1,width:t.width-2,height:t.height-2,fullRedraw:r};return this.#t=!1,Oe(this.#e.getScreen(),this.#e.getCursor(),s)}resize(t,r){this.#e.resize(t,r),this.#t=!0}get dirty(){return this.#t}clearDirty(){this.#t=!1}get terminal(){return this.#e}};var qe={};D(qe,{drawBox:()=>Fe,fillBox:()=>Nt});var It={single:{tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502"},double:{tl:"\u2554",tr:"\u2557",bl:"\u255A",br:"\u255D",h:"\u2550",v:"\u2551"},rounded:{tl:"\u256D",tr:"\u256E",bl:"\u2570",br:"\u256F",h:"\u2500",v:"\u2502"}},Fe=e=>{let t=e.borderStyle??"single",r=It[t],s=e.width-2,n=[],i=r.tl;if(e.title!==void 0){let o=` ${e.title} `;i+=o+r.h.repeat(Math.max(0,s-o.length))}else i+=r.h.repeat(s);if(i+=r.tr,n.push(T(e.y,e.x)+i),e.skipInterior===!0)for(let o=1;o<e.height-1;o++)n.push(T(e.y+o,e.x)+r.v+T(e.y+o,e.x+e.width-1)+r.v);else for(let o=1;o<e.height-1;o++)n.push(T(e.y+o,e.x)+r.v+pe()+" ".repeat(s)+r.v);return n.push(T(e.y+e.height-1,e.x)+r.bl+r.h.repeat(s)+r.br),n.join("")},Nt=(e,t)=>{let r=Fe(e),s=e.width-2,n=e.height-2,i=[];for(let o=0;o<n;o++){let a=o<t.length?t[o]:"",p=X(a??"",s),c=Math.max(0,s-z(p));i.push(T(e.y+1+o,e.x+1)+p+" ".repeat(c))}return r+i.join("")};export{We as a,ze as b,Ie as c,E as d,Ze as e,Qe as f,et as g,tt as h,rt as i,st as j,nt as k,it as l,ot as m,at as n,lt as o,pt as p,dt as q,Ve as r,de as s,qe as t,Ke as u,He as v,Ee as w};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as o}from"./chunk-
|
|
2
|
+
import{a as o}from"./chunk-MGNBNMJZ.js";var p=[{name:"AWS Access Key ID",pattern:/AKIA[0-9A-Z]{16}/},{name:"Private Key",pattern:/-----BEGIN\s{1,5}(RSA\s{1,5}|EC\s{1,5}|DSA\s{1,5}|OPENSSH\s{1,5})?PRIVATE KEY-----/},{name:"Generic secret assignment",pattern:/(?:secret|password|api_key|apikey|access_token|auth_token|private_key)\s{0,5}[=:]\s{0,5}["'][^"']{8,}["']/i}],d=[/\.lock$/,/package-lock\.json$/,/\.test\./,/testdata\//,/\.snap$/,/\.min\./],t=o({name:"validate-secrets",description:"Detect credentials and private keys",canFix:!1,stacks:[],defaults:{},checkFile(a,s){if(s===void 0)return[];for(let e of d)if(e.test(a.path))return[];let n=[],r=s.split(`
|
|
3
3
|
`);for(let e=0;e<r.length;e++){let i=r[e];for(let{name:c,pattern:l}of p)if(l.test(i)){n.push({path:a.path,line:e+1,message:`potential ${c} detected`});break}}return n}}),k=t.run,T=t.validator,y=t.main;export{t as a,k as b,T as c,y as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as o}from"./chunk-
|
|
2
|
+
import{a as o}from"./chunk-MGNBNMJZ.js";var a=o({name:"validate-shebangs",description:"Validate shebang/executable consistency",canFix:!1,stacks:[],defaults:{},checkFile(t,i){return[]}}),r=a.run,l=a.validator,c=a.main;export{a,r as b,l as c,c as d};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as S,b as p,d as T,e as m,f,g as y}from"./chunk-YXETE4S3.js";import{a as l}from"./chunk-J7YTWK67.js";var k=class{capabilities=["text_generation","streaming"];provider="kiro";modelId;binary;config;constructor(e,r){this.binary=e,this.config=r,this.modelId=r.model}async generateText(e,r){let i=v(this.config,e),c=y(e.messages,e.system),o=p(this.binary,i,{signal:r,stdinData:c}),u=m(o.stderr),t=await T(o.stdout,this.modelId),d=await o.waitForExit(),s=await u,a=f("kiro",d.code,s);if(a!==null)throw a;return t}async*streamText(e,r){let i=v(this.config,e),c=y(e.messages,e.system),o=p(this.binary,i,{signal:r,stdinData:c}),u=m(o.stderr);try{let t=new TextDecoder,d=o.stdout.getReader(),s="",a=await d.read();for(;a.done!==!0;){s+=t.decode(a.value,{stream:!0});let h=s.split(`
|
|
3
|
+
`);s=h.pop()??"";for(let _ of h){let g=_.trim();if(g.length!==0){try{let A=JSON.parse(g),w=C(A);if(w!==null){yield w;continue}}catch{}yield{kind:"content_delta",textDelta:g+`
|
|
4
|
+
`}}}a=await d.read()}d.releaseLock(),s.trim().length>0&&(yield{kind:"content_delta",textDelta:s.trim()});let E=await o.waitForExit(),b=await u,x=f("kiro",E.code,b);x!==null?yield{kind:"error",error:x}:yield{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:0,outputTokens:0,totalTokens:0}}}catch(t){t instanceof l?yield{kind:"error",error:t}:yield{kind:"error",error:new l(t instanceof Error?t.message:String(t),{provider:"kiro",cause:t instanceof Error?t:void 0})}}}close(){return Promise.resolve()}getRawClient(){return null}},D={provider:"kiro",async createModel(n){let e=await S("kiro",n);return new k(e,n)}},v=(n,e)=>{let r=[];r.push("--output","json"),r.push("--model",n.model),e.maxTokens!==void 0&&r.push("--max-tokens",String(e.maxTokens));let i=n.properties?.args;return i!==void 0&&r.push(...i),r},C=n=>{if(n===null||typeof n!="object")return null;let e=n;if(e.type==="content"||e.type==="text"){let r=e.text??e.content;return r!==void 0?{kind:"content_delta",textDelta:String(r)}:null}return e.type==="done"||e.type==="result"||e.done===!0?{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:e.usage?.input_tokens??0,outputTokens:e.usage?.output_tokens??0,totalTokens:(e.usage?.input_tokens??0)+(e.usage?.output_tokens??0)}}:e.type==="error"?{kind:"error",error:new l(e.error?.message??e.message??"Unknown Kiro error",{provider:"kiro"})}:null};export{k as a,D as b};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as r}from"./chunk-
|
|
2
|
+
import{a as r}from"./chunk-MGNBNMJZ.js";var n=r({name:"validate-eof",description:"Ensure files end with exactly one newline",canFix:!0,stacks:[],defaults:{},checkFile(i,e){return e===void 0?[]:e.length===0?[]:e.endsWith(`
|
|
3
3
|
`)?e.endsWith(`
|
|
4
4
|
|
|
5
5
|
`)?[{path:i.path,message:"file has multiple trailing newlines"}]:[]:[{path:i.path,message:"file does not end with a newline"}]},fixFile(i,e){if(e.length===0)return;let t=`${e.replace(/\n+$/,"")}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as C,c as E}from"./chunk-
|
|
2
|
+
import{a as C,c as E}from"./chunk-VXVW4UNH.js";import{a as k}from"./chunk-LFNUSULJ.js";import{b as x}from"./chunk-JTSRGXS4.js";import{f as h}from"./chunk-P2MUEKFT.js";import{b as i,f as d,g as f,h as u,i as g}from"./chunk-YVN2NZL4.js";import{g as n}from"./chunk-FFWPJP7A.js";import{j as c}from"./chunk-6DBKPC2O.js";var l=x(),b=t=>{let e=new Set,r=/export\s+\*\s+from\s+["']([^"']+)["']/g,a=/export\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g,o=/export\s+type\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g;for(let s of t.matchAll(r))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(a))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(o))s[1]!==void 0&&e.add(s[1]);return e},y=t=>{let e=t.startsWith("./")?t.slice(2):t;return e.endsWith(".ts")&&(e=e.slice(0,-3)),e},O=t=>!(t==="mod.ts"||t.endsWith("_test.ts")||t.endsWith("_bench.ts")||t.startsWith("_")||t.includes("/")),P=async(t={})=>{let{root:e=".",failFast:r=!1}=t,a=await C(e),o=[];for(let s of a){let v=c.runtime.path.join(s.path,"mod.ts"),m;try{m=await c.runtime.fs.readTextFile(v)}catch{continue}let M=b(m),w=new Set([...M].map(p=>y(p))),A=await E(s.path);for(let p of A){let R=c.runtime.path.basename(p);if(!O(R))continue;let F=y(p);if(!w.has(F)&&(o.push({packageName:s.name,file:p}),r))return{isComplete:!1,missingExports:o,packagesChecked:a.length}}}return{isComplete:o.length===0,missingExports:o,packagesChecked:a.length}},W=t=>h.fromPromise(()=>P(t)),_=t=>n.ok({root:"."}),z=t=>{if(n.isFail(t))return l.writeln(d("\u2717"),i(" "+String(t.error))),n.fail({exitCode:1});let{value:e}=t;if(l.writeln(g("\u2139"),i(` Checked ${e.packagesChecked} packages.`)),!e.isComplete){l.writeln(d("\u2717"),i(` Found ${e.missingExports.length} missing exports:`));for(let r of e.missingExports)l.writeln(u("\u26A0"),i(` ${r.packageName}: ${r.file}`));return n.fail({exitCode:1})}return l.writeln(f("\u2713"),i(" All mod.ts exports are complete.")),n.ok(void 0)},S=k.createTrigger({handler:W,adaptInput:_,adaptOutput:z}),N=async t=>await S({command:"validate-mod-exports",args:[],flags:{}});export{P as a,W as b,S as c,N as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as s}from"./chunk-
|
|
2
|
+
import{a as s}from"./chunk-MGNBNMJZ.js";var l=[/^<{7}\s/,/^={7}$/,/^>{7}\s/],i=s({name:"validate-merge-conflict",description:"Detect merge conflict markers",canFix:!1,stacks:[],defaults:{},checkFile(a,o){if(o===void 0)return[];let r=[],e=o.split(`
|
|
3
3
|
`);for(let t=0;t<e.length;t++)for(let n of l)if(n.test(e[t])){r.push({path:a.path,line:t+1,message:`merge conflict marker: ${e[t].slice(0,20)}`});break}return r}}),f=i.run,u=i.validator,d=i.main;export{i as a,f as b,u as c,d};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as d}from"./chunk-
|
|
2
|
+
import{a as d}from"./chunk-MGNBNMJZ.js";import{b as p}from"./chunk-NBA6EFWU.js";var c="2023",u=new RegExp(`// Copyright ([0-9]{4})-present Eser Ozvataf and other contributors\\. All rights reserved\\. ([0-9A-Za-z-.]+) license\\.
|
|
3
3
|
`),l=`// Copyright ${c}-present Eser Ozvataf and other contributors. All rights reserved. Apache-2.0 license.`,T=[/docs\//,/etc\/templates\//,/manifest\.gen\.ts$/],g=t=>T.some(e=>e.test(t)),x=(t,e,r)=>{if(e===void 0||g(t.path))return[];let s=e.startsWith("#!")?e.indexOf(`
|
|
4
4
|
`)+1:0,n=e.slice(s).match(u);return n!==null?n[1]===c?[]:[{path:t.path,message:"incorrect copyright year",fixed:r.fix}]:[{path:t.path,message:"missing copyright header",fixed:r.fix}]},E=(t,e,r)=>{if(g(t.path))return;let a=e.startsWith("#!"),s=a?e.indexOf(`
|
|
5
5
|
`)+1:0,i=e.slice(s),n=i.match(u);if(n!==null&&n[1]===c)return;let o;if(n!==null){let f=e.slice(0,s),m=i.replace(n[0],"");o=`${f}${l}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
var r={name:"@eser/cli",version:"4.1.
|
|
2
|
+
var r={name:"@eser/cli",version:"4.1.50",type:"module",exports:"./main.ts",bin:{eser:"./bin.ts"},dependencies:{"@eser/ai":"workspace:*","@eser/codebase":"workspace:*","@eser/kit":"workspace:*","@eser/noskills":"workspace:*","@eser/laroux-server":"workspace:*","@eser/workflows":"workspace:*","@eser/functions":"workspace:*","@eser/logging":"workspace:*","@eser/shell":"workspace:*","@eser/standards":"workspace:*","@std/cli":"npm:@jsr/std__cli@^1.0.25","@std/fmt":"npm:@jsr/std__fmt@^1.0.8"},devDependencies:{"@std/assert":"npm:@jsr/std__assert@^1.0.16",esbuild:"^0.27.3"},optionalDependencies:{"@eserstack/ajan-darwin-arm64":"^4.1.47","@eserstack/ajan-darwin-x64":"^4.1.47","@eserstack/ajan-linux-arm64":"^4.1.47","@eserstack/ajan-linux-x64":"^4.1.47","@eserstack/ajan-win32-x64":"^4.1.47","@eserstack/ajan-wasm":"^4.1.47"}};export{r as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-
|
|
2
|
+
import{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-VKB3B2FE.js";import{i as o}from"./chunk-6DBKPC2O.js";var m=[/node_modules/,/\.git\//,/\/dist\//,/etc\/coverage/,/etc\/temp/,/\.output\//],x=async t=>{try{let n=await p`git ls-files --cached --others --exclude-standard`.cwd(t).noThrow().lines();return n.length>0?n:null}catch{return null}},k=async(t={})=>{let{root:n=".",extensions:e,exclude:s=[]}=t,l=[...m,...s.map(r=>typeof r=="string"?new RegExp(r):r)],u=[],d=await x(n);if(d!==null)for(let r of d){let i=o.path.join(n,r),c=o.path.basename(r);if(e!==void 0&&e.length>0&&!g(r,e)||l.some(a=>a.test(i)||a.test(r)))continue;let y=0,f=!1;try{let a=await o.fs.lstat(i);if(y=a.size,f=a.isSymlink,a.isDirectory&&!(t.includeDirs??!1))continue}catch{continue}u.push({path:i,name:c,size:y,isSymlink:f})}else for await(let r of o.fs.walk(n,{includeDirs:t.includeDirs??!1,includeFiles:!0,exts:e,skip:l})){if(!r.isFile&&!r.isSymlink)continue;let i=0;try{i=(await o.fs.stat(r.path)).size}catch{continue}u.push({path:r.path,name:r.name,size:i,isSymlink:r.isSymlink})}if(t.includeOnly!==void 0&&t.includeOnly.length>0){let r=t.includeOnly;return u.filter(i=>r.some(c=>i.path.endsWith(c)||i.path.includes(c)))}return u},B=async t=>{if(t.textContent!==void 0)return t.textContent;try{let n=await h(t);if(w(n))return;let e=new TextDecoder().decode(n);return t.textContent=e,e}catch{return}},h=async t=>{if(t.rawBytes!==void 0)return t.rawBytes;let n=await o.fs.readFile(t.path);return t.rawBytes=n,n},w=t=>{let n=Math.min(t.length,8192);for(let e=0;e<n;e++)if(t[e]===0)return!0;return!1},M=(t,n)=>{for(let e of n)if(typeof e=="string"){if(t.includes(e)||t.endsWith(e))return!0}else if(e.test(t))return!0;return!1},b=(t,n)=>{let e=new Map;for(let s of n)e.set(s.path,s);for(let s of t){let l=e.get(s.path);l!==void 0&&(s.textContent=l.newContent,s.rawBytes=void 0)}},D=async t=>{let n=0;for(let e of t)e.oldContent!==e.newContent&&(await o.fs.writeTextFile(e.path,e.newContent),n++);return n};export{m as a,k as b,B as c,h as d,w as e,M as f,b as g,D as h};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as ge,b as me,d as X,e as Ye,f as et,g as tt,h as U}from"./chunk-LWQPFCWC.js";import{
|
|
2
|
+
import{n as $e}from"./chunk-NVPQJFAI.js";import{a as ge,b as me,d as X,e as Ye,f as et,g as tt,h as U}from"./chunk-LWQPFCWC.js";import{a as nt}from"./chunk-3OG2MEF2.js";import{c as fe}from"./chunk-HTC2FO4I.js";import{a as pe,b as re,c as z,d as Be}from"./chunk-NBA6EFWU.js";import{e as S}from"./chunk-5DWJ7WEE.js";import{i as o}from"./chunk-6DBKPC2O.js";import{e as H,i as Qe}from"./chunk-6G6UVWJN.js";var I=S.getLogger(["laroux-bundler","server-action-transform"]);function mn(e,t){return`${e.replace(/\.[cm]?[jt]sx?$/,"")}#${t}`}function hn(e,t){let n=mn(e,t);return`Object.defineProperties(${t}, {
|
|
3
3
|
$$typeof: { value: Symbol.for("react.server.reference"), enumerable: false },
|
|
4
4
|
$$id: { value: "${n}", enumerable: false },
|
|
5
5
|
$$bound: { value: null, enumerable: false, writable: true }
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as w}from"./chunk-
|
|
2
|
+
import{a as w}from"./chunk-VXVW4UNH.js";import{a as v}from"./chunk-LFNUSULJ.js";import{b as y}from"./chunk-JTSRGXS4.js";import{f as k}from"./chunk-P2MUEKFT.js";import{b as l,f,g as h,h as C,i as m}from"./chunk-YVN2NZL4.js";import{g as a}from"./chunk-FFWPJP7A.js";var p=y(),D=e=>{let s=new Map,r=new Set(e.map(i=>i.name));for(let i of e){let n=[];for(let d of i.config._loadedFiles){let t=d.content,u=t.dependencies;if(u!==void 0)for(let c of Object.keys(u))r.has(c)&&n.push(c);let o=t.imports;if(o!==void 0)for(let c of Object.values(o))r.has(c)&&n.push(c)}s.set(i.name,[...new Set(n)])}return s},x=e=>{let s=[],r=new Set,i=new Set,n=[],d=t=>{r.add(t),i.add(t),n.push(t);let u=e.get(t)??[];for(let o of u)if(!r.has(o))d(o);else if(i.has(o)){let c=n.indexOf(o),g=n.slice(c);g.push(o),s.push(g)}n.pop(),i.delete(t)};for(let t of e.keys())r.has(t)||d(t);return s},R=async(e={})=>{let{root:s="."}=e,r=await w(s),i=D(r),n=x(i);return{hasCycles:n.length>0,cycles:n,packagesChecked:r.length}},O=e=>k.fromPromise(()=>R(e)),b=e=>a.ok({root:"."}),A=e=>{if(a.isFail(e))return p.writeln(f("\u2717"),l(" "+(e.error instanceof Error?e.error.message:String(e.error)))),a.fail({exitCode:1});let{value:s}=e;if(p.writeln(m("\u2139"),l(` Checked ${s.packagesChecked} packages.`)),s.hasCycles){p.writeln(f("\u2717"),l(` Found ${s.cycles.length} circular dependencies:`));for(let r of s.cycles)p.writeln(C("\u26A0"),l(` ${r.join(" \u2192 ")}`));return a.fail({exitCode:1})}return p.writeln(h("\u2713"),l(" No circular dependencies found.")),a.ok(void 0)},M=v.createTrigger({handler:O,adaptInput:b,adaptOutput:A}),_=async e=>await M({command:"validate-circular-deps",args:[],flags:{}});export{R as a,O as b,M as c,_ as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as w}from"./chunk-4X4NHXFE.js";import{a as p}from"./chunk-2XNFZXHY.js";import{b as c}from"./chunk-
|
|
2
|
+
import{b as w}from"./chunk-4X4NHXFE.js";import{a as p}from"./chunk-2XNFZXHY.js";import{b as c}from"./chunk-VKB3B2FE.js";import{e as y}from"./chunk-5WJ6AUNY.js";var C=()=>{let e=new Map;return{register:o=>{e.set(o.name,o)},registerAll:o=>{for(let r of o)e.set(r.name,r)},get:o=>e.get(o),getAll:()=>[...e.values()],has:o=>e.has(o),names:()=>[...e.keys()]}};var k=y(p(),1);var h=e=>{let o=e.workflows;if(!Array.isArray(o))throw new Error("Invalid config: 'workflows' must be an array");for(let r=0;r<o.length;r++){let n=o[r],t=n?.id!==void 0&&n.id!==""?`workflow '${n.id}'`:`workflow at index ${r}`;if(typeof n?.id!="string"||n.id==="")throw new Error(`Invalid config: ${t} must have a non-empty 'id' string`);if(!Array.isArray(n.on)||n.on.length===0)throw new Error(`Invalid config: ${t} must have a non-empty 'on' array`);if(!Array.isArray(n.steps)||n.steps.length===0)throw new Error(`Invalid config: ${t} must have a non-empty 'steps' array`);for(let s=0;s<n.steps.length;s++){let i=n.steps[s];if(typeof i=="string")continue;if(typeof i!="object"||i===null||Array.isArray(i))throw new Error(`Invalid config: ${t}, step ${s} must be a string or an object with exactly one key`);let l=Object.keys(i);if(l.length!==1)throw new Error(`Invalid config: ${t}, step ${s} must be an object with exactly one key (got ${l.length})`)}}};var b=async e=>{let o=await w(e);if(o===null)return null;let r={stack:o.stack,workflows:o.workflows??[],scripts:o.scripts};return h(r),r};var I={name:"shell",description:"Execute shell commands",run:async e=>{let o=e.command,r=e.fixCommand,n=e.name??o??"shell",t=e.fix??!1,s=e.root??".",i=e.workingDirectory??s;if(o===void 0||o.length===0)throw new Error(`Shell tool requires a 'command' option. Usage: { shell: { command: "deno fmt --check" } }`);let l=t&&r!==void 0?r:o,a=await new c("sh",["-c",l]).cwd(i).noThrow().spawn(),f=a.code;if(f===0)return{name:n,passed:!0,issues:[],mutations:[],stats:{exitCode:0}};let d=new TextDecoder,g=d.decode(a.stderr).trim(),m=[d.decode(a.stdout).trim(),g].filter(u=>u.length>0).join(`
|
|
3
3
|
`);return{name:n,passed:!1,issues:[{message:m||`Command exited with code ${f}`}],mutations:[],stats:{exitCode:f}}}};export{C as a,b,I as c};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{d as i}from"./chunk-
|
|
2
|
+
import{d as i}from"./chunk-VKB3B2FE.js";var n="#%$".repeat(35),g=s=>{let e=s.split(n).map(t=>{let c=t.slice(0,40);t=t.slice(40);let r=t.indexOf(`
|
|
3
3
|
`);if(r<0)return{hash:c,subject:t.trim(),body:""};let o=t.slice(0,r).trim(),a=t.slice(r+1).trim();return{hash:c,subject:o,body:a}});return e.shift(),e},m=async()=>await i`git describe --tags --abbrev=0`.text();var l=async(s,e)=>{let t=`--pretty=format:${n}%H%B`,c=`${s}..${e}`,r=await i`git --no-pager log ${t} ${c}`.text();return g(r)};var p=async(s,e)=>{await i`git tag -a ${s} -m ${e}`.spawn()},h=async(s,e)=>{await i`git push ${s} ${e}`.spawn()};export{m as a,l as b,p as c,h as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as
|
|
3
|
-
`,z=async(e,n)=>{let r=JSON.parse(JSON.stringify(e.content));for(let[t,o]of Object.entries(n))V(r,t,o);let i=q(r);await p.fs.writeTextFile(e.filepath,i),e.content=r,e.rawText=i},Q=(e,n,r)=>{let{targetFiles:i="all",createIfMissing:t=!1}=r,o=e[n];if(i==="origin"){if(o===void 0){let s=e._loadedFiles[0];return t&&s!==void 0?[s]:[]}let l=e._loadedFiles.find(s=>s.filepath===o.origin.filepath);return l?[l]:[]}if(i==="all")return!o&&!t?[]:!o&&t?[...e._loadedFiles]:R(e,n);let a=new Set(i);return e._loadedFiles.filter(l=>a.has(l.fileType))},J=async(e,n,r,i={})=>{let t=[],o=[],a=[],l=Q(e,n,i);if(l.length===0)return{updated:t,failed:o,skipped:a};for(let s of l){let d=F[n]?.[s.fileType];if(!d){a.push(s.filepath);continue}if(K(s.content,d)===r){a.push(s.filepath);continue}try{await z(s,{[d]:r}),t.push(s.filepath)}catch(f){o.push({filepath:s.filepath,reason:f instanceof Error?f.message:String(f)})}}if(t.length>0){let s=e[n];if(s)s.value=r;else{let d=e._loadedFiles.find(g=>t.includes(g.filepath));if(d){let g=F[n]?.[d.fileType];g&&(e[n]={value:r,origin:{filepath:d.filepath,fileType:d.fileType,propertyPath:g},alternateOrigins:[]})}}}return{updated:t,failed:o,skipped:a}};var X=async(e,n,r)=>await J(e,"version",n,{...r,targetFiles:"all"});var w=class extends Error{constructor(n){super(n),this.name="WorkspaceError"}},U=async e=>{try{return await T({baseDir:e})}catch(n){throw n instanceof m?new w(`No package config file found in ${p.path.resolve(e)}`):n}},Z=async(e,n)=>{let r=[];for(let i of n)if(i.endsWith("/*")){let t=p.path.join(e,i.slice(0,-2));try{for await(let o of p.fs.readDir(t))o.isDirectory&&r.push(p.path.join(t,o.name))}catch{}}else if(i.includes("*")||i.includes("?")){let t=i.split("/"),o=[],a=0;for(let f=0;f<t.length;f++){if(t[f].includes("*")||t[f].includes("?")){a=f;break}o.push(t[f])}let l=p.path.join(e,...o),d=t.slice(a).join("/").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]"),g=new RegExp(`^${d}$`);try{for await(let f of p.fs.walk(l,{includeDirs:!0,includeFiles:!1})){let
|
|
2
|
+
import{a as D}from"./chunk-GTHXGAMQ.js";import{a as j}from"./chunk-3XJLLDR5.js";import{a as O}from"./chunk-P7WCO724.js";import{a as S}from"./chunk-2XNFZXHY.js";import{i as p}from"./chunk-6DBKPC2O.js";import{e as _}from"./chunk-5WJ6AUNY.js";var y={DenoJson:"deno.json",DenoJsonc:"deno.jsonc",JsrJson:"jsr.json",JsrJsonc:"jsr.jsonc",PackageJson:"package.json"},k=[y.DenoJson,y.DenoJsonc,y.JsrJson,y.JsrJsonc,y.PackageJson],P=Symbol.for("baseDir"),F={name:{"deno.json":"name","deno.jsonc":"name","jsr.json":"name","jsr.jsonc":"name","package.json":"name"},version:{"deno.json":"version","deno.jsonc":"version","jsr.json":"version","jsr.jsonc":"version","package.json":"version"},description:{"package.json":"description"},license:{"deno.json":"license","deno.jsonc":"license","package.json":"license"},private:{"package.json":"private"},exports:{"deno.json":"exports","deno.jsonc":"exports","jsr.json":"exports","jsr.jsonc":"exports","package.json":"exports"},workspaces:{"deno.json":"workspace","deno.jsonc":"workspace","package.json":"workspaces"},imports:{"deno.json":"imports","deno.jsonc":"imports"},dependencies:{"package.json":"dependencies"},devDependencies:{"package.json":"devDependencies"}};var b=_(S(),1);var c={Unknown:0,EnvironmentFile:1,Json:2,JsonWithComments:3,Toml:4,Yaml:5};var I={[c.Unknown]:"unknown",[c.EnvironmentFile]:"environment",[c.Json]:"JSON",[c.JsonWithComments]:"JSONC",[c.Toml]:"TOML",[c.Yaml]:"YAML"},h=class extends Error{filepath;format;constructor(n,r,i){super(`Failed to parse ${I[r]??"unknown"} file "${n}": ${i.message}`,{cause:i}),this.name="ConfigParseError",this.filepath=n,this.format=r}};var A=e=>{let n=p.path.extname(e);return n===".json"?c.Json:n===".jsonc"?c.JsonWithComments:n===".yaml"||n===".yml"?c.Yaml:n===".toml"?c.Toml:n===".env"?c.EnvironmentFile:c.Unknown},x=async(e,n)=>{let r=n??A(e),i=await p.fs.readTextFile(e);try{return r===c.Json?{content:JSON.parse(i),filepath:e,format:r}:r===c.JsonWithComments?{content:j(i),filepath:e,format:r}:r===c.Yaml?{content:b.parse(i),filepath:e,format:r}:r===c.Toml?{content:O(i),filepath:e,format:r}:{content:void 0,filepath:e,format:c.Unknown}}catch(t){throw t instanceof Error?new h(e,r,t):new h(e,r,new Error(String(t)))}};var M=(e,n,r)=>{if(e==null)return r;let i=n.length;if(i===0)return e;let t=e;for(let o=0;o<i;o++){if(t==null)return r;let a=n[o];t=t[a]}return t===void 0?r:t};var m=class extends Error{filepath;constructor(n,r,i){super(n,{cause:i}),this.name="PackageLoadError",this.filepath=r}},$=async(e,n)=>{if(await p.fs.exists(e)===!1||(await p.fs.stat(e)).isFile===!1)return;let t=await p.fs.readTextFile(e),a=(await x(e)).content;if(a!==void 0)return{filepath:e,fileType:n,content:a,rawText:t}},Y=async(e,n)=>{let r=[];for(let i of n){let t=p.path.join(e,i),o=await $(t,i);o&&r.push(o)}return r},B=(e,n)=>M(e,n.split(".")),u=(e,n,r)=>{let i,t,o=[];for(let a of n){let l=r[e]?.[a.fileType];if(l===void 0)continue;let s=B(a.content,l);if(s===void 0)continue;let d={filepath:a.filepath,fileType:a.fileType,propertyPath:l};i===void 0?(i=s,t=d):o.push(d)}if(!(i===void 0||t===void 0))return{value:i,origin:t,alternateOrigins:o}},G=e=>e===void 0?F:D(F,e),H=e=>[...e].sort((n,r)=>k.indexOf(n)-k.indexOf(r)),T=async(e={})=>{let{baseDir:n=".",includeFiles:r=k,fieldMappings:i,searchParents:t=!1}=e,o=G(i),a=H(r),l=p.path.resolve(n),s=[];for(;s=await Y(l,a),!(s.length>0||!t);){let g=p.path.dirname(l);if(g===l)break;l=g}if(s.length===0)throw new m(`No config files found in ${n}. Looked for: ${a.join(", ")}`);return{name:u("name",s,o),version:u("version",s,o),description:u("description",s,o),license:u("license",s,o),private:u("private",s,o),exports:u("exports",s,o),workspaces:u("workspaces",s,o),imports:u("imports",s,o),dependencies:u("dependencies",s,o),devDependencies:u("devDependencies",s,o),[P]:l,_loadedFiles:s}},v=async(e={})=>{try{return await T(e)}catch(n){if(n instanceof m)return;throw n}},R=(e,n)=>{let r=e[n];if(!r)return[];let i=new Set([r.origin.filepath,...r.alternateOrigins.map(t=>t.filepath)]);return e._loadedFiles.filter(t=>i.has(t.filepath))},E=e=>e[P];var K=(e,n)=>{let r=n.split("."),i=e;for(let t of r){if(L.has(t)||i==null||typeof i!="object"||!Object.hasOwn(i,t))return;i=i[t]}return i},L=new Set(["__proto__","constructor","prototype"]),V=(e,n,r)=>{let i=n.split(".");for(let a of i)if(a===void 0||a.length===0||L.has(a))return;let t=e;for(let a=0;a<i.length-1;a++){let l=i[a];if(!Object.hasOwn(t,l)||typeof t[l]!="object"||t[l]===null){let s=Object.create(null);t[l]=s,t=s}else t=t[l]}let o=i[i.length-1];t[o]=r},q=e=>`${JSON.stringify(e,null,2)}
|
|
3
|
+
`,z=async(e,n)=>{let r=JSON.parse(JSON.stringify(e.content));for(let[t,o]of Object.entries(n))V(r,t,o);let i=q(r);await p.fs.writeTextFile(e.filepath,i),e.content=r,e.rawText=i},Q=(e,n,r)=>{let{targetFiles:i="all",createIfMissing:t=!1}=r,o=e[n];if(i==="origin"){if(o===void 0){let s=e._loadedFiles[0];return t&&s!==void 0?[s]:[]}let l=e._loadedFiles.find(s=>s.filepath===o.origin.filepath);return l?[l]:[]}if(i==="all")return!o&&!t?[]:!o&&t?[...e._loadedFiles]:R(e,n);let a=new Set(i);return e._loadedFiles.filter(l=>a.has(l.fileType))},J=async(e,n,r,i={})=>{let t=[],o=[],a=[],l=Q(e,n,i);if(l.length===0)return{updated:t,failed:o,skipped:a};for(let s of l){let d=F[n]?.[s.fileType];if(!d){a.push(s.filepath);continue}if(K(s.content,d)===r){a.push(s.filepath);continue}try{await z(s,{[d]:r}),t.push(s.filepath)}catch(f){o.push({filepath:s.filepath,reason:f instanceof Error?f.message:String(f)})}}if(t.length>0){let s=e[n];if(s)s.value=r;else{let d=e._loadedFiles.find(g=>t.includes(g.filepath));if(d){let g=F[n]?.[d.fileType];g&&(e[n]={value:r,origin:{filepath:d.filepath,fileType:d.fileType,propertyPath:g},alternateOrigins:[]})}}}return{updated:t,failed:o,skipped:a}};var X=async(e,n,r)=>await J(e,"version",n,{...r,targetFiles:"all"});var w=class extends Error{constructor(n){super(n),this.name="WorkspaceError"}},U=async e=>{try{return await T({baseDir:e})}catch(n){throw n instanceof m?new w(`No package config file found in ${p.path.resolve(e)}`):n}},Z=async(e,n)=>{let r=[];for(let i of n)if(i.endsWith("/*")){let t=p.path.join(e,i.slice(0,-2));try{for await(let o of p.fs.readDir(t))o.isDirectory&&r.push(p.path.join(t,o.name))}catch{}}else if(i.includes("*")||i.includes("?")){let t=i.split("/"),o=[],a=0;for(let f=0;f<t.length;f++){if(t[f].includes("*")||t[f].includes("?")){a=f;break}o.push(t[f])}let l=p.path.join(e,...o),d=t.slice(a).join("/").replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*").replace(/\?/g,"[^/]"),g=new RegExp(`^${d}$`);try{for await(let f of p.fs.walk(l,{includeDirs:!0,includeFiles:!1})){let C=p.path.relative(l,f.path);C!==""&&g.test(C)&&r.push(f.path)}}catch{}}else r.push(p.path.join(e,i));return r},ee=async e=>{let n=await U(e),r=n.workspaces?.value;if(!Array.isArray(r))throw new w("Package config doesn't have workspace field.");for(let o of r)if(typeof o!="string")throw new w("Package config workspace field should be an array of strings.");let i=await Z(e,r),t=[];for(let o of i){let a=await v({baseDir:o});if(a===void 0)continue;let l=a.name?.value,s=a.version?.value,d=a.private?.value;l!==void 0&&d!==!0&&t.push({name:l,version:s??"0.0.0",config:a})}return[n,t]};export{y as a,T as b,v as c,E as d,X as e,ee as f};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as l}from"./chunk-
|
|
2
|
+
import{a as l}from"./chunk-MGNBNMJZ.js";var p=new Set(["con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"]),E=/^[a-z0-9_./[\]@-]+$/,u=/^[a-z0-9./[\]@-]+$/,g=[".claude/",".github/",".git/","CLAUDE.md","AGENTS.md","CHANGELOG.md","Makefile","Dockerfile","LICENSE","README.md","VERSION"],d=(o,s)=>{for(let e of s)if(e.includes("*")){let a=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]+");if(new RegExp(a).test(o))return!0}else if(o.includes(e)||o.endsWith(e))return!0;return!1},c=l({name:"validate-filenames",description:"Enforce filename conventions (kebab-case / snake_case)",canFix:!1,stacks:[],defaults:{},checkAll(o,s){let e=[],a=s.rules,f=s.exclude??g;for(let t of o){if(d(t.path,f))continue;let i=t.name,m=i.replace(/\.[^.]+$/,"");if(p.has(m.toLowerCase())){e.push({path:t.path,message:`Windows-reserved filename: ${i}`});continue}if(a!==void 0){let r=!1;for(let n of a)if(n.directory==="*"||t.path.includes(n.directory)){if(n.exclude!==void 0&&d(t.path,n.exclude)){r=!0;break}(n.convention==="snake_case"?E:u).test(i)||e.push({path:t.path,message:`filename must be ${n.convention}`}),r=!0;break}if(r)continue}u.test(i)||e.push({path:t.path,message:"filename must be kebab-case"})}return e}}),S=c.run,k=c.validator,v=c.main;export{c as a,S as b,k as c,v as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as n}from"./chunk-3XJLLDR5.js";import{a as r}from"./chunk-
|
|
2
|
+
import{a as n}from"./chunk-3XJLLDR5.js";import{a as r}from"./chunk-MGNBNMJZ.js";var o=r({name:"validate-json",description:"Validate JSON syntax",canFix:!1,stacks:[],defaults:{},extensions:["json","jsonc"],checkFile(e,a,t){if(a===void 0)return[];if((t.exclude??[]).some(s=>e.path.includes(s)))return[];try{return e.name.endsWith(".jsonc")?n(a):JSON.parse(a),[]}catch(s){let i=s instanceof SyntaxError?s.message:"invalid JSON";return[{path:e.path,message:i}]}}}),p=o.run,f=o.validator,x=o.main;export{o as a,p as b,f as c,x as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as a}from"./chunk-
|
|
2
|
+
import{b as a}from"./chunk-4TTJVJEI.js";import{f as i,h as o,k as n}from"./chunk-SHN5MT56.js";import{i as r}from"./chunk-6DBKPC2O.js";var C=()=>{let t=r.process.isTerminal("stdout")?"interactive":"non-interactive",e=a({interaction:t});return{ctx:e,output:e.output}},d=()=>i({renderer:n.ansi(),sink:o.stdout()}),x=(s,t)=>({command:s,args:t._??[],flags:Object.fromEntries(Object.entries(t).filter(([e])=>e!=="_"))});export{C as a,d as b,x as c};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{e as x,f as w}from"./chunk-
|
|
2
|
+
import{e as x,f as w}from"./chunk-HTC2FO4I.js";import{a as O}from"./chunk-LFNUSULJ.js";import{a as F,c as U}from"./chunk-JTSRGXS4.js";import{o as i}from"./chunk-4TTJVJEI.js";import{a as S,b as v,c as P,d as u}from"./chunk-J2Z7NG2X.js";import{f as V}from"./chunk-P2MUEKFT.js";import{a as k}from"./chunk-MG65QJY6.js";import{g as a}from"./chunk-FFWPJP7A.js";import{j as y}from"./chunk-7ATUODBM.js";import{j as h}from"./chunk-6DBKPC2O.js";var{ctx:d,output:_}=F(),I=async(s={})=>{let{root:e="."}=s,o=y(e,"VERSION");try{return(await h.runtime.fs.readTextFile(o)).trim()}catch{return}},N=async(s,e)=>{let o=y(s,"VERSION");await h.runtime.fs.writeTextFile(o,e+`
|
|
3
3
|
`)},M=s=>{let e=u("0.0.0");for(let o of s){let n=u(o);S(n,e)>0&&(e=n)}return v(e)},T=async(s={})=>{let{root:e="."}=s,[o,n]=await w(e),l=o.version?.value??"0.0.0";return{packages:[{name:o.name?.value??"(root)",version:l},...n.map(p=>({name:p.name,version:p.version}))]}},j=async(s,e={})=>{let{root:o=".",dryRun:n=!1,updateVersionFile:l=!0}=e,[c,f]=await w(o),p=c.version?.value??"0.0.0",b=c.name?.value??"(root)",A=[p,...f.map(t=>t.version)],C=M(A),r;if(s==="explicit"){if(e.explicitVersion===void 0)throw new Error('explicitVersion is required when command is "explicit".');u(e.explicitVersion),r=e.explicitVersion}else s==="sync"?r=C:r=v(P(u(C),s));let m=[],E=p!==r;n||await x(c,r),m.push({name:b,from:p,to:r,changed:E});for(let t of f){let g=t.version!==r;n||await x(t.config,r),m.push({name:t.name,from:t.version,to:r,changed:g})}let R=[];if(l){let t=await I({root:o}),g=t!==r;!n&&g&&await N(o,r),R.push({path:"VERSION",from:t??"",to:r,changed:g})}let $=m.filter(t=>t.changed).length;return{command:s,targetVersion:r,updates:m,fileUpdates:R,changedCount:$,dryRun:n}},H=s=>s.mode==="show"?V.fromPromise(async()=>({mode:"show",result:await T()})):V.fromPromise(async()=>({mode:"update",result:await j(s.command,s.options)})),D=s=>{let e=s.args[0];if(e===void 0)return a.ok({mode:"show"});let o=["sync","patch","minor","major"],n,l;o.includes(e)?n=e:(n="explicit",l=e);let c=s.flags["dry-run"]===!0;return a.ok({mode:"update",command:n,options:{dryRun:c,explicitVersion:l}})},W=s=>{if(a.isFail(s))return a.fail({exitCode:1,message:String(s.error)});let e=s.value;if(e.mode==="show")return console.table(e.result.packages),a.ok(void 0);let{result:o}=e;o.command==="sync"?i.info(d,"Syncing all versions..."):o.command==="explicit"?i.info(d,`Setting all versions to ${o.targetVersion}...`):i.info(d,`Bumping all versions (${o.command})...`),i.info(d,`Target version: ${o.targetVersion}`),console.table(o.updates);for(let n of o.fileUpdates)n.changed&&i.info(d,`${n.path} (${n.from} \u2192 ${n.to})`);return o.dryRun?i.info(d,`Dry run - ${o.changedCount} packages would be modified.`):i.success(d,`Done. Updated ${o.changedCount} packages.`),a.ok(void 0)},q=O.createTrigger({handler:H,adaptInput:D,adaptOutput:W}),ee=async s=>{let e=k(s??[],{boolean:["dry-run"]}),o=U("versions",e);return await q(o)};export{I as a,T as b,j as c,H as d,q as e,ee as f};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as v}from"./chunk-2XNFZXHY.js";import{i as s}from"./chunk-6DBKPC2O.js";import{e as $}from"./chunk-5WJ6AUNY.js";var f=()=>({version:"0.1.0",phase:"IDLE",spec:null,specDescription:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1,planPath:null},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],lastCalledAt:null,classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null,revisitHistory:[]}),k=(e,t,r,n)=>({concerns:e,tools:t,providers:r,project:n,maxIterationsBeforeRestart:15,verifyCommand:null,allowGit:!1,command:"npx eser@latest noskills"});var l=$(v(),1);var i=".eser",c=`${i}/.state`,S=`${c}/state.json`,m=`${i}/manifest.yml`,y=`${i}/concerns`,h=`${i}/rules`,u=`${i}/specs`,w=`${i}/workflows`,p=`${c}/specs`,F=`${c}/active.json`,a=`${i}/.sessions`,d={eserDir:i,stateDir:c,stateFile:S,manifestFile:m,concernsDir:y,rulesDir:h,specsDir:u,workflowsDir:w,specStatesDir:p,activeFile:F,specDir:e=>`${u}/${e}`,specFile:e=>`${u}/${e}/spec.md`,specStateFile:e=>`${p}/${e}.json`,concernFile:e=>`${y}/${e}.json`,sessionsDir:a,sessionFile:e=>`${a}/${e}.json`,eserGitignore:`${i}/.gitignore`},x=async e=>{let t=`${e}/${S}`;try{let r=await s.fs.readTextFile(t);return JSON.parse(r)}catch{return f()}},O=async(e,t)=>{if(t==null)return x(e);let r=`${e}/${d.specDir(t)}`;try{await s.fs.stat(r)}catch{throw new Error(`Spec '${t}' not found. Run \`noskills spec list\` to see available specs.`)}let n=await b(e,t);if(n.spec===t)return n;let o=await x(e);return o.spec===t?o:{...n,spec:t}};var A=e=>{if(e===void 0)return null;for(let t of e)if(t.startsWith("--spec="))return t.slice(7);return null},j=e=>{let t=A(e);return t===null||t.length===0?{ok:!1,error:"Error: spec name is required. Use `noskills spec <name> <command>` format."}:{ok:!0,spec:t}},I=async(e,t)=>{let r=`${e}/${c}`,n=`${e}/${S}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
|
|
3
|
+
`)};var b=async(e,t)=>{let r=`${e}/${d.specStateFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return f()}},C=async(e,t,r)=>{let n=`${e}/${p}`,o=`${e}/${d.specStateFile(t)}`;await s.fs.mkdir(n,{recursive:!0}),await s.fs.writeTextFile(o,JSON.stringify(r,null,2)+`
|
|
4
|
+
`)},_=async e=>{let t=`${e}/${p}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=n.name.replace(/\.json$/,""),g=await s.fs.readTextFile(`${t}/${n.name}`);r.push({name:o,state:JSON.parse(g)})}}catch{}return r},M=async e=>{let t=`${e}/${m}`;try{let r=await s.fs.readTextFile(t),n=l.parse(r);return n?.noskills===void 0?null:n.noskills}catch{return null}},L=async(e,t)=>{let r=`${e}/${m}`,n;try{let g=await s.fs.readTextFile(r);n=l.parseDocument(g)}catch{n=new l.Document({})}let o=n.createNode(t);o.commentBefore=" noskills orchestrator \u2014 inline comments in this section won't be preserved on next write",n.set("noskills",o),await s.fs.writeTextFile(r,n.toString())},J=async(e,t)=>{let r=`${e}/${d.concernFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return null}},q=async(e,t)=>{let r=`${e}/${y}`,n=`${e}/${d.concernFile(t.id)}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
|
|
5
|
+
`)},U=async e=>{let t=`${e}/${y}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=await s.fs.readTextFile(`${t}/${n.name}`);r.push(JSON.parse(o))}}catch{}return r},V=async e=>{let t=[i,c,p,y,h,u,w];for(let n of t)await s.fs.mkdir(`${e}/${n}`,{recursive:!0});let r=`${e}/${d.eserGitignore}`;try{await s.fs.stat(r)}catch{await s.fs.writeTextFile(r,`# eser toolchain runtime state \u2014 not tracked by git
|
|
6
|
+
.state/
|
|
7
|
+
.sessions/
|
|
8
|
+
`)}},W=async(e,t)=>{await I(e,t),t.spec!==null&&await C(e,t.spec,t)},D=2*60*60*1e3,G=async(e,t)=>{let r=`${e}/${a}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(`${r}/${t.id}.json`,JSON.stringify(t,null,2)+`
|
|
9
|
+
`)},T=async(e,t)=>{try{let r=await s.fs.readTextFile(`${e}/${a}/${t}.json`);return JSON.parse(r)}catch{return null}},E=async e=>{let t=`${e}/${a}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json"))try{let o=await s.fs.readTextFile(`${t}/${n.name}`);r.push(JSON.parse(o))}catch{}}catch{}return r},R=async(e,t)=>{try{return await s.fs.remove(`${e}/${a}/${t}.json`),!0}catch{return!1}},H=async(e,t,r)=>{let n=await T(e,t);if(n===null)return;let o={...n,phase:r,lastActiveAt:new Date().toISOString()};await s.fs.writeTextFile(`${e}/${a}/${t}.json`,JSON.stringify(o,null,2)+`
|
|
10
|
+
`)},B=async e=>{let t=await E(e),r=Date.now(),n=[];for(let o of t)r-new Date(o.lastActiveAt).getTime()>D&&(await R(e,o.id),n.push(o.id));return n},Q=e=>Date.now()-new Date(e.lastActiveAt).getTime()>D,z=()=>{let e=new Uint8Array(4);return crypto.getRandomValues(e),Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")},K=async e=>{try{let t=await s.fs.readTextFile(`${e}/${m}`);return l.parse(t)?.noskills!==void 0}catch{return!1}};export{f as a,k as b,d as c,x as d,O as e,A as f,j as g,I as h,C as i,_ as j,M as k,L as l,J as m,q as n,U as o,V as p,W as q,G as r,T as s,E as t,R as u,H as v,B as w,Q as x,z as y,K as z};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{i as r}from"./chunk-6DBKPC2O.js";var o=()=>{let e=r.env.get("XDG_CONFIG_HOME");return e!==void 0&&e.length>0?`${e}/eser/noskills`:`${r.env.get("HOME")??r.env.get("USERPROFILE")??"~"}/.config/eser/noskills`},i=()=>`${o()}/user.json`,a=async e=>{let t=i();try{let n=await r.fs.readTextFile(t),s=JSON.parse(n);return typeof s.name!="string"||s.name.length===0?null:{name:s.name,email:s.email??""}}catch{return null}},u=async e=>{let t=o();await r.fs.mkdir(t,{recursive:!0}),await r.fs.writeTextFile(i(),JSON.stringify({name:e.name,email:e.email},null,2)+`
|
|
3
|
+
`)},g=async()=>{try{return await r.fs.remove(i()),!0}catch{return!1}},l=async()=>{try{let e=(await r.exec.exec("git",["config","user.name"])).trim(),t=(await r.exec.exec("git",["config","user.email"])).trim();return e.length===0?null:{name:e,email:t}}catch{return null}},f=e=>e.email.length>0?`${e.name} <${e.email}>`:e.name,U=e=>e.name,c=()=>({name:"Unknown User",email:""}),x=async e=>{let t=await a();if(t!==null)return t;let n=await l();return n!==null?n:c()};export{i as a,a as b,u as c,g as d,l as e,f,U as g,x as h};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as h,b as p,c as S,d as k,e as g,f as m,g as f}from"./chunk-YXETE4S3.js";import{a as c}from"./chunk-J7YTWK67.js";var y=class{capabilities=["text_generation","streaming"];provider="opencode";modelId;binary;config;constructor(e,r){this.binary=e,this.config=r,this.modelId=r.model}async generateText(e,r){let o=w(this.config,e,"json"),i=f(e.messages,e.system),s=p(this.binary,o,{signal:r,stdinData:i}),l=g(s.stderr),t=await k(s.stdout,this.modelId),u=await s.waitForExit(),a=await l,d=m("opencode",u.code,a);if(d!==null)throw d;return t}async*streamText(e,r){let o=w(this.config,e,"stream-json"),i=f(e.messages,e.system),s=p(this.binary,o,{signal:r,stdinData:i}),l=g(s.stderr);try{for await(let d of S(s.stdout)){let x=v(d);x!==null&&(yield x)}let t=await s.waitForExit(),u=await l,a=m("opencode",t.code,u);a!==null&&(yield{kind:"error",error:a})}catch(t){t instanceof c?yield{kind:"error",error:t}:yield{kind:"error",error:new c(t instanceof Error?t.message:String(t),{provider:"opencode",cause:t instanceof Error?t:void 0})}}}close(){return Promise.resolve()}getRawClient(){return null}},b={provider:"opencode",async createModel(n){let e=await h("opencode",n);return new y(e,n)}},w=(n,e,r)=>{let o=["--output-format",r];o.push("--model",n.model),e.maxTokens!==void 0&&o.push("--max-tokens",String(e.maxTokens));let i=n.properties?.args;return i!==void 0&&o.push(...i),o},v=n=>{if(n===null||typeof n!="object")return null;let e=n;if(e.type==="content_block_delta"||e.type==="assistant"){let r=e.delta?.text??e.message?.content?.[0]?.text;return r!==void 0?{kind:"content_delta",textDelta:r}:null}return e.type==="result"||e.done===!0?{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:e.usage?.input_tokens??0,outputTokens:e.usage?.output_tokens??0,totalTokens:(e.usage?.input_tokens??0)+(e.usage?.output_tokens??0)}}:e.type==="error"?{kind:"error",error:new c(e.error?.message??"Unknown OpenCode error",{provider:"opencode"})}:e.content!==void 0&&typeof e.content=="string"?{kind:"content_delta",textDelta:e.content}:null};export{y as a,b};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as F,c as p}from"./chunk-
|
|
2
|
+
import{b as F,c as p}from"./chunk-BVIGTD2Z.js";import{a as g,c as h}from"./chunk-JTSRGXS4.js";import{o as c}from"./chunk-4TTJVJEI.js";import{a as x}from"./chunk-MG65QJY6.js";import{g as d}from"./chunk-FFWPJP7A.js";var{ctx:m,output:E}=g(),b=e=>{let y=async s=>{let i={root:s?.root??".",fix:s?.fix??!1,exclude:s?.exclude??[],...e.defaults,...s},r=s?._changedFiles,t={root:i.root,extensions:e.extensions,exclude:i.exclude,includeOnly:r!==void 0&&r.length>0?r:void 0},l=await F(t),n=[],u=[];if(e.checkAll!==void 0){let o=await e.checkAll(l,i);n.push(...o)}else if(e.checkFile!==void 0)for(let o of l){let a=await p(o),f=e.checkFile(o,a,i);n.push(...f)}if(i.fix&&e.canFix&&e.fixFile!==void 0)for(let o of l){let a=await p(o);if(a===void 0)continue;let f=e.fixFile(o,a,i);f!==void 0&&u.push(f)}return{name:e.name,issues:n,mutations:u,filesChecked:l.length}},k={name:e.name,description:e.description,requiredStacks:e.stacks,async validate(s){let i=s.options?.fix,r=s.options??{},t=await y({root:s.root,fix:i??!1,exclude:[],...r});return{name:e.name,passed:t.issues.length===0,issues:t.issues.map(l=>({severity:"error",message:`${l.message}${l.fixed?" (fixed)":""}`,file:l.path,line:l.line})),stats:{filesChecked:t.filesChecked,issuesFound:t.issues.length,fixedCount:t.mutations.length}}}},T=async s=>{let i=e.canFix&&s.flags.fix===!0,r=s.flags.root??".",t=s.flags.exclude,l=t!==void 0?Array.isArray(t)?t:[t]:[];try{let n=await y({root:r,fix:i,exclude:l});if(n.mutations.length>0){let{writeMutations:o}=await import("./file-tools-shared-IIW7WSUM.js"),a=await o(n.mutations);c.success(m,`Fixed ${a} file(s) for ${e.name}.`)}if(n.issues.length===0&&n.mutations.length===0)return c.success(m,`${e.name}: ${n.filesChecked} files checked, no issues.`),d.ok(void 0);let u=n.issues.filter(o=>!o.fixed);if(u.length>0){for(let o of u){let a=o.line!==void 0?`${o.path}:${o.line}`:o.path;c.error(m,`${a}: ${o.message}`)}return d.fail({exitCode:1})}return d.ok(void 0)}catch(n){return c.error(m,n instanceof Error?n.message:String(n)),d.fail({exitCode:1})}};return{config:e,run:y,validator:k,main:async s=>{let i=e.canFix?["fix"]:[],r=x(s??[],{boolean:[...i,"help"],string:["root","exclude"],alias:{h:"help"}});if(r.help)return console.log(`eser codebase ${e.name} \u2014 ${e.description}
|
|
3
3
|
`),console.log(`Usage: eser codebase ${e.name} [options]
|
|
4
4
|
`),console.log("Options:"),e.canFix&&console.log(" --fix Auto-fix issues"),console.log(" --root <dir> Root directory (default: .)"),console.log(" --exclude <p> Exclude pattern"),console.log(" -h, --help Show this help"),d.ok(void 0);let t=h(e.name,r);return await T(t)}}};export{b as a};
|