@vibes.diy/api-svc 4.5.5 → 5.2.2

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 (187) hide show
  1. package/autumn.config.d.ts +4 -2
  2. package/autumn.config.js +12 -7
  3. package/autumn.config.js.map +1 -1
  4. package/billing.d.ts +77 -1
  5. package/billing.js +264 -3
  6. package/billing.js.map +1 -1
  7. package/cf-serve.d.ts +4 -1
  8. package/cf-serve.js +23 -0
  9. package/cf-serve.js.map +1 -1
  10. package/create-handler.d.ts +9 -1
  11. package/create-handler.js +5 -0
  12. package/create-handler.js.map +1 -1
  13. package/evento-handler-manifest.js +36 -0
  14. package/evento-handler-manifest.js.map +1 -1
  15. package/index.d.ts +17 -0
  16. package/index.js +17 -0
  17. package/index.js.map +1 -1
  18. package/intern/backend-db-callback.js +56 -0
  19. package/intern/backend-db-callback.js.map +1 -1
  20. package/intern/backend-egress.d.ts +1 -1
  21. package/intern/backend-egress.js +74 -22
  22. package/intern/backend-egress.js.map +1 -1
  23. package/intern/backend-policy-version.d.ts +1 -1
  24. package/intern/backend-policy-version.js +1 -1
  25. package/intern/components/vibe-page.js +5 -1
  26. package/intern/components/vibe-page.js.map +1 -1
  27. package/intern/delete-access-gate.d.ts +4 -0
  28. package/intern/delete-access-gate.js +46 -5
  29. package/intern/delete-access-gate.js.map +1 -1
  30. package/intern/egress-platform-list.d.ts +1 -0
  31. package/intern/egress-platform-list.js +4 -0
  32. package/intern/egress-platform-list.js.map +1 -1
  33. package/intern/emit-notification.d.ts +21 -0
  34. package/intern/emit-notification.js +43 -0
  35. package/intern/emit-notification.js.map +1 -0
  36. package/intern/ensure-app-metadata.js +4 -0
  37. package/intern/ensure-app-metadata.js.map +1 -1
  38. package/intern/ensure-chat-id.js +13 -2
  39. package/intern/ensure-chat-id.js.map +1 -1
  40. package/intern/ensure-slug-binding.js +20 -2
  41. package/intern/ensure-slug-binding.js.map +1 -1
  42. package/intern/notify-comment-posted.d.ts +8 -0
  43. package/intern/notify-comment-posted.js +24 -0
  44. package/intern/notify-comment-posted.js.map +1 -0
  45. package/intern/notify-dm-received.d.ts +9 -0
  46. package/intern/notify-dm-received.js +25 -0
  47. package/intern/notify-dm-received.js.map +1 -0
  48. package/intern/notify-member-joined.d.ts +11 -0
  49. package/intern/notify-member-joined.js +16 -0
  50. package/intern/notify-member-joined.js.map +1 -0
  51. package/intern/notify-remix-clone.d.ts +6 -0
  52. package/intern/notify-remix-clone.js +21 -0
  53. package/intern/notify-remix-clone.js.map +1 -0
  54. package/intern/notify-remix.d.ts +8 -0
  55. package/intern/notify-remix.js +23 -0
  56. package/intern/notify-remix.js.map +1 -0
  57. package/intern/notify-request-grant.d.ts +9 -0
  58. package/intern/notify-request-grant.js +18 -0
  59. package/intern/notify-request-grant.js.map +1 -0
  60. package/intern/notify-social-edge.d.ts +9 -0
  61. package/intern/notify-social-edge.js +45 -0
  62. package/intern/notify-social-edge.js.map +1 -0
  63. package/intern/notify-vibe-published.d.ts +7 -0
  64. package/intern/notify-vibe-published.js +22 -0
  65. package/intern/notify-vibe-published.js.map +1 -0
  66. package/intern/pre-allocate.d.ts +1 -0
  67. package/intern/pre-allocate.js +1 -0
  68. package/intern/pre-allocate.js.map +1 -1
  69. package/intern/process-access-bindings.js +12 -2
  70. package/intern/process-access-bindings.js.map +1 -1
  71. package/intern/put-access-gate.js +25 -3
  72. package/intern/put-access-gate.js.map +1 -1
  73. package/intern/read-anonymous-seed-docs.js +1 -1
  74. package/intern/read-anonymous-seed-docs.js.map +1 -1
  75. package/intern/recovery.d.ts +7 -1
  76. package/intern/recovery.js +5 -5
  77. package/intern/recovery.js.map +1 -1
  78. package/intern/render-vibe.js +7 -3
  79. package/intern/render-vibe.js.map +1 -1
  80. package/intern/slot-assembler.d.ts +2 -0
  81. package/intern/slot-assembler.js +9 -3
  82. package/intern/slot-assembler.js.map +1 -1
  83. package/intern/vibe-curation-decision.d.ts +18 -0
  84. package/intern/vibe-curation-decision.js +46 -0
  85. package/intern/vibe-curation-decision.js.map +1 -0
  86. package/intern/write-apps.js +9 -2
  87. package/intern/write-apps.js.map +1 -1
  88. package/package.json +16 -15
  89. package/public/access-function.js +4 -1
  90. package/public/access-function.js.map +1 -1
  91. package/public/access-helpers.js +5 -0
  92. package/public/access-helpers.js.map +1 -1
  93. package/public/app-documents-broadcast.d.ts +8 -0
  94. package/public/app-documents-broadcast.js +15 -0
  95. package/public/app-documents-broadcast.js.map +1 -1
  96. package/public/app-documents-grant-delta.js +3 -2
  97. package/public/app-documents-grant-delta.js.map +1 -1
  98. package/public/app-documents-read-eventos.js +72 -13
  99. package/public/app-documents-read-eventos.js.map +1 -1
  100. package/public/app-documents-write-eventos.js +28 -11
  101. package/public/app-documents-write-eventos.js.map +1 -1
  102. package/public/app-settings-sql-upsert.js +4 -1
  103. package/public/app-settings-sql-upsert.js.map +1 -1
  104. package/public/audience-arms-store.d.ts +21 -0
  105. package/public/audience-arms-store.js +110 -0
  106. package/public/audience-arms-store.js.map +1 -0
  107. package/public/audience-channels.d.ts +14 -0
  108. package/public/audience-channels.js +71 -0
  109. package/public/audience-channels.js.map +1 -0
  110. package/public/audience-derived-trigger.d.ts +15 -0
  111. package/public/audience-derived-trigger.js +45 -0
  112. package/public/audience-derived-trigger.js.map +1 -0
  113. package/public/audience-key-patch.d.ts +16 -0
  114. package/public/audience-key-patch.js +38 -0
  115. package/public/audience-key-patch.js.map +1 -0
  116. package/public/billing-msg.d.ts +5 -0
  117. package/public/billing-msg.js +143 -0
  118. package/public/billing-msg.js.map +1 -0
  119. package/public/channel-read-filter.js +4 -2
  120. package/public/channel-read-filter.js.map +1 -1
  121. package/public/curated-new-vibes.d.ts +5 -0
  122. package/public/curated-new-vibes.js +64 -0
  123. package/public/curated-new-vibes.js.map +1 -0
  124. package/public/developer-grants-flow.d.ts +5 -0
  125. package/public/developer-grants-flow.js +218 -0
  126. package/public/developer-grants-flow.js.map +1 -0
  127. package/public/developer-grants.d.ts +12 -0
  128. package/public/developer-grants.js +40 -0
  129. package/public/developer-grants.js.map +1 -0
  130. package/public/email-unsubscribe.d.ts +7 -0
  131. package/public/email-unsubscribe.js +41 -0
  132. package/public/email-unsubscribe.js.map +1 -0
  133. package/public/ensure-app-settings.js +69 -3
  134. package/public/ensure-app-settings.js.map +1 -1
  135. package/public/ensure-user-settings.js +9 -1
  136. package/public/ensure-user-settings.js.map +1 -1
  137. package/public/fork-app.js +24 -1
  138. package/public/fork-app.js.map +1 -1
  139. package/public/grant-reduce.d.ts +4 -2
  140. package/public/grant-reduce.js +11 -3
  141. package/public/grant-reduce.js.map +1 -1
  142. package/public/home-feed-common.d.ts +18 -0
  143. package/public/home-feed-common.js +46 -0
  144. package/public/home-feed-common.js.map +1 -0
  145. package/public/home-leaderboard.d.ts +5 -0
  146. package/public/home-leaderboard.js +64 -0
  147. package/public/home-leaderboard.js.map +1 -0
  148. package/public/image-gen.js +9 -0
  149. package/public/image-gen.js.map +1 -1
  150. package/public/invite-unsubscribe.d.ts +3 -0
  151. package/public/invite-unsubscribe.js +31 -0
  152. package/public/invite-unsubscribe.js.map +1 -0
  153. package/public/list-notifications.d.ts +4 -0
  154. package/public/list-notifications.js +157 -0
  155. package/public/list-notifications.js.map +1 -0
  156. package/public/related-vibes.d.ts +3 -0
  157. package/public/related-vibes.js +134 -0
  158. package/public/related-vibes.js.map +1 -0
  159. package/public/serv-entry-point.js +2 -2
  160. package/public/serv-entry-point.js.map +1 -1
  161. package/public/social-flow.d.ts +21 -0
  162. package/public/social-flow.js +765 -0
  163. package/public/social-flow.js.map +1 -0
  164. package/public/social-invite-flow.d.ts +3 -0
  165. package/public/social-invite-flow.js +73 -0
  166. package/public/social-invite-flow.js.map +1 -0
  167. package/public/social-invite-signup-match.d.ts +6 -0
  168. package/public/social-invite-signup-match.js +38 -0
  169. package/public/social-invite-signup-match.js.map +1 -0
  170. package/public/social-invite-store.d.ts +70 -0
  171. package/public/social-invite-store.js +172 -0
  172. package/public/social-invite-store.js.map +1 -0
  173. package/public/social-store.d.ts +109 -0
  174. package/public/social-store.js +469 -0
  175. package/public/social-store.js.map +1 -0
  176. package/public/who-am-i.js +5 -3
  177. package/public/who-am-i.js.map +1 -1
  178. package/svc-ws-send-provider.d.ts +2 -0
  179. package/svc-ws-send-provider.js +2 -0
  180. package/svc-ws-send-provider.js.map +1 -1
  181. package/types.d.ts +20 -1
  182. package/types.js.map +1 -1
  183. package/usage-report/README.md +1 -0
  184. package/usage-report/billing-reconcile-util.d.ts +7 -5
  185. package/usage-report/billing-reconcile-util.js +32 -17
  186. package/usage-report/billing-reconcile-util.js.map +1 -1
  187. package/usage-report/vibe-usage.py +171 -0
@@ -3,6 +3,14 @@ import { matchesPlatformList } from "./egress-platform-list.js";
3
3
  import { corsCacheKey, isForbiddenHeaderName, isSimpleCorsRequest, normalizeRequestedHeaders, originAdmitted, preflightAdmits, preflightMaxAgeSeconds, } from "./egress-cors.js";
4
4
  const EGRESS_TIMEOUT_MS = 15_000;
5
5
  const RESPONSE_CAP_BYTES = 10 * 1024 * 1024;
6
+ const MAX_REDIRECTS = 20;
7
+ const REDIRECT_STATUSES = new Set([301, 302, 303, 307, 308]);
8
+ const METHOD_OVERRIDE_HEADERS = [
9
+ "x-http-method-override",
10
+ "x-http-method",
11
+ "x-method-override",
12
+ "x-restli-method",
13
+ ];
6
14
  const HOP_BY_HOP = [
7
15
  "connection",
8
16
  "keep-alive",
@@ -66,7 +74,7 @@ export async function attemptBackendEgress(input) {
66
74
  if (!admitted)
67
75
  return egressDenial("cors", url.hostname);
68
76
  }
69
- const fwd = await forward(input, fetcher, url, headers);
77
+ const fwd = await forward({ input, fetcher, url, headers });
70
78
  if (fwd.kind !== "upstream")
71
79
  return fwd.res;
72
80
  if (!originAdmitted(fwd.res.headers.get("access-control-allow-origin"), input.vibeOrigin)) {
@@ -75,8 +83,9 @@ export async function attemptBackendEgress(input) {
75
83
  }
76
84
  return fwd.res;
77
85
  }
78
- const headers = stripHeaders(input.request.headers, (n) => HOP_BY_HOP.includes(n) || n === "host" || n === "cookie");
79
- return (await forward(input, fetcher, url, headers)).res;
86
+ const headers = stripHeaders(input.request.headers, (n) => HOP_BY_HOP.includes(n) || n === "host" || n === "cookie" || METHOD_OVERRIDE_HEADERS.includes(n));
87
+ const revalidate = admitLane === "platform" ? matchesPlatformList : undefined;
88
+ return (await forward({ input, fetcher, url, headers, revalidate })).res;
80
89
  }
81
90
  function egressUserAgent(input) {
82
91
  return `vibes-diy-backend (+https://vibes.diy/vibe/${input.ownerHandle}/${input.appSlug})`;
@@ -89,31 +98,74 @@ function stripHeaders(headers, drop) {
89
98
  });
90
99
  return out;
91
100
  }
92
- async function forward(input, fetcher, url, headers) {
101
+ async function forward({ input, fetcher, url, headers, revalidate }) {
93
102
  const now = input.now ?? (() => Date.now());
94
103
  if (!input.rate.admit(now()))
95
104
  return { kind: "synthetic", res: egressDenial("rate-limit", url.hostname) };
96
105
  headers.set("origin", input.vibeOrigin);
97
106
  headers.set("user-agent", egressUserAgent(input));
98
- const outbound = new Request(url.toString(), {
99
- method: input.request.method,
100
- headers,
101
- body: input.request.body,
102
- redirect: "follow",
103
- duplex: "half",
104
- });
107
+ const bodyless = input.request.method === "GET" || input.request.method === "HEAD";
108
+ let body = bodyless || !input.request.body ? null : await input.request.arrayBuffer();
109
+ let method = input.request.method;
110
+ let target = url;
105
111
  let res;
106
- try {
107
- res = await fetcher(outbound);
108
- }
109
- catch (e) {
110
- return {
111
- kind: "synthetic",
112
- res: new Response(JSON.stringify({ vibesEgressError: true, host: url.hostname, error: String(e?.message ?? e) }), {
113
- status: 502,
114
- headers: { "content-type": "application/json" },
115
- }),
116
- };
112
+ for (let hop = 0;; hop++) {
113
+ const outbound = new Request(target.toString(), {
114
+ method,
115
+ headers,
116
+ body,
117
+ redirect: "manual",
118
+ duplex: "half",
119
+ });
120
+ try {
121
+ res = await fetcher(outbound);
122
+ }
123
+ catch (e) {
124
+ return {
125
+ kind: "synthetic",
126
+ res: new Response(JSON.stringify({ vibesEgressError: true, host: target.hostname, error: String(e?.message ?? e) }), {
127
+ status: 502,
128
+ headers: { "content-type": "application/json" },
129
+ }),
130
+ };
131
+ }
132
+ const location = REDIRECT_STATUSES.has(res.status) ? res.headers.get("location") : null;
133
+ if (!location)
134
+ break;
135
+ if (hop >= MAX_REDIRECTS) {
136
+ await res.body?.cancel().catch(() => undefined);
137
+ return {
138
+ kind: "synthetic",
139
+ res: new Response(JSON.stringify({ vibesEgressError: true, host: target.hostname, error: "too many redirects" }), {
140
+ status: 502,
141
+ headers: { "content-type": "application/json" },
142
+ }),
143
+ };
144
+ }
145
+ let next;
146
+ try {
147
+ next = new URL(location, target);
148
+ }
149
+ catch {
150
+ break;
151
+ }
152
+ await res.body?.cancel().catch(() => undefined);
153
+ if (!checkEgressFloor(next).ok)
154
+ return { kind: "synthetic", res: egressDenial("floor", next.hostname) };
155
+ if (next.origin !== target.origin)
156
+ headers.delete("authorization");
157
+ const rewriteToGet = ((res.status === 301 || res.status === 302) && method === "POST") ||
158
+ (res.status === 303 && method !== "GET" && method !== "HEAD");
159
+ if (rewriteToGet) {
160
+ method = "GET";
161
+ body = null;
162
+ headers.delete("content-type");
163
+ headers.delete("content-length");
164
+ }
165
+ if (revalidate !== undefined && revalidate(next, method) === false) {
166
+ return { kind: "synthetic", res: egressDenial("platform", next.hostname) };
167
+ }
168
+ target = next;
117
169
  }
118
170
  const resHeaders = stripHeaders(res.headers, (n) => HOP_BY_HOP.includes(n));
119
171
  let total = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-egress.js","sourceRoot":"","sources":["../../jsr/intern/backend-egress.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAEL,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAM1B,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACjC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAE5C,MAAM,UAAU,GAAsB;IACpC,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,qBAAqB;IACrB,IAAI;IACJ,SAAS;IACT,mBAAmB;IACnB,SAAS;CACV,CAAC;AAkBF,MAAM,UAAU,YAAY,CAAC,IAAsB,EAAE,IAAY;IAC/D,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE;QAC3E,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAChD,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,KAAyB;IAClE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;IACpH,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;IAGD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1E,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,SAAS,GACb,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;IAErG,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAGzB,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/G,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC/C,IAAI,QAAiB,CAAC;YACtB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBACrE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBAClD,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;oBAAE,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,IAAI,KAAe,CAAC;gBACpB,IAAI,CAAC;oBACH,KAAK,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvE,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,QAAQ;gBAAE,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAGD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC;QAI5C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1F,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACpD,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,GAAG,CAAC,GAAG,CAAC;IACjB,CAAC;IAKD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;IACrH,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAMD,SAAS,eAAe,CAAC,KAAyB;IAEhD,OAAO,8CAA8C,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,OAAgB,EAAE,IAAoC;IAC1E,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAGD,KAAK,UAAU,OAAO,CACpB,KAAyB,EACzB,OAA4C,EAC5C,GAAQ,EACR,OAAgB;IAEhB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1G,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAGlD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QAC3C,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;QAC5B,OAAO;QACP,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI;QACxB,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,MAAM;KACA,CAAC,CAAC;IAClB,IAAI,GAAa,CAAC;IAClB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QAGX,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAE,CAAW,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE;gBAC3H,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC;SACH,CAAC;IACJ,CAAC;IAGD,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,CAClC,IAAI,eAAe,CAAyB;QAC1C,SAAS,CAAC,KAAK,EAAE,UAAU;YACzB,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC;YAC1B,IAAI,KAAK,GAAG,kBAAkB,EAAE,CAAC;gBAC/B,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;gBACxE,OAAO;YACT,CAAC;YACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC,CACH,CAAC;IACF,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;KAC3G,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"backend-egress.js","sourceRoot":"","sources":["../../jsr/intern/backend-egress.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const EGRESS_POLICY_VERSION = "e2";
1
+ export declare const EGRESS_POLICY_VERSION = "e3";
2
2
  export declare function computeBackendPolicyVersion(envBase: string | undefined): string;
@@ -1,4 +1,4 @@
1
- export const EGRESS_POLICY_VERSION = "e2";
1
+ export const EGRESS_POLICY_VERSION = "e3";
2
2
  export function computeBackendPolicyVersion(envBase) {
3
3
  return `${envBase ?? "v1"}+egress:${EGRESS_POLICY_VERSION}`;
4
4
  }
@@ -13,9 +13,13 @@ function ModuleHints({ importMap, preloadModules }) {
13
13
  const port = u.port && u.port !== "80" && u.port !== "443" ? `:${u.port}` : "";
14
14
  origins.add(`${u.protocol}//${u.hostname}${port}`);
15
15
  }
16
+ const preloads = preloadModules ?? [];
17
+ const preloadJs = preloads.length === 0
18
+ ? undefined
19
+ : `for(const h of ${JSON.stringify(preloads)}){const l=document.createElement("link");l.rel="modulepreload";l.href=h;document.head.appendChild(l)}`.replace(/</g, "\\u003c");
16
20
  return (React.createElement(React.Fragment, null,
17
21
  [...origins].map((origin) => (React.createElement("link", { key: origin, rel: "preconnect", href: origin, crossOrigin: "anonymous" }))),
18
- (preloadModules ?? []).map((href) => (React.createElement("link", { key: href, rel: "modulepreload", href: href })))));
22
+ preloadJs !== undefined && React.createElement("script", { dangerouslySetInnerHTML: { __html: preloadJs } })));
19
23
  }
20
24
  export function Links() {
21
25
  return (React.createElement(React.Fragment, null,
@@ -1 +1 @@
1
- {"version":3,"file":"vibe-page.js","sourceRoot":"","sources":["../../../jsr/intern/components/vibe-page.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAG5F,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,SAAS,CAAC,IAAqB;IAC7C,OAAO,gCAAQ,IAAI,EAAC,WAAW,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,GAAI,CAAC;AACnH,CAAC;AAUD,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,cAAc,EAAmB;IACjE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,SAAS;QACtC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CACL;QACG,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC5B,8BAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAC,WAAW,GAAG,CAC7E,CAAC;QACD,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACpC,8BAAM,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC,eAAe,EAAC,IAAI,EAAE,IAAI,GAAI,CACpD,CAAC,CACD,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,OAAO,CACL;QACE,8BAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,8BAA8B,GAAG;QAC7D,8BAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,2BAA2B,EAAC,WAAW,EAAC,WAAW,GAAG;QAClF,8BACE,GAAG,EAAC,YAAY,EAChB,IAAI,EAAC,gHAAgH,GACrH,CACD,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAE,SAAS,EAAmB;IACjD,OAAO,CACL;QACE,8BAAM,OAAO,EAAC,OAAO,GAAG;QACxB,8BAAM,IAAI,EAAC,UAAU,EAAC,OAAO,EAAC,qCAAqC,GAAG;QACtE,mCAAQ,SAAS,CAAC,KAAK,CAAS;QAChC,8BAAM,IAAI,EAAC,aAAa,EAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAI;QAE3D,8BAAM,QAAQ,EAAC,SAAS,EAAC,OAAO,EAAC,SAAS,GAAG;QAC7C,8BAAM,QAAQ,EAAC,UAAU,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,GAAI;QACtD,8BAAM,QAAQ,EAAC,gBAAgB,EAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAI;QACjE,SAAS,CAAC,YAAY,IAAI,8BAAM,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAE,SAAS,CAAC,YAAY,GAAI;QACrF,SAAS,CAAC,QAAQ,IAAI,8BAAM,QAAQ,EAAC,UAAU,EAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,GAAI;QAEhF,8BAAM,IAAI,EAAC,cAAc,EAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,GAAI;QAC7F,8BAAM,IAAI,EAAC,eAAe,EAAC,OAAO,EAAE,SAAS,CAAC,KAAK,GAAI;QACvD,8BAAM,IAAI,EAAC,qBAAqB,EAAC,OAAO,EAAE,SAAS,CAAC,WAAW,GAAI;QAClE,SAAS,CAAC,QAAQ,IAAI,8BAAM,IAAI,EAAC,eAAe,EAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,GAAI,CAChF,CACJ,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAsB;IACvC,OAAO,gCAAQ,IAAI,EAAC,QAAQ,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,GAAI,CAAC;AACtF,CAAC;AAWD,SAAS,qBAAqB,CAAC,EAAE,gBAAgB,EAAmB;IAClE,IAAI,CAAC,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,wDAAwD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACjI,OAAO,gCAAQ,uBAAuB,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAI,CAAC;AAC7D,CAAC;AAED,SAAS,WAAW,CAAC,KAAsB,EAAE,IAAY;IACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;AAC/F,CAAC;AAQD,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAmB;IACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,6BAAK,SAAS,EAAC,oBAAoB,GAAG,CAAC;IAChD,CAAC;IACD,OAAO,6BAAK,SAAS,EAAC,oBAAoB,yBAAe,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAsB;IAE7C,OAAO,CACL,8BAAM,IAAI,EAAC,IAAI;QACb;YACE,oBAAC,qBAAqB,OAAK,KAAK,GAAI;YACpC,oBAAC,SAAS,OAAK,KAAK,GAAI;YACxB,oBAAC,WAAW,OAAK,KAAK,GAAI;YAC1B,oBAAC,IAAI,OAAK,KAAK,GAAI;YACnB,oBAAC,KAAK,OAAG;YACT,8BAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,4BAA4B,CAAC,GAAI;YAMhF,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,+BAAO,EAAE,EAAC,iBAAiB,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,GAAI;YAQzH,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CACrC,+BAAO,EAAE,EAAC,cAAc,EAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,cAAc,EAAE,GAAI,CACvF;YACA,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,CACrC,+BAAO,EAAE,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,EAAE,GAAI,CACxG;YACD,gCAAQ,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAC,uCAAuC,GAAG,CAC/D;QACP,8BAAM,SAAS,EAAC,kBAAkB;YAChC,oBAAC,gBAAgB,OAAK,KAAK,GAAI;YAC/B,oBAAC,SAAS,OAAK,KAAK,GAAI,CAEnB,CACF,CACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"vibe-page.js","sourceRoot":"","sources":["../../../jsr/intern/components/vibe-page.tsx"],"names":[],"mappings":"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"}
@@ -12,4 +12,8 @@ export declare function runDeleteAccessGate(vctx: VibesApiSQLCtx, input: {
12
12
  readonly docId: string;
13
13
  readonly userId: string;
14
14
  readonly adminMode: boolean;
15
+ readonly userContext?: {
16
+ userHandle: string;
17
+ isOwner: boolean;
18
+ } | null;
15
19
  }): Promise<DeleteAccessGateResult>;
@@ -1,8 +1,11 @@
1
+ import { and, desc, eq } from "drizzle-orm";
1
2
  import { isDirectChannel } from "@vibes.diy/api-types";
2
3
  import { extractExportSource } from "../public/access-function.js";
3
4
  import { checkDocAccess } from "../public/access-helpers.js";
4
5
  import { aclAllows, resolveDbAcl } from "../public/db-acl-resolver.js";
5
6
  import { resolveAccessBinding, resolveAccessFnSource, resolveDmParticipantHandle } from "../public/access-binding-resolver.js";
7
+ import { resolveActiveHandle } from "../public/resolve-active-handle.js";
8
+ import { runPutAccessGate } from "./put-access-gate.js";
6
9
  export async function runDeleteAccessGate(vctx, input) {
7
10
  if (isDirectChannel(input.ownerHandle)) {
8
11
  const afbRow = await resolveAccessBinding(vctx, input.ownerHandle, input.appSlug, input.dbName);
@@ -21,13 +24,51 @@ export async function runDeleteAccessGate(vctx, input) {
21
24
  if ("forbidden" in gate) {
22
25
  return { kind: "deny", message: "Access denied" };
23
26
  }
27
+ return { kind: "allow" };
28
+ }
29
+ const { access } = await checkDocAccess(vctx, input.userId, input.appSlug, input.ownerHandle, input.adminMode);
30
+ const rAcl = await resolveDbAcl(vctx, input.ownerHandle, input.appSlug, input.dbName);
31
+ if (rAcl.isErr() || !aclAllows(rAcl.Ok(), "write", access)) {
32
+ return { kind: "deny", message: "Access denied" };
33
+ }
34
+ const afbRow = await resolveAccessBinding(vctx, input.ownerHandle, input.appSlug, input.dbName);
35
+ if (!afbRow?.accessFnCid) {
36
+ return { kind: "allow" };
37
+ }
38
+ if (!vctx.invokeAccessFn) {
39
+ return { kind: "deny", message: "Access function unavailable" };
40
+ }
41
+ let userContext;
42
+ if (input.userContext !== undefined) {
43
+ userContext = input.userContext;
24
44
  }
25
45
  else {
26
- const { access } = await checkDocAccess(vctx, input.userId, input.appSlug, input.ownerHandle, input.adminMode);
27
- const rAcl = await resolveDbAcl(vctx, input.ownerHandle, input.appSlug, input.dbName);
28
- if (rAcl.isErr() || !aclAllows(rAcl.Ok(), "delete", access)) {
29
- return { kind: "deny", message: "Access denied" };
30
- }
46
+ const writerHandle = await resolveActiveHandle(vctx, input.userId);
47
+ userContext = writerHandle ? { userHandle: writerHandle, isOwner: writerHandle === input.ownerHandle } : null;
48
+ }
49
+ const tDocs = vctx.sql.tables.appDocuments;
50
+ const headRow = await vctx.sql.db
51
+ .select({ data: tDocs.data })
52
+ .from(tDocs)
53
+ .where(and(eq(tDocs.ownerHandle, input.ownerHandle), eq(tDocs.appSlug, input.appSlug), eq(tDocs.dbName, input.dbName), eq(tDocs.docId, input.docId)))
54
+ .orderBy(desc(tDocs.seq))
55
+ .limit(1)
56
+ .then((r) => r[0]);
57
+ const gate = await runPutAccessGate(vctx, {
58
+ ownerHandle: input.ownerHandle,
59
+ appSlug: input.appSlug,
60
+ dbName: input.dbName,
61
+ fnCid: afbRow.accessFnCid,
62
+ accessFnAssetUri: afbRow.accessFnAssetUri,
63
+ accessFnDbName: afbRow.dbName,
64
+ docId: input.docId,
65
+ doc: { _deleted: true },
66
+ oldDoc: headRow?.data ?? null,
67
+ userContext,
68
+ adminMode: access === "override",
69
+ });
70
+ if (gate.kind === "deny") {
71
+ return { kind: "deny", message: gate.message };
31
72
  }
32
73
  return { kind: "allow" };
33
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delete-access-gate.js","sourceRoot":"","sources":["../../jsr/intern/delete-access-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAqB/H,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAoB,EACpB,KAOC;IAED,IAAI,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrH,MAAM,IAAI,GACR,MAAM,IAAI,IAAI,CAAC,cAAc;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC;gBACxB,GAAG,EAAE,MAAM,CAAC,WAAW;gBACvB,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE;gBACzB,MAAM,EAAE,IAAI;gBACZ,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;gBACxE,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvG,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;YACJ,CAAC,CAAC,EAAE,SAAS,EAAE,6BAA6B,EAAE,CAAC;QACnD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/G,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"delete-access-gate.js","sourceRoot":"","sources":["../../jsr/intern/delete-access-gate.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export interface PlatformEgressEntry {
3
3
  readonly path?: string;
4
4
  readonly pathPrefix?: string;
5
5
  readonly methods?: readonly string[];
6
+ readonly search?: string;
6
7
  }
7
8
  export declare const PLATFORM_EGRESS_LIST: readonly PlatformEgressEntry[];
8
9
  export declare function hostMatchesAllowEntry(host: string, pattern: string): boolean;
@@ -2,6 +2,8 @@ export const PLATFORM_EGRESS_LIST = [
2
2
  { host: "api.github.com" },
3
3
  { host: "api.linkedin.com", path: "/rest/posts", methods: ["POST"] },
4
4
  { host: "api.linkedin.com", path: "/v2/userinfo", methods: ["GET"] },
5
+ { host: "api.linkedin.com", path: "/rest/images", search: "?action=initializeUpload", methods: ["POST"] },
6
+ { host: "www.linkedin.com", pathPrefix: "/dms-uploads/", methods: ["PUT"] },
5
7
  ];
6
8
  export function hostMatchesAllowEntry(host, pattern) {
7
9
  const h = host.toLowerCase();
@@ -23,6 +25,8 @@ export function matchesPlatformList(url, method, list = PLATFORM_EGRESS_LIST) {
23
25
  continue;
24
26
  if (entry.pathPrefix !== undefined && !url.pathname.startsWith(entry.pathPrefix))
25
27
  continue;
28
+ if (entry.search !== undefined && url.search !== entry.search)
29
+ continue;
26
30
  if (entry.methods !== undefined && !entry.methods.includes(method.toUpperCase()))
27
31
  continue;
28
32
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"egress-platform-list.js","sourceRoot":"","sources":["../../jsr/intern/egress-platform-list.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAElE,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAS1B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;IACpE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;CACrE,CAAC;AASF,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAe;IACjE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,mBAAmB,CACjC,GAAQ,EACR,MAAc,EACd,IAAI,GAAmC,oBAAoB;IAE3D,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI;YAAE,SAAS;QACtE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,SAAS;QAC3F,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"egress-platform-list.js","sourceRoot":"","sources":["../../jsr/intern/egress-platform-list.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,oBAAoB,GAAmC;IAElE,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAQ1B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;IACpE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;IAiBpE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;IACzG,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE;CAC5E,CAAC;AASF,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAe;IACjE,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAQD,MAAM,UAAU,mBAAmB,CACjC,GAAQ,EACR,MAAc,EACd,IAAI,GAAmC,oBAAoB;IAE3D,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI;YAAE,SAAS;QACtE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;YAAE,SAAS;QAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAAE,SAAS;QACxE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAAE,SAAS;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { EmitNotificationInput, NotificationType } from "@vibes.diy/api-types";
2
+ import type { cfDrizzle, VibesApiTables } from "@vibes.diy/api-sql";
3
+ import type { SuperThis } from "@vibes.diy/identity";
4
+ export interface EmitNotificationCtx {
5
+ readonly sthis: SuperThis;
6
+ readonly sql: {
7
+ db: ReturnType<typeof cfDrizzle>["db"];
8
+ tables: VibesApiTables;
9
+ };
10
+ notifyUser?: (userId: string, evt: {
11
+ type: "vibes.diy.evt-user-notification";
12
+ notificationType: NotificationType;
13
+ ownerHandle: string;
14
+ appSlug: string | null;
15
+ counterpartHandle?: string;
16
+ }, senderConnId: string) => Promise<void>;
17
+ }
18
+ export declare function emitNotification(qctx: EmitNotificationCtx, input: EmitNotificationInput): Promise<{
19
+ inserted: boolean;
20
+ id: string;
21
+ }>;
@@ -0,0 +1,43 @@
1
+ import { and, eq } from "drizzle-orm/sql/expressions";
2
+ export async function emitNotification(qctx, input) {
3
+ const t = qctx.sql.tables.notifications;
4
+ const id = qctx.sthis.nextId().str;
5
+ const created = new Date().toISOString();
6
+ const returned = await qctx.sql.db
7
+ .insert(t)
8
+ .values({
9
+ id,
10
+ userId: input.userId,
11
+ notificationType: input.notificationType,
12
+ ownerHandle: input.ownerHandle,
13
+ appSlug: input.appSlug,
14
+ body: input.body,
15
+ actorHandle: input.actorHandle ?? null,
16
+ actorUserId: input.actorUserId ?? null,
17
+ targetRef: input.targetRef ?? null,
18
+ dedupeKey: input.dedupeKey,
19
+ created,
20
+ readAt: null,
21
+ })
22
+ .onConflictDoNothing({ target: [t.userId, t.dedupeKey] })
23
+ .returning({ id: t.id });
24
+ const inserted = returned.length > 0;
25
+ if (!inserted) {
26
+ const existing = await qctx.sql.db
27
+ .select({ id: t.id })
28
+ .from(t)
29
+ .where(and(eq(t.userId, input.userId), eq(t.dedupeKey, input.dedupeKey)))
30
+ .limit(1)
31
+ .then((r) => r[0]);
32
+ return { inserted: false, id: existing?.id ?? id };
33
+ }
34
+ await qctx.notifyUser?.(input.userId, {
35
+ type: "vibes.diy.evt-user-notification",
36
+ notificationType: input.notificationType,
37
+ ownerHandle: input.ownerHandle,
38
+ appSlug: input.appSlug,
39
+ ...(input.appSlug === null ? { counterpartHandle: input.ownerHandle } : {}),
40
+ }, "");
41
+ return { inserted: true, id };
42
+ }
43
+ //# sourceMappingURL=emit-notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-notification.js","sourceRoot":"","sources":["../../jsr/intern/emit-notification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AAgDtD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAyB,EACzB,KAA4B;IAE5B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;IACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;SAC/B,MAAM,CAAC,CAAC,CAAC;SACT,MAAM,CAAC;QACN,EAAE;QACF,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;QACtC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO;QACP,MAAM,EAAE,IAAI;KACb,CAAC;SACD,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;SACxD,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAGd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC/B,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;aACpB,IAAI,CAAC,CAAC,CAAC;aACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;aACxE,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;IACrD,CAAC;IAUD,MAAM,IAAI,CAAC,UAAU,EAAE,CACrB,KAAK,CAAC,MAAM,EACZ;QACE,IAAI,EAAE,iCAAiC;QACvC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5E,EACD,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AAChC,CAAC"}
@@ -32,6 +32,7 @@ export async function ensureAppMetadata(ctx, args) {
32
32
  const skills = pre.skills;
33
33
  const iconDescription = pre.iconDescription;
34
34
  const enrichedPrompt = pre.enrichedPrompt;
35
+ const privacySensitive = pre.privacySensitive;
35
36
  const newEntries = [];
36
37
  if (title)
37
38
  newEntries.push({ type: "active.title", title });
@@ -41,6 +42,9 @@ export async function ensureAppMetadata(ctx, args) {
41
42
  newEntries.push({ type: "active.icon-description", description: iconDescription });
42
43
  if (enrichedPrompt)
43
44
  newEntries.push({ type: "active.enriched-prompt", enrichedPrompt });
45
+ if (privacySensitive === true) {
46
+ newEntries.push({ type: "active.privacy-sensitive", sensitive: true });
47
+ }
44
48
  if (newEntries.length === 0) {
45
49
  return Result.Ok({ generated: false });
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-app-metadata.js","sourceRoot":"","sources":["../../jsr/intern/ensure-app-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-app-metadata.js","sourceRoot":"","sources":["../../jsr/intern/ensure-app-metadata.ts"],"names":[],"mappings":"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"}
@@ -134,6 +134,7 @@ export async function ensureChatId(ctx, req) {
134
134
  let preAllocIconDescription;
135
135
  let preAllocTheme;
136
136
  let preAllocEnrichedPrompt;
137
+ let preAllocPrivacySensitive;
137
138
  if (preAllocEligible(req)) {
138
139
  const rPre = await preAllocate(ctx, { prompt: req.prompt });
139
140
  if (rPre.isOk()) {
@@ -142,6 +143,7 @@ export async function ensureChatId(ctx, req) {
142
143
  preAllocIconDescription = rPre.Ok().iconDescription;
143
144
  preAllocTheme = rPre.Ok().theme;
144
145
  preAllocEnrichedPrompt = rPre.Ok().enrichedPrompt;
146
+ preAllocPrivacySensitive = rPre.Ok().privacySensitive;
145
147
  }
146
148
  else {
147
149
  console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
@@ -161,7 +163,12 @@ export async function ensureChatId(ctx, req) {
161
163
  ownerHandle,
162
164
  created: new Date().toISOString(),
163
165
  });
164
- if (chosenTitle || preAllocSkills || preAllocIconDescription || preAllocTheme || preAllocEnrichedPrompt) {
166
+ if (chosenTitle !== undefined ||
167
+ (preAllocSkills !== undefined && preAllocSkills.length > 0) ||
168
+ preAllocIconDescription !== undefined ||
169
+ preAllocTheme !== undefined ||
170
+ preAllocEnrichedPrompt !== undefined ||
171
+ preAllocPrivacySensitive === true) {
165
172
  await writePreAllocActiveEntries(ctx, {
166
173
  userId,
167
174
  ownerHandle,
@@ -171,13 +178,14 @@ export async function ensureChatId(ctx, req) {
171
178
  iconDescription: preAllocIconDescription,
172
179
  theme: preAllocTheme,
173
180
  enrichedPrompt: preAllocEnrichedPrompt,
181
+ privacySensitive: preAllocPrivacySensitive,
174
182
  });
175
183
  }
176
184
  }
177
185
  }
178
186
  return Result.Ok({ appSlug, ownerHandle, chatId, chatCreated });
179
187
  }
180
- async function writePreAllocActiveEntries(ctx, { userId, ownerHandle, appSlug, title, skills, iconDescription, theme, enrichedPrompt, }) {
188
+ async function writePreAllocActiveEntries(ctx, { userId, ownerHandle, appSlug, title, skills, iconDescription, theme, enrichedPrompt, privacySensitive, }) {
181
189
  const now = new Date().toISOString();
182
190
  const entries = [];
183
191
  if (title) {
@@ -195,6 +203,9 @@ async function writePreAllocActiveEntries(ctx, { userId, ownerHandle, appSlug, t
195
203
  if (enrichedPrompt) {
196
204
  entries.push({ type: "active.enriched-prompt", enrichedPrompt });
197
205
  }
206
+ if (privacySensitive === true) {
207
+ entries.push({ type: "active.privacy-sensitive", sensitive: true });
208
+ }
198
209
  if (entries.length === 0)
199
210
  return;
200
211
  const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,19 @@ import { sql } from "drizzle-orm/sql";
5
5
  import { isUserSettingDefaultHandle, userSettingItem, parseArrayWarning, } from "@vibes.diy/api-types";
6
6
  import { ensureLogger } from "@vibes.diy/identity";
7
7
  import { toRFC2822_32ByteLength } from "@vibes.diy/vibe-types";
8
+ import { matchInvitesToNewHandle } from "../public/social-invite-signup-match.js";
9
+ async function runSignupInviteMatch(ctx, input) {
10
+ const r = await exception2Result(async () => {
11
+ if (input.claims.params.email_verified !== true)
12
+ return;
13
+ const email = input.claims.params.email;
14
+ if (email.length === 0)
15
+ return;
16
+ await matchInvitesToNewHandle(ctx, { userId: input.userId, ownerHandle: input.ownerHandle, email });
17
+ });
18
+ if (r.isErr())
19
+ console.error("[social-invite] signup contact-match failed (isolated):", r.Err());
20
+ }
8
21
  export async function writeHandleBinding(ctx, userId, ownerHandle) {
9
22
  return exception2Result(async () => {
10
23
  const existing = await ctx.sql.db
@@ -109,8 +122,10 @@ export async function ensureUserSlug(ctx, claims, binding) {
109
122
  continue;
110
123
  }
111
124
  const rWrite = await writeHandleBinding(ctx, binding.userId, sanitizedUserSlug);
112
- if (rWrite.isOk())
125
+ if (rWrite.isOk()) {
126
+ await runSignupInviteMatch(ctx, { claims, userId: binding.userId, ownerHandle: sanitizedUserSlug });
113
127
  return rWrite;
128
+ }
114
129
  }
115
130
  return Result.Err("could not generate unique ownerHandle after attempts");
116
131
  }
@@ -122,7 +137,10 @@ export async function ensureUserSlug(ctx, claims, binding) {
122
137
  .limit(1)
123
138
  .then((r) => r[0]);
124
139
  if (!existing) {
125
- return writeHandleBinding(ctx, binding.userId, sanitizedUserSlug);
140
+ const rWrite = await writeHandleBinding(ctx, binding.userId, sanitizedUserSlug);
141
+ if (rWrite.isOk())
142
+ await runSignupInviteMatch(ctx, { claims, userId: binding.userId, ownerHandle: sanitizedUserSlug });
143
+ return rWrite;
126
144
  }
127
145
  return Result.Ok({
128
146
  type: "vibes.diy-user-slug-binding",