@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 +0,0 @@
1
- {"version":3,"file":"draft-lane-transport.js","sourceRoot":"","sources":["../../jsr/intern/draft-lane-transport.ts"],"names":[],"mappings":"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"}
@@ -1,82 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { type GuestCredential, type ReqOpenChat } from "@vibes.diy/api-types";
3
- import { type ClerkClaim, type DashAuthType } from "@vibes.diy/identity";
4
- import type { VibesApiSQLCtx } from "../types.js";
5
- import { type DraftModelCall } from "./draft-lane-classify.js";
6
- import { type DraftLaneDeps } from "./draft-lane.js";
7
- import type { DraftJobStore } from "./draft-lane-store.js";
8
- import type { AgentSessionPins } from "./agent-session.js";
9
- export declare const DRAFT_LANE_PATH = "/internal/draft-lane";
10
- export declare const DRAFT_LANE_AUTH_HEADER = "x-vibes-draft-lane-auth";
11
- export declare const draftLaneJob: import("arktype/internal/variants/object.ts").ObjectType<{
12
- chatId: string;
13
- leaseToken: string;
14
- sentence: string;
15
- auth?: {
16
- type: "clerk" | "device-id" | "ucan";
17
- token: string;
18
- } | undefined;
19
- guest?: {
20
- type: "guest-build";
21
- token: string;
22
- } | undefined;
23
- verifiedClaims?: object | undefined;
24
- submittedAt?: number | undefined;
25
- analyticsCountry?: string | undefined;
26
- }, {}>;
27
- export type DraftLaneJob = typeof draftLaneJob.infer;
28
- export type DispatchDraftLane = (job: DraftLaneJob) => Promise<Result<void>>;
29
- export declare function draftLaneDispatcher(args: {
30
- readonly baseUrl: string | undefined;
31
- readonly internalSecret: string | undefined;
32
- readonly fetch: (request: Request) => Promise<Response>;
33
- }): DispatchDraftLane | undefined;
34
- export declare const DRAFT_LANE_NOT_ADMISSIBLE = "draft-lane-route-status-409";
35
- export declare function isDraftLaneCallAuthorized(secret: string | undefined, provided: string | null): boolean;
36
- export type DraftLanePrincipal = {
37
- readonly kind: "account";
38
- readonly auth: DashAuthType;
39
- readonly verifiedClaims?: ClerkClaim;
40
- } | {
41
- readonly kind: "guest";
42
- readonly guest: GuestCredential;
43
- };
44
- export type DraftLaneSkipReason = "disabled" | "no-dispatcher" | "no-build-intent" | "job-order-error" | "claim-miss" | "claim-error";
45
- export declare function draftLaneArmed(vctx: Pick<VibesApiSQLCtx, "sthis">, args: {
46
- readonly prompt: string;
47
- readonly dispatch: DispatchDraftLane | undefined;
48
- }): boolean;
49
- export declare function unownedDraftLaneArmed(vctx: Pick<VibesApiSQLCtx, "sthis">, args: {
50
- readonly prompt: string;
51
- readonly dispatch: DispatchDraftLane | undefined;
52
- }): boolean;
53
- export type OpenChatDraftShape = Pick<ReqOpenChat, "mode" | "dryRun" | "chatId" | "prompt" | "appSlug" | "clientFiresFirstTurn" | "firstBuildRequestId" | "draftFirstBuild">;
54
- export declare function openChatDraftsFirstBuild(vctx: Pick<VibesApiSQLCtx, "sthis">, req: OpenChatDraftShape, dispatch: DispatchDraftLane | undefined): boolean;
55
- export declare function startDraftLane(vctx: VibesApiSQLCtx, args: {
56
- readonly chatId: string;
57
- readonly prompt: string;
58
- readonly principal: DraftLanePrincipal;
59
- readonly jobOrder?: Promise<unknown>;
60
- readonly store: DraftJobStore;
61
- readonly dispatch: DispatchDraftLane | undefined;
62
- readonly submittedAt?: number;
63
- readonly look?: {
64
- readonly userId: string;
65
- readonly ownerHandle: string;
66
- readonly appSlug: string;
67
- };
68
- readonly rnd?: () => number;
69
- readonly pins?: AgentSessionPins;
70
- }): Promise<boolean>;
71
- export type DraftLaneUnverifiedReason = "jwks-unreachable" | "expired" | "signature" | "schema" | "unverified" | "one-credential" | "claims-mismatch" | `guest-${string}`;
72
- export declare function draftLaneUnverifiedReason(kind: "account" | "guest", error: Error): DraftLaneUnverifiedReason;
73
- export declare function handleDraftLaneRequest(args: {
74
- readonly request: Request;
75
- readonly vctx: VibesApiSQLCtx;
76
- readonly internalSecret: string | undefined;
77
- readonly store: DraftJobStore;
78
- readonly seams?: {
79
- readonly callModel?: DraftModelCall;
80
- readonly systemPrompt?: DraftLaneDeps["systemPrompt"];
81
- };
82
- }): Promise<Response>;
@@ -1,418 +0,0 @@
1
- import { Result, exception2Result } from "@adviser/cement";
2
- import { type } from "arktype";
3
- import { decodeJwt } from "jose";
4
- import { and, eq } from "drizzle-orm/sql/expressions";
5
- import { dashAuthType, guestCredential, isDraftOwnerHandle, } from "@vibes.diy/api-types";
6
- import { ClerkClaimSchema } from "@vibes.diy/identity";
7
- import { verifyAuth } from "../check-auth.js";
8
- import { requireLiveGuestBuild } from "../public/guest-build.js";
9
- import { guestDraftLaneConfig, readDraftLaneConfig } from "./draft-lane-config.js";
10
- import { looksLikeBuildIntent } from "./draft-lane-classify.js";
11
- import { autofixAndCheck } from "./draft-lane-autofix.js";
12
- import { loadDraftSystemPrompt } from "./draft-lane-prompt.js";
13
- import { draftModelCallFor } from "./draft-lane-transport.js";
14
- import { frontendDraftVfs, persistDraftBuild } from "./draft-lane-persist.js";
15
- import { validateAgentFiles } from "./agent-file-validation.js";
16
- import { runDraftLane } from "./draft-lane.js";
17
- import { admitGuestBuild, guestBuildIdentity, interruptGuestBuild, settleGuestBuild } from "./guest-build-store.js";
18
- import { closeTurn } from "./open-turn-store.js";
19
- import { reconcileParkedFirstDraft } from "./attach-draft-handle.js";
20
- import { captureDraftTurnSettled, clampDraftSubmittedAt, draftTurnSettledArgs } from "./draft-lane-settled.js";
21
- import { bufferDraftLook, preDrawDraftLook } from "./draft-lane-look.js";
22
- import { wantsAgentFirstTurn } from "./agent-first-turn-eligible.js";
23
- export const DRAFT_LANE_PATH = "/internal/draft-lane";
24
- export const DRAFT_LANE_AUTH_HEADER = "x-vibes-draft-lane-auth";
25
- export const draftLaneJob = type({
26
- chatId: "0 < string <= 128",
27
- leaseToken: "0 < string <= 256",
28
- sentence: "0 < string <= 16000",
29
- "auth?": dashAuthType,
30
- "guest?": guestCredential,
31
- "verifiedClaims?": "object",
32
- "submittedAt?": "number",
33
- "analyticsCountry?": "0 < string <= 8",
34
- });
35
- export function draftLaneDispatcher(args) {
36
- const { baseUrl, internalSecret } = args;
37
- if (baseUrl === undefined || baseUrl.length === 0 || internalSecret === undefined || internalSecret.length === 0)
38
- return undefined;
39
- const send = args.fetch;
40
- return async function dispatchDraftLane(job) {
41
- const request = new Request(`${baseUrl.replace(/\/+$/, "")}${DRAFT_LANE_PATH}`, {
42
- method: "POST",
43
- headers: { "Content-Type": "application/json", [DRAFT_LANE_AUTH_HEADER]: internalSecret },
44
- body: JSON.stringify(job),
45
- });
46
- const response = await exception2Result(() => send(request));
47
- if (response.isErr())
48
- return Result.Err(response.Err());
49
- const res = response.Ok();
50
- if (res.ok) {
51
- await exception2Result(() => res.body?.cancel());
52
- return Result.Ok(undefined);
53
- }
54
- const answer = await exception2Result(() => res.json());
55
- const reason = answer.isOk() ? routeReasonOf(answer.Ok()) : undefined;
56
- return Result.Err(`draft-lane-route-status-${res.status}${reason === undefined ? "" : `:${reason}`}`);
57
- };
58
- }
59
- const routeRefusal = type({ "reason?": /^[a-z][a-z-]{0,63}$/ });
60
- function routeReasonOf(body) {
61
- const refusal = routeRefusal(body);
62
- return refusal instanceof type.errors ? undefined : refusal.reason;
63
- }
64
- export const DRAFT_LANE_NOT_ADMISSIBLE = "draft-lane-route-status-409";
65
- export function isDraftLaneCallAuthorized(secret, provided) {
66
- if (secret === undefined || secret.length === 0)
67
- return false;
68
- return provided !== null && provided === secret;
69
- }
70
- export function draftLaneArmed(vctx, args) {
71
- const config = readDraftLaneConfig(vctx.sthis.env);
72
- return config.enabled && args.dispatch !== undefined && looksLikeBuildIntent(args.prompt);
73
- }
74
- export function unownedDraftLaneArmed(vctx, args) {
75
- const config = readDraftLaneConfig(vctx.sthis.env);
76
- const automaticHandle = vctx.sthis.env.get("GUEST_FIRST_BUILD_ENABLED") === "true";
77
- return config.guestEnabled && automaticHandle && draftLaneArmed(vctx, args);
78
- }
79
- export function openChatDraftsFirstBuild(vctx, req, dispatch) {
80
- if (req.draftFirstBuild !== true)
81
- return false;
82
- if (wantsAgentFirstTurn(req) === false)
83
- return false;
84
- if (req.clientFiresFirstTurn === true || req.appSlug !== undefined || req.firstBuildRequestId !== undefined)
85
- return false;
86
- if (readDraftLaneConfig(vctx.sthis.env).openChatEnabled === false)
87
- return false;
88
- return draftLaneArmed(vctx, { prompt: req.prompt ?? "", dispatch });
89
- }
90
- export async function startDraftLane(vctx, args) {
91
- const skipped = (reason, error) => {
92
- const line = reason === "no-dispatcher" || reason === "job-order-error" || reason === "claim-error"
93
- ? vctx.logger.Warn()
94
- : vctx.logger.Info();
95
- const withError = error === undefined ? line : line.Err(error);
96
- withError.Str("chatId", args.chatId).Str("reason", reason).Msg("draft-lane-skipped");
97
- return false;
98
- };
99
- const config = readDraftLaneConfig(vctx.sthis.env);
100
- if (config.enabled === false)
101
- return skipped("disabled");
102
- if (args.dispatch === undefined)
103
- return skipped("no-dispatcher");
104
- if (looksLikeBuildIntent(args.prompt) === false)
105
- return skipped("no-build-intent");
106
- if (args.jobOrder !== undefined) {
107
- const jobOrder = args.jobOrder;
108
- const ordered = await exception2Result(() => jobOrder);
109
- if (ordered.isErr())
110
- return skipped("job-order-error", ordered.Err());
111
- const inserted = ordered.Ok();
112
- if (Result.Is(inserted) && inserted.isErr())
113
- return skipped("job-order-error", inserted.Err());
114
- }
115
- const claimed = args.pins === undefined
116
- ? await args.store.claimDraft(vctx.sql, args.chatId, config.leaseMs)
117
- : await args.store.claimDraft(vctx.sql, args.chatId, config.leaseMs, { pins: args.pins });
118
- if (claimed.isErr())
119
- return skipped("claim-error", claimed.Err());
120
- const leaseToken = claimed.Ok();
121
- if (leaseToken === null)
122
- return skipped("claim-miss");
123
- const dispatch = args.dispatch;
124
- const country = vctx.analyticsCountry;
125
- const job = {
126
- chatId: args.chatId,
127
- leaseToken,
128
- sentence: args.prompt,
129
- ...(args.principal.kind === "guest" ? { guest: args.principal.guest } : accountCredential(args.principal)),
130
- ...(args.submittedAt === undefined ? {} : { submittedAt: args.submittedAt }),
131
- ...(country === undefined || country.length === 0 ? {} : { analyticsCountry: country }),
132
- };
133
- const kicked = exception2Result(() => dispatch(job)).then(async (sent) => {
134
- const failed = sent.isErr() ? sent.Err() : undefined;
135
- if (failed === undefined)
136
- return;
137
- vctx.logger.Warn().Err(failed).Str("chatId", args.chatId).Msg("draft-lane-dispatch-failed");
138
- if (failed.message === DRAFT_LANE_NOT_ADMISSIBLE)
139
- return;
140
- await args.store.abandonDraft(vctx.sql, args.chatId, leaseToken);
141
- if (args.principal.kind === "guest")
142
- await interruptPendingGuestBuild(vctx, args.chatId);
143
- });
144
- const lookWritten = args.look === undefined
145
- ? Promise.resolve(undefined)
146
- : (isDraftOwnerHandle(args.look.ownerHandle)
147
- ?
148
- bufferDraftLook(vctx, { chatId: args.chatId, userId: args.look.userId }, args.rnd)
149
- : preDrawDraftLook(vctx, args.look, args.rnd)).then((drawn) => {
150
- if (drawn.isErr())
151
- vctx.logger.Warn().Err(drawn.Err()).Str("chatId", args.chatId).Msg("draft-lane-look-failed");
152
- });
153
- const waitUntil = vctx.waitUntil;
154
- if (waitUntil !== undefined) {
155
- const registered = exception2Result(() => waitUntil(kicked));
156
- if (registered.isErr())
157
- vctx.logger.Warn().Err(registered).Str("chatId", args.chatId).Msg("draft-lane-wait-until-failed");
158
- }
159
- else {
160
- await kicked;
161
- }
162
- await lookWritten;
163
- return true;
164
- }
165
- function accountCredential(principal) {
166
- return principal.verifiedClaims === undefined
167
- ? { auth: principal.auth }
168
- : { auth: principal.auth, verifiedClaims: principal.verifiedClaims };
169
- }
170
- async function liveSentinelAddress(vctx, key) {
171
- const t = vctx.sql.tables.chatContexts;
172
- const live = await exception2Result(() => vctx.sql.db
173
- .select({ ownerHandle: t.ownerHandle, appSlug: t.appSlug })
174
- .from(t)
175
- .where(and(eq(t.chatId, key.chatId), eq(t.userId, key.userId)))
176
- .limit(1)
177
- .then((rows) => rows[0]));
178
- if (live.isErr())
179
- return Result.Err(live.Err());
180
- const row = live.Ok();
181
- if (row === undefined)
182
- return Result.Err(`draft chat ${key.chatId} is gone`);
183
- return Result.Ok({ parks: isDraftOwnerHandle(row.ownerHandle), ownerHandle: row.ownerHandle, appSlug: row.appSlug });
184
- }
185
- async function verifyDraftPrincipal(vctx, job) {
186
- if (job.auth !== undefined && job.guest === undefined) {
187
- const trusted = job.verifiedClaims === undefined ? undefined : ClerkClaimSchema.safeParse(job.verifiedClaims);
188
- if (trusted !== undefined && trusted.success === false) {
189
- vctx.logger
190
- .Warn()
191
- .Str("chatId", job.chatId)
192
- .Any("issuePaths", trusted.error.issues.map((issue) => issue.path.map(String).join(".")))
193
- .Msg("draft-lane-claims-unparsed");
194
- }
195
- const bindable = job.auth.type === "clerk" && job.auth.token.startsWith(CLERK_OAUTH_ACCESS_TOKEN_PREFIX) === false;
196
- if (trusted !== undefined && trusted.success && bindable) {
197
- const token = job.auth.token;
198
- const decoded = exception2Result(() => decodeJwt(token));
199
- if (decoded.isErr() || decoded.Ok().sub !== trusted.data.sub)
200
- return Result.Err("draft-lane-claims-mismatch");
201
- const exp = trusted.data.exp;
202
- const leaseMs = readDraftLaneConfig(vctx.sthis.env).leaseMs;
203
- if (exp !== undefined && exp * 1000 < Date.now() - leaseMs)
204
- return Result.Err("draft-lane-claims-expired");
205
- const verified = {
206
- type: "VerifiedAuthResult",
207
- inDashAuth: job.auth,
208
- verifiedAuth: { type: "clerk", claims: trusted.data },
209
- };
210
- return Result.Ok({ kind: "account", auth: job.auth, verified });
211
- }
212
- const verified = await verifyAuth(vctx, { auth: job.auth });
213
- if (verified.isErr())
214
- return Result.Err(verified.Err());
215
- const identity = verified.Ok();
216
- if (identity.type !== "VerifiedAuthResult")
217
- return Result.Err("draft-lane-unverified");
218
- return Result.Ok({ kind: "account", auth: job.auth, verified: identity });
219
- }
220
- if (job.guest === undefined || job.auth !== undefined)
221
- return Result.Err("draft-lane-one-credential");
222
- const signer = vctx.guestBuildSigner;
223
- if (signer === undefined)
224
- return Result.Err("guest-build-unavailable");
225
- const claims = await signer.verify(job.guest.token);
226
- if (claims.isErr())
227
- return Result.Err(claims.Err());
228
- if (claims.Ok().chatId !== job.chatId || claims.Ok().userId !== guestBuildIdentity(job.chatId).guestUserId)
229
- return Result.Err("guest-chat-scope-mismatch");
230
- const verified = {
231
- type: "VerifiedGuestBuildAuth",
232
- inGuestAuth: job.guest,
233
- verifiedAuth: { type: "guest-build", claims: claims.Ok() },
234
- };
235
- const live = await requireLiveGuestBuild(vctx, verified);
236
- if (live.isErr())
237
- return Result.Err(live.Err());
238
- return Result.Ok({ kind: "guest", verified });
239
- }
240
- const CLERK_OAUTH_ACCESS_TOKEN_PREFIX = "oat_";
241
- export function draftLaneUnverifiedReason(kind, error) {
242
- const message = error.message;
243
- if (message === "draft-lane-one-credential")
244
- return "one-credential";
245
- if (kind === "account" && message === "draft-lane-claims-mismatch")
246
- return "claims-mismatch";
247
- if (kind === "account" && message === "draft-lane-claims-expired")
248
- return "expired";
249
- if (kind === "guest")
250
- return /^guest-[a-z-]{1,48}$/.test(message) ? message : "guest-unverified";
251
- if (message.includes("ERR_JWT_EXPIRED"))
252
- return "expired";
253
- if (message.includes("ERR_JWS_SIGNATURE_VERIFICATION_FAILED"))
254
- return "signature";
255
- if (error.name === "ZodError" || message.includes('"ZodError"'))
256
- return "schema";
257
- if (/"type":\s*"timeout"/.test(message) || /"error":\s*\{\}/.test(message) || message.includes("Failed to fetch well-known JWKS"))
258
- return "jwks-unreachable";
259
- return "unverified";
260
- }
261
- async function interruptPendingGuestBuild(vctx, chatId) {
262
- const moved = await interruptGuestBuild(vctx, { chatId });
263
- if (moved.isErr())
264
- vctx.logger.Warn().Err(moved.Err()).Str("chatId", chatId).Msg("draft-lane-guest-interrupt-failed");
265
- }
266
- async function settleGuestDraft(vctx, turn, outcome) {
267
- const closed = await closeTurn(vctx.sql, turn);
268
- if (closed.isErr())
269
- vctx.logger.Warn().Err(closed.Err()).Str("chatId", turn.chatId).Msg("draft-lane-guest-close-failed");
270
- const moved = outcome.kind === "drafted" ? await settleGuestBuild(vctx, turn) : await interruptGuestBuild(vctx, turn);
271
- if (moved.isErr() || moved.Ok() === false) {
272
- const line = vctx.logger.Warn().Str("chatId", turn.chatId).Str("outcome", outcome.kind);
273
- (moved.isErr() ? line.Err(moved.Err()) : line).Msg("draft-lane-guest-settle-missed");
274
- }
275
- }
276
- function json(status, body) {
277
- return new Response(JSON.stringify(body), {
278
- status,
279
- headers: { "Content-Type": "application/json", "Cache-Control": "no-store" },
280
- });
281
- }
282
- export async function handleDraftLaneRequest(args) {
283
- const { request, vctx } = args;
284
- const arrivedAt = Date.now();
285
- if (request.method !== "POST")
286
- return json(405, { error: "method" });
287
- const config = readDraftLaneConfig(vctx.sthis.env);
288
- if (config.enabled === false)
289
- return json(404, { error: "draft lane off" });
290
- if (isDraftLaneCallAuthorized(args.internalSecret, request.headers.get(DRAFT_LANE_AUTH_HEADER)) === false) {
291
- return json(403, { error: "forbidden" });
292
- }
293
- const body = await exception2Result(() => request.json());
294
- if (body.isErr())
295
- return json(400, { error: "invalid body" });
296
- const job = draftLaneJob(body.Ok());
297
- if (job instanceof type.errors)
298
- return json(400, { error: "invalid job" });
299
- const principal = await verifyDraftPrincipal(vctx, job);
300
- if (principal.isErr()) {
301
- const reason = draftLaneUnverifiedReason(job.guest === undefined ? "account" : "guest", principal.Err());
302
- vctx.logger.Warn().Str("chatId", job.chatId).Str("reason", reason).Msg("draft-lane-unverified");
303
- return json(401, { error: "unverified", reason });
304
- }
305
- const who = principal.Ok();
306
- const userId = who.verified.verifiedAuth.claims.userId;
307
- const t = vctx.sql.tables.chatContexts;
308
- const chat = await exception2Result(() => vctx.sql.db
309
- .select({ ownerHandle: t.ownerHandle, appSlug: t.appSlug })
310
- .from(t)
311
- .where(and(eq(t.chatId, job.chatId), eq(t.userId, userId)))
312
- .limit(1)
313
- .then((rows) => rows[0]));
314
- if (chat.isErr()) {
315
- if (who.kind === "guest")
316
- await interruptPendingGuestBuild(vctx, job.chatId);
317
- return json(503, { error: "store unavailable" });
318
- }
319
- const row = chat.Ok();
320
- if (row === undefined)
321
- return json(404, { error: "chat not found" });
322
- let guestTurn = undefined;
323
- if (who.kind === "guest") {
324
- const claims = who.verified.verifiedAuth.claims;
325
- const promptId = vctx.sthis.nextId(12).str;
326
- const admitted = await admitGuestBuild(vctx, {
327
- chatId: claims.chatId,
328
- guestUserId: claims.userId,
329
- jti: claims.jti,
330
- promptId,
331
- });
332
- if (admitted.isErr()) {
333
- await args.store.abandonDraft(vctx.sql, job.chatId, job.leaseToken);
334
- await interruptPendingGuestBuild(vctx, job.chatId);
335
- return json(503, { error: "store unavailable" });
336
- }
337
- if (admitted.Ok() === false)
338
- return json(409, { error: "guest build not admissible" });
339
- guestTurn = { chatId: claims.chatId, promptId };
340
- }
341
- const laneConfig = who.kind === "guest" ? guestDraftLaneConfig(config) : config;
342
- let persistAt;
343
- const persistAddress = () => {
344
- if (persistAt !== undefined)
345
- return persistAt;
346
- persistAt =
347
- who.kind === "guest" || isDraftOwnerHandle(row.ownerHandle) === false
348
- ? Promise.resolve(Result.Ok({ parks: who.kind === "guest", ownerHandle: row.ownerHandle, appSlug: row.appSlug }))
349
- : liveSentinelAddress(vctx, { chatId: job.chatId, userId });
350
- return persistAt;
351
- };
352
- const outcome = await runDraftLane({
353
- chatId: job.chatId,
354
- leaseToken: job.leaseToken,
355
- sentence: job.sentence,
356
- userHandle: row.ownerHandle,
357
- config: laneConfig,
358
- deps: {
359
- store: args.store,
360
- sql: vctx.sql,
361
- callModel: args.seams?.callModel ?? draftModelCallFor(vctx),
362
- systemPrompt: args.seams?.systemPrompt ??
363
- ((classification) => loadDraftSystemPrompt(vctx, {
364
- chatId: job.chatId,
365
- ownerHandle: row.ownerHandle,
366
- model: config.builderModel,
367
- classification,
368
- })),
369
- autofixAndCheck,
370
- saveCheck: async (draftVfs) => {
371
- const at = await persistAddress();
372
- if (at.isErr())
373
- return Result.Err(at.Err());
374
- const vfs = at.Ok().parks ? frontendDraftVfs(draftVfs) : draftVfs;
375
- const changes = [...vfs].map(([path, contents]) => ({ path, contents }));
376
- const checked = await validateAgentFiles(vctx, { vfs, changes, ownerHandle: at.Ok().ownerHandle });
377
- return checked.isErr() ? Result.Err(checked.Err()) : Result.Ok(undefined);
378
- },
379
- persist: async (draft) => {
380
- const at = await persistAddress();
381
- if (at.isErr())
382
- return Result.Err(at.Err());
383
- const base = { chatId: job.chatId, ownerHandle: at.Ok().ownerHandle, appSlug: at.Ok().appSlug, draft };
384
- const persistArgs = who.kind === "guest"
385
- ? { ...base, guest: who.verified, ...(guestTurn === undefined ? {} : { promptId: guestTurn.promptId }) }
386
- : { ...base, auth: who.auth, verified: who.verified };
387
- return persistDraftBuild(vctx, persistArgs);
388
- },
389
- now: () => Date.now(),
390
- log: (event) => vctx.logger.Info().Any("draftLane", event).Msg(`draft-lane-${event.step}`),
391
- },
392
- });
393
- if (outcome.kind === "drafted") {
394
- const reconciled = await reconcileParkedFirstDraft(vctx, job.chatId);
395
- if (reconciled.isErr())
396
- vctx.logger.Warn().Err(reconciled.Err()).Str("chatId", job.chatId).Msg("draft-lane-first-draft-reconcile-failed");
397
- }
398
- if (guestTurn !== undefined)
399
- await settleGuestDraft(vctx, guestTurn, outcome);
400
- if (who.kind === "guest")
401
- return json(200, { ...outcome });
402
- const nowMs = Date.now();
403
- captureDraftTurnSettled(vctx, {
404
- chatId: job.chatId,
405
- settled: draftTurnSettledArgs({
406
- outcome,
407
- userId,
408
- ownerHandle: row.ownerHandle,
409
- appSlug: row.appSlug,
410
- builderModel: config.builderModel,
411
- originMs: clampDraftSubmittedAt(job.submittedAt, nowMs) ?? arrivedAt,
412
- nowMs,
413
- }),
414
- analyticsCountry: job.analyticsCountry,
415
- });
416
- return json(200, { ...outcome });
417
- }
418
- //# sourceMappingURL=draft-lane-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draft-lane-worker.js","sourceRoot":"","sources":["../../jsr/intern/draft-lane-worker.ts"],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- import { Result } from "@adviser/cement";
2
- import { type DraftLaneConfig, type DraftReasoningEffort } from "./draft-lane-config.js";
3
- import { type DraftClassification, type DraftModelCall, type DraftModelReply, type DraftModelRequest, type DraftModelUsage } from "./draft-lane-classify.js";
4
- import type { AutofixAndCheck } from "./draft-lane-autofix.js";
5
- import type { DraftJobSql, DraftJobStore, DraftOpensVerdict } from "./draft-lane-store.js";
6
- import { type VaryDraftOptions, type VaryDraftResult } from "./draft-variation.js";
7
- export declare const DRAFT_MAX_OUTPUT_TOKENS = 32000;
8
- export interface DraftCallLedgerEntry extends DraftModelUsage {
9
- readonly reasoningEffort?: DraftReasoningEffort;
10
- }
11
- export interface DraftToPersist {
12
- readonly chatId: string;
13
- readonly sentence: string;
14
- readonly text: string;
15
- readonly vfs: ReadonlyMap<string, string>;
16
- readonly draftNote: string;
17
- readonly model: string;
18
- readonly usage: readonly DraftCallLedgerEntry[];
19
- readonly classification: DraftClassification;
20
- }
21
- export interface DraftLaneDeps {
22
- readonly store: DraftJobStore;
23
- readonly sql: DraftJobSql;
24
- readonly callModel: DraftModelCall;
25
- readonly systemPrompt: (classification: DraftClassification) => Promise<Result<string>>;
26
- readonly autofixAndCheck: AutofixAndCheck;
27
- readonly saveCheck: (vfs: ReadonlyMap<string, string>) => Promise<Result<void>>;
28
- readonly persist: (draft: DraftToPersist) => Promise<Result<{
29
- readonly appSlug: string;
30
- readonly buildId: string;
31
- readonly proposedSlug?: string;
32
- readonly promptId?: string;
33
- }>>;
34
- readonly now: () => number;
35
- readonly log?: (event: DraftLaneEvent) => void;
36
- readonly varyDraft?: (opts: VaryDraftOptions) => Promise<VaryDraftResult>;
37
- }
38
- export type DraftAbandonReason = "not-a-build" | "store-error" | "prompt-unavailable" | "builder-error" | "builder-timeout" | "unparseable" | "does-not-open" | "persist-failed" | "complete-refused";
39
- export interface DraftLaneMeasure {
40
- readonly classifierMs?: number;
41
- readonly attempts: number;
42
- readonly draftMs: number;
43
- readonly opensChecked: boolean;
44
- readonly autofixApplied: boolean;
45
- readonly touchedPaths: readonly string[];
46
- }
47
- export type DraftLaneOutcome = {
48
- readonly kind: "drafted";
49
- readonly appSlug: string;
50
- readonly buildId: string;
51
- readonly draftNote: string;
52
- readonly verdict: DraftOpensVerdict;
53
- readonly measure: DraftLaneMeasure;
54
- } | {
55
- readonly kind: "abandoned";
56
- readonly reason: DraftAbandonReason;
57
- readonly detail?: string;
58
- readonly verdict?: DraftOpensVerdict;
59
- readonly measure: DraftLaneMeasure;
60
- } | {
61
- readonly kind: "lease-lost";
62
- readonly before: "classifier" | "builder" | "persist";
63
- readonly measure: DraftLaneMeasure;
64
- };
65
- export interface DraftLaneEvent {
66
- readonly chatId: string;
67
- readonly step: "classified" | "attempt" | "variation" | "settled";
68
- readonly data: Readonly<Record<string, unknown>>;
69
- }
70
- export interface RunDraftLaneArgs {
71
- readonly chatId: string;
72
- readonly leaseToken: string;
73
- readonly sentence: string;
74
- readonly userHandle: string;
75
- readonly config: DraftLaneConfig;
76
- readonly deps: DraftLaneDeps;
77
- }
78
- export type DeadlineReply = {
79
- readonly timedOut: true;
80
- } | {
81
- readonly timedOut: false;
82
- readonly reply: Result<DraftModelReply>;
83
- };
84
- export declare function callWithDeadline(call: DraftModelCall, req: DraftModelRequest, timeoutMs: number): Promise<DeadlineReply>;
85
- export declare function runDraftLane(args: RunDraftLaneArgs): Promise<DraftLaneOutcome>;