@vibes.diy/api-svc 14.3.64 → 14.3.66

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 (193) hide show
  1. package/cf-serve.js +1 -0
  2. package/cf-serve.js.map +1 -1
  3. package/check-auth.js +6 -1
  4. package/check-auth.js.map +1 -1
  5. package/create-handler.d.ts +2 -1
  6. package/create-handler.js +28 -17
  7. package/create-handler.js.map +1 -1
  8. package/evento-handler-manifest.js +2 -3
  9. package/evento-handler-manifest.js.map +1 -1
  10. package/guest-principal-token.d.ts +17 -0
  11. package/guest-principal-token.js +52 -0
  12. package/guest-principal-token.js.map +1 -0
  13. package/intern/agent-assembly.d.ts +7 -1
  14. package/intern/agent-assembly.js +14 -9
  15. package/intern/agent-assembly.js.map +1 -1
  16. package/intern/agent-belt.d.ts +6 -2
  17. package/intern/agent-belt.js +58 -9
  18. package/intern/agent-belt.js.map +1 -1
  19. package/intern/agent-build-tools.d.ts +3 -0
  20. package/intern/agent-build-tools.js +4 -2
  21. package/intern/agent-build-tools.js.map +1 -1
  22. package/intern/agent-dispatcher.js +15 -7
  23. package/intern/agent-dispatcher.js.map +1 -1
  24. package/intern/agent-image-survey-start.js +2 -1
  25. package/intern/agent-image-survey-start.js.map +1 -1
  26. package/intern/agent-session.d.ts +25 -24
  27. package/intern/agent-session.js +6 -2
  28. package/intern/agent-session.js.map +1 -1
  29. package/intern/attach-draft-handle.js +2 -0
  30. package/intern/attach-draft-handle.js.map +1 -1
  31. package/intern/automatic-draft-attachment.js +1 -8
  32. package/intern/automatic-draft-attachment.js.map +1 -1
  33. package/intern/client-message-dedupe.d.ts +27 -0
  34. package/intern/client-message-dedupe.js +89 -0
  35. package/intern/client-message-dedupe.js.map +1 -0
  36. package/intern/draft-runtime-store.d.ts +0 -2
  37. package/intern/draft-runtime-store.js +0 -15
  38. package/intern/draft-runtime-store.js.map +1 -1
  39. package/intern/ensure-chat-id.js +7 -4
  40. package/intern/ensure-chat-id.js.map +1 -1
  41. package/intern/guest-credit-meter.d.ts +13 -0
  42. package/intern/guest-credit-meter.js +82 -0
  43. package/intern/guest-credit-meter.js.map +1 -0
  44. package/intern/guest-mask.d.ts +8 -0
  45. package/intern/guest-mask.js +18 -0
  46. package/intern/guest-mask.js.map +1 -0
  47. package/intern/guest-principal-claim.d.ts +24 -0
  48. package/intern/guest-principal-claim.js +208 -0
  49. package/intern/guest-principal-claim.js.map +1 -0
  50. package/intern/guest-principal-store.d.ts +31 -0
  51. package/intern/guest-principal-store.js +159 -0
  52. package/intern/guest-principal-store.js.map +1 -0
  53. package/intern/image-survey.d.ts +1 -1
  54. package/intern/image-survey.js +1 -2
  55. package/intern/image-survey.js.map +1 -1
  56. package/intern/import-synth.d.ts +5 -0
  57. package/intern/import-synth.js +52 -12
  58. package/intern/import-synth.js.map +1 -1
  59. package/intern/inflate-file-attachments.d.ts +4 -1
  60. package/intern/inflate-file-attachments.js +86 -13
  61. package/intern/inflate-file-attachments.js.map +1 -1
  62. package/intern/inline-build-pass.d.ts +3 -1
  63. package/intern/inline-build-pass.js +3 -1
  64. package/intern/inline-build-pass.js.map +1 -1
  65. package/intern/instruction-variant.js +4 -3
  66. package/intern/instruction-variant.js.map +1 -1
  67. package/intern/llm-tool-loop.d.ts +1 -0
  68. package/intern/llm-tool-loop.js +16 -6
  69. package/intern/llm-tool-loop.js.map +1 -1
  70. package/intern/load-selected-backend.js +3 -0
  71. package/intern/load-selected-backend.js.map +1 -1
  72. package/intern/mint-decision.d.ts +2 -0
  73. package/intern/mint-decision.js +12 -3
  74. package/intern/mint-decision.js.map +1 -1
  75. package/intern/mint-job-store.d.ts +4 -0
  76. package/intern/mint-job-store.js +19 -0
  77. package/intern/mint-job-store.js.map +1 -1
  78. package/intern/mint-style.d.ts +3 -0
  79. package/intern/mint-style.js +7 -0
  80. package/intern/mint-style.js.map +1 -1
  81. package/intern/open-turn-store.d.ts +17 -0
  82. package/intern/open-turn-store.js +8 -8
  83. package/intern/open-turn-store.js.map +1 -1
  84. package/intern/opens-check.js +4 -0
  85. package/intern/opens-check.js.map +1 -1
  86. package/intern/pouf-look-flag.d.ts +9 -0
  87. package/intern/pouf-look-flag.js +7 -0
  88. package/intern/pouf-look-flag.js.map +1 -0
  89. package/intern/prompt-assembly.d.ts +8 -0
  90. package/intern/prompt-assembly.js +19 -2
  91. package/intern/prompt-assembly.js.map +1 -1
  92. package/intern/save-build-pass.d.ts +2 -0
  93. package/intern/save-build-pass.js +1 -0
  94. package/intern/save-build-pass.js.map +1 -1
  95. package/intern/webp-rendition.d.ts +14 -0
  96. package/intern/webp-rendition.js +46 -0
  97. package/intern/webp-rendition.js.map +1 -0
  98. package/package.json +13 -13
  99. package/public/agent-turn-action.js +29 -3
  100. package/public/agent-turn-action.js.map +1 -1
  101. package/public/agent-turn-assembly.js +1 -0
  102. package/public/agent-turn-assembly.js.map +1 -1
  103. package/public/app-settings-snapshot.js +13 -2
  104. package/public/app-settings-snapshot.js.map +1 -1
  105. package/public/append-block-event.d.ts +3 -3
  106. package/public/append-block-event.js +5 -2
  107. package/public/append-block-event.js.map +1 -1
  108. package/public/attach-draft-handle.js +0 -4
  109. package/public/attach-draft-handle.js.map +1 -1
  110. package/public/claim-guest-principal.d.ts +3 -0
  111. package/public/claim-guest-principal.js +40 -0
  112. package/public/claim-guest-principal.js.map +1 -0
  113. package/public/codegen-turn-route.js +15 -2
  114. package/public/codegen-turn-route.js.map +1 -1
  115. package/public/developer-grants-flow.js +3 -0
  116. package/public/developer-grants-flow.js.map +1 -1
  117. package/public/dm-read-eventos.d.ts +5 -5
  118. package/public/dm-sync-eventos.d.ts +1 -1
  119. package/public/dm-write-eventos.d.ts +3 -3
  120. package/public/draft-runtime.d.ts +2 -2
  121. package/public/draft-runtime.js +8 -19
  122. package/public/draft-runtime.js.map +1 -1
  123. package/public/ensure-app-slug-item.js +4 -0
  124. package/public/ensure-app-slug-item.js.map +1 -1
  125. package/public/get-app-by-fsid.js +4 -5
  126. package/public/get-app-by-fsid.js.map +1 -1
  127. package/public/get-chat-details.js +4 -11
  128. package/public/get-chat-details.js.map +1 -1
  129. package/public/get-chat-response.js +3 -9
  130. package/public/get-chat-response.js.map +1 -1
  131. package/public/handle-prompt-context.d.ts +2 -2
  132. package/public/handle-prompt-context.js +8 -15
  133. package/public/handle-prompt-context.js.map +1 -1
  134. package/public/handler-llm-request.js +17 -11
  135. package/public/handler-llm-request.js.map +1 -1
  136. package/public/invite-flow.js +3 -0
  137. package/public/invite-flow.js.map +1 -1
  138. package/public/open-chat.d.ts +11 -4
  139. package/public/open-chat.js +13 -13
  140. package/public/open-chat.js.map +1 -1
  141. package/public/prompt-chat-section.d.ts +1 -2
  142. package/public/prompt-chat-section.js +252 -232
  143. package/public/prompt-chat-section.js.map +1 -1
  144. package/public/publish-app.js +6 -0
  145. package/public/publish-app.js.map +1 -1
  146. package/public/request-flow.js +3 -0
  147. package/public/request-flow.js.map +1 -1
  148. package/public/set-mode-fsid.js +4 -0
  149. package/public/set-mode-fsid.js.map +1 -1
  150. package/public/set-version-lock.js +3 -0
  151. package/public/set-version-lock.js.map +1 -1
  152. package/public/social-invite-flow.js +4 -1
  153. package/public/social-invite-flow.js.map +1 -1
  154. package/public/stream-assembly.d.ts +5 -5
  155. package/public/stream-assembly.js +1 -4
  156. package/public/stream-assembly.js.map +1 -1
  157. package/shard-gate.js +11 -1
  158. package/shard-gate.js.map +1 -1
  159. package/types.d.ts +4 -3
  160. package/types.js.map +1 -1
  161. package/usage-report/draft-output-alert.js +3 -4
  162. package/usage-report/draft-output-alert.js.map +1 -1
  163. package/usage-report/gold-drip-sweep-util.js +2 -1
  164. package/usage-report/gold-drip-sweep-util.js.map +1 -1
  165. package/usage-report/new-user-alert-util.js +1 -1
  166. package/usage-report/new-user-alert-util.js.map +1 -1
  167. package/check-build-auth.d.ts +0 -18
  168. package/check-build-auth.js +0 -73
  169. package/check-build-auth.js.map +0 -1
  170. package/guest-build-token.d.ts +0 -16
  171. package/guest-build-token.js +0 -44
  172. package/guest-build-token.js.map +0 -1
  173. package/intern/draft-continuation.d.ts +0 -6
  174. package/intern/draft-continuation.js +0 -86
  175. package/intern/draft-continuation.js.map +0 -1
  176. package/intern/guest-build-issuance.d.ts +0 -9
  177. package/intern/guest-build-issuance.js +0 -83
  178. package/intern/guest-build-issuance.js.map +0 -1
  179. package/intern/guest-build-start.d.ts +0 -8
  180. package/intern/guest-build-start.js +0 -66
  181. package/intern/guest-build-start.js.map +0 -1
  182. package/intern/guest-build-store.d.ts +0 -50
  183. package/intern/guest-build-store.js +0 -232
  184. package/intern/guest-build-store.js.map +0 -1
  185. package/intern/guest-build-usage.d.ts +0 -7
  186. package/intern/guest-build-usage.js +0 -18
  187. package/intern/guest-build-usage.js.map +0 -1
  188. package/public/guest-build-generation.d.ts +0 -8
  189. package/public/guest-build-generation.js +0 -221
  190. package/public/guest-build-generation.js.map +0 -1
  191. package/public/guest-build.d.ts +0 -7
  192. package/public/guest-build.js +0 -127
  193. package/public/guest-build.js.map +0 -1
@@ -1,221 +0,0 @@
1
- import { EventoResult, Result, exception2Result } from "@adviser/cement";
2
- import { scopey } from "@adviser/scopey";
3
- import { and, eq } from "drizzle-orm";
4
- import { type } from "arktype";
5
- import { DRAFT_OWNER_HANDLE, isReqPromptLLMChatSection, } from "@vibes.diy/api-types";
6
- import { wrapMsgBase } from "../unwrap-msg-base.js";
7
- import { requireLiveGuestBuild } from "./guest-build.js";
8
- import { admitGuestBuild, settleGuestBuild } from "../intern/guest-build-store.js";
9
- import { resendChatSectionsPrevMsg } from "../intern/resend-prev-msg.js";
10
- import { assemblePromptPayload } from "../intern/prompt-assembly.js";
11
- import { getModelDefaults } from "../intern/get-model-defaults.js";
12
- import { subagentModelFor } from "../intern/subagent-model.js";
13
- import { appendBlockEvent } from "./llm-dispatch.js";
14
- import { handleLlmResponse } from "./stream-assembly.js";
15
- import { closeTurn } from "../intern/open-turn-store.js";
16
- import { maxPersistedBlockSeq } from "../intern/persisted-block-seq.js";
17
- import { peekInFlightTurns } from "../intern/in-flight-turns.js";
18
- import { GUEST_INITIAL_OUTPUT_TOKEN_LIMIT } from "@vibes.diy/vibe-types/runtime-ai-limits.js";
19
- const guestPromptText = type({ messages: [{ role: "'user'", content: [{ type: "'text'", text: "0 < string <= 16000" }] }] });
20
- export async function handleGuestOpen(ctx) {
21
- const req = ctx.validated.payload;
22
- if (req._auth.type !== "VerifiedGuestBuildAuth")
23
- return Result.Err("guest-build-auth-required");
24
- const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
25
- const allowed = await requireLiveGuestBuild(vctx, req._auth);
26
- if (allowed.isErr())
27
- return Result.Err(allowed.Err());
28
- const row = allowed.Ok();
29
- const t = vctx.sql.tables.chatContexts;
30
- const found = await exception2Result(() => vctx.sql.db
31
- .select({ appSlug: t.appSlug, ownerHandle: t.ownerHandle })
32
- .from(t)
33
- .where(and(eq(t.chatId, row.chatId), eq(t.userId, row.guestUserId)))
34
- .limit(1));
35
- if (found.isErr())
36
- return Result.Err(found.Err());
37
- const address = found.Ok()[0];
38
- if (address === undefined || address.ownerHandle !== DRAFT_OWNER_HANDLE)
39
- return Result.Err("guest-build-unavailable");
40
- const wsp = ctx.send.provider;
41
- const chatCtx = wsp.chatIds.get(row.chatId) ?? { chatId: row.chatId, tids: new Set() };
42
- chatCtx.tids.add(ctx.validated.tid);
43
- wsp.chatIds.set(row.chatId, chatCtx);
44
- const replay = await resendChatSectionsPrevMsg({
45
- historyLimit: req.historyLimit,
46
- vctx,
47
- chatCtx,
48
- tid: ctx.validated.tid,
49
- dst: ctx.validated.src,
50
- send: (msg) => ctx.send.send(ctx, msg),
51
- });
52
- if (replay.isErr())
53
- return Result.Err(replay.Err());
54
- const acknowledged = await ctx.send.send(ctx, wrapMsgBase(ctx.validated, {
55
- tid: ctx.validated.tid,
56
- payload: {
57
- type: "vibes.diy.res-open-chat",
58
- ...(replay.Ok() === undefined ? {} : { history: replay.Ok() }),
59
- chatId: row.chatId,
60
- ...address,
61
- mode: "codegen",
62
- draft: true,
63
- firstTurnFired: row.status !== "issued",
64
- },
65
- }));
66
- return acknowledged.isErr() ? Result.Err(acknowledged.Err()) : Result.Ok(EventoResult.Continue);
67
- }
68
- export async function handleGuestPrompt(ctx) {
69
- const original = ctx.validated.payload;
70
- if (original._auth.type !== "VerifiedGuestBuildAuth" ||
71
- original.mode !== "codegen" ||
72
- isReqPromptLLMChatSection(original) === false)
73
- return Result.Err("guest-build-mode-refused");
74
- const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
75
- if (vctx.sthis.env.get("GUEST_FIRST_BUILD_ENABLED") !== "true")
76
- return Result.Err("guest-build-issuance-paused");
77
- const allowed = await requireLiveGuestBuild(vctx, original._auth);
78
- if (allowed.isErr())
79
- return Result.Err(allowed.Err());
80
- const prompt = guestPromptText(original.prompt);
81
- if (prompt instanceof type.errors)
82
- return Result.Err("guest-build-needs-one-description");
83
- const req = {
84
- type: "vibes.diy.req-prompt-chat-section",
85
- mode: "codegen",
86
- chatId: original.chatId,
87
- outerTid: original.outerTid,
88
- guest: original._auth.inGuestAuth,
89
- _auth: original._auth,
90
- prompt: { messages: prompt.messages },
91
- };
92
- ctx.validated.payload = req;
93
- const row = allowed.Ok();
94
- if (prompt.messages[0].content[0].text !== row.originalPrompt)
95
- return Result.Err("guest-build-original-prompt-required");
96
- const promptId = vctx.sthis.nextId(12).str;
97
- const admitted = await admitGuestBuild(vctx, { chatId: row.chatId, guestUserId: row.guestUserId, jti: row.jti, promptId });
98
- if (admitted.isErr())
99
- return Result.Err(admitted.Err());
100
- if (admitted.Ok() === false)
101
- return Result.Err("guest-build-sign-in-to-continue");
102
- const resChat = { ownerHandle: DRAFT_OWNER_HANDLE, appSlug: `draft-${row.chatId}`, mode: "codegen" };
103
- await exception2Result(() => ctx.send.send(ctx, wrapMsgBase(ctx.validated, {
104
- tid: ctx.validated.tid,
105
- payload: { type: "vibes.diy.res-prompt-chat-section", chatId: row.chatId, ...resChat, promptId, outerTid: req.outerTid },
106
- })));
107
- let blockSeq = 0;
108
- const terminal = { promptBlockEndEmitted: false };
109
- const completed = await exception2Result(() => scopey(async (scope) => {
110
- const models = await scope.evalResult(() => getModelDefaults(vctx, {})).do();
111
- const model = subagentModelFor({ defaults: models });
112
- const assembled = await scope
113
- .evalResult(() => assemblePromptPayload(vctx, {
114
- chatId: row.chatId,
115
- userId: row.guestUserId,
116
- model,
117
- newUserMessages: prompt.messages,
118
- degradeAttachments: true,
119
- }))
120
- .do();
121
- await scope
122
- .evalResult(() => appendBlockEvent({
123
- ctx,
124
- vctx,
125
- req,
126
- promptId,
127
- blockSeq,
128
- evt: { type: "prompt.block-begin", streamId: promptId, chatId: row.chatId, seq: blockSeq++, timestamp: new Date() },
129
- }))
130
- .do();
131
- const llmReq = {
132
- model,
133
- messages: assembled.messages,
134
- stream: true,
135
- max_tokens: GUEST_INITIAL_OUTPUT_TOKEN_LIMIT,
136
- verbosity: "low",
137
- headers: vctx.params.llm.headers,
138
- };
139
- await scope
140
- .evalResult(() => appendBlockEvent({
141
- ctx,
142
- vctx,
143
- req,
144
- promptId,
145
- blockSeq,
146
- evt: {
147
- type: "prompt.req",
148
- request: { model, messages: prompt.messages },
149
- streamId: promptId,
150
- chatId: row.chatId,
151
- seq: blockSeq++,
152
- timestamp: new Date(),
153
- },
154
- }))
155
- .do();
156
- const abort = new AbortController();
157
- const response = await scope.evalResult(() => exception2Result(() => vctx.llmRequest(llmReq, { signal: abort.signal }))).do();
158
- if (response.ok === false || response.body === null)
159
- return Result.Err(`guest-build-provider-error: ${response.status}`);
160
- blockSeq = await handleLlmResponse({
161
- scope,
162
- ctx,
163
- vctx,
164
- req,
165
- resChat,
166
- res: response,
167
- promptId,
168
- blockSeq,
169
- llmReq,
170
- abort,
171
- terminal,
172
- frontendDraft: true,
173
- codegenTheme: assembled.codegenTheme,
174
- codegenVariety: assembled.codegenVariety,
175
- });
176
- return Result.Ok(undefined);
177
- })).finally(() => terminal.releasePersistGate?.());
178
- const maxSeq = await maxPersistedBlockSeq(vctx.sql, { chatId: row.chatId, promptId });
179
- if (maxSeq.isErr())
180
- return Result.Err(maxSeq.Err());
181
- blockSeq = Math.max(blockSeq, (maxSeq.Ok() ?? -1) + 1);
182
- if (completed.isErr()) {
183
- const error = await appendBlockEvent({
184
- ctx,
185
- vctx,
186
- req,
187
- promptId,
188
- blockSeq,
189
- evt: {
190
- type: "prompt.error",
191
- streamId: promptId,
192
- chatId: row.chatId,
193
- seq: blockSeq++,
194
- timestamp: new Date(),
195
- error: completed.Err().message,
196
- },
197
- });
198
- if (error.isErr())
199
- return Result.Err(error.Err());
200
- }
201
- const ended = await appendBlockEvent({
202
- ctx,
203
- vctx,
204
- req,
205
- promptId,
206
- blockSeq,
207
- emitMode: terminal.promptBlockEndEmitted === true ? "store-only" : "store",
208
- evt: { type: "prompt.block-end", streamId: promptId, chatId: row.chatId, seq: blockSeq, timestamp: new Date() },
209
- });
210
- if (ended.isErr())
211
- return Result.Err(ended.Err());
212
- const closed = await closeTurn(vctx.sql, { chatId: row.chatId, promptId });
213
- if (closed.isErr())
214
- return Result.Err(closed.Err());
215
- peekInFlightTurns(row.chatId)?.delete(promptId);
216
- const settled = await settleGuestBuild(vctx, { chatId: row.chatId, promptId });
217
- if (settled.isErr())
218
- return Result.Err(settled.Err());
219
- return Result.Ok(EventoResult.Continue);
220
- }
221
- //# sourceMappingURL=guest-build-generation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-build-generation.js","sourceRoot":"","sources":["../../jsr/public/guest-build-generation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Result, type EventoHandler } from "@adviser/cement";
2
- import { type MsgBase, type ReqGuestBuildStatus, type ReqClaimGuestBuild, type W3CWebSocketEvent, type VibesDiyError, type VerifiedGuestBuildAuth } from "@vibes.diy/api-types";
3
- import type { VibesApiSQLCtx } from "../types.js";
4
- import { type GuestBuildRow } from "../intern/guest-build-store.js";
5
- export declare function requireLiveGuestBuild(vctx: VibesApiSQLCtx, auth: VerifiedGuestBuildAuth): Promise<Result<GuestBuildRow>>;
6
- export declare const guestBuildStatus: EventoHandler<W3CWebSocketEvent, MsgBase<ReqGuestBuildStatus>, VibesDiyError>;
7
- export declare const claimGuestBuild: EventoHandler<W3CWebSocketEvent, MsgBase<ReqClaimGuestBuild>, VibesDiyError>;
@@ -1,127 +0,0 @@
1
- import { EventoResult, Option, Result, exception2Result } from "@adviser/cement";
2
- import { type } from "arktype";
3
- import { and, eq } from "drizzle-orm";
4
- import { reqGuestBuildStatus, reqClaimGuestBuild, } from "@vibes.diy/api-types";
5
- import { automaticallyAttachDraft } from "../intern/automatic-draft-attachment.js";
6
- import { checkAuth } from "../check-auth.js";
7
- import { checkBuildAuth } from "../check-build-auth.js";
8
- import { unwrapMsgBase, wrapMsgBase } from "../unwrap-msg-base.js";
9
- import { readGuestBuild, recoverGuestBuild, transferGuestBuild } from "../intern/guest-build-store.js";
10
- export async function requireLiveGuestBuild(vctx, auth) {
11
- if (vctx.sthis.env.get("GUEST_FIRST_BUILD_SCHEMA_READY") !== "true")
12
- return Result.Err("guest-build-disabled");
13
- const claims = auth.verifiedAuth.claims;
14
- const loaded = await readGuestBuild(vctx, claims.chatId);
15
- if (loaded.isErr())
16
- return Result.Err(loaded.Err());
17
- const row = loaded.Ok();
18
- if (row === undefined ||
19
- row.jti !== claims.jti ||
20
- row.guestUserId !== claims.userId ||
21
- row.shardId !== claims.shardId ||
22
- row.plane !== claims.plane)
23
- return Result.Err("guest-build-unavailable");
24
- if (row.claimedUserId !== null)
25
- return Result.Err("guest-build-already-claimed");
26
- if (row.expiresAt <= new Date().toISOString())
27
- return Result.Err("guest-build-expired");
28
- return recoverGuestBuild(vctx, row);
29
- }
30
- async function sendStatus(ctx, row) {
31
- const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
32
- const t = vctx.sql.tables.chatContexts;
33
- const address = await exception2Result(() => vctx.sql.db
34
- .select({ ownerHandle: t.ownerHandle, appSlug: t.appSlug })
35
- .from(t)
36
- .where(and(eq(t.chatId, row.chatId), eq(t.userId, row.claimedUserId ?? row.guestUserId)))
37
- .limit(1));
38
- if (address.isErr())
39
- return Result.Err(address.Err());
40
- if (address.Ok().length !== 1)
41
- return Result.Err("guest-build-ownership-unavailable");
42
- const sent = await ctx.send.send(ctx, wrapMsgBase(ctx.validated, {
43
- tid: ctx.validated.tid,
44
- payload: { type: "vibes.diy.res-guest-build-status", chatId: row.chatId, status: row.status, ...address.Ok()[0] },
45
- }));
46
- return sent.isErr() ? Result.Err(sent.Err()) : Result.Ok(undefined);
47
- }
48
- export const guestBuildStatus = {
49
- hash: "guest-build-status",
50
- validate: unwrapMsgBase(async (msg) => {
51
- const parsed = reqGuestBuildStatus(msg.payload);
52
- return Result.Ok(parsed instanceof type.errors ? Option.None() : Option.Some({ ...msg, payload: parsed }));
53
- }),
54
- handle: checkBuildAuth(async (ctx) => {
55
- const req = ctx.validated.payload;
56
- const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
57
- if (vctx.sthis.env.get("GUEST_FIRST_BUILD_SCHEMA_READY") !== "true")
58
- return Result.Err("guest-build-disabled");
59
- const loaded = req._auth.type === "VerifiedGuestBuildAuth"
60
- ? await requireLiveGuestBuild(vctx, req._auth)
61
- : await readGuestBuild(vctx, req.chatId);
62
- if (loaded.isErr())
63
- return Result.Err(loaded.Err());
64
- const row = loaded.Ok();
65
- if (row === undefined ||
66
- (req._auth.type === "VerifiedAuthResult" && row.claimedUserId !== req._auth.verifiedAuth.claims.userId))
67
- return Result.Err("guest-build-unavailable");
68
- const sent = await sendStatus(ctx, row);
69
- return sent.isErr() ? Result.Err(sent.Err()) : Result.Ok(EventoResult.Continue);
70
- }),
71
- };
72
- export const claimGuestBuild = {
73
- hash: "claim-guest-build",
74
- validate: unwrapMsgBase(async (msg) => {
75
- const parsed = reqClaimGuestBuild(msg.payload);
76
- return Result.Ok(parsed instanceof type.errors ? Option.None() : Option.Some({ ...msg, payload: parsed }));
77
- }),
78
- handle: checkAuth(async (ctx) => {
79
- const req = ctx.validated.payload;
80
- const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
81
- if (vctx.sthis.env.get("GUEST_FIRST_BUILD_SCHEMA_READY") !== "true" || vctx.guestBuildSigner === undefined)
82
- return Result.Err("guest-build-disabled");
83
- const existing = await readGuestBuild(vctx, req.chatId);
84
- if (existing.isErr())
85
- return Result.Err(existing.Err());
86
- const owned = existing.Ok();
87
- const userId = req._auth.verifiedAuth.claims.userId;
88
- if (owned?.claimedUserId !== userId) {
89
- const verified = await vctx.guestBuildSigner.verify(req.guest.token);
90
- if (verified.isErr())
91
- return Result.Err(verified.Err());
92
- const claims = verified.Ok();
93
- if (claims.chatId !== req.chatId)
94
- return Result.Err("guest-build-chat-mismatch");
95
- const moved = await transferGuestBuild(vctx, { chatId: req.chatId, guestUserId: claims.userId, jti: claims.jti, userId });
96
- if (moved.isErr())
97
- return Result.Err(moved.Err());
98
- }
99
- else {
100
- const checked = await transferGuestBuild(vctx, {
101
- chatId: req.chatId,
102
- guestUserId: owned.guestUserId,
103
- jti: owned.jti,
104
- userId,
105
- });
106
- if (checked.isErr())
107
- return Result.Err(checked.Err());
108
- }
109
- const attached = await automaticallyAttachDraft(vctx, {
110
- chatId: req.chatId,
111
- userId,
112
- auth: req.auth,
113
- verifiedAuth: req._auth,
114
- });
115
- if (attached.isErr())
116
- return Result.Err(attached.Err());
117
- const reloaded = await readGuestBuild(vctx, req.chatId);
118
- if (reloaded.isErr())
119
- return Result.Err(reloaded.Err());
120
- const row = reloaded.Ok();
121
- if (row === undefined || row.claimedUserId !== userId)
122
- return Result.Err("guest-build-unavailable");
123
- const sent = await sendStatus(ctx, row);
124
- return sent.isErr() ? Result.Err(sent.Err()) : Result.Ok(EventoResult.Continue);
125
- }),
126
- };
127
- //# sourceMappingURL=guest-build.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guest-build.js","sourceRoot":"","sources":["../../jsr/public/guest-build.ts"],"names":[],"mappings":"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"}