@vibes.diy/api-svc 14.3.140 → 14.3.142

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 (48) hide show
  1. package/intern/agent-build-tools.d.ts +1 -0
  2. package/intern/agent-build-tools.js +1 -0
  3. package/intern/agent-build-tools.js.map +1 -1
  4. package/intern/agent-dispatcher.d.ts +3 -0
  5. package/intern/agent-dispatcher.js +20 -7
  6. package/intern/agent-dispatcher.js.map +1 -1
  7. package/intern/builder-model.d.ts +1 -0
  8. package/intern/builder-model.js.map +1 -1
  9. package/intern/first-look.d.ts +113 -0
  10. package/intern/first-look.js +433 -0
  11. package/intern/first-look.js.map +1 -0
  12. package/intern/instruction-variant.d.ts +6 -0
  13. package/intern/instruction-variant.js +10 -0
  14. package/intern/instruction-variant.js.map +1 -1
  15. package/intern/mercury-first-build-seam.d.ts +34 -0
  16. package/intern/mercury-first-build-seam.js +77 -4
  17. package/intern/mercury-first-build-seam.js.map +1 -1
  18. package/intern/mercury-first-build.d.ts +7 -1
  19. package/intern/mercury-first-build.js +28 -1
  20. package/intern/mercury-first-build.js.map +1 -1
  21. package/intern/mint-fire-core.d.ts +1 -0
  22. package/intern/mint-fire-core.js +1 -0
  23. package/intern/mint-fire-core.js.map +1 -1
  24. package/intern/pending-first-look.d.ts +11 -0
  25. package/intern/pending-first-look.js +20 -0
  26. package/intern/pending-first-look.js.map +1 -0
  27. package/intern/render-vibe.d.ts +3 -1
  28. package/intern/render-vibe.js +9 -3
  29. package/intern/render-vibe.js.map +1 -1
  30. package/package.json +13 -13
  31. package/public/agent-turn-action.js +114 -7
  32. package/public/agent-turn-action.js.map +1 -1
  33. package/public/codegen-turn-route.js +6 -0
  34. package/public/codegen-turn-route.js.map +1 -1
  35. package/public/handle-prompt-context.d.ts +3 -1
  36. package/public/handle-prompt-context.js +2 -1
  37. package/public/handle-prompt-context.js.map +1 -1
  38. package/public/handler-llm-request.d.ts +3 -1
  39. package/public/handler-llm-request.js +6 -2
  40. package/public/handler-llm-request.js.map +1 -1
  41. package/public/prompt-section-actions.js +11 -0
  42. package/public/prompt-section-actions.js.map +1 -1
  43. package/public/prompt-turn-types.d.ts +1 -0
  44. package/public/serv-entry-point.js +5 -0
  45. package/public/serv-entry-point.js.map +1 -1
  46. package/public/stream-assembly.d.ts +5 -2
  47. package/public/stream-assembly.js +23 -2
  48. package/public/stream-assembly.js.map +1 -1
@@ -0,0 +1,433 @@
1
+ import { Result, exception2Result } from "@adviser/cement";
2
+ import { LAYOUT_ARCHETYPES, POUF_ROOMS, VIBE_FONTS, lookDrawPool } from "@vibes.diy/prompts";
3
+ import { INSTANT_MERCURY_MODEL, InstantPaidReplyError, } from "./instant-build.js";
4
+ import { normalizeModuleId } from "./bundle-vibe-source.js";
5
+ import { ENTRY_PATH } from "./turn-reach.js";
6
+ export const SHELL_EARLY_DEADLINE_MS = 12_000;
7
+ export const SHELL_EARLY_ADOPT_MS = 8_000;
8
+ export const SHELL_MAX_OUTPUT_TOKENS = 8_000;
9
+ export const SHELL_MIN_CHARS = 200;
10
+ export const SHELL_LINES = 40;
11
+ export const SHELL_SYSTEM_PROMPT = [
12
+ "You write the first look of an app while its full build is being written beside you. The person sees your screen within seconds and the full app replaces it moments later, so your job is one clear, well-proportioned layout that already looks like their app.",
13
+ "",
14
+ "Reply with exactly one file: the heading ### `App.jsx` on its own line, then one ```jsx fence holding the whole component, then the three pick lines described at the end.",
15
+ "",
16
+ "The component:",
17
+ '- `import React from "react";` is its only import, and it declares `export default function App()`.',
18
+ '- `<main id="app">` wraps everything, with `font-sans` on it. The app\'s real title sits in `<header id="app-header">` at the top, with a one-line subtitle saying what the app does.',
19
+ "- Mobile-first Tailwind: it reads well on a phone at full width and fills a desktop screen through a centred `max-w-5xl mx-auto px-4` container, with grids that widen at `sm:` and `lg:` (`grid gap-4 sm:grid-cols-2 lg:grid-cols-3`).",
20
+ "- At most four `<section>`s, one per main feature the request describes, each with its own heading and one placeholder line shaped like the real thing — a list row, a card, a form field with its label, a total — so the layout is legible at a glance.",
21
+ "- Colors come from the platform's theme utilities, which every theme backs: `bg-background text-foreground` on the page, `bg-card text-card-foreground` with `border border-border` for raised surfaces, `text-muted-foreground` for metadata and helper lines, and one `bg-primary text-primary-foreground` button for the main action. Spacing comes off the scale (`p-4`, `gap-4`, `space-y-6`) and corners from `rounded-lg`.",
22
+ "- It is static: plain JSX with sample text and numbers, so it renders the instant it lands. The full build brings the data, the state and the behaviour.",
23
+ "- About 40 lines.",
24
+ ].join("\n");
25
+ const HOUSE_COLORWAY_HINTS = {
26
+ scrapbook: "warm, handmade, personal; journals and keepsakes",
27
+ matrix: "terminal green; hacker, retro tech",
28
+ neon: "bright and electric; games, nightlife, music",
29
+ broadsheet: "black ink on paper; reading, news, writing",
30
+ carbon: "dark and focused; tools, dashboards, coding",
31
+ atelier: "soft and refined; craft, studio, portfolio",
32
+ brutalist: "bold and raw; playful, loud, posters",
33
+ house: "friendly lavender; general, the default",
34
+ };
35
+ const ARCHETYPE_HINTS = {
36
+ "single-column-feed": "one column, newest first, the create control on top",
37
+ "card-grid": "a grid of equal cards, one column on a phone",
38
+ "stacked-sections": "labelled sections read top to bottom",
39
+ "list-detail-sheet": "a list whose item opens a detail sheet",
40
+ "tab-shell": "two to four areas behind a bottom tab bar",
41
+ };
42
+ export function shellCatalog(look) {
43
+ const colorways = look === "pouf"
44
+ ? POUF_ROOMS.map((r) => ({ slug: r.slug, hint: r.tags.join(", ") }))
45
+ : lookDrawPool("house").map((slug) => ({ slug, hint: HOUSE_COLORWAY_HINTS[slug] ?? slug }));
46
+ return {
47
+ look,
48
+ colorways,
49
+ fonts: VIBE_FONTS.map((f) => ({ slug: f.slug, hint: f.mood })),
50
+ archetypes: LAYOUT_ARCHETYPES.map((a) => ({ slug: a.id, hint: ARCHETYPE_HINTS[a.id] ?? a.id })),
51
+ };
52
+ }
53
+ function catalogRows(entries) {
54
+ return entries.map((e) => `- ${e.slug}: ${e.hint}`).join("\n");
55
+ }
56
+ export function shellTail(catalog) {
57
+ return [
58
+ "After the closing fence, end with three lines that choose this app's look, each slug copied exactly from its list:",
59
+ "colorway: <slug>",
60
+ "font: <slug>",
61
+ "layout: <slug>",
62
+ "",
63
+ `Colorways (the palette the whole app wears):\n${catalogRows(catalog.colorways)}`,
64
+ "",
65
+ `Fonts (the face every heading and line is set in):\n${catalogRows(catalog.fonts)}`,
66
+ "",
67
+ `Layouts (the shape your App.jsx already has; pick the one you drew):\n${catalogRows(catalog.archetypes)}`,
68
+ ].join("\n");
69
+ }
70
+ export function shellPrompt(catalog) {
71
+ return `${SHELL_SYSTEM_PROMPT}\n\n${shellTail(catalog)}`;
72
+ }
73
+ const FENCE = /```([A-Za-z0-9_+-]*)[^\n]*\n([\s\S]*?)\n?```/g;
74
+ const CODE_LANGS = new Set(["jsx", "js", "javascript", "tsx"]);
75
+ export function classifyShellReply(text) {
76
+ if (text.includes("```") === false)
77
+ return { kind: "refused" };
78
+ const fences = [...text.matchAll(FENCE)].map((m) => ({ lang: m[1].toLowerCase(), body: m[2] }));
79
+ const fence = fences.find((f) => CODE_LANGS.has(f.lang)) ?? fences.find((f) => f.lang === "");
80
+ if (fence === undefined)
81
+ return { kind: "unusable" };
82
+ const code = fence.body.trim();
83
+ if (code.length < SHELL_MIN_CHARS || /\bexport\s+default\b/.test(code) === false)
84
+ return { kind: "unusable" };
85
+ return { kind: "usable", code };
86
+ }
87
+ const PICK_LINE = /^[ \t]*[-*]?[ \t]*\**[ \t]*(colou?rway|font|layout|archetype)[ \t]*\**[ \t]*[:=][ \t]*\**[ \t]*`?([A-Za-z0-9_-]+)`?/gim;
88
+ export function parseShellPicks(text, catalog) {
89
+ const lastFence = text.lastIndexOf("```");
90
+ const tail = lastFence < 0 ? text : text.slice(lastFence + 3);
91
+ const seen = new Set();
92
+ const picks = {};
93
+ let dropped = 0;
94
+ for (const m of tail.matchAll(PICK_LINE)) {
95
+ const rawKey = m[1].toLowerCase();
96
+ const key = rawKey.startsWith("colo") ? "colorway" : rawKey === "font" ? "font" : "archetype";
97
+ if (seen.has(key))
98
+ continue;
99
+ seen.add(key);
100
+ const answer = m[2].toLowerCase();
101
+ const pool = key === "colorway" ? catalog.colorways : key === "font" ? catalog.fonts : catalog.archetypes;
102
+ const hit = pool.find((e) => e.slug.toLowerCase() === answer);
103
+ if (hit === undefined)
104
+ dropped += 1;
105
+ else
106
+ picks[key] = hit.slug;
107
+ }
108
+ return { picks, dropped };
109
+ }
110
+ export function shellModel(deadlineMs) {
111
+ return {
112
+ name: "shell:first-look",
113
+ id: INSTANT_MERCURY_MODEL,
114
+ reasoning: { effort: "none" },
115
+ reasoningEffort: "none",
116
+ callMs: deadlineMs,
117
+ maxTokens: SHELL_MAX_OUTPUT_TOKENS,
118
+ };
119
+ }
120
+ export async function runShellEarly(args) {
121
+ const now = args.now ?? Date.now;
122
+ const startedAt = now();
123
+ const deadlineMs = Math.max(1, args.deadlineMs ?? SHELL_EARLY_DEADLINE_MS);
124
+ const catalog = shellCatalog(args.look);
125
+ const base = { lines: SHELL_LINES, look: args.look, picks: {}, picksDropped: 0, chars: 0 };
126
+ const model = shellModel(deadlineMs);
127
+ const abort = new AbortController();
128
+ let deadlineHit = false;
129
+ const aborted = new Promise((resolve) => {
130
+ abort.signal.addEventListener("abort", function onAbort() {
131
+ resolve("aborted");
132
+ }, { once: true });
133
+ });
134
+ function stop() {
135
+ abort.abort();
136
+ }
137
+ const timer = setTimeout(function expire() {
138
+ deadlineHit = true;
139
+ abort.abort();
140
+ }, deadlineMs);
141
+ if (args.signal?.aborted === true)
142
+ abort.abort();
143
+ args.signal?.addEventListener("abort", stop, { once: true });
144
+ const text = args.personWords.trim();
145
+ const messages = [
146
+ { role: "system", content: [{ type: "text", text: shellPrompt(catalog) }] },
147
+ { role: "user", content: [{ type: "text", text }] },
148
+ ];
149
+ const called = text.length === 0
150
+ ? Promise.resolve(Result.Err(new Error("the turn carries no message text for the first look")))
151
+ : Promise.resolve()
152
+ .then(function invoke() {
153
+ return args.call({ model, messages, signal: abort.signal });
154
+ })
155
+ .then((r) => r, (e) => Result.Err(e instanceof Error ? e : new Error(String(e))));
156
+ const r = await Promise.race([called, aborted]);
157
+ clearTimeout(timer);
158
+ args.signal?.removeEventListener("abort", stop);
159
+ const ms = now() - startedAt;
160
+ if (r === "aborted")
161
+ return { ms, outcome: deadlineHit ? "deadline" : "aborted", ...base };
162
+ if (r.isErr()) {
163
+ const error = r.Err();
164
+ const usage = error instanceof InstantPaidReplyError ? error.usage : undefined;
165
+ return { ms, outcome: "failed", ...base, servedModel: model.id, ...(usage === undefined ? {} : { usage }) };
166
+ }
167
+ const reply = r.Ok();
168
+ const paid = {
169
+ servedModel: reply.servedModel ?? model.id,
170
+ ...(reply.usage === undefined ? {} : { usage: reply.usage }),
171
+ };
172
+ const verdict = classifyShellReply(reply.text);
173
+ if (verdict.kind !== "usable")
174
+ return { ms, outcome: verdict.kind, ...base, ...paid };
175
+ const { picks, dropped } = parseShellPicks(reply.text, catalog);
176
+ return { ms, outcome: "usable", ...base, chars: verdict.code.length, code: verdict.code, picks, picksDropped: dropped, ...paid };
177
+ }
178
+ export const FIRST_LOOK_OPEN = "<first-look>";
179
+ export const FIRST_LOOK_CLOSE = "</first-look>";
180
+ export const FIRST_LOOK_SOFT_LINE = "The person is already looking at this first look of their app. Keep its colors and the arrangement of its sections, and build every feature, field and rule the plan above describes, in full.";
181
+ export function withFirstLook(enrichedPrompt, code, line = FIRST_LOOK_SOFT_LINE) {
182
+ return `${enrichedPrompt}\n\n${FIRST_LOOK_OPEN}\n${line}\n\n\`\`\`jsx\n${code}\n\`\`\`\n${FIRST_LOOK_CLOSE}`;
183
+ }
184
+ const FIRST_LOOK_SECTION = /<first-look>([\s\S]*?)<\/first-look>/g;
185
+ function messageText(message) {
186
+ const content = message.content;
187
+ if (typeof content === "string")
188
+ return content;
189
+ if (Array.isArray(content) === false)
190
+ return "";
191
+ return content
192
+ .flatMap((part) => {
193
+ const p = part;
194
+ return p.type === "text" && typeof p.text === "string" ? [p.text] : [];
195
+ })
196
+ .join("\n\n");
197
+ }
198
+ export function firstLookCode(messages) {
199
+ for (const message of [...messages].reverse()) {
200
+ const sections = [...messageText(message).matchAll(FIRST_LOOK_SECTION)];
201
+ const last = sections.at(-1);
202
+ if (last === undefined)
203
+ continue;
204
+ const verdict = classifyShellReply(last[1]);
205
+ return verdict.kind === "usable" ? verdict.code : undefined;
206
+ }
207
+ return undefined;
208
+ }
209
+ export function shellAppBlock(code) {
210
+ return `### \`App.jsx\`\n\n\`\`\`jsx\n${code}\n\`\`\`\n\n`;
211
+ }
212
+ export const FIRST_LOOK_SHELL_MODEL = "first-look";
213
+ const encoder = new TextEncoder();
214
+ function shellChunk(o) {
215
+ return encoder.encode(`data: ${JSON.stringify({
216
+ id: o.id,
217
+ provider: "shell",
218
+ model: o.model,
219
+ object: "chat.completion.chunk",
220
+ created: Math.floor(Date.now() / 1000),
221
+ choices: [{ index: 0, delta: { role: "assistant", content: o.content }, finish_reason: null, native_finish_reason: null }],
222
+ })}\n\n`);
223
+ }
224
+ function lineContent(line) {
225
+ const none = { text: "", toolCall: false };
226
+ const trimmed = line.trim();
227
+ if (trimmed.startsWith("data:") === false)
228
+ return none;
229
+ const payload = trimmed.slice(5).trim();
230
+ if (payload === "" || payload === "[DONE]")
231
+ return none;
232
+ const parsed = exception2Result(() => JSON.parse(payload));
233
+ if (parsed.isErr())
234
+ return none;
235
+ const choices = parsed.Ok().choices;
236
+ if (Array.isArray(choices) === false)
237
+ return none;
238
+ let text = "";
239
+ let toolCall = false;
240
+ for (const choice of choices) {
241
+ const delta = choice.delta;
242
+ if (delta === undefined || delta === null)
243
+ continue;
244
+ if (typeof delta.content === "string")
245
+ text += delta.content;
246
+ if (Array.isArray(delta.tool_calls) && delta.tool_calls.length > 0)
247
+ toolCall = true;
248
+ }
249
+ return { text, toolCall };
250
+ }
251
+ const CODE_FENCE_OPEN = "```";
252
+ export function spliceFirstLook(args) {
253
+ const now = args.now ?? Date.now;
254
+ const startedAt = now();
255
+ let settledMs;
256
+ let outcome;
257
+ let mainFirstContentMs;
258
+ let mainFirstCodeMs;
259
+ const settled = args.shell.then((code) => {
260
+ settledMs = now() - startedAt;
261
+ return code;
262
+ }, () => {
263
+ settledMs = now() - startedAt;
264
+ return undefined;
265
+ });
266
+ function receipt() {
267
+ return {
268
+ model: FIRST_LOOK_SHELL_MODEL,
269
+ ms: settledMs ?? now() - startedAt,
270
+ outcome: outcome ?? "late",
271
+ lines: SHELL_LINES,
272
+ ...(mainFirstContentMs === undefined ? {} : { mainFirstContentMs }),
273
+ ...(mainFirstCodeMs === undefined ? {} : { mainFirstCodeMs }),
274
+ };
275
+ }
276
+ function cancel() {
277
+ if (outcome === undefined)
278
+ outcome = "late";
279
+ }
280
+ function splice(main) {
281
+ const body = main.body;
282
+ if (body === null) {
283
+ cancel();
284
+ return main;
285
+ }
286
+ const reader = body.getReader();
287
+ const decoder = new TextDecoder();
288
+ const chunkId = `shell-${args.promptId}`;
289
+ let partial = "";
290
+ let decided = false;
291
+ const buffered = [];
292
+ let contentSeen = "";
293
+ function sawCode(bytes) {
294
+ if (mainFirstCodeMs !== undefined)
295
+ return true;
296
+ partial += decoder.decode(bytes, { stream: true });
297
+ const lines = partial.split("\n");
298
+ partial = lines.pop() ?? "";
299
+ for (const line of lines) {
300
+ const c = lineContent(line);
301
+ if (c.text.length > 0 && mainFirstContentMs === undefined)
302
+ mainFirstContentMs = now() - startedAt;
303
+ const combined = contentSeen + c.text;
304
+ contentSeen = combined.slice(-(CODE_FENCE_OPEN.length - 1));
305
+ if (c.toolCall || combined.includes(CODE_FENCE_OPEN)) {
306
+ mainFirstCodeMs = now() - startedAt;
307
+ partial = "";
308
+ return true;
309
+ }
310
+ }
311
+ return false;
312
+ }
313
+ let ended = false;
314
+ const stream = new ReadableStream({
315
+ start(controller) {
316
+ function push(bytes) {
317
+ if (ended === false)
318
+ controller.enqueue(bytes);
319
+ }
320
+ function flush() {
321
+ for (const bytes of buffered)
322
+ push(bytes);
323
+ buffered.length = 0;
324
+ }
325
+ void settled.then(function shellSettled(code) {
326
+ if (decided)
327
+ return;
328
+ decided = true;
329
+ if (code !== undefined) {
330
+ push(shellChunk({ id: chunkId, model: args.model, content: shellAppBlock(code) }));
331
+ outcome = "used";
332
+ }
333
+ else {
334
+ outcome = "no-seed";
335
+ }
336
+ flush();
337
+ });
338
+ void (async function pump() {
339
+ for (;;) {
340
+ const read = await reader.read().then((r) => ({ ok: true, r }), (error) => ({ ok: false, error }));
341
+ if (read.ok === false) {
342
+ decided = true;
343
+ if (ended === false)
344
+ controller.error(read.error);
345
+ ended = true;
346
+ return;
347
+ }
348
+ const { done, value } = read.r;
349
+ if (done)
350
+ break;
351
+ const spoke = sawCode(value);
352
+ if (decided) {
353
+ push(value);
354
+ continue;
355
+ }
356
+ buffered.push(value);
357
+ if (spoke) {
358
+ decided = true;
359
+ outcome = "late";
360
+ flush();
361
+ }
362
+ }
363
+ if (decided === false) {
364
+ decided = true;
365
+ outcome = "late";
366
+ flush();
367
+ }
368
+ if (ended === false)
369
+ controller.close();
370
+ ended = true;
371
+ })();
372
+ },
373
+ cancel(reason) {
374
+ decided = true;
375
+ ended = true;
376
+ return reader.cancel(reason);
377
+ },
378
+ });
379
+ return new Response(stream, { status: main.status, statusText: main.statusText, headers: main.headers });
380
+ }
381
+ return { splice, cancel, receipt };
382
+ }
383
+ export function startFirstLookSplice(args) {
384
+ return spliceFirstLook({
385
+ shell: Promise.resolve(firstLookCode(args.llmReq.messages)),
386
+ model: args.llmReq.model,
387
+ promptId: args.promptId,
388
+ ...(args.now === undefined ? {} : { now: args.now }),
389
+ });
390
+ }
391
+ export function createShellLead(receipt) {
392
+ let first = true;
393
+ let shell;
394
+ let replaced = false;
395
+ return {
396
+ observe(block) {
397
+ const path = normalizeModuleId(block.path ?? ENTRY_PATH);
398
+ if (first) {
399
+ first = false;
400
+ if (receipt().outcome === "used")
401
+ shell = { sectionId: block.sectionId, path };
402
+ return;
403
+ }
404
+ if (shell !== undefined && block.moved && path === shell.path)
405
+ replaced = true;
406
+ },
407
+ reset() {
408
+ first = false;
409
+ shell = undefined;
410
+ replaced = false;
411
+ },
412
+ unreplaced() {
413
+ return shell !== undefined && replaced === false ? shell : undefined;
414
+ },
415
+ };
416
+ }
417
+ function sectionOf(message) {
418
+ return message.sectionId;
419
+ }
420
+ export function dropUnreplacedShell(messages, touchedPaths, shell) {
421
+ const beginAt = messages.findIndex((m) => m.type === "block.code.begin" && sectionOf(m) === shell.sectionId);
422
+ if (beginAt < 0)
423
+ return;
424
+ const kept = messages.filter((m, i) => {
425
+ const shellCode = m.type.startsWith("block.code.") && sectionOf(m) === shell.sectionId;
426
+ const shellHeading = i < beginAt && m.type.startsWith("block.toplevel.");
427
+ return shellCode === false && shellHeading === false;
428
+ });
429
+ messages.splice(0, messages.length, ...kept);
430
+ const remaining = touchedPaths.filter((p) => normalizeModuleId(p) !== shell.path);
431
+ touchedPaths.splice(0, touchedPaths.length, ...remaining);
432
+ }
433
+ //# sourceMappingURL=first-look.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-look.js","sourceRoot":"","sources":["../../jsr/intern/first-look.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,12 @@ export declare function mercuryVariantForTurn(o: {
48
48
  readonly fastPass: boolean;
49
49
  }): InstructionVariant | undefined;
50
50
  export declare function starAlternativeArmed(): boolean;
51
+ export declare const FIRST_LOOK_ENV = "FIRST_LOOK";
52
+ export declare function firstLookEnabled(flag: string | undefined): boolean;
53
+ export declare function firstLookArmed(o: {
54
+ readonly mercuryVariant: InstructionVariant | undefined;
55
+ readonly flag: string | undefined;
56
+ }): boolean;
51
57
  export declare function fastFirstTurnLevers(variant: InstructionVariant | undefined, firstTurn: boolean): FastFirstTurnLevers | undefined;
52
58
  export declare const FAST_FIRST_TURN_VARIANT_INSTRUCTION = "<fast-first-turn>\nThis first turn moves quickly. The person's own sentence travels to the builder in full as\ncreate_vibe's prompt, so the brief you add stays short: enrichedPrompt is two or three sentences\nnaming the screens and the actions on them, and the builder reads the person's own words for the\nrest. The skills list carries the capability choices \u2014 name each capability the ask needs there.\nCall create_vibe as your first action, then tell the person in a sentence or two what is on its way.\n</fast-first-turn>";
53
59
  export declare const FAST_FIRST_TURN_ENRICHED_PROMPT_DESCRIPTION: string;
@@ -192,6 +192,16 @@ export function mercuryVariantForTurn(o) {
192
192
  export function starAlternativeArmed() {
193
193
  return false;
194
194
  }
195
+ export const FIRST_LOOK_ENV = "FIRST_LOOK";
196
+ export function firstLookEnabled(flag) {
197
+ return flag?.trim().toLowerCase() !== "off";
198
+ }
199
+ export function firstLookArmed(o) {
200
+ if (o.mercuryVariant === undefined)
201
+ return false;
202
+ const switchArm = Object.values(MERCURY_SWITCH_VARIANTS).includes(o.mercuryVariant);
203
+ return switchArm && firstLookEnabled(o.flag);
204
+ }
195
205
  const FAST_FIRST_TURN_LEVER_VARIANTS = [
196
206
  "fast-first-turn",
197
207
  "fast-server-first-build",
@@ -1 +1 @@
1
- {"version":3,"file":"instruction-variant.js","sourceRoot":"","sources":["../../jsr/intern/instruction-variant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instruction-variant.js","sourceRoot":"","sources":["../../jsr/intern/instruction-variant.ts"],"names":[],"mappings":"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"}
@@ -6,17 +6,30 @@ import type { AgentActor } from "./agent-actor.js";
6
6
  import { type AgentBuildDispatcher, type FirstTurnMint } from "./agent-build-tools.js";
7
7
  import { type MercuryFirstBuild, type MercuryFormat, type MercuryPlanner, type MercuryUsageRound } from "./mercury-first-build.js";
8
8
  import type { FirstBuildRace } from "./first-build-race.js";
9
+ import { type ShellEarlyOutcome, type ShellEarlyResult, type ShellPicks } from "./first-look.js";
9
10
  export declare const MERCURY_SEAM_SOURCE = "mercury";
10
11
  export type MercurySeamSkip = "mercury-failed" | "create-refused" | "opus-won";
12
+ export interface ShellEarlyReceipt {
13
+ readonly ms: number;
14
+ readonly msFromTurnStart: number;
15
+ readonly outcome: ShellEarlyOutcome | "late";
16
+ readonly chars: number;
17
+ readonly picks: ShellPicks;
18
+ readonly picksDropped: number;
19
+ readonly adopted: ShellPicks;
20
+ readonly handoff: "soft";
21
+ }
11
22
  export type MercurySeamOutcome = {
12
23
  readonly dispatched: true;
13
24
  readonly chatId: string;
14
25
  readonly appSlug: string;
15
26
  readonly preamble: string;
16
27
  readonly addressRetried?: true;
28
+ readonly shellEarly?: ShellEarlyReceipt;
17
29
  } | {
18
30
  readonly dispatched: false;
19
31
  readonly reason: MercurySeamSkip;
32
+ readonly shellEarly?: ShellEarlyReceipt;
20
33
  };
21
34
  export declare function runMercurySeam(vctx: VibesApiSQLCtx, o: {
22
35
  readonly pending: Promise<Result<MercuryFirstBuild>>;
@@ -28,8 +41,29 @@ export declare function runMercurySeam(vctx: VibesApiSQLCtx, o: {
28
41
  readonly productionSwitch?: true;
29
42
  readonly keepText?: boolean;
30
43
  readonly race?: FirstBuildRace;
44
+ readonly shellEarly?: {
45
+ readonly pending: Promise<ShellEarlyResult>;
46
+ readonly turnStartedAt: number;
47
+ readonly adoptMs?: number;
48
+ readonly now?: () => number;
49
+ };
31
50
  readonly evidence: (e: AgentEvidence) => Promise<Result<void>>;
32
51
  }): Promise<MercurySeamOutcome>;
52
+ export declare function earlyShellIntoBrief<I extends {
53
+ readonly enrichedPrompt?: string;
54
+ readonly font?: unknown;
55
+ }>(o: {
56
+ readonly pending: Promise<ShellEarlyResult>;
57
+ readonly turnStartedAt: number;
58
+ readonly adoptMs?: number;
59
+ readonly now?: () => number;
60
+ }, mercuryInput: I): Promise<{
61
+ readonly input: I & {
62
+ readonly colorway?: string;
63
+ };
64
+ readonly picks: ShellPicks;
65
+ readonly receipt: (adopted: ShellPicks) => ShellEarlyReceipt;
66
+ }>;
33
67
  export declare function withPreambleFirst(stream: ReadableStream<SseStreamMsg>, preamble: string): ReadableStream<SseStreamMsg>;
34
68
  export declare function withMercuryUsageRounds(stream: ReadableStream<SseStreamMsg>, o: {
35
69
  readonly settled: Promise<unknown>;