@vibes.diy/api-svc 14.3.88 → 14.3.91
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/create-handler.d.ts +1 -0
- package/create-handler.js +1 -0
- package/create-handler.js.map +1 -1
- package/intern/agent-belt.d.ts +2 -3
- package/intern/agent-belt.js +6 -28
- package/intern/agent-belt.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +3 -2
- package/intern/agent-session-instruction.js +3 -1
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-skill-catalog.d.ts +12 -0
- package/intern/agent-skill-catalog.js +26 -0
- package/intern/agent-skill-catalog.js.map +1 -0
- package/intern/capi-build-event.d.ts +3 -1
- package/intern/capi-build-event.js +18 -1
- package/intern/capi-build-event.js.map +1 -1
- package/intern/capi-lead-event.d.ts +55 -0
- package/intern/capi-lead-event.js +169 -0
- package/intern/capi-lead-event.js.map +1 -0
- package/intern/capi-lead-ledger.d.ts +11 -0
- package/intern/capi-lead-ledger.js +75 -0
- package/intern/capi-lead-ledger.js.map +1 -0
- package/intern/get-model-defaults.d.ts +1 -0
- package/intern/get-model-defaults.js +2 -1
- package/intern/get-model-defaults.js.map +1 -1
- package/intern/instant-build.d.ts +154 -0
- package/intern/instant-build.js +443 -0
- package/intern/instant-build.js.map +1 -0
- package/intern/mercury-capability-triggers.d.ts +1 -1
- package/intern/mercury-capability-triggers.js +0 -81
- package/intern/mercury-capability-triggers.js.map +1 -1
- package/intern/mercury-first-build-seam.js +1 -1
- package/intern/mercury-first-build-seam.js.map +1 -1
- package/intern/mercury-first-build.d.ts +25 -15
- package/intern/mercury-first-build.js +114 -84
- package/intern/mercury-first-build.js.map +1 -1
- package/intern/prompt-assembly.d.ts +20 -0
- package/intern/prompt-assembly.js +10 -1
- package/intern/prompt-assembly.js.map +1 -1
- package/intern/record-daily-visit.js +19 -1
- package/intern/record-daily-visit.js.map +1 -1
- package/package.json +13 -13
- package/public/codegen-turn-route.d.ts +9 -0
- package/public/codegen-turn-route.js +47 -2
- package/public/codegen-turn-route.js.map +1 -1
- package/public/ensure-user-settings.d.ts +1 -1
- package/public/ensure-user-settings.js +23 -10
- package/public/ensure-user-settings.js.map +1 -1
- package/public/handle-prompt-context.d.ts +3 -1
- package/public/handle-prompt-context.js +9 -1
- package/public/handle-prompt-context.js.map +1 -1
- package/public/handler-llm-request.d.ts +6 -1
- package/public/handler-llm-request.js +11 -9
- package/public/handler-llm-request.js.map +1 -1
- package/public/prompt-chat-section.js +1 -0
- package/public/prompt-chat-section.js.map +1 -1
- package/public/prompt-section-actions.js +24 -0
- package/public/prompt-section-actions.js.map +1 -1
- package/public/prompt-turn-types.d.ts +2 -0
- package/public/stream-assembly.d.ts +5 -2
- package/public/stream-assembly.js +5 -2
- package/public/stream-assembly.js.map +1 -1
- package/public/who-am-i.js +12 -1
- package/public/who-am-i.js.map +1 -1
- package/types.d.ts +2 -1
- package/types.js.map +1 -1
|
@@ -0,0 +1,443 @@
|
|
|
1
|
+
import { Result, exception2Result } from "@adviser/cement";
|
|
2
|
+
import { type } from "arktype";
|
|
3
|
+
import { makeBaseSystemPrompt } from "@vibes.diy/prompts";
|
|
4
|
+
import { createBlockStream, isCodeEnd, } from "@vibes.diy/call-ai-v2";
|
|
5
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
6
|
+
import { createBlockAccumulator, createStreamingResolver, resolveCodeBlocks } from "./prompt-streaming.js";
|
|
7
|
+
import { synthesizeImports } from "./import-synth.js";
|
|
8
|
+
import { checkOpens, OPENS_ADVISORY_CLASSES } from "./opens-check.js";
|
|
9
|
+
import { saveRepairFindings } from "./save-repair.js";
|
|
10
|
+
import { composeRepairAsk, renderRepairFiles } from "./save-repair-io.js";
|
|
11
|
+
import { createPromptAssetFetch, promptsPkgBaseUrl } from "./prompt-asset-fetch.js";
|
|
12
|
+
import { loadActiveSettings, lookOptionForTurn } from "./prompt-assembly.js";
|
|
13
|
+
export const INSTANT_MERCURY_MODEL = "inception/mercury-2.5";
|
|
14
|
+
export const INSTANT_HAIKU_MODEL = "anthropic/claude-haiku-5.5";
|
|
15
|
+
export const INSTANT_MAX_OUTPUT_TOKENS = 32_000;
|
|
16
|
+
export const INSTANT_MERCURY_CALL_MS = 40_000;
|
|
17
|
+
export const INSTANT_HAIKU_CALL_MS = 90_000;
|
|
18
|
+
export const INSTANT_STAGE_BUDGET_MS = 150_000;
|
|
19
|
+
export const INSTANT_MAX_ATTEMPTS = 5;
|
|
20
|
+
export function instantModelChoice(name) {
|
|
21
|
+
switch (name) {
|
|
22
|
+
case "mercury":
|
|
23
|
+
return {
|
|
24
|
+
name,
|
|
25
|
+
id: INSTANT_MERCURY_MODEL,
|
|
26
|
+
reasoning: { effort: "none" },
|
|
27
|
+
reasoningEffort: "none",
|
|
28
|
+
callMs: INSTANT_MERCURY_CALL_MS,
|
|
29
|
+
};
|
|
30
|
+
case "haiku":
|
|
31
|
+
return { name, id: INSTANT_HAIKU_MODEL, reasoning: { enabled: false }, callMs: INSTANT_HAIKU_CALL_MS };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export const INSTANT_PARAGRAPH = "Build the interaction this sentence names, fully working, with realistic launch content. " +
|
|
35
|
+
"Records are documents with a type; every list is a live query; every save is a document write. " +
|
|
36
|
+
"Known values are direct controls. " +
|
|
37
|
+
"Sharing, invitations, roles, scheduled jobs, emails and outside services come in a later pass.";
|
|
38
|
+
export function composeInstantBrief(sentence) {
|
|
39
|
+
const trimmed = sentence.trim().replace(/[.\s]+$/, "");
|
|
40
|
+
return `${trimmed}. ${INSTANT_PARAGRAPH}`;
|
|
41
|
+
}
|
|
42
|
+
export function composeInstantEditAsk(args) {
|
|
43
|
+
return (renderRepairFiles({ vfs: args.vfs, intro: "This is the app as it stands." }) +
|
|
44
|
+
"\nChange it as this instruction says:\n\n" +
|
|
45
|
+
args.instruction.trim() +
|
|
46
|
+
"\n\nWrite every file you change in full, in the same shape (each under its `### `path`` heading, complete, once). " +
|
|
47
|
+
"Leave out the files you do not change. Keep everything that already works.");
|
|
48
|
+
}
|
|
49
|
+
export function appendInstantContext(systemPrompt, ownerHandle) {
|
|
50
|
+
const previewMaker = `<preview-maker>${JSON.stringify({ handle: ownerHandle })}</preview-maker>\n` +
|
|
51
|
+
"This is the maker opening the first preview. Match seed.json parent IDs to this maker's opening query; resolve each visitor's identity dynamically in app code.";
|
|
52
|
+
return [systemPrompt.replace(/\n+$/, ""), previewMaker].join("\n\n");
|
|
53
|
+
}
|
|
54
|
+
export async function loadInstantSystemPrompt(vctx, args) {
|
|
55
|
+
const active = await exception2Result(() => loadActiveSettings(vctx, args.chatId));
|
|
56
|
+
if (active.isErr())
|
|
57
|
+
return Result.Err(active.Err());
|
|
58
|
+
const { skills, theme, title, enrichedPrompt, layoutArchetype, flourishes, textureNote } = active.Ok();
|
|
59
|
+
const base = await exception2Result(() => makeBaseSystemPrompt(INSTANT_MERCURY_MODEL, {
|
|
60
|
+
...(skills === undefined ? {} : { skills }),
|
|
61
|
+
theme,
|
|
62
|
+
...lookOptionForTurn(vctx, { includeTheme: true, theme, ...(args.userId === undefined ? {} : { userId: args.userId }) }),
|
|
63
|
+
title,
|
|
64
|
+
enrichedPrompt,
|
|
65
|
+
layoutArchetype,
|
|
66
|
+
flourishes,
|
|
67
|
+
textureNote,
|
|
68
|
+
demoData: false,
|
|
69
|
+
suppressDefaultStylePrompt: false,
|
|
70
|
+
variant: "initial-instant",
|
|
71
|
+
pkgBaseUrl: promptsPkgBaseUrl(vctx.params.pkgRepos.workspace),
|
|
72
|
+
fetch: createPromptAssetFetch({ fetchAsset: vctx.fetchAsset }),
|
|
73
|
+
}));
|
|
74
|
+
if (base.isErr())
|
|
75
|
+
return Result.Err(base.Err());
|
|
76
|
+
return Result.Ok(appendInstantContext(base.Ok().systemPrompt, args.ownerHandle));
|
|
77
|
+
}
|
|
78
|
+
function toLines(text) {
|
|
79
|
+
const lines = text.split("\n");
|
|
80
|
+
if (lines.length > 0 && lines[lines.length - 1] === "")
|
|
81
|
+
lines.pop();
|
|
82
|
+
return lines;
|
|
83
|
+
}
|
|
84
|
+
async function textToBlocks(text) {
|
|
85
|
+
const streamId = "instant-parse";
|
|
86
|
+
const inner = `${streamId}:lines`;
|
|
87
|
+
const now = new Date();
|
|
88
|
+
const lines = toLines(text);
|
|
89
|
+
let id = 0;
|
|
90
|
+
const input = new ReadableStream({
|
|
91
|
+
start(controller) {
|
|
92
|
+
controller.enqueue({ type: "line.begin", streamId: inner, timestamp: now });
|
|
93
|
+
lines.forEach((content, index) => controller.enqueue({ type: "line.line", streamId: inner, content, lineNr: index + 1, timestamp: now }));
|
|
94
|
+
controller.enqueue({ type: "line.end", streamId: inner, totalLines: lines.length, timestamp: now });
|
|
95
|
+
controller.close();
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
const out = input.pipeThrough(createBlockStream(streamId, inner, () => `i${++id}`));
|
|
99
|
+
const collected = [];
|
|
100
|
+
const read = await exception2Result(async () => {
|
|
101
|
+
const reader = out.getReader();
|
|
102
|
+
for (;;) {
|
|
103
|
+
const next = await reader.read();
|
|
104
|
+
if (next.done === true)
|
|
105
|
+
break;
|
|
106
|
+
collected.push(next.value);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
if (read.isErr())
|
|
110
|
+
return Result.Err(read.Err());
|
|
111
|
+
return Result.Ok(collected);
|
|
112
|
+
}
|
|
113
|
+
export async function parseCandidateText(text, base) {
|
|
114
|
+
const blocks = await textToBlocks(text);
|
|
115
|
+
if (blocks.isErr())
|
|
116
|
+
return Result.Err(blocks.Err());
|
|
117
|
+
const accumulator = createBlockAccumulator();
|
|
118
|
+
const code = [];
|
|
119
|
+
for (const msg of blocks.Ok()) {
|
|
120
|
+
const closed = accumulator.ingest(msg);
|
|
121
|
+
if (closed !== undefined)
|
|
122
|
+
code.push({ begin: closed.begin, lines: [...closed.lines], end: closed.end });
|
|
123
|
+
}
|
|
124
|
+
const resolved = resolveCodeBlocks(code, base);
|
|
125
|
+
if (resolved.changedPaths.length === 0)
|
|
126
|
+
return Result.Err("the reply wrote no file");
|
|
127
|
+
const vfs = new Map();
|
|
128
|
+
for (const file of resolved.files) {
|
|
129
|
+
if (file.type === "code-block")
|
|
130
|
+
vfs.set(file.filename, file.content);
|
|
131
|
+
}
|
|
132
|
+
const observer = createStreamingResolver({ chatId: "instant", promptId: "instant", seed: base, onApplyError: ignoreApplyError });
|
|
133
|
+
const applyErrors = [];
|
|
134
|
+
for (const block of code) {
|
|
135
|
+
if (block.end === undefined || isCodeEnd(block.end) === false)
|
|
136
|
+
continue;
|
|
137
|
+
const applied = observer.observeBlock({ begin: block.begin, lines: block.lines, end: block.end });
|
|
138
|
+
for (const error of applied.errors) {
|
|
139
|
+
const near = error.searchPrefix === undefined ? "" : ` near "${error.searchPrefix}"`;
|
|
140
|
+
applyErrors.push(`${applied.path.replace(/^\/+/, "")}: a SEARCH/REPLACE edit did not apply (${error.reason})${near}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return Result.Ok({ vfs, changed: resolved.changedPaths, applyErrors });
|
|
144
|
+
}
|
|
145
|
+
function ignoreApplyError() {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
export function autofixAndCheck(args) {
|
|
149
|
+
const fixed = synthesizeImports({ vfs: args.vfs, paths: args.changed.filter((path) => args.vfs.has(path)), look: args.look });
|
|
150
|
+
const files = [...fixed.vfs].map(([filename, content]) => ({ type: "code-block", filename, lang: "jsx", content }));
|
|
151
|
+
const parse = saveRepairFindings(files, new Set(args.changed)).map((finding) => `${finding.path.replace(/^\/+/, "")}: ${finding.message}`);
|
|
152
|
+
const opens = checkOpens(fixed.vfs)
|
|
153
|
+
.findings.filter((finding) => OPENS_ADVISORY_CLASSES.has(finding.class) === false)
|
|
154
|
+
.map((finding) => `${finding.file.replace(/^\/+/, "")}:${finding.line}: ${finding.message}`);
|
|
155
|
+
const findings = [...parse, ...opens];
|
|
156
|
+
return { vfs: fixed.vfs, opens: findings.length === 0, findings, notes: fixed.notes };
|
|
157
|
+
}
|
|
158
|
+
const completionBody = lazyType(() => type({
|
|
159
|
+
"model?": "string",
|
|
160
|
+
choices: type({ message: { content: "string | null" }, "finish_reason?": "string | null" }).array(),
|
|
161
|
+
"usage?": {
|
|
162
|
+
"prompt_tokens?": "number >= 0",
|
|
163
|
+
"completion_tokens?": "number >= 0",
|
|
164
|
+
"total_tokens?": "number >= 0",
|
|
165
|
+
"cost?": "number >= 0",
|
|
166
|
+
},
|
|
167
|
+
}));
|
|
168
|
+
export function instantModelCallFor(vctx) {
|
|
169
|
+
return async function callInstantModel(req) {
|
|
170
|
+
const body = {
|
|
171
|
+
model: req.model.id,
|
|
172
|
+
stream: false,
|
|
173
|
+
max_tokens: INSTANT_MAX_OUTPUT_TOKENS,
|
|
174
|
+
reasoning: { ...req.model.reasoning },
|
|
175
|
+
messages: [...req.messages],
|
|
176
|
+
};
|
|
177
|
+
const rRes = await exception2Result(() => vctx.llmRequest({ ...body, headers: vctx.params.llm.headers }, { signal: req.signal }));
|
|
178
|
+
if (rRes.isErr())
|
|
179
|
+
return Result.Err(rRes.Err());
|
|
180
|
+
const res = rRes.Ok();
|
|
181
|
+
if (res.ok === false) {
|
|
182
|
+
await exception2Result(() => res.body?.cancel());
|
|
183
|
+
return Result.Err(`instant ${req.model.name}: status ${res.status}`);
|
|
184
|
+
}
|
|
185
|
+
const rJson = await exception2Result(() => res.json());
|
|
186
|
+
if (rJson.isErr())
|
|
187
|
+
return Result.Err(rJson.Err());
|
|
188
|
+
const parsed = completionBody(rJson.Ok());
|
|
189
|
+
if (parsed instanceof type.errors)
|
|
190
|
+
return Result.Err(`instant ${req.model.name}: reply: ${parsed.summary}`);
|
|
191
|
+
const content = parsed.choices[0]?.message.content;
|
|
192
|
+
if (content === undefined || content === null || content.trim().length === 0) {
|
|
193
|
+
return Result.Err(`instant ${req.model.name}: empty reply (finish ${parsed.choices[0]?.finish_reason ?? "unknown"})`);
|
|
194
|
+
}
|
|
195
|
+
const u = parsed.usage;
|
|
196
|
+
const servedModel = parsed.model ?? req.model.id;
|
|
197
|
+
return Result.Ok({
|
|
198
|
+
text: content,
|
|
199
|
+
servedModel,
|
|
200
|
+
...(u === undefined
|
|
201
|
+
? {}
|
|
202
|
+
: {
|
|
203
|
+
usage: {
|
|
204
|
+
prompt_tokens: u.prompt_tokens ?? 0,
|
|
205
|
+
completion_tokens: u.completion_tokens ?? 0,
|
|
206
|
+
total_tokens: u.total_tokens ?? (u.prompt_tokens ?? 0) + (u.completion_tokens ?? 0),
|
|
207
|
+
model: servedModel,
|
|
208
|
+
...(req.model.reasoningEffort === undefined ? {} : { reasoningEffort: req.model.reasoningEffort }),
|
|
209
|
+
...(u.cost === undefined ? {} : { cost: u.cost }),
|
|
210
|
+
},
|
|
211
|
+
}),
|
|
212
|
+
});
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
async function callWithin(call, req, cancel) {
|
|
216
|
+
const abort = new AbortController();
|
|
217
|
+
const timer = setTimeout(function expire() {
|
|
218
|
+
abort.abort();
|
|
219
|
+
}, Math.max(1, req.timeoutMs));
|
|
220
|
+
function cancelled() {
|
|
221
|
+
abort.abort();
|
|
222
|
+
}
|
|
223
|
+
cancel.addEventListener("abort", cancelled, { once: true });
|
|
224
|
+
if (cancel.aborted)
|
|
225
|
+
abort.abort();
|
|
226
|
+
const reply = await Promise.resolve()
|
|
227
|
+
.then(function invoke() {
|
|
228
|
+
return call({ model: req.model, messages: req.messages, signal: abort.signal });
|
|
229
|
+
})
|
|
230
|
+
.then(function settle(r) {
|
|
231
|
+
return r;
|
|
232
|
+
}, function failed(e) {
|
|
233
|
+
return Result.Err(e instanceof Error ? e : new Error(String(e)));
|
|
234
|
+
})
|
|
235
|
+
.finally(function disarm() {
|
|
236
|
+
clearTimeout(timer);
|
|
237
|
+
cancel.removeEventListener("abort", cancelled);
|
|
238
|
+
});
|
|
239
|
+
if (cancel.aborted)
|
|
240
|
+
return { kind: "cancelled" };
|
|
241
|
+
if (abort.signal.aborted)
|
|
242
|
+
return { kind: "deadline" };
|
|
243
|
+
return { kind: "reply", reply };
|
|
244
|
+
}
|
|
245
|
+
function pauseUnlessCancelled(ms, cancel) {
|
|
246
|
+
return new Promise((resolve) => {
|
|
247
|
+
const timer = setTimeout(done, ms);
|
|
248
|
+
function done() {
|
|
249
|
+
clearTimeout(timer);
|
|
250
|
+
cancel.removeEventListener("abort", done);
|
|
251
|
+
resolve();
|
|
252
|
+
}
|
|
253
|
+
cancel.addEventListener("abort", done, { once: true });
|
|
254
|
+
if (cancel.aborted)
|
|
255
|
+
done();
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
export async function runInstantCandidate(args) {
|
|
259
|
+
const now = args.now ?? Date.now;
|
|
260
|
+
const maxAttempts = args.maxAttempts ?? INSTANT_MAX_ATTEMPTS;
|
|
261
|
+
const { model } = args.spec;
|
|
262
|
+
const usage = [];
|
|
263
|
+
const messages = [...args.spec.messages];
|
|
264
|
+
let attempts = 0;
|
|
265
|
+
let providerErrors = 0;
|
|
266
|
+
let firstFindings = [];
|
|
267
|
+
let lastError = "no attempt";
|
|
268
|
+
let current = args.base;
|
|
269
|
+
let changed = new Set();
|
|
270
|
+
function end(gate, extra) {
|
|
271
|
+
return {
|
|
272
|
+
name: model.name,
|
|
273
|
+
model: model.id,
|
|
274
|
+
gate,
|
|
275
|
+
attempts,
|
|
276
|
+
ms: now() - args.startedAt,
|
|
277
|
+
usage,
|
|
278
|
+
abortedInFlight: false,
|
|
279
|
+
findings: firstFindings,
|
|
280
|
+
...extra,
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
for (;;) {
|
|
284
|
+
if (args.cancel.aborted)
|
|
285
|
+
return end("cancelled", {});
|
|
286
|
+
const left = args.deadlineAt - now();
|
|
287
|
+
if (left <= 0)
|
|
288
|
+
return end("fail", { error: `stage budget spent after ${attempts} call(s): ${lastError}` });
|
|
289
|
+
if (attempts >= maxAttempts)
|
|
290
|
+
return end("fail", { error: `${attempts} calls without a passing answer: ${lastError}` });
|
|
291
|
+
attempts++;
|
|
292
|
+
const answer = await callWithin(args.call, { model, messages, timeoutMs: Math.min(model.callMs, left) }, args.cancel);
|
|
293
|
+
if (answer.kind === "cancelled")
|
|
294
|
+
return end("cancelled", { abortedInFlight: true });
|
|
295
|
+
if (answer.kind === "deadline") {
|
|
296
|
+
lastError = `call ${attempts} passed its deadline`;
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
if (answer.reply.isErr()) {
|
|
300
|
+
lastError = answer.reply.Err().message;
|
|
301
|
+
providerErrors++;
|
|
302
|
+
await pauseUnlessCancelled(Math.min(8_000, 1_000 * 2 ** (providerErrors - 1)), args.cancel);
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
providerErrors = 0;
|
|
306
|
+
const reply = answer.reply.Ok();
|
|
307
|
+
if (reply.usage !== undefined)
|
|
308
|
+
usage.push(reply.usage);
|
|
309
|
+
const parsed = await parseCandidateText(reply.text, current);
|
|
310
|
+
if (parsed.isErr()) {
|
|
311
|
+
lastError = parsed.Err().message;
|
|
312
|
+
messages.push({ role: "assistant", content: [{ type: "text", text: reply.text }] });
|
|
313
|
+
messages.push({ role: "user", content: [{ type: "text", text: composeRepairAsk([`the reply: ${lastError}`]) }] });
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
changed = new Set([...changed, ...parsed.Ok().changed]);
|
|
317
|
+
const checked = autofixAndCheck({ vfs: parsed.Ok().vfs, changed: [...changed], look: args.look });
|
|
318
|
+
const gated = parsed.Ok().applyErrors.length === 0
|
|
319
|
+
? checked
|
|
320
|
+
: { ...checked, opens: false, findings: [...parsed.Ok().applyErrors, ...checked.findings] };
|
|
321
|
+
if (gated.opens) {
|
|
322
|
+
return end("pass", { vfs: gated.vfs, changed: [...changed] });
|
|
323
|
+
}
|
|
324
|
+
if (firstFindings.length === 0)
|
|
325
|
+
firstFindings = gated.findings.slice(0, 6);
|
|
326
|
+
lastError = gated.findings.slice(0, 3).join("; ");
|
|
327
|
+
current = gated.vfs;
|
|
328
|
+
messages.push({ role: "assistant", content: [{ type: "text", text: reply.text }] });
|
|
329
|
+
messages.push({ role: "user", content: [{ type: "text", text: composeRepairAsk(gated.findings) }] });
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
export async function raceInstantCandidates(args) {
|
|
333
|
+
const now = args.now ?? Date.now;
|
|
334
|
+
const startedAt = now();
|
|
335
|
+
const deadlineAt = startedAt + args.budgetMs;
|
|
336
|
+
const cancel = new AbortController();
|
|
337
|
+
function turnAborted() {
|
|
338
|
+
cancel.abort();
|
|
339
|
+
}
|
|
340
|
+
args.turn?.addEventListener("abort", turnAborted, { once: true });
|
|
341
|
+
if (args.turn?.aborted === true)
|
|
342
|
+
cancel.abort();
|
|
343
|
+
let winner;
|
|
344
|
+
let winnerMs;
|
|
345
|
+
const runs = args.specs.map((spec) => args.run({ spec, cancel: cancel.signal, startedAt, deadlineAt }).then((outcome) => {
|
|
346
|
+
if (outcome.gate === "pass" && winner === undefined) {
|
|
347
|
+
winner = outcome;
|
|
348
|
+
winnerMs = now() - startedAt;
|
|
349
|
+
cancel.abort();
|
|
350
|
+
}
|
|
351
|
+
return outcome;
|
|
352
|
+
}));
|
|
353
|
+
const outcomes = await Promise.all(runs);
|
|
354
|
+
args.turn?.removeEventListener("abort", turnAborted);
|
|
355
|
+
const settled = outcomes.map((outcome) => outcome.gate === "pass" && outcome !== winner ? { ...outcome, gate: "cancelled" } : outcome);
|
|
356
|
+
return { ...(winner === undefined ? {} : { winner }), outcomes: settled, ms: winnerMs ?? now() - startedAt };
|
|
357
|
+
}
|
|
358
|
+
export function instantReceipt(race) {
|
|
359
|
+
return {
|
|
360
|
+
candidates: race.outcomes.map((outcome) => ({
|
|
361
|
+
model: outcome.model,
|
|
362
|
+
ms: outcome.ms,
|
|
363
|
+
gate: outcome.gate,
|
|
364
|
+
attempts: outcome.attempts,
|
|
365
|
+
...(outcome.abortedInFlight ? { abortedInFlight: true } : {}),
|
|
366
|
+
})),
|
|
367
|
+
...(race.winner === undefined ? {} : { winner: race.winner.model }),
|
|
368
|
+
};
|
|
369
|
+
}
|
|
370
|
+
export function instantTurnText(race) {
|
|
371
|
+
const winner = race.winner;
|
|
372
|
+
if (winner === undefined || winner.vfs === undefined || winner.changed === undefined) {
|
|
373
|
+
const why = race.outcomes
|
|
374
|
+
.map((outcome) => `${outcome.name}: ${outcome.error ?? outcome.findings.slice(0, 2).join("; ")}`)
|
|
375
|
+
.join("\n");
|
|
376
|
+
return `The instant build wrote no files that open, so nothing was saved.\n\n${why}\n`;
|
|
377
|
+
}
|
|
378
|
+
const vfs = winner.vfs;
|
|
379
|
+
const files = new Map(winner.changed.flatMap((path) => {
|
|
380
|
+
const content = vfs.get(path);
|
|
381
|
+
return content === undefined ? [] : [[path, content]];
|
|
382
|
+
}));
|
|
383
|
+
return renderRepairFiles({ vfs: files, intro: "Here is the app." });
|
|
384
|
+
}
|
|
385
|
+
export function instantResponse(args) {
|
|
386
|
+
const model = args.race.winner?.model ?? INSTANT_HAIKU_MODEL;
|
|
387
|
+
function chunk(delta, finish, usage) {
|
|
388
|
+
return `data: ${JSON.stringify({
|
|
389
|
+
id: `instant-${args.promptId}`,
|
|
390
|
+
provider: "instant",
|
|
391
|
+
model,
|
|
392
|
+
object: "chat.completion.chunk",
|
|
393
|
+
created: Math.floor(Date.now() / 1000),
|
|
394
|
+
choices: [{ index: 0, delta, finish_reason: finish, native_finish_reason: finish }],
|
|
395
|
+
...(usage === undefined ? {} : { usage }),
|
|
396
|
+
})}\n\n`;
|
|
397
|
+
}
|
|
398
|
+
const rounds = args.race.outcomes.flatMap((outcome) => outcome.usage);
|
|
399
|
+
const body = [
|
|
400
|
+
chunk({ role: "assistant", content: instantTurnText(args.race) }, null),
|
|
401
|
+
...rounds.map((round) => chunk({}, null, round)),
|
|
402
|
+
chunk({}, "stop"),
|
|
403
|
+
"data: [DONE]\n\n",
|
|
404
|
+
].join("");
|
|
405
|
+
return new Response(body, { status: 200, headers: { "Content-Type": "text/event-stream" } });
|
|
406
|
+
}
|
|
407
|
+
function sourceFiles(vfs) {
|
|
408
|
+
return new Map([...vfs].filter(([path]) => path.startsWith("/~~") === false));
|
|
409
|
+
}
|
|
410
|
+
export function mercuryMessages(args) {
|
|
411
|
+
const files = sourceFiles(args.base);
|
|
412
|
+
const ask = files.size === 0 ? composeInstantBrief(args.instruction) : composeInstantEditAsk({ instruction: args.instruction, vfs: files });
|
|
413
|
+
return [
|
|
414
|
+
{ role: "system", content: [{ type: "text", text: args.system }] },
|
|
415
|
+
{ role: "user", content: [{ type: "text", text: ask }] },
|
|
416
|
+
];
|
|
417
|
+
}
|
|
418
|
+
export async function runInstantBuild(args) {
|
|
419
|
+
const { assembly } = args;
|
|
420
|
+
const specs = [
|
|
421
|
+
...(assembly.mercurySystem === undefined
|
|
422
|
+
? []
|
|
423
|
+
: [
|
|
424
|
+
{
|
|
425
|
+
model: instantModelChoice("mercury"),
|
|
426
|
+
messages: mercuryMessages({ system: assembly.mercurySystem, instruction: assembly.instruction, base: assembly.base }),
|
|
427
|
+
},
|
|
428
|
+
]),
|
|
429
|
+
{ model: instantModelChoice("haiku"), messages: args.haikuMessages },
|
|
430
|
+
];
|
|
431
|
+
const race = await raceInstantCandidates({
|
|
432
|
+
specs,
|
|
433
|
+
budgetMs: args.budgetMs ?? INSTANT_STAGE_BUDGET_MS,
|
|
434
|
+
turn: args.turn,
|
|
435
|
+
run: ({ spec, cancel, startedAt, deadlineAt }) => runInstantCandidate({ call: args.call, spec, base: assembly.base, look: assembly.look, cancel, startedAt, deadlineAt }),
|
|
436
|
+
});
|
|
437
|
+
return {
|
|
438
|
+
response: instantResponse({ race, promptId: args.promptId }),
|
|
439
|
+
receipt: instantReceipt(race),
|
|
440
|
+
model: race.winner?.model ?? INSTANT_HAIKU_MODEL,
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
//# sourceMappingURL=instant-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instant-build.js","sourceRoot":"","sources":["../../jsr/intern/instant-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const MERCURY_CAPABILITY_TRIGGERS = "A trigger is an example, not a password: set a capability when the request implies it in any words, and none when the app needs none of them. composer is set only together with ai.\n-
|
|
1
|
+
export declare const MERCURY_CAPABILITY_TRIGGERS = "A trigger is an example, not a password: set a capability when the request implies it in any words, and none when the app needs none of them. composer is set only together with ai.\n- composer (records come in as the person's own words or photos, read by ai) when the request says or implies:\n - add entries in my own words, however I like (also ai)\n - paste a group chat and each item becomes a record (also ai)\n - type a line like 'basil and two tomatoes, bed 3' to add plants (also ai)\n - snap a photo of a receipt or label to add it (also ai)\n - jot a quick note and it gets filed in the right place (also ai)\n- sensitive (health, real people's money, kids, or private) when the request says or implies:\n - tracks a medication, a symptom or a diagnosis\n - about my kid or a child in my care\n - a budget, debts, salary or what people owe\n - the word private, or only me\n - a mood or therapy journal";
|
|
@@ -1,91 +1,10 @@
|
|
|
1
1
|
export const MERCURY_CAPABILITY_TRIGGERS = `A trigger is an example, not a password: set a capability when the request implies it in any words, and none when the app needs none of them. composer is set only together with ai.
|
|
2
|
-
- ai (a language model reads, writes or judges words or photos) when the request says or implies:
|
|
3
|
-
- a sentence typed in turns into the record's fields
|
|
4
|
-
- a pasted list gets sorted into groups
|
|
5
|
-
- answers a question about the saved records
|
|
6
|
-
- suggests what to make or do next from what is saved
|
|
7
|
-
- summarizes a long note into a few lines
|
|
8
|
-
- writes a caption, a blurb or a short poem
|
|
9
|
-
- a chat reply in a made-up persona's voice
|
|
10
|
-
- looks at a photo and says what is in it
|
|
11
|
-
- gives feedback on, rates or roasts what someone wrote
|
|
12
|
-
- translates or rewrites text in another tone
|
|
13
|
-
- comes up with names, prompts or ideas on request
|
|
14
|
-
- pulls the facts out of a pasted message or email
|
|
15
|
-
- makes up a story, a riddle or a fortune
|
|
16
2
|
- composer (records come in as the person's own words or photos, read by ai) when the request says or implies:
|
|
17
3
|
- add entries in my own words, however I like (also ai)
|
|
18
4
|
- paste a group chat and each item becomes a record (also ai)
|
|
19
5
|
- type a line like 'basil and two tomatoes, bed 3' to add plants (also ai)
|
|
20
6
|
- snap a photo of a receipt or label to add it (also ai)
|
|
21
7
|
- jot a quick note and it gets filed in the right place (also ai)
|
|
22
|
-
- imageGen (the app makes pictures) when the request says or implies:
|
|
23
|
-
- draws a picture of each item
|
|
24
|
-
- makes an avatar from a selfie
|
|
25
|
-
- restyles a photo as a cartoon or a painting
|
|
26
|
-
- a cover image for each story, album or book
|
|
27
|
-
- illustrates each creature or character card
|
|
28
|
-
- designs a logo or a badge
|
|
29
|
-
- shows what something would look like before it exists
|
|
30
|
-
- a colouring page or sticker made to order
|
|
31
|
-
- a product shot for each listing
|
|
32
|
-
- backend (server work the page cannot do on its own) when the request says or implies:
|
|
33
|
-
- reminds me tomorrow morning (also calendar)
|
|
34
|
-
- emails the manager every Monday (also calendar)
|
|
35
|
-
- a weekly digest or summary sent to the owner
|
|
36
|
-
- notifies someone when a new entry arrives
|
|
37
|
-
- pulls a live feed, prices or weather from a website
|
|
38
|
-
- reads a web page or API the person names
|
|
39
|
-
- sends each new record to Slack or a Google Sheet
|
|
40
|
-
- receives a webhook from a payment or code service
|
|
41
|
-
- checks something every hour and keeps the latest
|
|
42
|
-
- deals secret hands no other player can peek at (also boardGame)
|
|
43
|
-
- nags me when something goes overdue (also calendar)
|
|
44
|
-
- calendar (the app keeps dates) when the request says or implies:
|
|
45
|
-
- a due date or deadline on each item
|
|
46
|
-
- keeps a streak of days in a row
|
|
47
|
-
- a shift schedule for the week
|
|
48
|
-
- book an open time slot
|
|
49
|
-
- something that repeats every Tuesday
|
|
50
|
-
- a month view of what happened when
|
|
51
|
-
- subscribe to it from my phone's calendar (also backend)
|
|
52
|
-
- a timeline of dated moments
|
|
53
|
-
- totals for each pay period
|
|
54
|
-
- counts down the days to an event
|
|
55
|
-
- shows how long since I last did it
|
|
56
|
-
- audio (sound or music) when the request says or implies:
|
|
57
|
-
- plays a sound on each tap
|
|
58
|
-
- a drum machine or a beat pad
|
|
59
|
-
- a metronome that keeps time
|
|
60
|
-
- a little synth that plays notes
|
|
61
|
-
- background music or ambient sound
|
|
62
|
-
- records the mic and plays it back with an echo
|
|
63
|
-
- a chime when the timer ends
|
|
64
|
-
- threeD (a 3D world or scene) when the request says or implies:
|
|
65
|
-
- a 3D scene you can spin and zoom
|
|
66
|
-
- fly or drive through a world
|
|
67
|
-
- a physics simulator with things that fall and bounce
|
|
68
|
-
- a 3D model of a room, object or building
|
|
69
|
-
- particles, glow and shader effects
|
|
70
|
-
- a first-person walk around a place
|
|
71
|
-
- charts (graphs, maps and statistics views) when the request says or implies:
|
|
72
|
-
- a graph of progress over time
|
|
73
|
-
- a heatmap of activity
|
|
74
|
-
- a pie or bar chart of where the money went
|
|
75
|
-
- a stats page with averages and bests
|
|
76
|
-
- a map with pins
|
|
77
|
-
- a histogram or a scatter of the entries
|
|
78
|
-
- compares two things side by side in a chart
|
|
79
|
-
- boardGame (a turn-based board, tile or card game) when the request says or implies:
|
|
80
|
-
- bingo cards dealt per player
|
|
81
|
-
- a daily word guess with a share grid
|
|
82
|
-
- a crossword, word search or sudoku
|
|
83
|
-
- chess, checkers, go or mancala
|
|
84
|
-
- solitaire or another card game
|
|
85
|
-
- a trivia room people answer in turn
|
|
86
|
-
- a dice scoresheet with house rules
|
|
87
|
-
- players take turns on a shared board
|
|
88
|
-
- minesweeper, 2048 or tic-tac-toe
|
|
89
8
|
- sensitive (health, real people's money, kids, or private) when the request says or implies:
|
|
90
9
|
- tracks a medication, a symptom or a diagnosis
|
|
91
10
|
- about my kid or a child in my care
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mercury-capability-triggers.js","sourceRoot":"","sources":["../../jsr/intern/mercury-capability-triggers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mercury-capability-triggers.js","sourceRoot":"","sources":["../../jsr/intern/mercury-capability-triggers.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,2BAA2B,GAAG;;;;;;;;;;;;8BAYb,CAAC"}
|
|
@@ -60,7 +60,7 @@ export async function runMercurySeam(vctx, o) {
|
|
|
60
60
|
const mercury = rMercury.Ok();
|
|
61
61
|
const summary = {
|
|
62
62
|
elapsedMs: mercury.elapsedMs,
|
|
63
|
-
|
|
63
|
+
shape: mercury.shape.appShape,
|
|
64
64
|
coreAction: mercury.shape.coreAction,
|
|
65
65
|
skills: mercury.input.skills ?? [],
|
|
66
66
|
...(typeof mercury.input.font === "string" ? { font: mercury.input.font } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mercury-first-build-seam.js","sourceRoot":"","sources":["../../jsr/intern/mercury-first-build-seam.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"mercury-first-build-seam.js","sourceRoot":"","sources":["../../jsr/intern/mercury-first-build-seam.ts"],"names":[],"mappings":"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"}
|