eser 4.1.47 → 4.1.48

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.
Files changed (199) hide show
  1. package/chunks/{add-V7YYHLFH.js → add-HBUORTI5.js} +1 -1
  2. package/chunks/{ajan-JKACPKCP.js → ajan-CL22MZYV.js} +1 -1
  3. package/chunks/{approve-URMQ77UE.js → approve-UWBYGXCF.js} +1 -1
  4. package/chunks/{ask-UCPMMIAF.js → ask-M3VS3GIJ.js} +1 -1
  5. package/chunks/{block-5NWZBEXW.js → block-W76WKMS3.js} +1 -1
  6. package/chunks/{browser-JGBNWUEQ.js → browser-D536WJU3.js} +1 -1
  7. package/chunks/{build-BUB6OJCI.js → build-DPBRNANI.js} +2 -2
  8. package/chunks/{bun-HIMXX54I.js → bun-7XJSUU6Z.js} +1 -1
  9. package/chunks/{cancel-V6OK6U73.js → cancel-46C7E5N7.js} +1 -1
  10. package/chunks/{changelog-gen-TEI4IBNO.js → changelog-gen-627BV77Z.js} +1 -1
  11. package/chunks/{chunk-W7OYXLGD.js → chunk-2LF7QSIN.js} +1 -1
  12. package/chunks/{chunk-BJLUDX4R.js → chunk-2TANTKYS.js} +1 -1
  13. package/chunks/{chunk-W724KQYO.js → chunk-2YTW3JQ6.js} +1 -1
  14. package/chunks/{chunk-3AA3RXKD.js → chunk-2ZYCRMUT.js} +1 -1
  15. package/chunks/{chunk-26ZFSXSK.js → chunk-3D5TBTM3.js} +1 -1
  16. package/chunks/{chunk-3IZX4OZ7.js → chunk-3OG2MEF2.js} +1 -1
  17. package/chunks/{chunk-R7FADWXC.js → chunk-4LQG2WOJ.js} +1 -1
  18. package/chunks/{chunk-L2E2H7YT.js → chunk-4X4NHXFE.js} +1 -1
  19. package/chunks/{chunk-F44CX3KC.js → chunk-5JV6KQMP.js} +2 -2
  20. package/chunks/{chunk-MCWDLVWU.js → chunk-6BILFSH2.js} +1 -1
  21. package/chunks/{chunk-WJKE6XHF.js → chunk-6DBKPC2O.js} +1 -1
  22. package/chunks/{chunk-BQT5RJZB.js → chunk-6G6UVWJN.js} +1 -1
  23. package/chunks/{chunk-RHEYIO4O.js → chunk-73IMECRI.js} +1 -1
  24. package/chunks/{chunk-HCYIL6IJ.js → chunk-7KFSTOXR.js} +1 -1
  25. package/chunks/{chunk-PLMZ3FYS.js → chunk-7NKYCWAA.js} +1 -1
  26. package/chunks/{chunk-6E6JUBFH.js → chunk-ALFFE37K.js} +1 -1
  27. package/chunks/{chunk-JLRVMMMH.js → chunk-ATYDQCCJ.js} +1 -1
  28. package/chunks/{chunk-A2IW6BXT.js → chunk-C2IORZTF.js} +1 -1
  29. package/chunks/{chunk-SRWZLNT6.js → chunk-C7NZBKCW.js} +1 -1
  30. package/chunks/{chunk-YBCZC5KZ.js → chunk-CVDLYIOW.js} +1 -1
  31. package/chunks/{chunk-37GFWQQ3.js → chunk-DLBRD3UT.js} +1 -1
  32. package/chunks/{chunk-3QH27NOC.js → chunk-DM6U63HP.js} +1 -1
  33. package/chunks/{chunk-ORAOSL2W.js → chunk-DPZJWN2Y.js} +1 -1
  34. package/chunks/{chunk-GWZUQPFD.js → chunk-EQUPVWVY.js} +1 -1
  35. package/chunks/{chunk-JUOSGSVB.js → chunk-FNPBHLLZ.js} +1 -1
  36. package/chunks/{chunk-HVTJ5LVU.js → chunk-FZ5WFU6R.js} +1 -1
  37. package/chunks/{chunk-BLXGL5MA.js → chunk-GVTM4EOU.js} +1 -1
  38. package/chunks/{chunk-7XVIW7H6.js → chunk-H6P3EACV.js} +1 -1
  39. package/chunks/{chunk-EGEJQP7D.js → chunk-IIFFSCDJ.js} +1 -1
  40. package/chunks/{chunk-4QDEJUAF.js → chunk-IZUADMIU.js} +1 -1
  41. package/chunks/{chunk-LWWZT2AB.js → chunk-J5HFD7AQ.js} +1 -1
  42. package/chunks/{chunk-ZCQ5CISX.js → chunk-JFKHBLJB.js} +1 -1
  43. package/chunks/{chunk-YA4IPF62.js → chunk-JO4JKJ7R.js} +1 -1
  44. package/chunks/{chunk-5PH7JRXR.js → chunk-KHBIOZJE.js} +1 -1
  45. package/chunks/{chunk-MBCPGD5L.js → chunk-L5OC7F24.js} +1 -1
  46. package/chunks/{chunk-EKUJSZIR.js → chunk-LJ7A5HYR.js} +1 -1
  47. package/chunks/{chunk-OWV223WQ.js → chunk-LLA75EMV.js} +1 -1
  48. package/chunks/{chunk-6PRIUPN4.js → chunk-LWQPFCWC.js} +1 -1
  49. package/chunks/{chunk-NFZWSVJM.js → chunk-LYPDFFKK.js} +1 -1
  50. package/chunks/{chunk-ENTSZDR6.js → chunk-MTCPFQ5I.js} +1 -1
  51. package/chunks/{chunk-CXTOTN4Z.js → chunk-MW3RJU6I.js} +1 -1
  52. package/chunks/{chunk-JHEL4OFF.js → chunk-N4NDBIQS.js} +1 -1
  53. package/chunks/{chunk-G5VGZMKA.js → chunk-NMEPQK3T.js} +1 -1
  54. package/chunks/{chunk-TEOMM3RD.js → chunk-NMSD4ZXJ.js} +1 -1
  55. package/chunks/{chunk-RVJZFWN7.js → chunk-NTY267SI.js} +1 -1
  56. package/chunks/{chunk-3QF3I2RD.js → chunk-NVPQJFAI.js} +1 -1
  57. package/chunks/{chunk-LGNGLAV3.js → chunk-O325ZU5M.js} +1 -1
  58. package/chunks/{chunk-3PCHQM4S.js → chunk-OLHBVIWG.js} +1 -1
  59. package/chunks/{chunk-5QRJ7OJK.js → chunk-R3UCRXDC.js} +1 -1
  60. package/chunks/{chunk-4ZVFKZ5S.js → chunk-R4GKIRAI.js} +1 -1
  61. package/chunks/{chunk-CNHUVWV5.js → chunk-RHVDIXOM.js} +1 -1
  62. package/chunks/{chunk-MJ2IPSAE.js → chunk-RNFCAHVL.js} +1 -1
  63. package/chunks/{chunk-ZC4F4MYU.js → chunk-SHN5MT56.js} +1 -1
  64. package/chunks/{chunk-Z5P6PXQV.js → chunk-TFRONHJA.js} +1 -1
  65. package/chunks/{chunk-YW377352.js → chunk-TMMAF763.js} +1 -1
  66. package/chunks/{chunk-VWQLQJVX.js → chunk-TW23CULJ.js} +1 -1
  67. package/chunks/{chunk-F2YHX6DL.js → chunk-TZDEJTLC.js} +1 -1
  68. package/chunks/{chunk-OAT2D23A.js → chunk-UEMWZOIU.js} +1 -1
  69. package/chunks/{chunk-TYUSWY27.js → chunk-UGYRUVUH.js} +1 -1
  70. package/chunks/{chunk-AP7A6Y5Z.js → chunk-ULIMXXRY.js} +1 -1
  71. package/chunks/{chunk-4HXAC4WN.js → chunk-WI2RW3YL.js} +1 -1
  72. package/chunks/{chunk-Y3XXSUFP.js → chunk-WTMV5GTZ.js} +1 -1
  73. package/chunks/{chunk-FW3ETRQ5.js → chunk-WZHVKEPB.js} +1 -1
  74. package/chunks/{chunk-F35K7YVH.js → chunk-X3L6GBUX.js} +1 -1
  75. package/chunks/{chunk-RGT7SMKJ.js → chunk-XOMPQOI6.js} +1 -1
  76. package/chunks/{chunk-VSTGSR3G.js → chunk-XUV7CW3L.js} +1 -1
  77. package/chunks/chunk-YACXTCWF.js +2 -0
  78. package/chunks/{chunk-F4G6QSSJ.js → chunk-YKEVDAWS.js} +1 -1
  79. package/chunks/{chunk-HP5W5XT6.js → chunk-ZNP3NXAD.js} +1 -1
  80. package/chunks/claude-code-UJYCO6CN.js +2 -0
  81. package/chunks/{clone-YEBQK7CG.js → clone-455UAECS.js} +1 -1
  82. package/chunks/{cmd-2DAVTVOF.js → cmd-QE4P4DS4.js} +1 -1
  83. package/chunks/{commitmsg-3NLTGBA7.js → commitmsg-57EMHAFY.js} +2 -2
  84. package/chunks/{concern-RNNRCADI.js → concern-I6LCWEIC.js} +1 -1
  85. package/chunks/{deno-XQHOVHKR.js → deno-JAQWMICD.js} +1 -1
  86. package/chunks/{dev-GHSKFRDU.js → dev-JM7NU24M.js} +2 -2
  87. package/chunks/{done-VSVUSYIS.js → done-A5VWIFOF.js} +1 -1
  88. package/chunks/{file-tools-shared-BGQUI7QP.js → file-tools-shared-YKDNDDHR.js} +1 -1
  89. package/chunks/{free-L4KB3WSS.js → free-5NMWMMYS.js} +1 -1
  90. package/chunks/{gh-L3FPMN5H.js → gh-DJ2YTDQX.js} +2 -2
  91. package/chunks/{gh-contributors-NT5WW72V.js → gh-contributors-SXUFX3SO.js} +1 -1
  92. package/chunks/{init-EL6YCHIE.js → init-GBMYF3YG.js} +3 -3
  93. package/chunks/{init-II65LYMV.js → init-M3P2QCX2.js} +1 -1
  94. package/chunks/{install-YVHT6UAG.js → install-USGLFPAU.js} +1 -1
  95. package/chunks/{invoke-hook-QEE3PJBH.js → invoke-hook-6BKTP2JY.js} +1 -1
  96. package/chunks/kiro-V6SMU4OL.js +2 -0
  97. package/chunks/{list-BOLPKAEY.js → list-M5DGQG46.js} +1 -1
  98. package/chunks/{list-VEGVTAKQ.js → list-NX7RRO6R.js} +1 -1
  99. package/chunks/{list-AKS7CUO3.js → list-ZVCGDRUH.js} +1 -1
  100. package/chunks/{load-config-G4DHKB5K.js → load-config-JZNJVJXH.js} +1 -1
  101. package/chunks/{main-PTEEAWXX.js → main-JAGIKKVD.js} +2 -2
  102. package/chunks/{manager-ARXVYR4H.js → manager-GN6J4AUV.js} +5 -5
  103. package/chunks/manifest-3GT2RMQL.js +2 -0
  104. package/chunks/{mod-RF5F5WS2.js → mod-2WMXZZGJ.js} +2 -2
  105. package/chunks/{mod-DXA25A4J.js → mod-4XKQZL6W.js} +1 -1
  106. package/chunks/{mod-MVH3RFS3.js → mod-5NDTGNVM.js} +1 -1
  107. package/chunks/{mod-ICWGLZBQ.js → mod-7ICCX4OY.js} +1 -1
  108. package/chunks/{mod-AD5UWQSM.js → mod-KPIOBBDD.js} +1 -1
  109. package/chunks/{mod-RMDGRCBK.js → mod-NSL6IJRQ.js} +1 -1
  110. package/chunks/{mod-QWYXFGRG.js → mod-OG7BBJP4.js} +1 -1
  111. package/chunks/mod-QCXWBSGJ.js +2 -0
  112. package/chunks/{mod-YH5Z6G4Q.js → mod-TRSW5SEU.js} +1 -1
  113. package/chunks/{mod-BKHQAEVL.js → mod-VZT7JWPZ.js} +1 -1
  114. package/chunks/{mod-PZSJGUM7.js → mod-W225AUFE.js} +1 -1
  115. package/chunks/{new-VGL3IRFP.js → new-SS67ZKMK.js} +1 -1
  116. package/chunks/{next-RYENG2XC.js → next-TIUOHHFS.js} +2 -2
  117. package/chunks/{node-ZGM6SXXI.js → node-WWA6BHRC.js} +1 -1
  118. package/chunks/ollama-DFG5G467.js +2 -0
  119. package/chunks/opencode-UA45VV3W.js +2 -0
  120. package/chunks/pack-7TGKWDRO.js +6 -0
  121. package/chunks/{purge-6IOKNHG6.js → purge-IKPQWHBC.js} +1 -1
  122. package/chunks/{recipe-applier-TTZEZGSC.js → recipe-applier-I2VBGHZU.js} +1 -1
  123. package/chunks/{registry-fetcher-SPENFEOH.js → registry-fetcher-TGWYJ5GN.js} +1 -1
  124. package/chunks/{release-6GDD5THZ.js → release-SEKFNXRA.js} +2 -2
  125. package/chunks/{release-notes-MZFILXWE.js → release-notes-UUCPVHBQ.js} +1 -1
  126. package/chunks/{release-tag-LGZEFMKJ.js → release-tag-F4B6ICW4.js} +1 -1
  127. package/chunks/{reopen-XDNX2XRX.js → reopen-G4IUIH73.js} +1 -1
  128. package/chunks/{reset-TDBHFTWW.js → reset-BJZ263XC.js} +1 -1
  129. package/chunks/{rule-DUOZIDNM.js → rule-PQ6WRV5W.js} +1 -1
  130. package/chunks/{run-OCYNXRVD.js → run-DAKF5SJN.js} +1 -1
  131. package/chunks/{run-YK7DTHKW.js → run-Y4ESAQUK.js} +1 -1
  132. package/chunks/{scripts-7VDHDKFK.js → scripts-VRQQ24O3.js} +1 -1
  133. package/chunks/{serve-5V65OPB2.js → serve-OGJIE344.js} +2 -2
  134. package/chunks/{server-R347ON4B.js → server-VCPSLFZ2.js} +1 -1
  135. package/chunks/{session-SOIP6NHS.js → session-CFDY73RJ.js} +1 -1
  136. package/chunks/{spec-Y6K7CSBK.js → spec-CYRR2XUA.js} +1 -1
  137. package/chunks/{status-SXWEDQTL.js → status-ZE2SA6FP.js} +1 -1
  138. package/chunks/{sync-5XW5FTWS.js → sync-N5STAT6M.js} +1 -1
  139. package/chunks/system-3236RFTI.js +2 -0
  140. package/chunks/{system-HNZLRJLH.js → system-6GEEPUXD.js} +1 -1
  141. package/chunks/{update-522VXIKX.js → update-VLYRDEH4.js} +1 -1
  142. package/chunks/validate-bom-ME2NQAP3.js +2 -0
  143. package/chunks/validate-case-conflict-QUNIB43P.js +2 -0
  144. package/chunks/validate-circular-deps-DLUCIW7T.js +2 -0
  145. package/chunks/validate-commit-msg-SRLJRTKU.js +2 -0
  146. package/chunks/validate-docs-43LWHLVW.js +2 -0
  147. package/chunks/validate-eof-RV3IK6ZM.js +2 -0
  148. package/chunks/validate-export-names-D5I5DZTN.js +2 -0
  149. package/chunks/validate-filenames-WNLZI2S6.js +2 -0
  150. package/chunks/validate-json-6KIMBNBJ.js +2 -0
  151. package/chunks/validate-large-files-UXP7AZCW.js +2 -0
  152. package/chunks/validate-licenses-BL6PNSBP.js +2 -0
  153. package/chunks/validate-line-endings-NYHXORRG.js +2 -0
  154. package/chunks/validate-merge-conflict-IWUP4ZMW.js +2 -0
  155. package/chunks/validate-mod-exports-VCV4VZ5F.js +2 -0
  156. package/chunks/validate-package-configs-6PGL2YGD.js +2 -0
  157. package/chunks/validate-secrets-JV4ZSOVR.js +2 -0
  158. package/chunks/validate-shebangs-YACNWUG7.js +2 -0
  159. package/chunks/validate-submodules-ZXID3VEK.js +2 -0
  160. package/chunks/validate-symlinks-QNMKPYUY.js +2 -0
  161. package/chunks/validate-toml-PV3G7EFD.js +2 -0
  162. package/chunks/validate-trailing-whitespace-5Q5SEHOD.js +2 -0
  163. package/chunks/validate-yaml-IOMFQTSQ.js +2 -0
  164. package/chunks/{versions-MFY62V25.js → versions-ROLQITT5.js} +1 -1
  165. package/chunks/{watch-DBB4W5AE.js → watch-4NXY7JEX.js} +1 -1
  166. package/chunks/{wontfix-D2ZHBGNH.js → wontfix-YSXRDPKA.js} +1 -1
  167. package/chunks/{workerd-LOWXXQEU.js → workerd-LH2MLWIF.js} +1 -1
  168. package/eser.js +1 -1
  169. package/package.json +7 -8
  170. package/chunks/chunk-ZER2RYWJ.js +0 -2
  171. package/chunks/claude-code-S2SGKOBE.js +0 -2
  172. package/chunks/kiro-LNQTCWQU.js +0 -2
  173. package/chunks/manifest-3VJ4O6HR.js +0 -2
  174. package/chunks/mod-GXNNOTTG.js +0 -2
  175. package/chunks/ollama-IRQSLTDB.js +0 -2
  176. package/chunks/opencode-74XXXUQ2.js +0 -2
  177. package/chunks/system-WX4PNZSQ.js +0 -2
  178. package/chunks/validate-bom-XA7KZWTH.js +0 -2
  179. package/chunks/validate-case-conflict-QWOT7276.js +0 -2
  180. package/chunks/validate-circular-deps-IAC3BSYO.js +0 -2
  181. package/chunks/validate-commit-msg-M42NIQLD.js +0 -2
  182. package/chunks/validate-docs-DXY4C23P.js +0 -2
  183. package/chunks/validate-eof-M3LGJL64.js +0 -2
  184. package/chunks/validate-export-names-BQAH7J4F.js +0 -2
  185. package/chunks/validate-filenames-WYIWPR5V.js +0 -2
  186. package/chunks/validate-json-S2J5SSZS.js +0 -2
  187. package/chunks/validate-large-files-X4D3CL42.js +0 -2
  188. package/chunks/validate-licenses-6LB6MLQU.js +0 -2
  189. package/chunks/validate-line-endings-NX2XXGTH.js +0 -2
  190. package/chunks/validate-merge-conflict-3ZNS7HS2.js +0 -2
  191. package/chunks/validate-mod-exports-72EWWWMT.js +0 -2
  192. package/chunks/validate-package-configs-55XAXICZ.js +0 -2
  193. package/chunks/validate-secrets-5V7V65JA.js +0 -2
  194. package/chunks/validate-shebangs-XVHLZJKY.js +0 -2
  195. package/chunks/validate-submodules-Z6WRSMS5.js +0 -2
  196. package/chunks/validate-symlinks-FWV2RFCM.js +0 -2
  197. package/chunks/validate-toml-DTGDAUSH.js +0 -2
  198. package/chunks/validate-trailing-whitespace-5QSYKA6L.js +0 -2
  199. package/chunks/validate-yaml-SKE7CDCP.js +0 -2
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- var a={name:"@eser/cli",version:"4.1.47",type:"module",exports:"./main.ts",bin:{eser:"./bin.ts"},dependencies:{"@eser/ai":"workspace:*","@eser/codebase":"workspace:*","@eser/kit":"workspace:*","@eser/noskills":"workspace:*","@eser/laroux-server":"workspace:*","@eser/workflows":"workspace:*","@eser/functions":"workspace:*","@eser/logging":"workspace:*","@eser/shell":"workspace:*","@eser/standards":"workspace:*","@std/cli":"npm:@jsr/std__cli@^1.0.25","@std/fmt":"npm:@jsr/std__fmt@^1.0.8"},devDependencies:{"@std/assert":"npm:@jsr/std__assert@^1.0.16",esbuild:"^0.27.3"},optionalDependencies:{"@eserstack/ajan-darwin-arm64":"4.1.44","@eserstack/ajan-darwin-x64":"4.1.44","@eserstack/ajan-linux-arm64":"4.1.44","@eserstack/ajan-linux-x64":"4.1.44","@eserstack/ajan-win32-arm64":"4.1.44","@eserstack/ajan-win32-x64":"4.1.44","@eserstack/ajan-wasm":"4.1.44"}};export{a};
2
+ var r={name:"@eser/cli",version:"4.1.48",type:"module",exports:"./main.ts",bin:{eser:"./bin.ts"},dependencies:{"@eser/ai":"workspace:*","@eser/codebase":"workspace:*","@eser/kit":"workspace:*","@eser/noskills":"workspace:*","@eser/laroux-server":"workspace:*","@eser/workflows":"workspace:*","@eser/functions":"workspace:*","@eser/logging":"workspace:*","@eser/shell":"workspace:*","@eser/standards":"workspace:*","@std/cli":"npm:@jsr/std__cli@^1.0.25","@std/fmt":"npm:@jsr/std__fmt@^1.0.8"},devDependencies:{"@std/assert":"npm:@jsr/std__assert@^1.0.16",esbuild:"^0.27.3"},optionalDependencies:{"@eserstack/ajan-darwin-arm64":"^4.1.47","@eserstack/ajan-darwin-x64":"^4.1.47","@eserstack/ajan-linux-arm64":"^4.1.47","@eserstack/ajan-linux-x64":"^4.1.47","@eserstack/ajan-win32-x64":"^4.1.47","@eserstack/ajan-wasm":"^4.1.47"}};export{r as a};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{c as a}from"./chunk-YW377352.js";var i={UNINITIALIZED:["IDLE"],IDLE:["DISCOVERY","COMPLETED","FREE"],FREE:["IDLE"],DISCOVERY:["DISCOVERY_REVIEW","COMPLETED"],DISCOVERY_REVIEW:["DISCOVERY_REVIEW","SPEC_DRAFT","COMPLETED"],SPEC_DRAFT:["SPEC_DRAFT","SPEC_APPROVED","COMPLETED"],SPEC_APPROVED:["EXECUTING","COMPLETED"],EXECUTING:["COMPLETED","BLOCKED"],BLOCKED:["EXECUTING","COMPLETED"],COMPLETED:["IDLE","DISCOVERY"]},l=(e,s)=>i[e].includes(s),t=(e,s)=>{if(!l(e,s))throw new Error(`Invalid phase transition: ${e} \u2192 ${s}. Allowed: ${i[e].join(", ")}`)},h=(e,s)=>(t(e.phase,s),{...e,phase:s}),E=(e,s,n,o)=>(t(e.phase,"DISCOVERY"),{...e,phase:"DISCOVERY",spec:s,specDescription:o??null,branch:n,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[]}),u=e=>(t(e.phase,"FREE"),{...e,phase:"FREE"}),d=e=>(t(e.phase,"IDLE"),{...e,phase:"IDLE"}),m=(e,s,n)=>{if(e.phase!=="DISCOVERY"&&e.phase!=="DISCOVERY_REVIEW")throw new Error(`Cannot add discovery answer in phase: ${e.phase}`);let r=[...e.discovery.answers.filter(c=>c.questionId!==s),{questionId:s,answer:n}];return{...e,discovery:{...e.discovery,answers:r}}},S=e=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot complete discovery in phase: ${e.phase}`);return{...e,phase:"DISCOVERY_REVIEW",discovery:{...e.discovery,completed:!0},specState:{path:a.specFile(e.spec),status:"draft"}}},C=e=>(t(e.phase,"SPEC_DRAFT"),{...e,phase:"SPEC_DRAFT"}),D=e=>{if(e.phase!=="DISCOVERY_REVIEW")throw new Error(`Cannot approve discovery answers in phase: ${e.phase}`);return{...e,discovery:{...e.discovery,approved:!0}}},F=e=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot advance discovery question in phase: ${e.phase}`);return{...e,discovery:{...e.discovery,currentQuestion:e.discovery.currentQuestion+1}}},I=e=>(t(e.phase,"SPEC_APPROVED"),{...e,phase:"SPEC_APPROVED",specState:{...e.specState,status:"approved"}}),v=e=>(t(e.phase,"EXECUTING"),{...e,phase:"EXECUTING",discovery:{...e.discovery,completed:!0,approved:!1},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]}});var R=(e,s)=>(t(e.phase,"BLOCKED"),{...e,phase:"BLOCKED",execution:{...e.execution,lastProgress:`BLOCKED: ${s}`}}),O=(e,s)=>({...e,decisions:[...e.decisions,s]}),P=(e,s,n)=>(t(e.phase,"COMPLETED"),{...e,phase:"COMPLETED",completionReason:s,completedAt:new Date().toISOString(),completionNote:n??null}),w=e=>{if(e.phase!=="COMPLETED")throw new Error(`Cannot reopen in phase: ${e.phase}`);return{...e,phase:"DISCOVERY",reopenedFrom:e.completionReason,completionReason:null,completedAt:null,completionNote:null,discovery:{...e.discovery,completed:!1,currentQuestion:0},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},classification:null}},x=(e,s)=>{if(e.phase!=="EXECUTING"&&e.phase!=="BLOCKED")throw new Error(`Cannot revisit in phase: ${e.phase}. Only EXECUTING or BLOCKED can revisit.`);let n={from:e.phase,reason:s,completedTasks:[...e.execution.completedTasks],timestamp:new Date().toISOString()};return{...e,phase:"DISCOVERY",discovery:{...e.discovery,completed:!1,currentQuestion:0,approved:!1},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},classification:null,revisitHistory:[...e.revisitHistory??[],n]}},f=e=>({...e,phase:"IDLE",spec:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null});export{h as a,E as b,u as c,d,m as e,S as f,C as g,D as h,F as i,I as j,v as k,R as l,O as m,P as n,w as o,x as p,f as q};
2
+ import{c as a}from"./chunk-TMMAF763.js";var i={UNINITIALIZED:["IDLE"],IDLE:["DISCOVERY","COMPLETED","FREE"],FREE:["IDLE"],DISCOVERY:["DISCOVERY_REVIEW","COMPLETED"],DISCOVERY_REVIEW:["DISCOVERY_REVIEW","SPEC_DRAFT","COMPLETED"],SPEC_DRAFT:["SPEC_DRAFT","SPEC_APPROVED","COMPLETED"],SPEC_APPROVED:["EXECUTING","COMPLETED"],EXECUTING:["COMPLETED","BLOCKED"],BLOCKED:["EXECUTING","COMPLETED"],COMPLETED:["IDLE","DISCOVERY"]},l=(e,s)=>i[e].includes(s),t=(e,s)=>{if(!l(e,s))throw new Error(`Invalid phase transition: ${e} \u2192 ${s}. Allowed: ${i[e].join(", ")}`)},h=(e,s)=>(t(e.phase,s),{...e,phase:s}),E=(e,s,n,o)=>(t(e.phase,"DISCOVERY"),{...e,phase:"DISCOVERY",spec:s,specDescription:o??null,branch:n,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[]}),u=e=>(t(e.phase,"FREE"),{...e,phase:"FREE"}),d=e=>(t(e.phase,"IDLE"),{...e,phase:"IDLE"}),m=(e,s,n)=>{if(e.phase!=="DISCOVERY"&&e.phase!=="DISCOVERY_REVIEW")throw new Error(`Cannot add discovery answer in phase: ${e.phase}`);let r=[...e.discovery.answers.filter(c=>c.questionId!==s),{questionId:s,answer:n}];return{...e,discovery:{...e.discovery,answers:r}}},S=e=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot complete discovery in phase: ${e.phase}`);return{...e,phase:"DISCOVERY_REVIEW",discovery:{...e.discovery,completed:!0},specState:{path:a.specFile(e.spec),status:"draft"}}},C=e=>(t(e.phase,"SPEC_DRAFT"),{...e,phase:"SPEC_DRAFT"}),D=e=>{if(e.phase!=="DISCOVERY_REVIEW")throw new Error(`Cannot approve discovery answers in phase: ${e.phase}`);return{...e,discovery:{...e.discovery,approved:!0}}},F=e=>{if(e.phase!=="DISCOVERY")throw new Error(`Cannot advance discovery question in phase: ${e.phase}`);return{...e,discovery:{...e.discovery,currentQuestion:e.discovery.currentQuestion+1}}},I=e=>(t(e.phase,"SPEC_APPROVED"),{...e,phase:"SPEC_APPROVED",specState:{...e.specState,status:"approved"}}),v=e=>(t(e.phase,"EXECUTING"),{...e,phase:"EXECUTING",discovery:{...e.discovery,completed:!0,approved:!1},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]}});var R=(e,s)=>(t(e.phase,"BLOCKED"),{...e,phase:"BLOCKED",execution:{...e.execution,lastProgress:`BLOCKED: ${s}`}}),O=(e,s)=>({...e,decisions:[...e.decisions,s]}),P=(e,s,n)=>(t(e.phase,"COMPLETED"),{...e,phase:"COMPLETED",completionReason:s,completedAt:new Date().toISOString(),completionNote:n??null}),w=e=>{if(e.phase!=="COMPLETED")throw new Error(`Cannot reopen in phase: ${e.phase}`);return{...e,phase:"DISCOVERY",reopenedFrom:e.completionReason,completionReason:null,completedAt:null,completionNote:null,discovery:{...e.discovery,completed:!1,currentQuestion:0},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},classification:null}},x=(e,s)=>{if(e.phase!=="EXECUTING"&&e.phase!=="BLOCKED")throw new Error(`Cannot revisit in phase: ${e.phase}. Only EXECUTING or BLOCKED can revisit.`);let n={from:e.phase,reason:s,completedTasks:[...e.execution.completedTasks],timestamp:new Date().toISOString()};return{...e,phase:"DISCOVERY",discovery:{...e.discovery,completed:!1,currentQuestion:0,approved:!1},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},classification:null,revisitHistory:[...e.revisitHistory??[],n]}},f=e=>({...e,phase:"IDLE",spec:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null});export{h as a,E as b,u as c,d,m as e,S as f,C as g,D as h,F as i,I as j,v as k,R as l,O as m,P as n,w as o,x as p,f as q};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as k,b as p,c as h,e as m,f as u,g as f}from"./chunk-BJLUDX4R.js";import{a as c}from"./chunk-J7YTWK67.js";var y=class{capabilities=["text_generation","streaming","tool_calling"];provider="claude-code";modelId;binary;config;constructor(e,n){this.binary=e,this.config=n,this.modelId=n.model}async generateText(e,n){let r=w(this.config,e,"json"),s=f(e.messages,e.system);r.push("-p",s);let o=p(this.binary,r,{signal:n}),l=m(o.stderr),i=o.stdout.getReader(),a=[],d=new TextDecoder,g=await i.read();for(;g.done!==!0;)a.push(d.decode(g.value,{stream:!0})),g=await i.read();i.releaseLock();let T=await o.waitForExit(),_=await l,x=u("claude-code",T.code,_);if(x!==null)throw x;let S=a.join("");return v(S,this.modelId)}async*streamText(e,n){let r=this.config.properties?.streamFormat??"text",s=w(this.config,e,r),o=f(e.messages,e.system);s.push("-p",o);let l=p(this.binary,s,{signal:n}),i=m(l.stderr);try{r==="stream-json"?yield*this.#t(l,i):yield*this.#e(l,i)}catch(a){a instanceof c?yield{kind:"error",error:a}:yield{kind:"error",error:new c(a instanceof Error?a.message:String(a),{provider:"claude-code",cause:a instanceof Error?a:void 0})}}}async*#e(e,n){let r=new TextDecoder,s=e.stdout.getReader(),o=await s.read();for(;o.done!==!0;){let d=r.decode(o.value,{stream:!0});d.length>0&&(yield{kind:"content_delta",textDelta:d}),o=await s.read()}s.releaseLock();let l=await e.waitForExit(),i=await n,a=u("claude-code",l.code,i);a!==null?yield{kind:"error",error:a}:yield{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:0,outputTokens:0,totalTokens:0}}}async*#t(e,n){for await(let l of h(e.stdout)){let i=E(l);i!==null&&(yield i)}let r=await e.waitForExit(),s=await n,o=u("claude-code",r.code,s);o!==null&&(yield{kind:"error",error:o})}close(){return Promise.resolve()}getRawClient(){return null}},P={provider:"claude-code",async createModel(t){let e=await k("claude",t);return new y(e,t)}},w=(t,e,n)=>{let r=[];n!=="text"&&r.push("--output-format",n),n==="stream-json"&&r.push("--verbose"),r.push("--model",t.model);let s=t.properties?.maxTurns;s!==void 0&&r.push("--max-turns",String(s));let o=t.properties?.allowedTools;if(o!==void 0)for(let i of o)r.push("--allowedTools",i);let l=t.properties?.args;return l!==void 0&&r.push(...l),r},v=(t,e)=>{try{let n=JSON.parse(t);return b(n,e)}catch{return{content:[{kind:"text",text:t.trim()}],stopReason:"end_turn",usage:{inputTokens:0,outputTokens:0,totalTokens:0},modelId:e}}},b=(t,e)=>{let n=[];if(t.result!==void 0)n.push({kind:"text",text:String(t.result)});else if(t.message?.content!==void 0)for(let r of t.message.content)r.type==="text"?n.push({kind:"text",text:r.text}):r.type==="tool_use"&&n.push({kind:"tool_call",toolCall:{id:r.id??r.name,name:r.name,arguments:r.input??{}}});else typeof t=="string"&&n.push({kind:"text",text:t});return n.length===0&&n.push({kind:"text",text:JSON.stringify(t)}),{content:n,stopReason:t.stop_reason==="tool_use"?"tool_use":"end_turn",usage:{inputTokens:t.usage?.input_tokens??0,outputTokens:t.usage?.output_tokens??0,totalTokens:(t.usage?.input_tokens??0)+(t.usage?.output_tokens??0)},modelId:e,rawResponse:t}},E=t=>{if(t===null||typeof t!="object")return null;let e=t;if(e.type==="assistant"){if(e.message?.content!==void 0){for(let n of e.message.content)if(n.type==="text")return{kind:"content_delta",textDelta:n.text}}return null}return e.type==="content_block_delta"?e.delta?.type==="text_delta"?{kind:"content_delta",textDelta:e.delta.text}:null:e.type==="result"?{kind:"message_done",stopReason:e.subtype==="tool_use"?"tool_use":"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 Claude Code error",{provider:"claude-code"})}:e.content!==void 0&&typeof e.content=="string"?{kind:"content_delta",textDelta:e.content}:null};export{y as a,P as b};
2
+ import{a as k,b as p,c as h,e as m,f as u,g as f}from"./chunk-2TANTKYS.js";import{a as c}from"./chunk-J7YTWK67.js";var y=class{capabilities=["text_generation","streaming","tool_calling"];provider="claude-code";modelId;binary;config;constructor(e,n){this.binary=e,this.config=n,this.modelId=n.model}async generateText(e,n){let r=w(this.config,e,"json"),s=f(e.messages,e.system);r.push("-p",s);let o=p(this.binary,r,{signal:n}),l=m(o.stderr),i=o.stdout.getReader(),a=[],d=new TextDecoder,g=await i.read();for(;g.done!==!0;)a.push(d.decode(g.value,{stream:!0})),g=await i.read();i.releaseLock();let T=await o.waitForExit(),_=await l,x=u("claude-code",T.code,_);if(x!==null)throw x;let S=a.join("");return v(S,this.modelId)}async*streamText(e,n){let r=this.config.properties?.streamFormat??"text",s=w(this.config,e,r),o=f(e.messages,e.system);s.push("-p",o);let l=p(this.binary,s,{signal:n}),i=m(l.stderr);try{r==="stream-json"?yield*this.#t(l,i):yield*this.#e(l,i)}catch(a){a instanceof c?yield{kind:"error",error:a}:yield{kind:"error",error:new c(a instanceof Error?a.message:String(a),{provider:"claude-code",cause:a instanceof Error?a:void 0})}}}async*#e(e,n){let r=new TextDecoder,s=e.stdout.getReader(),o=await s.read();for(;o.done!==!0;){let d=r.decode(o.value,{stream:!0});d.length>0&&(yield{kind:"content_delta",textDelta:d}),o=await s.read()}s.releaseLock();let l=await e.waitForExit(),i=await n,a=u("claude-code",l.code,i);a!==null?yield{kind:"error",error:a}:yield{kind:"message_done",stopReason:"end_turn",usage:{inputTokens:0,outputTokens:0,totalTokens:0}}}async*#t(e,n){for await(let l of h(e.stdout)){let i=E(l);i!==null&&(yield i)}let r=await e.waitForExit(),s=await n,o=u("claude-code",r.code,s);o!==null&&(yield{kind:"error",error:o})}close(){return Promise.resolve()}getRawClient(){return null}},P={provider:"claude-code",async createModel(t){let e=await k("claude",t);return new y(e,t)}},w=(t,e,n)=>{let r=[];n!=="text"&&r.push("--output-format",n),n==="stream-json"&&r.push("--verbose"),r.push("--model",t.model);let s=t.properties?.maxTurns;s!==void 0&&r.push("--max-turns",String(s));let o=t.properties?.allowedTools;if(o!==void 0)for(let i of o)r.push("--allowedTools",i);let l=t.properties?.args;return l!==void 0&&r.push(...l),r},v=(t,e)=>{try{let n=JSON.parse(t);return b(n,e)}catch{return{content:[{kind:"text",text:t.trim()}],stopReason:"end_turn",usage:{inputTokens:0,outputTokens:0,totalTokens:0},modelId:e}}},b=(t,e)=>{let n=[];if(t.result!==void 0)n.push({kind:"text",text:String(t.result)});else if(t.message?.content!==void 0)for(let r of t.message.content)r.type==="text"?n.push({kind:"text",text:r.text}):r.type==="tool_use"&&n.push({kind:"tool_call",toolCall:{id:r.id??r.name,name:r.name,arguments:r.input??{}}});else typeof t=="string"&&n.push({kind:"text",text:t});return n.length===0&&n.push({kind:"text",text:JSON.stringify(t)}),{content:n,stopReason:t.stop_reason==="tool_use"?"tool_use":"end_turn",usage:{inputTokens:t.usage?.input_tokens??0,outputTokens:t.usage?.output_tokens??0,totalTokens:(t.usage?.input_tokens??0)+(t.usage?.output_tokens??0)},modelId:e,rawResponse:t}},E=t=>{if(t===null||typeof t!="object")return null;let e=t;if(e.type==="assistant"){if(e.message?.content!==void 0){for(let n of e.message.content)if(n.type==="text")return{kind:"content_delta",textDelta:n.text}}return null}return e.type==="content_block_delta"?e.delta?.type==="text_delta"?{kind:"content_delta",textDelta:e.delta.text}:null:e.type==="result"?{kind:"message_done",stopReason:e.subtype==="tool_use"?"tool_use":"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 Claude Code error",{provider:"claude-code"})}:e.content!==void 0&&typeof e.content=="string"?{kind:"content_delta",textDelta:e.content}:null};export{y as a,P as b};
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{c as u}from"./chunk-BJLUDX4R.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(`
2
+ import{c as u}from"./chunk-2TANTKYS.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,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{e as Ja}from"./chunk-5DWJ7WEE.js";import{i as Hv}from"./chunk-WJKE6XHF.js";import{b as Hb}from"./chunk-BQT5RJZB.js";import{a as Ko,c as Ra,e as Dv}from"./chunk-5WJ6AUNY.js";var Qb=Ra(Pe=>{"use strict";var zv=Symbol.for("react.transitional.element"),ip=Symbol.for("react.portal"),ap=Symbol.for("react.fragment"),op=Symbol.for("react.strict_mode"),cp=Symbol.for("react.profiler"),up=Symbol.for("react.consumer"),sp=Symbol.for("react.context"),fp=Symbol.for("react.forward_ref"),hp=Symbol.for("react.suspense"),dp=Symbol.for("react.memo"),Wb=Symbol.for("react.lazy"),gp=Symbol.for("react.activity"),Nb=Symbol.iterator;function vp(e){return e===null||typeof e!="object"?null:(e=Nb&&e[Nb]||e["@@iterator"],typeof e=="function"?e:null)}var Yb={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Gb=Object.assign,Xb={};function us(e,n,t){this.props=e,this.context=n,this.refs=Xb,this.updater=t||Yb}us.prototype.isReactComponent={};us.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};us.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Zb(){}Zb.prototype=us.prototype;function Uv(e,n,t){this.props=e,this.context=n,this.refs=Xb,this.updater=t||Yb}var Wv=Uv.prototype=new Zb;Wv.constructor=Uv;Gb(Wv,us.prototype);Wv.isPureReactComponent=!0;var Bb=Array.isArray;function Bv(){}var rt={H:null,A:null,T:null,S:null},Jb=Object.prototype.hasOwnProperty;function Yv(e,n,t){var a=t.ref;return{$$typeof:zv,type:e,key:n,ref:a!==void 0?a:null,props:t}}function yp(e,n){return Yv(e.type,n,e.props)}function Gv(e){return typeof e=="object"&&e!==null&&e.$$typeof===zv}function bp(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var zb=/\/+/g;function Nv(e,n){return typeof e=="object"&&e!==null&&e.key!=null?bp(""+e.key):n.toString(36)}function wp(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Bv,Bv):(e.status="pending",e.then(function(n){e.status==="pending"&&(e.status="fulfilled",e.value=n)},function(n){e.status==="pending"&&(e.status="rejected",e.reason=n)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function cs(e,n,t,a,c){var f=typeof e;(f==="undefined"||f==="boolean")&&(e=null);var d=!1;if(e===null)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(e.$$typeof){case zv:case ip:d=!0;break;case Wb:return d=e._init,cs(d(e._payload),n,t,a,c)}}if(d)return c=c(e),d=a===""?"."+Nv(e,0):a,Bb(c)?(t="",d!=null&&(t=d.replace(zb,"$&/")+"/"),cs(c,n,t,"",function(w){return w})):c!=null&&(Gv(c)&&(c=yp(c,t+(c.key==null||e&&e.key===c.key?"":(""+c.key).replace(zb,"$&/")+"/")+d)),n.push(c)),1;d=0;var T=a===""?".":a+":";if(Bb(e))for(var b=0;b<e.length;b++)a=e[b],f=T+Nv(a,b),d+=cs(a,n,t,f,c);else if(b=vp(e),typeof b=="function")for(e=b.call(e),b=0;!(a=e.next()).done;)a=a.value,f=T+Nv(a,b++),d+=cs(a,n,t,f,c);else if(f==="object"){if(typeof e.then=="function")return cs(wp(e),n,t,a,c);throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.")}return d}function kd(e,n,t){if(e==null)return e;var a=[],c=0;return cs(e,a,"","",function(f){return n.call(t,f,c++)}),a}function Tp(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var Ub=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pp={map:kd,forEach:function(e,n,t){kd(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return kd(e,function(){n++}),n},toArray:function(e){return kd(e,function(n){return n})||[]},only:function(e){if(!Gv(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Pe.Activity=gp;Pe.Children=pp;Pe.Component=us;Pe.Fragment=ap;Pe.Profiler=cp;Pe.PureComponent=Uv;Pe.StrictMode=op;Pe.Suspense=hp;Pe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;Pe.__COMPILER_RUNTIME={__proto__:null,c:function(e){return rt.H.useMemoCache(e)}};Pe.cache=function(e){return function(){return e.apply(null,arguments)}};Pe.cacheSignal=function(){return null};Pe.cloneElement=function(e,n,t){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=Gb({},e.props),c=e.key;if(n!=null)for(f in n.key!==void 0&&(c=""+n.key),n)!Jb.call(n,f)||f==="key"||f==="__self"||f==="__source"||f==="ref"&&n.ref===void 0||(a[f]=n[f]);var f=arguments.length-2;if(f===1)a.children=t;else if(1<f){for(var d=Array(f),T=0;T<f;T++)d[T]=arguments[T+2];a.children=d}return Yv(e.type,c,a)};Pe.createContext=function(e){return e={$$typeof:sp,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:up,_context:e},e};Pe.createElement=function(e,n,t){var a,c={},f=null;if(n!=null)for(a in n.key!==void 0&&(f=""+n.key),n)Jb.call(n,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(c[a]=n[a]);var d=arguments.length-2;if(d===1)c.children=t;else if(1<d){for(var T=Array(d),b=0;b<d;b++)T[b]=arguments[b+2];c.children=T}if(e&&e.defaultProps)for(a in d=e.defaultProps,d)c[a]===void 0&&(c[a]=d[a]);return Yv(e,f,c)};Pe.createRef=function(){return{current:null}};Pe.forwardRef=function(e){return{$$typeof:fp,render:e}};Pe.isValidElement=Gv;Pe.lazy=function(e){return{$$typeof:Wb,_payload:{_status:-1,_result:e},_init:Tp}};Pe.memo=function(e,n){return{$$typeof:dp,type:e,compare:n===void 0?null:n}};Pe.startTransition=function(e){var n=rt.T,t={};rt.T=t;try{var a=e(),c=rt.S;c!==null&&c(t,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Bv,Ub)}catch(f){Ub(f)}finally{n!==null&&t.types!==null&&(n.types=t.types),rt.T=n}};Pe.unstable_useCacheRefresh=function(){return rt.H.useCacheRefresh()};Pe.use=function(e){return rt.H.use(e)};Pe.useActionState=function(e,n,t){return rt.H.useActionState(e,n,t)};Pe.useCallback=function(e,n){return rt.H.useCallback(e,n)};Pe.useContext=function(e){return rt.H.useContext(e)};Pe.useDebugValue=function(){};Pe.useDeferredValue=function(e,n){return rt.H.useDeferredValue(e,n)};Pe.useEffect=function(e,n){return rt.H.useEffect(e,n)};Pe.useEffectEvent=function(e){return rt.H.useEffectEvent(e)};Pe.useId=function(){return rt.H.useId()};Pe.useImperativeHandle=function(e,n,t){return rt.H.useImperativeHandle(e,n,t)};Pe.useInsertionEffect=function(e,n){return rt.H.useInsertionEffect(e,n)};Pe.useLayoutEffect=function(e,n){return rt.H.useLayoutEffect(e,n)};Pe.useMemo=function(e,n){return rt.H.useMemo(e,n)};Pe.useOptimistic=function(e,n){return rt.H.useOptimistic(e,n)};Pe.useReducer=function(e,n,t){return rt.H.useReducer(e,n,t)};Pe.useRef=function(e){return rt.H.useRef(e)};Pe.useState=function(e){return rt.H.useState(e)};Pe.useSyncExternalStore=function(e,n,t){return rt.H.useSyncExternalStore(e,n,t)};Pe.useTransition=function(){return rt.H.useTransition()};Pe.version="19.2.4"});var Vb=Ra((ke,Sd)=>{"use strict";process.env.NODE_ENV!=="production"&&function(){function e(C,O){Object.defineProperty(a.prototype,C,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",O[0],O[1])}})}function n(C){return C===null||typeof C!="object"?null:(C=Zl&&C[Zl]||C["@@iterator"],typeof C=="function"?C:null)}function t(C,O){C=(C=C.constructor)&&(C.displayName||C.name)||"ReactClass";var Z=C+"."+O;ll[Z]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",O,C),ll[Z]=!0)}function a(C,O,Z){this.props=C,this.context=O,this.refs=rn,this.updater=Z||me}function c(){}function f(C,O,Z){this.props=C,this.context=O,this.refs=rn,this.updater=Z||me}function d(){}function T(C){return""+C}function b(C){try{T(C);var O=!1}catch{O=!0}if(O){O=console;var Z=O.error,$=typeof Symbol=="function"&&Symbol.toStringTag&&C[Symbol.toStringTag]||C.constructor.name||"Object";return Z.call(O,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",$),T(C)}}function w(C){if(C==null)return null;if(typeof C=="function")return C.$$typeof===_n?null:C.displayName||C.name||null;if(typeof C=="string")return C;switch(C){case lt:return"Fragment";case bn:return"Profiler";case Mn:return"StrictMode";case mt:return"Suspense";case _e:return"SuspenseList";case br:return"Activity"}if(typeof C=="object")switch(typeof C.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),C.$$typeof){case Me:return"Portal";case Ge:return C.displayName||"Context";case ae:return(C._context.displayName||"Context")+".Consumer";case Bt:var O=C.render;return C=C.displayName,C||(C=O.displayName||O.name||"",C=C!==""?"ForwardRef("+C+")":"ForwardRef"),C;case Ee:return O=C.displayName||null,O!==null?O:w(C.type)||"Memo";case it:O=C._payload,C=C._init;try{return w(C(O))}catch{}}return null}function S(C){if(C===lt)return"<>";if(typeof C=="object"&&C!==null&&C.$$typeof===it)return"<...>";try{var O=w(C);return O?"<"+O+">":"<...>"}catch{return"<...>"}}function E(){var C=we.A;return C===null?null:C.getOwner()}function x(){return Error("react-stack-top-frame")}function k(C){if(Ln.call(C,"key")){var O=Object.getOwnPropertyDescriptor(C,"key").get;if(O&&O.isReactWarning)return!1}return C.key!==void 0}function Q(C,O){function Z(){Vn||(Vn=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",O))}Z.isReactWarning=!0,Object.defineProperty(C,"key",{get:Z,configurable:!0})}function X(){var C=w(this.type);return Kn[C]||(Kn[C]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),C=this.props.ref,C!==void 0?C:null}function V(C,O,Z,$,re,ye){var be=Z.ref;return C={$$typeof:Fe,type:C,key:O,props:Z,_owner:$},(be!==void 0?be:null)!==null?Object.defineProperty(C,"ref",{enumerable:!1,get:X}):Object.defineProperty(C,"ref",{enumerable:!1,value:null}),C._store={},Object.defineProperty(C._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(C,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(C,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:re}),Object.defineProperty(C,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ye}),Object.freeze&&(Object.freeze(C.props),Object.freeze(C)),C}function ee(C,O){return O=V(C.type,O,C.props,C._owner,C._debugStack,C._debugTask),C._store&&(O._store.validated=C._store.validated),O}function j(C){ue(C)?C._store&&(C._store.validated=1):typeof C=="object"&&C!==null&&C.$$typeof===it&&(C._payload.status==="fulfilled"?ue(C._payload.value)&&C._payload.value._store&&(C._payload.value._store.validated=1):C._store&&(C._store.validated=1))}function ue(C){return typeof C=="object"&&C!==null&&C.$$typeof===Fe}function Re(C){var O={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(Z){return O[Z]})}function se(C,O){return typeof C=="object"&&C!==null&&C.key!=null?(b(C.key),Re(""+C.key)):O.toString(36)}function U(C){switch(C.status){case"fulfilled":return C.value;case"rejected":throw C.reason;default:switch(typeof C.status=="string"?C.then(d,d):(C.status="pending",C.then(function(O){C.status==="pending"&&(C.status="fulfilled",C.value=O)},function(O){C.status==="pending"&&(C.status="rejected",C.reason=O)})),C.status){case"fulfilled":return C.value;case"rejected":throw C.reason}}throw C}function Ye(C,O,Z,$,re){var ye=typeof C;(ye==="undefined"||ye==="boolean")&&(C=null);var be=!1;if(C===null)be=!0;else switch(ye){case"bigint":case"string":case"number":be=!0;break;case"object":switch(C.$$typeof){case Fe:case Me:be=!0;break;case it:return be=C._init,Ye(be(C._payload),O,Z,$,re)}}if(be){be=C,re=re(be);var Ke=$===""?"."+se(be,0):$;return nn(re)?(Z="",Ke!=null&&(Z=Ke.replace(qn,"$&/")+"/"),Ye(re,O,Z,"",function(Ne){return Ne})):re!=null&&(ue(re)&&(re.key!=null&&(be&&be.key===re.key||b(re.key)),Z=ee(re,Z+(re.key==null||be&&be.key===re.key?"":(""+re.key).replace(qn,"$&/")+"/")+Ke),$!==""&&be!=null&&ue(be)&&be.key==null&&be._store&&!be._store.validated&&(Z._store.validated=2),re=Z),O.push(re)),1}if(be=0,Ke=$===""?".":$+":",nn(C))for(var xe=0;xe<C.length;xe++)$=C[xe],ye=Ke+se($,xe),be+=Ye($,O,Z,ye,re);else if(xe=n(C),typeof xe=="function")for(xe===C.entries&&(cn||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),cn=!0),C=xe.call(C),xe=0;!($=C.next()).done;)$=$.value,ye=Ke+se($,xe++),be+=Ye($,O,Z,ye,re);else if(ye==="object"){if(typeof C.then=="function")return Ye(U(C),O,Z,$,re);throw O=String(C),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(C).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.")}return be}function en(C,O,Z){if(C==null)return C;var $=[],re=0;return Ye(C,$,"","",function(ye){return O.call(Z,ye,re++)}),$}function ve(C){if(C._status===-1){var O=C._ioInfo;O!=null&&(O.start=O.end=performance.now()),O=C._result;var Z=O();if(Z.then(function(re){if(C._status===0||C._status===-1){C._status=1,C._result=re;var ye=C._ioInfo;ye!=null&&(ye.end=performance.now()),Z.status===void 0&&(Z.status="fulfilled",Z.value=re)}},function(re){if(C._status===0||C._status===-1){C._status=2,C._result=re;var ye=C._ioInfo;ye!=null&&(ye.end=performance.now()),Z.status===void 0&&(Z.status="rejected",Z.reason=re)}}),O=C._ioInfo,O!=null){O.value=Z;var $=Z.displayName;typeof $=="string"&&(O.name=$)}C._status===-1&&(C._status=0,C._result=Z)}if(C._status===1)return O=C._result,O===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
2
+ import{e as Ja}from"./chunk-5DWJ7WEE.js";import{i as Hv}from"./chunk-6DBKPC2O.js";import{b as Hb}from"./chunk-6G6UVWJN.js";import{a as Ko,c as Ra,e as Dv}from"./chunk-5WJ6AUNY.js";var Qb=Ra(Pe=>{"use strict";var zv=Symbol.for("react.transitional.element"),ip=Symbol.for("react.portal"),ap=Symbol.for("react.fragment"),op=Symbol.for("react.strict_mode"),cp=Symbol.for("react.profiler"),up=Symbol.for("react.consumer"),sp=Symbol.for("react.context"),fp=Symbol.for("react.forward_ref"),hp=Symbol.for("react.suspense"),dp=Symbol.for("react.memo"),Wb=Symbol.for("react.lazy"),gp=Symbol.for("react.activity"),Nb=Symbol.iterator;function vp(e){return e===null||typeof e!="object"?null:(e=Nb&&e[Nb]||e["@@iterator"],typeof e=="function"?e:null)}var Yb={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Gb=Object.assign,Xb={};function us(e,n,t){this.props=e,this.context=n,this.refs=Xb,this.updater=t||Yb}us.prototype.isReactComponent={};us.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};us.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Zb(){}Zb.prototype=us.prototype;function Uv(e,n,t){this.props=e,this.context=n,this.refs=Xb,this.updater=t||Yb}var Wv=Uv.prototype=new Zb;Wv.constructor=Uv;Gb(Wv,us.prototype);Wv.isPureReactComponent=!0;var Bb=Array.isArray;function Bv(){}var rt={H:null,A:null,T:null,S:null},Jb=Object.prototype.hasOwnProperty;function Yv(e,n,t){var a=t.ref;return{$$typeof:zv,type:e,key:n,ref:a!==void 0?a:null,props:t}}function yp(e,n){return Yv(e.type,n,e.props)}function Gv(e){return typeof e=="object"&&e!==null&&e.$$typeof===zv}function bp(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(t){return n[t]})}var zb=/\/+/g;function Nv(e,n){return typeof e=="object"&&e!==null&&e.key!=null?bp(""+e.key):n.toString(36)}function wp(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Bv,Bv):(e.status="pending",e.then(function(n){e.status==="pending"&&(e.status="fulfilled",e.value=n)},function(n){e.status==="pending"&&(e.status="rejected",e.reason=n)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function cs(e,n,t,a,c){var f=typeof e;(f==="undefined"||f==="boolean")&&(e=null);var d=!1;if(e===null)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(e.$$typeof){case zv:case ip:d=!0;break;case Wb:return d=e._init,cs(d(e._payload),n,t,a,c)}}if(d)return c=c(e),d=a===""?"."+Nv(e,0):a,Bb(c)?(t="",d!=null&&(t=d.replace(zb,"$&/")+"/"),cs(c,n,t,"",function(w){return w})):c!=null&&(Gv(c)&&(c=yp(c,t+(c.key==null||e&&e.key===c.key?"":(""+c.key).replace(zb,"$&/")+"/")+d)),n.push(c)),1;d=0;var T=a===""?".":a+":";if(Bb(e))for(var b=0;b<e.length;b++)a=e[b],f=T+Nv(a,b),d+=cs(a,n,t,f,c);else if(b=vp(e),typeof b=="function")for(e=b.call(e),b=0;!(a=e.next()).done;)a=a.value,f=T+Nv(a,b++),d+=cs(a,n,t,f,c);else if(f==="object"){if(typeof e.then=="function")return cs(wp(e),n,t,a,c);throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.")}return d}function kd(e,n,t){if(e==null)return e;var a=[],c=0;return cs(e,a,"","",function(f){return n.call(t,f,c++)}),a}function Tp(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var Ub=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)},pp={map:kd,forEach:function(e,n,t){kd(e,function(){n.apply(this,arguments)},t)},count:function(e){var n=0;return kd(e,function(){n++}),n},toArray:function(e){return kd(e,function(n){return n})||[]},only:function(e){if(!Gv(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Pe.Activity=gp;Pe.Children=pp;Pe.Component=us;Pe.Fragment=ap;Pe.Profiler=cp;Pe.PureComponent=Uv;Pe.StrictMode=op;Pe.Suspense=hp;Pe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=rt;Pe.__COMPILER_RUNTIME={__proto__:null,c:function(e){return rt.H.useMemoCache(e)}};Pe.cache=function(e){return function(){return e.apply(null,arguments)}};Pe.cacheSignal=function(){return null};Pe.cloneElement=function(e,n,t){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var a=Gb({},e.props),c=e.key;if(n!=null)for(f in n.key!==void 0&&(c=""+n.key),n)!Jb.call(n,f)||f==="key"||f==="__self"||f==="__source"||f==="ref"&&n.ref===void 0||(a[f]=n[f]);var f=arguments.length-2;if(f===1)a.children=t;else if(1<f){for(var d=Array(f),T=0;T<f;T++)d[T]=arguments[T+2];a.children=d}return Yv(e.type,c,a)};Pe.createContext=function(e){return e={$$typeof:sp,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:up,_context:e},e};Pe.createElement=function(e,n,t){var a,c={},f=null;if(n!=null)for(a in n.key!==void 0&&(f=""+n.key),n)Jb.call(n,a)&&a!=="key"&&a!=="__self"&&a!=="__source"&&(c[a]=n[a]);var d=arguments.length-2;if(d===1)c.children=t;else if(1<d){for(var T=Array(d),b=0;b<d;b++)T[b]=arguments[b+2];c.children=T}if(e&&e.defaultProps)for(a in d=e.defaultProps,d)c[a]===void 0&&(c[a]=d[a]);return Yv(e,f,c)};Pe.createRef=function(){return{current:null}};Pe.forwardRef=function(e){return{$$typeof:fp,render:e}};Pe.isValidElement=Gv;Pe.lazy=function(e){return{$$typeof:Wb,_payload:{_status:-1,_result:e},_init:Tp}};Pe.memo=function(e,n){return{$$typeof:dp,type:e,compare:n===void 0?null:n}};Pe.startTransition=function(e){var n=rt.T,t={};rt.T=t;try{var a=e(),c=rt.S;c!==null&&c(t,a),typeof a=="object"&&a!==null&&typeof a.then=="function"&&a.then(Bv,Ub)}catch(f){Ub(f)}finally{n!==null&&t.types!==null&&(n.types=t.types),rt.T=n}};Pe.unstable_useCacheRefresh=function(){return rt.H.useCacheRefresh()};Pe.use=function(e){return rt.H.use(e)};Pe.useActionState=function(e,n,t){return rt.H.useActionState(e,n,t)};Pe.useCallback=function(e,n){return rt.H.useCallback(e,n)};Pe.useContext=function(e){return rt.H.useContext(e)};Pe.useDebugValue=function(){};Pe.useDeferredValue=function(e,n){return rt.H.useDeferredValue(e,n)};Pe.useEffect=function(e,n){return rt.H.useEffect(e,n)};Pe.useEffectEvent=function(e){return rt.H.useEffectEvent(e)};Pe.useId=function(){return rt.H.useId()};Pe.useImperativeHandle=function(e,n,t){return rt.H.useImperativeHandle(e,n,t)};Pe.useInsertionEffect=function(e,n){return rt.H.useInsertionEffect(e,n)};Pe.useLayoutEffect=function(e,n){return rt.H.useLayoutEffect(e,n)};Pe.useMemo=function(e,n){return rt.H.useMemo(e,n)};Pe.useOptimistic=function(e,n){return rt.H.useOptimistic(e,n)};Pe.useReducer=function(e,n,t){return rt.H.useReducer(e,n,t)};Pe.useRef=function(e){return rt.H.useRef(e)};Pe.useState=function(e){return rt.H.useState(e)};Pe.useSyncExternalStore=function(e,n,t){return rt.H.useSyncExternalStore(e,n,t)};Pe.useTransition=function(){return rt.H.useTransition()};Pe.version="19.2.4"});var Vb=Ra((ke,Sd)=>{"use strict";process.env.NODE_ENV!=="production"&&function(){function e(C,O){Object.defineProperty(a.prototype,C,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",O[0],O[1])}})}function n(C){return C===null||typeof C!="object"?null:(C=Zl&&C[Zl]||C["@@iterator"],typeof C=="function"?C:null)}function t(C,O){C=(C=C.constructor)&&(C.displayName||C.name)||"ReactClass";var Z=C+"."+O;ll[Z]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",O,C),ll[Z]=!0)}function a(C,O,Z){this.props=C,this.context=O,this.refs=rn,this.updater=Z||me}function c(){}function f(C,O,Z){this.props=C,this.context=O,this.refs=rn,this.updater=Z||me}function d(){}function T(C){return""+C}function b(C){try{T(C);var O=!1}catch{O=!0}if(O){O=console;var Z=O.error,$=typeof Symbol=="function"&&Symbol.toStringTag&&C[Symbol.toStringTag]||C.constructor.name||"Object";return Z.call(O,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",$),T(C)}}function w(C){if(C==null)return null;if(typeof C=="function")return C.$$typeof===_n?null:C.displayName||C.name||null;if(typeof C=="string")return C;switch(C){case lt:return"Fragment";case bn:return"Profiler";case Mn:return"StrictMode";case mt:return"Suspense";case _e:return"SuspenseList";case br:return"Activity"}if(typeof C=="object")switch(typeof C.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),C.$$typeof){case Me:return"Portal";case Ge:return C.displayName||"Context";case ae:return(C._context.displayName||"Context")+".Consumer";case Bt:var O=C.render;return C=C.displayName,C||(C=O.displayName||O.name||"",C=C!==""?"ForwardRef("+C+")":"ForwardRef"),C;case Ee:return O=C.displayName||null,O!==null?O:w(C.type)||"Memo";case it:O=C._payload,C=C._init;try{return w(C(O))}catch{}}return null}function S(C){if(C===lt)return"<>";if(typeof C=="object"&&C!==null&&C.$$typeof===it)return"<...>";try{var O=w(C);return O?"<"+O+">":"<...>"}catch{return"<...>"}}function E(){var C=we.A;return C===null?null:C.getOwner()}function x(){return Error("react-stack-top-frame")}function k(C){if(Ln.call(C,"key")){var O=Object.getOwnPropertyDescriptor(C,"key").get;if(O&&O.isReactWarning)return!1}return C.key!==void 0}function Q(C,O){function Z(){Vn||(Vn=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",O))}Z.isReactWarning=!0,Object.defineProperty(C,"key",{get:Z,configurable:!0})}function X(){var C=w(this.type);return Kn[C]||(Kn[C]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),C=this.props.ref,C!==void 0?C:null}function V(C,O,Z,$,re,ye){var be=Z.ref;return C={$$typeof:Fe,type:C,key:O,props:Z,_owner:$},(be!==void 0?be:null)!==null?Object.defineProperty(C,"ref",{enumerable:!1,get:X}):Object.defineProperty(C,"ref",{enumerable:!1,value:null}),C._store={},Object.defineProperty(C._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(C,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(C,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:re}),Object.defineProperty(C,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ye}),Object.freeze&&(Object.freeze(C.props),Object.freeze(C)),C}function ee(C,O){return O=V(C.type,O,C.props,C._owner,C._debugStack,C._debugTask),C._store&&(O._store.validated=C._store.validated),O}function j(C){ue(C)?C._store&&(C._store.validated=1):typeof C=="object"&&C!==null&&C.$$typeof===it&&(C._payload.status==="fulfilled"?ue(C._payload.value)&&C._payload.value._store&&(C._payload.value._store.validated=1):C._store&&(C._store.validated=1))}function ue(C){return typeof C=="object"&&C!==null&&C.$$typeof===Fe}function Re(C){var O={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(Z){return O[Z]})}function se(C,O){return typeof C=="object"&&C!==null&&C.key!=null?(b(C.key),Re(""+C.key)):O.toString(36)}function U(C){switch(C.status){case"fulfilled":return C.value;case"rejected":throw C.reason;default:switch(typeof C.status=="string"?C.then(d,d):(C.status="pending",C.then(function(O){C.status==="pending"&&(C.status="fulfilled",C.value=O)},function(O){C.status==="pending"&&(C.status="rejected",C.reason=O)})),C.status){case"fulfilled":return C.value;case"rejected":throw C.reason}}throw C}function Ye(C,O,Z,$,re){var ye=typeof C;(ye==="undefined"||ye==="boolean")&&(C=null);var be=!1;if(C===null)be=!0;else switch(ye){case"bigint":case"string":case"number":be=!0;break;case"object":switch(C.$$typeof){case Fe:case Me:be=!0;break;case it:return be=C._init,Ye(be(C._payload),O,Z,$,re)}}if(be){be=C,re=re(be);var Ke=$===""?"."+se(be,0):$;return nn(re)?(Z="",Ke!=null&&(Z=Ke.replace(qn,"$&/")+"/"),Ye(re,O,Z,"",function(Ne){return Ne})):re!=null&&(ue(re)&&(re.key!=null&&(be&&be.key===re.key||b(re.key)),Z=ee(re,Z+(re.key==null||be&&be.key===re.key?"":(""+re.key).replace(qn,"$&/")+"/")+Ke),$!==""&&be!=null&&ue(be)&&be.key==null&&be._store&&!be._store.validated&&(Z._store.validated=2),re=Z),O.push(re)),1}if(be=0,Ke=$===""?".":$+":",nn(C))for(var xe=0;xe<C.length;xe++)$=C[xe],ye=Ke+se($,xe),be+=Ye($,O,Z,ye,re);else if(xe=n(C),typeof xe=="function")for(xe===C.entries&&(cn||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),cn=!0),C=xe.call(C),xe=0;!($=C.next()).done;)$=$.value,ye=Ke+se($,xe++),be+=Ye($,O,Z,ye,re);else if(ye==="object"){if(typeof C.then=="function")return Ye(U(C),O,Z,$,re);throw O=String(C),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(C).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.")}return be}function en(C,O,Z){if(C==null)return C;var $=[],re=0;return Ye(C,$,"","",function(ye){return O.call(Z,ye,re++)}),$}function ve(C){if(C._status===-1){var O=C._ioInfo;O!=null&&(O.start=O.end=performance.now()),O=C._result;var Z=O();if(Z.then(function(re){if(C._status===0||C._status===-1){C._status=1,C._result=re;var ye=C._ioInfo;ye!=null&&(ye.end=performance.now()),Z.status===void 0&&(Z.status="fulfilled",Z.value=re)}},function(re){if(C._status===0||C._status===-1){C._status=2,C._result=re;var ye=C._ioInfo;ye!=null&&(ye.end=performance.now()),Z.status===void 0&&(Z.status="rejected",Z.reason=re)}}),O=C._ioInfo,O!=null){O.value=Z;var $=Z.displayName;typeof $=="string"&&(O.name=$)}C._status===-1&&(C._status=0,C._result=Z)}if(C._status===1)return O=C._result,O===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
3
3
 
4
4
  Your code should look like:
5
5
  const MyComponent = lazy(() => import('./MyComponent'))
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{j as h}from"./chunk-WJKE6XHF.js";import{m as v}from"./chunk-BQT5RJZB.js";import{d as B}from"./chunk-5WJ6AUNY.js";var $={};B($,{CommandBuilder:()=>p,CommandError:()=>l,ProcessGroup:()=>f,exec:()=>b,parseCommand:()=>g,spawnPty:()=>R});var l=class extends Error{constructor(e,n,s,i){super(e);this.command=n;this.code=s;this.stderr=i;this.name="CommandError"}};var m=new TextDecoder,p=class r{#t;#r;#e;constructor(t,e=[],n={}){this.#t=t,this.#r=e,this.#e={throwOnError:!0,stdout:"piped",stderr:"piped",...n}}cwd(t){return new r(this.#t,this.#r,{...this.#e,cwd:t})}env(t,e){let n=this.#e.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.#t,this.#r,{...this.#e,env:s})}stdin(t){return new r(this.#t,this.#r,{...this.#e,stdin:t})}stdout(t){return new r(this.#t,this.#r,{...this.#e,stdout:t})}stderr(t){return new r(this.#t,this.#r,{...this.#e,stderr:t})}timeout(t){return new r(this.#t,this.#r,{...this.#e,timeout:t})}noThrow(){return new r(this.#t,this.#r,{...this.#e,throwOnError:!1})}quiet(){return new r(this.#t,this.#r,{...this.#e,stdout:"null",stderr:"null"})}printCommand(){let t=[this.#t,...this.#r].join(" ");return console.log(`$ ${t}`),this}async spawn(){let{runtime:t}=h,e=await t.exec.spawn(this.#t,this.#r,{cwd:this.#e.cwd,env:this.#e.env,stdin:this.#e.stdin,stdout:this.#e.stdout,stderr:this.#e.stderr});if(!e.success&&this.#e.throwOnError===!0){let n=m.decode(e.stderr);throw new l(`Command failed with exit code ${e.code}: ${this.#t}`,this.#t,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(`
2
+ import{j as h}from"./chunk-6DBKPC2O.js";import{m as v}from"./chunk-6G6UVWJN.js";import{d as B}from"./chunk-5WJ6AUNY.js";var $={};B($,{CommandBuilder:()=>p,CommandError:()=>l,ProcessGroup:()=>f,exec:()=>b,parseCommand:()=>g,spawnPty:()=>R});var l=class extends Error{constructor(e,n,s,i){super(e);this.command=n;this.code=s;this.stderr=i;this.name="CommandError"}};var m=new TextDecoder,p=class r{#t;#r;#e;constructor(t,e=[],n={}){this.#t=t,this.#r=e,this.#e={throwOnError:!0,stdout:"piped",stderr:"piped",...n}}cwd(t){return new r(this.#t,this.#r,{...this.#e,cwd:t})}env(t,e){let n=this.#e.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.#t,this.#r,{...this.#e,env:s})}stdin(t){return new r(this.#t,this.#r,{...this.#e,stdin:t})}stdout(t){return new r(this.#t,this.#r,{...this.#e,stdout:t})}stderr(t){return new r(this.#t,this.#r,{...this.#e,stderr:t})}timeout(t){return new r(this.#t,this.#r,{...this.#e,timeout:t})}noThrow(){return new r(this.#t,this.#r,{...this.#e,throwOnError:!1})}quiet(){return new r(this.#t,this.#r,{...this.#e,stdout:"null",stderr:"null"})}printCommand(){let t=[this.#t,...this.#r].join(" ");return console.log(`$ ${t}`),this}async spawn(){let{runtime:t}=h,e=await t.exec.spawn(this.#t,this.#r,{cwd:this.#e.cwd,env:this.#e.env,stdin:this.#e.stdin,stdout:this.#e.stdout,stderr:this.#e.stderr});if(!e.success&&this.#e.throwOnError===!0){let n=m.decode(e.stderr);throw new l(`Command failed with exit code ${e.code}: ${this.#t}`,this.#t,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 w([this,t])}child(){let{runtime:t}=h;return t.exec.spawnChild(this.#t,this.#r,{cwd:this.#e.cwd,env:this.#e.env,stdin:this.#e.stdin??"piped",stdout:this.#e.stdout??"piped",stderr:this.#e.stderr??"piped"})}},w=class r{#t;constructor(t){this.#t=t}pipe(t){return new r([...this.#t,t])}async text(){let t="";for(let e of this.#t){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 g=(r,t)=>{let e=[];for(let s=0;s<r.length;s++){let i=r[s];if(i!==void 0&&e.push(i),s<t.length){let d=t[s];Array.isArray(d)?e.push(d.map(c=>S(String(c))).join(" ")):d!=null&&e.push(S(String(d)))}}let n=e.join("").trim();return A(n)},S=r=>/[\s"'\\$`]/.test(r)?`'${r.replace(/'/g,"'\\''")}'`:r,A=r=>{let t=[],e="",n=!1,s=!1,i=!1;for(let c=0;c<r.length;c++){let a=r[c];if(i){e+=a,i=!1;continue}if(a==="\\"){i=!0;continue}if(a==="'"&&!s){n=!n;continue}if(a==='"'&&!n){s=!s;continue}if(a===" "&&!n&&!s){e.length>0&&(t.push(e),e="");continue}e+=a}e.length>0&&t.push(e);let d=t[0];return d===void 0?["",[]]:[d,t.slice(1)]};var b=(r,...t)=>{let[e,n]=g(r,t);return new p(e,n)};var M=/\x04/g,k=/^Script (started|done),? ?(output file is )?[^\n]*\n?/gm,I=r=>r.replace(M,"").replace(k,""),L=(r,t)=>{let e=v();return e==="darwin"?{cmd:"script",args:["-q","/dev/null",r,...t],usesScript:!0}:e==="linux"?{cmd:"script",args:["-qc",t.length>0?`${r} ${t.map(s=>`'${s.replace(/'/g,"'\\''")}'`).join(" ")}`:r,"/dev/null"],usesScript:!0}:{cmd:r,args:t,usesScript:!1}},R=async r=>{let{runtime:t}=h,e=r.args!==void 0?[...r.args]:[],n=L(r.command,e),s={...r.env,TERM:"xterm-256color",COLUMNS:String(r.cols??80),LINES:String(r.rows??24)},i=t.exec.spawnChild(n.cmd,[...n.args],{cwd:r.cwd,env:s,stdin:"piped",stdout:"piped",stderr:"piped"}),d=new TextDecoder,c=new TextEncoder,a=[],C=!1,T=o=>{let u=n.usesScript?I(o):o;if(u.length!==0)for(let y of a)y(u)},x=async o=>{let u=o.getReader();try{for(;;){let{done:y,value:E}=await u.read();if(y)break;T(d.decode(E))}}catch{}finally{u.releaseLock()}},O=()=>{C||(C=!0,i.stdout&&x(i.stdout),i.stderr&&x(i.stderr))},P=null;return i.stdin&&(P=i.stdin.getWriter()),{onData(o){a.push(o),O()},write(o){P?.write(c.encode(o)).catch(()=>{})},resize(o,u){},kill(o){try{i.kill(o==="SIGKILL"?"SIGKILL":"SIGTERM")}catch{}},get pid(){return i.pid},get exitCode(){return i.status.then(o=>o.code)}}};var f=class{#t=new Map;get size(){return this.#t.size}add(t,e){let n={id:t,process:e,active:!0};return this.#t.set(t,n),e.exitCode.then(()=>{n.active=!1}).catch(()=>{n.active=!1}),n}get(t){return this.#t.get(t)}remove(t){let e=this.#t.get(t);return e===void 0?!1:(e.active&&e.process.kill(),this.#t.delete(t),!0)}list(){return[...this.#t.values()]}async killAll(t="SIGTERM"){for(let s of this.#t.values())s.active&&s.process.kill(t);let e=3e3,n=Date.now();for(let s of this.#t.values())if(s.active){let i=e-(Date.now()-n);i>0&&await Promise.race([s.process.exitCode,new Promise(d=>setTimeout(d,i))])}}forceKillAll(){for(let t of this.#t.values())t.active&&(t.process.kill("SIGKILL"),t.active=!1);this.#t.clear()}};export{l as a,p as b,g as c,b as d,R as e,f,$ as g};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as E}from"./chunk-EGEJQP7D.js";import{a as y}from"./chunk-LFNUSULJ.js";import{b as C}from"./chunk-LGNGLAV3.js";import{f as v}from"./chunk-P2MUEKFT.js";import{b as i,f as m,g as x,h as k,i as g}from"./chunk-YVN2NZL4.js";import{g as p}from"./chunk-FFWPJP7A.js";import{j as h}from"./chunk-WJKE6XHF.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};
2
+ import{a as E}from"./chunk-IIFFSCDJ.js";import{a as y}from"./chunk-LFNUSULJ.js";import{b as C}from"./chunk-O325ZU5M.js";import{f as v}from"./chunk-P2MUEKFT.js";import{b as i,f as m,g as x,h as k,i as g}from"./chunk-YVN2NZL4.js";import{g as p}from"./chunk-FFWPJP7A.js";import{j as h}from"./chunk-6DBKPC2O.js";var l=C(),d=e=>e.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]+/g,"-").toLowerCase(),f=(e,o=[])=>{let s=e.split("/").filter(r=>r.length>0);for(let r of s){let t=r.startsWith(".")?r.slice(1):r;if(t.length===0)continue;let a=h.runtime.path.extname(t);if(a.length>0&&(t=t.slice(0,-a.length)),t.length!==0&&!o.includes(t)&&!/^[a-z0-9]+(-[a-z0-9]+)*$/.test(t))return!1}return!0},N=async(e={})=>{let{root:o=".",ignoreWords:s=[]}=e,r=await E(o),t=[];for(let a of r){let n=a.config.exports?.value;if(n!=null){if(typeof n=="string"){f(n,s)||t.push({packageName:a.name,exportPath:n,suggestion:d(n)});continue}if(n!==null&&typeof n=="object")for(let[u,c]of Object.entries(n))f(u,s)||t.push({packageName:a.name,exportPath:u,suggestion:d(u)}),typeof c=="string"&&!f(c,s)&&t.push({packageName:a.name,exportPath:c,suggestion:d(c)})}}return{isValid:t.length===0,violations:t,packagesChecked:r.length}},w=e=>v.fromPromise(()=>N(e)),b=e=>p.ok({root:"."}),A=e=>{if(p.isFail(e))return l.writeln(m("\u2717"),i(" "+String(e.error))),p.fail({exitCode:1});let{value:o}=e;if(l.writeln(g("\u2139"),i(` Checked ${o.packagesChecked} packages.`)),!o.isValid){l.writeln(m("\u2717"),i(` Found ${o.violations.length} naming violations:`));for(let s of o.violations)l.writeln(k("\u26A0"),i(" "+s.packageName)),l.writeln(g("\u2139"),i(` Export: ${s.exportPath}`)),l.writeln(g("\u2139"),i(` Suggestion: ${s.suggestion}`));return p.fail({exitCode:1})}return l.writeln(x("\u2713"),i(" All export names follow conventions.")),p.ok(void 0)},P=y.createTrigger({handler:w,adaptInput:b,adaptOutput:A}),W=async e=>await P({command:"validate-export-names",args:[],flags:{}});export{N as a,w as b,P as c,W as d};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{d as a,f as g}from"./chunk-26ZFSXSK.js";import{b as i}from"./chunk-NBA6EFWU.js";import{i as s}from"./chunk-WJKE6XHF.js";var u=async(n=".")=>{let[t,r]=await g(n);return r.map(e=>({name:e.name,version:e.version,path:a(e.config),config:e.config,entrypoints:c(e.config)}))},c=n=>{let t=n.exports?.value;if(t==null)return[];if(typeof t=="string")return[t];if(t!==null&&typeof t=="object"){let r=[];for(let e of Object.values(t))typeof e=="string"&&r.push(e);return r}return[]},d=(n,t)=>s.path.isAbsolute(n)?n:s.path.resolve(t,n),k=async n=>{let t=[];for await(let r of s.fs.walk(n,{exts:i,includeDirs:!1,skip:[/node_modules/,/\.git/]})){let e=s.path.relative(n,r.path),o=s.path.basename(e);o.endsWith("_test.ts")||o.endsWith("_bench.ts")||o.startsWith("_")||e.includes("testdata/")||t.push(`./${e}`)}return t.sort()};export{u as a,d as b,k as c};
2
+ import{d as a,f as g}from"./chunk-3D5TBTM3.js";import{b as i}from"./chunk-NBA6EFWU.js";import{i as s}from"./chunk-6DBKPC2O.js";var u=async(n=".")=>{let[t,r]=await g(n);return r.map(e=>({name:e.name,version:e.version,path:a(e.config),config:e.config,entrypoints:c(e.config)}))},c=n=>{let t=n.exports?.value;if(t==null)return[];if(typeof t=="string")return[t];if(t!==null&&typeof t=="object"){let r=[];for(let e of Object.values(t))typeof e=="string"&&r.push(e);return r}return[]},d=(n,t)=>s.path.isAbsolute(n)?n:s.path.resolve(t,n),k=async n=>{let t=[];for await(let r of s.fs.walk(n,{exts:i,includeDirs:!1,skip:[/node_modules/,/\.git/]})){let e=s.path.relative(n,r.path),o=s.path.basename(e);o.endsWith("_test.ts")||o.endsWith("_bench.ts")||o.startsWith("_")||e.includes("testdata/")||t.push(`./${e}`)}return t.sort()};export{u as a,d as b,k as c};
@@ -1,3 +1,3 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{i as c}from"./chunk-WJKE6XHF.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(`
2
+ import{i as c}from"./chunk-6DBKPC2O.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};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as l}from"./chunk-JLRVMMMH.js";var p=new Set(["con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"]),E=/^[a-z0-9_./[\]@-]+$/,u=/^[a-z0-9./[\]@-]+$/,g=[".claude/",".github/",".git/","CLAUDE.md","AGENTS.md","CHANGELOG.md","Makefile","Dockerfile","LICENSE","README.md","VERSION"],d=(o,s)=>{for(let e of s)if(e.includes("*")){let a=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]+");if(new RegExp(a).test(o))return!0}else if(o.includes(e)||o.endsWith(e))return!0;return!1},c=l({name:"validate-filenames",description:"Enforce filename conventions (kebab-case / snake_case)",canFix:!1,stacks:[],defaults:{},checkAll(o,s){let e=[],a=s.rules,f=s.exclude??g;for(let t of o){if(d(t.path,f))continue;let i=t.name,m=i.replace(/\.[^.]+$/,"");if(p.has(m.toLowerCase())){e.push({path:t.path,message:`Windows-reserved filename: ${i}`});continue}if(a!==void 0){let r=!1;for(let n of a)if(n.directory==="*"||t.path.includes(n.directory)){if(n.exclude!==void 0&&d(t.path,n.exclude)){r=!0;break}(n.convention==="snake_case"?E:u).test(i)||e.push({path:t.path,message:`filename must be ${n.convention}`}),r=!0;break}if(r)continue}u.test(i)||e.push({path:t.path,message:"filename must be kebab-case"})}return e}}),S=c.run,k=c.validator,v=c.main;export{c as a,S as b,k as c,v as d};
2
+ import{a as l}from"./chunk-ATYDQCCJ.js";var p=new Set(["con","prn","aux","nul","com1","com2","com3","com4","com5","com6","com7","com8","com9","lpt1","lpt2","lpt3","lpt4","lpt5","lpt6","lpt7","lpt8","lpt9"]),E=/^[a-z0-9_./[\]@-]+$/,u=/^[a-z0-9./[\]@-]+$/,g=[".claude/",".github/",".git/","CLAUDE.md","AGENTS.md","CHANGELOG.md","Makefile","Dockerfile","LICENSE","README.md","VERSION"],d=(o,s)=>{for(let e of s)if(e.includes("*")){let a=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[^/]+");if(new RegExp(a).test(o))return!0}else if(o.includes(e)||o.endsWith(e))return!0;return!1},c=l({name:"validate-filenames",description:"Enforce filename conventions (kebab-case / snake_case)",canFix:!1,stacks:[],defaults:{},checkAll(o,s){let e=[],a=s.rules,f=s.exclude??g;for(let t of o){if(d(t.path,f))continue;let i=t.name,m=i.replace(/\.[^.]+$/,"");if(p.has(m.toLowerCase())){e.push({path:t.path,message:`Windows-reserved filename: ${i}`});continue}if(a!==void 0){let r=!1;for(let n of a)if(n.directory==="*"||t.path.includes(n.directory)){if(n.exclude!==void 0&&d(t.path,n.exclude)){r=!0;break}(n.convention==="snake_case"?E:u).test(i)||e.push({path:t.path,message:`filename must be ${n.convention}`}),r=!0;break}if(r)continue}u.test(i)||e.push({path:t.path,message:"filename must be kebab-case"})}return e}}),S=c.run,k=c.validator,v=c.main;export{c as a,S as b,k as c,v as d};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as o}from"./chunk-JLRVMMMH.js";var a=1024,s=o({name:"validate-large-files",description:"Detect files exceeding size limit",canFix:!1,stacks:[],defaults:{maxKb:a},checkAll(n,r){let e=r.maxKb??a,l=e*1024,t=[];for(let i of n)if(i.size>l){let c=Math.round(i.size/1024);t.push({path:i.path,message:`file is ${c}KB (max: ${e}KB)`})}return t}}),d=s.run,f=s.validator,x=s.main;export{s as a,d as b,f as c,x as d};
2
+ import{a as o}from"./chunk-ATYDQCCJ.js";var a=1024,s=o({name:"validate-large-files",description:"Detect files exceeding size limit",canFix:!1,stacks:[],defaults:{maxKb:a},checkAll(n,r){let e=r.maxKb??a,l=e*1024,t=[];for(let i of n)if(i.size>l){let c=Math.round(i.size/1024);t.push({path:i.path,message:`file is ${c}KB (max: ${e}KB)`})}return t}}),d=s.run,f=s.validator,x=s.main;export{s as a,d 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-JLRVMMMH.js";import{j as a}from"./chunk-WJKE6XHF.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};
2
+ import{a as i}from"./chunk-ATYDQCCJ.js";import{j as a}from"./chunk-6DBKPC2O.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{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-BLXGL5MA.js";import{i as o}from"./chunk-WJKE6XHF.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};
2
+ import{d as g}from"./chunk-NBA6EFWU.js";import{d as p}from"./chunk-GVTM4EOU.js";import{i as o}from"./chunk-6DBKPC2O.js";var m=[/node_modules/,/\.git\//,/\/dist\//,/etc\/coverage/,/etc\/temp/,/\.output\//],x=async t=>{try{let n=await p`git ls-files --cached --others --exclude-standard`.cwd(t).noThrow().lines();return n.length>0?n:null}catch{return null}},k=async(t={})=>{let{root:n=".",extensions:e,exclude:s=[]}=t,l=[...m,...s.map(r=>typeof r=="string"?new RegExp(r):r)],u=[],d=await x(n);if(d!==null)for(let r of d){let i=o.path.join(n,r),c=o.path.basename(r);if(e!==void 0&&e.length>0&&!g(r,e)||l.some(a=>a.test(i)||a.test(r)))continue;let y=0,f=!1;try{let a=await o.fs.lstat(i);if(y=a.size,f=a.isSymlink,a.isDirectory&&!(t.includeDirs??!1))continue}catch{continue}u.push({path:i,name:c,size:y,isSymlink:f})}else for await(let r of o.fs.walk(n,{includeDirs:t.includeDirs??!1,includeFiles:!0,exts:e,skip:l})){if(!r.isFile&&!r.isSymlink)continue;let i=0;try{i=(await o.fs.stat(r.path)).size}catch{continue}u.push({path:r.path,name:r.name,size:i,isSymlink:r.isSymlink})}if(t.includeOnly!==void 0&&t.includeOnly.length>0){let r=t.includeOnly;return u.filter(i=>r.some(c=>i.path.endsWith(c)||i.path.includes(c)))}return u},B=async t=>{if(t.textContent!==void 0)return t.textContent;try{let n=await h(t);if(w(n))return;let e=new TextDecoder().decode(n);return t.textContent=e,e}catch{return}},h=async t=>{if(t.rawBytes!==void 0)return t.rawBytes;let n=await o.fs.readFile(t.path);return t.rawBytes=n,n},w=t=>{let n=Math.min(t.length,8192);for(let e=0;e<n;e++)if(t[e]===0)return!0;return!1},M=(t,n)=>{for(let e of n)if(typeof e=="string"){if(t.includes(e)||t.endsWith(e))return!0}else if(e.test(t))return!0;return!1},b=(t,n)=>{let e=new Map;for(let s of n)e.set(s.path,s);for(let s of t){let l=e.get(s.path);l!==void 0&&(s.textContent=l.newContent,s.rawBytes=void 0)}},D=async t=>{let n=0;for(let e of t)e.oldContent!==e.newContent&&(await o.fs.writeTextFile(e.path,e.newContent),n++);return n};export{m as a,k as b,B as c,h as d,w as e,M as f,b as g,D as h};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{i as o}from"./chunk-WJKE6XHF.js";var r=()=>o.env.get("HOME")??"",l=()=>{let e=o.env.get("SHELL")??"";return e.includes("zsh")?"zsh":e.includes("fish")?"fish":"bash"},s=e=>{let t=r();switch(e){case"zsh":return o.path.join(t,".zshrc");case"bash":return o.path.join(t,".bashrc");case"fish":return o.path.join(t,".config","fish","config.fish")}},c=(e,t)=>{let n=r();switch(e){case"zsh":return o.path.join(n,".zshrc");case"bash":return o.path.join(n,".bashrc");case"fish":return o.path.join(n,".config","fish","completions",`${t}.fish`)}},g=(e,t)=>`eval "$(${t} system completions --shell ${e})"`,a=e=>e==="fish"?"file":"eval",p=(e,t="eser")=>{let n=e??l(),i=a(n);return{shell:n,rcFile:s(n),completionType:i,completionsFile:i==="file"?c(n,t):void 0}},f=[{envVars:["CLAUDE_CODE","CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_SESSION_ID"],tool:"claude-code"},{envVars:["CURSOR_SESSION","CURSOR"],tool:"cursor"},{envVars:["KIRO_SESSION","KIRO"],tool:"kiro"},{envVars:["WINDSURF_SESSION"],tool:"windsurf"},{envVars:["GITHUB_COPILOT"],tool:"copilot"}],h=()=>{for(let e of f)for(let t of e.envVars){let n=o.env.get(t);if(n!==void 0&&n!=="")return e.tool}return null},u=()=>h()!==null?"agent":"human";export{l as a,g as b,p as c,h as d,u as e};
2
+ import{i as o}from"./chunk-6DBKPC2O.js";var r=()=>o.env.get("HOME")??"",l=()=>{let e=o.env.get("SHELL")??"";return e.includes("zsh")?"zsh":e.includes("fish")?"fish":"bash"},s=e=>{let t=r();switch(e){case"zsh":return o.path.join(t,".zshrc");case"bash":return o.path.join(t,".bashrc");case"fish":return o.path.join(t,".config","fish","config.fish")}},c=(e,t)=>{let n=r();switch(e){case"zsh":return o.path.join(n,".zshrc");case"bash":return o.path.join(n,".bashrc");case"fish":return o.path.join(n,".config","fish","completions",`${t}.fish`)}},g=(e,t)=>`eval "$(${t} system completions --shell ${e})"`,a=e=>e==="fish"?"file":"eval",p=(e,t="eser")=>{let n=e??l(),i=a(n);return{shell:n,rcFile:s(n),completionType:i,completionsFile:i==="file"?c(n,t):void 0}},f=[{envVars:["CLAUDE_CODE","CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_SESSION_ID"],tool:"claude-code"},{envVars:["CURSOR_SESSION","CURSOR"],tool:"cursor"},{envVars:["KIRO_SESSION","KIRO"],tool:"kiro"},{envVars:["WINDSURF_SESSION"],tool:"windsurf"},{envVars:["GITHUB_COPILOT"],tool:"copilot"}],h=()=>{for(let e of f)for(let t of e.envVars){let n=o.env.get(t);if(n!==void 0&&n!=="")return e.tool}return null},u=()=>h()!==null?"agent":"human";export{l as a,g as b,p as c,h as d,u as e};
@@ -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-BJLUDX4R.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};
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-2TANTKYS.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,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as g}from"./chunk-GTHXGAMQ.js";import{e as l}from"./chunk-5DWJ7WEE.js";import{a as n}from"./chunk-N7DXBY3O.js";import{i as s}from"./chunk-WJKE6XHF.js";var a={port:8e3,host:"localhost",hmr:!0,open:!1},f=["@eser/laroux","@eser/laroux-server"],d={minify:!0,sourcemap:!0,target:["es2022"],external:[],serverExternals:f},p={mode:"always",streamMode:"streaming-optimal"},c={webp:80,avif:75,jpeg:85,png:90},C={formats:["webp","original"],widths:[640,768,1024,1280,1920],quality:c,placeholder:"blur"},R={width:1300,height:900},u={enabled:!0,viewport:R,forceInclude:[],forceExclude:[]},m={runtimeBundleEndpoint:"/__runtime_bundle.js",runtimeModuleMapEndpoint:"/__runtime_module_map.json",staticAssetsPrefix:"/dist"},v={isDev:!1,isBuild:!1,isServe:!1,isWatch:!1},S={jsr:{"@eser/logging":`
2
+ import{a as g}from"./chunk-GTHXGAMQ.js";import{e as l}from"./chunk-5DWJ7WEE.js";import{a as n}from"./chunk-N7DXBY3O.js";import{i as s}from"./chunk-6DBKPC2O.js";var a={port:8e3,host:"localhost",hmr:!0,open:!1},f=["@eser/laroux","@eser/laroux-server"],d={minify:!0,sourcemap:!0,target:["es2022"],external:[],serverExternals:f},p={mode:"always",streamMode:"streaming-optimal"},c={webp:80,avif:75,jpeg:85,png:90},C={formats:["webp","original"],widths:[640,768,1024,1280,1920],quality:c,placeholder:"blur"},R={width:1300,height:900},u={enabled:!0,viewport:R,forceInclude:[],forceExclude:[]},m={runtimeBundleEndpoint:"/__runtime_bundle.js",runtimeModuleMapEndpoint:"/__runtime_module_map.json",staticAssetsPrefix:"/dist"},v={isDev:!1,isBuild:!1,isServe:!1,isWatch:!1},S={jsr:{"@eser/logging":`
3
3
  // Browser shim for @eser/logging
4
4
  const noop = () => {};
5
5
  const noopLogger = { debug: noop, info: noop, warn: noop, error: noop };
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{b as k}from"./chunk-NBA6EFWU.js";import{d as F,f as T,h as C,j as d,k as L,n as u}from"./chunk-7ATUODBM.js";import{a as g}from"./chunk-AP72BKVG.js";import{i as D}from"./chunk-WJKE6XHF.js";var R={USE_CLIENT:"use client",USE_SERVER:"use server",USE_STRICT:"use strict"},M=[/node_modules/,/\.test\./,/\.spec\./],G=(t,e)=>{let r=t.split(`
2
+ import{b as k}from"./chunk-NBA6EFWU.js";import{d as F,f as T,h as C,j as d,k as L,n as u}from"./chunk-7ATUODBM.js";import{a as g}from"./chunk-AP72BKVG.js";import{i as D}from"./chunk-6DBKPC2O.js";var R={USE_CLIENT:"use client",USE_SERVER:"use server",USE_STRICT:"use strict"},M=[/node_modules/,/\.test\./,/\.spec\./],G=(t,e)=>{let r=t.split(`
3
3
  `),i=e.toLowerCase(),o=!1;for(let s=0;s<Math.min(50,r.length);s++){let n=r[s]?.trim()??"";if(o){n.includes("*/")&&(o=!1);continue}if(n===""||n.startsWith("//"))continue;if(n.startsWith("/*")){n.includes("*/")||(o=!0);continue}let f=`"${i}";`,a=`'${i}';`,l=n.toLowerCase();if(l===f||l===a)return!0;if(n.startsWith("import")||n.startsWith("export")||n.startsWith("const")||n.startsWith("let")||n.startsWith("var")||n.startsWith("function")||n.startsWith("class"))break}return!1},W=t=>{let e=new Set,r=t.matchAll(/export\s{1,20}(?:async\s{1,20})?function\s{1,20}(\w+)/g);for(let n of r)n[1]!==void 0&&e.add(n[1]);let i=t.matchAll(/export\s{1,20}(?:const|let)\s{1,20}(\w+)\s{0,20}=/g);for(let n of i)n[1]!==void 0&&e.add(n[1]);let o=t.matchAll(/export\s{1,20}class\s{1,20}(\w+)/g);for(let n of o)n[1]!==void 0&&e.add(n[1]);/export\s{1,20}default\s{1,20}/.test(t)&&e.add("default");let s=t.matchAll(/export\s*\{([\w\s,]+)\}/g);for(let n of s)if(n[1]!==void 0){let f=n[1].split(",").map(a=>{let l=a.trim().split(/ {1,10}as {1,10}/);return(l[1]??l[0])?.trim()});for(let a of f)a!==void 0&&a!==""&&e.add(a)}return[...e]},O=async t=>{try{return await D.fs.readTextFile(t)}catch{return null}},Q=async(t,e,r={})=>{let i=r.extensions??k,o=r.skip??M,s=r.projectRoot??t,n=[];for await(let f of D.fs.walk(t,{exts:[...i],skip:[...o]})){if(!f.isFile)continue;let a=await O(f.path);if(a!==null&&G(a,e)){let l=D.path.relative(s,f.path),m=W(a);n.push({filePath:f.path,relativePath:l,directive:e,exports:m})}}return n},Y=(t,e={})=>Q(t,R.USE_CLIENT,e),X=(t,e)=>{let r=`"${e}"`,i=`'${e}'`;return t.includes(r)||t.includes(i)},Z=async(t,e={})=>{let r=e.extensions??k,i=e.skip??M,o=e.projectRoot??t,s=[];for await(let n of D.fs.walk(t,{exts:[...r],skip:[...i]})){if(!n.isFile)continue;let f=await O(n.path);if(f!==null&&X(f,R.USE_SERVER)){let a=D.path.relative(o,n.path),l=W(f);s.push({filePath:n.path,relativePath:a,directive:R.USE_SERVER,exports:l})}}return s};function w(t){return t.isFile?"file":t.isDirectory?"dir":t.isSymlink?"symlink":void 0}async function x(t){try{let e=await Deno.stat(t);_(e);return}catch(e){if(!(e instanceof Deno.errors.NotFound))throw e}try{await Deno.mkdir(t,{recursive:!0})}catch(e){if(!(e instanceof Deno.errors.AlreadyExists))throw e;let r=await Deno.stat(t);_(r)}}function _(t){if(!t.isDirectory)throw new Error(`Failed to ensure directory exists: expected 'dir', got '${w(t)}'`)}function c(t){return t instanceof URL?C(t):t}function P(t,e,r=T){if(t=c(t),e=c(e),u(t)===u(e))return!1;let i=t.split(r),o=e.split(r);return i.every((s,n)=>o[n]===s)}function S(t,e){if(t===null)throw new Error(`${e} is unavailable`)}async function I(t,e,r){let i;try{i=await Deno.lstat(e)}catch(o){if(o instanceof Deno.errors.NotFound)return;throw o}if(r.isFolder&&!i.isDirectory)throw new Error(`Cannot overwrite non-directory '${e}' with directory '${t}'`);if(!r.overwrite)throw new Deno.errors.AlreadyExists(`'${e}' already exists.`);return i}async function N(t,e,r){if(await I(t,e,r),await Deno.copyFile(t,e),r.preserveTimestamps){let i=await Deno.stat(t);S(i.atime,"statInfo.atime"),S(i.mtime,"statInfo.mtime"),await Deno.utime(e,i.atime,i.mtime)}}async function U(t,e,r){await I(t,e,r);let i=await Deno.readLink(t),o=w(await Deno.lstat(t));if(g?await Deno.symlink(i,e,{type:o==="dir"?"dir":"file"}):await Deno.symlink(i,e),r.preserveTimestamps){let s=await Deno.lstat(t);S(s.atime,"statInfo.atime"),S(s.mtime,"statInfo.mtime"),await Deno.utime(e,s.atime,s.mtime)}}async function j(t,e,r){if(await I(t,e,{...r,isFolder:!0})||await x(e),r.preserveTimestamps){let s=await Deno.stat(t);S(s.atime,"statInfo.atime"),S(s.mtime,"statInfo.mtime"),await Deno.utime(e,s.atime,s.mtime)}t=c(t),e=c(e);let o=[];for await(let s of Deno.readDir(t)){let n=d(t,s.name),f=d(e,F(n));s.isSymlink?o.push(U(n,f,r)):s.isDirectory?o.push(j(n,f,r)):s.isFile&&o.push(N(n,f,r))}await Promise.all(o)}async function wt(t,e,r={}){if(t=u(c(t)),e=u(c(e)),t===e)throw new Error("Source and destination cannot be the same");let i=await Deno.lstat(t);if(i.isDirectory&&P(t,e))throw new Error(`Cannot copy '${t}' to a subdirectory of itself: '${e}'`);i.isSymlink?await U(t,e,r):i.isDirectory?await j(t,e,r):i.isFile&&await N(t,e,r)}async function Ft(t){try{let e=await Array.fromAsync(Deno.readDir(t));await Promise.all(e.map(r=>{if(r&&r.name){let i=d(c(t),r.name);return Deno.remove(i,{recursive:!0})}}))}catch(e){if(!(e instanceof Deno.errors.NotFound))throw e;await Deno.mkdir(t,{recursive:!0})}}async function A(t){t=c(t),t=L(t);let e=F(t),r=await Deno.stat(t);return{path:t,name:e,isFile:r.isFile,isDirectory:r.isDirectory,isSymlink:r.isSymlink}}function E(t,e,r,i){return!(e&&!e.some(o=>t.endsWith(o))||r&&!r.some(o=>!!t.match(o))||i&&i.some(o=>!!t.match(o)))}async function*V(t,e){let{maxDepth:r=1/0,includeFiles:i=!0,includeDirs:o=!0,includeSymlinks:s=!0,followSymlinks:n=!1,canonicalize:f=!0,exts:a=void 0,match:l=void 0,skip:m=void 0}=e??{};if(!(r<0)&&(t=c(t),a&&(a=a.map(y=>y.startsWith(".")?y:`.${y}`)),o&&E(t,a,l,m)&&(yield await A(t)),!(r<1||!E(t,void 0,void 0,m))))for await(let y of Deno.readDir(t)){let p=d(t,y.name),{isSymlink:v,isDirectory:$}=y;if(v){if(!n){s&&E(p,a,l,m)&&(yield{path:p,...y});continue}let h=await Deno.realPath(p);f&&(p=h),{isSymlink:v,isDirectory:$}=await Deno.lstat(h)}if(v||$){let h={maxDepth:r-1,includeFiles:i,includeDirs:o,includeSymlinks:s,followSymlinks:n};a!==void 0&&(h.exts=a),l!==void 0&&(h.match=l),m!==void 0&&(h.skip=m),yield*V(p,h)}else i&&E(p,a,l,m)&&(yield{path:p,...y})}}var ue=globalThis.Deno?.build.os==="windows"?"`":"\\";var B=`
4
4
  `,J=`\r
5
5
  `,xe=globalThis.Deno?.build.os==="windows"?J:B;export{G as a,W as b,Y as c,Z as d,Ft as e,x as f,V as g,wt 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-P7WCO724.js";import{a as i}from"./chunk-JLRVMMMH.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};
2
+ import{a as r}from"./chunk-P7WCO724.js";import{a as i}from"./chunk-ATYDQCCJ.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{d as i}from"./chunk-BLXGL5MA.js";var n="#%$".repeat(35),g=s=>{let e=s.split(n).map(t=>{let c=t.slice(0,40);t=t.slice(40);let r=t.indexOf(`
2
+ import{d as i}from"./chunk-GVTM4EOU.js";var n="#%$".repeat(35),g=s=>{let e=s.split(n).map(t=>{let c=t.slice(0,40);t=t.slice(40);let r=t.indexOf(`
3
3
  `);if(r<0)return{hash:c,subject:t.trim(),body:""};let o=t.slice(0,r).trim(),a=t.slice(r+1).trim();return{hash:c,subject:o,body:a}});return e.shift(),e},m=async()=>await i`git describe --tags --abbrev=0`.text();var l=async(s,e)=>{let t=`--pretty=format:${n}%H%B`,c=`${s}..${e}`,r=await i`git --no-pager log ${t} ${c}`.text();return g(r)};var p=async(s,e)=>{await i`git tag -a ${s} -m ${e}`.spawn()},h=async(s,e)=>{await i`git push ${s} ${e}`.spawn()};export{m as a,l as b,p as c,h as d};
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as t}from"./chunk-JLRVMMMH.js";var n=t({name:"validate-line-endings",description:"Normalize line endings to LF",canFix:!0,stacks:[],defaults:{},checkFile(i,e){return e===void 0?[]:e.includes("\r")?[{path:i.path,message:"file contains CRLF or CR line endings"}]:[]},fixFile(i,e){let r=e.replace(/\r\n/g,`
2
+ import{a as t}from"./chunk-ATYDQCCJ.js";var n=t({name:"validate-line-endings",description:"Normalize line endings to LF",canFix:!0,stacks:[],defaults:{},checkFile(i,e){return e===void 0?[]:e.includes("\r")?[{path:i.path,message:"file contains CRLF or CR line endings"}]:[]},fixFile(i,e){let r=e.replace(/\r\n/g,`
3
3
  `).replace(/\r/g,`
4
4
  `);if(r!==e)return{path:i.path,oldContent:e,newContent:r}}}),s=n.run,d=n.validator,p=n.main;export{n as a,s as b,d as c,p as d};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{d as r}from"./chunk-BLXGL5MA.js";import{i}from"./chunk-WJKE6XHF.js";var t=async e=>{try{return await r`which ${e}`.noThrow().code()===0}catch{return!1}},s=async()=>{try{return(await fetch("http://localhost:11434/api/version",{signal:AbortSignal.timeout(1e3)})).ok}catch{return!1}},a=e=>i.env.has(e),d=async()=>{let[e,o,l,n]=await Promise.all([t("claude"),s(),t("opencode"),t("kiro")]);return[{name:"claude-code",alias:"cc",type:"CLI",available:e,detail:e?"claude binary found":"claude not on PATH"},{name:"ollama",alias:"ol",type:"HTTP",available:o,detail:o?"localhost:11434 reachable":"localhost:11434 not reachable"},{name:"opencode",alias:"oc",type:"CLI",available:l,detail:l?"opencode binary found":"opencode not on PATH"},{name:"kiro",alias:"kr",type:"CLI",available:n,detail:n?"kiro binary found":"kiro not on PATH"},{name:"anthropic",alias:"ant",type:"API",available:a("ANTHROPIC_API_KEY"),detail:a("ANTHROPIC_API_KEY")?"ANTHROPIC_API_KEY set":"ANTHROPIC_API_KEY not set"},{name:"openai",alias:"oai",type:"API",available:a("OPENAI_API_KEY"),detail:a("OPENAI_API_KEY")?"OPENAI_API_KEY set":"OPENAI_API_KEY not set"},{name:"gemini",alias:"gem",type:"API",available:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY"),detail:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY")?"API key set":"GEMINI_API_KEY not set"},{name:"vertexai",alias:"vtx",type:"API",available:a("GOOGLE_CLOUD_PROJECT"),detail:a("GOOGLE_CLOUD_PROJECT")?"GOOGLE_CLOUD_PROJECT set":"GOOGLE_CLOUD_PROJECT not set"}]};export{d as a};
2
+ import{d as r}from"./chunk-GVTM4EOU.js";import{i}from"./chunk-6DBKPC2O.js";var t=async e=>{try{return await r`which ${e}`.noThrow().code()===0}catch{return!1}},s=async()=>{try{return(await fetch("http://localhost:11434/api/version",{signal:AbortSignal.timeout(1e3)})).ok}catch{return!1}},a=e=>i.env.has(e),d=async()=>{let[e,o,l,n]=await Promise.all([t("claude"),s(),t("opencode"),t("kiro")]);return[{name:"claude-code",alias:"cc",type:"CLI",available:e,detail:e?"claude binary found":"claude not on PATH"},{name:"ollama",alias:"ol",type:"HTTP",available:o,detail:o?"localhost:11434 reachable":"localhost:11434 not reachable"},{name:"opencode",alias:"oc",type:"CLI",available:l,detail:l?"opencode binary found":"opencode not on PATH"},{name:"kiro",alias:"kr",type:"CLI",available:n,detail:n?"kiro binary found":"kiro not on PATH"},{name:"anthropic",alias:"ant",type:"API",available:a("ANTHROPIC_API_KEY"),detail:a("ANTHROPIC_API_KEY")?"ANTHROPIC_API_KEY set":"ANTHROPIC_API_KEY not set"},{name:"openai",alias:"oai",type:"API",available:a("OPENAI_API_KEY"),detail:a("OPENAI_API_KEY")?"OPENAI_API_KEY set":"OPENAI_API_KEY not set"},{name:"gemini",alias:"gem",type:"API",available:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY"),detail:a("GEMINI_API_KEY")||a("GOOGLE_API_KEY")?"API key set":"GEMINI_API_KEY not set"},{name:"vertexai",alias:"vtx",type:"API",available:a("GOOGLE_CLOUD_PROJECT"),detail:a("GOOGLE_CLOUD_PROJECT")?"GOOGLE_CLOUD_PROJECT set":"GOOGLE_CLOUD_PROJECT not set"}]};export{d as a};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{b as r}from"./chunk-MJ2IPSAE.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};
2
+ import{b as r}from"./chunk-RNFCAHVL.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,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{i as c}from"./chunk-WJKE6XHF.js";var R=["registry/v1"],$=["file","folder"],b=["local","github"],E=r=>r==="project"||r==="structure"||r==="utility",F=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.source!="string"||typeof e.target!="string"||e.kind!==void 0&&!$.includes(e.kind)||e.provider!==void 0&&!b.includes(e.provider))},S=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(e.go!==void 0&&!Array.isArray(e.go)||e.jsr!==void 0&&!Array.isArray(e.jsr)||e.npm!==void 0&&!Array.isArray(e.npm))},k=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.name!="string"||e.name===""||typeof e.description!="string"||e.default!==void 0&&typeof e.default!="string"||e.prompt!==void 0&&typeof e.prompt!="string")},u=r=>{if(typeof r!="object"||r===null)return!1;let e=r;if(typeof e.name!="string"||e.name===""||typeof e.description!="string"||typeof e.language!="string"||!E(e.scale)||!Array.isArray(e.files)||e.files.length===0)return!1;for(let n of e.files)if(!F(n))return!1;if(e.dependencies!==void 0&&!S(e.dependencies)||e.tags!==void 0&&!Array.isArray(e.tags))return!1;if(e.requires!==void 0){if(!Array.isArray(e.requires))return!1;for(let n of e.requires)if(typeof n!="string")return!1}if(e.variables!==void 0){if(!Array.isArray(e.variables))return!1;for(let n of e.variables)if(!k(n))return!1}if(e.postInstall!==void 0){if(!Array.isArray(e.postInstall))return!1;for(let n of e.postInstall)if(typeof n!="string")return!1}return!0},g=r=>{if(typeof r!="object"||r===null)throw new Error("Registry manifest must be a JSON object");let e=r;if(e.$schema!==void 0){let i=String(e.$schema);R.some(s=>i.includes(s))||console.warn(`Warning: Registry uses unknown schema "${i}". This CLI supports v1.`)}if(typeof e.name!="string"||e.name==="")throw new Error("Registry manifest requires a non-empty 'name' field");if(typeof e.description!="string")throw new Error("Registry manifest requires a 'description' field");if(typeof e.author!="string")throw new Error("Registry manifest requires an 'author' field");if(typeof e.registryUrl!="string"||e.registryUrl==="")throw new Error("Registry manifest requires a non-empty 'registryUrl' field");if(!Array.isArray(e.recipes))throw new Error("Registry manifest requires a 'recipes' array");for(let i of e.recipes)if(!u(i)){let o=typeof i=="object"&&i!==null?i.name??"<unknown>":"<invalid>";throw new Error(`Invalid recipe definition: '${o}'`)}let n=e.recipes,t=new Set;for(let i of n){if(t.has(i.name))throw new Error(`Duplicate recipe name '${i.name}' in registry`);t.add(i.name)}return r},y=r=>{if(!u(r))throw new Error("Invalid recipe definition");return r},h=(r,e)=>{let n=r.replace(/\/{1,20}$/,""),t=e.replace(/^\/{1,20}/,"");return`${n}/${t}`};var P=3e4,T="eser",v="stack",m="main",p=".eser/recipes.json",j=`https://raw.githubusercontent.com/${T}/${v}/${m}/.eser/recipes.json`,D=p,x=r=>{let e=r.replace(/^gh:/,""),n=e.indexOf("#"),t=n===-1?e:e.slice(0,n),i=n===-1?void 0:e.slice(n+1);if(t.includes("/")){let o=t.indexOf("/"),s=t.slice(0,o),f=t.slice(o+1);return s===""||f===""?{kind:"name",name:t,ref:i}:{kind:"repo",owner:s,repo:f,ref:i??m}}return{kind:"name",name:t,ref:i}},l=async r=>await globalThis.fetch(r,{signal:AbortSignal.timeout(P)}),I=async()=>{let r=c.process.cwd();for(let e=0;e<10;e++){let n=`${r}/${p}`;try{return await c.fs.stat(n),n}catch{let t=r.replace(/\/[^/]+$/,"");if(t===r)break;r=t}}},_=async(r,e)=>{let n=r??j;if(e?.local===!0&&r===void 0){let s=await I();s!==void 0&&(n=s,e?.verbose===!0&&console.log(`Using local registry: ${s}`))}let t=n.startsWith("http://")||n.startsWith("https://");e?.verbose===!0&&console.log(`Fetching registry from: ${n}`);let i;if(t){let s=await l(n);if(!s.ok)throw new Error(`Could not reach registry at ${n}. HTTP ${s.status}`);i=await s.text()}else try{i=await c.fs.readTextFile(n)}catch{throw new Error(`Could not read registry file at ${n}`)}let o;try{o=JSON.parse(i)}catch{throw new Error(`Registry at ${n} is not valid JSON`)}return g(o)},C=async(r,e,n,t)=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${p}`;return await _(i,t)},M=async(r,e)=>{let n=h(r,e),t=await l(n);if(!t.ok)throw new Error(`Could not fetch recipe file at ${n}. HTTP ${t.status}`);return await t.text()},U=r=>{let e=r.match(/^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/([^/]+)(?:\/(.*))?$/);if(e!==null)return{owner:e[1],repo:e[2],ref:e[3],basePath:e[4]??""}},q=async(r,e)=>{let n=U(r);if(n===void 0)throw new Error(`Cannot fetch folder: registry URL '${r}' is not a GitHub raw URL`);let t=n.basePath?`${n.basePath}/${e}`.replace(/\/+/g,"/"):e,i=`https://api.github.com/repos/${n.owner}/${n.repo}/contents/${t}?ref=${n.ref}`,o=await l(i);if(!o.ok)throw new Error(`Could not list folder '${t}' from ${n.owner}/${n.repo}. HTTP ${o.status}`);let s=await o.json();if(!Array.isArray(s))throw new Error(`Expected directory listing for '${t}', got a file instead`);let w=s.filter(a=>a.type==="file").map(async a=>{if(a.download_url===null)throw new Error(`File '${a.path}' has no download URL (may be too large)`);let d=await l(a.download_url);if(!d.ok)throw new Error(`Could not fetch file '${a.path}'. HTTP ${d.status}`);return{path:a.path.startsWith(t)?a.path.slice(t.length).replace(/^\//,""):a.path,content:await d.text()}});return await Promise.all(w)},H=async(r,e,n="main",t="recipe.json")=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${t}`,o=await l(i);if(!o.ok)throw new Error(`Could not fetch recipe from ${r}/${e}@${n}/${t}. HTTP ${o.status}`);let s;try{s=JSON.parse(await o.text())}catch{throw new Error(`Recipe file at ${r}/${e}@${n}/${t} is not valid JSON`)}return y(s)};export{P as a,T as b,v as c,m as d,p as e,j as f,D as g,x as h,l as i,I as j,_ as k,C as l,M as m,U as n,q as o,H as p};
2
+ import{i as c}from"./chunk-6DBKPC2O.js";var R=["registry/v1"],$=["file","folder"],b=["local","github"],E=r=>r==="project"||r==="structure"||r==="utility",F=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.source!="string"||typeof e.target!="string"||e.kind!==void 0&&!$.includes(e.kind)||e.provider!==void 0&&!b.includes(e.provider))},S=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(e.go!==void 0&&!Array.isArray(e.go)||e.jsr!==void 0&&!Array.isArray(e.jsr)||e.npm!==void 0&&!Array.isArray(e.npm))},k=r=>{if(typeof r!="object"||r===null)return!1;let e=r;return!(typeof e.name!="string"||e.name===""||typeof e.description!="string"||e.default!==void 0&&typeof e.default!="string"||e.prompt!==void 0&&typeof e.prompt!="string")},u=r=>{if(typeof r!="object"||r===null)return!1;let e=r;if(typeof e.name!="string"||e.name===""||typeof e.description!="string"||typeof e.language!="string"||!E(e.scale)||!Array.isArray(e.files)||e.files.length===0)return!1;for(let n of e.files)if(!F(n))return!1;if(e.dependencies!==void 0&&!S(e.dependencies)||e.tags!==void 0&&!Array.isArray(e.tags))return!1;if(e.requires!==void 0){if(!Array.isArray(e.requires))return!1;for(let n of e.requires)if(typeof n!="string")return!1}if(e.variables!==void 0){if(!Array.isArray(e.variables))return!1;for(let n of e.variables)if(!k(n))return!1}if(e.postInstall!==void 0){if(!Array.isArray(e.postInstall))return!1;for(let n of e.postInstall)if(typeof n!="string")return!1}return!0},g=r=>{if(typeof r!="object"||r===null)throw new Error("Registry manifest must be a JSON object");let e=r;if(e.$schema!==void 0){let i=String(e.$schema);R.some(s=>i.includes(s))||console.warn(`Warning: Registry uses unknown schema "${i}". This CLI supports v1.`)}if(typeof e.name!="string"||e.name==="")throw new Error("Registry manifest requires a non-empty 'name' field");if(typeof e.description!="string")throw new Error("Registry manifest requires a 'description' field");if(typeof e.author!="string")throw new Error("Registry manifest requires an 'author' field");if(typeof e.registryUrl!="string"||e.registryUrl==="")throw new Error("Registry manifest requires a non-empty 'registryUrl' field");if(!Array.isArray(e.recipes))throw new Error("Registry manifest requires a 'recipes' array");for(let i of e.recipes)if(!u(i)){let o=typeof i=="object"&&i!==null?i.name??"<unknown>":"<invalid>";throw new Error(`Invalid recipe definition: '${o}'`)}let n=e.recipes,t=new Set;for(let i of n){if(t.has(i.name))throw new Error(`Duplicate recipe name '${i.name}' in registry`);t.add(i.name)}return r},y=r=>{if(!u(r))throw new Error("Invalid recipe definition");return r},h=(r,e)=>{let n=r.replace(/\/{1,20}$/,""),t=e.replace(/^\/{1,20}/,"");return`${n}/${t}`};var P=3e4,T="eser",v="stack",m="main",p=".eser/recipes.json",j=`https://raw.githubusercontent.com/${T}/${v}/${m}/.eser/recipes.json`,D=p,x=r=>{let e=r.replace(/^gh:/,""),n=e.indexOf("#"),t=n===-1?e:e.slice(0,n),i=n===-1?void 0:e.slice(n+1);if(t.includes("/")){let o=t.indexOf("/"),s=t.slice(0,o),f=t.slice(o+1);return s===""||f===""?{kind:"name",name:t,ref:i}:{kind:"repo",owner:s,repo:f,ref:i??m}}return{kind:"name",name:t,ref:i}},l=async r=>await globalThis.fetch(r,{signal:AbortSignal.timeout(P)}),I=async()=>{let r=c.process.cwd();for(let e=0;e<10;e++){let n=`${r}/${p}`;try{return await c.fs.stat(n),n}catch{let t=r.replace(/\/[^/]+$/,"");if(t===r)break;r=t}}},_=async(r,e)=>{let n=r??j;if(e?.local===!0&&r===void 0){let s=await I();s!==void 0&&(n=s,e?.verbose===!0&&console.log(`Using local registry: ${s}`))}let t=n.startsWith("http://")||n.startsWith("https://");e?.verbose===!0&&console.log(`Fetching registry from: ${n}`);let i;if(t){let s=await l(n);if(!s.ok)throw new Error(`Could not reach registry at ${n}. HTTP ${s.status}`);i=await s.text()}else try{i=await c.fs.readTextFile(n)}catch{throw new Error(`Could not read registry file at ${n}`)}let o;try{o=JSON.parse(i)}catch{throw new Error(`Registry at ${n} is not valid JSON`)}return g(o)},C=async(r,e,n,t)=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${p}`;return await _(i,t)},M=async(r,e)=>{let n=h(r,e),t=await l(n);if(!t.ok)throw new Error(`Could not fetch recipe file at ${n}. HTTP ${t.status}`);return await t.text()},U=r=>{let e=r.match(/^https:\/\/raw\.githubusercontent\.com\/([^/]+)\/([^/]+)\/([^/]+)(?:\/(.*))?$/);if(e!==null)return{owner:e[1],repo:e[2],ref:e[3],basePath:e[4]??""}},q=async(r,e)=>{let n=U(r);if(n===void 0)throw new Error(`Cannot fetch folder: registry URL '${r}' is not a GitHub raw URL`);let t=n.basePath?`${n.basePath}/${e}`.replace(/\/+/g,"/"):e,i=`https://api.github.com/repos/${n.owner}/${n.repo}/contents/${t}?ref=${n.ref}`,o=await l(i);if(!o.ok)throw new Error(`Could not list folder '${t}' from ${n.owner}/${n.repo}. HTTP ${o.status}`);let s=await o.json();if(!Array.isArray(s))throw new Error(`Expected directory listing for '${t}', got a file instead`);let w=s.filter(a=>a.type==="file").map(async a=>{if(a.download_url===null)throw new Error(`File '${a.path}' has no download URL (may be too large)`);let d=await l(a.download_url);if(!d.ok)throw new Error(`Could not fetch file '${a.path}'. HTTP ${d.status}`);return{path:a.path.startsWith(t)?a.path.slice(t.length).replace(/^\//,""):a.path,content:await d.text()}});return await Promise.all(w)},H=async(r,e,n="main",t="recipe.json")=>{let i=`https://raw.githubusercontent.com/${r}/${e}/${n}/${t}`,o=await l(i);if(!o.ok)throw new Error(`Could not fetch recipe from ${r}/${e}@${n}/${t}. HTTP ${o.status}`);let s;try{s=JSON.parse(await o.text())}catch{throw new Error(`Recipe file at ${r}/${e}@${n}/${t} is not valid JSON`)}return y(s)};export{P as a,T as b,v as c,m as d,p as e,j as f,D as g,x as h,l as i,I as j,_ as k,C as l,M as m,U as n,q as o,H as p};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{e as o}from"./chunk-MBCPGD5L.js";var d=(e,n)=>{if(e!==void 0)for(let r of e){if(r==="--agent")return"agent";if(r==="--human")return"human"}let t=n?.agentMode;return t===!0?"agent":t===!1?"human":o()};var u=e=>e===void 0?[]:e.filter(n=>n!=="--agent"&&n!=="--human"&&n!=="--non-interactive");export{d as a,u as b};
2
+ import{e as o}from"./chunk-L5OC7F24.js";var d=(e,n)=>{if(e!==void 0)for(let r of e){if(r==="--agent")return"agent";if(r==="--human")return"human"}let t=n?.agentMode;return t===!0?"agent":t===!1?"human":o()};var u=e=>e===void 0?[]:e.filter(n=>n!=="--agent"&&n!=="--human"&&n!=="--non-interactive");export{d as a,u as b};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as $}from"./chunk-3IZX4OZ7.js";import{e as x}from"./chunk-5DWJ7WEE.js";import{i as c}from"./chunk-WJKE6XHF.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(`
2
+ import{a as $}from"./chunk-3OG2MEF2.js";import{e as x}from"./chunk-5DWJ7WEE.js";import{i as c}from"./chunk-6DBKPC2O.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,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{b as a}from"./chunk-ZER2RYWJ.js";import{f as i,h as o,k as n}from"./chunk-ZC4F4MYU.js";import{i as r}from"./chunk-WJKE6XHF.js";var C=()=>{let t=r.process.isTerminal("stdout")?"interactive":"non-interactive",e=a({interaction:t});return{ctx:e,output:e.output}},d=()=>i({renderer:n.ansi(),sink:o.stdout()}),x=(s,t)=>({command:s,args:t._??[],flags:Object.fromEntries(Object.entries(t).filter(([e])=>e!=="_"))});export{C as a,d as b,x as c};
2
+ import{b as a}from"./chunk-YACXTCWF.js";import{f as i,h as o,k as n}from"./chunk-SHN5MT56.js";import{i as r}from"./chunk-6DBKPC2O.js";var C=()=>{let t=r.process.isTerminal("stdout")?"interactive":"non-interactive",e=a({interaction:t});return{ctx:e,output:e.output}},d=()=>i({renderer:n.ansi(),sink:o.stdout()}),x=(s,t)=>({command:s,args:t._??[],flags:Object.fromEntries(Object.entries(t).filter(([e])=>e!=="_"))});export{C as a,d as b,x as c};
@@ -1,4 +1,4 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as E,b as A,c as I}from"./chunk-EGEJQP7D.js";import{a as w}from"./chunk-LFNUSULJ.js";import{b as v}from"./chunk-LGNGLAV3.js";import{f as D}from"./chunk-P2MUEKFT.js";import{b as l,f as g,g as k,h as C,i as h}from"./chunk-YVN2NZL4.js";import{g as a}from"./chunk-FFWPJP7A.js";import{j as b}from"./chunk-WJKE6XHF.js";var u=v(),O=/\/\*\*\s*([\s\S]*?)\s*\*\//g,R=/export\s+(const|function|class|type|interface)\s+(\w+)/g,$=/@example/,S=s=>{let n=[],i;for(R.lastIndex=0;(i=R.exec(s))!==null;){let e=i.index,t=i[2];if(t===void 0)continue;let c=s.substring(0,e).split(`
2
+ import{a as E,b as A,c as I}from"./chunk-IIFFSCDJ.js";import{a as w}from"./chunk-LFNUSULJ.js";import{b as v}from"./chunk-O325ZU5M.js";import{f as D}from"./chunk-P2MUEKFT.js";import{b as l,f as g,g as k,h as C,i as h}from"./chunk-YVN2NZL4.js";import{g as a}from"./chunk-FFWPJP7A.js";import{j as b}from"./chunk-6DBKPC2O.js";var u=v(),O=/\/\*\*\s*([\s\S]*?)\s*\*\//g,R=/export\s+(const|function|class|type|interface)\s+(\w+)/g,$=/@example/,S=s=>{let n=[],i;for(R.lastIndex=0;(i=R.exec(s))!==null;){let e=i.index,t=i[2];if(t===void 0)continue;let c=s.substring(0,e).split(`
3
3
  `).length,p=null,m=[...s.substring(0,e).matchAll(O)];if(m.length>0){let r=m[m.length-1];if(r!==void 0){let d=(r.index??0)+r[0].length,f=s.substring(d,e);/^\s*$/.test(f)&&(p=r[1]??null)}}n.push({jsdoc:p,symbolName:t,line:c})}return n},_=(s,n,i)=>{let e=[];if(s===null)return e.push("missing-description"),e;let t=s.split(`
4
4
  `)[0]?.trim();return(!t||t.startsWith("@"))&&e.push("empty-description"),i&&!$.test(s)&&e.push("missing-example"),e},F=async(s={})=>{let{root:n=".",requireExamples:i=!1}=s,e=await E(n),t=[],o=0,c=0;for(let p of e){let y=await I(p.path);for(let m of y){let r=A(m,p.path),d;try{d=await b.runtime.fs.readTextFile(r)}catch{continue}o++;let f=S(d);for(let{jsdoc:T,symbolName:x,line:P}of f){c++;let M=_(T,x,i);for(let N of M)t.push({file:r,symbol:x,issue:N,line:P})}}}return{isValid:t.length===0,issues:t,filesChecked:o,symbolsChecked:c}},J=s=>{switch(s){case"missing-description":return"Missing JSDoc documentation";case"missing-param":return"Missing @param documentation";case"missing-returns":return"Missing @returns documentation";case"missing-example":return"Missing @example";case"empty-description":return"Empty description"}},j=s=>D.fromPromise(()=>F(s)),V=s=>a.ok({root:"."}),q=s=>{if(a.isFail(s))return u.writeln(g("\u2717"),l(" "+String(s.error))),a.fail({exitCode:1});let{value:n}=s;if(u.writeln(h("\u2139"),l(` Checked ${n.filesChecked} files, ${n.symbolsChecked} symbols.`)),!n.isValid){u.writeln(g("\u2717"),l(` Found ${n.issues.length} documentation issues:`));let i=new Map;for(let e of n.issues){let t=i.get(e.file)??[];t.push(e),i.set(e.file,t)}for(let[e,t]of i){u.writeln(C("\u26A0"),l(" "+e));for(let o of t){let c=o.line!==void 0?`:${o.line}`:"";u.writeln(h("\u2139"),l(` ${o.symbol}${c}: ${J(o.issue)}`))}}return a.fail({exitCode:1})}return u.writeln(k("\u2713"),l(" All documentation is valid.")),a.ok(void 0)},B=w.createTrigger({handler:j,adaptInput:V,adaptOutput:q}),Q=async s=>await B({command:"validate-docs",args:[],flags:{}});export{F as a,j as b,B as c,Q as d};
@@ -1,2 +1,2 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as o}from"./chunk-JLRVMMMH.js";import{a as l}from"./chunk-2XNFZXHY.js";import{e as n}from"./chunk-5WJ6AUNY.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};
2
+ import{a as o}from"./chunk-ATYDQCCJ.js";import{a as l}from"./chunk-2XNFZXHY.js";import{e as n}from"./chunk-5WJ6AUNY.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 n}from"./chunk-JLRVMMMH.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};
2
+ import{a as n}from"./chunk-ATYDQCCJ.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,3 +1,3 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as s}from"./chunk-JLRVMMMH.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(`
2
+ import{a as s}from"./chunk-ATYDQCCJ.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 u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-FFWPJP7A.js";import{i as x}from"./chunk-WJKE6XHF.js";var h=t=>{let e=[],n=[],i={},s={};for(let r of t)r.type==="boolean"?e.push(r.name):n.push(r.name),r.short!==void 0&&(i[r.short]=r.name),r.default!==void 0&&(s[r.name]=r.default);return{boolean:e,string:n,alias:i,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 i of e){let s=t[i.name];n[i.name]=v(s,i.type)}return n},ie=(t,e)=>{let n=h(e),i=u(t,n);return{positional:i._,flags:$(i,e)}},_=(t,e)=>{let n=[];for(let i of e)if(i.required===!0){let s=t[i.name];(s===void 0||s===""||s===!1)&&n.push(`Required flag --${i.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>":"",i=t.flags.length>0?" [options]":"";return["Usage:",` ${e}${n}${i}`,""]},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:r})=>` ${O(s,n+2)}${r}`),""]},Z=t=>t?.length?["Examples:",...t.map(e=>` ${e}`),""]:[],M=(t,e)=>{let n=e.join(" "),i=[...q(t,n),...B(t,n),...I(t.children),...Y(t.flags),...Z(t.examples)];return t.children.length>0&&i.push(`Run '${n} <command> --help' for more information on a command.`),i.join(`
2
+ import{a as u}from"./chunk-MG65QJY6.js";import{a as p,b as f}from"./chunk-FFWPJP7A.js";import{i as x}from"./chunk-6DBKPC2O.js";var h=t=>{let e=[],n=[],i={},s={};for(let r of t)r.type==="boolean"?e.push(r.name):n.push(r.name),r.short!==void 0&&(i[r.short]=r.name),r.default!==void 0&&(s[r.name]=r.default);return{boolean:e,string:n,alias:i,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 i of e){let s=t[i.name];n[i.name]=v(s,i.type)}return n},ie=(t,e)=>{let n=h(e),i=u(t,n);return{positional:i._,flags:$(i,e)}},_=(t,e)=>{let n=[];for(let i of e)if(i.required===!0){let s=t[i.name];(s===void 0||s===""||s===!1)&&n.push(`Required flag --${i.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>":"",i=t.flags.length>0?" [options]":"";return["Usage:",` ${e}${n}${i}`,""]},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:r})=>` ${O(s,n+2)}${r}`),""]},Z=t=>t?.length?["Examples:",...t.map(e=>` ${e}`),""]:[],M=(t,e)=>{let n=e.join(" "),i=[...q(t,n),...B(t,n),...I(t.children),...Y(t.flags),...Z(t.examples)];return t.children.length>0&&i.push(`Run '${n} <command> --help' for more information on a command.`),i.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(" "),i=t.flags!==void 0?w(t.flags):"",s=[n,i].filter(o=>o.length>0).join(" "),r=` ${e})
4
4
  `;r+=` COMPREPLY=( $(compgen -W "${s}" -- "\${cur}") )
5
5
  `,r+=` return 0
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as D,p as w}from"./chunk-YVN2NZL4.js";import{i as g}from"./chunk-WJKE6XHF.js";import{d as j}from"./chunk-5WJ6AUNY.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`
2
+ import{a as D,p as w}from"./chunk-YVN2NZL4.js";import{i as g}from"./chunk-6DBKPC2O.js";import{d as j}from"./chunk-5WJ6AUNY.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,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-EGEJQP7D.js";import{a as k}from"./chunk-LFNUSULJ.js";import{b as x}from"./chunk-LGNGLAV3.js";import{f as h}from"./chunk-P2MUEKFT.js";import{b as i,f as d,g as f,h as u,i as g}from"./chunk-YVN2NZL4.js";import{g as n}from"./chunk-FFWPJP7A.js";import{j as c}from"./chunk-WJKE6XHF.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};
2
+ import{a as C,c as E}from"./chunk-IIFFSCDJ.js";import{a as k}from"./chunk-LFNUSULJ.js";import{b as x}from"./chunk-O325ZU5M.js";import{f as h}from"./chunk-P2MUEKFT.js";import{b as i,f as d,g as f,h as u,i as g}from"./chunk-YVN2NZL4.js";import{g as n}from"./chunk-FFWPJP7A.js";import{j as c}from"./chunk-6DBKPC2O.js";var l=x(),b=t=>{let e=new Set,r=/export\s+\*\s+from\s+["']([^"']+)["']/g,a=/export\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g,o=/export\s+type\s+\{[^}]*\}\s+from\s+["']([^"']+)["']/g;for(let s of t.matchAll(r))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(a))s[1]!==void 0&&e.add(s[1]);for(let s of t.matchAll(o))s[1]!==void 0&&e.add(s[1]);return e},y=t=>{let e=t.startsWith("./")?t.slice(2):t;return e.endsWith(".ts")&&(e=e.slice(0,-3)),e},O=t=>!(t==="mod.ts"||t.endsWith("_test.ts")||t.endsWith("_bench.ts")||t.startsWith("_")||t.includes("/")),P=async(t={})=>{let{root:e=".",failFast:r=!1}=t,a=await C(e),o=[];for(let s of a){let v=c.runtime.path.join(s.path,"mod.ts"),m;try{m=await c.runtime.fs.readTextFile(v)}catch{continue}let M=b(m),w=new Set([...M].map(p=>y(p))),A=await E(s.path);for(let p of A){let R=c.runtime.path.basename(p);if(!O(R))continue;let F=y(p);if(!w.has(F)&&(o.push({packageName:s.name,file:p}),r))return{isComplete:!1,missingExports:o,packagesChecked:a.length}}}return{isComplete:o.length===0,missingExports:o,packagesChecked:a.length}},W=t=>h.fromPromise(()=>P(t)),_=t=>n.ok({root:"."}),z=t=>{if(n.isFail(t))return l.writeln(d("\u2717"),i(" "+String(t.error))),n.fail({exitCode:1});let{value:e}=t;if(l.writeln(g("\u2139"),i(` Checked ${e.packagesChecked} packages.`)),!e.isComplete){l.writeln(d("\u2717"),i(` Found ${e.missingExports.length} missing exports:`));for(let r of e.missingExports)l.writeln(u("\u26A0"),i(` ${r.packageName}: ${r.file}`));return n.fail({exitCode:1})}return l.writeln(f("\u2713"),i(" All mod.ts exports are complete.")),n.ok(void 0)},S=k.createTrigger({handler:W,adaptInput:_,adaptOutput:z}),N=async t=>await S({command:"validate-mod-exports",args:[],flags:{}});export{P as a,W as b,S as c,N as d};
@@ -1,5 +1,5 @@
1
1
  import { createRequire } from "node:module"; const require = createRequire(import.meta.url);
2
- import{a as F}from"./chunk-2XNFZXHY.js";import{i as s}from"./chunk-WJKE6XHF.js";import{e as D}from"./chunk-5WJ6AUNY.js";var f=()=>({version:"0.1.0",phase:"IDLE",spec:null,specDescription:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],lastCalledAt:null,classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null,revisitHistory:[]}),k=(e,t,r,n)=>({concerns:e,tools:t,providers:r,project:n,maxIterationsBeforeRestart:15,verifyCommand:null,allowGit:!1,command:"npx eser@latest noskills"});var l=D(F(),1);var i=".eser",c=`${i}/.state`,S=`${c}/state.json`,m=`${i}/manifest.yml`,y=`${i}/concerns`,h=`${i}/rules`,u=`${i}/specs`,w=`${i}/workflows`,p=`${c}/specs`,P=`${c}/active.json`,a=`${i}/.sessions`,d={eserDir:i,stateDir:c,stateFile:S,manifestFile:m,concernsDir:y,rulesDir:h,specsDir:u,workflowsDir:w,specStatesDir:p,activeFile:P,specDir:e=>`${u}/${e}`,specFile:e=>`${u}/${e}/spec.md`,specStateFile:e=>`${p}/${e}.json`,concernFile:e=>`${y}/${e}.json`,sessionsDir:a,sessionFile:e=>`${a}/${e}.json`,eserGitignore:`${i}/.gitignore`},x=async e=>{let t=`${e}/${S}`;try{let r=await s.fs.readTextFile(t);return JSON.parse(r)}catch{return f()}},O=async(e,t)=>{if(t==null)return x(e);let r=`${e}/${d.specDir(t)}`;try{await s.fs.stat(r)}catch{throw new Error(`Spec '${t}' not found. Run \`noskills spec list\` to see available specs.`)}let n=await E(e,t);if(n.spec===t)return n;let o=await x(e);return o.spec===t?o:{...n,spec:t}};var I=e=>{if(e===void 0)return null;for(let t of e)if(t.startsWith("--spec="))return t.slice(7);return null},_=e=>{let t=I(e);return t===null||t.length===0?{ok:!1,error:"Error: spec name is required. Use `noskills spec <name> <command>` format."}:{ok:!0,spec:t}},T=async(e,t)=>{let r=`${e}/${c}`,n=`${e}/${S}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
2
+ import{a as F}from"./chunk-2XNFZXHY.js";import{i as s}from"./chunk-6DBKPC2O.js";import{e as D}from"./chunk-5WJ6AUNY.js";var f=()=>({version:"0.1.0",phase:"IDLE",spec:null,specDescription:null,branch:null,discovery:{answers:[],completed:!1,currentQuestion:0,audience:"human",approved:!1},specState:{path:null,status:"none"},execution:{iteration:0,lastProgress:null,modifiedFiles:[],lastVerification:null,awaitingStatusReport:!1,debt:null,completedTasks:[],debtCounter:0,naItems:[]},decisions:[],lastCalledAt:null,classification:null,completionReason:null,completedAt:null,completionNote:null,reopenedFrom:null,revisitHistory:[]}),k=(e,t,r,n)=>({concerns:e,tools:t,providers:r,project:n,maxIterationsBeforeRestart:15,verifyCommand:null,allowGit:!1,command:"npx eser@latest noskills"});var l=D(F(),1);var i=".eser",c=`${i}/.state`,S=`${c}/state.json`,m=`${i}/manifest.yml`,y=`${i}/concerns`,h=`${i}/rules`,u=`${i}/specs`,w=`${i}/workflows`,p=`${c}/specs`,P=`${c}/active.json`,a=`${i}/.sessions`,d={eserDir:i,stateDir:c,stateFile:S,manifestFile:m,concernsDir:y,rulesDir:h,specsDir:u,workflowsDir:w,specStatesDir:p,activeFile:P,specDir:e=>`${u}/${e}`,specFile:e=>`${u}/${e}/spec.md`,specStateFile:e=>`${p}/${e}.json`,concernFile:e=>`${y}/${e}.json`,sessionsDir:a,sessionFile:e=>`${a}/${e}.json`,eserGitignore:`${i}/.gitignore`},x=async e=>{let t=`${e}/${S}`;try{let r=await s.fs.readTextFile(t);return JSON.parse(r)}catch{return f()}},O=async(e,t)=>{if(t==null)return x(e);let r=`${e}/${d.specDir(t)}`;try{await s.fs.stat(r)}catch{throw new Error(`Spec '${t}' not found. Run \`noskills spec list\` to see available specs.`)}let n=await E(e,t);if(n.spec===t)return n;let o=await x(e);return o.spec===t?o:{...n,spec:t}};var I=e=>{if(e===void 0)return null;for(let t of e)if(t.startsWith("--spec="))return t.slice(7);return null},_=e=>{let t=I(e);return t===null||t.length===0?{ok:!1,error:"Error: spec name is required. Use `noskills spec <name> <command>` format."}:{ok:!0,spec:t}},T=async(e,t)=>{let r=`${e}/${c}`,n=`${e}/${S}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
3
3
  `)};var E=async(e,t)=>{let r=`${e}/${d.specStateFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return f()}},b=async(e,t,r)=>{let n=`${e}/${p}`,o=`${e}/${d.specStateFile(t)}`;await s.fs.mkdir(n,{recursive:!0}),await s.fs.writeTextFile(o,JSON.stringify(r,null,2)+`
4
4
  `)},j=async e=>{let t=`${e}/${p}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=n.name.replace(/\.json$/,""),g=await s.fs.readTextFile(`${t}/${n.name}`);r.push({name:o,state:JSON.parse(g)})}}catch{}return r},L=async e=>{let t=`${e}/${m}`;try{let r=await s.fs.readTextFile(t),n=l.parse(r);return n?.noskills===void 0?null:n.noskills}catch{return null}},J=async(e,t)=>{let r=`${e}/${m}`,n;try{let g=await s.fs.readTextFile(r);n=l.parseDocument(g)}catch{n=new l.Document({})}let o=n.createNode(t);o.commentBefore=" noskills orchestrator \u2014 inline comments in this section won't be preserved on next write",n.set("noskills",o),await s.fs.writeTextFile(r,n.toString())},M=async(e,t)=>{let r=`${e}/${d.concernFile(t)}`;try{let n=await s.fs.readTextFile(r);return JSON.parse(n)}catch{return null}},V=async(e,t)=>{let r=`${e}/${y}`,n=`${e}/${d.concernFile(t.id)}`;await s.fs.mkdir(r,{recursive:!0}),await s.fs.writeTextFile(n,JSON.stringify(t,null,2)+`
5
5
  `)},W=async e=>{let t=`${e}/${y}`,r=[];try{for await(let n of s.fs.readDir(t))if(n.isFile&&n.name.endsWith(".json")){let o=await s.fs.readTextFile(`${t}/${n.name}`);r.push(JSON.parse(o))}}catch{}return r},G=async e=>{let t=[i,c,p,y,h,u,w];for(let n of t)await s.fs.mkdir(`${e}/${n}`,{recursive:!0});let r=`${e}/${d.eserGitignore}`;try{await s.fs.stat(r)}catch{await s.fs.writeTextFile(r,`# eser toolchain runtime state \u2014 not tracked by git