@vibes.diy/api-svc 14.3.82 → 14.3.84

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 (126) hide show
  1. package/analytics.d.ts +2 -1
  2. package/analytics.js +1 -0
  3. package/analytics.js.map +1 -1
  4. package/cf-serve.d.ts +3 -15
  5. package/cf-serve.js +2 -145
  6. package/cf-serve.js.map +1 -1
  7. package/index.d.ts +1 -0
  8. package/index.js +1 -0
  9. package/index.js.map +1 -1
  10. package/intern/access-summary.d.ts +6 -0
  11. package/intern/access-summary.js +18 -0
  12. package/intern/access-summary.js.map +1 -0
  13. package/intern/access-verdict-docs.d.ts +4 -1
  14. package/intern/access-verdict-docs.js +5 -4
  15. package/intern/access-verdict-docs.js.map +1 -1
  16. package/intern/access-verdicts.d.ts +15 -0
  17. package/intern/access-verdicts.js +35 -6
  18. package/intern/access-verdicts.js.map +1 -1
  19. package/intern/agent-assembly.d.ts +5 -0
  20. package/intern/agent-assembly.js +14 -2
  21. package/intern/agent-assembly.js.map +1 -1
  22. package/intern/agent-belt.d.ts +5 -1
  23. package/intern/agent-belt.js +27 -8
  24. package/intern/agent-belt.js.map +1 -1
  25. package/intern/agent-build-tools.d.ts +3 -0
  26. package/intern/agent-build-tools.js.map +1 -1
  27. package/intern/agent-file-validation.js +4 -1
  28. package/intern/agent-file-validation.js.map +1 -1
  29. package/intern/agent-options-tool.js +1 -1
  30. package/intern/agent-options-tool.js.map +1 -1
  31. package/intern/agent-request-frame.d.ts +2 -0
  32. package/intern/agent-request-frame.js +2 -2
  33. package/intern/agent-request-frame.js.map +1 -1
  34. package/intern/agent-session-instruction.d.ts +4 -0
  35. package/intern/agent-session-instruction.js +4 -0
  36. package/intern/agent-session-instruction.js.map +1 -1
  37. package/intern/agent-session-runtime.js +1 -0
  38. package/intern/agent-session-runtime.js.map +1 -1
  39. package/intern/agent-wake.d.ts +8 -0
  40. package/intern/agent-wake.js +13 -0
  41. package/intern/agent-wake.js.map +1 -1
  42. package/intern/apply-seed.d.ts +1 -1
  43. package/intern/apply-seed.js +5 -5
  44. package/intern/apply-seed.js.map +1 -1
  45. package/intern/attach-draft-handle.js +15 -1
  46. package/intern/attach-draft-handle.js.map +1 -1
  47. package/intern/backend-db-callback.js +2 -2
  48. package/intern/backend-db-callback.js.map +1 -1
  49. package/intern/capture-seed-docs.d.ts +1 -1
  50. package/intern/capture-seed-docs.js +2 -2
  51. package/intern/capture-seed-docs.js.map +1 -1
  52. package/intern/delete-access-gate.js +2 -2
  53. package/intern/delete-access-gate.js.map +1 -1
  54. package/intern/first-brief.d.ts +58 -0
  55. package/intern/first-brief.js +168 -0
  56. package/intern/first-brief.js.map +1 -0
  57. package/intern/first-build-classifier.d.ts +88 -0
  58. package/intern/first-build-classifier.js +241 -0
  59. package/intern/first-build-classifier.js.map +1 -0
  60. package/intern/instruction-variant.d.ts +29 -1
  61. package/intern/instruction-variant.js +107 -1
  62. package/intern/instruction-variant.js.map +1 -1
  63. package/intern/llm-tool-loop.d.ts +1 -0
  64. package/intern/llm-tool-loop.js +13 -0
  65. package/intern/llm-tool-loop.js.map +1 -1
  66. package/intern/process-access-bindings.js +2 -2
  67. package/intern/process-access-bindings.js.map +1 -1
  68. package/intern/prompt-assembly.js +3 -3
  69. package/intern/prompt-assembly.js.map +1 -1
  70. package/intern/prompt-step.d.ts +1 -1
  71. package/intern/prompt-step.js.map +1 -1
  72. package/intern/seed-repair.d.ts +66 -0
  73. package/intern/seed-repair.js +261 -0
  74. package/intern/seed-repair.js.map +1 -0
  75. package/intern/server-first-build.d.ts +25 -0
  76. package/intern/server-first-build.js +46 -0
  77. package/intern/server-first-build.js.map +1 -0
  78. package/intern/swr-wrapper-html-cache.js +1 -0
  79. package/intern/swr-wrapper-html-cache.js.map +1 -1
  80. package/intern/turn-latency.d.ts +3 -0
  81. package/intern/turn-latency.js +11 -0
  82. package/intern/turn-latency.js.map +1 -1
  83. package/package.json +13 -13
  84. package/public/access-fn-quickjs.d.ts +19 -0
  85. package/public/access-fn-quickjs.js +151 -0
  86. package/public/access-fn-quickjs.js.map +1 -0
  87. package/public/access-function.js +8 -1
  88. package/public/access-function.js.map +1 -1
  89. package/public/agent-turn-action.d.ts +3 -2
  90. package/public/agent-turn-action.js +147 -32
  91. package/public/agent-turn-action.js.map +1 -1
  92. package/public/agent-turn-assembly.d.ts +3 -1
  93. package/public/agent-turn-assembly.js +18 -3
  94. package/public/agent-turn-assembly.js.map +1 -1
  95. package/public/app-documents-read-eventos.js +7 -3
  96. package/public/app-documents-read-eventos.js.map +1 -1
  97. package/public/handle-prompt-context.d.ts +2 -0
  98. package/public/handle-prompt-context.js +72 -0
  99. package/public/handle-prompt-context.js.map +1 -1
  100. package/public/prompt-chat-section.js +3 -0
  101. package/public/prompt-chat-section.js.map +1 -1
  102. package/public/prompt-section-actions.d.ts +2 -1
  103. package/public/prompt-section-actions.js +1 -0
  104. package/public/prompt-section-actions.js.map +1 -1
  105. package/public/prompt-turn-settled.js +15 -3
  106. package/public/prompt-turn-settled.js.map +1 -1
  107. package/public/prompt-turn-types.d.ts +2 -0
  108. package/public/resolve-active-handle.d.ts +1 -0
  109. package/public/resolve-active-handle.js +12 -0
  110. package/public/resolve-active-handle.js.map +1 -1
  111. package/public/seed-owner-controls.js +2 -2
  112. package/public/seed-owner-controls.js.map +1 -1
  113. package/public/serv-entry-point.js +1 -1
  114. package/public/serv-entry-point.js.map +1 -1
  115. package/public/stream-assembly.d.ts +2 -0
  116. package/public/stream-assembly.js +2 -0
  117. package/public/stream-assembly.js.map +1 -1
  118. package/public/viewer-channel-resolver.js +2 -2
  119. package/public/viewer-channel-resolver.js.map +1 -1
  120. package/public/who-am-i.js +2 -2
  121. package/public/who-am-i.js.map +1 -1
  122. package/public/write-front-door.js +2 -2
  123. package/public/write-front-door.js.map +1 -1
  124. package/seed-parser.d.ts +2 -0
  125. package/seed-parser.js +50 -0
  126. package/seed-parser.js.map +1 -1
@@ -0,0 +1,241 @@
1
+ import { Result, exception2Result } from "@adviser/cement";
2
+ import { callAI } from "call-ai";
3
+ import { type } from "arktype";
4
+ import { AppNature } from "@vibes.diy/api-types";
5
+ import { getLlmCatalog } from "@vibes.diy/prompts";
6
+ import { isPoufBlockSkill, poufLookFor } from "./pouf-look-flag.js";
7
+ import { GROUP_READY_SHAPE, INVITE_SCREEN_WHEN, KNOWN_VALUES_DIRECT_CONTROLS, SEED_DEMO_RULE, } from "./agent-session-instruction.js";
8
+ export const FIRST_BUILD_CLASSIFIER_MODEL = "google/gemini-3.5-flash-lite";
9
+ export const FIRST_BUILD_CLASSIFIER_REASONING = { effort: "minimal" };
10
+ export const FIRST_BUILD_CLASSIFIER_TIMEOUT_MS = 3_000;
11
+ const ALWAYS_PRESENT_SKILLS = new Set(["fireproof", "image-gen", "use-vibe", "use-viewer"]);
12
+ export const SERVER_FIRST_BUILD_ACCESS_SKILL = "access";
13
+ const SKILL_LINE_MAX_CHARS = 110;
14
+ function shortDescription(description) {
15
+ const flat = description.replace(/\s+/g, " ").trim();
16
+ if (flat.length <= SKILL_LINE_MAX_CHARS)
17
+ return flat;
18
+ const cut = flat.slice(0, SKILL_LINE_MAX_CHARS);
19
+ const space = cut.lastIndexOf(" ");
20
+ return `${space > 40 ? cut.slice(0, space) : cut}…`;
21
+ }
22
+ export async function firstBuildSkillMenu(opts) {
23
+ const catalog = await getLlmCatalog();
24
+ return catalog
25
+ .filter((c) => ALWAYS_PRESENT_SKILLS.has(c.name) === false && c.name !== SERVER_FIRST_BUILD_ACCESS_SKILL)
26
+ .filter((c) => opts.poufBlocks || isPoufBlockSkill(c.name) === false)
27
+ .map((c) => `- ${c.name}: ${shortDescription(c.description)}`)
28
+ .join("\n");
29
+ }
30
+ export function firstBuildClassifierMessage(personWords, skillMenu) {
31
+ return [
32
+ "Read one message a person sent to an app builder and fill the schema.",
33
+ "build: true when the message describes an app, tool, game, page, tracker or anything else to make — however short. " +
34
+ "build: false for a greeting, a question about the builder itself, or a message that names nothing to make.",
35
+ "skills: the names from the list below that the app needs, exactly as written; an empty list when none fit. " +
36
+ '"backend" for schedules, email, fetching, notifications and server work; ' +
37
+ '"callai" for record intake by sentence, a chat reply, a suggestion or any text the page asks the model for itself. ' +
38
+ "Access rules ride every build already.",
39
+ "noAccessControl: true only when the message itself asks for no access control, a single-user app or no sharing; false otherwise.",
40
+ "pairs: three title/slug pairs ranked by fit — a Title Case title of one to four words, and a kebab-case slug made from it.",
41
+ "iconDescription: one short line naming what the app's icon shows, such as 'a fox on a record player'.",
42
+ 'nature: "sensitive" for private record-keeping (a diary, health, money), "open" for a light toy anyone can play with, "collaborative" for everything else.',
43
+ "",
44
+ "Skills:",
45
+ skillMenu,
46
+ "",
47
+ "Message:",
48
+ personWords,
49
+ ].join("\n");
50
+ }
51
+ export const firstBuildClassifierSchema = {
52
+ name: "first_build",
53
+ required: ["build", "skills", "pairs", "iconDescription", "nature", "noAccessControl"],
54
+ properties: {
55
+ build: { type: "boolean" },
56
+ skills: { type: "array", items: { type: "string" } },
57
+ pairs: {
58
+ type: "array",
59
+ items: { type: "object", properties: { title: { type: "string" }, slug: { type: "string" } } },
60
+ },
61
+ iconDescription: { type: "string" },
62
+ nature: { type: "string", enum: ["sensitive", "collaborative", "open"] },
63
+ noAccessControl: { type: "boolean" },
64
+ },
65
+ };
66
+ const firstBuildParsed = type({
67
+ build: "boolean",
68
+ "skills?": "string[]",
69
+ "pairs?": type({ "title?": "string", "slug?": "string" }).array(),
70
+ "iconDescription?": "string",
71
+ "nature?": "string",
72
+ "noAccessControl?": "boolean",
73
+ });
74
+ export function parseFirstBuildVerdict(raw, meta) {
75
+ const parsed = firstBuildParsed(raw);
76
+ if (parsed instanceof type.errors)
77
+ return Result.Err(`first-build classifier: schema validation failed: ${parsed.summary}`);
78
+ const pairs = (parsed.pairs ?? []).flatMap((p) => {
79
+ const title = (p.title ?? "").trim();
80
+ const slug = (p.slug ?? "").trim();
81
+ return title.length > 0 && slug.length > 0 ? [{ title, slug }] : [];
82
+ });
83
+ const icon = (parsed.iconDescription ?? "").trim();
84
+ const nature = AppNature(parsed.nature);
85
+ return Result.Ok({
86
+ build: parsed.build,
87
+ skills: (parsed.skills ?? []).map((s) => s.trim()).filter((s) => s.length > 0),
88
+ pairs,
89
+ ...(icon.length === 0 ? {} : { iconDescription: icon }),
90
+ ...(nature instanceof type.errors ? {} : { nature }),
91
+ noAccessControl: parsed.noAccessControl === true,
92
+ model: meta.model,
93
+ ...(meta.usage === undefined ? {} : { usage: meta.usage }),
94
+ elapsedMs: meta.elapsedMs,
95
+ });
96
+ }
97
+ export function serverFirstBuildBrief(personWords, o) {
98
+ return [
99
+ ...(o.noAccessControl
100
+ ? []
101
+ : [
102
+ `This first build is group-ready: ${GROUP_READY_SHAPE}`,
103
+ `${INVITE_SCREEN_WHEN}; every other first build leaves it as an option for later.`,
104
+ ]),
105
+ `Sample content: ${SEED_DEMO_RULE}`,
106
+ KNOWN_VALUES_DIRECT_CONTROLS,
107
+ `The person asked: "${personWords}". Plan the app from their words.`,
108
+ ].join("\n");
109
+ }
110
+ function serverFirstBuildSkills(verdict) {
111
+ const picked = verdict.skills.filter((s) => s !== SERVER_FIRST_BUILD_ACCESS_SKILL);
112
+ if (verdict.noAccessControl)
113
+ return picked;
114
+ return verdict.skills.includes(SERVER_FIRST_BUILD_ACCESS_SKILL)
115
+ ? [...verdict.skills]
116
+ : [...picked, SERVER_FIRST_BUILD_ACCESS_SKILL];
117
+ }
118
+ export function createVibeInputFromVerdict(personWords, verdict) {
119
+ return {
120
+ prompt: personWords,
121
+ enrichedPrompt: serverFirstBuildBrief(personWords, { noAccessControl: verdict.noAccessControl }),
122
+ skills: serverFirstBuildSkills(verdict),
123
+ pairs: verdict.pairs.map((p) => ({ ...p })),
124
+ ...(verdict.iconDescription === undefined ? {} : { iconDescription: verdict.iconDescription }),
125
+ ...(verdict.nature === undefined ? {} : { nature: verdict.nature }),
126
+ };
127
+ }
128
+ function numberField(o, key) {
129
+ const v = o[key];
130
+ return typeof v === "number" && Number.isFinite(v) ? v : undefined;
131
+ }
132
+ function readEcho(json, echo) {
133
+ if (typeof json !== "object" || json === null)
134
+ return;
135
+ const body = json;
136
+ if (typeof body.model === "string")
137
+ echo.model = body.model;
138
+ const usage = body.usage;
139
+ if (typeof usage !== "object" || usage === null)
140
+ return;
141
+ const u = usage;
142
+ const prompt = numberField(u, "prompt_tokens");
143
+ const completion = numberField(u, "completion_tokens");
144
+ if (prompt === undefined || completion === undefined)
145
+ return;
146
+ const cost = numberField(u, "cost");
147
+ echo.usage = {
148
+ prompt_tokens: prompt,
149
+ completion_tokens: completion,
150
+ total_tokens: numberField(u, "total_tokens") ?? prompt + completion,
151
+ ...(cost === undefined ? {} : { cost }),
152
+ };
153
+ }
154
+ function classifierFetch(inner, signal, echo) {
155
+ return async (input, init) => {
156
+ const body = typeof init?.body === "string" ? init.body : undefined;
157
+ const rBody = body === undefined ? undefined : exception2Result(() => JSON.parse(body));
158
+ const patchedBody = rBody !== undefined && rBody.isOk()
159
+ ? JSON.stringify({ ...rBody.Ok(), reasoning: { ...FIRST_BUILD_CLASSIFIER_REASONING }, usage: { include: true } })
160
+ : body;
161
+ const res = await inner(input, { ...init, ...(patchedBody === undefined ? {} : { body: patchedBody }), signal });
162
+ const rJson = await exception2Result(() => res.clone().json());
163
+ if (rJson.isOk())
164
+ readEcho(rJson.Ok(), echo);
165
+ return res;
166
+ };
167
+ }
168
+ export async function classifyFirstBuild(vctx, args) {
169
+ return exception2Result(() => classify(vctx, args));
170
+ }
171
+ async function classify(vctx, args) {
172
+ if (args.personWords.trim().length === 0)
173
+ return Result.Err("first-build classifier: no words to classify");
174
+ if (vctx.billing.enforceEnabled) {
175
+ const rCheck = await vctx.billing.checkCredits({ userId: args.userId });
176
+ if (rCheck.isOk() && rCheck.Ok().allowed === false)
177
+ return Result.Err("first-build classifier: no credits remaining");
178
+ }
179
+ const message = firstBuildClassifierMessage(args.personWords, await firstBuildSkillMenu({ poufBlocks: poufLookFor(vctx, args.userId) }));
180
+ const timeoutMs = args.timeoutMs ?? FIRST_BUILD_CLASSIFIER_TIMEOUT_MS;
181
+ const controller = new AbortController();
182
+ const echo = {};
183
+ const startedAt = Date.now();
184
+ let timer;
185
+ const timeout = new Promise((_, reject) => {
186
+ timer = setTimeout(() => {
187
+ controller.abort();
188
+ reject(new Error(`first-build classifier timed out after ${timeoutMs}ms`));
189
+ }, timeoutMs);
190
+ });
191
+ const rCall = await exception2Result(() => Promise.race([
192
+ callAI(message, {
193
+ model: FIRST_BUILD_CLASSIFIER_MODEL,
194
+ endpoint: vctx.params.llm.url,
195
+ apiKey: vctx.params.llm.apiKey,
196
+ mock: { fetch: classifierFetch(vctx.inferenceFetch, controller.signal, echo) },
197
+ skipRetry: true,
198
+ schema: { ...firstBuildClassifierSchema, required: [...firstBuildClassifierSchema.required] },
199
+ }),
200
+ timeout,
201
+ ])).finally(() => clearTimeout(timer));
202
+ const elapsedMs = Date.now() - startedAt;
203
+ if (rCall.isErr())
204
+ return Result.Err(rCall);
205
+ const served = echo.model ?? FIRST_BUILD_CLASSIFIER_MODEL;
206
+ await recordFirstClassifyRow(vctx, { chatId: args.chatId, userId: args.userId, model: served, usage: echo.usage });
207
+ const raw = rCall.Ok();
208
+ if (typeof raw !== "string")
209
+ return Result.Err("first-build classifier: callAI returned non-string");
210
+ const rParsed = exception2Result(() => JSON.parse(raw));
211
+ if (rParsed.isErr())
212
+ return Result.Err(`first-build classifier: JSON parse failed: ${rParsed.Err().message}`);
213
+ return parseFirstBuildVerdict(rParsed.Ok(), {
214
+ model: served,
215
+ ...(echo.usage === undefined ? {} : { usage: echo.usage }),
216
+ elapsedMs,
217
+ });
218
+ }
219
+ async function recordFirstClassifyRow(vctx, o) {
220
+ const zero = { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 };
221
+ const rInsert = await exception2Result(() => vctx.sql.db.insert(vctx.sql.tables.promptContexts).values({
222
+ userId: o.userId,
223
+ chatId: o.chatId,
224
+ promptId: vctx.sthis.nextId(12).str,
225
+ nethash: vctx.netHash(),
226
+ promptTokens: 0,
227
+ completionTokens: 0,
228
+ totalTokens: 0,
229
+ ref: {
230
+ type: "prompt.usage.sql",
231
+ usage: { given: o.usage === undefined ? [] : [{ ...o.usage, model: o.model }], calculated: zero },
232
+ model: o.model,
233
+ step: "first-classify",
234
+ },
235
+ created: new Date().toISOString(),
236
+ }));
237
+ if (rInsert.isErr()) {
238
+ vctx.logger.Warn().Err(rInsert).Str("chatId", o.chatId).Msg("first-build-classify-row-failed");
239
+ }
240
+ }
241
+ //# sourceMappingURL=first-build-classifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-build-classifier.js","sourceRoot":"","sources":["../../jsr/intern/first-build-classifier.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,37 @@
1
1
  import { Result } from "@adviser/cement";
2
2
  import type { VibesApiSQLCtx } from "../types.js";
3
- export declare const INSTRUCTION_VARIANTS: readonly ["direct-write"];
3
+ export declare const INSTRUCTION_VARIANTS: readonly ["direct-write", "pre-staged-reply", "fast-first-turn", "server-first-build", "fast-server-first-build", "fast-first-turn-full-brief", "opus-server-first-build", "seeded-address-words", "no-first-brief"];
4
4
  export type InstructionVariant = (typeof INSTRUCTION_VARIANTS)[number];
5
+ export declare function variantForTurn(variant: InstructionVariant | undefined, turn: {
6
+ readonly firstTurn: boolean;
7
+ }): InstructionVariant | undefined;
5
8
  export declare function admitInstructionVariant(requested: unknown, ownerHandle: string | undefined): Result<InstructionVariant | undefined>;
6
9
  export declare const DIRECT_WRITE_VARIANT_INSTRUCTION = "<direct-write-session>\nIn this conversation you write the app's code yourself. You are its builder as well as the person's\nguide, so every file the app has is one you wrote and committed, and each change reaches the app as\nyour own commit.\n\nA new app starts with create_vibe carrying codegen: false, together with the fields you always fill:\nprompt, pairs, iconDescription, skills and nature. It answers `created`: the app has its\naddress, name, icon and look, and its files are yours to write. Then write App.jsx with write_file \u2014\nthe complete, working app with every feature wired, following the builder brief below \u2014 and, in the\nsame pass, access.js with the app's record rules and backend.js when it needs server work. Run\nvalidate, fix what it reports and validate again until it comes back clean, then commit_version. Its\n[commit result] is the moment the app is saved, and the reply that says the app is ready follows it.\n\nThe record rules are part of your first pass: the group shape the base instruction describes is an\naccess.js you write beside App.jsx, with the can gates in App.jsx itself, and the invite screen there\ntoo when the ask names other people, sharing or a group. The\nfirst touch of access.js or backend.js hands you the guide index for that file; read the section\nyou need at its offset.\n\nA later change takes the same shape: read the files it touches, edit_file or write_file, validate\nuntil clean, commit_version, then answer from the [commit result]. A reshape, a new screen and a\none-word fix all travel this way. set_app_style still owns the app's look setting.\n\nThe <builder-brief> below is exactly what the platform's builder is taught about writing an app\nhere: the React rules, the house look and its tokens, and the Fireproof, callAI, ImgGen, useVibe\nand useViewer APIs. It is your reference for App.jsx. Where it describes emitting fenced code\nblocks, a title and a feature list, your equivalent is the write_file call; where it closes a\nturn with an improvement question, your own reply rules apply. Any other capability in the\ncatalog reads as /skills/<name>.md with read_file (for example /skills/three-js.md).\n</direct-write-session>";
10
+ export declare const PRE_STAGED_REPLY_VARIANT_INSTRUCTION = "<pre-staged-reply>\nOn this first build your reply comes in two parts, one on each side of the build.\n\nWhen create_vibe answers `building`, describe the app the person is about to open, in present\ntense and in the person's own terms, with a little room to explain: what the app is and who it is\nfor; its screens and the main things the person does on each; and its access rules in plain\nwords \u2014 who can see it, who can add or change things, and what someone opening a shared link\ngets. It describes the app itself; the build's arrival is the result's to announce. Then stop\nspeaking: the build owns the next step, and the options belong to the second part.\n\nWhen the [build result] arrives, the description is already on the person's screen, so the\nsecond part starts from what is new. When the result differs from the description \u2014 a field that\ncame out missing, an access rule that came out another way \u2014 say so in one sentence; when it\nmatches, go straight to the options. Then offer two or three concrete next features for this app\nas options, offered with offer_options as the turn's last call so they arrive as chips the person\ncan tap rather than as prose: each one something this app could do next that the person did not\nmention. The description stands as written: the second part carries no restatement of it and no line\nconfirming the app matches it.\n\nThe base rule holds across both parts: saved, done, ready, in and live belong to the second\npart, written after the result arrives.\n</pre-staged-reply>";
11
+ export declare const FAST_FIRST_TURN_AGENT_MODEL = "~anthropic/claude-sonnet-latest";
12
+ export declare const FAST_FIRST_TURN_REASONING: {
13
+ readonly effort: "none";
14
+ };
15
+ export interface FastFirstTurnLevers {
16
+ readonly model: string;
17
+ readonly reasoning: {
18
+ readonly effort: "none";
19
+ };
20
+ }
21
+ export declare function serverFirstBuildArmed(variant: InstructionVariant | undefined, firstTurn: boolean): boolean;
22
+ export declare function firstBriefArmed(variant: InstructionVariant | undefined, firstTurn: boolean, defaultOn: boolean): boolean;
23
+ export declare const AGENT_FIRST_BRIEF_ENV = "AGENT_FIRST_BRIEF";
24
+ export declare function agentFirstBriefEnabled(flag: string | undefined): boolean;
25
+ export declare const FIRST_BRIEF_ROUND_TAG = "<first-brief-round>";
26
+ export declare const FIRST_BRIEF_WORD_COUNT = 5;
27
+ export declare function addressWordsSentence(words: readonly string[]): string;
28
+ export declare function firstBriefRoundInstruction(words: readonly string[]): string;
29
+ export declare function seededAddressWordsArmed(variant: InstructionVariant | undefined, firstTurn: boolean): boolean;
30
+ export declare const SEEDED_ADDRESS_WORDS_TAG = "<seeded-address-words>";
31
+ export declare function seededAddressWordsInstruction(words: readonly string[]): string;
32
+ export declare function fastFirstTurnLevers(variant: InstructionVariant | undefined, firstTurn: boolean): FastFirstTurnLevers | undefined;
33
+ 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>";
34
+ export declare const FAST_FIRST_TURN_ENRICHED_PROMPT_DESCRIPTION: string;
7
35
  export declare function renderDirectWriteVariant(builderBrief: string): string;
8
36
  export declare function loadDirectWriteBuilderBrief(vctx: VibesApiSQLCtx, model: string, userId: string | undefined): Promise<Result<string>>;
9
37
  export declare function agentSystemContent(variantText?: string, extraText?: string): {
@@ -4,7 +4,32 @@ import { AGENT_SESSION_INSTRUCTION } from "./agent-session-instruction.js";
4
4
  import { createPromptAssetFetch, promptsPkgBaseUrl } from "./prompt-asset-fetch.js";
5
5
  import { EVAL_HANDLES, isEvalHandle } from "./eval-handles.js";
6
6
  import { mintFallbackTheme } from "./mint-style.js";
7
- export const INSTRUCTION_VARIANTS = ["direct-write"];
7
+ export const INSTRUCTION_VARIANTS = [
8
+ "direct-write",
9
+ "pre-staged-reply",
10
+ "fast-first-turn",
11
+ "server-first-build",
12
+ "fast-server-first-build",
13
+ "fast-first-turn-full-brief",
14
+ "opus-server-first-build",
15
+ "seeded-address-words",
16
+ "no-first-brief",
17
+ ];
18
+ const FIRST_TURN_ONLY_VARIANTS = [
19
+ "pre-staged-reply",
20
+ "fast-first-turn",
21
+ "server-first-build",
22
+ "fast-server-first-build",
23
+ "fast-first-turn-full-brief",
24
+ "opus-server-first-build",
25
+ "seeded-address-words",
26
+ "no-first-brief",
27
+ ];
28
+ export function variantForTurn(variant, turn) {
29
+ if (variant !== undefined && FIRST_TURN_ONLY_VARIANTS.includes(variant) && turn.firstTurn === false)
30
+ return undefined;
31
+ return variant;
32
+ }
8
33
  function isInstructionVariant(v) {
9
34
  return typeof v === "string" && INSTRUCTION_VARIANTS.includes(v);
10
35
  }
@@ -50,6 +75,87 @@ blocks, a title and a feature list, your equivalent is the write_file call; wher
50
75
  turn with an improvement question, your own reply rules apply. Any other capability in the
51
76
  catalog reads as /skills/<name>.md with read_file (for example /skills/three-js.md).
52
77
  </direct-write-session>`;
78
+ export const PRE_STAGED_REPLY_VARIANT_INSTRUCTION = `<pre-staged-reply>
79
+ On this first build your reply comes in two parts, one on each side of the build.
80
+
81
+ When create_vibe answers \`building\`, describe the app the person is about to open, in present
82
+ tense and in the person's own terms, with a little room to explain: what the app is and who it is
83
+ for; its screens and the main things the person does on each; and its access rules in plain
84
+ words — who can see it, who can add or change things, and what someone opening a shared link
85
+ gets. It describes the app itself; the build's arrival is the result's to announce. Then stop
86
+ speaking: the build owns the next step, and the options belong to the second part.
87
+
88
+ When the [build result] arrives, the description is already on the person's screen, so the
89
+ second part starts from what is new. When the result differs from the description — a field that
90
+ came out missing, an access rule that came out another way — say so in one sentence; when it
91
+ matches, go straight to the options. Then offer two or three concrete next features for this app
92
+ as options, offered with offer_options as the turn's last call so they arrive as chips the person
93
+ can tap rather than as prose: each one something this app could do next that the person did not
94
+ mention. The description stands as written: the second part carries no restatement of it and no line
95
+ confirming the app matches it.
96
+
97
+ The base rule holds across both parts: saved, done, ready, in and live belong to the second
98
+ part, written after the result arrives.
99
+ </pre-staged-reply>`;
100
+ export const FAST_FIRST_TURN_AGENT_MODEL = "~anthropic/claude-sonnet-latest";
101
+ export const FAST_FIRST_TURN_REASONING = { effort: "none" };
102
+ export function serverFirstBuildArmed(variant, firstTurn) {
103
+ return (variant === "server-first-build" || variant === "fast-server-first-build") && firstTurn;
104
+ }
105
+ export function firstBriefArmed(variant, firstTurn, defaultOn) {
106
+ if (firstTurn === false)
107
+ return false;
108
+ if (variant === "opus-server-first-build")
109
+ return true;
110
+ return variant === undefined && defaultOn;
111
+ }
112
+ export const AGENT_FIRST_BRIEF_ENV = "AGENT_FIRST_BRIEF";
113
+ export function agentFirstBriefEnabled(flag) {
114
+ return flag !== "off";
115
+ }
116
+ export const FIRST_BRIEF_ROUND_TAG = "<first-brief-round>";
117
+ export const FIRST_BRIEF_WORD_COUNT = 5;
118
+ export function addressWordsSentence(words) {
119
+ return words.length === 0
120
+ ? ""
121
+ : `Fold a different one of these words into each candidate address, picking the ones that best
122
+ suit the app's title: ${words.join(", ")}.
123
+ `;
124
+ }
125
+ export function firstBriefRoundInstruction(words) {
126
+ return `${FIRST_BRIEF_ROUND_TAG}
127
+ This first round starts the app. As you normally would, tell the person briefly what is on the
128
+ way, in their terms, then call create_vibe in this same round, with the full brief and every field
129
+ you always fill.
130
+ ${addressWordsSentence(words)}</first-brief-round>`;
131
+ }
132
+ export function seededAddressWordsArmed(variant, firstTurn) {
133
+ return variant === "seeded-address-words" && firstTurn;
134
+ }
135
+ export const SEEDED_ADDRESS_WORDS_TAG = "<seeded-address-words>";
136
+ export function seededAddressWordsInstruction(words) {
137
+ return `${SEEDED_ADDRESS_WORDS_TAG}
138
+ ${addressWordsSentence(words)}</seeded-address-words>`;
139
+ }
140
+ const FAST_FIRST_TURN_LEVER_VARIANTS = [
141
+ "fast-first-turn",
142
+ "fast-server-first-build",
143
+ "fast-first-turn-full-brief",
144
+ ];
145
+ export function fastFirstTurnLevers(variant, firstTurn) {
146
+ if (variant === undefined || FAST_FIRST_TURN_LEVER_VARIANTS.includes(variant) === false || firstTurn === false)
147
+ return undefined;
148
+ return { model: FAST_FIRST_TURN_AGENT_MODEL, reasoning: { ...FAST_FIRST_TURN_REASONING } };
149
+ }
150
+ export const FAST_FIRST_TURN_VARIANT_INSTRUCTION = `<fast-first-turn>
151
+ This first turn moves quickly. The person's own sentence travels to the builder in full as
152
+ create_vibe's prompt, so the brief you add stays short: enrichedPrompt is two or three sentences
153
+ naming the screens and the actions on them, and the builder reads the person's own words for the
154
+ rest. The skills list carries the capability choices — name each capability the ask needs there.
155
+ Call create_vibe as your first action, then tell the person in a sentence or two what is on its way.
156
+ </fast-first-turn>`;
157
+ export const FAST_FIRST_TURN_ENRICHED_PROMPT_DESCRIPTION = "A short brief: two or three sentences naming the app's screens and the actions on them. The builder reads " +
158
+ "the person's own words in prompt for the rest, and the skills list carries the capability choices.";
53
159
  export function renderDirectWriteVariant(builderBrief) {
54
160
  return `${DIRECT_WRITE_VARIANT_INSTRUCTION}\n\n<builder-brief>\n${builderBrief}\n</builder-brief>`;
55
161
  }
@@ -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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"}
@@ -72,6 +72,7 @@ export interface LlmToolLoopArgs {
72
72
  head(): LLMMessage[] | undefined;
73
73
  readonly dispatchBudgetMs: number;
74
74
  endsQuietly?(error: unknown): boolean;
75
+ continueQuietRound?(): boolean;
75
76
  };
76
77
  readonly request: LLMRequest;
77
78
  readonly stream: ReadableStream<SseStreamMsg>;
@@ -466,6 +466,19 @@ export async function runLlmToolLoop(loopArgs) {
466
466
  const saved = await args.session.checkpoint(currentRequest.messages);
467
467
  if (saved.isErr())
468
468
  return (await endQuietly(saved.Err())) ?? Result.Err(saved.Err());
469
+ if (args.session.continueQuietRound?.() === true) {
470
+ if (remainingBudget(budget, now) <= 0)
471
+ return Result.Err("LLM tool loop deadline exceeded before resumed dispatch");
472
+ const carried = await args.dispatch({ request: withMovingCacheBreakpoint(currentRequest), budget, round: rounds });
473
+ if (carried.isErr())
474
+ return Result.Err(carried.Err());
475
+ currentRequest = carried.Ok().request;
476
+ currentStream = carried.Ok().stream;
477
+ currentAbort = carried.Ok().abort;
478
+ if (textState.lastChar !== "" && /\s/.test(textState.lastChar) === false)
479
+ textState.separatorOwed = true;
480
+ continue;
481
+ }
469
482
  const event = await args.session.next();
470
483
  if (event.isErr())
471
484
  return (await endQuietly(event.Err())) ?? Result.Err(event.Err());
@@ -1 +1 @@
1
- {"version":3,"file":"llm-tool-loop.js","sourceRoot":"","sources":["../../jsr/intern/llm-tool-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-tool-loop.js","sourceRoot":"","sources":["../../jsr/intern/llm-tool-loop.ts"],"names":[],"mappings":"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"}