@vibes.diy/api-svc 14.3.220 → 14.3.222

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.
@@ -0,0 +1,182 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ import { lazyType } from "@vibes.diy/api-types/lazy-type";
4
+ import { ensureLogger } from "@vibes.diy/identity";
5
+ import { and, eq, inArray, isNull } from "drizzle-orm/sql/expressions";
6
+ import { writeAppSettingItems } from "../public/app-setting-items.js";
7
+ import { ensureAppSlug } from "./ensure-slug-binding.js";
8
+ import { getMintJob } from "./mint-job-store.js";
9
+ import { readPinnedAppSlug } from "./pinned-app-slug.js";
10
+ export const CHAT_ONLY_CLAIM_FROM = ["agent", "agent-unfired", "agent-awaiting-files"];
11
+ const chatOnlyRecord = lazyType(() => type({ chatOnlyAppSlug: "string" }));
12
+ export function chatOnlyAddressRecord(appSlug) {
13
+ return { chatOnlyAppSlug: appSlug };
14
+ }
15
+ export function readChatOnlyAppSlug(raw) {
16
+ if (raw === null || raw === undefined)
17
+ return undefined;
18
+ const parsed = chatOnlyRecord(raw);
19
+ if (parsed instanceof type.errors)
20
+ return undefined;
21
+ return parsed.chatOnlyAppSlug.length > 0 ? parsed.chatOnlyAppSlug : undefined;
22
+ }
23
+ class ChatOnlyClaimLostError extends Error {
24
+ chatOnlyClaimLost = true;
25
+ }
26
+ function isChatOnlyClaimLost(err) {
27
+ return typeof err === "object" && err !== null && err.chatOnlyClaimLost === true;
28
+ }
29
+ const TITLE_WORDS = 6;
30
+ const TITLE_MAX_CHARS = 48;
31
+ export function chatOnlyTitle(prompt) {
32
+ const firstLine = prompt.split(/\r?\n/).find((l) => l.trim() !== "") ?? "";
33
+ const words = firstLine
34
+ .trim()
35
+ .split(/\s+/)
36
+ .filter((w) => w !== "");
37
+ if (words.length === 0)
38
+ return undefined;
39
+ let title = "";
40
+ for (const word of words.slice(0, TITLE_WORDS)) {
41
+ const next = title === "" ? word : `${title} ${word}`;
42
+ if (next.length > TITLE_MAX_CHARS)
43
+ break;
44
+ title = next;
45
+ }
46
+ if (title === "")
47
+ title = (words[0] ?? "").slice(0, TITLE_MAX_CHARS);
48
+ title = title.replace(/[\s.,;:!?…]+$/u, "");
49
+ if (title === "")
50
+ return undefined;
51
+ return title.charAt(0).toUpperCase() + title.slice(1);
52
+ }
53
+ export function chatOnlySlug(title) {
54
+ const words = title
55
+ .toLowerCase()
56
+ .replace(/[^a-z0-9]+/g, " ")
57
+ .trim()
58
+ .split(" ")
59
+ .filter((w) => w !== "");
60
+ let slug = "";
61
+ for (const word of words) {
62
+ const next = slug === "" ? word : `${slug}-${word}`;
63
+ if (next.length > 32)
64
+ break;
65
+ slug = next;
66
+ }
67
+ return slug === "" ? (words[0] ?? "").slice(0, 32) : slug;
68
+ }
69
+ export async function claimChatOnlyAddress(vctx, args) {
70
+ const log = ensureLogger(vctx.sthis, args.logModule);
71
+ const rJob = await getMintJob(vctx, args.chatId);
72
+ if (rJob.isErr())
73
+ return Result.Err(rJob);
74
+ const job = rJob.Ok();
75
+ if (job === undefined || CHAT_ONLY_CLAIM_FROM.includes(job.status) === false)
76
+ return Result.Ok(undefined);
77
+ const cc = vctx.sql.tables.chatContexts;
78
+ const mj = vctx.sql.tables.mintJobs;
79
+ const rChat = await exception2Result(() => vctx.sql.db
80
+ .select({ userId: cc.userId, ownerHandle: cc.ownerHandle, appSlug: cc.appSlug, draftPreAlloc: cc.draftPreAlloc })
81
+ .from(cc)
82
+ .where(eq(cc.chatId, args.chatId))
83
+ .limit(1)
84
+ .then((r) => r[0]));
85
+ if (rChat.isErr())
86
+ return Result.Err(rChat);
87
+ const chat = rChat.Ok();
88
+ if (chat === undefined)
89
+ return Result.Ok(undefined);
90
+ if (readPinnedAppSlug(chat.draftPreAlloc) !== undefined)
91
+ return Result.Ok(undefined);
92
+ const claimed = readChatOnlyAppSlug(chat.draftPreAlloc);
93
+ if (claimed !== undefined) {
94
+ if (claimed === chat.appSlug && job.appSlug !== claimed) {
95
+ const rFix = await exception2Result(() => vctx.sql.db
96
+ .update(mj)
97
+ .set({ appSlug: claimed, updated: new Date().toISOString() })
98
+ .where(and(eq(mj.chatId, args.chatId), inArray(mj.status, [...CHAT_ONLY_CLAIM_FROM]))));
99
+ if (rFix.isErr())
100
+ log.Warn().Err(rFix).Str("chatId", args.chatId).Msg("chat-only claim: job reconcile failed");
101
+ else
102
+ log.Info().Str("chatId", args.chatId).Str("appSlug", claimed).Msg("chat-only claim: job reconciled");
103
+ }
104
+ return Result.Ok(undefined);
105
+ }
106
+ const provisional = chat.appSlug;
107
+ if (job.appSlug !== provisional)
108
+ return Result.Ok(undefined);
109
+ const title = chatOnlyTitle(job.prompt);
110
+ const slug = title === undefined ? "" : chatOnlySlug(title);
111
+ const rApp = await ensureAppSlug(vctx, {
112
+ userId: chat.userId,
113
+ ownerHandle: chat.ownerHandle,
114
+ ...(title === undefined || slug === "" ? {} : { preferredPairs: [{ title, slug }] }),
115
+ });
116
+ if (rApp.isErr())
117
+ return Result.Err(rApp);
118
+ const appSlug = rApp.Ok().appSlug;
119
+ let lost = false;
120
+ const rMove = await exception2Result(() => vctx.sql.db.transaction(async (tx) => {
121
+ const movedJob = await tx
122
+ .update(mj)
123
+ .set({ appSlug, updated: new Date().toISOString() })
124
+ .where(and(eq(mj.chatId, args.chatId), inArray(mj.status, [...CHAT_ONLY_CLAIM_FROM]), eq(mj.appSlug, provisional)))
125
+ .returning({ chatId: mj.chatId });
126
+ if (movedJob.length === 0) {
127
+ lost = true;
128
+ throw new ChatOnlyClaimLostError("job row moved on");
129
+ }
130
+ const movedChat = await tx
131
+ .update(cc)
132
+ .set({ appSlug, draftPreAlloc: chatOnlyAddressRecord(appSlug) })
133
+ .where(and(eq(cc.chatId, args.chatId), eq(cc.appSlug, provisional), isNull(cc.draftPreAlloc)))
134
+ .returning({ chatId: cc.chatId });
135
+ if (movedChat.length === 0) {
136
+ lost = true;
137
+ throw new ChatOnlyClaimLostError("chat row moved on");
138
+ }
139
+ }));
140
+ if (rMove.isErr()) {
141
+ const asb = vctx.sql.tables.appSlugBinding;
142
+ await exception2Result(() => vctx.sql.db.delete(asb).where(and(eq(asb.ownerHandle, chat.ownerHandle), eq(asb.appSlug, appSlug))));
143
+ if (lost || isChatOnlyClaimLost(rMove.Err())) {
144
+ log.Info().Str("chatId", args.chatId).Msg("chat-only claim: another claim took the chat first");
145
+ return Result.Ok(undefined);
146
+ }
147
+ return Result.Err(rMove);
148
+ }
149
+ const au = vctx.sql.tables.assetUploads;
150
+ const rAssets = await exception2Result(() => vctx.sql.db
151
+ .update(au)
152
+ .set({ appSlug })
153
+ .where(and(eq(au.ownerHandle, chat.ownerHandle), eq(au.appSlug, provisional))));
154
+ if (rAssets.isErr())
155
+ log.Warn().Err(rAssets).Str("chatId", args.chatId).Msg("chat-only claim: asset upload repoint failed");
156
+ if (title !== undefined) {
157
+ const rTitle = await exception2Result(() => writeAppSettingItems(vctx, { userId: chat.userId, ownerHandle: chat.ownerHandle, appSlug }, { upserts: [{ type: "active.title", title }] }));
158
+ if (rTitle.isErr())
159
+ log.Warn().Err(rTitle).Str("chatId", args.chatId).Msg("chat-only claim: title write failed");
160
+ }
161
+ log
162
+ .Info()
163
+ .Any("event", { chatId: args.chatId, ownerHandle: chat.ownerHandle, from: provisional, appSlug })
164
+ .Msg("chat-only-address-claimed");
165
+ return Result.Ok({ ownerHandle: chat.ownerHandle, appSlug });
166
+ }
167
+ export async function isChatOnlyClaimed(vctx, job) {
168
+ if (CHAT_ONLY_CLAIM_FROM.includes(job.status) === false)
169
+ return false;
170
+ const cc = vctx.sql.tables.chatContexts;
171
+ const r = await exception2Result(() => vctx.sql.db
172
+ .select({ appSlug: cc.appSlug, draftPreAlloc: cc.draftPreAlloc })
173
+ .from(cc)
174
+ .where(eq(cc.chatId, job.chatId))
175
+ .limit(1)
176
+ .then((rows) => rows[0]));
177
+ if (r.isErr())
178
+ return false;
179
+ const chat = r.Ok();
180
+ return chat !== undefined && chat.appSlug === job.appSlug && readChatOnlyAppSlug(chat.draftPreAlloc) === job.appSlug;
181
+ }
182
+ //# sourceMappingURL=chat-only-claim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-only-claim.js","sourceRoot":"","sources":["../../jsr/intern/chat-only-claim.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type } from "arktype";
3
3
  import { and, eq, inArray } from "drizzle-orm";
4
4
  import { isGuestPrincipal } from "@vibes.diy/api-types";
5
5
  import { claimedAccountOf } from "./guest-principal-owner.js";
6
+ import { refWithKey } from "./prompt-context-ref.js";
6
7
  import { costCentsFromUsage, DISPLAY_CREDITS_PER_CENT, GUEST_INCLUDED_CREDITS } from "../billing.js";
7
8
  import { lazyType } from "@vibes.diy/api-types/lazy-type";
8
9
  const usageRef = lazyType(() => type({ usage: { given: "object[]", calculated: { total_tokens: "number" } } }));
@@ -38,7 +39,6 @@ export async function readGuestCredits(vctx, userId) {
38
39
  });
39
40
  }
40
41
  const SIGN_IN_TO_BUY = "sign-in-required: sign in to add credits";
41
- const refObject = lazyType(() => type("Record<string, unknown>"));
42
42
  async function markPlatformFunded(vctx, track) {
43
43
  const pc = vctx.sql.tables.promptContexts;
44
44
  const claimed = await claimedAccountOf(vctx, track.userId);
@@ -47,15 +47,10 @@ async function markPlatformFunded(vctx, track) {
47
47
  const account = claimed.Ok();
48
48
  const owners = account === undefined ? [track.userId] : [track.userId, account];
49
49
  const where = and(eq(pc.promptId, track.promptId), inArray(pc.userId, owners));
50
- const rows = await exception2Result(() => vctx.sql.db.select({ ref: pc.ref }).from(pc).where(where).limit(1));
51
- if (rows.isErr())
52
- return Result.Err(rows.Err());
53
- const row = rows.Ok()[0];
54
- if (row === undefined)
55
- return Result.Ok(undefined);
56
- const ref = refObject(row.ref);
57
- const merged = { ...(ref instanceof type.errors ? {} : ref), platformFunded: true };
58
- const written = await exception2Result(() => vctx.sql.db.update(pc).set({ ref: merged }).where(where));
50
+ const written = await exception2Result(() => vctx.sql.db
51
+ .update(pc)
52
+ .set({ ref: refWithKey({ flavour: vctx.sql.flavour, refColumn: pc.ref, key: "platformFunded", value: true }) })
53
+ .where(where));
59
54
  return written.isErr() ? Result.Err(written.Err()) : Result.Ok(undefined);
60
55
  }
61
56
  export function guestMeteredBilling(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"guest-credit-meter.js","sourceRoot":"","sources":["../../jsr/intern/guest-credit-meter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guest-credit-meter.js","sourceRoot":"","sources":["../../jsr/intern/guest-credit-meter.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type } from "arktype";
3
3
  import { and, eq } from "drizzle-orm/sql/expressions";
4
4
  import { PromptContextSql, ResearchPointer } from "@vibes.diy/call-ai-v2";
5
5
  import { isPromptResearch, isValidIsoTimestamp, PromptResearch, RESEARCH_BLOCK_SEQ, } from "@vibes.diy/api-types";
6
+ import { refWithKey } from "./prompt-context-ref.js";
6
7
  function documentFromInput(input) {
7
8
  if (typeof input === "object" && input !== null && "result" in input)
8
9
  return input.result;
@@ -116,7 +117,7 @@ async function attachStoredResearchPointerWithDb(input) {
116
117
  return Result.Err("prompt_context_ref_invalid");
117
118
  await db
118
119
  .update(t)
119
- .set({ ref: nextRef })
120
+ .set({ ref: refWithKey({ flavour: vctx.sql.flavour, refColumn: t.ref, key: "research", value: pointer }) })
120
121
  .where(and(eq(t.userId, args.userId), eq(t.chatId, args.chatId), eq(t.promptId, args.promptId)));
121
122
  return Result.Ok({ attached: true });
122
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"persist-url-research.js","sourceRoot":"","sources":["../../jsr/intern/persist-url-research.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persist-url-research.js","sourceRoot":"","sources":["../../jsr/intern/persist-url-research.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type SQL, type SQLWrapper } from "drizzle-orm";
2
+ import type { DBFlavour } from "@vibes.diy/api-sql";
3
+ export interface RefWithKeyArgs {
4
+ readonly flavour: DBFlavour;
5
+ readonly refColumn: SQLWrapper;
6
+ readonly key: string | readonly string[];
7
+ readonly value: unknown;
8
+ }
9
+ export declare function refWithKey({ flavour, refColumn, key, value }: RefWithKeyArgs): SQL;
@@ -0,0 +1,9 @@
1
+ import { sql } from "drizzle-orm";
2
+ export function refWithKey({ flavour, refColumn, key, value }) {
3
+ const path = typeof key === "string" ? [key] : key;
4
+ const json = JSON.stringify(value);
5
+ return flavour === "pg"
6
+ ? sql `jsonb_set(${refColumn}, ${`{${path.join(",")}}`}::text[], ${json}::jsonb, true)`
7
+ : sql `json_set(${refColumn}, ${`$.${path.join(".")}`}, json(${json}))`;
8
+ }
9
+ //# sourceMappingURL=prompt-context-ref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-context-ref.js","sourceRoot":"","sources":["../../jsr/intern/prompt-context-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA6B,MAAM,aAAa,CAAC;AAqB7D,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAkB;IAC3E,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,IAAI;QACrB,CAAC,CAAC,GAAG,CAAA,aAAa,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,IAAI,gBAAgB;QACtF,CAAC,CAAC,GAAG,CAAA,YAAY,SAAS,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC;AAC3E,CAAC"}
@@ -24,6 +24,7 @@ export interface ChatAppClaimedArgs {
24
24
  readonly appSlug: string;
25
25
  readonly colorway?: string;
26
26
  readonly colorPinned?: true;
27
+ readonly chatOnly?: true;
27
28
  readonly sendCtx: unknown;
28
29
  readonly validated: object;
29
30
  readonly logger: Logger;
@@ -34,6 +34,7 @@ export async function publishChatAppClaimed(args) {
34
34
  appSlug: args.appSlug,
35
35
  ...(args.colorway === undefined ? {} : { colorway: args.colorway }),
36
36
  ...(args.colorPinned === undefined ? {} : { colorPinned: true }),
37
+ ...(args.chatOnly === undefined ? {} : { chatOnly: true }),
37
38
  },
38
39
  },
39
40
  logger: args.logger,
@@ -1 +1 @@
1
- {"version":3,"file":"section-fan-out.js","sourceRoot":"","sources":["../../jsr/intern/section-fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,iBAAiB,CAAC;AAgDhE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAI/B,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACd,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAwCD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAwB;IAClE,OAAO,mBAAmB,CAAC;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,SAAS;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,gCAAgC;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aACrC;SAC9B;QACD,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"section-fan-out.js","sourceRoot":"","sources":["../../jsr/intern/section-fan-out.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,iBAAiB,CAAC;AAgDhE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAuB;IAC/D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAI/B,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1F,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;gBACd,OAAO,GAAG,OAAO,GAAG,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AA4CD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAwB;IAClE,OAAO,mBAAmB,CAAC;QACzB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,SAAS;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,gCAAgC;gBACtC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnE,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBAChE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aAC/B;SAC9B;QACD,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { DBFlavour, VibesApiTables, VibesSqlite } from "@vibes.diy/api-sql";
3
+ import type { TurnCreditBackArgs, TurnCreditBackResult } from "../billing.js";
4
+ import { type AnalyticsCtx } from "../analytics.js";
5
+ export declare const TURN_CREDIT_BACK_WINDOW_MS: number;
6
+ interface CreditBackSql {
7
+ readonly db: VibesSqlite;
8
+ readonly tables: VibesApiTables;
9
+ readonly flavour: DBFlavour;
10
+ }
11
+ export declare function chargedCredits(o: {
12
+ readonly trackedCredits: number;
13
+ readonly remainingBefore: number;
14
+ }): number;
15
+ export declare function stampTurnCharge(sql: CreditBackSql, args: {
16
+ readonly userId: string;
17
+ readonly promptId: string;
18
+ readonly credits: number;
19
+ readonly nowMs: number;
20
+ }): Promise<Result<void>>;
21
+ export interface CreditedTurn {
22
+ readonly userId: string;
23
+ readonly chatId: string;
24
+ readonly promptId: string;
25
+ readonly ownerHandle: string;
26
+ readonly appSlug: string;
27
+ readonly credits: number;
28
+ }
29
+ export interface CreditBackFailure {
30
+ readonly chatId: string;
31
+ readonly promptId: string;
32
+ readonly step: "credit-back" | "stamp";
33
+ readonly reason: Error;
34
+ }
35
+ export interface CreditBackPassResult {
36
+ readonly credited: readonly CreditedTurn[];
37
+ readonly alreadyCredited: number;
38
+ readonly failures: readonly CreditBackFailure[];
39
+ }
40
+ export interface CreditBackDeps {
41
+ readonly creditBack: (args: TurnCreditBackArgs) => Promise<Result<TurnCreditBackResult>>;
42
+ }
43
+ export declare function creditBackLostTurns(sql: CreditBackSql, deps: CreditBackDeps, args: {
44
+ readonly nowMs: number;
45
+ readonly windowMs?: number;
46
+ }): Promise<Result<CreditBackPassResult>>;
47
+ export declare function reportTurnCreditBacks(base: AnalyticsCtx, o: {
48
+ readonly sql: CreditBackSql;
49
+ readonly credited: readonly CreditedTurn[];
50
+ }): Promise<void>;
51
+ export {};
@@ -0,0 +1,128 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ import { type } from "arktype";
3
+ import { and, eq, gte } from "drizzle-orm";
4
+ import { isGuestPrincipal } from "@vibes.diy/api-types";
5
+ import { lazyType } from "@vibes.diy/api-types/lazy-type";
6
+ import { captureTurnCreditBack } from "../analytics.js";
7
+ import { readStampedGeoCountries } from "./stamped-geo-country.js";
8
+ import { refWithKey } from "./prompt-context-ref.js";
9
+ const TURN_LOST_KIND = "turn-lost";
10
+ export const TURN_CREDIT_BACK_WINDOW_MS = 14 * 24 * 60 * 60 * 1000;
11
+ const chargeNote = lazyType(() => type({ userId: "string", credits: "number.integer > 0" }));
12
+ const refObject = lazyType(() => type("Record<string, unknown>"));
13
+ export function chargedCredits(o) {
14
+ const tracked = Math.max(0, Math.floor(o.trackedCredits));
15
+ if (Number.isFinite(o.remainingBefore) === false)
16
+ return 0;
17
+ return Math.min(tracked, Math.max(0, Math.floor(o.remainingBefore)));
18
+ }
19
+ export async function stampTurnCharge(sql, args) {
20
+ if (args.credits <= 0)
21
+ return Result.Ok(undefined);
22
+ const pc = sql.tables.promptContexts;
23
+ const where = and(eq(pc.promptId, args.promptId), eq(pc.userId, args.userId));
24
+ const charge = { userId: args.userId, credits: args.credits, at: new Date(args.nowMs).toISOString() };
25
+ const written = await exception2Result(() => sql.db
26
+ .update(pc)
27
+ .set({ ref: refWithKey({ flavour: sql.flavour, refColumn: pc.ref, key: "charge", value: charge }) })
28
+ .where(where));
29
+ return written.isErr() ? Result.Err(written.Err()) : Result.Ok(undefined);
30
+ }
31
+ function owedFor(row) {
32
+ if (isGuestPrincipal(row.turnUserId) || isGuestPrincipal(row.rowUserId))
33
+ return { owed: false };
34
+ if (row.fsId !== null && row.fsId !== "")
35
+ return { owed: false };
36
+ const ref = refObject(row.ref);
37
+ if (ref instanceof type.errors)
38
+ return { owed: false };
39
+ if (ref.platformFunded === true || ref.byok === true)
40
+ return { owed: false };
41
+ if (ref.creditBack !== undefined)
42
+ return { owed: false };
43
+ const charge = chargeNote(ref.charge);
44
+ if (charge instanceof type.errors)
45
+ return { owed: false };
46
+ if (isGuestPrincipal(charge.userId))
47
+ return { owed: false };
48
+ return { owed: true, userId: charge.userId, credits: charge.credits };
49
+ }
50
+ async function stampCreditBack(sql, key, note) {
51
+ const pc = sql.tables.promptContexts;
52
+ const where = and(eq(pc.chatId, key.chatId), eq(pc.promptId, key.promptId));
53
+ const creditBack = { credits: note.credits, reason: TURN_LOST_KIND, at: new Date(note.nowMs).toISOString() };
54
+ const written = await exception2Result(() => sql.db
55
+ .update(pc)
56
+ .set({ ref: refWithKey({ flavour: sql.flavour, refColumn: pc.ref, key: "creditBack", value: creditBack }) })
57
+ .where(where)
58
+ .returning({ promptId: pc.promptId }));
59
+ if (written.isErr())
60
+ return Result.Err(written.Err());
61
+ if (written.Ok().length === 0)
62
+ return Result.Err(`no usage row for ${key.chatId}/${key.promptId}`);
63
+ return Result.Ok(undefined);
64
+ }
65
+ export async function creditBackLostTurns(sql, deps, args) {
66
+ const ot = sql.tables.openTurns;
67
+ const pc = sql.tables.promptContexts;
68
+ const cutoff = new Date(args.nowMs - (args.windowMs ?? TURN_CREDIT_BACK_WINDOW_MS)).toISOString();
69
+ const rRows = await exception2Result(() => sql.db
70
+ .select({
71
+ chatId: ot.chatId,
72
+ promptId: ot.promptId,
73
+ turnUserId: ot.userId,
74
+ ownerHandle: ot.ownerHandle,
75
+ appSlug: ot.appSlug,
76
+ rowUserId: pc.userId,
77
+ fsId: pc.fsId,
78
+ ref: pc.ref,
79
+ })
80
+ .from(ot)
81
+ .innerJoin(pc, and(eq(pc.chatId, ot.chatId), eq(pc.promptId, ot.promptId)))
82
+ .where(and(eq(ot.errorKind, TURN_LOST_KIND), gte(ot.updated, cutoff))));
83
+ if (rRows.isErr())
84
+ return Result.Err(rRows.Err());
85
+ const credited = [];
86
+ let alreadyCredited = 0;
87
+ const failures = [];
88
+ for (const row of rRows.Ok()) {
89
+ const owed = owedFor({ ...row, fsId: row.fsId ?? null });
90
+ if (owed.owed === false)
91
+ continue;
92
+ const key = { chatId: row.chatId, promptId: row.promptId };
93
+ const rSend = await deps.creditBack({ userId: owed.userId, promptId: row.promptId, credits: owed.credits });
94
+ if (rSend.isErr()) {
95
+ failures.push({ ...key, step: "credit-back", reason: rSend.Err() });
96
+ continue;
97
+ }
98
+ const rStamp = await stampCreditBack(sql, key, { credits: owed.credits, nowMs: args.nowMs });
99
+ if (rStamp.isErr())
100
+ failures.push({ ...key, step: "stamp", reason: rStamp.Err() });
101
+ if (rSend.Ok().duplicate) {
102
+ alreadyCredited += 1;
103
+ continue;
104
+ }
105
+ credited.push({
106
+ ...key,
107
+ userId: owed.userId,
108
+ ownerHandle: row.ownerHandle,
109
+ appSlug: row.appSlug,
110
+ credits: owed.credits,
111
+ });
112
+ }
113
+ return Result.Ok({ credited, alreadyCredited, failures });
114
+ }
115
+ export async function reportTurnCreditBacks(base, o) {
116
+ if (o.credited.length === 0)
117
+ return;
118
+ const r = await exception2Result(async () => {
119
+ const countries = await readStampedGeoCountries(o.sql, o.credited.map((t) => t.userId));
120
+ await Promise.all(o.credited.map((t) => {
121
+ const country = countries.get(t.userId);
122
+ return captureTurnCreditBack({ ...base, analyticsCountry: country }, { userId: t.userId, ownerHandle: t.ownerHandle, appSlug: t.appSlug, credits: t.credits });
123
+ }));
124
+ });
125
+ if (r.isErr())
126
+ base.logger.Warn().Err(r).Msg("turn-credit-back-report-failed");
127
+ }
128
+ //# sourceMappingURL=turn-credit-back.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turn-credit-back.js","sourceRoot":"","sources":["../../jsr/intern/turn-credit-back.ts"],"names":[],"mappings":"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"}