@vibes.diy/api-svc 14.3.59 → 14.3.65

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 (131) hide show
  1. package/cf-serve.js +1 -0
  2. package/cf-serve.js.map +1 -1
  3. package/evento-handler-manifest.js +4 -0
  4. package/evento-handler-manifest.js.map +1 -1
  5. package/index.d.ts +5 -0
  6. package/index.js +5 -0
  7. package/index.js.map +1 -1
  8. package/intern/agent-belt.d.ts +6 -2
  9. package/intern/agent-belt.js +30 -9
  10. package/intern/agent-belt.js.map +1 -1
  11. package/intern/agent-build-tools.d.ts +1 -0
  12. package/intern/agent-build-tools.js +5 -2
  13. package/intern/agent-build-tools.js.map +1 -1
  14. package/intern/agent-dispatcher.js +26 -3
  15. package/intern/agent-dispatcher.js.map +1 -1
  16. package/intern/agent-image-survey-start.js +2 -1
  17. package/intern/agent-image-survey-start.js.map +1 -1
  18. package/intern/agent-session.d.ts +24 -24
  19. package/intern/attach-draft-handle.js +2 -0
  20. package/intern/attach-draft-handle.js.map +1 -1
  21. package/intern/backend-db-callback.js +1 -0
  22. package/intern/backend-db-callback.js.map +1 -1
  23. package/intern/components/vibe-page.js +1 -0
  24. package/intern/components/vibe-page.js.map +1 -1
  25. package/intern/cross-lane-build-guard.d.ts +10 -0
  26. package/intern/cross-lane-build-guard.js +17 -0
  27. package/intern/cross-lane-build-guard.js.map +1 -0
  28. package/intern/delete-access-gate.js +1 -0
  29. package/intern/delete-access-gate.js.map +1 -1
  30. package/intern/draft-chat-store.d.ts +7 -0
  31. package/intern/ensure-chat-id.js +8 -5
  32. package/intern/ensure-chat-id.js.map +1 -1
  33. package/intern/ensure-slug-binding.js +2 -0
  34. package/intern/ensure-slug-binding.js.map +1 -1
  35. package/intern/grouped-vibe-import-map.d.ts +3 -0
  36. package/intern/grouped-vibe-import-map.js +3 -0
  37. package/intern/grouped-vibe-import-map.js.map +1 -1
  38. package/intern/guest-build-store.js +1 -0
  39. package/intern/guest-build-store.js.map +1 -1
  40. package/intern/image-survey.d.ts +1 -1
  41. package/intern/image-survey.js +1 -2
  42. package/intern/image-survey.js.map +1 -1
  43. package/intern/import-synth.d.ts +5 -0
  44. package/intern/import-synth.js +52 -12
  45. package/intern/import-synth.js.map +1 -1
  46. package/intern/inline-build-pass.d.ts +3 -1
  47. package/intern/inline-build-pass.js +3 -1
  48. package/intern/inline-build-pass.js.map +1 -1
  49. package/intern/instruction-variant.js +4 -3
  50. package/intern/instruction-variant.js.map +1 -1
  51. package/intern/mint-decision.d.ts +3 -0
  52. package/intern/mint-decision.js +14 -2
  53. package/intern/mint-decision.js.map +1 -1
  54. package/intern/mint-style.d.ts +3 -0
  55. package/intern/mint-style.js +12 -1
  56. package/intern/mint-style.js.map +1 -1
  57. package/intern/open-turn-store.d.ts +10 -0
  58. package/intern/open-turn-store.js +28 -1
  59. package/intern/open-turn-store.js.map +1 -1
  60. package/intern/opens-check.js +4 -0
  61. package/intern/opens-check.js.map +1 -1
  62. package/intern/pouf-head-css.d.ts +15 -0
  63. package/intern/pouf-head-css.js +40 -0
  64. package/intern/pouf-head-css.js.map +1 -0
  65. package/intern/pouf-look-flag.d.ts +9 -0
  66. package/intern/pouf-look-flag.js +7 -0
  67. package/intern/pouf-look-flag.js.map +1 -0
  68. package/intern/prompt-assembly.d.ts +8 -0
  69. package/intern/prompt-assembly.js +19 -2
  70. package/intern/prompt-assembly.js.map +1 -1
  71. package/intern/put-access-gate.d.ts +1 -0
  72. package/intern/put-access-gate.js +8 -0
  73. package/intern/put-access-gate.js.map +1 -1
  74. package/intern/render-vibe.d.ts +2 -1
  75. package/intern/render-vibe.js +5 -2
  76. package/intern/render-vibe.js.map +1 -1
  77. package/intern/save-build-pass.d.ts +2 -0
  78. package/intern/save-build-pass.js +1 -0
  79. package/intern/save-build-pass.js.map +1 -1
  80. package/package.json +13 -12
  81. package/public/agent-turn-action.js +10 -0
  82. package/public/agent-turn-action.js.map +1 -1
  83. package/public/app-documents-read-eventos.js +17 -0
  84. package/public/app-documents-read-eventos.js.map +1 -1
  85. package/public/app-documents-write-eventos.d.ts +1 -0
  86. package/public/app-documents-write-eventos.js +9 -0
  87. package/public/app-documents-write-eventos.js.map +1 -1
  88. package/public/channel-invite-flow.d.ts +6 -0
  89. package/public/channel-invite-flow.js +102 -0
  90. package/public/channel-invite-flow.js.map +1 -0
  91. package/public/channel-invite-signup-match.d.ts +6 -0
  92. package/public/channel-invite-signup-match.js +31 -0
  93. package/public/channel-invite-signup-match.js.map +1 -0
  94. package/public/channel-invite-store.d.ts +62 -0
  95. package/public/channel-invite-store.js +186 -0
  96. package/public/channel-invite-store.js.map +1 -0
  97. package/public/grant-reduce.d.ts +5 -0
  98. package/public/grant-reduce.js +33 -8
  99. package/public/grant-reduce.js.map +1 -1
  100. package/public/handle-prompt-context.js +3 -1
  101. package/public/handle-prompt-context.js.map +1 -1
  102. package/public/handler-llm-request.js +1 -0
  103. package/public/handler-llm-request.js.map +1 -1
  104. package/public/inherit-read-resolver.d.ts +1 -0
  105. package/public/inherit-read-resolver.js +9 -0
  106. package/public/inherit-read-resolver.js.map +1 -1
  107. package/public/invite-subject-aliases.d.ts +15 -0
  108. package/public/invite-subject-aliases.js +77 -0
  109. package/public/invite-subject-aliases.js.map +1 -0
  110. package/public/invite-unsubscribe.js +2 -1
  111. package/public/invite-unsubscribe.js.map +1 -1
  112. package/public/lookup-handles.js +5 -2
  113. package/public/lookup-handles.js.map +1 -1
  114. package/public/prompt-chat-section.js +8 -0
  115. package/public/prompt-chat-section.js.map +1 -1
  116. package/public/resolve-invite-subjects.d.ts +4 -0
  117. package/public/resolve-invite-subjects.js +53 -0
  118. package/public/resolve-invite-subjects.js.map +1 -0
  119. package/public/serv-entry-point.js +7 -3
  120. package/public/serv-entry-point.js.map +1 -1
  121. package/public/social-flow.js +52 -4
  122. package/public/social-flow.js.map +1 -1
  123. package/public/sync-eventos.js +1 -0
  124. package/public/sync-eventos.js.map +1 -1
  125. package/public/viewer-channel-resolver.js +9 -0
  126. package/public/viewer-channel-resolver.js.map +1 -1
  127. package/public/who-am-i.d.ts +1 -1
  128. package/public/who-am-i.js +10 -2
  129. package/public/who-am-i.js.map +1 -1
  130. package/types.d.ts +1 -0
  131. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { EventoHandler } from "@adviser/cement";
2
+ import { MsgBase, VibesDiyError, W3CWebSocketEvent, ReqChannelInvite, ResChannelInvite } from "@vibes.diy/api-types";
3
+ export declare const CHANNEL_INVITE_HANDLE_REQUIRED_CODE = "channel-invite-handle-required";
4
+ export declare const CHANNEL_INVITE_INVALID_CONTACT_CODE = "channel-invite-invalid-contact";
5
+ export declare const CHANNEL_INVITE_APP_NOT_FOUND_CODE = "channel-invite-app-not-found";
6
+ export declare const channelInviteEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqChannelInvite>, ResChannelInvite | VibesDiyError>;
@@ -0,0 +1,102 @@
1
+ import { Result, Option, EventoResult } from "@adviser/cement";
2
+ import { and, eq } from "drizzle-orm/sql/expressions";
3
+ import { isReqChannelInvite, } from "@vibes.diy/api-types";
4
+ import { unwrapMsgBase } from "../unwrap-msg-base.js";
5
+ import { checkAuth } from "../check-auth.js";
6
+ import { resolveActiveHandle } from "./resolve-active-handle.js";
7
+ import { INVITE_INVITER_DAILY_CAP, INVITE_CONTACT_LIFETIME_CAP, INVITE_EXPIRY_MS, canonicalEmail, isValidEmailContact, isContactSuppressed, countInviterInvitesSince, countContactInvitesEver, } from "./social-invite-store.js";
8
+ import { channelInviteSubject, countContactChannelInvitesEver, countInviterChannelInvitesSince, insertPendingChannelInviteIfAbsent, } from "./channel-invite-store.js";
9
+ export const CHANNEL_INVITE_HANDLE_REQUIRED_CODE = "channel-invite-handle-required";
10
+ export const CHANNEL_INVITE_INVALID_CONTACT_CODE = "channel-invite-invalid-contact";
11
+ export const CHANNEL_INVITE_APP_NOT_FOUND_CODE = "channel-invite-app-not-found";
12
+ export const channelInviteEvento = {
13
+ hash: "channel-invite",
14
+ validate: unwrapMsgBase(async (msg) => {
15
+ if (isReqChannelInvite(msg.payload)) {
16
+ return Result.Ok(Option.Some({ ...msg, payload: msg.payload }));
17
+ }
18
+ return Result.Ok(Option.None());
19
+ }),
20
+ handle: checkAuth(async (ctx) => {
21
+ const req = ctx.validated.payload;
22
+ const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
23
+ const userId = req._auth.verifiedAuth.claims.userId;
24
+ const inviterHandle = await resolveActiveHandle(vctx, userId);
25
+ if (inviterHandle === undefined) {
26
+ await ctx.send.send(ctx, {
27
+ type: "vibes.diy.res-error",
28
+ error: { message: "a handle is required to invite people", code: CHANNEL_INVITE_HANDLE_REQUIRED_CODE },
29
+ });
30
+ return Result.Ok(EventoResult.Continue);
31
+ }
32
+ if (isValidEmailContact(req.contact) === false) {
33
+ await ctx.send.send(ctx, {
34
+ type: "vibes.diy.res-error",
35
+ error: { message: "not a valid email address", code: CHANNEL_INVITE_INVALID_CONTACT_CODE },
36
+ });
37
+ return Result.Ok(EventoResult.Continue);
38
+ }
39
+ const contactKey = canonicalEmail(req.contact);
40
+ const t = vctx.sql.tables.appSlugBinding;
41
+ const appRow = await vctx.sql.db
42
+ .select({ appSlug: t.appSlug })
43
+ .from(t)
44
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug)))
45
+ .limit(1)
46
+ .then((rows) => rows[0]);
47
+ if (appRow === undefined) {
48
+ await ctx.send.send(ctx, {
49
+ type: "vibes.diy.res-error",
50
+ error: { message: `no such app: ${req.ownerHandle}/${req.appSlug}`, code: CHANNEL_INVITE_APP_NOT_FOUND_CODE },
51
+ });
52
+ return Result.Ok(EventoResult.Continue);
53
+ }
54
+ const dayAgo = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
55
+ const sentToday = (await countInviterInvitesSince(vctx.sql, inviterHandle, dayAgo)) +
56
+ (await countInviterChannelInvitesSince(vctx.sql, inviterHandle, dayAgo));
57
+ if (sentToday >= INVITE_INVITER_DAILY_CAP) {
58
+ await ctx.send.send(ctx, { type: "vibes.diy.res-channel-invite", status: "rate-limited" });
59
+ return Result.Ok(EventoResult.Continue);
60
+ }
61
+ const suppressed = await isContactSuppressed(vctx.sql, "email", contactKey);
62
+ const everCount = (await countContactInvitesEver(vctx.sql, "email", contactKey)) +
63
+ (await countContactChannelInvitesEver(vctx.sql, "email", contactKey));
64
+ const mayEmail = suppressed === false && everCount < INVITE_CONTACT_LIFETIME_CAP;
65
+ const now = new Date();
66
+ const { inserted, id, token } = await insertPendingChannelInviteIfAbsent(vctx.sql, {
67
+ id: vctx.sthis.nextId(96 / 8).str,
68
+ ownerHandle: req.ownerHandle,
69
+ appSlug: req.appSlug,
70
+ inviterHandle,
71
+ contactType: "email",
72
+ contactKey,
73
+ token: vctx.sthis.nextId(96 / 8).str,
74
+ now: now.toISOString(),
75
+ expires: new Date(now.getTime() + INVITE_EXPIRY_MS).toISOString(),
76
+ });
77
+ if (inserted && mayEmail) {
78
+ await vctx.postQueue({
79
+ payload: {
80
+ type: "vibes.diy.evt-channel-invite",
81
+ id,
82
+ inviterHandle,
83
+ ownerHandle: req.ownerHandle,
84
+ appSlug: req.appSlug,
85
+ contactKey,
86
+ token,
87
+ },
88
+ tid: "queue-event",
89
+ src: "channel-invite-flow",
90
+ dst: "vibes-service",
91
+ ttl: 1,
92
+ });
93
+ }
94
+ await ctx.send.send(ctx, {
95
+ type: "vibes.diy.res-channel-invite",
96
+ status: "ok",
97
+ subject: channelInviteSubject(id),
98
+ });
99
+ return Result.Ok(EventoResult.Continue);
100
+ }),
101
+ };
102
+ //# sourceMappingURL=channel-invite-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-invite-flow.js","sourceRoot":"","sources":["../../jsr/public/channel-invite-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { VibesApiSQLCtx } from "../types.js";
2
+ export declare function bindChannelInvitesToNewHandle(ctx: VibesApiSQLCtx, input: {
3
+ userId: string;
4
+ ownerHandle: string;
5
+ email: string;
6
+ }): Promise<number>;
@@ -0,0 +1,31 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { and, eq, ne } from "drizzle-orm/sql/expressions";
3
+ import { canonicalEmail } from "./social-invite-store.js";
4
+ import { findPendingChannelInvitesForContact, markChannelInviteBound } from "./channel-invite-store.js";
5
+ export async function bindChannelInvitesToNewHandle(ctx, input) {
6
+ const t_hb = ctx.sql.tables.handleBinding;
7
+ const others = await ctx.sql.db
8
+ .select({ handle: t_hb.handle })
9
+ .from(t_hb)
10
+ .where(and(eq(t_hb.userId, input.userId), ne(t_hb.handle, input.ownerHandle)))
11
+ .limit(1);
12
+ if (others.length > 0)
13
+ return 0;
14
+ const contactKey = canonicalEmail(input.email);
15
+ const now = new Date().toISOString();
16
+ const pending = await findPendingChannelInvitesForContact(ctx.sql, "email", contactKey, now);
17
+ let bound = 0;
18
+ for (const inv of pending) {
19
+ if (inv.inviterHandle === input.ownerHandle)
20
+ continue;
21
+ const r = await exception2Result(() => markChannelInviteBound(ctx.sql, { id: inv.id, boundHandle: input.ownerHandle, boundUserId: input.userId, now }));
22
+ if (r.isErr()) {
23
+ console.error("[channel-invite] signup bind failed (isolated):", r.Err());
24
+ }
25
+ else if (r.Ok() === true) {
26
+ bound++;
27
+ }
28
+ }
29
+ return bound;
30
+ }
31
+ //# sourceMappingURL=channel-invite-signup-match.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-invite-signup-match.js","sourceRoot":"","sources":["../../jsr/public/channel-invite-signup-match.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAiBxG,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAmB,EACnB,KAA6D;IAM7D,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE;SAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC;SACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;SAC7E,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,mCAAmC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;IAC7F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK,CAAC,WAAW;YAAE,SAAS;QACtD,MAAM,CAAC,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACpC,sBAAsB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAChH,CAAC;QACF,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,62 @@
1
+ import { type SocialInviteSql } from "./social-invite-store.js";
2
+ export type ChannelInviteSql = SocialInviteSql;
3
+ export declare const CHANNEL_INVITE_SUBJECT_PREFIX = "invite:";
4
+ export declare function channelInviteSubject(id: string): string;
5
+ export interface InsertPendingChannelInviteInput {
6
+ readonly id: string;
7
+ readonly ownerHandle: string;
8
+ readonly appSlug: string;
9
+ readonly inviterHandle: string;
10
+ readonly contactType: "email";
11
+ readonly contactKey: string;
12
+ readonly token: string;
13
+ readonly now: string;
14
+ readonly expires: string;
15
+ }
16
+ export declare function insertPendingChannelInviteIfAbsent(sql: ChannelInviteSql, input: InsertPendingChannelInviteInput): Promise<{
17
+ inserted: boolean;
18
+ id: string;
19
+ token: string;
20
+ }>;
21
+ export declare function selectChannelInviteByToken(sql: ChannelInviteSql, token: string): Promise<{
22
+ id: string;
23
+ ownerHandle: string;
24
+ appSlug: string;
25
+ inviterHandle: string;
26
+ contactType: string;
27
+ contactKey: string;
28
+ token: string;
29
+ state: string;
30
+ boundHandle: string | null;
31
+ boundUserId: string | null;
32
+ expires: string;
33
+ updated: string;
34
+ created: string;
35
+ }>;
36
+ export interface PendingChannelInvite {
37
+ readonly id: string;
38
+ readonly ownerHandle: string;
39
+ readonly appSlug: string;
40
+ readonly inviterHandle: string;
41
+ readonly token: string;
42
+ readonly expires: string;
43
+ }
44
+ export declare function findPendingChannelInvitesForContact(sql: ChannelInviteSql, contactType: "email", contactKey: string, nowIso?: string): Promise<PendingChannelInvite[]>;
45
+ export declare function markChannelInviteBound(sql: ChannelInviteSql, input: {
46
+ id: string;
47
+ boundHandle: string;
48
+ boundUserId: string;
49
+ now: string;
50
+ }): Promise<boolean>;
51
+ export declare function resolveBoundInviteAliases(sql: ChannelInviteSql, input: {
52
+ ownerHandle: string;
53
+ appSlug: string;
54
+ handle: string;
55
+ userId: string;
56
+ }): Promise<Map<string, string>>;
57
+ export declare function countInviterChannelInvitesSince(sql: ChannelInviteSql, inviterHandle: string, sinceIso: string): Promise<number>;
58
+ export declare function countContactChannelInvitesEver(sql: ChannelInviteSql, contactType: "email", contactKey: string): Promise<number>;
59
+ export declare function sweepExpiredChannelInvites(sql: ChannelInviteSql, nowIso: string): Promise<{
60
+ expired: number;
61
+ failed: number;
62
+ }>;
@@ -0,0 +1,186 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { and, eq, gt, inArray, lte } from "drizzle-orm/sql/expressions";
3
+ import { hashContactKey } from "./social-invite-store.js";
4
+ export const CHANNEL_INVITE_SUBJECT_PREFIX = "invite:";
5
+ export function channelInviteSubject(id) {
6
+ return `${CHANNEL_INVITE_SUBJECT_PREFIX}${id}`;
7
+ }
8
+ export async function insertPendingChannelInviteIfAbsent(sql, input) {
9
+ const t = sql.tables.channelInvites;
10
+ const existing = await selectAppContactRow(sql, input);
11
+ if (existing === undefined) {
12
+ const returned = await sql.db
13
+ .insert(t)
14
+ .values({
15
+ id: input.id,
16
+ ownerHandle: input.ownerHandle,
17
+ appSlug: input.appSlug,
18
+ inviterHandle: input.inviterHandle,
19
+ contactType: input.contactType,
20
+ contactKey: input.contactKey,
21
+ token: input.token,
22
+ state: "pending",
23
+ boundHandle: null,
24
+ boundUserId: null,
25
+ expires: input.expires,
26
+ updated: input.now,
27
+ created: input.now,
28
+ })
29
+ .onConflictDoNothing({ target: [t.ownerHandle, t.appSlug, t.contactType, t.contactKey] })
30
+ .returning({ id: t.id, token: t.token });
31
+ const row = returned[0];
32
+ if (row !== undefined)
33
+ return { inserted: true, id: row.id, token: row.token };
34
+ const winner = await selectAppContactRow(sql, input);
35
+ if (winner === undefined)
36
+ throw new Error("channel invite insert conflicted but no row found");
37
+ return { inserted: false, id: winner.id, token: winner.token };
38
+ }
39
+ const live = existing.state === "pending" && existing.expires > input.now;
40
+ if (live || existing.state === "bound") {
41
+ return { inserted: false, id: existing.id, token: existing.token };
42
+ }
43
+ const refreshed = await sql.db
44
+ .update(t)
45
+ .set({
46
+ inviterHandle: input.inviterHandle,
47
+ contactKey: input.contactKey,
48
+ token: input.token,
49
+ state: "pending",
50
+ boundHandle: null,
51
+ boundUserId: null,
52
+ expires: input.expires,
53
+ updated: input.now,
54
+ created: input.now,
55
+ })
56
+ .where(and(eq(t.id, existing.id), eq(t.token, existing.token), eq(t.state, existing.state)))
57
+ .returning({ id: t.id, token: t.token });
58
+ const row = refreshed[0];
59
+ if (row !== undefined)
60
+ return { inserted: true, id: row.id, token: row.token };
61
+ const current = await selectAppContactRow(sql, input);
62
+ if (current === undefined)
63
+ throw new Error("channel invite refresh lost its row");
64
+ return { inserted: false, id: current.id, token: current.token };
65
+ }
66
+ async function selectAppContactRow(sql, input) {
67
+ const t = sql.tables.channelInvites;
68
+ const rows = await sql.db
69
+ .select()
70
+ .from(t)
71
+ .where(and(eq(t.ownerHandle, input.ownerHandle), eq(t.appSlug, input.appSlug), eq(t.contactType, input.contactType), inArray(t.contactKey, [input.contactKey, hashContactKey(input.contactKey)])));
72
+ return rows.find((r) => r.contactKey === input.contactKey) ?? rows[0];
73
+ }
74
+ export async function selectChannelInviteByToken(sql, token) {
75
+ const t = sql.tables.channelInvites;
76
+ return sql.db
77
+ .select()
78
+ .from(t)
79
+ .where(eq(t.token, token))
80
+ .limit(1)
81
+ .then((r) => r[0]);
82
+ }
83
+ export async function findPendingChannelInvitesForContact(sql, contactType, contactKey, nowIso = new Date().toISOString()) {
84
+ const t = sql.tables.channelInvites;
85
+ return sql.db
86
+ .select({
87
+ id: t.id,
88
+ ownerHandle: t.ownerHandle,
89
+ appSlug: t.appSlug,
90
+ inviterHandle: t.inviterHandle,
91
+ token: t.token,
92
+ expires: t.expires,
93
+ })
94
+ .from(t)
95
+ .where(and(eq(t.state, "pending"), eq(t.contactType, contactType), eq(t.contactKey, contactKey), gt(t.expires, nowIso)));
96
+ }
97
+ export async function markChannelInviteBound(sql, input) {
98
+ const t = sql.tables.channelInvites;
99
+ const row = await sql.db
100
+ .select({ contactKey: t.contactKey, state: t.state })
101
+ .from(t)
102
+ .where(eq(t.id, input.id))
103
+ .limit(1)
104
+ .then((r) => r[0]);
105
+ if (row === undefined || row.state !== "pending")
106
+ return false;
107
+ const returned = await sql.db
108
+ .update(t)
109
+ .set({
110
+ state: "bound",
111
+ boundHandle: input.boundHandle,
112
+ boundUserId: input.boundUserId,
113
+ contactKey: hashContactKey(row.contactKey),
114
+ updated: input.now,
115
+ })
116
+ .where(and(eq(t.id, input.id), eq(t.state, "pending"), eq(t.contactKey, row.contactKey), gt(t.expires, input.now)))
117
+ .returning({ id: t.id });
118
+ return returned.length > 0;
119
+ }
120
+ export async function resolveBoundInviteAliases(sql, input) {
121
+ const t = sql.tables.channelInvites;
122
+ const rows = await sql.db
123
+ .select({ id: t.id, boundHandle: t.boundHandle })
124
+ .from(t)
125
+ .where(and(eq(t.ownerHandle, input.ownerHandle), eq(t.appSlug, input.appSlug), eq(t.boundHandle, input.handle), eq(t.boundUserId, input.userId), eq(t.state, "bound")));
126
+ const out = new Map();
127
+ for (const r of rows) {
128
+ if (r.boundHandle !== null)
129
+ out.set(channelInviteSubject(r.id), r.boundHandle);
130
+ }
131
+ return out;
132
+ }
133
+ export async function countInviterChannelInvitesSince(sql, inviterHandle, sinceIso) {
134
+ const t = sql.tables.channelInvites;
135
+ const rows = await sql.db
136
+ .select({ id: t.id })
137
+ .from(t)
138
+ .where(and(eq(t.inviterHandle, inviterHandle), gt(t.created, sinceIso)));
139
+ return rows.length;
140
+ }
141
+ export async function countContactChannelInvitesEver(sql, contactType, contactKey) {
142
+ const t = sql.tables.channelInvites;
143
+ const rows = await sql.db
144
+ .select({ id: t.id })
145
+ .from(t)
146
+ .where(and(eq(t.contactType, contactType), inArray(t.contactKey, [contactKey, hashContactKey(contactKey)])));
147
+ return rows.length;
148
+ }
149
+ export async function sweepExpiredChannelInvites(sql, nowIso) {
150
+ const t = sql.tables.channelInvites;
151
+ const due = await sql.db
152
+ .select({ id: t.id, ownerHandle: t.ownerHandle, appSlug: t.appSlug, contactType: t.contactType, contactKey: t.contactKey })
153
+ .from(t)
154
+ .where(and(eq(t.state, "pending"), lte(t.expires, nowIso)));
155
+ let expired = 0;
156
+ let failed = 0;
157
+ for (const row of due) {
158
+ const rMutate = await exception2Result(async () => {
159
+ const hashed = hashContactKey(row.contactKey);
160
+ const clash = await sql.db
161
+ .select({ id: t.id })
162
+ .from(t)
163
+ .where(and(eq(t.ownerHandle, row.ownerHandle), eq(t.appSlug, row.appSlug), eq(t.contactType, row.contactType), eq(t.contactKey, hashed)))
164
+ .limit(1)
165
+ .then((r) => r[0]);
166
+ if (clash !== undefined) {
167
+ await sql.db.delete(t).where(and(eq(t.id, row.id), eq(t.state, "pending")));
168
+ }
169
+ else {
170
+ await sql.db
171
+ .update(t)
172
+ .set({ state: "expired", contactKey: hashed, updated: nowIso })
173
+ .where(and(eq(t.id, row.id), eq(t.state, "pending"), eq(t.contactKey, row.contactKey)));
174
+ }
175
+ });
176
+ if (rMutate.isErr()) {
177
+ failed++;
178
+ console.error("[channel-invite] sweep row failed (isolated):", rMutate.Err());
179
+ }
180
+ else {
181
+ expired++;
182
+ }
183
+ }
184
+ return { expired, failed };
185
+ }
186
+ //# sourceMappingURL=channel-invite-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-invite-store.js","sourceRoot":"","sources":["../../jsr/public/channel-invite-store.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,12 @@ export declare class GrantReduce {
15
15
  publicChannels: Set<string>;
16
16
  _hydrated: boolean;
17
17
  private seedContribution;
18
+ private subjectAliases;
18
19
  get isHydrated(): boolean;
19
20
  markHydrated(): void;
20
21
  setSeed(contribution: DocContribution | undefined): void;
22
+ setSubjectAliases(aliases: ReadonlyMap<string, string>): void;
23
+ namesSubjectPrefix(prefix: string): boolean;
21
24
  cloneSeedFrom(other: GrantReduce): void;
22
25
  addDoc(docId: string, contribution: DocContribution): void;
23
26
  removeDoc(docId: string): void;
@@ -25,7 +28,9 @@ export declare class GrantReduce {
25
28
  hasRole(userHandle: string, roleName: string): boolean;
26
29
  private rebuild;
27
30
  private unionContribution;
31
+ private unionUserGrant;
28
32
  }
33
+ export declare const INVITE_SUBJECT_PREFIX = "invite:";
29
34
  export declare const RESERVED_OWNER_ROLE = "owner";
30
35
  export declare const RESERVED_DEV_ROLE = "~dev";
31
36
  export declare function seedOwnerGrants(reduce: GrantReduce, ownerHandle: string | undefined, devHandles?: readonly string[]): void;
@@ -34,6 +34,7 @@ export class GrantReduce {
34
34
  publicChannels = new Set();
35
35
  _hydrated = false;
36
36
  seedContribution;
37
+ subjectAliases = new Map();
37
38
  get isHydrated() {
38
39
  return this._hydrated;
39
40
  }
@@ -44,6 +45,20 @@ export class GrantReduce {
44
45
  this.seedContribution = contribution && hasContent(contribution) ? contribution : undefined;
45
46
  this.rebuild();
46
47
  }
48
+ setSubjectAliases(aliases) {
49
+ this.subjectAliases = aliases;
50
+ this.rebuild();
51
+ }
52
+ namesSubjectPrefix(prefix) {
53
+ for (const key of this.userGrants.keys())
54
+ if (key.startsWith(prefix))
55
+ return true;
56
+ for (const members of this.effectiveMembers.values())
57
+ for (const m of members)
58
+ if (m.startsWith(prefix))
59
+ return true;
60
+ return false;
61
+ }
47
62
  cloneSeedFrom(other) {
48
63
  this.setSeed(other.seedContribution);
49
64
  }
@@ -114,6 +129,9 @@ export class GrantReduce {
114
129
  }
115
130
  for (const u of users) {
116
131
  set.add(u);
132
+ const alias = this.subjectAliases.get(u);
133
+ if (alias !== undefined)
134
+ set.add(alias);
117
135
  }
118
136
  }
119
137
  for (const [role, channels] of c.grantRoles) {
@@ -127,20 +145,27 @@ export class GrantReduce {
127
145
  }
128
146
  }
129
147
  for (const [user, channels] of c.grantUsers) {
130
- let set = this.userGrants.get(user);
131
- if (!set) {
132
- set = new Set();
133
- this.userGrants.set(user, set);
134
- }
135
- for (const ch of channels) {
136
- set.add(ch);
137
- }
148
+ this.unionUserGrant(user, channels);
149
+ const alias = this.subjectAliases.get(user);
150
+ if (alias !== undefined)
151
+ this.unionUserGrant(alias, channels);
138
152
  }
139
153
  for (const ch of c.grantPublic) {
140
154
  this.publicChannels.add(ch);
141
155
  }
142
156
  }
157
+ unionUserGrant(user, channels) {
158
+ let set = this.userGrants.get(user);
159
+ if (!set) {
160
+ set = new Set();
161
+ this.userGrants.set(user, set);
162
+ }
163
+ for (const ch of channels) {
164
+ set.add(ch);
165
+ }
166
+ }
143
167
  }
168
+ export const INVITE_SUBJECT_PREFIX = "invite:";
144
169
  export const RESERVED_OWNER_ROLE = "owner";
145
170
  export const RESERVED_DEV_ROLE = "~dev";
146
171
  export function seedOwnerGrants(reduce, ownerHandle, devHandles = []) {