@vibes.diy/api-svc 14.3.58 → 14.3.64
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/analytics.d.ts +3 -15
- package/analytics.js +2 -18
- package/analytics.js.map +1 -1
- package/cf-serve.js +1 -0
- package/cf-serve.js.map +1 -1
- package/create-handler.d.ts +0 -2
- package/create-handler.js +0 -1
- package/create-handler.js.map +1 -1
- package/evento-handler-manifest.js +4 -0
- package/evento-handler-manifest.js.map +1 -1
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/intern/agent-assembly.d.ts +0 -2
- package/intern/agent-assembly.js +2 -2
- package/intern/agent-assembly.js.map +1 -1
- package/intern/agent-build-tools.d.ts +1 -7
- package/intern/agent-build-tools.js +4 -38
- package/intern/agent-build-tools.js.map +1 -1
- package/intern/agent-deferred-access.d.ts +0 -13
- package/intern/agent-deferred-access.js +0 -31
- package/intern/agent-deferred-access.js.map +1 -1
- package/intern/agent-dispatcher.js +29 -87
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-request-frame.d.ts +0 -10
- package/intern/agent-request-frame.js +0 -16
- package/intern/agent-request-frame.js.map +1 -1
- package/intern/agent-router.d.ts +1 -1
- package/intern/agent-router.js +1 -1
- package/intern/agent-router.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +2 -2
- package/intern/agent-session-instruction.js +4 -7
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-session-runtime.js +0 -6
- package/intern/agent-session-runtime.js.map +1 -1
- package/intern/agent-session.d.ts +25 -25
- package/intern/agent-session.js +1 -1
- package/intern/agent-session.js.map +1 -1
- package/intern/attach-draft-handle.d.ts +0 -1
- package/intern/attach-draft-handle.js +2 -56
- package/intern/attach-draft-handle.js.map +1 -1
- package/intern/backend-db-callback.js +1 -0
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/components/vibe-page.js +1 -0
- package/intern/components/vibe-page.js.map +1 -1
- package/intern/cross-lane-build-guard.d.ts +10 -0
- package/intern/cross-lane-build-guard.js +17 -0
- package/intern/cross-lane-build-guard.js.map +1 -0
- package/intern/delete-access-gate.js +1 -0
- package/intern/delete-access-gate.js.map +1 -1
- package/intern/draft-chat-store.d.ts +7 -0
- package/intern/draft-continuation.js +1 -6
- package/intern/draft-continuation.js.map +1 -1
- package/intern/ensure-chat-id.js +2 -2
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/ensure-slug-binding.js +2 -0
- package/intern/ensure-slug-binding.js.map +1 -1
- package/intern/grouped-vibe-import-map.d.ts +3 -0
- package/intern/grouped-vibe-import-map.js +3 -0
- package/intern/grouped-vibe-import-map.js.map +1 -1
- package/intern/guest-build-store.d.ts +0 -9
- package/intern/guest-build-store.js +2 -100
- package/intern/guest-build-store.js.map +1 -1
- package/intern/import-synth.js.map +1 -1
- package/intern/mint-decision.d.ts +1 -0
- package/intern/mint-decision.js +3 -0
- package/intern/mint-decision.js.map +1 -1
- package/intern/mint-job-store.d.ts +2 -64
- package/intern/mint-job-store.js +7 -180
- package/intern/mint-job-store.js.map +1 -1
- package/intern/mint-style.js +5 -1
- package/intern/mint-style.js.map +1 -1
- package/intern/open-turn-store.d.ts +10 -0
- package/intern/open-turn-store.js +28 -1
- package/intern/open-turn-store.js.map +1 -1
- package/intern/pouf-head-css.d.ts +15 -0
- package/intern/pouf-head-css.js +40 -0
- package/intern/pouf-head-css.js.map +1 -0
- package/intern/prompt-assembly.d.ts +0 -19
- package/intern/prompt-assembly.js +2 -5
- package/intern/prompt-assembly.js.map +1 -1
- package/intern/prompt-step.js.map +1 -1
- package/intern/put-access-gate.d.ts +1 -0
- package/intern/put-access-gate.js +8 -0
- package/intern/put-access-gate.js.map +1 -1
- package/intern/render-vibe.d.ts +2 -1
- package/intern/render-vibe.js +5 -2
- package/intern/render-vibe.js.map +1 -1
- package/intern/save-repair-io.d.ts +50 -0
- package/intern/save-repair-io.js +188 -0
- package/intern/save-repair-io.js.map +1 -0
- package/intern/save-repair.d.ts +4 -4
- package/intern/save-repair.js +4 -7
- package/intern/save-repair.js.map +1 -1
- package/intern/section-fan-out.d.ts +3 -10
- package/intern/section-fan-out.js +0 -23
- package/intern/section-fan-out.js.map +1 -1
- package/package.json +13 -12
- package/public/agent-turn-action.js +3 -0
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.js +0 -17
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/app-documents-read-eventos.js +17 -0
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/app-documents-write-eventos.d.ts +1 -0
- package/public/app-documents-write-eventos.js +9 -0
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/channel-invite-flow.d.ts +6 -0
- package/public/channel-invite-flow.js +102 -0
- package/public/channel-invite-flow.js.map +1 -0
- package/public/channel-invite-signup-match.d.ts +6 -0
- package/public/channel-invite-signup-match.js +31 -0
- package/public/channel-invite-signup-match.js.map +1 -0
- package/public/channel-invite-store.d.ts +62 -0
- package/public/channel-invite-store.js +186 -0
- package/public/channel-invite-store.js.map +1 -0
- package/public/grant-reduce.d.ts +5 -0
- package/public/grant-reduce.js +33 -8
- package/public/grant-reduce.js.map +1 -1
- package/public/handle-prompt-context.d.ts +3 -6
- package/public/handle-prompt-context.js +3 -7
- package/public/handle-prompt-context.js.map +1 -1
- package/public/handler-llm-request.js +1 -0
- package/public/handler-llm-request.js.map +1 -1
- package/public/inherit-read-resolver.d.ts +1 -0
- package/public/inherit-read-resolver.js +9 -0
- package/public/inherit-read-resolver.js.map +1 -1
- package/public/invite-subject-aliases.d.ts +15 -0
- package/public/invite-subject-aliases.js +77 -0
- package/public/invite-subject-aliases.js.map +1 -0
- package/public/invite-unsubscribe.js +2 -1
- package/public/invite-unsubscribe.js.map +1 -1
- package/public/lookup-handles.js +5 -2
- package/public/lookup-handles.js.map +1 -1
- package/public/open-chat.d.ts +4 -23
- package/public/open-chat.js +26 -287
- package/public/open-chat.js.map +1 -1
- package/public/prompt-chat-section.js +8 -0
- package/public/prompt-chat-section.js.map +1 -1
- package/public/resolve-invite-subjects.d.ts +4 -0
- package/public/resolve-invite-subjects.js +53 -0
- package/public/resolve-invite-subjects.js.map +1 -0
- package/public/serv-entry-point.js +7 -3
- package/public/serv-entry-point.js.map +1 -1
- package/public/shared-mint.d.ts +0 -5
- package/public/shared-mint.js +0 -21
- package/public/shared-mint.js.map +1 -1
- package/public/social-flow.js +52 -4
- package/public/social-flow.js.map +1 -1
- package/public/sync-eventos.js +1 -0
- package/public/sync-eventos.js.map +1 -1
- package/public/viewer-channel-resolver.js +9 -0
- package/public/viewer-channel-resolver.js.map +1 -1
- package/public/who-am-i.d.ts +1 -1
- package/public/who-am-i.js +10 -2
- package/public/who-am-i.js.map +1 -1
- package/types.d.ts +1 -2
- package/types.js.map +1 -1
- package/usage-report/codegen-delivery-alert-util.js.map +1 -1
- package/intern/draft-lane-autofix.d.ts +0 -8
- package/intern/draft-lane-autofix.js +0 -8
- package/intern/draft-lane-autofix.js.map +0 -1
- package/intern/draft-lane-classify.d.ts +0 -55
- package/intern/draft-lane-classify.js +0 -168
- package/intern/draft-lane-classify.js.map +0 -1
- package/intern/draft-lane-config.d.ts +0 -28
- package/intern/draft-lane-config.js +0 -48
- package/intern/draft-lane-config.js.map +0 -1
- package/intern/draft-lane-exports.d.ts +0 -7
- package/intern/draft-lane-exports.js +0 -104
- package/intern/draft-lane-exports.js.map +0 -1
- package/intern/draft-lane-imports.d.ts +0 -6
- package/intern/draft-lane-imports.js +0 -180
- package/intern/draft-lane-imports.js.map +0 -1
- package/intern/draft-lane-look.d.ts +0 -20
- package/intern/draft-lane-look.js +0 -78
- package/intern/draft-lane-look.js.map +0 -1
- package/intern/draft-lane-opens.d.ts +0 -6
- package/intern/draft-lane-opens.js +0 -217
- package/intern/draft-lane-opens.js.map +0 -1
- package/intern/draft-lane-parse.d.ts +0 -17
- package/intern/draft-lane-parse.js +0 -134
- package/intern/draft-lane-parse.js.map +0 -1
- package/intern/draft-lane-persist.d.ts +0 -37
- package/intern/draft-lane-persist.js +0 -136
- package/intern/draft-lane-persist.js.map +0 -1
- package/intern/draft-lane-prompt.d.ts +0 -16
- package/intern/draft-lane-prompt.js +0 -59
- package/intern/draft-lane-prompt.js.map +0 -1
- package/intern/draft-lane-settled.d.ts +0 -20
- package/intern/draft-lane-settled.js +0 -73
- package/intern/draft-lane-settled.js.map +0 -1
- package/intern/draft-lane-store.d.ts +0 -39
- package/intern/draft-lane-store.js +0 -5
- package/intern/draft-lane-store.js.map +0 -1
- package/intern/draft-lane-transport.d.ts +0 -11
- package/intern/draft-lane-transport.js +0 -61
- package/intern/draft-lane-transport.js.map +0 -1
- package/intern/draft-lane-worker.d.ts +0 -82
- package/intern/draft-lane-worker.js +0 -418
- package/intern/draft-lane-worker.js.map +0 -1
- package/intern/draft-lane.d.ts +0 -85
- package/intern/draft-lane.js +0 -245
- package/intern/draft-lane.js.map +0 -1
- package/intern/draft-note.d.ts +0 -1
- package/intern/draft-note.js +0 -13
- package/intern/draft-note.js.map +0 -1
- package/intern/draft-ready-frame.d.ts +0 -51
- package/intern/draft-ready-frame.js +0 -104
- package/intern/draft-ready-frame.js.map +0 -1
- package/intern/draft-variation-ast.d.ts +0 -26
- package/intern/draft-variation-ast.js +0 -389
- package/intern/draft-variation-ast.js.map +0 -1
- package/intern/draft-variation.d.ts +0 -46
- package/intern/draft-variation.js +0 -249
- package/intern/draft-variation.js.map +0 -1
- package/intern/guest-draft-start.d.ts +0 -25
- package/intern/guest-draft-start.js +0 -66
- package/intern/guest-draft-start.js.map +0 -1
|
@@ -1,389 +0,0 @@
|
|
|
1
|
-
import { exception2Result, Result } from "@adviser/cement";
|
|
2
|
-
import { Parser } from "acorn";
|
|
3
|
-
import acornJsx from "acorn-jsx";
|
|
4
|
-
export const HOLE_OPEN = "/*__HOLE ";
|
|
5
|
-
export const HOLE_CLOSE = " __*/";
|
|
6
|
-
export function holeMarker(name) {
|
|
7
|
-
return `${HOLE_OPEN}${name}${HOLE_CLOSE}`;
|
|
8
|
-
}
|
|
9
|
-
const JsxParser = Parser.extend(acornJsx());
|
|
10
|
-
const MIN_BODY = 60;
|
|
11
|
-
const MAX_BODY = 2500;
|
|
12
|
-
function isNode(value) {
|
|
13
|
-
return typeof value === "object" && value !== null && typeof value.type === "string";
|
|
14
|
-
}
|
|
15
|
-
function nodesOf(value) {
|
|
16
|
-
return Array.isArray(value) ? value.filter(isNode) : [];
|
|
17
|
-
}
|
|
18
|
-
function nameOf(node) {
|
|
19
|
-
return isNode(node) && typeof node.name === "string" ? node.name : undefined;
|
|
20
|
-
}
|
|
21
|
-
function parse(source) {
|
|
22
|
-
const parsed = exception2Result(() => JsxParser.parse(source, { ecmaVersion: "latest", sourceType: "module" }));
|
|
23
|
-
if (parsed.isErr())
|
|
24
|
-
return Result.Err(parsed.Err());
|
|
25
|
-
const program = parsed.Ok();
|
|
26
|
-
if (isNode(program) === false)
|
|
27
|
-
return Result.Err("unreadable module");
|
|
28
|
-
return Result.Ok(program);
|
|
29
|
-
}
|
|
30
|
-
function childrenOf(node) {
|
|
31
|
-
const out = [];
|
|
32
|
-
for (const [key, value] of Object.entries(node)) {
|
|
33
|
-
if (key === "type" || key === "start" || key === "end" || key === "loc" || key === "range")
|
|
34
|
-
continue;
|
|
35
|
-
if (Array.isArray(value))
|
|
36
|
-
for (const child of nodesOf(value))
|
|
37
|
-
out.push({ key, child });
|
|
38
|
-
else if (isNode(value))
|
|
39
|
-
out.push({ key, child: value });
|
|
40
|
-
}
|
|
41
|
-
return out;
|
|
42
|
-
}
|
|
43
|
-
function leafCandidate(args) {
|
|
44
|
-
const { source, name, fn } = args;
|
|
45
|
-
const body = fn.body;
|
|
46
|
-
if (name === undefined || isNode(body) === false || body.type !== "BlockStatement")
|
|
47
|
-
return undefined;
|
|
48
|
-
const len = body.end - body.start;
|
|
49
|
-
if (len < MIN_BODY || len > MAX_BODY)
|
|
50
|
-
return undefined;
|
|
51
|
-
if (/^[A-Z]/.test(name) || name === "App")
|
|
52
|
-
return undefined;
|
|
53
|
-
const params = nodesOf(fn.params)
|
|
54
|
-
.map((p) => source.slice(p.start, p.end))
|
|
55
|
-
.join(", ");
|
|
56
|
-
return { name, params, start: body.start + 1, end: body.end - 1, open: body.start, len };
|
|
57
|
-
}
|
|
58
|
-
function leafCandidates(source, program) {
|
|
59
|
-
const out = [];
|
|
60
|
-
function visit(node) {
|
|
61
|
-
if (node.type === "FunctionDeclaration") {
|
|
62
|
-
const c = leafCandidate({ source, name: nameOf(node.id), fn: node });
|
|
63
|
-
if (c !== undefined)
|
|
64
|
-
out.push(c);
|
|
65
|
-
}
|
|
66
|
-
const init = node.init;
|
|
67
|
-
if (node.type === "VariableDeclarator" &&
|
|
68
|
-
isNode(init) &&
|
|
69
|
-
(init.type === "ArrowFunctionExpression" || init.type === "FunctionExpression") &&
|
|
70
|
-
isNode(node.id) &&
|
|
71
|
-
node.id.type === "Identifier") {
|
|
72
|
-
const c = leafCandidate({ source, name: nameOf(node.id), fn: init });
|
|
73
|
-
if (c !== undefined)
|
|
74
|
-
out.push(c);
|
|
75
|
-
}
|
|
76
|
-
for (const { child } of childrenOf(node))
|
|
77
|
-
visit(child);
|
|
78
|
-
}
|
|
79
|
-
visit(program);
|
|
80
|
-
return out;
|
|
81
|
-
}
|
|
82
|
-
function lineIndentAt(source, pos) {
|
|
83
|
-
const lineStart = source.lastIndexOf("\n", pos - 1) + 1;
|
|
84
|
-
const match = /^[ \t]*/.exec(source.slice(lineStart, pos));
|
|
85
|
-
return match === null ? "" : match[0];
|
|
86
|
-
}
|
|
87
|
-
export function hollowLeafFunctions(o) {
|
|
88
|
-
const { source, max } = o;
|
|
89
|
-
const rProgram = parse(source);
|
|
90
|
-
if (rProgram.isErr())
|
|
91
|
-
return Result.Err(rProgram.Err());
|
|
92
|
-
const candidates = leafCandidates(source, rProgram.Ok()).sort((a, b) => b.len - a.len || a.start - b.start);
|
|
93
|
-
const picked = [];
|
|
94
|
-
for (const c of candidates) {
|
|
95
|
-
if (picked.length >= max)
|
|
96
|
-
break;
|
|
97
|
-
const clashes = picked.some((p) => p.name === c.name || (c.open < p.end + 1 && p.open < c.end + 1));
|
|
98
|
-
if (clashes === false)
|
|
99
|
-
picked.push(c);
|
|
100
|
-
}
|
|
101
|
-
if (picked.length === 0)
|
|
102
|
-
return Result.Err("no hollowable function: no non-capitalized function with a 60..2500 char body");
|
|
103
|
-
picked.sort((a, b) => a.start - b.start);
|
|
104
|
-
let template = "";
|
|
105
|
-
let cursor = 0;
|
|
106
|
-
const holes = [];
|
|
107
|
-
for (const c of picked) {
|
|
108
|
-
const lineIndent = lineIndentAt(source, c.open);
|
|
109
|
-
const indent = `${lineIndent} `;
|
|
110
|
-
template += `${source.slice(cursor, c.start)}\n${indent}${holeMarker(c.name)}\n${lineIndent}`;
|
|
111
|
-
cursor = c.end;
|
|
112
|
-
holes.push({ name: c.name, params: c.params, body: source.slice(c.start, c.end), indent });
|
|
113
|
-
}
|
|
114
|
-
template += source.slice(cursor);
|
|
115
|
-
return Result.Ok({ template, holes });
|
|
116
|
-
}
|
|
117
|
-
export function fillHole(o) {
|
|
118
|
-
const { template, name, body } = o;
|
|
119
|
-
const marker = holeMarker(name);
|
|
120
|
-
const at = template.indexOf(marker);
|
|
121
|
-
if (at < 0)
|
|
122
|
-
return Result.Err(`no hole marker for ${name}`);
|
|
123
|
-
const before = template.slice(0, at);
|
|
124
|
-
const after = template.slice(at + marker.length);
|
|
125
|
-
const lead = /\s*$/.exec(before);
|
|
126
|
-
const trail = /^\s*/.exec(after);
|
|
127
|
-
const from = lead === null ? at : at - lead[0].length;
|
|
128
|
-
const to = trail === null ? at + marker.length : at + marker.length + trail[0].length;
|
|
129
|
-
if (template[from - 1] !== "{" || template[to] !== "}")
|
|
130
|
-
return Result.Err(`hole marker for ${name} is not a function's whole body`);
|
|
131
|
-
const interior = body.startsWith("\n") ? body : `\n${body.replace(/\s+$/, "")}\n${lineIndentAt(template, to)}`;
|
|
132
|
-
return Result.Ok(`${template.slice(0, from)}${interior}${template.slice(to)}`);
|
|
133
|
-
}
|
|
134
|
-
const GLOBALS = new Set([
|
|
135
|
-
"React",
|
|
136
|
-
"Date",
|
|
137
|
-
"Math",
|
|
138
|
-
"JSON",
|
|
139
|
-
"Object",
|
|
140
|
-
"Array",
|
|
141
|
-
"String",
|
|
142
|
-
"Number",
|
|
143
|
-
"Boolean",
|
|
144
|
-
"Promise",
|
|
145
|
-
"Set",
|
|
146
|
-
"Map",
|
|
147
|
-
"console",
|
|
148
|
-
"window",
|
|
149
|
-
"document",
|
|
150
|
-
"localStorage",
|
|
151
|
-
"navigator",
|
|
152
|
-
"setTimeout",
|
|
153
|
-
"clearTimeout",
|
|
154
|
-
"setInterval",
|
|
155
|
-
"clearInterval",
|
|
156
|
-
"requestAnimationFrame",
|
|
157
|
-
"cancelAnimationFrame",
|
|
158
|
-
"fetch",
|
|
159
|
-
"URL",
|
|
160
|
-
"Intl",
|
|
161
|
-
"parseInt",
|
|
162
|
-
"parseFloat",
|
|
163
|
-
"isNaN",
|
|
164
|
-
"Error",
|
|
165
|
-
"undefined",
|
|
166
|
-
"NaN",
|
|
167
|
-
"Infinity",
|
|
168
|
-
"crypto",
|
|
169
|
-
"Symbol",
|
|
170
|
-
"Reflect",
|
|
171
|
-
"alert",
|
|
172
|
-
"confirm",
|
|
173
|
-
"prompt",
|
|
174
|
-
"encodeURIComponent",
|
|
175
|
-
"decodeURIComponent",
|
|
176
|
-
"structuredClone",
|
|
177
|
-
"Blob",
|
|
178
|
-
"File",
|
|
179
|
-
"FileReader",
|
|
180
|
-
"Image",
|
|
181
|
-
"Audio",
|
|
182
|
-
"AbortController",
|
|
183
|
-
"Event",
|
|
184
|
-
"CustomEvent",
|
|
185
|
-
"globalThis",
|
|
186
|
-
"arguments",
|
|
187
|
-
"RegExp",
|
|
188
|
-
"Function",
|
|
189
|
-
]);
|
|
190
|
-
function bindPattern(pattern, scope) {
|
|
191
|
-
if (isNode(pattern) === false)
|
|
192
|
-
return;
|
|
193
|
-
switch (pattern.type) {
|
|
194
|
-
case "Identifier": {
|
|
195
|
-
const name = nameOf(pattern);
|
|
196
|
-
if (name !== undefined)
|
|
197
|
-
scope.add(name);
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
200
|
-
case "ObjectPattern":
|
|
201
|
-
for (const p of nodesOf(pattern.properties))
|
|
202
|
-
bindPattern(p.type === "RestElement" ? p.argument : p.value, scope);
|
|
203
|
-
return;
|
|
204
|
-
case "ArrayPattern":
|
|
205
|
-
for (const e of nodesOf(pattern.elements))
|
|
206
|
-
bindPattern(e, scope);
|
|
207
|
-
return;
|
|
208
|
-
case "AssignmentPattern":
|
|
209
|
-
bindPattern(pattern.left, scope);
|
|
210
|
-
return;
|
|
211
|
-
case "RestElement":
|
|
212
|
-
bindPattern(pattern.argument, scope);
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
function hoist(statements, scope) {
|
|
217
|
-
for (const st of statements) {
|
|
218
|
-
switch (st.type) {
|
|
219
|
-
case "FunctionDeclaration":
|
|
220
|
-
case "ClassDeclaration": {
|
|
221
|
-
const name = nameOf(st.id);
|
|
222
|
-
if (name !== undefined)
|
|
223
|
-
scope.add(name);
|
|
224
|
-
break;
|
|
225
|
-
}
|
|
226
|
-
case "VariableDeclaration":
|
|
227
|
-
for (const d of nodesOf(st.declarations))
|
|
228
|
-
bindPattern(d.id, scope);
|
|
229
|
-
break;
|
|
230
|
-
case "ImportDeclaration":
|
|
231
|
-
for (const sp of nodesOf(st.specifiers)) {
|
|
232
|
-
const name = nameOf(sp.local);
|
|
233
|
-
if (name !== undefined)
|
|
234
|
-
scope.add(name);
|
|
235
|
-
}
|
|
236
|
-
break;
|
|
237
|
-
case "ExportNamedDeclaration":
|
|
238
|
-
if (isNode(st.declaration))
|
|
239
|
-
hoist([st.declaration], scope);
|
|
240
|
-
break;
|
|
241
|
-
case "ExportDefaultDeclaration": {
|
|
242
|
-
const name = isNode(st.declaration) ? nameOf(st.declaration.id) : undefined;
|
|
243
|
-
if (name !== undefined)
|
|
244
|
-
scope.add(name);
|
|
245
|
-
break;
|
|
246
|
-
}
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
function scopeOf(node) {
|
|
251
|
-
switch (node.type) {
|
|
252
|
-
case "Program":
|
|
253
|
-
case "BlockStatement":
|
|
254
|
-
case "StaticBlock": {
|
|
255
|
-
const scope = new Set();
|
|
256
|
-
hoist(nodesOf(node.body), scope);
|
|
257
|
-
return scope;
|
|
258
|
-
}
|
|
259
|
-
case "SwitchStatement": {
|
|
260
|
-
const scope = new Set();
|
|
261
|
-
for (const c of nodesOf(node.cases))
|
|
262
|
-
hoist(nodesOf(c.consequent), scope);
|
|
263
|
-
return scope;
|
|
264
|
-
}
|
|
265
|
-
case "FunctionDeclaration":
|
|
266
|
-
case "FunctionExpression":
|
|
267
|
-
case "ArrowFunctionExpression": {
|
|
268
|
-
const scope = new Set();
|
|
269
|
-
for (const p of nodesOf(node.params))
|
|
270
|
-
bindPattern(p, scope);
|
|
271
|
-
const name = nameOf(node.id);
|
|
272
|
-
if (name !== undefined)
|
|
273
|
-
scope.add(name);
|
|
274
|
-
if (isNode(node.body) && node.body.type === "BlockStatement")
|
|
275
|
-
hoist(nodesOf(node.body.body), scope);
|
|
276
|
-
return scope;
|
|
277
|
-
}
|
|
278
|
-
case "ClassExpression": {
|
|
279
|
-
const scope = new Set();
|
|
280
|
-
const name = nameOf(node.id);
|
|
281
|
-
if (name !== undefined)
|
|
282
|
-
scope.add(name);
|
|
283
|
-
return scope;
|
|
284
|
-
}
|
|
285
|
-
case "ForStatement":
|
|
286
|
-
case "ForOfStatement":
|
|
287
|
-
case "ForInStatement": {
|
|
288
|
-
const scope = new Set();
|
|
289
|
-
const init = node.type === "ForStatement" ? node.init : node.left;
|
|
290
|
-
if (isNode(init) && init.type === "VariableDeclaration")
|
|
291
|
-
for (const d of nodesOf(init.declarations))
|
|
292
|
-
bindPattern(d.id, scope);
|
|
293
|
-
return scope;
|
|
294
|
-
}
|
|
295
|
-
case "CatchClause": {
|
|
296
|
-
const scope = new Set();
|
|
297
|
-
bindPattern(node.param, scope);
|
|
298
|
-
return scope;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
return undefined;
|
|
302
|
-
}
|
|
303
|
-
function isNotARead(parent, key) {
|
|
304
|
-
const computed = parent.computed === true;
|
|
305
|
-
switch (parent.type) {
|
|
306
|
-
case "VariableDeclarator":
|
|
307
|
-
return key === "id";
|
|
308
|
-
case "FunctionDeclaration":
|
|
309
|
-
case "FunctionExpression":
|
|
310
|
-
case "ArrowFunctionExpression":
|
|
311
|
-
return key === "params" || key === "id";
|
|
312
|
-
case "ClassDeclaration":
|
|
313
|
-
case "ClassExpression":
|
|
314
|
-
return key === "id";
|
|
315
|
-
case "MemberExpression":
|
|
316
|
-
return key === "property" && computed === false;
|
|
317
|
-
case "Property":
|
|
318
|
-
return key === "key" && computed === false && parent.shorthand !== true;
|
|
319
|
-
case "PropertyDefinition":
|
|
320
|
-
case "MethodDefinition":
|
|
321
|
-
return key === "key" && computed === false;
|
|
322
|
-
case "AssignmentPattern":
|
|
323
|
-
return key === "left";
|
|
324
|
-
case "CatchClause":
|
|
325
|
-
return key === "param";
|
|
326
|
-
case "ObjectPattern":
|
|
327
|
-
case "ArrayPattern":
|
|
328
|
-
case "RestElement":
|
|
329
|
-
case "ImportSpecifier":
|
|
330
|
-
case "ImportDefaultSpecifier":
|
|
331
|
-
case "ImportNamespaceSpecifier":
|
|
332
|
-
case "ExportSpecifier":
|
|
333
|
-
case "LabeledStatement":
|
|
334
|
-
case "BreakStatement":
|
|
335
|
-
case "ContinueStatement":
|
|
336
|
-
case "MetaProperty":
|
|
337
|
-
return true;
|
|
338
|
-
}
|
|
339
|
-
return false;
|
|
340
|
-
}
|
|
341
|
-
function bound(scopes, name) {
|
|
342
|
-
return scopes.some((s) => s.has(name));
|
|
343
|
-
}
|
|
344
|
-
function containsReturn(node) {
|
|
345
|
-
if (node.type === "ReturnStatement")
|
|
346
|
-
return true;
|
|
347
|
-
return childrenOf(node).some(({ child }) => containsReturn(child));
|
|
348
|
-
}
|
|
349
|
-
export function freeIdentifiers(source) {
|
|
350
|
-
const rProgram = parse(source);
|
|
351
|
-
if (rProgram.isErr())
|
|
352
|
-
return Result.Err(rProgram.Err());
|
|
353
|
-
const program = rProgram.Ok();
|
|
354
|
-
const found = [];
|
|
355
|
-
function visit(args) {
|
|
356
|
-
const { node, at } = args;
|
|
357
|
-
const own = scopeOf(node);
|
|
358
|
-
const scopes = own === undefined ? args.scopes : [...args.scopes, own];
|
|
359
|
-
if (node.type === "Identifier") {
|
|
360
|
-
const name = nameOf(node);
|
|
361
|
-
if (name === undefined)
|
|
362
|
-
return;
|
|
363
|
-
const notARead = at !== undefined && isNotARead(at.parent, at.key);
|
|
364
|
-
if (notARead === false && GLOBALS.has(name) === false && bound(scopes, name) === false)
|
|
365
|
-
found.push(name);
|
|
366
|
-
return;
|
|
367
|
-
}
|
|
368
|
-
if (node.type === "JSXIdentifier" && at !== undefined && at.parent.type === "JSXOpeningElement" && at.key === "name") {
|
|
369
|
-
const name = nameOf(node);
|
|
370
|
-
if (name !== undefined && /^[A-Z]/.test(name) && bound(scopes, name) === false)
|
|
371
|
-
found.push(`<${name}>`);
|
|
372
|
-
}
|
|
373
|
-
for (const { key, child } of childrenOf(node))
|
|
374
|
-
visit({ node: child, scopes, at: { parent: node, key } });
|
|
375
|
-
}
|
|
376
|
-
visit({ node: program, scopes: [] });
|
|
377
|
-
for (const st of nodesOf(program.body)) {
|
|
378
|
-
const decl = st.type === "ExportDefaultDeclaration" || st.type === "ExportNamedDeclaration" ? st.declaration : st;
|
|
379
|
-
if (isNode(decl) === false || decl.type !== "FunctionDeclaration")
|
|
380
|
-
continue;
|
|
381
|
-
const name = nameOf(decl.id);
|
|
382
|
-
if (name === undefined || /^[A-Z]/.test(name) === false)
|
|
383
|
-
continue;
|
|
384
|
-
if (isNode(decl.body) && containsReturn(decl.body) === false)
|
|
385
|
-
found.push(`${name} has no return`);
|
|
386
|
-
}
|
|
387
|
-
return Result.Ok([...new Set(found)]);
|
|
388
|
-
}
|
|
389
|
-
//# sourceMappingURL=draft-variation-ast.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"draft-variation-ast.js","sourceRoot":"","sources":["../../jsr/intern/draft-variation-ast.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { AutofixAndCheck } from "./draft-lane-autofix.js";
|
|
2
|
-
import type { DraftModelCall, DraftModelUsage } from "./draft-lane-classify.js";
|
|
3
|
-
import { type HollowedFunction } from "./draft-variation-ast.js";
|
|
4
|
-
export declare const VARIATION_MAX_HOLES = 4;
|
|
5
|
-
export declare const VARIATION_FILL_ATTEMPTS = 3;
|
|
6
|
-
export declare const VARIATION_MAX_TOKENS = 600;
|
|
7
|
-
export declare const VARIATION_DOC_HEAD = "# vibes.diy quick reference: small Fireproof apps\n\nRules every example follows:\n- Components come from `@vibes.diy/look` (Card, Badge, Button, Input); classes are semantic tokens (`bg-background`, `text-muted-foreground`), never hex colors.\n- Records are documents with a `type`; reads are `useLiveQuery`, writes are `database.put({ type, ..., createdAt: Date.now() })`.\n- Copy is specific and friendly; a helper does one thing and returns a value.\n\n## Example\n\n```jsx\n";
|
|
8
|
-
export interface VariationEvent {
|
|
9
|
-
readonly step: "hollowed" | "shaped" | "filled" | "settled";
|
|
10
|
-
readonly data: Readonly<Record<string, unknown>>;
|
|
11
|
-
}
|
|
12
|
-
export interface VaryDraftOptions {
|
|
13
|
-
readonly vfs: ReadonlyMap<string, string>;
|
|
14
|
-
readonly sentence: string;
|
|
15
|
-
readonly callModel: DraftModelCall;
|
|
16
|
-
readonly autofixAndCheck: AutofixAndCheck;
|
|
17
|
-
readonly deadlineMs: number;
|
|
18
|
-
readonly model?: string;
|
|
19
|
-
readonly log?: (event: VariationEvent) => void;
|
|
20
|
-
readonly random?: () => number;
|
|
21
|
-
}
|
|
22
|
-
export interface VaryDraftResult {
|
|
23
|
-
readonly vfs: ReadonlyMap<string, string>;
|
|
24
|
-
readonly notes: readonly string[];
|
|
25
|
-
readonly varied: boolean;
|
|
26
|
-
readonly holes: readonly string[];
|
|
27
|
-
readonly restored: readonly string[];
|
|
28
|
-
readonly usage: readonly DraftModelUsage[];
|
|
29
|
-
}
|
|
30
|
-
interface Outline {
|
|
31
|
-
readonly title: string;
|
|
32
|
-
readonly tagline: string;
|
|
33
|
-
readonly purposes: ReadonlyMap<string, string>;
|
|
34
|
-
}
|
|
35
|
-
export declare function fallbackPurpose(hole: Pick<HollowedFunction, "name" | "params">): string;
|
|
36
|
-
export declare function stripFence(text: string): string;
|
|
37
|
-
export declare function parseShapeReply(text: string, holes: readonly HollowedFunction[]): Outline;
|
|
38
|
-
export declare function composeFillPrompt(o: {
|
|
39
|
-
readonly template: string;
|
|
40
|
-
readonly hole: HollowedFunction;
|
|
41
|
-
readonly holes: readonly HollowedFunction[];
|
|
42
|
-
readonly purposes: ReadonlyMap<string, string>;
|
|
43
|
-
readonly nonce: string;
|
|
44
|
-
}): string;
|
|
45
|
-
export declare function varyDraft(opts: VaryDraftOptions): Promise<VaryDraftResult>;
|
|
46
|
-
export {};
|