velloo 0.8.0 → 0.10.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.
- package/BUN-LICENSE.md +4 -3
- package/README.md +112 -128
- package/THIRD-PARTY-NOTICES.md +61 -61
- package/canvas/assets/InitWizard-C1CkcS7C.js +3 -0
- package/canvas/assets/index-CZPX0col.css +2 -0
- package/canvas/assets/index-D7gy-ZUv.js +49 -0
- package/canvas/assets/lucide-all-B49qZ9YE.js +1 -0
- package/canvas/assets/radix-CuVEihKE.js +41 -0
- package/canvas/assets/react-C1iE8mnY.js +9 -0
- package/canvas/assets/rolldown-runtime-XKyaHtl9.js +1 -0
- package/canvas/assets/vendor-DXkvBgGY.js +58 -0
- package/canvas/assets/wand-sparkles-BxGgFkAt.js +1 -0
- package/canvas/index.html +6 -6
- package/{chunk-32cq4wpr.js → chunk-0rvdh1j3.js} +1 -1
- package/chunk-12pgt83m.js +8 -0
- package/chunk-12vc3f1h.js +3 -0
- package/{chunk-majd3gx9.js → chunk-28mhcvw2.js} +1 -1
- package/{chunk-ez720ked.js → chunk-3zm7ydna.js} +1 -1
- package/chunk-457fm9yy.js +7 -0
- package/chunk-46jg9aqy.js +40 -0
- package/chunk-5gwh0zpn.js +3 -0
- package/{chunk-q7wwqn03.js → chunk-5hb1e233.js} +1 -1
- package/{chunk-w30zfv3m.js → chunk-5ts4fvd9.js} +1 -1
- package/{chunk-rg86bhtb.js → chunk-62amy8bj.js} +1 -1
- package/{chunk-nrxqr4v5.js → chunk-6p8zwxxx.js} +1 -1
- package/{chunk-45wv1fs5.js → chunk-75gfv9g4.js} +11 -12
- package/chunk-84qjmqmz.js +2 -0
- package/{chunk-esg0x95a.js → chunk-85m9p67t.js} +2 -2
- package/chunk-91qesxwh.js +2 -0
- package/{chunk-hsk91jms.js → chunk-976rm76x.js} +1 -1
- package/chunk-99ccjbaa.js +4 -0
- package/{chunk-asqpx5v7.js → chunk-9hc7m55p.js} +3 -4
- package/{chunk-h3ser37q.js → chunk-a7xka0bj.js} +1 -1
- package/chunk-ak57bgnh.js +2 -0
- package/chunk-bf5808x5.js +2 -0
- package/{chunk-mqtnj8ws.js → chunk-bj47gjs9.js} +1 -1
- package/chunk-d0m56cjx.js +2 -0
- package/chunk-d6a6198y.js +3 -0
- package/{chunk-aefn23tr.js → chunk-etv7qsw7.js} +1 -1
- package/chunk-f2793pj6.js +85 -0
- package/{chunk-3612470d.js → chunk-fnv123mm.js} +1 -1
- package/{chunk-pjtg3wnm.js → chunk-fzevxpdz.js} +1 -1
- package/chunk-ghwy99py.js +68 -0
- package/chunk-gtt1qww8.js +2 -0
- package/chunk-hhkjqvww.js +1501 -0
- package/{chunk-d19ttv1a.js → chunk-hrvqwp8z.js} +1 -1
- package/{chunk-v6ks5v53.js → chunk-hxk0wkt3.js} +1 -1
- package/{chunk-qgbat4fv.js → chunk-jc95phff.js} +2 -2
- package/chunk-kwym0g80.js +11 -0
- package/chunk-kxcjme3n.js +6 -0
- package/{chunk-dy7qwj3t.js → chunk-mkctjrrz.js} +2 -2
- package/{chunk-z6r6wxm6.js → chunk-mknhfnkn.js} +1 -1
- package/chunk-mseawt58.js +849 -0
- package/{chunk-cg0sjdqt.js → chunk-nccfyeyy.js} +1 -1
- package/{chunk-c4164x55.js → chunk-npnxs0fy.js} +1 -1
- package/{chunk-ffm2jpxp.js → chunk-p9p2vbat.js} +2 -2
- package/chunk-pqc7dbhc.js +2 -0
- package/{chunk-g3k8k6fq.js → chunk-qc7c328q.js} +1 -1
- package/chunk-qe6pp4p6.js +72 -0
- package/{chunk-zgwvkgsz.js → chunk-qwy0jba8.js} +1 -1
- package/{chunk-mqx96m2g.js → chunk-s26bgjqz.js} +1 -1
- package/{chunk-8n07n0cr.js → chunk-s8pqbr4n.js} +2 -2
- package/{chunk-p93x4pn2.js → chunk-tjy12q19.js} +1 -1
- package/{chunk-cq2q36d1.js → chunk-v1by80c5.js} +1 -1
- package/chunk-vdy4ave9.js +2 -0
- package/chunk-vwhee991.js +3 -0
- package/chunk-wf7r45wh.js +12 -0
- package/chunk-x4jsr5et.js +17 -0
- package/{chunk-8qf0ne1p.js → chunk-x9gk2n9v.js} +1 -1
- package/chunk-xxjevh62.js +2 -0
- package/{chunk-s1cwck4c.js → chunk-y2y1b3zm.js} +1 -1
- package/chunk-y6jq6y8t.js +2 -0
- package/cli.js +1 -1
- package/package.json +11 -11
- package/pkgs/helpers/src/icon-data.ts +868 -172
- package/pkgs/schema/src/index.ts +1 -0
- package/pkgs/schema/src/snippet-resolve.ts +43 -0
- package/pkgs/shadcn-snapshot/dist/manifest.json +348 -0
- package/pkgs/shadcn-snapshot/src/components/canvas-portal.tsx +3 -3
- package/plugins/claude/velloo/.claude-plugin/plugin.json +5 -2
- package/plugins/gemini/gemini-extension.json +7 -2
- package/canvas/assets/index-CcPwhD7W.js +0 -31
- package/canvas/assets/index-CkVteRZ9.css +0 -2
- package/canvas/assets/lucide-all-Cezxn40A.js +0 -1
- package/canvas/assets/radix-gmpYzWRH.js +0 -41
- package/canvas/assets/react-D0Ec-185.js +0 -9
- package/canvas/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/canvas/assets/vendor-CKmQ-Zst.js +0 -53
- package/chunk-07fxzrx2.js +0 -40
- package/chunk-4g4c9h7k.js +0 -2
- package/chunk-6w42sr61.js +0 -6
- package/chunk-80fjfyha.js +0 -86
- package/chunk-8ztgcajz.js +0 -8
- package/chunk-9g45c5md.js +0 -815
- package/chunk-b4hny6hw.js +0 -3
- package/chunk-bntsn3wj.js +0 -2
- package/chunk-djwvt6jx.js +0 -2
- package/chunk-dqqpbmxt.js +0 -22
- package/chunk-ejpccmcj.js +0 -18
- package/chunk-emty5315.js +0 -2
- package/chunk-jxgwdz2r.js +0 -5
- package/chunk-kvq7pcph.js +0 -2
- package/chunk-m0v3d581.js +0 -2
- package/chunk-nx0ex7qw.js +0 -2
- package/chunk-qqagacne.js +0 -4
- package/chunk-qx83fdv2.js +0 -85
- package/chunk-r5y1sh4f.js +0 -12
- package/chunk-rhfzy9c0.js +0 -2
- package/chunk-rrrn1mkq.js +0 -3
- package/chunk-sjxp2bx3.js +0 -2
- package/chunk-t08391mh.js +0 -3
- package/chunk-t61vyqpd.js +0 -2
- package/chunk-vbk1qhdz.js +0 -3
- package/chunk-x84qrz4q.js +0 -6
- package/chunk-xg49s85z.js +0 -1491
- package/chunk-xxw67jpk.js +0 -63
- package/chunk-yjwtdm71.js +0 -2
package/pkgs/schema/src/index.ts
CHANGED
|
@@ -19,6 +19,49 @@ const OMITTED: unique symbol = Symbol("velloo.omitted-optional-param");
|
|
|
19
19
|
/** Substitution result for an OMITTED value — pruned from arrays and prop objects. */
|
|
20
20
|
const DROP: unique symbol = Symbol("velloo.drop");
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* The params a snippet body places only as children — the `node` params whose
|
|
24
|
+
* args are nodes. One that also fills a prop, or is forwarded into another
|
|
25
|
+
* instance's args, carries data: what it holds there is the body's business,
|
|
26
|
+
* not a node's. The server reads only these args as nodes, and the canvas
|
|
27
|
+
* inspector edits only these as nodes.
|
|
28
|
+
*/
|
|
29
|
+
export function snippetChildSlots(snippet: Pick<Snippet, "tree">): Set<string> {
|
|
30
|
+
const asChild = new Set<string>();
|
|
31
|
+
const elsewhere = new Set<string>();
|
|
32
|
+
const paramsIn = (v: unknown, into: Set<string>): void => {
|
|
33
|
+
if (v === null || typeof v !== "object") return;
|
|
34
|
+
if (Array.isArray(v)) {
|
|
35
|
+
for (const item of v) paramsIn(item, into);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const record = v as Record<string, unknown>;
|
|
39
|
+
if (typeof record.$param === "string") into.add(record.$param);
|
|
40
|
+
for (const nested of Object.values(record)) paramsIn(nested, into);
|
|
41
|
+
};
|
|
42
|
+
const child = (v: unknown): void => {
|
|
43
|
+
if (Array.isArray(v)) {
|
|
44
|
+
for (const item of v) child(item);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (v === null || typeof v !== "object") return;
|
|
48
|
+
const record = v as Record<string, unknown>;
|
|
49
|
+
if (typeof record.$param === "string") asChild.add(record.$param);
|
|
50
|
+
else if (typeof record.$if === "string") {
|
|
51
|
+
child(record.then);
|
|
52
|
+
child(record.else);
|
|
53
|
+
} else node(record);
|
|
54
|
+
};
|
|
55
|
+
const node = (record: Record<string, unknown>): void => {
|
|
56
|
+
paramsIn(record.props, elsewhere);
|
|
57
|
+
paramsIn(record.args, elsewhere);
|
|
58
|
+
child(record.children);
|
|
59
|
+
};
|
|
60
|
+
child(snippet.tree);
|
|
61
|
+
for (const name of elsewhere) asChild.delete(name);
|
|
62
|
+
return asChild;
|
|
63
|
+
}
|
|
64
|
+
|
|
22
65
|
/** Resolve declared params against passed args, applying defaults. */
|
|
23
66
|
export function resolveSnippetArgs(
|
|
24
67
|
snippet: Snippet,
|