@vibes.diy/api-svc 14.3.58 → 14.3.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/analytics.d.ts +3 -15
  2. package/analytics.js +2 -18
  3. package/analytics.js.map +1 -1
  4. package/cf-serve.js +1 -0
  5. package/cf-serve.js.map +1 -1
  6. package/create-handler.d.ts +0 -2
  7. package/create-handler.js +0 -1
  8. package/create-handler.js.map +1 -1
  9. package/evento-handler-manifest.js +4 -0
  10. package/evento-handler-manifest.js.map +1 -1
  11. package/index.d.ts +5 -0
  12. package/index.js +5 -0
  13. package/index.js.map +1 -1
  14. package/intern/agent-assembly.d.ts +0 -2
  15. package/intern/agent-assembly.js +2 -2
  16. package/intern/agent-assembly.js.map +1 -1
  17. package/intern/agent-build-tools.d.ts +1 -7
  18. package/intern/agent-build-tools.js +4 -38
  19. package/intern/agent-build-tools.js.map +1 -1
  20. package/intern/agent-deferred-access.d.ts +0 -13
  21. package/intern/agent-deferred-access.js +0 -31
  22. package/intern/agent-deferred-access.js.map +1 -1
  23. package/intern/agent-dispatcher.js +29 -87
  24. package/intern/agent-dispatcher.js.map +1 -1
  25. package/intern/agent-request-frame.d.ts +0 -10
  26. package/intern/agent-request-frame.js +0 -16
  27. package/intern/agent-request-frame.js.map +1 -1
  28. package/intern/agent-router.d.ts +1 -1
  29. package/intern/agent-router.js +1 -1
  30. package/intern/agent-router.js.map +1 -1
  31. package/intern/agent-session-instruction.d.ts +2 -2
  32. package/intern/agent-session-instruction.js +4 -7
  33. package/intern/agent-session-instruction.js.map +1 -1
  34. package/intern/agent-session-runtime.js +0 -6
  35. package/intern/agent-session-runtime.js.map +1 -1
  36. package/intern/agent-session.d.ts +25 -25
  37. package/intern/agent-session.js +1 -1
  38. package/intern/agent-session.js.map +1 -1
  39. package/intern/attach-draft-handle.d.ts +0 -1
  40. package/intern/attach-draft-handle.js +2 -56
  41. package/intern/attach-draft-handle.js.map +1 -1
  42. package/intern/backend-db-callback.js +1 -0
  43. package/intern/backend-db-callback.js.map +1 -1
  44. package/intern/components/vibe-page.js +1 -0
  45. package/intern/components/vibe-page.js.map +1 -1
  46. package/intern/cross-lane-build-guard.d.ts +10 -0
  47. package/intern/cross-lane-build-guard.js +17 -0
  48. package/intern/cross-lane-build-guard.js.map +1 -0
  49. package/intern/delete-access-gate.js +1 -0
  50. package/intern/delete-access-gate.js.map +1 -1
  51. package/intern/draft-chat-store.d.ts +7 -0
  52. package/intern/draft-continuation.js +1 -6
  53. package/intern/draft-continuation.js.map +1 -1
  54. package/intern/ensure-chat-id.js +2 -2
  55. package/intern/ensure-chat-id.js.map +1 -1
  56. package/intern/ensure-slug-binding.js +2 -0
  57. package/intern/ensure-slug-binding.js.map +1 -1
  58. package/intern/grouped-vibe-import-map.d.ts +3 -0
  59. package/intern/grouped-vibe-import-map.js +3 -0
  60. package/intern/grouped-vibe-import-map.js.map +1 -1
  61. package/intern/guest-build-store.d.ts +0 -9
  62. package/intern/guest-build-store.js +2 -100
  63. package/intern/guest-build-store.js.map +1 -1
  64. package/intern/import-synth.js.map +1 -1
  65. package/intern/mint-decision.d.ts +1 -0
  66. package/intern/mint-decision.js +3 -0
  67. package/intern/mint-decision.js.map +1 -1
  68. package/intern/mint-job-store.d.ts +2 -64
  69. package/intern/mint-job-store.js +7 -180
  70. package/intern/mint-job-store.js.map +1 -1
  71. package/intern/mint-style.js +5 -1
  72. package/intern/mint-style.js.map +1 -1
  73. package/intern/open-turn-store.d.ts +10 -0
  74. package/intern/open-turn-store.js +28 -1
  75. package/intern/open-turn-store.js.map +1 -1
  76. package/intern/pouf-head-css.d.ts +15 -0
  77. package/intern/pouf-head-css.js +40 -0
  78. package/intern/pouf-head-css.js.map +1 -0
  79. package/intern/prompt-assembly.d.ts +0 -19
  80. package/intern/prompt-assembly.js +2 -5
  81. package/intern/prompt-assembly.js.map +1 -1
  82. package/intern/prompt-step.js.map +1 -1
  83. package/intern/put-access-gate.d.ts +1 -0
  84. package/intern/put-access-gate.js +8 -0
  85. package/intern/put-access-gate.js.map +1 -1
  86. package/intern/render-vibe.d.ts +2 -1
  87. package/intern/render-vibe.js +5 -2
  88. package/intern/render-vibe.js.map +1 -1
  89. package/intern/save-repair-io.d.ts +50 -0
  90. package/intern/save-repair-io.js +188 -0
  91. package/intern/save-repair-io.js.map +1 -0
  92. package/intern/save-repair.d.ts +4 -4
  93. package/intern/save-repair.js +4 -7
  94. package/intern/save-repair.js.map +1 -1
  95. package/intern/section-fan-out.d.ts +3 -10
  96. package/intern/section-fan-out.js +0 -23
  97. package/intern/section-fan-out.js.map +1 -1
  98. package/package.json +13 -12
  99. package/public/agent-turn-action.js +3 -0
  100. package/public/agent-turn-action.js.map +1 -1
  101. package/public/agent-turn-assembly.js +0 -17
  102. package/public/agent-turn-assembly.js.map +1 -1
  103. package/public/app-documents-read-eventos.js +17 -0
  104. package/public/app-documents-read-eventos.js.map +1 -1
  105. package/public/app-documents-write-eventos.d.ts +1 -0
  106. package/public/app-documents-write-eventos.js +9 -0
  107. package/public/app-documents-write-eventos.js.map +1 -1
  108. package/public/channel-invite-flow.d.ts +6 -0
  109. package/public/channel-invite-flow.js +102 -0
  110. package/public/channel-invite-flow.js.map +1 -0
  111. package/public/channel-invite-signup-match.d.ts +6 -0
  112. package/public/channel-invite-signup-match.js +31 -0
  113. package/public/channel-invite-signup-match.js.map +1 -0
  114. package/public/channel-invite-store.d.ts +62 -0
  115. package/public/channel-invite-store.js +186 -0
  116. package/public/channel-invite-store.js.map +1 -0
  117. package/public/grant-reduce.d.ts +5 -0
  118. package/public/grant-reduce.js +33 -8
  119. package/public/grant-reduce.js.map +1 -1
  120. package/public/handle-prompt-context.d.ts +3 -6
  121. package/public/handle-prompt-context.js +3 -7
  122. package/public/handle-prompt-context.js.map +1 -1
  123. package/public/handler-llm-request.js +1 -0
  124. package/public/handler-llm-request.js.map +1 -1
  125. package/public/inherit-read-resolver.d.ts +1 -0
  126. package/public/inherit-read-resolver.js +9 -0
  127. package/public/inherit-read-resolver.js.map +1 -1
  128. package/public/invite-subject-aliases.d.ts +15 -0
  129. package/public/invite-subject-aliases.js +77 -0
  130. package/public/invite-subject-aliases.js.map +1 -0
  131. package/public/invite-unsubscribe.js +2 -1
  132. package/public/invite-unsubscribe.js.map +1 -1
  133. package/public/lookup-handles.js +5 -2
  134. package/public/lookup-handles.js.map +1 -1
  135. package/public/open-chat.d.ts +4 -23
  136. package/public/open-chat.js +26 -287
  137. package/public/open-chat.js.map +1 -1
  138. package/public/prompt-chat-section.js +8 -0
  139. package/public/prompt-chat-section.js.map +1 -1
  140. package/public/resolve-invite-subjects.d.ts +4 -0
  141. package/public/resolve-invite-subjects.js +53 -0
  142. package/public/resolve-invite-subjects.js.map +1 -0
  143. package/public/serv-entry-point.js +7 -3
  144. package/public/serv-entry-point.js.map +1 -1
  145. package/public/shared-mint.d.ts +0 -5
  146. package/public/shared-mint.js +0 -21
  147. package/public/shared-mint.js.map +1 -1
  148. package/public/social-flow.js +52 -4
  149. package/public/social-flow.js.map +1 -1
  150. package/public/sync-eventos.js +1 -0
  151. package/public/sync-eventos.js.map +1 -1
  152. package/public/viewer-channel-resolver.js +9 -0
  153. package/public/viewer-channel-resolver.js.map +1 -1
  154. package/public/who-am-i.d.ts +1 -1
  155. package/public/who-am-i.js +10 -2
  156. package/public/who-am-i.js.map +1 -1
  157. package/types.d.ts +1 -2
  158. package/types.js.map +1 -1
  159. package/usage-report/codegen-delivery-alert-util.js.map +1 -1
  160. package/intern/draft-lane-autofix.d.ts +0 -8
  161. package/intern/draft-lane-autofix.js +0 -8
  162. package/intern/draft-lane-autofix.js.map +0 -1
  163. package/intern/draft-lane-classify.d.ts +0 -55
  164. package/intern/draft-lane-classify.js +0 -168
  165. package/intern/draft-lane-classify.js.map +0 -1
  166. package/intern/draft-lane-config.d.ts +0 -28
  167. package/intern/draft-lane-config.js +0 -48
  168. package/intern/draft-lane-config.js.map +0 -1
  169. package/intern/draft-lane-exports.d.ts +0 -7
  170. package/intern/draft-lane-exports.js +0 -104
  171. package/intern/draft-lane-exports.js.map +0 -1
  172. package/intern/draft-lane-imports.d.ts +0 -6
  173. package/intern/draft-lane-imports.js +0 -180
  174. package/intern/draft-lane-imports.js.map +0 -1
  175. package/intern/draft-lane-look.d.ts +0 -20
  176. package/intern/draft-lane-look.js +0 -78
  177. package/intern/draft-lane-look.js.map +0 -1
  178. package/intern/draft-lane-opens.d.ts +0 -6
  179. package/intern/draft-lane-opens.js +0 -217
  180. package/intern/draft-lane-opens.js.map +0 -1
  181. package/intern/draft-lane-parse.d.ts +0 -17
  182. package/intern/draft-lane-parse.js +0 -134
  183. package/intern/draft-lane-parse.js.map +0 -1
  184. package/intern/draft-lane-persist.d.ts +0 -37
  185. package/intern/draft-lane-persist.js +0 -136
  186. package/intern/draft-lane-persist.js.map +0 -1
  187. package/intern/draft-lane-prompt.d.ts +0 -16
  188. package/intern/draft-lane-prompt.js +0 -59
  189. package/intern/draft-lane-prompt.js.map +0 -1
  190. package/intern/draft-lane-settled.d.ts +0 -20
  191. package/intern/draft-lane-settled.js +0 -73
  192. package/intern/draft-lane-settled.js.map +0 -1
  193. package/intern/draft-lane-store.d.ts +0 -39
  194. package/intern/draft-lane-store.js +0 -5
  195. package/intern/draft-lane-store.js.map +0 -1
  196. package/intern/draft-lane-transport.d.ts +0 -11
  197. package/intern/draft-lane-transport.js +0 -61
  198. package/intern/draft-lane-transport.js.map +0 -1
  199. package/intern/draft-lane-worker.d.ts +0 -82
  200. package/intern/draft-lane-worker.js +0 -418
  201. package/intern/draft-lane-worker.js.map +0 -1
  202. package/intern/draft-lane.d.ts +0 -85
  203. package/intern/draft-lane.js +0 -245
  204. package/intern/draft-lane.js.map +0 -1
  205. package/intern/draft-note.d.ts +0 -1
  206. package/intern/draft-note.js +0 -13
  207. package/intern/draft-note.js.map +0 -1
  208. package/intern/draft-ready-frame.d.ts +0 -51
  209. package/intern/draft-ready-frame.js +0 -104
  210. package/intern/draft-ready-frame.js.map +0 -1
  211. package/intern/draft-variation-ast.d.ts +0 -26
  212. package/intern/draft-variation-ast.js +0 -389
  213. package/intern/draft-variation-ast.js.map +0 -1
  214. package/intern/draft-variation.d.ts +0 -46
  215. package/intern/draft-variation.js +0 -249
  216. package/intern/draft-variation.js.map +0 -1
  217. package/intern/guest-draft-start.d.ts +0 -25
  218. package/intern/guest-draft-start.js +0 -66
  219. package/intern/guest-draft-start.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { checkBuildAuth } from "../check-build-auth.js";
2
2
  import { handleGuestOpen } from "./guest-build-generation.js";
3
3
  import { Result, Option, EventoResult, exception2Result } from "@adviser/cement";
4
- import { DRAFT_WAIT_POLL_MS, reqOpenChat, isDraftOwnerHandle, isResHandleRequired, mkResHandleRequired, } from "@vibes.diy/api-types";
4
+ import { reqOpenChat, isResHandleRequired, mkResHandleRequired, } from "@vibes.diy/api-types";
5
5
  import { type } from "arktype";
6
6
  import { unwrapMsgBase } from "../unwrap-msg-base.js";
7
7
  import { assertChatShardIdentity } from "../shard-gate.js";
@@ -18,19 +18,13 @@ import { admitInstructionVariant } from "../intern/instruction-variant.js";
18
18
  import { sweepLostTurns } from "../intern/open-turn-sweep.js";
19
19
  import { liveTurnsOwnedBy, peekInFlightTurns } from "../intern/in-flight-turns.js";
20
20
  import { ensureDraftContinuation } from "../intern/draft-continuation.js";
21
- import { readDraftChat } from "../intern/draft-chat-store.js";
22
21
  import { hasLiveAgentSession } from "../intern/agent-session-runtime.js";
23
22
  import { readAgentSession, shouldResumeAgentSession } from "../intern/agent-session-store.js";
24
23
  import { getOpenTurn } from "../intern/open-turn-store.js";
25
24
  import { fireAgentWakeTurn } from "../intern/agent-wake.js";
26
25
  import { promptChatSection } from "./prompt-chat-section.js";
27
26
  import { promptDispatchContext } from "../intern/prompt-dispatch-context.js";
28
- import { mintJobAwaitsFiles, firstBuildNeedsAttachments, chatHasAnyTurn, chatHasBuildTurn, chatHasSettledBuildTurn, chatHasSettledTurn, claimMintJob, draftLeaseIsLive, getMintJob, listChatTurnIdentities, markMintJobLogged, reclaimLapsedDraft, } from "../intern/mint-job-store.js";
29
- import { dispatchedBuildHasTurn } from "../intern/agent-dispatcher.js";
30
- import { announceDraftReady } from "../intern/draft-ready-frame.js";
31
- import { openChatDraftsFirstBuild, startDraftLane } from "../intern/draft-lane-worker.js";
32
- import { draftJobStoreFor } from "../intern/draft-lane-store.js";
33
- import { agentSessionPinsFor } from "../intern/agent-session.js";
27
+ import { mintJobAwaitsFiles, firstBuildNeedsAttachments, chatHasAnyTurn, chatHasBuildTurn, chatHasSettledBuildTurn, chatHasSettledTurn, claimMintJob, getMintJob, markMintJobLogged, } from "../intern/mint-job-store.js";
34
28
  const MINT_PENDING_STRAND_MS = 60_000;
35
29
  const MINT_AGENT_UNFIRED_STRAND_MS = MINT_PENDING_STRAND_MS;
36
30
  const clientFiredHandoffs = new WeakMap();
@@ -92,40 +86,21 @@ function logRecoveredTurnPins(vctx, o, opts) {
92
86
  })
93
87
  .Msg("recovered-turn-pins");
94
88
  }
95
- export function draftTurnPins(journal, draft) {
96
- const fromDraft = draft?.pins;
97
- if (journal === undefined)
98
- return fromDraft;
99
- if (fromDraft === undefined)
100
- return journal;
101
- return { ...fromDraft, ...journal };
102
- }
103
89
  async function fireUnfiredAgentFirstTurn(args) {
104
90
  const { ctx, vctx, job, auth, outerTid, ownerHandle, appSlug } = args;
105
91
  const chatId = job.chatId;
106
- const from = args.from ?? "agent-unfired";
107
- const arm = args.arm ?? from;
108
- const draftChat = from === "drafted" || job.firstDraft !== undefined;
109
- if (from === "agent-unfired" && clientStillOwnsFirstTurn(vctx.connections, chatId))
92
+ if (clientStillOwnsFirstTurn(vctx.connections, chatId))
93
+ return Result.Ok("none");
94
+ const rHasTurn = await chatHasAnyTurn(vctx, chatId);
95
+ if (rHasTurn.isErr())
96
+ return Result.Err(rHasTurn.Err());
97
+ if (rHasTurn.Ok())
110
98
  return Result.Ok("none");
111
- let draftWatermark;
112
- if (draftChat) {
113
- draftWatermark = await listChatTurnIdentities(vctx, chatId);
114
- if (draftWatermark.isErr())
115
- return Result.Err(draftWatermark.Err());
116
- }
117
- else {
118
- const rHasTurn = await chatHasAnyTurn(vctx, chatId);
119
- if (rHasTurn.isErr())
120
- return Result.Err(rHasTurn.Err());
121
- if (rHasTurn.Ok())
122
- return Result.Ok("none");
123
- }
124
99
  const rJournal = await readAgentSession(vctx.sql, chatId);
125
100
  if (rJournal.isErr())
126
101
  return Result.Err(rJournal.Err());
127
- const pins = draftTurnPins(rJournal.Ok().snapshot?.pins, job.firstDraft);
128
- const rClaim = await claimMintJob(vctx, chatId, [from], "agent");
102
+ const pins = rJournal.Ok().snapshot?.pins;
103
+ const rClaim = await claimMintJob(vctx, chatId, ["agent-unfired"], "agent");
129
104
  if (rClaim.isErr())
130
105
  return Result.Err(rClaim.Err());
131
106
  if (rClaim.Ok() === false)
@@ -135,11 +110,10 @@ async function fireUnfiredAgentFirstTurn(args) {
135
110
  .Str("chatId", chatId)
136
111
  .Str("ownerHandle", ownerHandle)
137
112
  .Str("appSlug", appSlug)
138
- .Str("arm", arm)
139
113
  .Msg("firing the agent's first turn for a shared-minted chat");
140
114
  const submittedAt = Date.parse(job.created);
141
115
  const turnOpts = turnOptsWithJournalPins(args.turnOpts, pins);
142
- logRecoveredTurnPins(vctx, { chatId, arm, turnOpts: args.turnOpts, pins }, turnOpts);
116
+ logRecoveredTurnPins(vctx, { chatId, arm: "agent-unfired", turnOpts: args.turnOpts, pins }, turnOpts);
143
117
  const fire = runMintFire(ctx, {
144
118
  chatId,
145
119
  prompt: job.prompt,
@@ -150,121 +124,18 @@ async function fireUnfiredAgentFirstTurn(args) {
150
124
  appSlug,
151
125
  firstTurnAgent: true,
152
126
  ...(Number.isFinite(submittedAt) ? { submittedAt } : {}),
153
- ...(draftWatermark === undefined
154
- ? {}
155
- : { hasTurn: dispatchedBuildHasTurn({ prior: draftWatermark, read: () => listChatTurnIdentities(vctx, chatId) }) }),
156
127
  ...turnOpts,
157
128
  });
158
129
  if (fire.accepted) {
159
130
  fire.start();
160
131
  return Result.Ok("fired");
161
132
  }
162
- await markMintJobLogged(vctx, { chatId, ownerHandle, appSlug, logModule: "openChat" }, { status: from, onlyFrom: ["agent"] });
133
+ await markMintJobLogged(vctx, { chatId, ownerHandle, appSlug, logModule: "openChat" }, { status: "agent-unfired", onlyFrom: ["agent"] });
163
134
  return Result.Ok("denied");
164
135
  }
165
136
  export function stylePinEchoedOnAck(o) {
166
137
  return o.stylePin !== undefined && o.stylePinAppliedAtMint === true ? o.stylePin : undefined;
167
138
  }
168
- export { DRAFT_WAIT_POLL_MS };
169
- const SENTINEL_HELD_STATUSES = ["agent-unfired", "drafting", "drafted"];
170
- const DRAFT_WAIT_PROGRESSING = ["drafting", "drafted", "agent-unfired"];
171
- const DRAFT_WAIT_FIRED_ELSEWHERE = {
172
- agent: "fired-elsewhere",
173
- pending: "fired-elsewhere",
174
- retrying: "fired-elsewhere",
175
- done: "fired-elsewhere",
176
- failed: "failed-elsewhere",
177
- parked: "parked",
178
- };
179
- const DRAFT_WAIT_MAX_ERROR_LOOKS = 3;
180
- const DRAFT_WAIT_MAX_DENIED_LOOKS = 2;
181
- function firedEnd(arm) {
182
- if (arm === "drafted")
183
- return "drafted-fired";
184
- if (arm === "draft-lapsed")
185
- return "lapsed-fired";
186
- if (arm === "agent-unfired")
187
- return "abandoned-fired";
188
- return "recovered-fired";
189
- }
190
- function endVerdict(ended) {
191
- if (ended === "denied" || ended === "parked")
192
- return "denied";
193
- if (ended === "error" || ended === "lapsed-unfired")
194
- return "none";
195
- return undefined;
196
- }
197
- export async function awaitDraftThenFire(args) {
198
- const sleep = args.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
199
- const pollMs = args.pollMs ?? DRAFT_WAIT_POLL_MS;
200
- const recover = args.recover ?? recoverParkedMintJob;
201
- const end = async (recovery, ended) => {
202
- const verdict = endVerdict(ended);
203
- const log = verdict === undefined ? args.vctx.logger.Info() : args.vctx.logger.Warn();
204
- (recovery.error === undefined ? log : log.Err(recovery.error))
205
- .Str("chatId", args.chatId)
206
- .Str("reason", ended)
207
- .Msg("draft-wait-ended");
208
- if (verdict !== undefined)
209
- await args.pushFireVerdict?.(verdict);
210
- return { ...recovery, ended };
211
- };
212
- let graceUsed = false;
213
- let errorLooks = 0;
214
- let deniedLooks = 0;
215
- for (;;) {
216
- await sleep(pollMs);
217
- const recovery = await recover({ ...args, announceDraft: true });
218
- if (recovery.error !== undefined) {
219
- errorLooks++;
220
- args.vctx.logger
221
- .Warn()
222
- .Err(recovery.error)
223
- .Str("chatId", args.chatId)
224
- .Int("look", errorLooks)
225
- .Msg("draft-wait-recovery-failed");
226
- if (errorLooks >= DRAFT_WAIT_MAX_ERROR_LOOKS)
227
- return end(recovery, "error");
228
- continue;
229
- }
230
- if (recovery.verdict === "awaiting-draft") {
231
- graceUsed = false;
232
- errorLooks = 0;
233
- deniedLooks = 0;
234
- continue;
235
- }
236
- if (recovery.verdict === "fired")
237
- return end(recovery, firedEnd(recovery.arm));
238
- if (recovery.awaitingHandle === true)
239
- return end(recovery, "awaiting-handle");
240
- if (recovery.verdict === "denied") {
241
- deniedLooks++;
242
- errorLooks = 0;
243
- if (deniedLooks >= DRAFT_WAIT_MAX_DENIED_LOOKS)
244
- return end(recovery, "denied");
245
- continue;
246
- }
247
- const rJob = await getMintJob(args.vctx, args.chatId);
248
- if (rJob.isErr()) {
249
- errorLooks++;
250
- if (errorLooks >= DRAFT_WAIT_MAX_ERROR_LOOKS)
251
- return end({ ...recovery, error: rJob.Err() }, "error");
252
- continue;
253
- }
254
- errorLooks = 0;
255
- const job = rJob.Ok();
256
- const elsewhere = job === undefined ? undefined : DRAFT_WAIT_FIRED_ELSEWHERE[job.status];
257
- if (elsewhere !== undefined)
258
- return end(recovery, elsewhere);
259
- if (job?.status === "drafting" && draftLeaseIsLive(job))
260
- continue;
261
- if (job !== undefined && DRAFT_WAIT_PROGRESSING.includes(job.status) && graceUsed === false) {
262
- graceUsed = true;
263
- continue;
264
- }
265
- return end(recovery, "lapsed-unfired");
266
- }
267
- }
268
139
  export async function recoverParkedMintJob(args) {
269
140
  const { ctx, vctx, chatId, auth, outerTid, ownerHandle, appSlug } = args;
270
141
  const rJob = await getMintJob(vctx, chatId);
@@ -281,96 +152,21 @@ export async function recoverParkedMintJob(args) {
281
152
  return { verdict: "none", agentFirstTurn: false, error: needsFiles.Err() };
282
153
  return { verdict: "none", agentFirstTurn: false, firstBuildNeedsAttachments: needsFiles.Ok() };
283
154
  }
284
- let fireOwnerHandle = ownerHandle;
285
- let fireAppSlug = appSlug;
286
- if (isDraftOwnerHandle(ownerHandle) && SENTINEL_HELD_STATUSES.includes(job.status)) {
287
- const rLive = await readDraftChat(vctx, { chatId });
288
- if (rLive.isErr())
289
- return { verdict: "none", agentFirstTurn: false, error: rLive.Err() };
290
- const live = rLive.Ok();
291
- if (live !== undefined) {
292
- fireOwnerHandle = live.ownerHandle;
293
- fireAppSlug = live.appSlug;
294
- }
295
- }
296
- const heldForHandle = isDraftOwnerHandle(fireOwnerHandle);
297
155
  if (job.status === "agent-unfired") {
298
- if (heldForHandle)
299
- return { verdict: "none", agentFirstTurn: false, awaitingHandle: true };
300
156
  const fired = await fireUnfiredAgentFirstTurn({
301
157
  ctx,
302
158
  vctx,
303
159
  job,
304
160
  auth,
305
161
  outerTid,
306
- ownerHandle: fireOwnerHandle,
307
- appSlug: fireAppSlug,
162
+ ownerHandle,
163
+ appSlug,
308
164
  ...(args.turnOpts === undefined ? {} : { turnOpts: args.turnOpts }),
309
165
  });
310
166
  if (fired.isErr())
311
167
  return { verdict: "none", agentFirstTurn: true, error: fired.Err() };
312
168
  return { verdict: fired.Ok(), agentFirstTurn: true, arm: "agent-unfired" };
313
169
  }
314
- if (job.status === "drafting") {
315
- if (draftLeaseIsLive(job))
316
- return {
317
- verdict: "awaiting-draft",
318
- agentFirstTurn: true,
319
- ...(job.firstDraftLeaseUntil === null
320
- ? {}
321
- : {
322
- draftLeaseUntil: job.firstDraftLeaseUntil,
323
- draftLeaseRemainingMs: Math.max(0, Date.parse(job.firstDraftLeaseUntil) - Date.now()),
324
- }),
325
- };
326
- const rReclaim = await reclaimLapsedDraft(vctx.sql, chatId);
327
- if (rReclaim.isErr())
328
- return { verdict: "none", agentFirstTurn: false, error: rReclaim.Err() };
329
- if (rReclaim.Ok() === false)
330
- return { verdict: "none", agentFirstTurn: false };
331
- if (heldForHandle)
332
- return { verdict: "none", agentFirstTurn: false, awaitingHandle: true };
333
- ensureLogger(vctx.sthis, "openChat")
334
- .Info()
335
- .Str("chatId", chatId)
336
- .Msg("draft lease lapsed; handing the first turn to the agent");
337
- const fired = await fireUnfiredAgentFirstTurn({
338
- ctx,
339
- vctx,
340
- job,
341
- auth,
342
- outerTid,
343
- ownerHandle: fireOwnerHandle,
344
- appSlug: fireAppSlug,
345
- from: "agent-unfired",
346
- arm: "draft-lapsed",
347
- ...(args.turnOpts === undefined ? {} : { turnOpts: args.turnOpts }),
348
- });
349
- if (fired.isErr())
350
- return { verdict: "none", agentFirstTurn: true, error: fired.Err() };
351
- return { verdict: fired.Ok(), agentFirstTurn: true, arm: "draft-lapsed" };
352
- }
353
- if (job.status === "drafted") {
354
- if (heldForHandle)
355
- return { verdict: "none", agentFirstTurn: false, awaitingHandle: true };
356
- const fired = await fireUnfiredAgentFirstTurn({
357
- ctx,
358
- vctx,
359
- job,
360
- auth,
361
- outerTid,
362
- ownerHandle: fireOwnerHandle,
363
- appSlug: fireAppSlug,
364
- from: "drafted",
365
- arm: "drafted",
366
- ...(args.turnOpts === undefined ? {} : { turnOpts: args.turnOpts }),
367
- });
368
- if (fired.isErr())
369
- return { verdict: "none", agentFirstTurn: true, error: fired.Err() };
370
- if (fired.Ok() === "fired" && args.announceDraft === true)
371
- await announceDraftReady(vctx, { job, sendCtx: ctx, validated: ctx.validated });
372
- return { verdict: fired.Ok(), agentFirstTurn: true, arm: "drafted" };
373
- }
374
170
  if (job.status === "agent")
375
171
  return { verdict: "none", agentFirstTurn: false };
376
172
  const isParked = job.status === "parked";
@@ -427,15 +223,6 @@ export async function recoverParkedMintJob(args) {
427
223
  await markMintJobLogged(vctx, { chatId, ownerHandle, appSlug, logModule: "openChat" }, { status: "parked", onlyFrom: ["retrying"] });
428
224
  return { verdict: "denied", agentFirstTurn: false };
429
225
  }
430
- export function draftClaimPins(turnOpts) {
431
- const pins = agentSessionPinsFor({
432
- ...(turnOpts.builderModel === undefined ? {} : { builderModel: turnOpts.builderModel }),
433
- ...(turnOpts.model === undefined ? {} : { agentModel: turnOpts.model }),
434
- ...(turnOpts.subagentModel === undefined ? {} : { subagentModel: turnOpts.subagentModel }),
435
- ...(turnOpts.instructionVariant === undefined ? {} : { instructionVariant: turnOpts.instructionVariant }),
436
- });
437
- return Object.keys(pins).length === 0 ? {} : { pins };
438
- }
439
226
  const accountOpenChat = {
440
227
  hash: "open-chat-handler",
441
228
  validate: unwrapMsgBase(async (msg) => {
@@ -465,13 +252,12 @@ const accountOpenChat = {
465
252
  const openedAt = Date.now();
466
253
  let chatPromise;
467
254
  const wantsAgent = wantsAgentFirstTurn(req);
468
- const draftsHere = wantsAgent && openChatDraftsFirstBuild(vctx, req, vctx.dispatchDraftLane);
469
255
  switch (req.mode) {
470
256
  case "codegen":
471
257
  chatPromise = wantsAgent
472
258
  ? ensureChatId(vctx, req, {
473
259
  lightMint: true,
474
- ...(req.clientFiresFirstTurn === true || draftsHere ? { lightMintUnfired: true } : {}),
260
+ ...(req.clientFiresFirstTurn === true ? { lightMintUnfired: true } : {}),
475
261
  })
476
262
  : ensureChatId(vctx, req);
477
263
  break;
@@ -573,31 +359,7 @@ const accountOpenChat = {
573
359
  if (rReSend.isErr()) {
574
360
  console.error("Error in resendChatSectionsPrevMsg", rReSend.Err());
575
361
  }
576
- const draftLaneOwns = draftsHere && agentFirstTurn && chatCreated === true;
577
- const drafting = draftLaneOwns
578
- ? await startDraftLane(vctx, {
579
- chatId,
580
- prompt: req.prompt ?? "",
581
- principal: { kind: "account", auth: req.auth, verifiedClaims: req._auth.verifiedAuth.claims },
582
- jobOrder: mintJobOrder,
583
- store: draftJobStoreFor(),
584
- dispatch: vctx.dispatchDraftLane,
585
- submittedAt: openedAt,
586
- look: { userId: req._auth.verifiedAuth.claims.userId, ownerHandle, appSlug },
587
- ...draftClaimPins(mintFireTurnOpts(req)),
588
- })
589
- : false;
590
- if (req.draftFirstBuild === true && chatCreated === true) {
591
- vctx.logger
592
- .Info()
593
- .Str("chatId", chatId)
594
- .Str("caller", "open-chat")
595
- .Bool("armed", draftsHere)
596
- .Bool("drafting", drafting)
597
- .Msg("open-chat-draft-lane");
598
- }
599
362
  const shouldMintFire = req.mode === "codegen" &&
600
- draftLaneOwns === false &&
601
363
  req.firstBuildRequestId === undefined &&
602
364
  chatCreated === true &&
603
365
  req.dryRun !== true &&
@@ -634,7 +396,7 @@ const accountOpenChat = {
634
396
  if (deniedLightMint)
635
397
  await parkDeniedMintFire();
636
398
  const wantsFireVerdict = (req.awaitFirstTurnFire === true || req.firstBuildRequestId !== undefined) && isReopenRecoveryLane;
637
- const recovery = wantsFireVerdict || draftLaneOwns
399
+ const recovery = wantsFireVerdict
638
400
  ? await recoverParkedMintJob({
639
401
  ctx,
640
402
  vctx,
@@ -665,8 +427,6 @@ const accountOpenChat = {
665
427
  ...(draft === true ? { draft: true } : {}),
666
428
  ...(agentFirstTurn || recovery?.agentFirstTurn === true ? { agentFirstTurn: true } : {}),
667
429
  ...(firstTurnFire === undefined ? {} : { firstTurnFire }),
668
- ...(recovery?.draftLeaseUntil === undefined ? {} : { draftLeaseUntil: recovery.draftLeaseUntil }),
669
- ...(recovery?.draftLeaseRemainingMs === undefined ? {} : { draftLeaseRemainingMs: recovery.draftLeaseRemainingMs }),
670
430
  ...(req.mode === "codegen" ? { agentSession: true } : {}),
671
431
  ...(varietyPin !== undefined &&
672
432
  (varietyPinAppliedAtMint === true ||
@@ -683,29 +443,6 @@ const accountOpenChat = {
683
443
  ? {}
684
444
  : { stylePin }),
685
445
  }));
686
- const recoveryArgs = {
687
- ctx,
688
- vctx,
689
- chatId,
690
- auth: req.auth,
691
- outerTid: ctx.validated.tid,
692
- ownerHandle,
693
- appSlug,
694
- turnOpts: mintFireTurnOpts(req),
695
- };
696
- const pushFireVerdict = async (verdict) => {
697
- const rSent = await exception2Result(() => ctx.send.send(ctx, {
698
- type: "vibes.diy.res-open-chat",
699
- chatId,
700
- appSlug,
701
- ownerHandle,
702
- mode: req.mode,
703
- agentFirstTurn: true,
704
- firstTurnFire: verdict,
705
- }));
706
- if (rSent.isErr())
707
- vctx.logger.Warn().Err(rSent).Str("chatId", chatId).Msg("draft-wait-verdict-send-failed");
708
- };
709
446
  if (mintFire !== undefined) {
710
447
  if (mintFire.accepted) {
711
448
  mintFire.start();
@@ -714,10 +451,6 @@ const accountOpenChat = {
714
451
  void parkDeniedMintFire();
715
452
  }
716
453
  }
717
- else if (draftLaneOwns) {
718
- if (recovery?.verdict === "awaiting-draft")
719
- void awaitDraftThenFire({ ...recoveryArgs, pushFireVerdict });
720
- }
721
454
  else if (isReopenRecoveryLane) {
722
455
  const continuation = await ensureDraftContinuation(vctx, { chatId, userId: req._auth.verifiedAuth.claims.userId });
723
456
  if (continuation.isErr())
@@ -759,10 +492,16 @@ const accountOpenChat = {
759
492
  }
760
493
  }
761
494
  if (!wantsFireVerdict) {
762
- void recoverParkedMintJob(recoveryArgs).then((r) => r.verdict === "awaiting-draft" ? awaitDraftThenFire({ ...recoveryArgs, pushFireVerdict }) : r);
763
- }
764
- else if (recovery?.verdict === "awaiting-draft") {
765
- void awaitDraftThenFire({ ...recoveryArgs, pushFireVerdict });
495
+ void recoverParkedMintJob({
496
+ ctx,
497
+ vctx,
498
+ chatId,
499
+ auth: req.auth,
500
+ outerTid: ctx.validated.tid,
501
+ ownerHandle,
502
+ appSlug,
503
+ turnOpts: mintFireTurnOpts(req),
504
+ });
766
505
  }
767
506
  }
768
507
  if (mintJobOrder !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../jsr/public/open-chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-chat.js","sourceRoot":"","sources":["../../jsr/public/open-chat.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { reconstructConversationMessages, assemblePromptPayload, persistCodegenT
13
13
  import { bumpAppRecency } from "../intern/bump-app-recency.js";
14
14
  import { waitChatPersistIdle } from "../intern/chat-persist-gate.js";
15
15
  import { acquireTurnBuildLock, releaseTurnBuildLock } from "../intern/codegen-build-lock.js";
16
+ import { refuseCrossLaneBuild } from "../intern/cross-lane-build-guard.js";
16
17
  import { agentSessionPinsFor } from "../intern/agent-session.js";
17
18
  import { decideAgentWake } from "../intern/agent-wake.js";
18
19
  import { appendBlockEvent } from "./llm-dispatch.js";
@@ -175,6 +176,13 @@ const accountPromptChatSection = {
175
176
  .Msg("build-busy: chat already has a build in flight");
176
177
  return Result.Err("This app is already building. Wait for it to finish, then try again.");
177
178
  }
179
+ if (movesFilesystem && (await refuseCrossLaneBuild(vctx, req.chatId, promptId))) {
180
+ vctx.logger
181
+ .Info()
182
+ .Any("event", { chatId: req.chatId, promptId })
183
+ .Msg("build-busy: chat is building on another codegen lane");
184
+ return Result.Err("This app is already building. Wait for it to finish, then try again.");
185
+ }
178
186
  const rAck = await exception2Result(() => ctx.send.send(ctx, wrapMsgBase(ctx.validated, {
179
187
  payload: {
180
188
  type: "vibes.diy.res-prompt-chat-section",