@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.
- package/analytics.d.ts +3 -15
- package/analytics.js +2 -18
- package/analytics.js.map +1 -1
- package/cf-serve.js +1 -0
- package/cf-serve.js.map +1 -1
- package/create-handler.d.ts +0 -2
- package/create-handler.js +0 -1
- package/create-handler.js.map +1 -1
- package/evento-handler-manifest.js +4 -0
- package/evento-handler-manifest.js.map +1 -1
- package/index.d.ts +5 -0
- package/index.js +5 -0
- package/index.js.map +1 -1
- package/intern/agent-assembly.d.ts +0 -2
- package/intern/agent-assembly.js +2 -2
- package/intern/agent-assembly.js.map +1 -1
- package/intern/agent-build-tools.d.ts +1 -7
- package/intern/agent-build-tools.js +4 -38
- package/intern/agent-build-tools.js.map +1 -1
- package/intern/agent-deferred-access.d.ts +0 -13
- package/intern/agent-deferred-access.js +0 -31
- package/intern/agent-deferred-access.js.map +1 -1
- package/intern/agent-dispatcher.js +29 -87
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-request-frame.d.ts +0 -10
- package/intern/agent-request-frame.js +0 -16
- package/intern/agent-request-frame.js.map +1 -1
- package/intern/agent-router.d.ts +1 -1
- package/intern/agent-router.js +1 -1
- package/intern/agent-router.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +2 -2
- package/intern/agent-session-instruction.js +4 -7
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-session-runtime.js +0 -6
- package/intern/agent-session-runtime.js.map +1 -1
- package/intern/agent-session.d.ts +25 -25
- package/intern/agent-session.js +1 -1
- package/intern/agent-session.js.map +1 -1
- package/intern/attach-draft-handle.d.ts +0 -1
- package/intern/attach-draft-handle.js +2 -56
- package/intern/attach-draft-handle.js.map +1 -1
- package/intern/backend-db-callback.js +1 -0
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/components/vibe-page.js +1 -0
- package/intern/components/vibe-page.js.map +1 -1
- package/intern/cross-lane-build-guard.d.ts +10 -0
- package/intern/cross-lane-build-guard.js +17 -0
- package/intern/cross-lane-build-guard.js.map +1 -0
- package/intern/delete-access-gate.js +1 -0
- package/intern/delete-access-gate.js.map +1 -1
- package/intern/draft-chat-store.d.ts +7 -0
- package/intern/draft-continuation.js +1 -6
- package/intern/draft-continuation.js.map +1 -1
- package/intern/ensure-chat-id.js +2 -2
- package/intern/ensure-chat-id.js.map +1 -1
- package/intern/ensure-slug-binding.js +2 -0
- package/intern/ensure-slug-binding.js.map +1 -1
- package/intern/grouped-vibe-import-map.d.ts +3 -0
- package/intern/grouped-vibe-import-map.js +3 -0
- package/intern/grouped-vibe-import-map.js.map +1 -1
- package/intern/guest-build-store.d.ts +0 -9
- package/intern/guest-build-store.js +2 -100
- package/intern/guest-build-store.js.map +1 -1
- package/intern/import-synth.js.map +1 -1
- package/intern/mint-decision.d.ts +1 -0
- package/intern/mint-decision.js +3 -0
- package/intern/mint-decision.js.map +1 -1
- package/intern/mint-job-store.d.ts +2 -64
- package/intern/mint-job-store.js +7 -180
- package/intern/mint-job-store.js.map +1 -1
- package/intern/mint-style.js +5 -1
- package/intern/mint-style.js.map +1 -1
- package/intern/open-turn-store.d.ts +10 -0
- package/intern/open-turn-store.js +28 -1
- package/intern/open-turn-store.js.map +1 -1
- package/intern/pouf-head-css.d.ts +15 -0
- package/intern/pouf-head-css.js +40 -0
- package/intern/pouf-head-css.js.map +1 -0
- package/intern/prompt-assembly.d.ts +0 -19
- package/intern/prompt-assembly.js +2 -5
- package/intern/prompt-assembly.js.map +1 -1
- package/intern/prompt-step.js.map +1 -1
- package/intern/put-access-gate.d.ts +1 -0
- package/intern/put-access-gate.js +8 -0
- package/intern/put-access-gate.js.map +1 -1
- package/intern/render-vibe.d.ts +2 -1
- package/intern/render-vibe.js +5 -2
- package/intern/render-vibe.js.map +1 -1
- package/intern/save-repair-io.d.ts +50 -0
- package/intern/save-repair-io.js +188 -0
- package/intern/save-repair-io.js.map +1 -0
- package/intern/save-repair.d.ts +4 -4
- package/intern/save-repair.js +4 -7
- package/intern/save-repair.js.map +1 -1
- package/intern/section-fan-out.d.ts +3 -10
- package/intern/section-fan-out.js +0 -23
- package/intern/section-fan-out.js.map +1 -1
- package/package.json +13 -12
- package/public/agent-turn-action.js +3 -0
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.js +0 -17
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/app-documents-read-eventos.js +17 -0
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/app-documents-write-eventos.d.ts +1 -0
- package/public/app-documents-write-eventos.js +9 -0
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/channel-invite-flow.d.ts +6 -0
- package/public/channel-invite-flow.js +102 -0
- package/public/channel-invite-flow.js.map +1 -0
- package/public/channel-invite-signup-match.d.ts +6 -0
- package/public/channel-invite-signup-match.js +31 -0
- package/public/channel-invite-signup-match.js.map +1 -0
- package/public/channel-invite-store.d.ts +62 -0
- package/public/channel-invite-store.js +186 -0
- package/public/channel-invite-store.js.map +1 -0
- package/public/grant-reduce.d.ts +5 -0
- package/public/grant-reduce.js +33 -8
- package/public/grant-reduce.js.map +1 -1
- package/public/handle-prompt-context.d.ts +3 -6
- package/public/handle-prompt-context.js +3 -7
- package/public/handle-prompt-context.js.map +1 -1
- package/public/handler-llm-request.js +1 -0
- package/public/handler-llm-request.js.map +1 -1
- package/public/inherit-read-resolver.d.ts +1 -0
- package/public/inherit-read-resolver.js +9 -0
- package/public/inherit-read-resolver.js.map +1 -1
- package/public/invite-subject-aliases.d.ts +15 -0
- package/public/invite-subject-aliases.js +77 -0
- package/public/invite-subject-aliases.js.map +1 -0
- package/public/invite-unsubscribe.js +2 -1
- package/public/invite-unsubscribe.js.map +1 -1
- package/public/lookup-handles.js +5 -2
- package/public/lookup-handles.js.map +1 -1
- package/public/open-chat.d.ts +4 -23
- package/public/open-chat.js +26 -287
- package/public/open-chat.js.map +1 -1
- package/public/prompt-chat-section.js +8 -0
- package/public/prompt-chat-section.js.map +1 -1
- package/public/resolve-invite-subjects.d.ts +4 -0
- package/public/resolve-invite-subjects.js +53 -0
- package/public/resolve-invite-subjects.js.map +1 -0
- package/public/serv-entry-point.js +7 -3
- package/public/serv-entry-point.js.map +1 -1
- package/public/shared-mint.d.ts +0 -5
- package/public/shared-mint.js +0 -21
- package/public/shared-mint.js.map +1 -1
- package/public/social-flow.js +52 -4
- package/public/social-flow.js.map +1 -1
- package/public/sync-eventos.js +1 -0
- package/public/sync-eventos.js.map +1 -1
- package/public/viewer-channel-resolver.js +9 -0
- package/public/viewer-channel-resolver.js.map +1 -1
- package/public/who-am-i.d.ts +1 -1
- package/public/who-am-i.js +10 -2
- package/public/who-am-i.js.map +1 -1
- package/types.d.ts +1 -2
- package/types.js.map +1 -1
- package/usage-report/codegen-delivery-alert-util.js.map +1 -1
- package/intern/draft-lane-autofix.d.ts +0 -8
- package/intern/draft-lane-autofix.js +0 -8
- package/intern/draft-lane-autofix.js.map +0 -1
- package/intern/draft-lane-classify.d.ts +0 -55
- package/intern/draft-lane-classify.js +0 -168
- package/intern/draft-lane-classify.js.map +0 -1
- package/intern/draft-lane-config.d.ts +0 -28
- package/intern/draft-lane-config.js +0 -48
- package/intern/draft-lane-config.js.map +0 -1
- package/intern/draft-lane-exports.d.ts +0 -7
- package/intern/draft-lane-exports.js +0 -104
- package/intern/draft-lane-exports.js.map +0 -1
- package/intern/draft-lane-imports.d.ts +0 -6
- package/intern/draft-lane-imports.js +0 -180
- package/intern/draft-lane-imports.js.map +0 -1
- package/intern/draft-lane-look.d.ts +0 -20
- package/intern/draft-lane-look.js +0 -78
- package/intern/draft-lane-look.js.map +0 -1
- package/intern/draft-lane-opens.d.ts +0 -6
- package/intern/draft-lane-opens.js +0 -217
- package/intern/draft-lane-opens.js.map +0 -1
- package/intern/draft-lane-parse.d.ts +0 -17
- package/intern/draft-lane-parse.js +0 -134
- package/intern/draft-lane-parse.js.map +0 -1
- package/intern/draft-lane-persist.d.ts +0 -37
- package/intern/draft-lane-persist.js +0 -136
- package/intern/draft-lane-persist.js.map +0 -1
- package/intern/draft-lane-prompt.d.ts +0 -16
- package/intern/draft-lane-prompt.js +0 -59
- package/intern/draft-lane-prompt.js.map +0 -1
- package/intern/draft-lane-settled.d.ts +0 -20
- package/intern/draft-lane-settled.js +0 -73
- package/intern/draft-lane-settled.js.map +0 -1
- package/intern/draft-lane-store.d.ts +0 -39
- package/intern/draft-lane-store.js +0 -5
- package/intern/draft-lane-store.js.map +0 -1
- package/intern/draft-lane-transport.d.ts +0 -11
- package/intern/draft-lane-transport.js +0 -61
- package/intern/draft-lane-transport.js.map +0 -1
- package/intern/draft-lane-worker.d.ts +0 -82
- package/intern/draft-lane-worker.js +0 -418
- package/intern/draft-lane-worker.js.map +0 -1
- package/intern/draft-lane.d.ts +0 -85
- package/intern/draft-lane.js +0 -245
- package/intern/draft-lane.js.map +0 -1
- package/intern/draft-note.d.ts +0 -1
- package/intern/draft-note.js +0 -13
- package/intern/draft-note.js.map +0 -1
- package/intern/draft-ready-frame.d.ts +0 -51
- package/intern/draft-ready-frame.js +0 -104
- package/intern/draft-ready-frame.js.map +0 -1
- package/intern/draft-variation-ast.d.ts +0 -26
- package/intern/draft-variation-ast.js +0 -389
- package/intern/draft-variation-ast.js.map +0 -1
- package/intern/draft-variation.d.ts +0 -46
- package/intern/draft-variation.js +0 -249
- package/intern/draft-variation.js.map +0 -1
- package/intern/guest-draft-start.d.ts +0 -25
- package/intern/guest-draft-start.js +0 -66
- package/intern/guest-draft-start.js.map +0 -1
package/public/open-chat.js
CHANGED
|
@@ -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 {
|
|
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,
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
const
|
|
109
|
-
if (
|
|
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 =
|
|
128
|
-
const rClaim = await claimMintJob(vctx, chatId, [
|
|
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:
|
|
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
|
|
307
|
-
appSlug
|
|
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
|
|
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
|
|
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(
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
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)
|
package/public/open-chat.js.map
CHANGED
|
@@ -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",
|