@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.
Files changed (219) hide show
  1. package/analytics.d.ts +3 -15
  2. package/analytics.js +2 -18
  3. package/analytics.js.map +1 -1
  4. package/cf-serve.js +1 -0
  5. package/cf-serve.js.map +1 -1
  6. package/create-handler.d.ts +0 -2
  7. package/create-handler.js +0 -1
  8. package/create-handler.js.map +1 -1
  9. package/evento-handler-manifest.js +4 -0
  10. package/evento-handler-manifest.js.map +1 -1
  11. package/index.d.ts +5 -0
  12. package/index.js +5 -0
  13. package/index.js.map +1 -1
  14. package/intern/agent-assembly.d.ts +0 -2
  15. package/intern/agent-assembly.js +2 -2
  16. package/intern/agent-assembly.js.map +1 -1
  17. package/intern/agent-build-tools.d.ts +1 -7
  18. package/intern/agent-build-tools.js +4 -38
  19. package/intern/agent-build-tools.js.map +1 -1
  20. package/intern/agent-deferred-access.d.ts +0 -13
  21. package/intern/agent-deferred-access.js +0 -31
  22. package/intern/agent-deferred-access.js.map +1 -1
  23. package/intern/agent-dispatcher.js +29 -87
  24. package/intern/agent-dispatcher.js.map +1 -1
  25. package/intern/agent-request-frame.d.ts +0 -10
  26. package/intern/agent-request-frame.js +0 -16
  27. package/intern/agent-request-frame.js.map +1 -1
  28. package/intern/agent-router.d.ts +1 -1
  29. package/intern/agent-router.js +1 -1
  30. package/intern/agent-router.js.map +1 -1
  31. package/intern/agent-session-instruction.d.ts +2 -2
  32. package/intern/agent-session-instruction.js +4 -7
  33. package/intern/agent-session-instruction.js.map +1 -1
  34. package/intern/agent-session-runtime.js +0 -6
  35. package/intern/agent-session-runtime.js.map +1 -1
  36. package/intern/agent-session.d.ts +25 -25
  37. package/intern/agent-session.js +1 -1
  38. package/intern/agent-session.js.map +1 -1
  39. package/intern/attach-draft-handle.d.ts +0 -1
  40. package/intern/attach-draft-handle.js +2 -56
  41. package/intern/attach-draft-handle.js.map +1 -1
  42. package/intern/backend-db-callback.js +1 -0
  43. package/intern/backend-db-callback.js.map +1 -1
  44. package/intern/components/vibe-page.js +1 -0
  45. package/intern/components/vibe-page.js.map +1 -1
  46. package/intern/cross-lane-build-guard.d.ts +10 -0
  47. package/intern/cross-lane-build-guard.js +17 -0
  48. package/intern/cross-lane-build-guard.js.map +1 -0
  49. package/intern/delete-access-gate.js +1 -0
  50. package/intern/delete-access-gate.js.map +1 -1
  51. package/intern/draft-chat-store.d.ts +7 -0
  52. package/intern/draft-continuation.js +1 -6
  53. package/intern/draft-continuation.js.map +1 -1
  54. package/intern/ensure-chat-id.js +2 -2
  55. package/intern/ensure-chat-id.js.map +1 -1
  56. package/intern/ensure-slug-binding.js +2 -0
  57. package/intern/ensure-slug-binding.js.map +1 -1
  58. package/intern/grouped-vibe-import-map.d.ts +3 -0
  59. package/intern/grouped-vibe-import-map.js +3 -0
  60. package/intern/grouped-vibe-import-map.js.map +1 -1
  61. package/intern/guest-build-store.d.ts +0 -9
  62. package/intern/guest-build-store.js +2 -100
  63. package/intern/guest-build-store.js.map +1 -1
  64. package/intern/import-synth.js.map +1 -1
  65. package/intern/mint-decision.d.ts +1 -0
  66. package/intern/mint-decision.js +3 -0
  67. package/intern/mint-decision.js.map +1 -1
  68. package/intern/mint-job-store.d.ts +2 -64
  69. package/intern/mint-job-store.js +7 -180
  70. package/intern/mint-job-store.js.map +1 -1
  71. package/intern/mint-style.js +5 -1
  72. package/intern/mint-style.js.map +1 -1
  73. package/intern/open-turn-store.d.ts +10 -0
  74. package/intern/open-turn-store.js +28 -1
  75. package/intern/open-turn-store.js.map +1 -1
  76. package/intern/pouf-head-css.d.ts +15 -0
  77. package/intern/pouf-head-css.js +40 -0
  78. package/intern/pouf-head-css.js.map +1 -0
  79. package/intern/prompt-assembly.d.ts +0 -19
  80. package/intern/prompt-assembly.js +2 -5
  81. package/intern/prompt-assembly.js.map +1 -1
  82. package/intern/prompt-step.js.map +1 -1
  83. package/intern/put-access-gate.d.ts +1 -0
  84. package/intern/put-access-gate.js +8 -0
  85. package/intern/put-access-gate.js.map +1 -1
  86. package/intern/render-vibe.d.ts +2 -1
  87. package/intern/render-vibe.js +5 -2
  88. package/intern/render-vibe.js.map +1 -1
  89. package/intern/save-repair-io.d.ts +50 -0
  90. package/intern/save-repair-io.js +188 -0
  91. package/intern/save-repair-io.js.map +1 -0
  92. package/intern/save-repair.d.ts +4 -4
  93. package/intern/save-repair.js +4 -7
  94. package/intern/save-repair.js.map +1 -1
  95. package/intern/section-fan-out.d.ts +3 -10
  96. package/intern/section-fan-out.js +0 -23
  97. package/intern/section-fan-out.js.map +1 -1
  98. package/package.json +13 -12
  99. package/public/agent-turn-action.js +3 -0
  100. package/public/agent-turn-action.js.map +1 -1
  101. package/public/agent-turn-assembly.js +0 -17
  102. package/public/agent-turn-assembly.js.map +1 -1
  103. package/public/app-documents-read-eventos.js +17 -0
  104. package/public/app-documents-read-eventos.js.map +1 -1
  105. package/public/app-documents-write-eventos.d.ts +1 -0
  106. package/public/app-documents-write-eventos.js +9 -0
  107. package/public/app-documents-write-eventos.js.map +1 -1
  108. package/public/channel-invite-flow.d.ts +6 -0
  109. package/public/channel-invite-flow.js +102 -0
  110. package/public/channel-invite-flow.js.map +1 -0
  111. package/public/channel-invite-signup-match.d.ts +6 -0
  112. package/public/channel-invite-signup-match.js +31 -0
  113. package/public/channel-invite-signup-match.js.map +1 -0
  114. package/public/channel-invite-store.d.ts +62 -0
  115. package/public/channel-invite-store.js +186 -0
  116. package/public/channel-invite-store.js.map +1 -0
  117. package/public/grant-reduce.d.ts +5 -0
  118. package/public/grant-reduce.js +33 -8
  119. package/public/grant-reduce.js.map +1 -1
  120. package/public/handle-prompt-context.d.ts +3 -6
  121. package/public/handle-prompt-context.js +3 -7
  122. package/public/handle-prompt-context.js.map +1 -1
  123. package/public/handler-llm-request.js +1 -0
  124. package/public/handler-llm-request.js.map +1 -1
  125. package/public/inherit-read-resolver.d.ts +1 -0
  126. package/public/inherit-read-resolver.js +9 -0
  127. package/public/inherit-read-resolver.js.map +1 -1
  128. package/public/invite-subject-aliases.d.ts +15 -0
  129. package/public/invite-subject-aliases.js +77 -0
  130. package/public/invite-subject-aliases.js.map +1 -0
  131. package/public/invite-unsubscribe.js +2 -1
  132. package/public/invite-unsubscribe.js.map +1 -1
  133. package/public/lookup-handles.js +5 -2
  134. package/public/lookup-handles.js.map +1 -1
  135. package/public/open-chat.d.ts +4 -23
  136. package/public/open-chat.js +26 -287
  137. package/public/open-chat.js.map +1 -1
  138. package/public/prompt-chat-section.js +8 -0
  139. package/public/prompt-chat-section.js.map +1 -1
  140. package/public/resolve-invite-subjects.d.ts +4 -0
  141. package/public/resolve-invite-subjects.js +53 -0
  142. package/public/resolve-invite-subjects.js.map +1 -0
  143. package/public/serv-entry-point.js +7 -3
  144. package/public/serv-entry-point.js.map +1 -1
  145. package/public/shared-mint.d.ts +0 -5
  146. package/public/shared-mint.js +0 -21
  147. package/public/shared-mint.js.map +1 -1
  148. package/public/social-flow.js +52 -4
  149. package/public/social-flow.js.map +1 -1
  150. package/public/sync-eventos.js +1 -0
  151. package/public/sync-eventos.js.map +1 -1
  152. package/public/viewer-channel-resolver.js +9 -0
  153. package/public/viewer-channel-resolver.js.map +1 -1
  154. package/public/who-am-i.d.ts +1 -1
  155. package/public/who-am-i.js +10 -2
  156. package/public/who-am-i.js.map +1 -1
  157. package/types.d.ts +1 -2
  158. package/types.js.map +1 -1
  159. package/usage-report/codegen-delivery-alert-util.js.map +1 -1
  160. package/intern/draft-lane-autofix.d.ts +0 -8
  161. package/intern/draft-lane-autofix.js +0 -8
  162. package/intern/draft-lane-autofix.js.map +0 -1
  163. package/intern/draft-lane-classify.d.ts +0 -55
  164. package/intern/draft-lane-classify.js +0 -168
  165. package/intern/draft-lane-classify.js.map +0 -1
  166. package/intern/draft-lane-config.d.ts +0 -28
  167. package/intern/draft-lane-config.js +0 -48
  168. package/intern/draft-lane-config.js.map +0 -1
  169. package/intern/draft-lane-exports.d.ts +0 -7
  170. package/intern/draft-lane-exports.js +0 -104
  171. package/intern/draft-lane-exports.js.map +0 -1
  172. package/intern/draft-lane-imports.d.ts +0 -6
  173. package/intern/draft-lane-imports.js +0 -180
  174. package/intern/draft-lane-imports.js.map +0 -1
  175. package/intern/draft-lane-look.d.ts +0 -20
  176. package/intern/draft-lane-look.js +0 -78
  177. package/intern/draft-lane-look.js.map +0 -1
  178. package/intern/draft-lane-opens.d.ts +0 -6
  179. package/intern/draft-lane-opens.js +0 -217
  180. package/intern/draft-lane-opens.js.map +0 -1
  181. package/intern/draft-lane-parse.d.ts +0 -17
  182. package/intern/draft-lane-parse.js +0 -134
  183. package/intern/draft-lane-parse.js.map +0 -1
  184. package/intern/draft-lane-persist.d.ts +0 -37
  185. package/intern/draft-lane-persist.js +0 -136
  186. package/intern/draft-lane-persist.js.map +0 -1
  187. package/intern/draft-lane-prompt.d.ts +0 -16
  188. package/intern/draft-lane-prompt.js +0 -59
  189. package/intern/draft-lane-prompt.js.map +0 -1
  190. package/intern/draft-lane-settled.d.ts +0 -20
  191. package/intern/draft-lane-settled.js +0 -73
  192. package/intern/draft-lane-settled.js.map +0 -1
  193. package/intern/draft-lane-store.d.ts +0 -39
  194. package/intern/draft-lane-store.js +0 -5
  195. package/intern/draft-lane-store.js.map +0 -1
  196. package/intern/draft-lane-transport.d.ts +0 -11
  197. package/intern/draft-lane-transport.js +0 -61
  198. package/intern/draft-lane-transport.js.map +0 -1
  199. package/intern/draft-lane-worker.d.ts +0 -82
  200. package/intern/draft-lane-worker.js +0 -418
  201. package/intern/draft-lane-worker.js.map +0 -1
  202. package/intern/draft-lane.d.ts +0 -85
  203. package/intern/draft-lane.js +0 -245
  204. package/intern/draft-lane.js.map +0 -1
  205. package/intern/draft-note.d.ts +0 -1
  206. package/intern/draft-note.js +0 -13
  207. package/intern/draft-note.js.map +0 -1
  208. package/intern/draft-ready-frame.d.ts +0 -51
  209. package/intern/draft-ready-frame.js +0 -104
  210. package/intern/draft-ready-frame.js.map +0 -1
  211. package/intern/draft-variation-ast.d.ts +0 -26
  212. package/intern/draft-variation-ast.js +0 -389
  213. package/intern/draft-variation-ast.js.map +0 -1
  214. package/intern/draft-variation.d.ts +0 -46
  215. package/intern/draft-variation.js +0 -249
  216. package/intern/draft-variation.js.map +0 -1
  217. package/intern/guest-draft-start.d.ts +0 -25
  218. package/intern/guest-draft-start.js +0 -66
  219. package/intern/guest-draft-start.js.map +0 -1
@@ -1,249 +0,0 @@
1
- import { Result, exception2Result } from "@adviser/cement";
2
- import { DEFAULT_DRAFT_BUILDER_MODEL } from "./draft-lane-config.js";
3
- import { fillHole, freeIdentifiers, hollowLeafFunctions, holeMarker } from "./draft-variation-ast.js";
4
- export const VARIATION_MAX_HOLES = 4;
5
- export const VARIATION_FILL_ATTEMPTS = 3;
6
- export const VARIATION_MAX_TOKENS = 600;
7
- const SHAPE_TEMPLATE_CHARS = 9000;
8
- const PURPOSE_CHARS = 160;
9
- const VOICES = ["playful", "calm", "bold", "warm"];
10
- export const VARIATION_DOC_HEAD = `# vibes.diy quick reference: small Fireproof apps
11
-
12
- Rules every example follows:
13
- - Components come from \`@vibes.diy/look\` (Card, Badge, Button, Input); classes are semantic tokens (\`bg-background\`, \`text-muted-foreground\`), never hex colors.
14
- - Records are documents with a \`type\`; reads are \`useLiveQuery\`, writes are \`database.put({ type, ..., createdAt: Date.now() })\`.
15
- - Copy is specific and friendly; a helper does one thing and returns a value.
16
-
17
- ## Example
18
-
19
- \`\`\`jsx
20
- `;
21
- const SHAPE_SYSTEM = "You compose a vibes.diy starter. Reply with exactly one JSON object and nothing else, of the shape " +
22
- '{"title": "<at most 40 characters>", "tagline": "<at most 90 characters>", "purposes": {"<function name>": "<one sentence>"}}. ' +
23
- "For each function name, write one specific sentence saying what it does in this app, in the voice given, so that the rest of the file works as written.";
24
- const OTHER_HOLE = "// (see the next example)";
25
- const REPLY_ASK = "Reply with ONLY the statements that replace the /* FILL */ comment.";
26
- function unchanged(opts, note, usage) {
27
- return { vfs: opts.vfs, notes: [note], varied: false, holes: [], restored: [], usage };
28
- }
29
- function nonce(random) {
30
- return ` (variant #${1000 + Math.floor(random() * 9000)})`;
31
- }
32
- function voiceOf(random) {
33
- const index = Math.min(VOICES.length - 1, Math.floor(random() * VOICES.length));
34
- return VOICES[index];
35
- }
36
- export function fallbackPurpose(hole) {
37
- return `implement ${hole.name}(${hole.params}) so the rest of this file works exactly as written`;
38
- }
39
- async function ask(ctx, content) {
40
- const messages = content.system === undefined
41
- ? [{ role: "user", content: content.user }]
42
- : [
43
- { role: "system", content: content.system },
44
- { role: "user", content: content.user },
45
- ];
46
- const reply = await Promise.resolve()
47
- .then(function invoke() {
48
- return ctx.opts.callModel({ model: ctx.model, messages, maxTokens: VARIATION_MAX_TOKENS, signal: ctx.signal });
49
- })
50
- .then(function settle(r) {
51
- return r;
52
- }, function failed(e) {
53
- return Result.Err(e instanceof Error ? e : new Error(String(e)));
54
- });
55
- const spent = reply.isOk() ? reply.Ok().usage : undefined;
56
- if (spent !== undefined)
57
- ctx.usage.push(spent);
58
- return reply;
59
- }
60
- export function stripFence(text) {
61
- return text
62
- .trim()
63
- .replace(/^```[a-z]*\n/, "")
64
- .replace(/\n```$/, "");
65
- }
66
- function isRecord(value) {
67
- return typeof value === "object" && value !== null && Array.isArray(value) === false;
68
- }
69
- function stringField(value, max) {
70
- return typeof value === "string" ? value.trim().slice(0, max) : "";
71
- }
72
- export function parseShapeReply(text, holes) {
73
- const body = stripFence(text);
74
- const start = body.indexOf("{");
75
- const end = body.lastIndexOf("}");
76
- const json = start >= 0 && end > start ? body.slice(start, end + 1) : body;
77
- const parsed = exception2Result(() => JSON.parse(json));
78
- const answer = parsed.isOk() && isRecord(parsed.Ok()) ? parsed.Ok() : {};
79
- const given = isRecord(answer.purposes) ? answer.purposes : {};
80
- const purposes = new Map();
81
- for (const hole of holes) {
82
- const said = stringField(given[hole.name], PURPOSE_CHARS);
83
- purposes.set(hole.name, said.length > 0 ? said : fallbackPurpose(hole).slice(0, PURPOSE_CHARS));
84
- }
85
- return { title: stringField(answer.title, 40), tagline: stringField(answer.tagline, 90), purposes };
86
- }
87
- async function shape(ctx, template, holes) {
88
- const functions = holes.map((h) => `${h.name}(${h.params})`).join(", ");
89
- const user = `App: ${ctx.opts.sentence}\nVoice: ${voiceOf(ctx.random)}\nFunctions: ${functions}\n\n` +
90
- `The file:\n${template.slice(0, SHAPE_TEMPLATE_CHARS)}${nonce(ctx.random)}`;
91
- const reply = await ask(ctx, { system: SHAPE_SYSTEM, user });
92
- return parseShapeReply(reply.isOk() ? reply.Ok().text : "", holes);
93
- }
94
- export function composeFillPrompt(o) {
95
- let example = o.template;
96
- for (const other of o.holes) {
97
- if (other.name === o.hole.name)
98
- continue;
99
- example = example.split(holeMarker(other.name)).join(OTHER_HOLE);
100
- }
101
- const purpose = o.purposes.get(o.hole.name) ?? fallbackPurpose(o.hole);
102
- example = example.split(holeMarker(o.hole.name)).join(`/* FILL: ${purpose}${o.nonce} */`);
103
- const after = o.holes.map((h) => `- \`${h.name}\` ${o.purposes.get(h.name) ?? fallbackPurpose(h)}`).join("\n");
104
- return `${VARIATION_DOC_HEAD}${example}\n\`\`\`\n\nWhat this example does:\n${after}\n\n${REPLY_ASK}`;
105
- }
106
- function restoredExcept(template, holes, except) {
107
- let out = template;
108
- for (const hole of holes) {
109
- if (hole.name === except)
110
- continue;
111
- const filled = fillHole({ template: out, name: hole.name, body: hole.body });
112
- if (filled.isErr())
113
- return Result.Err(filled.Err());
114
- out = filled.Ok();
115
- }
116
- return Result.Ok(out);
117
- }
118
- function passesGate(ctx, base, hole, body) {
119
- const filled = fillHole({ template: base, name: hole.name, body });
120
- if (filled.isErr())
121
- return false;
122
- const vfs = new Map(ctx.opts.vfs);
123
- vfs.set("/App.jsx", filled.Ok());
124
- if (ctx.opts.autofixAndCheck(vfs).opens === false)
125
- return false;
126
- const free = freeIdentifiers(filled.Ok());
127
- return free.isOk() && free.Ok().length === 0;
128
- }
129
- function bodyFromReply(text, indent) {
130
- const body = stripFence(text).replace(/\n+$/, "");
131
- if (body.length === 0)
132
- return "";
133
- return body.startsWith(" ") || body.startsWith("\t") ? body : indent + body;
134
- }
135
- async function fillOne(ctx, o) {
136
- const base = restoredExcept(o.template, o.holes, o.hole.name);
137
- if (base.isErr())
138
- return { hole: o.hole, body: undefined, attempts: 0 };
139
- const prompt = composeFillPrompt({
140
- template: o.template,
141
- hole: o.hole,
142
- holes: o.holes,
143
- purposes: o.outline.purposes,
144
- nonce: nonce(ctx.random),
145
- });
146
- let attempts = 0;
147
- while (attempts < VARIATION_FILL_ATTEMPTS && ctx.signal.aborted === false) {
148
- attempts += 1;
149
- const reply = await ask(ctx, { user: prompt });
150
- if (reply.isErr())
151
- continue;
152
- const body = bodyFromReply(reply.Ok().text, o.hole.indent);
153
- if (body.length > 0 && passesGate(ctx, base.Ok(), o.hole, body))
154
- return { hole: o.hole, body, attempts };
155
- }
156
- return { hole: o.hole, body: undefined, attempts };
157
- }
158
- async function runPass(ctx) {
159
- const { opts } = ctx;
160
- const source = opts.vfs.get("/App.jsx");
161
- if (source === undefined)
162
- return unchanged(opts, "variation: skipped, the draft has no /App.jsx", ctx.usage);
163
- const hollowed = hollowLeafFunctions({ source, max: VARIATION_MAX_HOLES });
164
- if (hollowed.isErr())
165
- return unchanged(opts, `variation: skipped, ${hollowed.Err().message}`, ctx.usage);
166
- const { template, holes } = hollowed.Ok();
167
- if (holes.length === 0)
168
- return unchanged(opts, "variation: skipped, no leaf functions to vary", ctx.usage);
169
- opts.log?.({ step: "hollowed", data: { holes: holes.map((h) => h.name) } });
170
- const outline = await shape(ctx, template, holes);
171
- opts.log?.({ step: "shaped", data: { title: outline.title, tagline: outline.tagline } });
172
- const fills = await Promise.all(holes.map((hole) => fillOne(ctx, { template, hole, outline, holes })));
173
- opts.log?.({
174
- step: "filled",
175
- data: { attempts: fills.map((f) => ({ name: f.hole.name, attempts: f.attempts, ok: f.body !== undefined })) },
176
- });
177
- let assembled = template;
178
- const varied = [];
179
- const restored = [];
180
- for (const fill of fills) {
181
- const body = fill.body ?? fill.hole.body;
182
- if (fill.body === undefined)
183
- restored.push(fill.hole.name);
184
- else
185
- varied.push(fill.hole.name);
186
- const next = fillHole({ template: assembled, name: fill.hole.name, body });
187
- if (next.isErr())
188
- return unchanged(opts, `variation: kept the original, reassembly failed at ${fill.hole.name}`, ctx.usage);
189
- assembled = next.Ok();
190
- }
191
- if (varied.length === 0)
192
- return {
193
- vfs: opts.vfs,
194
- notes: ["variation: kept the original, no fill passed its gate"],
195
- varied: false,
196
- holes: [],
197
- restored,
198
- usage: ctx.usage,
199
- };
200
- const full = new Map(opts.vfs);
201
- full.set("/App.jsx", assembled);
202
- const checked = opts.autofixAndCheck(full);
203
- if (checked.opens === false)
204
- return {
205
- vfs: opts.vfs,
206
- notes: [`variation: kept the original, the varied draft does not open (${checked.findings.slice(0, 3).join("; ")})`],
207
- varied: false,
208
- holes: [],
209
- restored,
210
- usage: ctx.usage,
211
- };
212
- const notes = [
213
- `variation: varied ${varied.join(", ")}`,
214
- ...(restored.length > 0 ? [`variation: restored ${restored.join(", ")}`] : []),
215
- ];
216
- return { vfs: checked.vfs, notes, varied: true, holes: varied, restored, usage: ctx.usage };
217
- }
218
- export async function varyDraft(opts) {
219
- const abort = new AbortController();
220
- const usage = [];
221
- const ctx = {
222
- opts,
223
- model: opts.model ?? DEFAULT_DRAFT_BUILDER_MODEL,
224
- random: opts.random ?? Math.random,
225
- signal: abort.signal,
226
- usage,
227
- };
228
- const timer = setTimeout(function expire() {
229
- abort.abort();
230
- }, opts.deadlineMs);
231
- const result = await Promise.resolve()
232
- .then(function start() {
233
- return runPass(ctx);
234
- })
235
- .then(function settle(r) {
236
- return abort.signal.aborted
237
- ? unchanged(opts, `variation: kept the original, past the ${opts.deadlineMs} ms deadline`, usage)
238
- : r;
239
- }, function failed(e) {
240
- const message = e instanceof Error ? e.message : String(e);
241
- return unchanged(opts, `variation: kept the original, the pass failed (${message})`, usage);
242
- })
243
- .finally(function disarm() {
244
- clearTimeout(timer);
245
- });
246
- opts.log?.({ step: "settled", data: { varied: result.varied, holes: result.holes, restored: result.restored } });
247
- return result;
248
- }
249
- //# sourceMappingURL=draft-variation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-variation.js","sourceRoot":"","sources":["../../jsr/intern/draft-variation.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAG3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAyB,MAAM,0BAA0B,CAAC;AAG7H,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAClC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAG5D,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;CAUjC,CAAC;AAEF,MAAM,YAAY,GAChB,qGAAqG;IACrG,iIAAiI;IACjI,yJAAyJ,CAAC;AAE5J,MAAM,UAAU,GAAG,2BAA2B,CAAC;AAC/C,MAAM,SAAS,GAAG,qEAAqE,CAAC;AA0DxF,SAAS,SAAS,CAAC,IAAsB,EAAE,IAAY,EAAE,KAAiC;IACxF,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACzF,CAAC;AAED,SAAS,KAAK,CAAC,MAAoB;IACjC,OAAO,cAAc,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;AAC7D,CAAC;AAED,SAAS,OAAO,CAAC,MAAoB;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAA+C;IAC7E,OAAO,aAAa,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,qDAAqD,CAAC;AACpG,CAAC;AAGD,KAAK,UAAU,GAAG,CAAC,GAAY,EAAE,OAA4D;IAC3F,MAAM,QAAQ,GACZ,OAAO,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC,CAAC;YACE,EAAE,IAAI,EAAE,QAAiB,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE;YACpD,EAAE,IAAI,EAAE,MAAe,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;SACjD,CAAC;IACR,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;SAClC,IAAI,CAAC,SAAS,MAAM;QACnB,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC;SACD,IAAI,CACH,SAAS,MAAM,CAAC,CAAC;QACf,OAAO,CAAC,CAAC;IACX,CAAC,EACD,SAAS,MAAM,CAAC,CAAU;QACxB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CACF,CAAC;IACJ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1D,IAAI,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;SAC3B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AACvF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,GAAW;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,KAAkC;IAC9E,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC,CAAC;IACnE,MAAM,MAAM,GAA4B,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,EAAE,EAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/H,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;AACtG,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,QAAgB,EAAE,KAAkC;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,MAAM,IAAI,GACR,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,YAAY,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,SAAS,MAAM;QACvF,cAAc,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,CAMjC;IACC,IAAI,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QACzC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/G,OAAO,GAAG,kBAAkB,GAAG,OAAO,wCAAwC,KAAK,OAAO,SAAS,EAAE,CAAC;AACxG,CAAC;AAGD,SAAS,cAAc,CAAC,QAAgB,EAAE,KAAkC,EAAE,MAAc;IAC1F,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,MAAM,CAAC,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACpD,GAAG,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAGD,SAAS,UAAU,CAAC,GAAY,EAAE,IAAY,EAAE,IAAsB,EAAE,IAAY;IAClF,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,MAAc;IACjD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,GAAY,EACZ,CAKC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACxE,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;QAC5B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;KACzB,CAAC,CAAC;IACH,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,QAAQ,GAAG,uBAAuB,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC1E,QAAQ,IAAI,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,KAAK,EAAE;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,GAAY;IACjC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC7G,MAAM,QAAQ,GAAG,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,uBAAuB,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACzG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,EAAE,+CAA+C,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAC3G,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEzF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC,EAAE;KAC9G,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,QAAQ,CAAC;IACzB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE,OAAO,SAAS,CAAC,IAAI,EAAE,sDAAsD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5H,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QACrB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,uDAAuD,CAAC;YAChE,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;IAEJ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK;QACzB,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,CAAC,iEAAiE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACpH,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,QAAQ;YACR,KAAK,EAAE,GAAG,CAAC,KAAK;SACjB,CAAC;IACJ,MAAM,KAAK,GAAG;QACZ,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/E,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;AAC9F,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,MAAM,GAAG,GAAY;QACnB,IAAI;QACJ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,2BAA2B;QAChD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QAClC,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK;KACN,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,MAAM;QACtC,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;SACnC,IAAI,CAAC,SAAS,KAAK;QAClB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC;SACD,IAAI,CACH,SAAS,MAAM,CAAC,CAAC;QACf,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO;YACzB,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,0CAA0C,IAAI,CAAC,UAAU,cAAc,EAAE,KAAK,CAAC;YACjG,CAAC,CAAC,CAAC,CAAC;IACR,CAAC,EACD,SAAS,MAAM,CAAC,CAAU;QACxB,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3D,OAAO,SAAS,CAAC,IAAI,EAAE,kDAAkD,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;IAC9F,CAAC,CACF;SACA,OAAO,CAAC,SAAS,MAAM;QACtB,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IACL,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,25 +0,0 @@
1
- import { AppContext, Result } from "@adviser/cement";
2
- import { type GuestCredential } from "@vibes.diy/api-types";
3
- import { type DispatchDraftLane } from "./draft-lane-worker.js";
4
- import type { DraftJobStore } from "./draft-lane-store.js";
5
- export declare const GUEST_DRAFT_START_PATH = "/api/guest-draft-start";
6
- export declare const guestDraftStartBody: import("arktype/internal/variants/object.ts").ObjectType<{
7
- guest: {
8
- type: "guest-build";
9
- token: string;
10
- };
11
- chatId: string;
12
- submittedAt?: number | undefined;
13
- analyticsCountry?: string | undefined;
14
- }, {}>;
15
- export type GuestDraftStartBody = typeof guestDraftStartBody.infer;
16
- export type GuestDraftStartAck = "claimed" | "skipped" | "unwired";
17
- export declare function startGuestDraft(args: {
18
- readonly appCtx: AppContext;
19
- readonly guest: GuestCredential;
20
- readonly chatId: string;
21
- readonly submittedAt?: number;
22
- readonly analyticsCountry?: string;
23
- readonly dispatch: DispatchDraftLane | undefined;
24
- readonly store: DraftJobStore;
25
- }): Promise<Result<GuestDraftStartAck>>;
@@ -1,66 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { type } from "arktype";
3
- import { guestCredential } from "@vibes.diy/api-types";
4
- import { verifyGuestBuildRequest } from "../check-build-auth.js";
5
- import { requireLiveGuestBuild } from "../public/guest-build.js";
6
- import { looksLikeBuildIntent } from "./draft-lane-classify.js";
7
- import { startDraftLane } from "./draft-lane-worker.js";
8
- import { insertGuestDraftJobOrder, interruptGuestBuild } from "./guest-build-store.js";
9
- import { getMintJob } from "./mint-job-store.js";
10
- export const GUEST_DRAFT_START_PATH = "/api/guest-draft-start";
11
- export const guestDraftStartBody = type({
12
- guest: guestCredential,
13
- chatId: "string > 0",
14
- "submittedAt?": "number",
15
- "analyticsCountry?": "0 < string <= 8",
16
- });
17
- export async function startGuestDraft(args) {
18
- const vctx = args.appCtx.getOrThrow("vibesApiCtx");
19
- if (vctx.guestBuildSigner === undefined)
20
- return Result.Err("guest-build-unavailable");
21
- const verified = await verifyGuestBuildRequest({
22
- signer: vctx.guestBuildSigner,
23
- request: { type: "vibes.diy.req-prompt-chat-section", mode: "codegen", guest: args.guest, chatId: args.chatId },
24
- shard: args.appCtx.get("shardIdentity"),
25
- });
26
- if (verified.isErr())
27
- return Result.Err(verified.Err());
28
- const allowed = await requireLiveGuestBuild(vctx, verified.Ok());
29
- if (allowed.isErr())
30
- return Result.Err(allowed.Err());
31
- const row = allowed.Ok();
32
- if (row.status !== "issued")
33
- return Result.Ok("skipped");
34
- if (args.dispatch === undefined)
35
- return Result.Ok("unwired");
36
- const laneCtx = args.analyticsCountry === undefined ? vctx : { ...vctx, analyticsCountry: args.analyticsCountry };
37
- const prompt = row.originalPrompt;
38
- if (looksLikeBuildIntent(prompt) === false) {
39
- vctx.logger.Info().Str("chatId", row.chatId).Str("reason", "no-build-intent").Msg("draft-lane-skipped");
40
- return Result.Ok("unwired");
41
- }
42
- const jobOrder = insertGuestDraftJobOrder(vctx.sql, { chatId: row.chatId, prompt });
43
- const started = await startDraftLane(laneCtx, {
44
- chatId: row.chatId,
45
- prompt,
46
- principal: { kind: "guest", guest: args.guest },
47
- jobOrder,
48
- store: args.store,
49
- dispatch: args.dispatch,
50
- ...(args.submittedAt === undefined ? {} : { submittedAt: args.submittedAt }),
51
- });
52
- if (started)
53
- return Result.Ok("claimed");
54
- await interruptUnbuilt(vctx, row.chatId);
55
- return Result.Ok("skipped");
56
- }
57
- async function interruptUnbuilt(vctx, chatId) {
58
- const job = await getMintJob(vctx, chatId);
59
- const status = job.isOk() ? job.Ok()?.status : undefined;
60
- if (status === "drafting" || status === "drafted")
61
- return;
62
- const moved = await interruptGuestBuild(vctx, { chatId });
63
- if (moved.isErr())
64
- vctx.logger.Warn().Err(moved.Err()).Str("chatId", chatId).Msg("guest-draft-interrupt-failed");
65
- }
66
- //# sourceMappingURL=guest-draft-start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-draft-start.js","sourceRoot":"","sources":["../../jsr/intern/guest-draft-start.ts"],"names":[],"mappings":"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"}