@lunora/cli 1.0.0-alpha.164 → 1.0.0-alpha.166

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 (112) hide show
  1. package/dist/bin.mjs +1 -1
  2. package/dist/index.d.mts +0 -2
  3. package/dist/index.d.ts +0 -2
  4. package/dist/index.mjs +1 -1
  5. package/dist/packem_chunks/handler.mjs +1 -1
  6. package/dist/packem_chunks/handler10.mjs +2 -2
  7. package/dist/packem_chunks/handler11.mjs +2 -2
  8. package/dist/packem_chunks/handler12.mjs +1 -1
  9. package/dist/packem_chunks/handler13.mjs +1 -1
  10. package/dist/packem_chunks/handler14.mjs +1 -1
  11. package/dist/packem_chunks/handler15.mjs +1 -1
  12. package/dist/packem_chunks/handler16.mjs +2 -2
  13. package/dist/packem_chunks/handler17.mjs +1 -1
  14. package/dist/packem_chunks/handler18.mjs +1 -1
  15. package/dist/packem_chunks/handler19.mjs +7 -7
  16. package/dist/packem_chunks/handler2.mjs +2 -2
  17. package/dist/packem_chunks/handler20.mjs +2 -2
  18. package/dist/packem_chunks/handler21.mjs +2 -2
  19. package/dist/packem_chunks/handler22.mjs +3 -3
  20. package/dist/packem_chunks/handler23.mjs +3 -3
  21. package/dist/packem_chunks/handler24.mjs +1 -1
  22. package/dist/packem_chunks/handler25.mjs +19 -19
  23. package/dist/packem_chunks/handler26.mjs +9 -9
  24. package/dist/packem_chunks/handler3.mjs +1 -1
  25. package/dist/packem_chunks/handler4.mjs +1 -1
  26. package/dist/packem_chunks/handler5.mjs +1 -1
  27. package/dist/packem_chunks/handler6.mjs +1 -1
  28. package/dist/packem_chunks/handler7.mjs +3 -3
  29. package/dist/packem_chunks/handler8.mjs +1 -1
  30. package/dist/packem_chunks/handler9.mjs +1 -1
  31. package/dist/packem_chunks/planDevCommand.mjs +6 -6
  32. package/dist/packem_chunks/runCodegenCommand.mjs +3 -3
  33. package/dist/packem_chunks/runDeployCommand.mjs +1 -1
  34. package/dist/packem_chunks/runInitCommand.mjs +46 -46
  35. package/dist/packem_chunks/runMigrateGenerateCommand.mjs +8 -8
  36. package/dist/packem_chunks/runResetCommand.mjs +1 -1
  37. package/dist/packem_chunks/runRpcCommand.mjs +1 -1
  38. package/dist/packem_shared/COMMANDS-BWf5k_qi.mjs +1 -0
  39. package/dist/packem_shared/DEFAULT_IMPORT_BATCH_SIZE-D5cNE-NH.mjs +1 -0
  40. package/dist/packem_shared/admin-token-rxXZbVMZ.mjs +1 -0
  41. package/dist/packem_shared/admin-url-Cil3Or6N.mjs +1 -0
  42. package/dist/packem_shared/advisory-gate-Cl8IEFIj.mjs +1 -0
  43. package/dist/packem_shared/api-spec-lYyq4vL6.mjs +1 -0
  44. package/dist/packem_shared/buildRegistryIndex-Zi3bBqpc.mjs +1 -0
  45. package/dist/packem_shared/cli-ULexksQd.mjs +3 -0
  46. package/dist/packem_shared/codegen-error-C04fGQjf.mjs +3 -0
  47. package/dist/packem_shared/command-DwC11Cwe.mjs +1 -0
  48. package/dist/packem_shared/commands-B-YnEi2t.mjs +19 -0
  49. package/dist/packem_shared/createLogger-hGafwf-3.mjs +2 -0
  50. package/dist/packem_shared/createRecordingSpawner-DJlNacZ6.mjs +1 -0
  51. package/dist/packem_shared/deploy-target-D9GPy_tq.mjs +1 -0
  52. package/dist/packem_shared/detect-package-manager-DSaAqRof.mjs +1 -0
  53. package/dist/packem_shared/diffSnapshots-CIOFQN_a.mjs +5 -0
  54. package/dist/packem_shared/{docker-CKvYE9YF.mjs → docker-DpVxvYpL.mjs} +1 -1
  55. package/dist/packem_shared/health-probe-QEPfFdgJ.mjs +1 -0
  56. package/dist/packem_shared/import-Db3Gk4mx.mjs +12 -0
  57. package/dist/packem_shared/insertSchemaExtension-DY4pA8wE.mjs +8 -0
  58. package/dist/packem_shared/lint-ignore-report-0sVOnXcO.mjs +2 -0
  59. package/dist/packem_shared/open-url-EnKy--w-.mjs +1 -0
  60. package/dist/packem_shared/output-format-DfogXx0p.mjs +2 -0
  61. package/dist/packem_shared/parseManifest-CwPTKdtS.mjs +1 -0
  62. package/dist/packem_shared/path-containment-CgxYZggb.mjs +1 -0
  63. package/dist/packem_shared/platform-diagnostics-uOXqysk3.mjs +4 -0
  64. package/dist/packem_shared/post-codegen-hook-DRdEoTsQ.mjs +1 -0
  65. package/dist/packem_shared/resolve-DZAGzg67.mjs +1 -0
  66. package/dist/packem_shared/resolve-target-C_ZloTvd.mjs +1 -0
  67. package/dist/packem_shared/runAddCommand-BZty6_vX.mjs +1 -0
  68. package/dist/packem_shared/runExportCommand-DmXKEWSq.mjs +5 -0
  69. package/dist/packem_shared/{schema-drift-gate-d12lMICD.mjs → schema-drift-gate-AscQpYH5.mjs} +1 -1
  70. package/dist/packem_shared/schemaIrToSnapshot-qpRoV7HY.mjs +1 -0
  71. package/dist/packem_shared/shared-D-zCOmgY.mjs +1 -0
  72. package/dist/packem_shared/tui-prompts-Dd0pDuNr.mjs +4 -0
  73. package/dist/packem_shared/vectorize-metadata-Cs8ycNaL.mjs +1 -0
  74. package/dist/packem_shared/wrangler-name-Dsk5K1f-.mjs +1 -0
  75. package/dist/packem_shared/wrangler-secrets-CE7jcf8E.mjs +1 -0
  76. package/package.json +23 -22
  77. package/dist/packem_shared/COMMANDS-BJhEvtLN.mjs +0 -1
  78. package/dist/packem_shared/DEFAULT_IMPORT_BATCH_SIZE-D7L8R74L.mjs +0 -1
  79. package/dist/packem_shared/admin-token-BKmc3AUm.mjs +0 -1
  80. package/dist/packem_shared/admin-url-Ca-KI3d_.mjs +0 -1
  81. package/dist/packem_shared/advisory-gate-yaOOyUQl.mjs +0 -1
  82. package/dist/packem_shared/api-spec-BENwiyUa.mjs +0 -1
  83. package/dist/packem_shared/buildRegistryIndex-DwySASBu.mjs +0 -1
  84. package/dist/packem_shared/cli-Cu92injU.mjs +0 -3
  85. package/dist/packem_shared/codegen-error-DJN6pTH5.mjs +0 -3
  86. package/dist/packem_shared/command-0l-ZPhIX.mjs +0 -1
  87. package/dist/packem_shared/commands-DB63_8xW.mjs +0 -19
  88. package/dist/packem_shared/createLogger-BoSxdb2T.mjs +0 -2
  89. package/dist/packem_shared/createRecordingSpawner-SKs4R1fc.mjs +0 -1
  90. package/dist/packem_shared/deploy-target-Dvr9vxpR.mjs +0 -1
  91. package/dist/packem_shared/detect-package-manager-DXDstphE.mjs +0 -1
  92. package/dist/packem_shared/diffSnapshots-cgOtkd-G.mjs +0 -5
  93. package/dist/packem_shared/health-probe-CiFgh1hn.mjs +0 -1
  94. package/dist/packem_shared/import-C9in1wC3.mjs +0 -12
  95. package/dist/packem_shared/insertSchemaExtension-DZReBZ4_.mjs +0 -8
  96. package/dist/packem_shared/lint-ignore-report-m43j10IE.mjs +0 -2
  97. package/dist/packem_shared/open-url-zbbAo_D7.mjs +0 -1
  98. package/dist/packem_shared/output-format-Cv3aLqhP.mjs +0 -2
  99. package/dist/packem_shared/parseManifest-x3WsxKHz.mjs +0 -1
  100. package/dist/packem_shared/path-containment-CcTCKfzV.mjs +0 -1
  101. package/dist/packem_shared/platform-diagnostics-C4TFj5Pu.mjs +0 -4
  102. package/dist/packem_shared/post-codegen-hook-DhL1RH5u.mjs +0 -1
  103. package/dist/packem_shared/resolve-BZp6jitE.mjs +0 -1
  104. package/dist/packem_shared/resolve-target-CeiNrCAx.mjs +0 -1
  105. package/dist/packem_shared/runAddCommand-DiEQBX7C.mjs +0 -1
  106. package/dist/packem_shared/runExportCommand-BpE4AbuX.mjs +0 -5
  107. package/dist/packem_shared/schemaIrToSnapshot-DV2DilTz.mjs +0 -1
  108. package/dist/packem_shared/shared-Ce9bKz5c.mjs +0 -1
  109. package/dist/packem_shared/tui-prompts-BU3irGxV.mjs +0 -4
  110. package/dist/packem_shared/vectorize-metadata-BvZbbqUD.mjs +0 -1
  111. package/dist/packem_shared/wrangler-name-CHDf3rMP.mjs +0 -1
  112. package/dist/packem_shared/wrangler-secrets-D0Tv5GWn.mjs +0 -1
@@ -1,5 +0,0 @@
1
- import{createWriteStream as m}from"node:fs";import{unlink as g}from"node:fs/promises";import{l as y}from"./admin-token-BKmc3AUm.mjs";import{u as v}from"./admin-url-Ca-KI3d_.mjs";import{r as h}from"./shared-Ce9bKz5c.mjs";const b=o=>{if(o===void 0)return;const t=o.split(",").map(e=>e.trim()).filter(e=>e.length>0);return t.length>0?t:void 0},w=async(o,t)=>{o.write(t)||await new Promise((e,a)=>{let i=r=>{};const s=()=>{o.removeListener("error",i),e()};i=r=>{o.removeListener("drain",s),a(r)},o.once("drain",s),o.once("error",i)})},$=async(o,t)=>{const e=o.getReader(),a=new TextDecoder;let i=0,s=0,r="",n=!1;try{for(;!n;){const c=await e.read();if(n=c.done,c.value===void 0)continue;i+=c.value.length,r+=a.decode(c.value,{stream:!0});let d=r.indexOf(`
2
- `);for(;d!==-1;){s+=1;const l=`${r.slice(0,d)}
3
- `;await w(t,l),r=r.slice(d+1),d=r.indexOf(`
4
- `)}}return r.length>0&&(s+=1,await w(t,`${r}
5
- `)),{bytes:i,rows:s}}finally{e.releaseLock()}},p=async(o,t)=>{if(t!==void 0){o.destroy();try{await g(t)}catch{}}},x=async(o,t,e)=>{await new Promise((i,s)=>{o.end(r=>{const n=r??e();n===void 0?i():s(n)})});const a=e();if(a!==void 0)throw await p(o,t),a},P=async o=>{if(o.prod&&o.url===void 0)return o.logger.error("--prod requires an explicit --url (refusing to export from the implicit localhost worker)"),{bytes:0,code:1,rows:0};const t=v(o.url,o.logger,o.cwd);if(t===void 0)return{bytes:0,code:1,rows:0};const{token:e}=y({cwd:o.cwd??process.cwd(),token:o.token,url:t});if(!e)return o.logger.error("admin token required — pass --token, set LUNORA_ADMIN_TOKEN, or add it to .dev.vars (local targets only)"),{bytes:0,code:1,rows:0};const a=`${t}${h}`,i=b(o.tables),s=o.fetchImpl??globalThis.fetch;if(typeof s!="function")throw new TypeError("no fetch implementation available — pass fetchImpl or run on Node >= 18");o.logger.info(`POST ${a} -> export${i?` (tables: ${i.join(",")})`:""}`);const r=await s(a,{body:JSON.stringify(i?{tables:i}:{}),headers:{authorization:`Bearer ${e}`,"content-type":"application/json"},method:"POST"});if(!r.ok){const u=await r.text();return o.logger.error(`export failed: HTTP ${String(r.status)}: ${u}`),{bytes:0,code:1,rows:0}}if(!r.body)return o.logger.error("export response carried no body"),{bytes:0,code:1,rows:0};const n=o.out===void 0||o.out==="-"?void 0:o.out,c=n===void 0?process.stdout:m(n,{encoding:"utf8"});let d;n!==void 0&&c.on("error",u=>{d??=u});let l,f;try{({bytes:l,rows:f}=await $(r.body,c))}catch(u){throw await p(c,n),u}return n!==void 0&&(await x(c,n,()=>d),o.logger.success(`wrote ${String(f)} rows to ${n} (${String(l)} bytes)`)),{bytes:l,code:0,rows:f}};export{P as runExportCommand};
@@ -1 +0,0 @@
1
- import{validatorKindToSqlType as i}from"./diffSnapshots-cgOtkd-G.mjs";const r=e=>e.kind==="optional"&&e.inner?{nullable:!0,sqlType:i(e.inner.kind)}:{nullable:!1,sqlType:i(e.kind)},f=e=>e==="global",c=e=>{const s={};for(const o of e.tables){if(!f(o.shardMode))continue;const a={};for(const[n,t]of Object.entries(o.shape))a[n]=r(t);const l={};for(const n of o.indexes)l[n.name]={fields:[...n.fields],name:n.name,unique:n.unique??!1};s[o.name]={columns:a,indexes:l,name:o.name}}return{tables:s,version:1}};export{c as default};
@@ -1 +0,0 @@
1
- const r="/_lunora/admin/export",a="/_lunora/admin/import",n="/_lunora/admin/storage",o="/_lunora/admin/storage/url";export{o as e,n,r,a as t};
@@ -1,4 +0,0 @@
1
- import{jsx as t,jsxs as c}from"react/jsx-runtime";import{isInteractive as h,ACCENT as b,LUNA_ART as ie,LUNA_NAME as oe,LUNA_SIGNOFF as se,BADGE_COLUMN_WIDTH as R,badgeWidth as z,badgeLead as ce,padBadge as de}from"@lunora/config";import{render as V}from"@visulima/tui";import{Box as d}from"@visulima/tui/components/box";import{CommandPalette as ue}from"@visulima/tui/components/command-palette";import{ConfirmInput as fe}from"@visulima/tui/components/confirm-input";import{SelectInput as me}from"@visulima/tui/components/select-input";import{Spinner as he}from"@visulima/tui/components/spinner";import{Text as o}from"@visulima/tui/components/text";import{TextInput as ge}from"@visulima/tui/components/text-input";import{useApp as y}from"@visulima/tui/hooks/use-app";import{useInput as j}from"@visulima/tui/hooks/use-input";import{useInterval as pe}from"@visulima/tui/hooks/use-interval";import{useEffect as L,useState as x}from"react";import{P as Q}from"./prompt-cancelled-C8Sj7OqI.mjs";let G=!1;const F=()=>{G||(G=!0,process.getMaxListeners()<64&&process.setMaxListeners(64))},be=({children:e,onCancel:r})=>{const{exit:n}=y();return j((l,a)=>{a.ctrl&&l==="c"&&(r(),n())}),e},Z=e=>e instanceof Error?e:new Error(typeof e=="string"?e:"task failed"),K=10,ve=8,ee=({spec:e})=>c(o,{children:[t(o,{children:ce(e.text)}),t(o,{backgroundColor:e.bg,bold:!0,color:e.fg,children:de(e.text)})]}),I=({badge:e,message:r})=>e===void 0?t(o,{bold:!0,children:r}):c(d,{children:[t(ee,{spec:e}),t(o,{bold:!0,children:` ${r}`})]}),re=2,$=" ".repeat(R-1),ne=e=>" ".repeat(z(e)+1),we=e=>e===void 0?re:z(e)+1,N=({badge:e,children:r,message:n})=>c(d,{flexDirection:"column",children:[t(I,{badge:e,message:n}),t(d,{flexDirection:"column",marginLeft:we(e),children:r})]}),A=({answer:e,badge:r,message:n})=>c(d,{flexDirection:"column",children:[t(I,{badge:r,message:n}),e===""?null:t(o,{dimColor:!0,children:`${r===void 0?" ".repeat(re):ne(r)}${e}`})]}),T=e=>{const{exit:r}=y(),[n,l]=x(void 0);return L(()=>{n!==void 0&&r()},[n,r]),{answer:n,submit:(a,i)=>{e(a),l(i)}}},xe=({children:e})=>{const{exit:r}=y();return L(()=>{r()},[r]),e},C=async e=>{F(),process.stdout.write(`
2
- `);const r=V(t(xe,{children:e}));try{await r.waitUntilExit()}catch{}finally{r.unmount()}},Ke=async(e,r,n)=>{if(!h())return;const l=n===void 0||n===""?[]:n.split(`
3
- `);await C(c(d,{flexDirection:"column",children:[t(I,{badge:e,message:r}),l.map(a=>t(o,{dimColor:!0,children:`${ne(e)}${a}`},a))]}))},O=async e=>{F(),process.stdout.write(`
4
- `);const r={value:!1},n=V(t(be,{onCancel:()=>{r.value=!0},children:e}),{exitOnCtrlC:!1});try{await n.waitUntilExit()}finally{n.unmount()}if(r.value)throw new Q},k=async(e,r)=>{let n=r;return await O(e(l=>{n=l})),n},te=e=>e.description===void 0?e.label:`${e.label} — ${e.description}`,X=()=>{const{exit:e}=y();j((r,n)=>{n.escape&&e()})},ye=({badge:e,finish:r,initialIndex:n,message:l,options:a})=>{const{answer:i,submit:u}=T(r);return X(),i!==void 0?t(A,{answer:i,badge:e,message:l}):t(N,{badge:e,message:l,children:t(me,{accentColor:b,initialIndex:n,items:a.map(s=>({key:s.value,label:te(s),value:s.value})),limit:K,onSelect:s=>{u(s.value,a.find(f=>f.value===s.value)?.label??s.value)}})})},$e=({badge:e,finish:r,message:n,options:l})=>{const{exit:a}=y(),{answer:i,submit:u}=T(r);return i!==void 0?t(A,{answer:i,badge:e,message:n}):t(N,{badge:e,message:n,children:t(ue,{accentColor:b,autoFocus:!0,commands:l.map(s=>({description:s.description,id:s.value,label:s.label})),limit:K,onCancel:()=>{a()},onSelect:s=>{u(s,l.find(f=>f.value===s)?.label??s)},placeholder:"Type to filter…"})})},er=async(e,r,n)=>{if(!h()||r.length===0)return n?.default;const{badge:l}=n??{};if(r.length>ve)return k(i=>t($e,{badge:l,finish:i,message:e,options:r}),n?.default);const a=n?.default===void 0?-1:r.findIndex(i=>i.value===n.default);return k(i=>t(ye,{badge:l,finish:i,initialIndex:a>=0?a:void 0,message:e,options:r}),n?.default)},Ce=({badge:e,defaultValue:r,finish:n,message:l,placeholder:a})=>{const{answer:i,submit:u}=T(n);return X(),i!==void 0?t(A,{answer:i,badge:e,message:l}):t(N,{badge:e,message:l,children:t(ge,{defaultValue:r,onSubmit:s=>{const f=s.trim()===""?r:s.trim();u(f,f)},placeholder:a})})},rr=async(e,r)=>{const n=r?.default??"";if(!h())return n;const{badge:l}=r??{};return k(a=>t(Ce,{badge:l,defaultValue:n,finish:a,message:e,placeholder:r?.placeholder}),n)},De=({badge:e,defaults:r,finish:n,message:l,options:a})=>{const{answer:i,submit:u}=T(n),[s,f]=x(0),[g,D]=x(()=>new Set(r));return X(),j((p,v)=>{if(!(i!==void 0||a.length===0)){if(v.upArrow)f(m=>(m-1+a.length)%a.length);else if(v.downArrow)f(m=>(m+1)%a.length);else if(p===" "){const m=a[s];m!==void 0&&D(w=>{const E=new Set(w);return E.has(m.value)?E.delete(m.value):E.add(m.value),E})}else if(v.return){const m=a.filter(w=>g.has(w.value));u(m.map(w=>w.value),m.length>0?m.map(w=>w.label).join(", "):"none")}}}),i!==void 0?t(A,{answer:i,badge:e,message:l}):t(N,{badge:e,message:l,children:c(d,{flexDirection:"column",children:[t(o,{dimColor:!0,children:"space toggles · enter confirms · esc cancels"}),a.map((p,v)=>{const m=v===s;return t(o,{color:m?b:void 0,children:`${m?"▸ ":" "}${g.has(p.value)?"◼":"◻"} ${te(p)}`},p.value)})]})})},nr=async(e,r,n)=>{const l=n?.defaults??[];if(!h()||r.length===0)return[...l];const{badge:a}=n??{};return k(i=>t(De,{badge:a,defaults:l,finish:i,message:e,options:r}),[...l])},Se=({badge:e,defaultYes:r,finish:n,message:l})=>{const{answer:a,submit:i}=T(n);return a!==void 0?t(A,{answer:a,badge:e,message:l}):c(d,{children:[e===void 0?null:t(ee,{spec:e}),t(o,{bold:!0,children:e===void 0?`${l} `:` ${l} `}),t(fe,{defaultChoice:r?"confirm":"cancel",onCancel:()=>{i(!1,"No")},onConfirm:()=>{i(!0,"Yes")}})]})},ke=async(e,r)=>{const n=r?.defaultYes===!0;if(!h())return n;const{badge:l}=r??{};return k(a=>t(Se,{badge:l,defaultYes:n,finish:a,message:e}),!1)},tr=()=>h()?e=>ke(e,{defaultYes:!0}):()=>Promise.resolve(!1),H="#c8a8ff",M="#d9c8ff",Ie="#6b5b9a",U=({moon:e,prefix:r,suffix:n})=>c(d,{children:[t(o,{color:H,dimColor:!0,children:r}),typeof e=="string"?t(o,{color:M,children:e}):e,n===void 0?null:t(o,{color:H,children:n})]}),W=({left:e,right:r})=>c(o,{color:M,children:[e,t(o,{color:Ie,children:"●●"}),r]}),Ae=()=>c(d,{flexDirection:"column",paddingX:1,children:[t(U,{moon:".-‐-.",prefix:"· ✦ · ",suffix:" ✦"}),t(U,{moon:t(W,{left:"/",right:"\\"}),prefix:" ✦ · ",suffix:" ·"}),t(U,{moon:t(W,{left:"\\",right:"/"}),prefix:" . ✦ · "}),c(d,{children:[t(o,{bold:!0,color:b,children:" lunora init "}),t(o,{dimColor:!0,children:"· moonrise sequence"}),t(o,{color:M})]})]}),ar=async e=>{h()&&await C(c(d,{flexDirection:"column",children:[t(Ae,{}),t(d,{paddingX:1,children:t(o,{dimColor:!0,children:e})})]}))},Te=({label:e})=>c(d,{children:[t(o,{color:b,children:t(he,{type:"dots"})}),c(o,{children:[" ",e]})]}),lr=async(e,r)=>{if(!h())return r();F();const n=V(t(Te,{label:e}));try{return await r()}finally{n.unmount()}},ir=async()=>{h()&&await C(c(d,{paddingX:1,children:[t(o,{color:M,children:ie}),c(d,{flexDirection:"column",marginLeft:2,children:[t(o,{bold:!0,color:b,children:oe}),t(o,{children:se})]})]}))},Ee="#06b6d4",Y=" ".repeat(9),or=async e=>{h()&&await C(t(o,{bold:!0,children:`${Y}${e}`}))},sr=async e=>{h()&&await C(c(d,{children:[t(o,{color:Ee,children:`${$}◼`}),t(o,{children:` ${e}`})]}))},cr=async(e,r,n,l)=>{h()&&await C(c(d,{flexDirection:"column",children:[t(I,{badge:e,message:r}),t(d,{flexDirection:"column",marginTop:1,children:n.map(a=>c(o,{children:[`${Y}${a.lead} `,t(o,{color:b,children:a.code}),a.tail??""]},a.lead))}),t(d,{flexDirection:"column",marginTop:1,children:l.map(a=>c(o,{children:[`${Y}${a.lead} `,t(o,{color:b,children:a.code}),a.tail??""]},a.lead))})]}))},q="#a855f7",ae="#06b6d4",S=[q,"#9b51f6","#8a5cf6","#6f86f6","#4aa6ef","#2bb6dd","#12bcd0",ae],B=S.length-2,P=(e,r)=>Array.from({length:Math.max(0,e)},()=>r),J=[...P(S.length-1,q),...S,...P(S.length-1,ae),...S.toReversed()],_=J.map((e,r)=>{const n=J.slice(r,r+B);return[...n,...P(B-n.length,q)]}),Le=" ".repeat(Math.max(0,R-B)),le=({label:e})=>{const[r,n]=x(0);pe(()=>{n(a=>(a+1)%_.length)},90);const l=_[r%_.length]??[];return c(o,{children:[Le,l.map((a,i)=>t(o,{color:a,children:"█"},i)),` ${e}`]})},Ne=({label:e,status:r})=>r==="running"?t(o,{color:b,children:`${$}▶ ${e}`}):r==="failed"?t(o,{color:"red",children:`${$}✖ ${e}`}):r==="done"?t(o,{dimColor:!0,children:`${$}■ ${e}`}):t(o,{dimColor:!0,children:`${$}□ ${e}`}),Me=async(e,r)=>{const n=[];let l;for(const[a,i]of e.entries()){r(a,"running");try{n.push(await i.run()),r(a,"done")}catch(u){r(a,"failed"),l=u;break}}return{failure:l,results:n}},Ue=(e,r,n,l)=>{let a=!0;return Me(e,(i,u)=>{a&&r(s=>s.map((f,g)=>g===i?u:f))}).then(({failure:i,results:u})=>{setTimeout(()=>{a&&(n(u,i),l())},400)}).catch(()=>{}),()=>{a=!1}},_e=({end:e,onSettle:r,start:n,tasks:l})=>{const{exit:a}=y(),[i,u]=x(()=>l.map(()=>"pending"));L(()=>Ue(l,u,r,a),[a,r,l]);const s=i.length>0&&i.every(f=>f==="done");return c(d,{flexDirection:"column",children:[s?c(d,{children:[t(o,{bold:!0,color:"green",children:`${$}✔`}),t(o,{bold:!0,color:"green",children:` ${e}`})]}):t(le,{label:n}),l.map((f,g)=>t(Ne,{label:f.label,status:i[g]??"pending"},f.label))]})},dr=async(e,r)=>{if(!h()){const a=[];for(const i of e)a.push(await i.run());return a}let n=[],l;if(await O(t(_e,{end:r.end,onSettle:(a,i)=>{n=a,l=i},start:r.start,tasks:e})),l!==void 0)throw Z(l);return n},Ye=async(e,r)=>{const n=[];let l;for(const[a,i]of e.entries()){r(a);try{n.push(await i.task())}catch(u){l=u;break}}return{failure:l,values:n}},Be=({badge:e,done:r,onSettle:n,steps:l})=>{const{exit:a}=y(),[i,u]=x(0),[s,f]=x(!1);return L(()=>{let g=!0,D;return Ye(l,p=>{g&&u(p)}).then(({failure:p,values:v})=>{if(g){if(p!==void 0){n({error:p,ok:!1}),a();return}f(!0),D=setTimeout(()=>{g&&(n({ok:!0,values:v}),a())},400)}}).catch(()=>{}),()=>{g=!1,D!==void 0&&clearTimeout(D)}},[a,n,l]),s?t(I,{badge:e,message:r}):t(le,{label:l[i]?.running??""})},ur=async(e,r,n)=>{if(!h()){const a=[];for(const i of r)a.push(await i.task());return a}let l;if(await O(t(Be,{badge:e,done:n,onSettle:a=>{l=a},steps:r})),l===void 0)throw new Q;if(!l.ok)throw Z(l.error);return l.values};export{rr as B,nr as C,ar as D,sr as F,cr as H,tr as I,ur as J,or as M,Ke as R,lr as V,ir as _,ke as o,dr as q,er as v};
@@ -1 +0,0 @@
1
- const m=t=>{switch(t){case"boolean":return"boolean";case"date":case"number":case"timestamp":return"number";case"id":case"literal":case"string":return"string";default:return}},p=/already (?:exists|indexed)|duplicate/iu,i=t=>["vectorize","create-metadata-index",t.index,`--property-name=${t.property}`,`--type=${t.type}`],l=async(t,s)=>{try{return await t(s)}catch(r){return{code:1,stderr:r instanceof Error?r.message:String(r)}}},y=async t=>{const{cwd:s,entries:r,exec:o,logger:d,spawner:u}=t,n=[];for(const e of r){const a=await l(u,{args:[...o.args,...i(e)],captureStderr:!0,command:o.command,cwd:s,stdoutToStderr:!0});if(a.code===0){n.push({entry:e,status:"created"});continue}const c=`${a.stderr??""}${a.stdout??""}`;if(p.test(c)){n.push({entry:e,status:"exists"});continue}n.push({entry:e,error:c.trim()||`exit code ${String(a.code)}`,status:"failed"}),d.warn(`could not create the Vectorize metadata index for "${e.property}" on "${e.index}" — filters on that property will match nothing until it exists. Run: wrangler ${i(e).join(" ")}`)}return n};export{y as m,i as o,m as p};
@@ -1 +0,0 @@
1
- import{findWranglerFile as t,readWranglerJsonc as o}from"@lunora/config/cloudflare";const i=r=>{const e=t(r);if(!e)return;const{parsed:n}=o(e);return typeof n?.name=="string"&&n.name.length>0?n.name:void 0};export{i as d};
@@ -1 +0,0 @@
1
- import{resolveDeployDriver as s,resolveProjectTarget as c}from"@lunora/config";import{M as d,l as i}from"./detect-package-manager-DXDstphE.mjs";import{defaultSpawner as l}from"./createRecordingSpawner-SKs4R1fc.mjs";const m=async(e,o,r)=>{try{const t=await l({args:o,captureStderr:!0,captureStdoutSilently:!0,command:e,cwd:r});return{code:t.code,stderr:t.stderr??"",stdout:t.stdout??""}}catch(t){return{code:1,stderr:t instanceof Error?t.message:String(t),stdout:""}}},u=e=>{let o;try{o=JSON.parse(e)}catch{return}return Array.isArray(o)?[...o.map(r=>r!==null&&typeof r=="object"?r.name:void 0).filter(r=>typeof r=="string"&&r.length>0)].toSorted((r,t)=>r.localeCompare(t)):void 0},y=async e=>{const o=s(c(e.cwd)).toolchain?.secretList({environment:e.env,temporary:e.temporary});if(o===void 0)return{error:"deploy target has no command-line toolchain",names:[],ok:!1};const{args:r,command:t}=d(i(e.cwd),o.tool,o.args),a=await(e.runner??m)(t,r,e.cwd);if(a.code!==0)return{error:a.stderr.trim()||`wrangler secret list exited ${String(a.code)}`,names:[],ok:!1};const n=u(a.stdout);return n===void 0?{error:"could not parse `wrangler secret list --format json` output",names:[],ok:!1}:{names:n,ok:!0}};export{y as f};