@vibes.diy/api-svc 14.3.85 → 14.3.86

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 (104) hide show
  1. package/create-handler.js +2 -0
  2. package/create-handler.js.map +1 -1
  3. package/index.d.ts +3 -1
  4. package/index.js +3 -1
  5. package/index.js.map +1 -1
  6. package/intern/agent-account-tools.d.ts +1 -0
  7. package/intern/agent-account-tools.js +1 -0
  8. package/intern/agent-account-tools.js.map +1 -1
  9. package/intern/agent-belt.d.ts +1 -3
  10. package/intern/agent-belt.js +25 -21
  11. package/intern/agent-belt.js.map +1 -1
  12. package/intern/agent-build-tools.d.ts +7 -0
  13. package/intern/agent-build-tools.js +6 -2
  14. package/intern/agent-build-tools.js.map +1 -1
  15. package/intern/agent-closing-options.d.ts +26 -0
  16. package/intern/agent-closing-options.js +130 -0
  17. package/intern/agent-closing-options.js.map +1 -0
  18. package/intern/agent-dispatcher.d.ts +1 -0
  19. package/intern/agent-dispatcher.js +17 -3
  20. package/intern/agent-dispatcher.js.map +1 -1
  21. package/intern/agent-session-instruction.d.ts +3 -2
  22. package/intern/agent-session-instruction.js +9 -7
  23. package/intern/agent-session-instruction.js.map +1 -1
  24. package/intern/agent-turn.d.ts +1 -0
  25. package/intern/agent-turn.js +1 -0
  26. package/intern/agent-turn.js.map +1 -1
  27. package/intern/alt-first-build.d.ts +36 -0
  28. package/intern/alt-first-build.js +137 -0
  29. package/intern/alt-first-build.js.map +1 -0
  30. package/intern/alt-landing.d.ts +7 -0
  31. package/intern/alt-landing.js +31 -0
  32. package/intern/alt-landing.js.map +1 -0
  33. package/intern/first-brief.d.ts +1 -1
  34. package/intern/first-brief.js +1 -1
  35. package/intern/first-brief.js.map +1 -1
  36. package/intern/first-build-classifier.d.ts +4 -4
  37. package/intern/first-build-classifier.js +15 -17
  38. package/intern/first-build-classifier.js.map +1 -1
  39. package/intern/first-build-race.d.ts +71 -0
  40. package/intern/first-build-race.js +257 -0
  41. package/intern/first-build-race.js.map +1 -0
  42. package/intern/instruction-variant.d.ts +23 -2
  43. package/intern/instruction-variant.js +159 -2
  44. package/intern/instruction-variant.js.map +1 -1
  45. package/intern/keeps-to-themselves.d.ts +1 -0
  46. package/intern/keeps-to-themselves.js +10 -0
  47. package/intern/keeps-to-themselves.js.map +1 -0
  48. package/intern/llm-tool-loop.d.ts +5 -1
  49. package/intern/llm-tool-loop.js +48 -15
  50. package/intern/llm-tool-loop.js.map +1 -1
  51. package/intern/mercury-capability-triggers.d.ts +1 -0
  52. package/intern/mercury-capability-triggers.js +95 -0
  53. package/intern/mercury-capability-triggers.js.map +1 -0
  54. package/intern/mercury-first-build-seam.d.ts +40 -5
  55. package/intern/mercury-first-build-seam.js +201 -14
  56. package/intern/mercury-first-build-seam.js.map +1 -1
  57. package/intern/mercury-first-build.d.ts +591 -21
  58. package/intern/mercury-first-build.js +2998 -287
  59. package/intern/mercury-first-build.js.map +1 -1
  60. package/intern/mercury-resilience.d.ts +70 -0
  61. package/intern/mercury-resilience.js +122 -0
  62. package/intern/mercury-resilience.js.map +1 -0
  63. package/intern/mint-decision.d.ts +1 -0
  64. package/intern/mint-decision.js +3 -0
  65. package/intern/mint-decision.js.map +1 -1
  66. package/intern/option-line-hold.d.ts +5 -0
  67. package/intern/option-line-hold.js +39 -0
  68. package/intern/option-line-hold.js.map +1 -0
  69. package/intern/pouf-room-catalog.d.ts +2 -0
  70. package/intern/pouf-room-catalog.js +11 -0
  71. package/intern/pouf-room-catalog.js.map +1 -0
  72. package/intern/retire-offer-options.d.ts +3 -0
  73. package/intern/retire-offer-options.js +91 -0
  74. package/intern/retire-offer-options.js.map +1 -0
  75. package/intern/seed-chat-section.d.ts +13 -0
  76. package/intern/seed-chat-section.js +62 -0
  77. package/intern/seed-chat-section.js.map +1 -1
  78. package/intern/server-first-build.js +1 -0
  79. package/intern/server-first-build.js.map +1 -1
  80. package/intern/vibe-font-catalog.d.ts +2 -0
  81. package/intern/vibe-font-catalog.js +8 -0
  82. package/intern/vibe-font-catalog.js.map +1 -0
  83. package/package.json +14 -14
  84. package/public/agent-turn-action.d.ts +1 -0
  85. package/public/agent-turn-action.js +271 -62
  86. package/public/agent-turn-action.js.map +1 -1
  87. package/public/agent-turn-assembly.js +5 -2
  88. package/public/agent-turn-assembly.js.map +1 -1
  89. package/public/prompt-chat-section.js +7 -5
  90. package/public/prompt-chat-section.js.map +1 -1
  91. package/public/prompt-turn-terminal.js +3 -1
  92. package/public/prompt-turn-terminal.js.map +1 -1
  93. package/public/report-activity.js +18 -2
  94. package/public/report-activity.js.map +1 -1
  95. package/public/vibe-traffic-source.js +1 -1
  96. package/public/vibe-traffic-source.js.map +1 -1
  97. package/types.d.ts +1 -0
  98. package/types.js.map +1 -1
  99. package/usage-report/new-user-alert-util.d.ts +6 -0
  100. package/usage-report/new-user-alert-util.js +30 -1
  101. package/usage-report/new-user-alert-util.js.map +1 -1
  102. package/intern/agent-options-tool.d.ts +0 -27
  103. package/intern/agent-options-tool.js +0 -213
  104. package/intern/agent-options-tool.js.map +0 -1
@@ -1,19 +1,25 @@
1
- import { Result, exception2Result } from "@adviser/cement";
1
+ import { Future, Result, exception2Result } from "@adviser/cement";
2
2
  import { isActiveTheme, isAgentChatAppSlug, } from "@vibes.diy/api-types";
3
- import { isChatMessage } from "@vibes.diy/call-ai-v2";
3
+ import { isChatMessage, isSseEnd, isSseLine } from "@vibes.diy/call-ai-v2";
4
4
  import { classifyTurnReach } from "../intern/turn-reach.js";
5
5
  import { acquireTurnBuildLock, releaseTurnBuildLock } from "../intern/codegen-build-lock.js";
6
6
  import { refuseCrossLaneBuild } from "../intern/cross-lane-build-guard.js";
7
7
  import { userFileBlocks } from "../intern/agent-session-runtime.js";
8
+ import { alternativeReadyNote, startAlternativeFirstBuild, watchAlternativeLanding } from "../intern/alt-first-build.js";
9
+ import { fireAgentWakeTurn } from "../intern/agent-wake.js";
10
+ import { promptDispatchContext } from "../intern/prompt-dispatch-context.js";
8
11
  import { isAgentSessionSuperseded } from "../intern/agent-session.js";
9
12
  import { runEditVibeTool } from "../intern/agent-build-tools.js";
10
13
  import { claimFirstTurnMint, claimMintJob, readClaimedChatApp } from "../intern/mint-job-store.js";
11
14
  import { claimAgentAppContext } from "../intern/agent-request-frame.js";
12
15
  import { inflateAgentFiles, serverFirstBuildAppContext } from "../intern/agent-assembly.js";
13
16
  import { runServerFirstBuild } from "../intern/server-first-build.js";
14
- import { runMercuryFirstBuild } from "../intern/mercury-first-build.js";
15
- import { mercuryFirstBuildAppContext, runMercurySeam, withPreambleFirst } from "../intern/mercury-first-build-seam.js";
17
+ import { recordMercuryRace, runMercuryFirstBuild, } from "../intern/mercury-first-build.js";
18
+ import { MERCURY_RATE_LIMITED_STAGE_MS } from "../intern/mercury-resilience.js";
19
+ import { runMercurySeam, withMercuryUsageRounds, withPreambleFirst, } from "../intern/mercury-first-build-seam.js";
20
+ import { createFirstBuildRace, createPreJoinRounds, deferredStream, joinedFirstBuildReceipt, withoutPreJoinText, } from "../intern/first-build-race.js";
16
21
  import { createAgentBelt } from "../intern/agent-belt.js";
22
+ import { createAgentClosingOptions } from "../intern/agent-closing-options.js";
17
23
  import { createAccountAgentBelt } from "../intern/agent-account-tools.js";
18
24
  import { poufLookFor } from "../intern/pouf-look-flag.js";
19
25
  import { readComposedSettingsForApp } from "./app-setting-items.js";
@@ -35,9 +41,11 @@ import { createAgentEvidenceWriter, nextAgentSessionMessages } from "../intern/a
35
41
  import { observeEvidenceLine } from "../intern/turn-latency.js";
36
42
  import { handleLlmResponse } from "./stream-assembly.js";
37
43
  import { handleFSPrompt } from "./fs-prompt.js";
38
- import { FIRST_BRIEF_WORD_COUNT, fastFirstTurnLevers, AGENT_FIRST_BRIEF_ENV, agentFirstBriefEnabled, firstBriefArmed, mercuryRecutArmed, seededAddressWordsArmed, variantForTurn, } from "../intern/instruction-variant.js";
44
+ import { FIRST_BRIEF_WORD_COUNT, fastFirstTurnLevers, AGENT_FIRST_BRIEF_ENV, agentFirstBriefEnabled, firstBriefArmed, isMercuryVariant, mercuryRecutArmed, mercuryStyleFor, mercuryJuiceFor, mercuryDepthFor, mercuryReplyFor, mercuryDuoFor, mercuryOneCallFor, mercuryDuoPoolFor, mercuryRecordsRulesFor, mercuryVariantForTurn, mercuryPlannerFor, mercuryFormatFor, MERCURY_FIRST_BUILD_ENV, seededAddressWordsArmed, variantForTurn, } from "../intern/instruction-variant.js";
45
+ import { isEvalHandle } from "../intern/eval-handles.js";
39
46
  import { slugWordBag } from "../intern/ensure-slug-binding.js";
40
47
  import { firstBriefOutcomeFromReceipt, firstBriefTools, firstBriefTurnEligible, observeFirstBriefRound, recordFirstBriefOutcome, recordFirstBriefRow, withFirstBriefLine, withSeededAddressWordsLine, withoutFirstBriefLine, withFirstBriefContinueNote, } from "../intern/first-brief.js";
48
+ export const FIRST_BUILD_RACE_EVIDENCE_NAME = "first-build-race";
41
49
  export function createAgentTurnAction(args) {
42
50
  const { ctx, vctx, req, orig, resChat, agentPayload, liveSession, agentEvidence, agentFetchUrlContext, firstBuildVerdict, agentFirstTurnMint, submittedAt, agentWakeTurn, dispatchCarry, instructionVariant, turnLatency, terminal, facts, reenter, } = args;
43
51
  const topLevel = isAgentChatAppSlug(resChat.appSlug);
@@ -51,23 +59,59 @@ export function createAgentTurnAction(args) {
51
59
  linkedUrls: agentFetchUrlContext?.activatedUrls.length ?? 0,
52
60
  });
53
61
  const briefDefaultOn = agentFirstBriefEnabled(vctx.sthis.env.get(AGENT_FIRST_BRIEF_ENV));
54
- const briefArmedAtStart = firstBriefArmed(instructionVariant, agentFirstTurnMint, briefDefaultOn) && briefEligible;
55
- const mercuryArmed = mercuryRecutArmed(instructionVariant, agentFirstTurnMint) && briefEligible;
62
+ const mercuryVariant = mercuryVariantForTurn({
63
+ instructionVariant,
64
+ flag: vctx.sthis.env.get(MERCURY_FIRST_BUILD_ENV),
65
+ });
66
+ const mercurySwitched = mercuryVariant !== undefined && instructionVariant === undefined;
67
+ const mercuryKeepText = isEvalHandle(resChat.ownerHandle);
68
+ const mercuryFormat = mercuryFormatFor(mercuryVariant);
69
+ const mercuryPlanner = mercuryPlannerFor(mercuryVariant);
70
+ const mercuryPlannerNamed = mercuryPlanner === "mercury" ? undefined : mercuryPlanner;
71
+ const mercuryArmed = mercuryRecutArmed(mercuryVariant, agentFirstTurnMint) && briefEligible;
72
+ const briefArmed = mercuryArmed
73
+ ? firstBriefArmed(undefined, agentFirstTurnMint, briefDefaultOn) && briefEligible
74
+ : firstBriefArmed(instructionVariant, agentFirstTurnMint, briefDefaultOn) && briefEligible;
56
75
  const seededWordsArmed = seededAddressWordsArmed(instructionVariant, agentFirstTurnMint) &&
57
76
  agentWakeTurn === false &&
58
77
  topLevel === false &&
59
78
  personWords.length > 0;
60
79
  return async ({ scope, blockSeq, promptId }) => {
61
- const briefWords = briefArmedAtStart || seededWordsArmed || mercuryArmed ? slugWordBag(FIRST_BRIEF_WORD_COUNT) : [];
80
+ const briefWords = briefArmed || seededWordsArmed || mercuryArmed ? slugWordBag(FIRST_BRIEF_WORD_COUNT) : [];
81
+ const mercuryRounds = [];
82
+ const mercuryCancel = new AbortController();
83
+ const race = mercuryArmed
84
+ ? createFirstBuildRace({ onAgentWon: () => mercuryCancel.abort() })
85
+ : undefined;
86
+ let lastMercuryRow;
62
87
  const mercuryPending = mercuryArmed
63
88
  ? runMercuryFirstBuild(vctx, {
64
89
  chatId: req.chatId,
90
+ signal: mercuryCancel.signal,
91
+ onRowWritten: (rowId) => {
92
+ lastMercuryRow = rowId;
93
+ },
65
94
  userId: req._auth.verifiedAuth.claims.userId,
95
+ onUsage: (rounds) => {
96
+ mercuryRounds.push(...rounds);
97
+ },
66
98
  personWords,
67
99
  words: briefWords,
100
+ style: mercuryStyleFor(mercuryVariant),
101
+ juice: mercuryJuiceFor(mercuryVariant),
102
+ depth: mercuryDepthFor(mercuryVariant),
103
+ reply: mercuryReplyFor(mercuryVariant),
104
+ duo: mercuryDuoFor(mercuryVariant),
105
+ ...(mercuryDuoPoolFor(mercuryVariant) === undefined ? {} : { duoPool: mercuryDuoPoolFor(mercuryVariant) }),
106
+ oneCall: mercuryOneCallFor(mercuryVariant),
107
+ recordsRules: mercuryRecordsRulesFor(mercuryVariant),
108
+ ...(mercuryPlannerNamed === undefined ? {} : { planner: mercuryPlannerNamed }),
109
+ ...(mercuryFormat === "skeleton" ? {} : { format: mercuryFormat }),
110
+ rooms: poufLookFor(vctx, req._auth.verifiedAuth.claims.userId),
111
+ ...(mercurySwitched ? { rateLimitedBudgetMs: MERCURY_RATE_LIMITED_STAGE_MS } : {}),
112
+ ...(mercuryKeepText ? { keepText: true } : {}),
68
113
  })
69
114
  : undefined;
70
- let briefArmed = briefArmedAtStart;
71
115
  let briefCallPending = briefArmed;
72
116
  let briefAddressRetried = false;
73
117
  let briefContinueOwed = false;
@@ -87,8 +131,10 @@ export function createAgentTurnAction(args) {
87
131
  ? { ownerHandle: resChat.ownerHandle }
88
132
  : { ownerHandle: resChat.ownerHandle, appSlug: resChat.appSlug },
89
133
  });
90
- if (rActor.isErr())
134
+ if (rActor.isErr()) {
135
+ mercuryCancel.abort();
91
136
  return Result.Err(rActor.Err());
137
+ }
92
138
  const surveyColorway = startFirstTurnImageSurvey(vctx, {
93
139
  guard: liveSession,
94
140
  firstTurn: agentFirstTurnMint,
@@ -109,8 +155,10 @@ export function createAgentTurnAction(args) {
109
155
  let liveAppSlug = resChat.appSlug;
110
156
  let firstTurnAppClaimed = agentFirstTurnMint === false;
111
157
  const rVfs = await pVfs;
112
- if (rVfs.isErr())
158
+ if (rVfs.isErr()) {
159
+ mercuryCancel.abort();
113
160
  return Result.Err(rVfs.Err());
161
+ }
114
162
  const vfs = new Map(rVfs.Ok());
115
163
  function extendDeadlineForAwaitedBuild(awaiting) {
116
164
  void extendOpenTurnDeadline(vctx.sql, {
@@ -128,7 +176,7 @@ export function createAgentTurnAction(args) {
128
176
  });
129
177
  }
130
178
  const firstTurnFileBlocks = userFileBlocks(orig.prompt.messages);
131
- const turnCarry = instructionVariant === "mercury-recut-first-build" ? carryWithoutVariant(dispatchCarry) : dispatchCarry;
179
+ const turnCarry = isMercuryVariant(instructionVariant) ? carryWithoutVariant(dispatchCarry) : dispatchCarry;
132
180
  const dispatcherBase = {
133
181
  vctx,
134
182
  host: ctx,
@@ -168,6 +216,7 @@ export function createAgentTurnAction(args) {
168
216
  ...dispatcherBase,
169
217
  ...(Object.keys(dispatchCarry).length === 0 ? {} : { carry: dispatchCarry }),
170
218
  ...firstTurnDispatch,
219
+ ...(mercurySwitched ? { mercuryFont: true } : {}),
171
220
  });
172
221
  const evidence = agentEvidence ??
173
222
  observeEvidenceLine(createAgentEvidenceWriter({
@@ -204,36 +253,162 @@ export function createAgentTurnAction(args) {
204
253
  firstTurnAppClaimed = true;
205
254
  }
206
255
  }
207
- let mercuryPreamble;
208
- if (mercuryPending !== undefined && firstTurnMint !== undefined && topLevel === false) {
209
- const outcome = await runMercurySeam(vctx, {
256
+ const seamTask = mercuryPending !== undefined && race !== undefined && firstTurnMint !== undefined && topLevel === false
257
+ ? runMercurySeam(vctx, {
210
258
  pending: mercuryPending,
211
259
  actor: rActor.Ok(),
212
260
  dispatcher: mercuryDispatcher,
213
261
  firstTurn: firstTurnMint,
214
262
  ...(surveyColorway?.colorway === undefined ? {} : { presetColorway: surveyColorway.colorway }),
263
+ style: mercuryStyleFor(mercuryVariant),
264
+ juice: mercuryJuiceFor(mercuryVariant),
265
+ depth: mercuryDepthFor(mercuryVariant),
266
+ reply: mercuryReplyFor(mercuryVariant),
267
+ duo: mercuryDuoFor(mercuryVariant),
268
+ oneCall: mercuryOneCallFor(mercuryVariant),
269
+ recordsRules: mercuryRecordsRulesFor(mercuryVariant),
270
+ ...(mercuryPlannerNamed === undefined ? {} : { planner: mercuryPlannerNamed }),
271
+ ...(mercuryFormat === "skeleton" ? {} : { format: mercuryFormat }),
272
+ ...(mercurySwitched ? { productionSwitch: true } : {}),
273
+ ...(mercuryKeepText ? { keepText: true } : {}),
274
+ race,
215
275
  evidence,
216
- });
217
- if (outcome.dispatched) {
218
- serverCreated = { appSlug: outcome.appSlug };
219
- mercuryPreamble = outcome.preamble;
220
- liveAppSlug = outcome.appSlug;
221
- liveSession.claimAppAddress(outcome.appSlug);
222
- firstTurnAppClaimed = true;
223
- }
224
- else {
225
- briefArmed = firstBriefArmed(undefined, agentFirstTurnMint, briefDefaultOn) && briefEligible;
226
- briefCallPending = briefArmed;
227
- }
276
+ })
277
+ .catch((e) => {
278
+ race.mercurySettled(false);
279
+ race.settleMercury({ dispatched: false });
280
+ vctx.logger.Warn().Err(e).Str("chatId", req.chatId).Msg("mercury-seam-threw");
281
+ return { dispatched: false, reason: "mercury-failed" };
282
+ })
283
+ .then(async (outcome) => {
284
+ if (outcome.dispatched) {
285
+ liveAppSlug = outcome.appSlug;
286
+ liveSession.claimAppAddress(outcome.appSlug);
287
+ firstTurnAppClaimed = true;
288
+ }
289
+ if (lastMercuryRow !== undefined)
290
+ await recordMercuryRace(vctx, { chatId: req.chatId, promptId: lastMercuryRow, race: race.receipt() });
291
+ return outcome;
292
+ })
293
+ : undefined;
294
+ const preJoin = createPreJoinRounds();
295
+ let roundText = "";
296
+ let alternativeRecorded = false;
297
+ function raceRound(stream) {
298
+ if (race === undefined || preJoin.open() === false)
299
+ return stream;
300
+ const tag = preJoin.startRound();
301
+ roundText = "";
302
+ let calledTool = false;
303
+ return stream.pipeThrough(new TransformStream({
304
+ transform(msg, controller) {
305
+ if (isSseLine(msg)) {
306
+ for (const choice of msg.chunk.choices) {
307
+ if (choice.delta.tool_calls !== undefined)
308
+ calledTool = true;
309
+ const content = choice.delta.content;
310
+ if (typeof content === "string")
311
+ roundText += content;
312
+ }
313
+ controller.enqueue({ ...msg, chunk: { ...msg.chunk, id: tag } });
314
+ return;
315
+ }
316
+ if (isSseEnd(msg) && calledTool === false) {
317
+ race.agentAnswered();
318
+ preJoin.answered(tag);
319
+ }
320
+ controller.enqueue(msg);
321
+ },
322
+ }));
228
323
  }
324
+ const beltFirstTurn = firstTurnMint === undefined || race === undefined
325
+ ? firstTurnMint
326
+ : {
327
+ ...firstTurnMint,
328
+ joinRunning: async () => {
329
+ const decision = await race.agentCreate();
330
+ if (decision.kind !== "join")
331
+ return undefined;
332
+ preJoin.joined();
333
+ await evidence({
334
+ kind: "receipt",
335
+ name: FIRST_BUILD_RACE_EVIDENCE_NAME,
336
+ text: JSON.stringify({ race: race.receipt() }),
337
+ });
338
+ return joinedFirstBuildReceipt(decision);
339
+ },
340
+ startAlternative: async (input) => {
341
+ if (race.receipt().alternative !== undefined)
342
+ return { dispatched: false };
343
+ race.noteAlternative({ dispatched: false });
344
+ const originLabel = `${resChat.ownerHandle}/${liveAppSlug}`;
345
+ const alternativeLabel = new Future();
346
+ const started = await startAlternativeFirstBuild(vctx, {
347
+ actor: rActor.Ok(),
348
+ openAuth: { auth: req.auth, _auth: req._auth },
349
+ input,
350
+ prompt: personWords,
351
+ personWords,
352
+ ...(roundText.trim().length === 0 ? {} : { opener: roundText }),
353
+ originLabel,
354
+ originChatId: req.chatId,
355
+ dispatcherFor: (altChatId) => createAgentBuildDispatcher({
356
+ ...dispatcherBase,
357
+ firstTurn: {
358
+ chatId: altChatId,
359
+ ...(submittedAt === undefined ? {} : { submittedAt }),
360
+ ...(firstTurnFileBlocks.length === 0 ? {} : { fileBlocks: firstTurnFileBlocks }),
361
+ },
362
+ takeFileBlocks: () => [],
363
+ callerSlot: { tryTake: () => undefined },
364
+ onPendingBuild: (t) => {
365
+ watchAlternativeLanding(vctx, {
366
+ chatId: t.chatId,
367
+ promptId: t.promptId,
368
+ originChatId: req.chatId,
369
+ onLanded: async (landed) => {
370
+ race.noteAlternative({ landed });
371
+ if (alternativeRecorded && lastMercuryRow !== undefined)
372
+ await recordMercuryRace(vctx, { chatId: req.chatId, promptId: lastMercuryRow, race: race.receipt() });
373
+ const note = alternativeReadyNote(landed, await alternativeLabel.asPromise());
374
+ if (note === undefined)
375
+ return;
376
+ vctx.logger
377
+ .Info()
378
+ .Any("event", { chatId: req.chatId, alternativeChatId: t.chatId, promptId: t.promptId })
379
+ .Msg("alternative-first-build-wake-firing");
380
+ fireAgentWakeTurn({
381
+ vctx,
382
+ host: ctx,
383
+ auth: req.auth,
384
+ outerTid: req.outerTid,
385
+ chatId: req.chatId,
386
+ budget: 0,
387
+ note,
388
+ ...(turnCarry.builderModel === undefined ? {} : { builderModel: turnCarry.builderModel }),
389
+ ...(turnCarry.subagentModel === undefined ? {} : { subagentModel: turnCarry.subagentModel }),
390
+ ...(turnCarry.agentModel === undefined ? {} : { agentModel: turnCarry.agentModel }),
391
+ ...(turnCarry.timeZone === undefined ? {} : { timeZone: turnCarry.timeZone }),
392
+ handle: (wakeCtx) => reenter(promptDispatchContext(ctx, wakeCtx.validated)),
393
+ });
394
+ },
395
+ });
396
+ },
397
+ }),
398
+ });
399
+ alternativeLabel.resolve(started.dispatched ? started.label : undefined);
400
+ race.noteAlternative(started.dispatched
401
+ ? { dispatched: true, chatId: started.chatId, appSlug: started.appSlug, landed: "pending" }
402
+ : {
403
+ dispatched: false,
404
+ ...(started.chatId === undefined ? {} : { chatId: started.chatId }),
405
+ landed: started.skipped,
406
+ });
407
+ return { dispatched: started.dispatched };
408
+ },
409
+ };
229
410
  function serverCreatedFrame(messages) {
230
- return mercuryPreamble === undefined
231
- ? serverFirstBuildAppContext(messages, { ownerHandle: resChat.ownerHandle, appSlug: liveAppSlug })
232
- : mercuryFirstBuildAppContext(messages, {
233
- ownerHandle: resChat.ownerHandle,
234
- appSlug: liveAppSlug,
235
- preamble: mercuryPreamble,
236
- });
411
+ return serverFirstBuildAppContext(messages, { ownerHandle: resChat.ownerHandle, appSlug: liveAppSlug });
237
412
  }
238
413
  const poufApp = agentFirstTurnMint === false && topLevel === false && poufLookFor(vctx, rActor.Ok().userId)
239
414
  ? await exception2Result(() => readComposedSettingsForApp(vctx, resChat.ownerHandle, resChat.appSlug)).then((r) => r.isOk() && r.Ok().find(isActiveTheme)?.theme === "pouf")
@@ -242,6 +417,7 @@ export function createAgentTurnAction(args) {
242
417
  ? createAccountAgentBelt(vctx, {
243
418
  actor: rActor.Ok(),
244
419
  chatId: req.chatId,
420
+ personWords,
245
421
  openAuth: { auth: req.auth, _auth: req._auth },
246
422
  dispatcher,
247
423
  mintDispatcherFor: (mintChatId) => createAgentBuildDispatcher({
@@ -260,12 +436,12 @@ export function createAgentTurnAction(args) {
260
436
  : createAgentBelt(vctx, {
261
437
  actor: rActor.Ok(),
262
438
  chatId: req.chatId,
439
+ personWords,
263
440
  vfs,
264
- onOptionsOffered: (offered) => evidence({ kind: "options", options: [...offered] }),
265
441
  ...(poufApp ? { poufApp } : {}),
266
- ...(firstTurnMint === undefined
442
+ ...(beltFirstTurn === undefined
267
443
  ? {}
268
- : { firstTurn: serverCreated === undefined ? firstTurnMint : { ...firstTurnMint, preCreated: serverCreated } }),
444
+ : { firstTurn: serverCreated === undefined ? beltFirstTurn : { ...beltFirstTurn, preCreated: serverCreated } }),
269
445
  ...(agentFetchUrlContext === undefined ? {} : { fetchUrl: agentFetchUrlContext }),
270
446
  dispatcher,
271
447
  queueEdit: (input) => liveSession.queue(input),
@@ -306,6 +482,7 @@ export function createAgentTurnAction(args) {
306
482
  });
307
483
  },
308
484
  onDispatch: (dispatched) => {
485
+ preJoin.joined();
309
486
  liveAppSlug = dispatched.appSlug;
310
487
  liveSession.claimAppAddress(dispatched.appSlug);
311
488
  firstTurnAppClaimed = true;
@@ -372,9 +549,34 @@ export function createAgentTurnAction(args) {
372
549
  const rSse = createProviderSseStream(res.res, promptId);
373
550
  if (rSse.isErr()) {
374
551
  vctx.logger.Warn().Err(rSse).Str("chatId", req.chatId).Msg("agent-turn-provider-stream-unavailable");
552
+ race?.agentFailed();
375
553
  }
376
554
  else {
377
- providerStream = createAgentTurnStream({
555
+ const roundOne = briefArmed
556
+ ? observeFirstBriefRound(rSse.Ok(), {
557
+ startedAt: briefStartedAt,
558
+ now: () => Date.now(),
559
+ onEnd: async (round) => {
560
+ briefRound = round;
561
+ if (race !== undefined && round.called && (await race.agentCreate()).kind === "join") {
562
+ briefRecorded = true;
563
+ return;
564
+ }
565
+ await recordFirstBriefRow(vctx, {
566
+ chatId: req.chatId,
567
+ userId: req._auth.verifiedAuth.claims.userId,
568
+ model: briefModel,
569
+ round,
570
+ });
571
+ if (round.called === false) {
572
+ briefCallPending = false;
573
+ briefContinueOwed = true;
574
+ await recordBrief({ dispatched: false, reason: "no-create-call" });
575
+ }
576
+ },
577
+ })
578
+ : rSse.Ok();
579
+ const turnStream = createAgentTurnStream({
378
580
  vctx,
379
581
  belt,
380
582
  actor: rActor.Ok(),
@@ -382,30 +584,21 @@ export function createAgentTurnAction(args) {
382
584
  vfs,
383
585
  dispatcher,
384
586
  request: res.llmReq,
385
- stream: briefArmed
386
- ? observeFirstBriefRound(rSse.Ok(), {
387
- startedAt: briefStartedAt,
388
- now: () => Date.now(),
389
- onEnd: async (round) => {
390
- briefRound = round;
391
- await recordFirstBriefRow(vctx, {
392
- chatId: req.chatId,
393
- userId: req._auth.verifiedAuth.claims.userId,
394
- model: briefModel,
395
- round,
396
- });
397
- if (round.called === false) {
398
- briefCallPending = false;
399
- briefContinueOwed = true;
400
- await recordBrief({ dispatched: false, reason: "no-create-call" });
401
- }
402
- },
403
- })
404
- : mercuryPreamble === undefined
405
- ? rSse.Ok()
406
- :
407
- withPreambleFirst(rSse.Ok(), mercuryPreamble),
587
+ stream: raceRound(roundOne),
408
588
  abort: res.abort,
589
+ settleOptionLines: createAgentClosingOptions(vctx, {
590
+ actor: rActor.Ok(),
591
+ chatId: req.chatId,
592
+ ...(topLevel ? { noApp: true } : {}),
593
+ onOffered: (row) => {
594
+ race?.noteChips(row.options.length);
595
+ return evidence({
596
+ kind: "options",
597
+ options: [...row.options],
598
+ text: JSON.stringify({ asked: row.asked, dropped: row.dropped }),
599
+ });
600
+ },
601
+ }),
409
602
  onToolEvidence: async ({ kind, call, text, round, epoch }) => {
410
603
  const written = await evidence({ kind, callId: call.id, name: call.name, text, round, epoch });
411
604
  if (briefRecorded === false && kind === "receipt" && call.name === "create_vibe" && round === 1 && epoch === 0) {
@@ -496,14 +689,24 @@ export function createAgentTurnAction(args) {
496
689
  return Result.Err(rRound);
497
690
  return Result.Ok({
498
691
  request: { ...loopReq, messages },
499
- stream: rRound.Ok(),
692
+ stream: raceRound(rRound.Ok()),
500
693
  abort: dispatch.abort,
501
694
  });
502
695
  },
503
696
  onError: (error) => {
504
697
  vctx.logger.Warn().Any("event", { chatId: req.chatId, promptId, error }).Msg("agent-turn-loop-failed");
698
+ race?.agentFailed();
699
+ preJoin.close();
505
700
  },
506
701
  });
702
+ providerStream =
703
+ race === undefined || mercuryPending === undefined
704
+ ? turnStream
705
+ : deferredStream(race.decided.then((verdict) => {
706
+ const preamble = verdict === "mercury" ? race.mercuryPreamble() : undefined;
707
+ const shown = preamble !== undefined ? withPreambleFirst(withoutPreJoinText(turnStream, preJoin), preamble) : turnStream;
708
+ return withMercuryUsageRounds(shown, { settled: mercuryPending, rounds: () => mercuryRounds });
709
+ }));
507
710
  }
508
711
  const finalBlockSeq = await handleLlmResponse({
509
712
  scope,
@@ -524,6 +727,12 @@ export function createAgentTurnAction(args) {
524
727
  platformInitiated: agentWakeTurn,
525
728
  step: agentWakeTurn ? "wake" : "agent",
526
729
  });
730
+ if (seamTask !== undefined)
731
+ await seamTask;
732
+ if (race !== undefined && lastMercuryRow !== undefined) {
733
+ await recordMercuryRace(vctx, { chatId: req.chatId, promptId: lastMercuryRow, race: race.receipt() });
734
+ alternativeRecorded = true;
735
+ }
527
736
  return Result.Ok(finalBlockSeq);
528
737
  };
529
738
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn-action.js","sourceRoot":"","sources":["../../jsr/public/agent-turn-action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn-action.js","sourceRoot":"","sources":["../../jsr/public/agent-turn-action.ts"],"names":[],"mappings":"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"}