velloo 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +116 -227
  2. package/THIRD-PARTY-NOTICES.md +3 -3
  3. package/canvas/assets/index-BQ5710lu.js +29 -0
  4. package/canvas/assets/index-GNLd0pCG.css +2 -0
  5. package/canvas/assets/lucide-all-DIRZdJPK.js +1 -0
  6. package/canvas/index.html +2 -2
  7. package/{chunk-qpv28z8d.js → chunk-0e5j6nqs.js} +1 -1
  8. package/{chunk-vrvkvb0v.js → chunk-0pxm5v0b.js} +3 -3
  9. package/{chunk-a16mz9zf.js → chunk-0vaff40g.js} +1 -1
  10. package/{chunk-42bj6r30.js → chunk-3m28pvzr.js} +1 -1
  11. package/{chunk-33t0csxs.js → chunk-4y2xy1kf.js} +2 -2
  12. package/{chunk-d4r0myxr.js → chunk-531xzfq5.js} +1 -1
  13. package/{chunk-1h3gqy7w.js → chunk-5s1wjhtj.js} +1 -1
  14. package/{chunk-4pkw6d9n.js → chunk-5x4nw0zz.js} +5 -5
  15. package/{chunk-b3x80jc1.js → chunk-5yhnnhkd.js} +1 -1
  16. package/{chunk-675tr675.js → chunk-64pex3mw.js} +1 -1
  17. package/chunk-667ag8ts.js +2 -0
  18. package/chunk-7gyzh0vq.js +5 -0
  19. package/{chunk-4sjvdakg.js → chunk-82x2jkfq.js} +1 -1
  20. package/{chunk-5y9hem1j.js → chunk-84n18xgx.js} +257 -3
  21. package/{chunk-edgwx026.js → chunk-abr2hgay.js} +1 -1
  22. package/{chunk-cqt1dpxd.js → chunk-acsv6m3n.js} +1 -1
  23. package/{chunk-j7tzbt3d.js → chunk-asfgvzse.js} +1 -1
  24. package/{chunk-0wqxb8r9.js → chunk-b8vcbbrg.js} +1 -1
  25. package/chunk-bms1sg4c.js +2 -0
  26. package/chunk-brnkprt5.js +723 -0
  27. package/{chunk-afe25dpr.js → chunk-bys7pqdb.js} +1 -1
  28. package/chunk-d0j8dg1e.js +3 -0
  29. package/chunk-d93kpv7s.js +12 -0
  30. package/chunk-dvh0b2r4.js +3 -0
  31. package/{chunk-5ma8zbty.js → chunk-eh2xp4v6.js} +1 -1
  32. package/{chunk-z78c1kf8.js → chunk-ejppcfa5.js} +1 -1
  33. package/{chunk-ngbqd7kb.js → chunk-ex36z3b3.js} +317 -119
  34. package/{chunk-6ytv1v2r.js → chunk-fmcm06xb.js} +1 -1
  35. package/{chunk-3ffs39e8.js → chunk-fvezyap4.js} +1 -1
  36. package/chunk-g7d065ek.js +2 -0
  37. package/{chunk-tw4kw4ps.js → chunk-g8xrwjvq.js} +2 -2
  38. package/{chunk-df557bn4.js → chunk-gbq5wv7x.js} +1 -1
  39. package/chunk-gcce587w.js +3 -0
  40. package/{chunk-cdqah1hy.js → chunk-gfppsgvv.js} +1 -1
  41. package/{chunk-5f0xv80x.js → chunk-j306gr0c.js} +1 -1
  42. package/chunk-j4fn2a2b.js +2 -0
  43. package/chunk-jbgde2v9.js +2 -0
  44. package/{chunk-wkqrb2tz.js → chunk-kkvf0xk2.js} +1 -1
  45. package/{chunk-d9kx7v12.js → chunk-md4mpvqc.js} +1 -1
  46. package/{chunk-vryadew3.js → chunk-mdgwdqnq.js} +2 -2
  47. package/chunk-p93x4pn2.js +3 -0
  48. package/chunk-pjkkp7xa.js +2 -0
  49. package/chunk-qp3wahg4.js +2 -0
  50. package/{chunk-f45p6kcb.js → chunk-qqrac4va.js} +1 -1
  51. package/chunk-qrnkrkkt.js +2 -0
  52. package/chunk-rqd4swxx.js +2 -0
  53. package/{chunk-xzkczmgg.js → chunk-rxkvjyst.js} +1 -1
  54. package/chunk-s84vxcdv.js +4 -0
  55. package/chunk-sjjnm4a1.js +2 -0
  56. package/chunk-skk6yvnw.js +3 -0
  57. package/{chunk-ahm4zd56.js → chunk-sme6hv6f.js} +1 -1
  58. package/chunk-snak5zpr.js +5 -0
  59. package/{chunk-gn9wcc1b.js → chunk-srp5gyr1.js} +1 -1
  60. package/{chunk-rd65xm6r.js → chunk-vdbr81a3.js} +1 -1
  61. package/chunk-vs8j3x6t.js +3 -0
  62. package/{chunk-hr3gbak5.js → chunk-xg71h7nb.js} +1 -1
  63. package/chunk-xzf52wvn.js +6 -0
  64. package/chunk-ykpctq15.js +6 -0
  65. package/chunk-zv17t1n7.js +3 -0
  66. package/cli.js +1 -1
  67. package/launcher.cjs +3 -1
  68. package/package.json +1 -1
  69. package/pkgs/helpers/src/box.tsx +12 -6
  70. package/pkgs/helpers/src/descriptors.ts +7 -0
  71. package/pkgs/helpers/src/icon.tsx +5 -3
  72. package/pkgs/helpers/src/index.ts +9 -6
  73. package/pkgs/helpers/src/lowering.ts +0 -24
  74. package/pkgs/helpers/src/primitive-classes.tsx +43 -0
  75. package/pkgs/helpers/src/text.tsx +29 -5
  76. package/pkgs/provider-antd/src/intro.ts +3 -3
  77. package/pkgs/provider-antd/src/manifest.ts +479 -57
  78. package/pkgs/provider-antd/src/registry.ts +8 -5
  79. package/pkgs/provider-antd/src/render-pass.ts +10 -4
  80. package/pkgs/provider-antd/src/reset-css.d.ts +5 -0
  81. package/pkgs/provider-antd/src/theme.ts +54 -11
  82. package/pkgs/provider-chakra/src/manifest.ts +6 -1
  83. package/pkgs/provider-mui/src/index.ts +4 -2
  84. package/pkgs/provider-mui/src/manifest.ts +11 -1
  85. package/pkgs/provider-mui/src/render-pass.ts +15 -1
  86. package/pkgs/provider-mui/src/theme.ts +10 -4
  87. package/pkgs/provider-none/src/components-inline.tsx +20 -14
  88. package/pkgs/provider-none/src/components.tsx +17 -54
  89. package/pkgs/provider-none/src/manifest.ts +1 -0
  90. package/pkgs/schema/src/annotation.ts +6 -3
  91. package/pkgs/schema/src/comment.ts +10 -1
  92. package/pkgs/schema/src/config.ts +4 -1
  93. package/pkgs/schema/src/index.ts +16 -1
  94. package/pkgs/schema/src/node-identity.ts +97 -0
  95. package/pkgs/schema/src/node.ts +49 -23
  96. package/pkgs/schema/src/snippet-resolve.ts +18 -12
  97. package/pkgs/schema/src/svg-sanitize.ts +3 -0
  98. package/pkgs/schema/src/theme.ts +6 -1
  99. package/pkgs/schema/src/typeset.ts +45 -21
  100. package/pkgs/shadcn-snapshot/dist/manifest.json +7 -0
  101. package/pkgs/shadcn-snapshot/src/components/ui/alert.tsx +2 -4
  102. package/pkgs/shadcn-snapshot/src/components/ui/aspect-ratio.tsx +2 -3
  103. package/pkgs/shadcn-snapshot/src/components/ui/attachment.tsx +3 -4
  104. package/pkgs/shadcn-snapshot/src/components/ui/avatar.tsx +2 -4
  105. package/pkgs/shadcn-snapshot/src/components/ui/badge.tsx +2 -4
  106. package/pkgs/shadcn-snapshot/src/components/ui/breadcrumb.tsx +2 -4
  107. package/pkgs/shadcn-snapshot/src/components/ui/bubble.tsx +2 -4
  108. package/pkgs/shadcn-snapshot/src/components/ui/button-group.tsx +3 -4
  109. package/pkgs/shadcn-snapshot/src/components/ui/button.tsx +2 -4
  110. package/pkgs/shadcn-snapshot/src/components/ui/card.tsx +2 -4
  111. package/pkgs/shadcn-snapshot/src/components/ui/carousel.tsx +3 -4
  112. package/pkgs/shadcn-snapshot/src/components/ui/chart.tsx +1 -1
  113. package/pkgs/shadcn-snapshot/src/components/ui/direction.tsx +2 -3
  114. package/pkgs/shadcn-snapshot/src/components/ui/empty.tsx +2 -4
  115. package/pkgs/shadcn-snapshot/src/components/ui/field.tsx +3 -4
  116. package/pkgs/shadcn-snapshot/src/components/ui/input-group.tsx +3 -4
  117. package/pkgs/shadcn-snapshot/src/components/ui/item.tsx +3 -4
  118. package/pkgs/shadcn-snapshot/src/components/ui/kbd.tsx +2 -3
  119. package/pkgs/shadcn-snapshot/src/components/ui/label.tsx +2 -4
  120. package/pkgs/shadcn-snapshot/src/components/ui/marker.tsx +2 -4
  121. package/pkgs/shadcn-snapshot/src/components/ui/message.tsx +2 -4
  122. package/pkgs/shadcn-snapshot/src/components/ui/native-select.tsx +2 -4
  123. package/pkgs/shadcn-snapshot/src/components/ui/navigation-menu.tsx +2 -4
  124. package/pkgs/shadcn-snapshot/src/components/ui/pagination.tsx +3 -4
  125. package/pkgs/shadcn-snapshot/src/components/ui/progress.tsx +2 -4
  126. package/pkgs/shadcn-snapshot/src/components/ui/radio-group.tsx +2 -4
  127. package/pkgs/shadcn-snapshot/src/components/ui/scroll-area.tsx +2 -4
  128. package/pkgs/shadcn-snapshot/src/components/ui/separator.tsx +2 -4
  129. package/pkgs/shadcn-snapshot/src/components/ui/skeleton.tsx +2 -3
  130. package/pkgs/shadcn-snapshot/src/components/ui/spinner.tsx +2 -3
  131. package/pkgs/shadcn-snapshot/src/components/ui/table.tsx +2 -4
  132. package/pkgs/shadcn-snapshot/src/components/ui/tabs.tsx +2 -4
  133. package/pkgs/shadcn-snapshot/src/components/ui/toggle.tsx +2 -4
  134. package/pkgs/shadcn-snapshot/src/shadcn-tailwind.css +1 -1
  135. package/pkgs/shadcn-snapshot/src/tailwind-entry.css +1 -1
  136. package/canvas/assets/index-BDBBHdHH.css +0 -2
  137. package/canvas/assets/index-QdsLJNY9.js +0 -29
  138. package/canvas/assets/lucide-all-R8DUyY-B.js +0 -1
  139. package/chunk-0rdf6trc.js +0 -2
  140. package/chunk-0wafc9aw.js +0 -4
  141. package/chunk-10hap8kc.js +0 -6
  142. package/chunk-18eqh3s1.js +0 -2
  143. package/chunk-19xyzep8.js +0 -2
  144. package/chunk-49w26e94.js +0 -5
  145. package/chunk-66qgm91k.js +0 -708
  146. package/chunk-6cgvzwec.js +0 -3
  147. package/chunk-75sc3adm.js +0 -2
  148. package/chunk-7cexzg71.js +0 -2
  149. package/chunk-98rann8t.js +0 -2
  150. package/chunk-asvdqkdp.js +0 -6
  151. package/chunk-emv1j50t.js +0 -2
  152. package/chunk-ewgdcgrk.js +0 -2
  153. package/chunk-mm8wv3bg.js +0 -3
  154. package/chunk-nkqtnwzz.js +0 -2
  155. package/chunk-q3kf8243.js +0 -3
  156. package/chunk-ryga3ny1.js +0 -3
  157. package/chunk-sb5h27w9.js +0 -3
  158. package/chunk-vgx47anc.js +0 -3
  159. package/chunk-w6f40y2x.js +0 -11
  160. package/chunk-we8hvy6e.js +0 -2
  161. package/chunk-ycrddh47.js +0 -5
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import"./chunk-80fjfyha.js";import{string,number,boolean,unknown,array,object}from"./chunk-4pkw6d9n.js";import"./chunk-66qgm91k.js";import"./chunk-ngbqd7kb.js";import"./chunk-afe25dpr.js";import{fail}from"./chunk-s23gtejf.js";import{openUrl}from"./chunk-hggap8fq.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign}from"./chunk-675tr675.js";import{defineCommand}from"./chunk-2smsg2ct.js";import{writeFileSync}from"fs";import{basename,join as join3,resolve as resolve2}from"path";import{readFileSync}from"fs";import{join,resolve,sep}from"path";var AssetRefSchema=object({file:string(),mimeType:string(),bytes:number()}),TapeRecordSchema=object({seq:number().optional(),ts:string().optional(),tool:string().optional(),durationMs:number().optional(),ok:boolean().optional(),params:unknown().optional(),text:string().optional(),images:array(AssetRefSchema).optional(),isError:boolean().optional(),error:object({name:string().optional(),message:string().optional(),stack:string().optional()}).optional(),sessionId:string().optional()}),TapeMetaSchema=object({tapeId:string().optional(),startedAt:string().optional(),folder:string().optional(),pid:number().optional()}),PendingCallSchema=object({seq:number().optional(),ts:string().optional(),tool:string().optional(),params:unknown().optional(),sessionId:string().optional()});function loadTape(dir){let meta={};try{let parsed=TapeMetaSchema.safeParse(JSON.parse(readFileSync(join(dir,"meta.json"),"utf8")));if(parsed.success)meta=parsed.data}catch{}let records=[],raw="";try{raw=readFileSync(join(dir,"tape.jsonl"),"utf8")}catch{}for(let line of raw.split(`
2
+ import"./chunk-80fjfyha.js";import{string,number,boolean,unknown,array,object}from"./chunk-5x4nw0zz.js";import"./chunk-brnkprt5.js";import"./chunk-ex36z3b3.js";import"./chunk-bys7pqdb.js";import{fail}from"./chunk-s23gtejf.js";import{openUrl}from"./chunk-hggap8fq.js";import{DESIGN_ARG_DESCRIPTION,resolveDesign}from"./chunk-64pex3mw.js";import{defineCommand}from"./chunk-2smsg2ct.js";import{writeFileSync}from"fs";import{basename,join as join3,resolve as resolve2}from"path";import{readFileSync}from"fs";import{join,resolve,sep}from"path";var AssetRefSchema=object({file:string(),mimeType:string(),bytes:number()}),TapeRecordSchema=object({seq:number().optional(),ts:string().optional(),tool:string().optional(),durationMs:number().optional(),ok:boolean().optional(),params:unknown().optional(),text:string().optional(),images:array(AssetRefSchema).optional(),isError:boolean().optional(),error:object({name:string().optional(),message:string().optional(),stack:string().optional()}).optional(),sessionId:string().optional()}),TapeMetaSchema=object({tapeId:string().optional(),startedAt:string().optional(),folder:string().optional(),pid:number().optional()}),PendingCallSchema=object({seq:number().optional(),ts:string().optional(),tool:string().optional(),params:unknown().optional(),sessionId:string().optional()});function loadTape(dir){let meta={};try{let parsed=TapeMetaSchema.safeParse(JSON.parse(readFileSync(join(dir,"meta.json"),"utf8")));if(parsed.success)meta=parsed.data}catch{}let records=[],raw="";try{raw=readFileSync(join(dir,"tape.jsonl"),"utf8")}catch{}for(let line of raw.split(`
3
3
  `)){let t=line.trim();if(!t)continue;try{let parsed=TapeRecordSchema.safeParse(JSON.parse(t));if(parsed.success)records.push(parsed.data)}catch{}}let pending=[];try{let raw=JSON.parse(readFileSync(join(dir,"pending.json"),"utf8"));if(Array.isArray(raw))pending=raw.flatMap((entry)=>{let parsed=PendingCallSchema.safeParse(entry);return parsed.success?[parsed.data]:[]})}catch{}let done=new Set(records.map((r)=>r.seq));return pending=pending.filter((p)=>!done.has(p.seq)),{dir,meta,records,pending}}var ESC={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function esc(s){return s.replace(/[&<>"']/g,(c)=>ESC[c]??c)}function isBad(r){return r.ok===!1||r.isError===!0||Boolean(r.error)}function prettyJsonText(text){try{return JSON.stringify(JSON.parse(text),null,2)}catch{return text}}function fmtDuration(ms){if(ms===void 0)return"";return ms>=1000?`${(ms/1000).toFixed(2)}s`:`${ms}ms`}function fmtBytes(n){if(n>=1048576)return`${(n/1048576).toFixed(1)}MB`;if(n>=1024)return`${(n/1024).toFixed(0)}KB`;return`${n}B`}function timeOnly(iso){if(!iso)return"";let m=/T(\d{2}:\d{2}:\d{2})/.exec(iso);return m?m[1]:iso}function tapeStats(tape){let totalMs=tape.records.reduce((s,r)=>s+(r.durationMs??0),0);return{calls:tape.records.length,errors:tape.records.filter(isBad).length,totalLabel:fmtDuration(totalMs)}}function safeMimeType(mime){return/^[a-z0-9.+-]+\/[a-z0-9.+-]+$/i.test(mime)?mime:"application/octet-stream"}function inlineImage(dir,asset){let dataUri="";try{let abs=resolve(dir,asset.file);if(abs!==resolve(dir)&&!abs.startsWith(resolve(dir)+sep))return`<div class="missing">out-of-tree asset: ${esc(asset.file)}</div>`;let buf=readFileSync(abs);dataUri=`data:${safeMimeType(asset.mimeType)};base64,${buf.toString("base64")}`}catch{return`<div class="missing">missing asset: ${esc(asset.file)}</div>`}return`<img class="shot" loading="lazy" src="${dataUri}" alt="${esc(asset.file)}"/>`}function renderResult(dir,rec){if(rec.error){let head=esc([rec.error.name,rec.error.message].filter(Boolean).join(": ")||"error"),stack=rec.error.stack?`<pre class="stack">${esc(rec.error.stack)}</pre>`:"";return`<div class="err-box"><div class="err-head">${head}</div>${stack}</div>`}let parts=[];if(rec.text)parts.push(`<pre class="json">${esc(prettyJsonText(rec.text))}</pre>`);if(rec.images?.length){let imgs=rec.images.map((a)=>`<figure>${inlineImage(dir,a)}<figcaption>${esc(a.file.replace(/^assets\//,""))} \xB7 ${fmtBytes(a.bytes)}</figcaption></figure>`).join("");parts.push(`<div class="shots">${imgs}</div>`)}if(rec.isError)parts.unshift('<div class="flag">isError: true</div>');return parts.join("")||'<div class="muted">no output</div>'}function renderRow(dir,rec){let bad=isBad(rec),tool=esc(rec.tool??"?"),seq=rec.seq??"",params=esc(JSON.stringify(rec.params??null,null,2)),search=esc(`${rec.tool??""} ${rec.text??""} ${JSON.stringify(rec.params??"")}`.toLowerCase().slice(0,4000)),nShots=rec.images?.length?` \xB7 ${rec.images.length}\uD83D\uDCF7`:"";return`<details class="call${bad?" bad":""}" data-seq="${rec.seq??""}" data-error="${bad?1:0}" data-search="${search}">
4
4
  <summary>
5
5
  <span class="dot"></span>
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{CHROMIUM_INSTALL_ARGV,CHROMIUM_FULL_INSTALL_ARGV,CHROMIUM_DEPS_INSTALL_ARGV}from"./chunk-ngbqd7kb.js";import"./chunk-4pkw6d9n.js";import{fail}from"./chunk-s23gtejf.js";import{defineCommand}from"./chunk-2smsg2ct.js";async function run(argv){let code=await Bun.spawn([...argv],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(code!==0)fail("browser install",`browser setup exited with status ${code}`)}var install=defineCommand({meta:{name:"install",description:"Install the browser used for screenshots"},args:{full:{type:"boolean",default:!1,description:"Install full Chromium instead of the smaller headless shell"},"with-deps":{type:"boolean",default:!1,description:"Also install required Linux system packages (may use sudo)"}},async run({args}){if(args["with-deps"]&&process.platform==="linux")await run(CHROMIUM_DEPS_INSTALL_ARGV);await run(args.full?CHROMIUM_FULL_INSTALL_ARGV:CHROMIUM_INSTALL_ARGV)}}),browser_default=defineCommand({meta:{name:"browser",description:"Manage the optional browser used for screenshots"},subCommands:{install}});export{browser_default as default};
2
+ import{CHROMIUM_INSTALL_ARGV,CHROMIUM_FULL_INSTALL_ARGV,CHROMIUM_DEPS_INSTALL_ARGV}from"./chunk-ex36z3b3.js";import"./chunk-5x4nw0zz.js";import{fail}from"./chunk-s23gtejf.js";import{defineCommand}from"./chunk-2smsg2ct.js";async function run(argv){let code=await Bun.spawn([...argv],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited;if(code!==0)fail("browser install",`browser setup exited with status ${code}`)}var install=defineCommand({meta:{name:"install",description:"Install the browser used for screenshots"},args:{full:{type:"boolean",default:!1,description:"Install full Chromium instead of the smaller headless shell"},"with-deps":{type:"boolean",default:!1,description:"Also install required Linux system packages (may use sudo)"}},async run({args}){if(args["with-deps"]&&process.platform==="linux")await run(CHROMIUM_DEPS_INSTALL_ARGV);await run(args.full?CHROMIUM_FULL_INSTALL_ARGV:CHROMIUM_INSTALL_ARGV)}}),browser_default=defineCommand({meta:{name:"browser",description:"Manage the optional browser used for screenshots"},subCommands:{install}});export{browser_default as default};