eser 4.1.29 → 4.1.30
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/{add-O35CHPAB.js → add-5SDE43IH.js} +1 -1
- package/chunks/{approve-XMPDDDZD.js → approve-XNUZYGYJ.js} +1 -1
- package/chunks/{ask-BZIPZT7O.js → ask-L3N6REQI.js} +1 -1
- package/chunks/{block-C2GOOMFH.js → block-NWIP4USQ.js} +1 -1
- package/chunks/{browser-JNDQ24XT.js → browser-SG2DBNGS.js} +1 -1
- package/chunks/{build-LADMCGZD.js → build-6DCIDFY7.js} +2 -2
- package/chunks/bun-3AACRJXG.js +2 -0
- package/chunks/{changelog-gen-KMNP2KO4.js → changelog-gen-7V37P7PE.js} +1 -1
- package/chunks/{chunk-SAQAIPUB.js → chunk-2EVWKUN6.js} +1 -1
- package/chunks/{chunk-LXE2WGIW.js → chunk-2TP6IMXY.js} +1 -1
- package/chunks/{chunk-G35GBI4M.js → chunk-32HV3K27.js} +1 -1
- package/chunks/{chunk-XAV6BM52.js → chunk-3KCPUYLZ.js} +1 -1
- package/chunks/{chunk-JPCJIMM5.js → chunk-3MM5EGFB.js} +1 -1
- package/chunks/{chunk-IKYBNRCS.js → chunk-3QIPK7NI.js} +1 -1
- package/chunks/{chunk-YSJNWJ24.js → chunk-3YUV3QIZ.js} +1 -1
- package/chunks/{chunk-DPL7GREV.js → chunk-455V3AE5.js} +1 -1
- package/chunks/{chunk-SOCLJVZ3.js → chunk-46ZWBKIW.js} +1 -1
- package/chunks/{chunk-C2FHTZ2Y.js → chunk-4DOMGQOO.js} +1 -1
- package/chunks/{chunk-YZ4L35HK.js → chunk-4SYC4WJV.js} +1 -1
- package/chunks/{chunk-CFTANV4S.js → chunk-4WQGB7NO.js} +1 -1
- package/chunks/{chunk-GITZBQ2Z.js → chunk-5MWX3POX.js} +1 -1
- package/chunks/{chunk-LT7CC4SX.js → chunk-5PNGVDLV.js} +1 -1
- package/chunks/{chunk-CLXOJOH3.js → chunk-6QC7ILI5.js} +1 -1
- package/chunks/{chunk-EJ4XBQTD.js → chunk-7BFBOLLC.js} +1 -1
- package/chunks/{chunk-Z2CGXVFY.js → chunk-7NUMDHE2.js} +1 -1
- package/chunks/{chunk-RZKZDGNM.js → chunk-AGRTWPDI.js} +1 -1
- package/chunks/{chunk-T4CNY6II.js → chunk-BCPCQHDL.js} +1 -1
- package/chunks/{chunk-V4AJMSER.js → chunk-BP3IFAPO.js} +1 -1
- package/chunks/{chunk-RMGMMTO6.js → chunk-CEYKWASA.js} +1 -1
- package/chunks/{chunk-ZKUI7MRS.js → chunk-CKNA5LIK.js} +1 -1
- package/chunks/{chunk-CS3FL7HI.js → chunk-CLL3YG4W.js} +1 -1
- package/chunks/{chunk-H7XLUEAU.js → chunk-COKZ6MLN.js} +2 -2
- package/chunks/{chunk-VXTKQXGM.js → chunk-CUIMSX4V.js} +1 -1
- package/chunks/{chunk-IAZ2MM3P.js → chunk-EBCQCAQ7.js} +1 -1
- package/chunks/{chunk-QTOUP2B7.js → chunk-ER4ZWF4Y.js} +1 -1
- package/chunks/{chunk-HFFIXVAB.js → chunk-F5BPXG5L.js} +1 -1
- package/chunks/{chunk-TBHZHGUF.js → chunk-FORPNESQ.js} +1 -1
- package/chunks/{chunk-NP2CCJ4C.js → chunk-GBM3TZFD.js} +1 -1
- package/chunks/{chunk-VIOT4AMI.js → chunk-H4SPMUT6.js} +1 -1
- package/chunks/{chunk-6HGMAVFR.js → chunk-HVLKXRPA.js} +1 -1
- package/chunks/{chunk-KXI7O3KZ.js → chunk-HVOPUZOM.js} +1 -1
- package/chunks/{chunk-SMT3I5PQ.js → chunk-HYT26FYU.js} +1 -1
- package/chunks/{chunk-KP3HXVLZ.js → chunk-I4C675WP.js} +1 -1
- package/chunks/{chunk-PDJEHSKZ.js → chunk-IDMI5OBK.js} +1 -1
- package/chunks/chunk-JOTAKQMZ.js +2 -0
- package/chunks/{chunk-MNVCCOJS.js → chunk-K6H7JTIH.js} +1 -1
- package/chunks/{chunk-A3MBTPHJ.js → chunk-K7MYEXOS.js} +1 -1
- package/chunks/{chunk-VXA3KMDF.js → chunk-KKBIUT5L.js} +1 -1
- package/chunks/{chunk-4NEBMHCP.js → chunk-KPWEJXPI.js} +1 -1
- package/chunks/{chunk-TBOM65KB.js → chunk-KQE6FMKW.js} +1 -1
- package/chunks/{chunk-RYOLIM3I.js → chunk-MRCBHVSB.js} +1 -1
- package/chunks/{chunk-VKSH6UPG.js → chunk-MXGRYONZ.js} +1 -1
- package/chunks/{chunk-COJNSVOS.js → chunk-N2VBT43E.js} +1 -1
- package/chunks/{chunk-QEZJTCNE.js → chunk-NP723K5L.js} +1 -1
- package/chunks/{chunk-KLHDNHD3.js → chunk-NTHP6SND.js} +1 -1
- package/chunks/{chunk-2SEPWXDK.js → chunk-OX6ZNNUB.js} +1 -1
- package/chunks/{chunk-VC5BX56D.js → chunk-P2TABZ4A.js} +1 -1
- package/chunks/{chunk-6LVNPRHQ.js → chunk-P74JF7XR.js} +1 -1
- package/chunks/{chunk-JPFGKN4T.js → chunk-PVPMHMKP.js} +1 -1
- package/chunks/{chunk-6XW64HCG.js → chunk-QOX7VSID.js} +1 -1
- package/chunks/{chunk-5YVKJFG6.js → chunk-RGUETQSC.js} +1 -1
- package/chunks/{chunk-HYFBCDIO.js → chunk-SOBOSRJB.js} +1 -1
- package/chunks/{chunk-5BHHLJJN.js → chunk-SQINSLNL.js} +1 -1
- package/chunks/{chunk-EZE3F4PG.js → chunk-U2MR2O3C.js} +1 -1
- package/chunks/{chunk-ZTPERUHN.js → chunk-UESOCN2G.js} +1 -1
- package/chunks/{chunk-KLWWCHOL.js → chunk-UJ6LH5FY.js} +1 -1
- package/chunks/{chunk-4MELQSFH.js → chunk-VC6ERZSI.js} +1 -1
- package/chunks/{chunk-FXBDWBXT.js → chunk-VG72SSDI.js} +1 -1
- package/chunks/{chunk-EETBL6X2.js → chunk-W3RVRCUB.js} +1 -1
- package/chunks/{chunk-U3FRSRMK.js → chunk-WG6J7DFO.js} +1 -1
- package/chunks/{chunk-3HC6RWFJ.js → chunk-XU5SILYR.js} +1 -1
- package/chunks/{chunk-7ZVGNL76.js → chunk-XVSIRN6G.js} +1 -1
- package/chunks/{chunk-XMVLDQGA.js → chunk-Y4ARZGGL.js} +1 -1
- package/chunks/{chunk-PASFORZM.js → chunk-YQVWAWMO.js} +1 -1
- package/chunks/{chunk-AN5JOFHD.js → chunk-YVIGHK4H.js} +1 -1
- package/chunks/{chunk-7FMX4QXF.js → chunk-ZNGLZECE.js} +1 -1
- package/chunks/{claude-code-T26K2CSI.js → claude-code-VUBEU7RR.js} +1 -1
- package/chunks/{clone-UYEZ44LL.js → clone-H3UAEVVP.js} +1 -1
- package/chunks/{commitmsg-646PHU7A.js → commitmsg-UK2ABB7D.js} +2 -2
- package/chunks/{concern-YRABYUVO.js → concern-Y7LJ2MWE.js} +1 -1
- package/chunks/{deno-VWFDRCYK.js → deno-7BSPHDRG.js} +1 -1
- package/chunks/{dev-G4VQ2IYE.js → dev-XBH6C6DH.js} +2 -2
- package/chunks/{done-5SD4KWRA.js → done-DIN56LXZ.js} +1 -1
- package/chunks/{file-tools-shared-6W7Q4BM3.js → file-tools-shared-G36OYF5S.js} +1 -1
- package/chunks/{gh-CD3B5KEN.js → gh-RKKHKA3B.js} +2 -2
- package/chunks/{gh-contributors-35JDS77W.js → gh-contributors-X7BW57DD.js} +1 -1
- package/chunks/{init-URA5HJ76.js → init-32DVDSNZ.js} +3 -3
- package/chunks/{init-FAWK4Z3E.js → init-PBLGKCHC.js} +1 -1
- package/chunks/{install-M74UAT7X.js → install-LM44N3DB.js} +1 -1
- package/chunks/{invoke-hook-4LHASYW3.js → invoke-hook-4DBMDFA5.js} +1 -1
- package/chunks/{kiro-G4OHOVFL.js → kiro-HQLXD6ZU.js} +1 -1
- package/chunks/{list-LBUVQR7O.js → list-5TGTYMAU.js} +1 -1
- package/chunks/{list-J5HOVH5E.js → list-N4ZKDFW7.js} +1 -1
- package/chunks/{list-4EO2DKMM.js → list-PY3A762R.js} +1 -1
- package/chunks/{load-config-DVKFZVST.js → load-config-FTQMJVEW.js} +1 -1
- package/chunks/{main-ODLLH74E.js → main-JTYNMHNL.js} +2 -2
- package/chunks/{manifest-QSFTIV3B.js → manifest-NF2EK757.js} +1 -1
- package/chunks/{mod-ZZYMEYCH.js → mod-5WXRQGLS.js} +1 -1
- package/chunks/{mod-YSMK5V7P.js → mod-FEGQZ3ZY.js} +1 -1
- package/chunks/{mod-QHYBU43F.js → mod-HKYPZOU7.js} +1 -1
- package/chunks/mod-IILBPQMK.js +2 -0
- package/chunks/{mod-5ZKIEGUP.js → mod-JI2A2546.js} +1 -1
- package/chunks/{mod-U23K3LXJ.js → mod-JZNE2HH6.js} +1 -1
- package/chunks/{mod-T55CWDLD.js → mod-MLRQFSBE.js} +1 -1
- package/chunks/{mod-S5HDMMLJ.js → mod-NCF6OSXO.js} +1 -1
- package/chunks/{mod-EWGGLW3S.js → mod-SA3J2VR5.js} +1 -1
- package/chunks/{mod-BE3R7D2V.js → mod-Y4UHOKMZ.js} +2 -2
- package/chunks/{mod-RLMNE7UW.js → mod-YX3JRMSI.js} +1 -1
- package/chunks/{new-GDE5UZWP.js → new-BOGCXTIY.js} +1 -1
- package/chunks/{next-2HGZUAMR.js → next-NQOJEFA5.js} +1 -1
- package/chunks/node-MFKYO4CY.js +2 -0
- package/chunks/{ollama-EE7S3UZE.js → ollama-36F5QAOO.js} +1 -1
- package/chunks/{opencode-WUF4YPPD.js → opencode-7J3JDC44.js} +1 -1
- package/chunks/{purge-OIEP3ALR.js → purge-SQ6NCKWN.js} +1 -1
- package/chunks/{recipe-applier-WZ43N5XT.js → recipe-applier-6QZYAZ57.js} +1 -1
- package/chunks/{registry-fetcher-G33L5S7X.js → registry-fetcher-76ISLGRR.js} +1 -1
- package/chunks/{release-5BYYTQJI.js → release-WKMSWXDS.js} +2 -2
- package/chunks/{release-notes-6M2YRB3G.js → release-notes-GOUHBQ2F.js} +1 -1
- package/chunks/{release-tag-QP4ZKQNS.js → release-tag-5WNEA4HM.js} +1 -1
- package/chunks/{reset-TKTDLTXB.js → reset-EYLAZVKO.js} +1 -1
- package/chunks/{rule-6TDBH4BL.js → rule-HV7DARH6.js} +1 -1
- package/chunks/{run-TQEEFEDE.js → run-CPCSTIAL.js} +1 -1
- package/chunks/{run-SU27QAHR.js → run-RGEZUAPM.js} +1 -1
- package/chunks/{scripts-ZSF43ZJN.js → scripts-JK6W2MCO.js} +1 -1
- package/chunks/{serve-JSDQDTTM.js → serve-DEYVWV2K.js} +2 -2
- package/chunks/{server-P46LIK5C.js → server-KNWQV2HW.js} +1 -1
- package/chunks/{spec-ATRKKK2P.js → spec-JCR5EYCU.js} +1 -1
- package/chunks/{status-H2KLEMT6.js → status-O5HUGPGE.js} +1 -1
- package/chunks/{sync-CK7PWMKK.js → sync-ZOU46K25.js} +1 -1
- package/chunks/{system-IV54LJTN.js → system-BJCQKFCP.js} +1 -1
- package/chunks/{system-NSABXTHD.js → system-X3EJ3FN3.js} +1 -1
- package/chunks/{update-HP5WGRNK.js → update-4C4WNXCE.js} +1 -1
- package/chunks/{validate-filenames-GKDIEJH4.js → validate-bom-KEC4IOKO.js} +1 -1
- package/chunks/{validate-bom-KGIGVVOU.js → validate-case-conflict-ZZKZQQX4.js} +1 -1
- package/chunks/validate-circular-deps-QCJYK5K5.js +2 -0
- package/chunks/{validate-commit-msg-2FLWH6TC.js → validate-commit-msg-PZZ4T4QF.js} +1 -1
- package/chunks/validate-docs-M55HAXPX.js +2 -0
- package/chunks/{validate-case-conflict-OO2AO434.js → validate-eof-MX52AUUT.js} +1 -1
- package/chunks/validate-export-names-UFXPIDFW.js +2 -0
- package/chunks/{validate-eof-E33EQKDM.js → validate-filenames-LXIMPWRW.js} +1 -1
- package/chunks/validate-json-TABLVKEH.js +2 -0
- package/chunks/validate-large-files-CMCMEGYA.js +2 -0
- package/chunks/validate-licenses-MDGIDYNC.js +2 -0
- package/chunks/validate-line-endings-K36HS73S.js +2 -0
- package/chunks/validate-merge-conflict-PMGZYM3B.js +2 -0
- package/chunks/validate-mod-exports-M3UYNBK7.js +2 -0
- package/chunks/{validate-package-configs-FXHXJMG4.js → validate-package-configs-V5LR7K5C.js} +1 -1
- package/chunks/validate-secrets-IAMY5DB5.js +2 -0
- package/chunks/validate-shebangs-GUBDNU2N.js +2 -0
- package/chunks/validate-submodules-ZA2FAF3W.js +2 -0
- package/chunks/validate-symlinks-LSEEVFTR.js +2 -0
- package/chunks/validate-toml-JLQ3BY73.js +2 -0
- package/chunks/validate-trailing-whitespace-3UUUKE22.js +2 -0
- package/chunks/validate-yaml-2BG7G35N.js +2 -0
- package/chunks/{versions-PZPDQ673.js → versions-IVXYMSAZ.js} +1 -1
- package/chunks/{watch-47KEOG5L.js → watch-YKYNWTZF.js} +1 -1
- package/chunks/{workerd-LDORGZ6V.js → workerd-VVSAKLDZ.js} +1 -1
- package/eser.js +1 -1
- package/package.json +1 -1
- package/chunks/bun-ZPIZVC7D.js +0 -2
- package/chunks/chunk-PHI2BESG.js +0 -2
- package/chunks/mod-6DSPYXMK.js +0 -2
- package/chunks/node-SUFYFPRO.js +0 -2
- package/chunks/validate-circular-deps-32ISYSEO.js +0 -2
- package/chunks/validate-docs-MNQ7ZRID.js +0 -2
- package/chunks/validate-export-names-IWS4NRYR.js +0 -2
- package/chunks/validate-json-L7BSQN3G.js +0 -2
- package/chunks/validate-large-files-CHHOQREX.js +0 -2
- package/chunks/validate-licenses-5WEHTSL4.js +0 -2
- package/chunks/validate-line-endings-EWGW2ZWD.js +0 -2
- package/chunks/validate-merge-conflict-IN5ZQJDJ.js +0 -2
- package/chunks/validate-mod-exports-PHEFFLDK.js +0 -2
- package/chunks/validate-secrets-ABX5UNHC.js +0 -2
- package/chunks/validate-shebangs-47GMC7WX.js +0 -2
- package/chunks/validate-submodules-4BPO5ORH.js +0 -2
- package/chunks/validate-symlinks-OCGMLYJS.js +0 -2
- package/chunks/validate-toml-MYSG53JW.js +0 -2
- package/chunks/validate-trailing-whitespace-AXXHTIAE.js +0 -2
- package/chunks/validate-yaml-FT5PODBP.js +0 -2
|
@@ -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-AGRTWPDI.js";import{a as y}from"./chunk-2VEVVX6U.js";import{a as C}from"./chunk-4DOMGQOO.js";import{f as v}from"./chunk-3BEX5FYF.js";import{b as i,f as m,g as x,h as k,i as g}from"./chunk-3SXTMY75.js";import{g as p}from"./chunk-A6RDYP6R.js";import{v as h}from"./chunk-MRCBHVSB.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,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-
|
|
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-VG72SSDI.js";import{n as $e}from"./chunk-KPWEJXPI.js";import{a as nt}from"./chunk-CUIMSX4V.js";import{c as fe}from"./chunk-4SYC4WJV.js";import{a as pe,b as re,c as z,d as Be}from"./chunk-NBA6EFWU.js";import{e as S}from"./chunk-LCG4SK6K.js";import{c as Qe,t as o}from"./chunk-MRCBHVSB.js";import{a as H}from"./chunk-STI6DX7K.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 }
|
|
@@ -125,4 +125,4 @@ ${l}`),{success:!1,clientBundle:"",moduleMap:{},clientComponents:0,duration:perf
|
|
|
125
125
|
</html>
|
|
126
126
|
`,{forceInclude:[/^\.flex/,/^\.grid/,/^\.block/,/^\.inline/,/^\.items-/,/^\.justify-/,/^\.gap-/,/^\.space-/,/^\.min-h-/,/^\.max-w-/,/^\.w-/,/^\.h-/,/^\.mx-/,/^\.my-/,/^\.px-/,/^\.py-/,/^\.p-/,/^\.m-/,/^\.mt-/,/^\.mb-/,/^\.ml-/,/^\.mr-/,/^\.pt-/,/^\.pb-/,/^\.pl-/,/^\.pr-/,/^\.sm:/,/^\.md:/,/^\.lg:/,/^\.xl:/,/^\.2xl:/,/^\.bg-neutral-/,/^\.bg-surface/,/^\.bg-primary-/,/^\.text-neutral-/,/^\.text-primary-/,/^\.text-white/,/^\.border/,/^\.rounded/,/^\.text-sm/,/^\.text-lg/,/^\.text-xl/,/^\.text-2xl/,/^\.text-3xl/,/^\.text-4xl/,/^\.text-5xl/,/^\.font-/,/^\.leading-/,/^\.overflow-/,/^\.visible/,/^\.invisible/,/^\.hidden/,/^\.relative/,/^\.absolute/,/^\.fixed/,/^\.sticky/,/^\.shadow/,/^html/,/^body/,/^#root/,/^\*/]}),a=o.path.resolve(t,"styles.critical.css"),c=o.path.resolve(t,"styles.deferred.css");await o.fs.writeTextFile(a,i.critical),await o.fs.writeTextFile(c,i.deferred);let u=i.stats;return u?g.debug(`\u2713 Critical CSS extracted: ${u.criticalSize} bytes critical, ${u.deferredSize} bytes deferred`):g.debug("\u2713 Critical CSS extracted"),{criticalPath:a,deferredPath:c}}catch(r){return g.error("Critical CSS extraction failed:",{error:r}),null}}async function Cr(e,t){if(!e.extractUniversalCss)return g.debug("CSS plugin doesn't support universal CSS extraction, skipping"),null;let n=o.path.resolve(t,"styles.css");if(!await o.fs.exists(n))return g.debug("No styles.css found, skipping universal CSS generation"),null;try{let r=await o.fs.readTextFile(n),s=e.extractUniversalCss(r),i=o.path.resolve(t,"styles.universal.css");return await o.fs.writeTextFile(i,s.css),g.debug(`\u2713 Universal CSS generated: ${s.css.length} bytes`),i}catch(r){return g.error("Universal CSS generation failed:",{error:r}),null}}async function vr(e,t){if(await o.fs.exists(e))if(t){g.debug("\u{1F9F9} Cleaning build directory (preserving CSS)");let n=o.path.resolve(e,G);await o.fs.exists(n)&&await o.fs.remove(n,{recursive:!0});let r=o.path.resolve(e,ke);if(await o.fs.exists(r))for await(let s of o.fs.readDir(r)){if(s.name.endsWith(".css")||s.name==="fonts"||s.name==="fonts.css"||s.name==="font-preloads.json")continue;let i=o.path.resolve(r,s.name);await o.fs.remove(i,{recursive:!0})}}else await o.fs.remove(e,{recursive:!0}),g.debug("\u{1F9F9} Cleaned build directory")}async function Sr(e,t){let r=Ve(t)[0];if(!r){g.debug("\u2713 No fonts configured, skipping font optimization");return}let s=o.path.resolve(e,"fonts"),i="/fonts";try{let a=await He(r,s,i),c=o.path.resolve(e,"fonts.css");await o.fs.writeTextFile(c,a.fontFaceCSS);let u=o.path.resolve(e,"font-preloads.json");await o.fs.writeTextFile(u,JSON.stringify(a.preloadHints,null,2)),g.debug(`\u2713 Fonts optimized: ${a.files.length} file(s), ${(a.totalSize/1024).toFixed(2)} KB`)}catch(a){g.error("Font optimization failed:",{error:a}),g.warn("Continuing build without font optimization")}}async function qe(e){let t=[];async function n(r){for await(let s of o.fs.readDir(r)){let i=o.path.resolve(r,s.name);s.isDirectory?await n(i):s.isFile&&s.name.endsWith(".module.css")&&t.push(i)}}return await n(e),t}async function an(e,t,n,r){let s=r?.cssModulePaths??await qe(n.srcDir);if(s.length===0)return g.debug("No CSS modules found, skipping CSS module processing"),new Map;g.debug(`Found ${s.length} CSS module(s)`);try{let i=await Ke(s,{generateDTS:n.cssModuleTypes,projectRoot:e,cache:r?.cache});for(let[a,c]of i)await nn(a,c,t,{skipCss:r?.skipCss,projectRoot:e});return g.debug(`\u2713 Processed ${s.length} CSS module(s)${n.cssModuleTypes?" with TypeScript definitions":""}`),i}catch(i){throw g.error("CSS module processing failed:",{error:i}),i}}async function ln(e,t,n){let r=0;for(let s of e){let i=o.path.relative(t,s),a=o.path.basename(s)+".json",c=o.path.join(t,o.path.dirname(i),a),u=o.path.join(n,o.path.dirname(i),a);await o.fs.ensureDir(o.path.dirname(u));try{await U(c,u,{overwrite:!0}),r++}catch(l){g.warn(` \u26A0 Failed to copy JSON for ${o.path.relative(t,s)}:`,{error:l})}}r>0&&g.debug(`\u2713 Copied ${r} CSS module JSON file(s)`)}async function Rr(e,t,n,r){if(e.length===0)return;let s;r?s=r:s=await Ke(e,{generateDTS:!1,projectRoot:t});let i=[];for(let[,a]of s)i.push(a.code);if(i.length>0){let a=o.path.resolve(n,"styles.css"),c="";try{c=await o.fs.readTextFile(a)}catch{}c=c.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"");let u=i.map(p=>p.replace(/\x1B\[[0-9;]*[a-zA-Z]/g,"")),l=c+`
|
|
127
127
|
`+u.join(`
|
|
128
|
-
`);await o.fs.writeTextFile(a,l),g.debug(`\u2713 Appended ${i.length} CSS module(s) to styles.css`)}}async function Pr(e,t,n){let{optimizeImages:r,scanImages:s}=await import("./mod-
|
|
128
|
+
`);await o.fs.writeTextFile(a,l),g.debug(`\u2713 Appended ${i.length} CSS module(s) to styles.css`)}}async function Pr(e,t,n){let{optimizeImages:r,scanImages:s}=await import("./mod-HKYPZOU7.js"),i=o.path.resolve(e,"public"),a=o.path.resolve(i,"images");if(!await o.fs.exists(a)){g.debug("\u2713 No images directory found, skipping image optimization");return}if((await s(a)).length===0){g.debug("\u2713 No images found, skipping image optimization");return}try{let u=o.path.resolve(t,"images"),l=await r(a,u,"/images",{formats:n.images.formats,widths:n.images.widths,quality:n.images.quality,generateBlurPlaceholder:n.images.placeholder==="blur"}),p=Object.keys(l.images).length;p>0&&g.debug(`\u2713 Optimized ${p} image(s)`)}catch(u){g.error("Image optimization failed:",{error:u}),g.warn("Continuing build without image optimization")}}export{Pe as a,_s as b,ai as c,dn as d,li as e,ui as f};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as c}from"./chunk-NBA6EFWU.js";import{t as u}from"./chunk-
|
|
2
|
+
import{b as c}from"./chunk-NBA6EFWU.js";import{t as u}from"./chunk-MRCBHVSB.js";var n=e=>{let a=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*");return new RegExp(`^${a}$`)};async function*f(e,a,s){let o=u.fs.walk(e,{includeDirs:!1,includeFiles:!0,exts:c,skip:[s]});for await(let r of o){let t=u.path.relative(e,r.path);a!==void 0&&!n(a).test(t)||(yield t)}}var F=new RegExp("[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]"),A=new RegExp("[\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65]");export{f as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
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-4DOMGQOO.js";import{b as r,f as n,g as h}from"./chunk-3SXTMY75.js";import{a as y}from"./chunk-MG65QJY6.js";import{g as i}from"./chunk-A6RDYP6R.js";import{v}from"./chunk-MRCBHVSB.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};
|
|
@@ -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-RGUETQSC.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};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{c as h}from"./chunk-
|
|
2
|
+
import{c as h}from"./chunk-WG6J7DFO.js";import{t as i}from"./chunk-MRCBHVSB.js";var d="<!-- noskills:start -->",u="<!-- noskills:end -->",w=(t,s,o="npx eser noskills")=>{let e=[d,"## noskills orchestrator","","This project uses noskills for state-driven orchestration.","Do NOT read `.eser/rules/`, `.eser/specs/`, or concern files directly.","noskills gives you exactly what you need via JSON output.","","### Protocol","",` ${o} next # get current instruction`,` ${o} next --answer="your response" # submit result and advance`,"","### When to call noskills next","",`You MUST call \`${o} next\` in these situations:`,"","1. At the **START** of every conversation (first thing you do)","2. **BEFORE** creating or modifying any file (to verify you have an active task)","3. **AFTER** completing a logical unit of work (to report progress)","4. When you encounter a **DECISION** that affects architecture or scope","5. When you are **UNSURE** what to do next","","NEVER proceed with implementation without checking noskills first.","NEVER make architectural decisions independently \u2014 noskills routes them to the user."];if((s?.allowGit??!1)||e.push("","### Git is read-only","","You MUST NOT run git write commands: commit, add, push, checkout, stash,","reset, merge, rebase, cherry-pick. The user controls git. You control files.","You MAY read from git: log, diff, status, show, blame."),e.push("","### Convention discovery","","When you discover a pattern, receive a correction, or identify a recurring",'preference from the user, ask: "Should this be a permanent rule for this',`project, or just for this task?" If permanent, run: \`${o} rule add`,'"<description>"`. If just this task, note it and move on.',"Never write to `.eser/rules/` directly.","","### JSON output","","noskills returns JSON with a `phase` field and phase-specific instructions.","The `meta` block contains resume context - use it to orient yourself,","especially after compaction or at the start of a new session.","Follow the `instruction` field. Use `transition` commands to advance state."),t.length>0){e.push("","### Active Rules","");for(let n of t)e.push(`- ${n}`)}return e.push(u),e.join(`
|
|
3
3
|
`)},p=async(t,s,o,e="npx eser noskills")=>{let n=`${t}/CLAUDE.md`,a=w(s,o,e),r;try{r=await i.fs.readTextFile(n);let l=r.indexOf(d),c=r.indexOf(u);l!==-1&&c!==-1?r=r.slice(0,l)+a+r.slice(c+u.length):r=r.trimEnd()+`
|
|
4
4
|
|
|
5
5
|
`+a+`
|
|
@@ -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-RGUETQSC.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,o as w}from"./chunk-3SXTMY75.js";import{t as g}from"./chunk-
|
|
2
|
+
import{a as D,o as w}from"./chunk-3SXTMY75.js";import{t as g}from"./chunk-MRCBHVSB.js";import{d as j}from"./chunk-G6NAG2EK.js";var v=class extends Error{constructor(r){super(r),this.name="StreamError"}},b=class extends v{cause;constructor(r,n){super(r),this.name="PipelineError",this.cause=n}},x=class extends v{constructor(r){super(`Pipeline timed out after ${r}ms`),this.name="TimeoutError"}};var f=(e,r)=>{let n=typeof e=="string"?"text":e instanceof Uint8Array?"bytes":"structured";return{data:e,meta:{timestamp:Date.now(),kind:n,channel:"stdout",...r}}};var T=e=>({name:e.name,transform:()=>{let r=e.create();return new TransformStream({start:r.start?n=>r.start(n):void 0,transform:(n,t)=>r.transform(n,t),flush:r.flush?n=>r.flush(n):void 0})}});var L=e=>{switch(e.kind){case"text":return e.value;case"newline":return`
|
|
3
3
|
`;case"bold":case"dim":case"italic":case"underline":case"strikethrough":case"color":case"group":return e.children.map(L).join("");case"code-block":return e.value.split(`
|
|
4
4
|
`).map(r=>` ${r}`).join(`
|
|
5
5
|
`)+`
|
|
@@ -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-RGUETQSC.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
|
-
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-PVPMHMKP.js";import{t as o}from"./chunk-MRCBHVSB.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,2 +1,2 @@
|
|
|
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-RGUETQSC.js";import{a as n}from"./chunk-3XJLLDR5.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{a as i}from"./chunk-
|
|
2
|
+
import{a as i}from"./chunk-RGUETQSC.js";import{a as r}from"./chunk-P7WCO724.js";var t=i({name:"validate-toml",description:"Validate TOML syntax",canFix:!1,stacks:[],defaults:{},extensions:["toml"],checkFile(e,o){if(o===void 0)return[];try{return r(o),[]}catch(a){let s=a instanceof Error?a.message:"invalid TOML";return[{path:e.path,message:s}]}}}),p=t.run,d=t.validator,u=t.main;export{t as a,p as b,d as c,u as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{m as w,o as R}from"./chunk-
|
|
2
|
+
import{m as w,o as R}from"./chunk-UJ6LH5FY.js";import{t as g}from"./chunk-MRCBHVSB.js";var p=class extends Error{constructor(r){super(`Required variable '${r}' has no value and no default`),this.name="MissingVariableError"}},m=(e,r)=>{let t={};for(let n of e){let a=r[n.name];if(a!==void 0)t[n.name]=a;else if(n.default!==void 0)t[n.name]=n.default;else throw new p(n.name)}return t},v=(e,r)=>e.replace(/\{\{\s*\.(\w+)\s*\}\}/g,(t,n)=>n in r?r[n]:t);var y=class extends Error{constructor(r){super(`Circular dependency detected: ${r.join(" \u2192 ")}`),this.name="CyclicDependencyError"}},f=class extends Error{constructor(r,t){super(`Recipe '${r}' requires '${t}', which is not in the registry`),this.name="MissingDependencyError"}},b=(e,r)=>{let t=new Map;for(let s of r)t.set(s.name,s);if(t.get(e)===void 0)throw new f("<root>",e);let a=[],i=new Set,o=new Set,l=(s,d)=>{if(i.has(s))return;if(o.has(s))throw new y([...d,s]);let c=t.get(s);if(c===void 0)throw new f(d[d.length-1]??"<root>",s);if(o.add(s),c.requires!==void 0)for(let u of c.requires)l(u,[...d,s]);o.delete(s),i.add(s),a.push(c)};return l(e,[]),a};var $=(e,r)=>{let t=e.endsWith("/")?e:`${e}/`,n=new URL(r,`file://${t}`).pathname;return n.startsWith(t)||n===e},x=async e=>{let r=e.split("/");r.pop();let t=r.join("/");t!==""&&t!=="."&&await g.fs.mkdir(t,{recursive:!0})},h=async e=>{try{return await g.fs.stat(e),!0}catch{return!1}},k=(e,r)=>r===void 0||Object.keys(r).length===0?e:v(e,r),F=async(e,r,t,n)=>{let a=`${r.cwd}/${e.target}`;if(n.includes(e.target))return;if(r.skipExisting===!0&&await h(a)){r.verbose===!0&&console.log(` [skip] ${e.target} (already exists)`),n.push(e.target);return}if(r.dryRun===!0){console.log(` [dry-run] would write ${e.target}`),t.push(e.target);return}r.verbose===!0&&console.log(` [write] ${e.target}`);let i=await w(r.registryUrl,e.source),o=k(i,r.variables);await x(a),await g.fs.writeTextFile(a,o),t.push(e.target)},E=async(e,r,t,n)=>{let a=await R(r.registryUrl,e.source);for(let i of a){let o=`${e.target}/${i.path}`;if(!$(r.cwd,o))throw new Error(`Folder recipe contains path traversal in '${o}'. Aborting.`)}for(let i of a){let o=`${e.target}/${i.path}`,l=`${r.cwd}/${o}`;if(r.skipExisting===!0&&await h(l)){n.push(o);continue}if(r.dryRun===!0){console.log(` [dry-run] would write ${o}`),t.push(o);continue}r.verbose===!0&&console.log(` [write] ${o}`);let s=k(i.content,r.variables);await x(l),await g.fs.writeTextFile(l,s),t.push(o)}},S=async(e,r,t,n)=>{let a=[];for(let i of e){if(t===!0){console.log(` [dry-run] would run: ${i}`),a.push(i);continue}n===!0&&console.log(` [post-install] ${i}`);let o=i.split(/\s+/),l=await g.exec.spawn(o[0],o.slice(1),{cwd:r,stdout:"inherit",stderr:"inherit"});if(!l.success)throw new Error(`Post-install command failed: '${i}' (exit code ${l.code})`);a.push(i)}return a},q=async(e,r)=>{let t=[],n=[],a=e.files.length,i=r.variables;e.variables!==void 0&&e.variables.length>0&&(i=m(e.variables,r.variables??{}));let o={...r,variables:i};for(let s of e.files)if((s.kind??"file")==="file"&&!$(r.cwd,s.target))throw new Error(`Recipe '${e.name}' contains path traversal in target '${s.target}'. Aborting.`);if(r.force!==!0&&r.skipExisting!==!0)for(let s of e.files){if((s.kind??"file")!=="file")continue;let c=`${r.cwd}/${s.target}`;await h(c)&&(r.dryRun===!0?console.log(` [conflict] ${s.target} (already exists)`):(console.warn(` Warning: ${s.target} already exists. Use --force to overwrite or --skip-existing to skip.`),n.push(s.target)))}for(let s of e.files){let d=s.kind??"file";try{d==="folder"?await E(s,o,t,n):await F(s,o,t,n)}catch(c){let u=c instanceof Error?c.message:String(c);throw new Error(`Failed applying '${s.target}'. ${t.length} files written so far. Retry with \`eser kit add ${e.name} --force\`. Cause: ${u}`)}}let l=[];return e.postInstall!==void 0&&e.postInstall.length>0&&(l=await S(e.postInstall,r.cwd,r.dryRun,r.verbose)),{written:t,skipped:n,total:a,postInstallRan:l}},V=async(e,r,t)=>{let n=b(e,r),a=[];for(let i of n){t.verbose===!0&&console.log(`
|
|
3
3
|
Applying recipe: ${i.name}`);let o=await q(i,t);a.push({name:i.name,result:o})}return{recipes:a}};export{$ as a,h as b,k as c,S as d,q as e,V as f};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{t as c}from"./chunk-
|
|
2
|
+
import{t as c}from"./chunk-MRCBHVSB.js";var f=async(n,r)=>{let e=`${n}/.eser/specs/${r}/spec.md`,t;try{t=await c.fs.readTextFile(e)}catch{return null}return d(r,t)},d=(n,r)=>{let e=[],t=[],o=[],i="";for(let l of r.split(`
|
|
3
3
|
`)){let s=l.trim();if(s.startsWith("## ")){i=s.slice(3).trim().toLowerCase();continue}if(i.startsWith("tasks")){let a=s.match(/^-\s*\[[ x]\]\s*(task-\d+):\s*(.+)$/i);a!==null&&e.push({id:a[1],title:a[2].trim()})}i.startsWith("out of scope")&&s.startsWith("- ")&&t.push(s.slice(2).trim()),i.startsWith("verification")&&s.startsWith("- ")&&o.push(s.slice(2).trim())}return{name:n,tasks:e,outOfScope:t,verification:o}},u=(n,r)=>{let e=new Set(r);for(let t of n)if(!e.has(t.id))return t;return null};export{f as a,d as b,u as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
+
import{f as j,h as K,k as F}from"./chunk-GBM3TZFD.js";import{b as a,c as W,d as l,e as M,f as w,g as c,h as x,i as X,k as T,l as $,n as D}from"./chunk-3SXTMY75.js";import{t as A}from"./chunk-MRCBHVSB.js";var f=Symbol("tui.cancel"),ae=e=>e===f,ie=()=>{try{return A.process.stdin}catch{return new ReadableStream}},oe=e=>{let t=e?.interaction??(e?.target==="non-interactive"?"non-interactive":"interactive"),n=e?.audience??"human",s=t==="non-interactive"?"non-interactive":"interactive",r=t==="interactive";return{output:e?.output??j({renderer:r?F.ansi():F.plain(),sink:r?K.stdout():K.stderr()}),input:e?.input??ie(),target:s,interaction:t,audience:n,stderr:e?.stderr??j({renderer:F.plain(),sink:K.stderr()})}};var g="\u2502",G="\u250C",h="\u2514";var H="\u25CF",q="\u25CB",z="\u25FC",J="\u25FB",P="\u25C6",C="\u25C7",b="\u25A0",Q="\u25CF";var N="\u25B2";var Z="\u25C7";var v=async e=>{let t=!1;if(A.capabilities.stdin&&A.process.isTerminal("stdin"))try{A.process.setStdinRaw(!0),t=!0}catch{}try{return await e()}finally{if(t)try{A.process.setStdinRaw(!1)}catch{}}},R=e=>{e.write(a("\x1B[?25l"))},E=e=>{e.write(a("\x1B[?25h"))},m=(e,t)=>{t>0&&e.write(a(`\x1B[${t}A\x1B[J`))};var le=e=>{if(e.length===1&&e[0]===3)return{name:"c",ctrl:!0,meta:!1,shift:!1};if(e.length===1&&e[0]===27)return{name:"escape",ctrl:!1,meta:!1,shift:!1};if(e.length===1&&(e[0]===13||e[0]===10))return{name:"return",ctrl:!1,meta:!1,shift:!1};if(e.length===1&&e[0]===9)return{name:"tab",ctrl:!1,meta:!1,shift:!1};if(e.length===1&&e[0]===127)return{name:"backspace",ctrl:!1,meta:!1,shift:!1};if(e.length>=3&&e[0]===27&&e[1]===91)switch(e[2]){case 65:return{name:"up",ctrl:!1,meta:!1,shift:!1};case 66:return{name:"down",ctrl:!1,meta:!1,shift:!1};case 67:return{name:"right",ctrl:!1,meta:!1,shift:!1};case 68:return{name:"left",ctrl:!1,meta:!1,shift:!1};case 72:return{name:"home",ctrl:!1,meta:!1,shift:!1};case 70:return{name:"end",ctrl:!1,meta:!1,shift:!1}}if(e.length===1&&e[0]>=1&&e[0]<=26)return{name:String.fromCharCode(e[0]+96),ctrl:!0,meta:!1,shift:!1};if(e.length===1&&e[0]===32)return{name:"space",char:" ",ctrl:!1,meta:!1,shift:!1};if(e.length===1&&e[0]>=33&&e[0]<=126){let t=String.fromCharCode(e[0]);return{name:t,char:t,ctrl:!1,meta:!1,shift:!1}}if(e.length>0&&e[0]>=192){let t=new TextDecoder().decode(e);return{name:t,char:t,ctrl:!1,meta:!1,shift:!1}}return{name:"unknown",ctrl:!1,meta:!1,shift:!1}};async function*k(e,t){let n=e.getReader();try{for(;!t?.aborted;){let{done:s,value:r}=await n.read();if(s||r===void 0)break;yield le(r)}}finally{n.releaseLock()}}var U=(e,t,n,s)=>{if(s==="done"){let o=n?"Yes":"No";return e.output.writeln(c(C),a(` ${t}`),l(` \xB7 ${o}`)),1}if(s==="cancel")return e.output.writeln(w(b),a(` ${t}`)),1;let r=n?M(c(H),a(" Yes")):M(l(q),l(" Yes")),i=n?M(l(q),l(" No")):M(c(H),a(" No"));return e.output.writeln(T(P),a(` ${t}`)),e.output.writeln(l(g),a(" "),r,l(" / "),i),e.output.writeln(l(h)),3},pe=async(e,t)=>{let n=t.initialValue??!0,s=0;R(e.output);try{return await v(async()=>{s=U(e,t.message,n,"active"),await e.output.flush();for await(let r of k(e.input)){if(r.name==="c"&&r.ctrl)return m(e.output,s),U(e,t.message,n,"cancel"),await e.output.flush(),f;if(r.name==="escape")return m(e.output,s),U(e,t.message,n,"cancel"),await e.output.flush(),f;if(r.name==="return")return m(e.output,s),U(e,t.message,n,"done"),await e.output.flush(),n;let i=!1;(r.name==="left"||r.name==="right")&&(n=!n,i=!0),(r.name==="y"||r.name==="Y")&&(n=!0,i=!0),(r.name==="n"||r.name==="N")&&(n=!1,i=!0),i&&(m(e.output,s),s=U(e,t.message,n,"active"),await e.output.flush())}return f})}finally{E(e.output),await e.output.flush()}};var _=(e,t,n,s,r,i)=>{if(i==="done")return e.output.writeln(c(C),a(` ${t}`),l(` \xB7 ${n}`)),1;if(i==="cancel")return e.output.writeln(w(b),a(` ${t}`)),1;let o=n.length>0?a(n):s!==void 0?l(s):a(""),d=r!==void 0?x(N):T(P);e.output.writeln(d,a(` ${t}`)),e.output.writeln(l(g),a(" "),o);let y=2;return r!==void 0?(e.output.writeln(l(h),a(" "),x(r)),y=3):(e.output.writeln(l(h)),y=3),y},ue=async(e,t)=>{let n=t.initialValue??"",s=n.length,r,i=0;R(e.output);try{return await v(async()=>{i=_(e,t.message,n,t.placeholder,r,"active"),await e.output.flush();for await(let o of k(e.input)){if(o.name==="c"&&o.ctrl)return m(e.output,i),_(e,t.message,n,t.placeholder,void 0,"cancel"),await e.output.flush(),f;if(o.name==="escape")return m(e.output,i),_(e,t.message,n,t.placeholder,void 0,"cancel"),await e.output.flush(),f;if(o.name==="return"){if(t.validate!==void 0){let d=t.validate(n);if(d!==void 0){r=d,m(e.output,i),i=_(e,t.message,n,t.placeholder,r,"active"),await e.output.flush();continue}}return m(e.output,i),_(e,t.message,n,t.placeholder,void 0,"done"),await e.output.flush(),n}if(r=void 0,o.name==="backspace")s>0&&(n=n.slice(0,s-1)+n.slice(s),s--);else if(o.name==="left")s>0&&s--;else if(o.name==="right")s<n.length&&s++;else if(o.name==="home")s=0;else if(o.name==="end")s=n.length;else if(o.char!==void 0)n=n.slice(0,s)+o.char+n.slice(s),s++;else continue;m(e.output,i),i=_(e,t.message,n,t.placeholder,r,"active"),await e.output.flush()}return f})}finally{E(e.output),await e.output.flush()}};var L=(e,t,n,s,r,i,o)=>{if(o==="done"){let u=[...r].sort((p,I)=>p-I).map(p=>n[p]?.label??"").join(", ");return e.output.writeln(c(C),a(` ${t}`),l(` \xB7 ${u}`)),1}if(o==="cancel")return e.output.writeln(w(b),a(` ${t}`)),1;let d=i!==void 0?x(N):T(P);e.output.writeln(d,a(` ${t}`));for(let u=0;u<n.length;u++){let p=n[u],I=u===s,ee=r.has(u),te=p.disabled===!0,ne=ee?c(z):l(J),se=te?l(` ${p.label}`):I?a(` ${p.label}`):l(` ${p.label}`),re=p.hint!==void 0?l(` (${p.hint})`):a("");e.output.writeln(l(g),a(" "),ne,se,re)}let y=n.length+2;return i!==void 0?e.output.writeln(l(h),a(" "),x(i)):e.output.writeln(l(h)),y},Y=(e,t,n)=>{let s=e.length,r=t;for(let i=0;i<s;i++)if(r=(r+n+s)%s,e[r]?.disabled!==!0)return r;return t},de=async(e,t)=>{let n=0,s=new Set;if(t.initialValues!==void 0)for(let o of t.initialValues){let d=t.options.findIndex(y=>y.value===o);d>=0&&s.add(d)}t.options[n]?.disabled===!0&&(n=Y(t.options,n,1));let r=0,i;R(e.output);try{return await v(async()=>{r=L(e,t.message,t.options,n,s,i,"active"),await e.output.flush();for await(let o of k(e.input)){if(o.name==="c"&&o.ctrl)return m(e.output,r),L(e,t.message,t.options,n,s,void 0,"cancel"),await e.output.flush(),f;if(o.name==="escape")return m(e.output,r),L(e,t.message,t.options,n,s,void 0,"cancel"),await e.output.flush(),f;if(o.name==="return"){if(t.required!==!1&&s.size===0){i="Please select at least one option.",m(e.output,r),r=L(e,t.message,t.options,n,s,i,"active"),await e.output.flush();continue}return m(e.output,r),L(e,t.message,t.options,n,s,void 0,"done"),await e.output.flush(),[...s].sort((y,u)=>y-u).map(y=>t.options[y].value)}i=void 0;let d=!1;if((o.name==="up"||o.name==="k")&&(n=Y(t.options,n,-1),d=!0),(o.name==="down"||o.name==="j")&&(n=Y(t.options,n,1),d=!0),o.name==="space"&&t.options[n]?.disabled!==!0&&(s.has(n)?s.delete(n):s.add(n),d=!0),o.name==="a"){let y=t.options.every((u,p)=>u.disabled===!0||s.has(p));for(let u=0;u<t.options.length;u++)t.options[u]?.disabled!==!0&&(y?s.delete(u):s.add(u));d=!0}d&&(m(e.output,r),r=L(e,t.message,t.options,n,s,i,"active"),await e.output.flush())}return f})}finally{E(e.output),await e.output.flush()}};var me=(e,t)=>{e.output.writeln($(G),a(" "),W(t)),e.output.writeln($(g))},fe=(e,t)=>{e.output.writeln($(g)),e.output.writeln($(h),a(" "),a(t))},ye={info:(e,t)=>{e.output.writeln(D("info",t))},success:(e,t)=>{e.output.writeln(D("success",t))},warn:(e,t)=>{e.output.writeln(D("warning",t))},error:(e,t)=>{e.output.writeln(D("error",t))},step:(e,t)=>{e.output.writeln(l(Z),a(" "),l(t))},message:(e,t,n)=>{e.output.writeln(l(n??g),a(" "),a(t))}};var ce=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],ge=80,he=(e,t,n)=>{let s=n?.frames??ce,r=n?.interval??ge,i=t,o=0,d,y=()=>{e.output.write(a(`\r${" ".repeat(i.length+4)}\r`))},u=()=>{d!==void 0&&(clearInterval(d),d=void 0,y())};return{start:p=>{p!==void 0&&(i=p),d=setInterval(()=>{let I=s[o%s.length];e.output.write(a("\r"),T(I??""),a(` ${i}`)),o++},r)},stop:p=>{u(),p!==void 0&&(i=p)},update:p=>{i=p},succeed:p=>{u(),e.output.writeln(c(C),a(` ${p??i}`))},fail:p=>{u(),e.output.writeln(w(b),a(` ${p??i}`))},warn:p=>{u(),e.output.writeln(x(N),a(` ${p??i}`))},info:p=>{u(),e.output.writeln(X(Q),a(` ${p??i}`))}}};export{ae as a,oe as b,pe as c,ue as d,de as e,me as f,fe as g,ye as h,he as i};
|
|
@@ -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-RGUETQSC.js";import{a as l}from"./chunk-JYNHFD6B.js";import{e as n}from"./chunk-G6NAG2EK.js";var i=n(l(),1);var a=o({name:"validate-yaml",description:"Validate YAML syntax",canFix:!1,stacks:[],defaults:{},extensions:["yml","yaml"],checkFile(e,r){if(r===void 0)return[];try{return i.parse(r),[]}catch(t){let s=t instanceof Error?t.message:"invalid YAML";return[{path:e.path,message:s}]}}}),d=a.run,u=a.validator,f=a.main;export{a,d as b,u 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 C,c as E}from"./chunk-
|
|
2
|
+
import{a as C,c as E}from"./chunk-AGRTWPDI.js";import{a as k}from"./chunk-2VEVVX6U.js";import{a as x}from"./chunk-4DOMGQOO.js";import{f as h}from"./chunk-3BEX5FYF.js";import{b as i,f as d,g as f,h as u,i as g}from"./chunk-3SXTMY75.js";import{g as n}from"./chunk-A6RDYP6R.js";import{v as c}from"./chunk-MRCBHVSB.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,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as r}from"./chunk-
|
|
2
|
+
import{b as r}from"./chunk-SQINSLNL.js";var n=class{description;#o;#s;#e=[];constructor(o){this.description=o.description,this.#o=o.modules??{},this.#s=o.aliases??{}}addSubmodule(o,e){return this.#e.push({registration:o,module:e}),this}async addSubmoduleAsync(o,e){let s=await e;return this.#e.push({registration:o,module:s}),this}toGroupOptions(){return{description:this.description,modules:this.#o,aliases:Object.keys(this.#s).length>0?this.#s:void 0}}toCommand(o,e){let s=new r(o).description(this.description);e!==void 0&&s.version(e),Object.keys(this.#o).length>0&&s.modules(this.toGroupOptions());for(let{registration:t,module:d}of this.#e){let i=d.toGroupOptions();if(s.group(t.name,i),t.aliases!==void 0)for(let a of t.aliases)s.groupAlias(a,t.name,i)}return s}};export{n as a};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as $}from"./chunk-
|
|
2
|
+
import{a as $}from"./chunk-CUIMSX4V.js";import{e as x}from"./chunk-LCG4SK6K.js";import{t as c}from"./chunk-MRCBHVSB.js";import{Scanner as ie}from"@tailwindcss/oxide";import{compile as j}from"tailwindcss";async function L(e,s){if(e.startsWith(".")||e.startsWith("/")){let r=c.path.resolve(s,e),n=await c.fs.readTextFile(r);return{path:r,content:n,base:c.path.dirname(r)}}let t=s;for(;t!=="/"&&t!=="";){let r=c.path.resolve(t,"node_modules",e);try{let n=await c.fs.readTextFile(r);return{path:r,content:n,base:c.path.dirname(r)}}catch{if(!e.endsWith(".css")){let a=`${r}.css`;try{let o=await c.fs.readTextFile(a);return{path:a,content:o,base:c.path.dirname(a)}}catch{}}let n=c.path.resolve(t,"node_modules",e,"index.css");try{let a=await c.fs.readTextFile(n);return{path:n,content:a,base:c.path.dirname(n)}}catch{t=c.path.dirname(t)}}}let l=c.path.resolve(s,e),i=await c.fs.readTextFile(l);return{path:l,content:i,base:c.path.dirname(l)}}async function w(e,s){let t=await j(e,{base:s.base,loadStylesheet:L}),l=s.candidates??[];return t.build(l)}function v(e,s){return w(e,{base:s,candidates:[]})}var R=["theme","base","properties"],P=[/^\.(flex|grid|block|inline|hidden)/,/^\.(items-|justify-|gap-|space-)/,/^\.(w-|h-|min-h-|max-w-)/,/^\.(p-|px-|py-|pt-|pb-|pl-|pr-)/,/^\.(m-|mx-|my-|mt-|mb-|ml-|mr-)/,/^\.(text-|font-|leading-)/,/^\.(bg-|border-)/,/^\.(from-|via-|to-)/,/^\.(container|wrapper)/,/^\.(rounded|shadow)/,/^\.(overflow-)/,/^\.(sm:|md:|lg:|xl:)/],B=[/--tw-gradient/,/--tw-rotate/,/--tw-scale/,/--tw-skew/,/--tw-translate/,/--tw-shadow/,/--tw-ring/,/--tw-blur/,/--tw-brightness/];function N(){return{criticalLayers:R,aboveFoldPatterns:P,forceInclude:[],forceExclude:[]}}var b=x.getLogger(["laroux-bundler","critical-page-css"]);function W(e,s){let t=s;for(;t<e.length&&e[t]!=="{";)t++;if(t>=e.length)return null;let l=t+1,i=1;for(t++;t<e.length&&i>0;)e[t]==="{"?i++:e[t]==="}"&&i--,t++;return{innerContent:e.slice(l,t-1).trim(),end:t}}function V(e){let s=[],t="@keyframes",l=0;for(;l<e.length;){let i=e.indexOf(t,l);if(i===-1)break;let r=i+t.length;for(;r<e.length&&/\s/.test(e[r]??"");)r++;let n=r;for(;n<e.length&&e[n]!=="{"&&!/\s/.test(e[n]??"");)n++;let a=e.slice(r,n),o=n;for(;o<e.length&&e[o]!=="{";)o++;if(o>=e.length){l=e.length;break}let g=1,u=o+1;for(;u<e.length&&g>0;)e[u]==="{"?g++:e[u]==="}"&&g--,u++;let d=e.slice(i,u);s.push({name:a,block:d}),l=u}return s}function Z(e){let s=new Map,t=new Map,l=new Map,i=/@layer\s+([a-zA-Z_-][a-zA-Z0-9_-]*)\s*[{;]/g,r;for(;(r=i.exec(e))!==null;){let n=r[1];if(n===void 0||r[0].endsWith(";"))continue;let a=W(e,r.index+r[0].length-1);a&&(t.has(n)||(t.set(n,[]),l.set(n,{start:r.index,end:a.end})),t.get(n).push(a.innerContent),l.get(n).end=a.end)}for(let[n,a]of t){let o=a.join(`
|
|
3
3
|
`),g=l.get(n);s.set(n,{block:`@layer ${n} {
|
|
4
4
|
${o}
|
|
5
5
|
}`,start:g.start,end:g.end})}return s}function Y(e){let s=[],t=0;for(;t<e.length;){for(;t<e.length&&/\s/.test(e[t]);)t++;if(t>=e.length)break;let l=t;for(;t<e.length&&e[t]!=="{";)t++;if(t>=e.length)break;let i=e.slice(l,t).trim();if(!i){t++;continue}let r=1;for(t++;t<e.length&&r>0;)e[t]==="{"?r++:e[t]==="}"&&r--,t++;let n=e.slice(l,t);i.startsWith("@media")||i.startsWith("@supports")?s.push({selector:"@media",full:n}):i&&!i.startsWith("@")&&s.push({selector:i,full:n})}return s}function H(e,s){let t=e.match(/\.([a-zA-Z_-][a-zA-Z0-9_\-\\:/.[\]]*)/g);if(t)for(let r of t){let n=r.substring(1);if(n=n.replace(/\\/g,""),n=n.split(":")[0]??"",n&&new RegExp(`class=["'][^"']*\\b${q(n)}\\b`,"i").test(s))return!0}let l=e.match(/^([a-zA-Z][a-zA-Z0-9-]*)/);if(l&&l[1]){let r=l[1].toLowerCase();if(new RegExp(`<${r}[\\s>]`,"i").test(s))return!0}let i=e.match(/#([a-zA-Z_-][a-zA-Z0-9_-]*)/g);if(i)for(let r of i){let n=r.substring(1);if(new RegExp(`id=["']${n}["']`,"i").test(s))return!0}return!1}function q(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function z(e,s){return s.some(t=>typeof t=="string"?e.includes(t):t.test(e))}function K(e){return P.some(s=>s.test(e))}function k(e){let{html:s,css:t,forceInclude:l=[],forceExclude:i=[]}=e;b.debug("Extracting critical page CSS (Tailwind v4 aware)...");let r=[],n=[],a=0,o=0,g=t.match(/^\/\*![\s\S]*?\*\//);g&&r.push(g[0]);let u=t.match(/@layer\s+[\w,-]{1,200}(?:\s+[\w,-]{1,50})*\s*;/);u&&r.push(u[0]);let d=/@property\s+--[\w-]+\s*\{[^}]{0,5000}\}/g,f=t.match(d)??[];f.length>0&&(r.push(f.join(`
|
|
@@ -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-455V3AE5.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,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as I,c as D}from"./chunk-
|
|
2
|
+
import{b as I,c as D}from"./chunk-Y4ARZGGL.js";import{a as N,b as f}from"./chunk-STI6DX7K.js";import{a as m,b as T,c as A,d as S}from"./chunk-DTO2YJWZ.js";import{d as Y}from"./chunk-G6NAG2EK.js";var J={};Y(J,{AlreadyExistsError:()=>A,NotFoundError:()=>T,ProcessError:()=>S,RuntimeCapabilityError:()=>m,buildCommand:()=>P,clearWorkerdEnv:()=>D,createRuntime:()=>G,current:()=>xe,detectExecutionContext:()=>V,detectInvoker:()=>C,detectRuntime:()=>a,getArch:()=>y,getCliCommand:()=>q,getHomedir:()=>R,getPlatform:()=>u,getPlatformInfo:()=>U,getRuntimeVersion:()=>M,getTmpdir:()=>v,isBrowser:()=>W,isCommandInPath:()=>c,isEdge:()=>B,isRuntime:()=>_,isServer:()=>j,populateEnvFromContext:()=>I,posixPath:()=>f,resolvePathDirs:()=>b,runtime:()=>o,searchFileHierarchy:()=>$,toPosix:()=>N});var i=globalThis,Z=()=>typeof i.caches<"u"&&typeof i.Request<"u"&&typeof i.Response<"u"&&typeof i.window>"u"&&typeof i.document>"u",ee=()=>typeof i.window<"u"||typeof i.document<"u",a=()=>{if(typeof globalThis>"u")return"unknown";if(typeof i.Bun<"u")return"bun";if(typeof i.Deno<"u")return"deno";let e=i.process;return e?.versions?.node&&!e?.versions?.bun?"node":Z()?"workerd":ee()?"browser":"unknown"},ne={deno:()=>i.Deno?.version?.deno??"unknown",bun:()=>i.Bun?.version??"unknown",node:()=>i.process?.versions?.node??"unknown",workerd:()=>"unknown",browser:()=>i.navigator?.userAgent??"unknown",unknown:()=>"unknown"},M=()=>ne[a()](),_=e=>a()===e,W=()=>a()==="browser",te=new Set(["deno","node","bun"]),j=()=>te.has(a()),B=()=>a()==="workerd";var oe=e=>{if(typeof Deno<"u"&&Deno.env?.get)return Deno.env.get(e);let n=globalThis.process;if(n?.env)return n.env[e]},x=(...e)=>{for(let n of e){let t=oe(n);if(t!==void 0)return t}},g=e=>{try{let n=globalThis.require;if(n instanceof Function)return n(e)}catch{}},w=()=>globalThis.process,h=()=>globalThis.navigator;var H={darwin:"darwin",linux:"linux",windows:"windows",win32:"windows"},u=()=>{if(typeof Deno<"u"&&Deno.build?.os)return H[Deno.build.os]??"linux";let e=w();if(e?.platform)return H[e.platform]??"linux";let n=h();if(n?.userAgent){let t=n.userAgent.toLowerCase();if(t.includes("mac"))return"darwin";if(t.includes("win"))return"windows";if(t.includes("linux"))return"linux"}return"linux"},L={x86_64:"amd64",x64:"amd64",aarch64:"arm64",arm64:"arm64"},y=()=>{if(typeof Deno<"u"&&Deno.build?.arch)return L[Deno.build.arch]??"amd64";let e=w();if(e?.arch)return L[e.arch]??"amd64";let n=h();if(n?.userAgent){let t=n.userAgent.toLowerCase();if(t.includes("arm64")||t.includes("aarch64"))return"arm64"}return"amd64"},R=()=>{let e=x("HOME","USERPROFILE");if(e)return e;let n=g("os");return n?.homedir?n.homedir():u()==="windows"?"C:\\Users\\Default":"/home"},v=()=>{let e=x("TMPDIR","TMP","TEMP");if(e)return e;let n=g("os");return n?.tmpdir?n.tmpdir():u()==="windows"?"C:\\Windows\\Temp":"/tmp"},U=()=>({platform:u(),arch:y(),homedir:R(),tmpdir:v()});var $=async(e,n,t={})=>{let{searchParents:r=!1}=t,s=e;for(;;){for(let l of n){let p=o.path.join(s,l);if(await o.fs.exists(p)&&(await o.fs.stat(p)).isFile)return p}if(!r)break;let d=o.path.dirname(s);if(d===s)break;s=d}};var b=(e,n)=>{let t=n==="windows"?";":":";return e.split(t).filter(r=>r.length>0)},C=(e,n,t,r,s)=>{if(t)return{invoker:"binary",mode:"installed"};if(n==="bun")return e.BUN_INSTALL!==void 0?{invoker:"bun",mode:"installed"}:{invoker:"bunx",mode:"on-demand"};if(n==="node"){let d=e.npm_execpath??"";return d.includes("npx")?{invoker:"npx",mode:"on-demand"}:d.includes("pnpm")?{invoker:"pnpx",mode:"on-demand"}:(e.npm_config_user_agent??"").includes("pnpm")?{invoker:"pnpm",mode:"installed"}:{invoker:"npm",mode:"installed"}}return n==="deno"?r!==void 0&&(r.startsWith("jsr:")||r.startsWith("https:"))?{invoker:"deno",mode:"on-demand"}:s===!0?{invoker:"dev",mode:"dev"}:{invoker:"deno",mode:"installed"}:{invoker:"unknown",mode:"installed"}},P=(e,n,t)=>e==="npx"?`npx ${t.npmPackage}`:e==="pnpx"?`pnpx ${t.npmPackage}`:e==="bunx"?`bunx ${t.npmPackage}`:e==="deno"&&n==="on-demand"?`deno run --allow-all jsr:${t.jsrPackage}`:e==="dev"?t.devCommand:t.command,c=async e=>{let n=u(),t=n==="windows"?`${e}.exe`:e,r=o.env.get("PATH")??"",s=b(r,n);for(let d of s)try{return await o.fs.stat(o.path.join(d,t)),!0}catch{continue}return!1},q=async e=>await c(e.command)?e.command:await c("npx")?`npx ${e.npmPackage}`:await c("pnpx")?`pnpx ${e.npmPackage}`:await c("bunx")?`bunx ${e.npmPackage}`:await c("deno")?`deno run --allow-all jsr:${e.jsrPackage}`:e.command,V=async e=>{let n=import.meta.filename===void 0,t=a(),r=import.meta.url,s={BUN_INSTALL:o.env.get("BUN_INSTALL"),npm_execpath:o.env.get("npm_execpath"),npm_config_user_agent:o.env.get("npm_config_user_agent")},d=!1;if(t==="deno"&&r.startsWith("file://"))try{let z=o.process.cwd(),Q=o.path.join(z,"deno.json"),X=await o.fs.readTextFile(Q),F=JSON.parse(X).tasks;F!==void 0&&"cli"in F&&(d=!0)}catch{}let{invoker:l,mode:p}=C(s,t,n,r,d),E=n?"compiled":["deno","node","bun"].includes(t)?t:"deno",O=P(l,p,e),K=await c(e.command);return{runtime:E,mode:p,invoker:l,command:O,isInPath:K}};var k=(e,n)=>()=>{throw new m(e,n)},se=e=>{let n=k("fs",e);return{readFile:n,readTextFile:n,writeFile:n,writeTextFile:n,exists:n,stat:n,lstat:n,mkdir:n,ensureDir:n,remove:n,readDir:n,copyFile:n,rename:n,makeTempDir:n,realPath:n,watch:n,walk:n,chmod:n}},ae=e=>{let n=k("exec",e);return{spawn:n,exec:n,execJson:n,spawnChild:n}},de=e=>{let n=k("process",e);return{exit:n,setExitCode:n,cwd:n,chdir:n,hostname:n,execPath:n,get args(){throw new m("process",e)},get pid(){throw new m("process",e)},get stdin(){throw new m("process",e)},get stdout(){throw new m("process",e)},get stderr(){throw new m("process",e)},isTerminal(){return!1},setStdinRaw(){throw new m("process",e)}}},me=()=>({get:()=>{},set:()=>{},delete:()=>{},has:()=>!1,toObject:()=>({})}),ce=e=>({name:e,version:"unknown",capabilities:{fs:!1,fsSync:!1,exec:!1,process:!1,env:!1,stdin:!1,stdout:!1,kv:!1},fs:se(e),path:f,exec:ae(e),env:me(),process:de(e)}),ue={deno:async()=>(await import("./deno-7BSPHDRG.js")).createDenoRuntime(),node:async()=>(await import("./node-MFKYO4CY.js")).createNodeRuntime(),bun:async()=>(await import("./bun-3AACRJXG.js")).createBunRuntime(),workerd:async()=>(await import("./workerd-VVSAKLDZ.js")).createWorkerdRuntime(),browser:async()=>(await import("./browser-SG2DBNGS.js")).createBrowserRuntime()},pe=["fs","exec","env","path","process"],le=e=>e!==void 0&&pe.some(n=>e[n]!==void 0),fe=(e,n,t)=>({name:e.name,version:e.version,capabilities:t,fs:n.fs??e.fs,path:n.path??e.path,exec:n.exec??e.exec,env:n.env??e.env,process:n.process??e.process}),G=async e=>{let n=a(),t=ue[n],r=t!==void 0?await t():ce(n),s=e?.capabilities?{...r.capabilities,...e.capabilities}:r.capabilities;return e!==void 0&&le(e)?fe(r,e,s):e?.capabilities?{...r,capabilities:s}:r},o=await G(),xe=o;export{a,M as b,_ as c,W as d,j as e,B as f,u as g,y as h,R as i,v as j,U as k,$ as l,b as m,C as n,P as o,c as p,q,V as r,G as s,o as t,xe as u,J as v};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as h,b as u,c as S,d as k,e as g,f as m,g as f}from"./chunk-
|
|
2
|
+
import{a as h,b as u,c as S,d as k,e as g,f as m,g as f}from"./chunk-455V3AE5.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);o.push("-p",i);let s=u(this.binary,o,{signal:r}),l=g(s.stderr),t=await k(s.stdout,this.modelId),p=await s.waitForExit(),a=await l,d=m("opencode",p.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);o.push("-p",i);let s=u(this.binary,o,{signal:r}),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(),p=await l,a=m("opencode",t.code,p);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,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as i}from"./chunk-
|
|
2
|
+
import{a as i}from"./chunk-RGUETQSC.js";import{v as a}from"./chunk-MRCBHVSB.js";var s=i({name:"validate-symlinks",description:"Detect broken symlinks",canFix:!1,stacks:[],defaults:{},async checkAll(n){let o=[];for(let t of n)if(t.isSymlink)try{await a.runtime.fs.stat(t.path)}catch{o.push({path:t.path,message:"broken symlink \u2014 target not found"})}return o}}),l=s.run,c=s.validator,m=s.main;export{s as a,l as b,c,m as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
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-RGUETQSC.js";var a="\uFEFF",i=r({name:"validate-bom",description:"Remove UTF-8 byte order markers",canFix:!0,stacks:[],defaults:{},checkFile(e,t){return t===void 0?[]:t.startsWith(a)?[{path:e.path,message:"file has UTF-8 BOM"}]:[]},fixFile(e,t){if(!t.startsWith(a))return;let o=t.slice(1);return{path:e.path,oldContent:t,newContent:o}}}),u=i.run,d=i.validator,m=i.main;export{i as a,u as b,d as c,m as d};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{e as w,f as C}from"./chunk-
|
|
2
|
+
import{e as w,f as C}from"./chunk-4SYC4WJV.js";import{a as A}from"./chunk-2VEVVX6U.js";import{a as O,b as U}from"./chunk-4DOMGQOO.js";import{a as b,b as x,c as F,d as m}from"./chunk-J2Z7NG2X.js";import{f as v}from"./chunk-3BEX5FYF.js";import{b as i,g as P,i as l}from"./chunk-3SXTMY75.js";import{a as S}from"./chunk-MG65QJY6.js";import{g as a}from"./chunk-A6RDYP6R.js";import{j as h}from"./chunk-7ATUODBM.js";import{v as V}from"./chunk-MRCBHVSB.js";var d=O(),M=async(n={})=>{let{root:e="."}=n,s=h(e,"VERSION");try{return(await V.runtime.fs.readTextFile(s)).trim()}catch{return}},T=async(n,e)=>{let s=h(n,"VERSION");await V.runtime.fs.writeTextFile(s,e+`
|
|
3
3
|
`)},j=n=>{let e=m("0.0.0");for(let s of n){let r=m(s);b(r,e)>0&&(e=r)}return x(e)},H=async(n={})=>{let{root:e="."}=n,[s,r]=await C(e),p=s.version?.value??"0.0.0";return{packages:[{name:s.name?.value??"(root)",version:p},...r.map(u=>({name:u.name,version:u.version}))]}},D=async(n,e={})=>{let{root:s=".",dryRun:r=!1,updateVersionFile:p=!0}=e,[c,y]=await C(s),u=c.version?.value??"0.0.0",E=c.name?.value??"(root)",$=[u,...y.map(o=>o.version)],R=j($),t;if(n==="explicit"){if(e.explicitVersion===void 0)throw new Error('explicitVersion is required when command is "explicit".');m(e.explicitVersion),t=e.explicitVersion}else n==="sync"?t=R:t=x(F(m(R),n));let g=[],I=u!==t;r||await w(c,t),g.push({name:E,from:u,to:t,changed:I});for(let o of y){let f=o.version!==t;r||await w(o.config,t),g.push({name:o.name,from:o.version,to:t,changed:f})}let k=[];if(p){let o=await M({root:s}),f=o!==t;!r&&f&&await T(s,t),k.push({path:"VERSION",from:o??"",to:t,changed:f})}let N=g.filter(o=>o.changed).length;return{command:n,targetVersion:t,updates:g,fileUpdates:k,changedCount:N,dryRun:r}},W=n=>n.mode==="show"?v.fromPromise(async()=>({mode:"show",result:await H()})):v.fromPromise(async()=>({mode:"update",result:await D(n.command,n.options)})),q=n=>{let e=n.args[0];if(e===void 0)return a.ok({mode:"show"});let s=["sync","patch","minor","major"],r,p;s.includes(e)?r=e:(r="explicit",p=e);let c=n.flags["dry-run"]===!0;return a.ok({mode:"update",command:r,options:{dryRun:c,explicitVersion:p}})},B=n=>{if(a.isFail(n))return a.fail({exitCode:1,message:String(n.error)});let e=n.value;if(e.mode==="show")return console.table(e.result.packages),a.ok(void 0);let{result:s}=e;s.command==="sync"?d.writeln(l("\u2139"),i(" Syncing all versions...")):s.command==="explicit"?d.writeln(l("\u2139"),i(` Setting all versions to ${s.targetVersion}...`)):d.writeln(l("\u2139"),i(` Bumping all versions (${s.command})...`)),d.writeln(l("\u2139"),i(` Target version: ${s.targetVersion}`)),console.table(s.updates);for(let r of s.fileUpdates)r.changed&&d.writeln(l("\u2139"),i(` ${r.path} (${r.from} \u2192 ${r.to})`));return s.dryRun?d.writeln(l("\u2139"),i(` Dry run - ${s.changedCount} packages would be modified.`)):d.writeln(P("\u2713"),i(` Done. Updated ${s.changedCount} packages.`)),a.ok(void 0)},z=A.createTrigger({handler:W,adaptInput:q,adaptOutput:B}),se=async n=>{let e=S(n??[],{boolean:["dry-run"]}),s=U("versions",e);return await z(s)};export{M as a,H as b,D as c,W as d,z as e,se as f};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as o}from"./chunk-
|
|
2
|
+
import{b as o}from"./chunk-U2MR2O3C.js";var n=[{id:"status_quo",text:"What does the user do today without this feature?",concerns:["product:status_quo","eng:replace_scope","qa:regression_risk"]},{id:"ambition",text:"Describe the 1-star and 10-star versions.",concerns:["product:scope_direction","eng:complexity_tier","qa:test_depth"]},{id:"reversibility",text:"Does this change involve an irreversible decision?",concerns:["product:one_way_door","eng:migration_strategy","qa:verification_stringency"]},{id:"user_impact",text:"Does this change affect existing users' behavior?",concerns:["product:breaking_change","eng:backward_compat","qa:regression_tests"]},{id:"verification",text:"How do you verify this works correctly?",concerns:["product:success_metric","eng:test_strategy","qa:acceptance_criteria"]},{id:"scope_boundary",text:"What should this feature NOT do?",concerns:["product:focus","eng:out_of_scope","qa:negative_tests"]}],a=t=>n.map(e=>({...e,extras:o(t,e.id)})),c=(t,e)=>{let r=new Set(e.map(s=>s.questionId));for(let s of t)if(!r.has(s.id))return s;return null},d=t=>{let e=new Set(t.map(r=>r.questionId));return n.every(r=>e.has(r.id))};export{n as a,a as b,c,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-
|
|
2
|
+
import{b as w}from"./chunk-W3RVRCUB.js";import{a as p}from"./chunk-JYNHFD6B.js";import{b as c}from"./chunk-PVPMHMKP.js";import{e as y}from"./chunk-G6NAG2EK.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,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-WG6J7DFO.js";import{t as e}from"./chunk-MRCBHVSB.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,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{v as p}from"./chunk-
|
|
2
|
+
import{v as p}from"./chunk-MRCBHVSB.js";import{d as g}from"./chunk-G6NAG2EK.js";var y={};g(y,{CommandBuilder:()=>a,CommandError:()=>u,exec:()=>f,parseCommand:()=>l});var u=class extends Error{constructor(e,n,s,o){super(e);this.command=n;this.code=s;this.stderr=o;this.name="CommandError"}};var m=new TextDecoder,a=class r{#e;#r;#t;constructor(t,e=[],n={}){this.#e=t,this.#r=e,this.#t={throwOnError:!0,stdout:"piped",stderr:"piped",...n}}cwd(t){return new r(this.#e,this.#r,{...this.#t,cwd:t})}env(t,e){let n=this.#t.env??{},s;return typeof t=="string"&&e!==void 0?s={...n,[t]:e}:t!==null&&typeof t=="object"?s={...n,...t}:s=n,new r(this.#e,this.#r,{...this.#t,env:s})}stdin(t){return new r(this.#e,this.#r,{...this.#t,stdin:t})}stdout(t){return new r(this.#e,this.#r,{...this.#t,stdout:t})}stderr(t){return new r(this.#e,this.#r,{...this.#t,stderr:t})}timeout(t){return new r(this.#e,this.#r,{...this.#t,timeout:t})}noThrow(){return new r(this.#e,this.#r,{...this.#t,throwOnError:!1})}quiet(){return new r(this.#e,this.#r,{...this.#t,stdout:"null",stderr:"null"})}printCommand(){let t=[this.#e,...this.#r].join(" ");return console.log(`$ ${t}`),this}async spawn(){let{runtime:t}=p,e=await t.exec.spawn(this.#e,this.#r,{cwd:this.#t.cwd,env:this.#t.env,stdin:this.#t.stdin,stdout:this.#t.stdout,stderr:this.#t.stderr});if(!e.success&&this.#t.throwOnError===!0){let n=m.decode(e.stderr);throw new u(`Command failed with exit code ${e.code}: ${this.#e}`,this.#e,e.code,n)}return e}async text(t="stdout"){let e=await this.spawn();switch(t){case"stdout":return m.decode(e.stdout).trim();case"stderr":return m.decode(e.stderr).trim();case"combined":return(m.decode(e.stdout)+m.decode(e.stderr)).trim()}}async json(){let t=await this.text();return JSON.parse(t)}async lines(){let t=await this.text();return t===""?[]:t.split(`
|
|
3
3
|
`)}async bytes(){return(await this.spawn()).stdout}async code(){return(await this.noThrow().spawn()).code}pipe(t){return new h([this,t])}child(){let{runtime:t}=p;return t.exec.spawnChild(this.#e,this.#r,{cwd:this.#t.cwd,env:this.#t.env,stdin:this.#t.stdin??"piped",stdout:this.#t.stdout??"piped",stderr:this.#t.stderr??"piped"})}},h=class r{#e;constructor(t){this.#e=t}pipe(t){return new r([...this.#e,t])}async text(){let t="";for(let e of this.#e){let n=await e.spawn();t=m.decode(n.stdout)}return t.trim()}async lines(){let t=await this.text();return t===""?[]:t.split(`
|
|
4
4
|
`)}};var l=(r,t)=>{let e=[];for(let s=0;s<r.length;s++){let o=r[s];if(o!==void 0&&e.push(o),s<t.length){let i=t[s];Array.isArray(i)?e.push(i.map(c=>w(String(c))).join(" ")):i!=null&&e.push(w(String(i)))}}let n=e.join("").trim();return C(n)},w=r=>/[\s"'\\$`]/.test(r)?`'${r.replace(/'/g,"'\\''")}'`:r,C=r=>{let t=[],e="",n=!1,s=!1,o=!1;for(let c=0;c<r.length;c++){let d=r[c];if(o){e+=d,o=!1;continue}if(d==="\\"){o=!0;continue}if(d==="'"&&!s){n=!n;continue}if(d==='"'&&!n){s=!s;continue}if(d===" "&&!n&&!s){e.length>0&&(t.push(e),e="");continue}e+=d}e.length>0&&t.push(e);let i=t[0];return i===void 0?["",[]]:[i,t.slice(1)]};var f=(r,...t)=>{let[e,n]=l(r,t);return new a(e,n)};export{u as a,a as b,l as c,f as d,y 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-RGUETQSC.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{b as T,c as f}from"./chunk-
|
|
2
|
+
import{b as T,c as f}from"./chunk-HVLKXRPA.js";import{a as F,b as k}from"./chunk-4DOMGQOO.js";import{b as c,f as x,g as h}from"./chunk-3SXTMY75.js";import{a as g}from"./chunk-MG65QJY6.js";import{g as d}from"./chunk-A6RDYP6R.js";var m=F(),I=e=>{let y=async o=>{let i={root:o?.root??".",fix:o?.fix??!1,exclude:o?.exclude??[],...e.defaults,...o},r=o?._changedFiles,t={root:i.root,extensions:e.extensions,exclude:i.exclude,includeOnly:r!==void 0&&r.length>0?r:void 0},l=await T(t),n=[],u=[];if(e.checkAll!==void 0){let s=await e.checkAll(l,i);n.push(...s)}else if(e.checkFile!==void 0)for(let s of l){let a=await f(s),p=e.checkFile(s,a,i);n.push(...p)}if(i.fix&&e.canFix&&e.fixFile!==void 0)for(let s of l){let a=await f(s);if(a===void 0)continue;let p=e.fixFile(s,a,i);p!==void 0&&u.push(p)}return{name:e.name,issues:n,mutations:u,filesChecked:l.length}},w={name:e.name,description:e.description,requiredStacks:e.stacks,async validate(o){let i=o.options?.fix,r=o.options??{},t=await y({root:o.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}}}},C=async o=>{let i=e.canFix&&o.flags.fix===!0,r=o.flags.root??".",t=o.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:s}=await import("./file-tools-shared-G36OYF5S.js"),a=await s(n.mutations);m.writeln(h("\u2713"),c(` Fixed ${a} file(s) for ${e.name}.`))}if(n.issues.length===0&&n.mutations.length===0)return m.writeln(h("\u2713"),c(` ${e.name}: ${n.filesChecked} files checked, no issues.`)),d.ok(void 0);let u=n.issues.filter(s=>!s.fixed);if(u.length>0){for(let s of u){let a=s.line!==void 0?`${s.path}:${s.line}`:s.path;m.writeln(x("\u2717"),c(` ${a}: ${s.message}`))}return d.fail({exitCode:1})}return d.ok(void 0)}catch(n){return m.writeln(x("\u2717"),c(" "+(n instanceof Error?n.message:String(n)))),d.fail({exitCode:1})}};return{config:e,run:y,validator:w,main:async o=>{let i=e.canFix?["fix"]:[],r=g(o??[],{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=k(e.name,r);return await C(t)}}};export{I as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{t as d}from"./chunk-
|
|
2
|
+
import{t as d}from"./chunk-MRCBHVSB.js";var l=[["go.mod","go"],["deno.json","deno"],["deno.jsonc","deno"],["package.json","node"]],g=async r=>{for(let[c,n]of l)try{return await d.fs.stat(`${r}/${c}`),{type:n,configFile:c}}catch{}return{type:"unknown",configFile:void 0}},f=(r,c)=>{let n=[],t=[],e=r.dependencies;if(e===void 0)return{instructions:n,warnings:t};let i=r.language,o=c.type;if(o!=="unknown"&&(i==="go"&&o==="go"||i==="typescript"&&(o==="deno"||o==="node")||i==="javascript"&&(o==="deno"||o==="node")||t.push(`Recipe '${r.name}' is for ${i}, but detected ${o} project (${c.configFile}).`)),e.go!==void 0&&e.go.length>0)for(let s of e.go)n.push(`go get ${s}`);if(e.jsr!==void 0&&e.jsr.length>0)for(let s of e.jsr)n.push(`deno add ${s}`);if(e.npm!==void 0&&e.npm.length>0)for(let s of e.npm)n.push(`npm install ${s}`);return{instructions:n,warnings:t}},y=async(r,c,n)=>{let t=[];for(let e of r){if(n?.dryRun===!0){t.push({command:e,success:!0});continue}n?.verbose===!0&&console.log(` [install] ${e}`);let i=e.split(/\s+/),o=i[0],s=i.slice(1);try{let a=await d.exec.spawn(o,s,{cwd:c,stdout:"inherit",stderr:"inherit"});if(!a.success){t.push({command:e,success:!1,error:`Exit code ${a.code}`});break}t.push({command:e,success:!0})}catch(a){let u=a instanceof Error?a.message:String(a);t.push({command:e,success:!1,error:u});break}}return t};export{g as a,f as b,y as c};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-A6RDYP6R.js";import{t as x}from"./chunk-
|
|
2
|
+
import{a as u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-A6RDYP6R.js";import{t as x}from"./chunk-MRCBHVSB.js";var h=t=>{let e=[],n=[],r={},s={};for(let i of t)i.type==="boolean"?e.push(i.name):n.push(i.name),i.short!==void 0&&(r[i.short]=i.name),i.default!==void 0&&(s[i.name]=i.default);return{boolean:e,string:n,alias:r,default:s}},T=t=>t!=null&&t.constructor===String,V={boolean:t=>!!t,number:t=>T(t)?Number(t):t,string:t=>String(t),"string[]":t=>Array.isArray(t)?t.map(String):[String(t)]},v=(t,e)=>{if(t!==void 0)return V[e]?.(t)??t},$=(t,e)=>{let n={};for(let r of e){let s=t[r.name];n[r.name]=v(s,r.type)}return n},re=(t,e)=>{let n=h(e),r=u(t,n);return{positional:r._,flags:$(r,e)}},_=(t,e)=>{let n=[];for(let r of e)if(r.required===!0){let s=t[r.name];(s===void 0||s===""||s===!1)&&n.push(`Required flag --${r.name} is missing`)}return n};var O=(t,e)=>t+" ".repeat(Math.max(0,e-t.length)),U=t=>{let e=t.short!==void 0?`-${t.short}, `:"",n=t.type!=="boolean"?` <${t.type}>`:"";return`${e}--${t.name}${n}`},q=(t,e)=>[t.description!==void 0?`${e} - ${t.description}`:e,""],B=(t,e)=>{if(t.usage!==void 0)return["Usage:",` ${t.usage}`,""];let n=t.children.length>0?" <command>":"",r=t.flags.length>0?" [options]":"";return["Usage:",` ${e}${n}${r}`,""]},I=t=>{if(t.length===0)return[];let e=s=>s.aliases!==void 0&&s.aliases.length>0?`${s.name}, ${s.aliases.join(", ")}`:s.name,n=Math.max(...t.map(s=>e(s).length));return["Commands:",...t.map(s=>` ${O(e(s),n+2)}${s.description??""}`),""]},Y=t=>{if(t.length===0)return[];let e=t.map(s=>({flag:U(s),desc:s.description})),n=Math.max(...e.map(s=>s.flag.length));return["Options:",...e.map(({flag:s,desc:i})=>` ${O(s,n+2)}${i}`),""]},Z=t=>t?.length?["Examples:",...t.map(e=>` ${e}`),""]:[],M=(t,e)=>{let n=e.join(" "),r=[...q(t,n),...B(t,n),...I(t.children),...Y(t.flags),...Z(t.examples)];return t.children.length>0&&r.push(`Run '${n} <command> --help' for more information on a command.`),r.join(`
|
|
3
3
|
`)};var w=t=>{let e=[];for(let n of t)e.push(`--${n.name}`),n.short!==void 0&&e.push(`-${n.short}`);return e.join(" ")},k=(t,e)=>{if(t.children===void 0||t.children.length===0)return"";let n=t.children.map(o=>o.name).join(" "),r=t.flags!==void 0?w(t.flags):"",s=[n,r].filter(o=>o.length>0).join(" "),i=` ${e})
|
|
4
4
|
`;i+=` COMPREPLY=( $(compgen -W "${s}" -- "\${cur}") )
|
|
5
5
|
`,i+=` return 0
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{t as r}from"./chunk-
|
|
2
|
+
import{t as r}from"./chunk-MRCBHVSB.js";var i=async o=>{let n=[];try{for await(let s of r.fs.readDir(o))s.isFile&&s.name.endsWith(".json")&&n.push({name:s.name})}catch{return[]}n.sort((s,t)=>s.name.localeCompare(t.name));let e=[];for(let s of n){let t=await r.fs.readTextFile(`${o}/${s.name}`);e.push(JSON.parse(t))}return e},c=async()=>{let o=new URL("../defaults/concerns/",import.meta.url);return await i(o.pathname)},m=(o,n)=>{let e=[];for(let s of o)for(let t of s.extras)t.questionId===n&&e.push(t);return e},d=o=>{let n=[];for(let e of o)for(let s of e.reminders)n.push(`${e.id}: ${s}`);return n},f=o=>{let n=[],e=o.map(s=>s.id);return e.includes("move-fast")&&e.includes("compliance")&&n.push({between:["move-fast","compliance"],issue:"Speed vs traceability \u2014 shortcuts may violate audit requirements."}),e.includes("move-fast")&&e.includes("long-lived")&&n.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")&&n.push({between:["beautiful-product","move-fast"],issue:"Design polish vs speed \u2014 which UI states can be deferred?"}),n};export{c as a,m as b,d as c,f as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
|
|
2
|
-
import{c as i}from"./chunk-
|
|
2
|
+
import{c as i}from"./chunk-WG6J7DFO.js";var n={UNINITIALIZED:["IDLE"],IDLE:["DISCOVERY"],DISCOVERY:["SPEC_DRAFT"],SPEC_DRAFT:["SPEC_APPROVED"],SPEC_APPROVED:["EXECUTING"],EXECUTING:["DONE","BLOCKED"],BLOCKED:["EXECUTING"],DONE:["IDLE"]},c=(e,s)=>n[e].includes(s),t=(e,s)=>{if(!c(e,s))throw new Error(`Invalid phase transition: ${e} \u2192 ${s}. Allowed: ${n[e].join(", ")}`)},h=(e,s)=>(t(e.phase,s),{...e,phase:s}),d=(e,s,a)=>(t(e.phase,"DISCOVERY"),{...e,phase:"DISCOVERY",spec:s,branch:a,discovery:{answers:[],completed:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[]},decisions:[]}),E=(e,s,a)=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot add discovery answer in phase: ${e.phase}`);let o=[...e.discovery.answers.filter(r=>r.questionId!==s),{questionId:s,answer:a}];return{...e,discovery:{answers:o,completed:e.discovery.completed}}},u=e=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot complete discovery in phase: ${e.phase}`);return{...e,phase:"SPEC_DRAFT",discovery:{...e.discovery,completed:!0},specState:{path:i.specFile(e.spec),status:"draft"}}},m=e=>(t(e.phase,"SPEC_APPROVED"),{...e,phase:"SPEC_APPROVED",specState:{...e.specState,status:"approved"}}),S=e=>(t(e.phase,"EXECUTING"),{...e,phase:"EXECUTING",discovery:{answers:[],completed:!0},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[]}});var D=(e,s)=>(t(e.phase,"BLOCKED"),{...e,phase:"BLOCKED",execution:{...e.execution,lastProgress:`BLOCKED: ${s}`}}),C=(e,s)=>({...e,decisions:[...e.decisions,s]}),F=e=>({...e,phase:"IDLE",spec:null,branch:null,discovery:{answers:[],completed:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[]},decisions:[],pendingClear:!1,classification:null});export{h as a,d as b,E as c,u as d,m as e,S as f,D as g,C as h,F as i};
|