@vibes.diy/api-svc 2.4.5 → 2.4.7

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 (138) hide show
  1. package/asset-grant.js +2 -2
  2. package/asset-grant.js.map +1 -1
  3. package/cf-serve.js +2 -2
  4. package/cf-serve.js.map +1 -1
  5. package/create-handler.d.ts +1 -1
  6. package/create-handler.js.map +1 -1
  7. package/intern/append-turn-to-chat.d.ts +1 -1
  8. package/intern/append-turn-to-chat.js +4 -4
  9. package/intern/append-turn-to-chat.js.map +1 -1
  10. package/intern/bump-app-recency.d.ts +1 -1
  11. package/intern/bump-app-recency.js +1 -1
  12. package/intern/bump-app-recency.js.map +1 -1
  13. package/intern/ensure-app-metadata.d.ts +1 -1
  14. package/intern/ensure-app-metadata.js +6 -6
  15. package/intern/ensure-app-metadata.js.map +1 -1
  16. package/intern/ensure-application-chat-id.d.ts +1 -1
  17. package/intern/ensure-application-chat-id.js +9 -9
  18. package/intern/ensure-application-chat-id.js.map +1 -1
  19. package/intern/ensure-chat-id.d.ts +1 -1
  20. package/intern/ensure-chat-id.js +21 -21
  21. package/intern/ensure-chat-id.js.map +1 -1
  22. package/intern/ensure-push-seeded-chat.d.ts +1 -1
  23. package/intern/ensure-push-seeded-chat.js +4 -4
  24. package/intern/ensure-push-seeded-chat.js.map +1 -1
  25. package/intern/ensure-slug-binding.d.ts +7 -7
  26. package/intern/ensure-slug-binding.js +53 -53
  27. package/intern/ensure-slug-binding.js.map +1 -1
  28. package/intern/get-model-defaults.d.ts +2 -2
  29. package/intern/get-model-defaults.js +6 -6
  30. package/intern/get-model-defaults.js.map +1 -1
  31. package/intern/get-slug-binding.d.ts +3 -3
  32. package/intern/get-slug-binding.js +6 -6
  33. package/intern/get-slug-binding.js.map +1 -1
  34. package/intern/get-vibe-route-hints.d.ts +1 -1
  35. package/intern/get-vibe-route-hints.js +5 -5
  36. package/intern/get-vibe-route-hints.js.map +1 -1
  37. package/intern/render-db-explorer.d.ts +1 -1
  38. package/intern/render-vibe.d.ts +2 -2
  39. package/intern/render-vibe.js +5 -5
  40. package/intern/render-vibe.js.map +1 -1
  41. package/intern/write-apps.d.ts +2 -2
  42. package/intern/write-apps.js +7 -7
  43. package/intern/write-apps.js.map +1 -1
  44. package/package.json +11 -11
  45. package/public/access-function.d.ts +8 -0
  46. package/public/access-function.js +28 -0
  47. package/public/access-function.js.map +1 -0
  48. package/public/access-helpers.d.ts +2 -2
  49. package/public/access-helpers.js +9 -9
  50. package/public/access-helpers.js.map +1 -1
  51. package/public/app-documents.js +71 -71
  52. package/public/app-documents.js.map +1 -1
  53. package/public/asset-upload-grant.js +2 -2
  54. package/public/asset-upload-grant.js.map +1 -1
  55. package/public/convert-image-evt.d.ts +1 -1
  56. package/public/convert-image-evt.js +3 -3
  57. package/public/convert-image-evt.js.map +1 -1
  58. package/public/db-acl-resolver.d.ts +1 -1
  59. package/public/db-acl-resolver.js +6 -6
  60. package/public/db-acl-resolver.js.map +1 -1
  61. package/public/ensure-app-settings.js +17 -17
  62. package/public/ensure-app-settings.js.map +1 -1
  63. package/public/ensure-app-slug-item.js +8 -8
  64. package/public/ensure-app-slug-item.js.map +1 -1
  65. package/public/files-asset.d.ts +1 -1
  66. package/public/files-asset.js +8 -8
  67. package/public/files-asset.js.map +1 -1
  68. package/public/files-url-mint.d.ts +1 -1
  69. package/public/files-url-mint.js +2 -2
  70. package/public/files-url-mint.js.map +1 -1
  71. package/public/fork-app.js +21 -21
  72. package/public/fork-app.js.map +1 -1
  73. package/public/get-app-by-fsid.js +17 -17
  74. package/public/get-app-by-fsid.js.map +1 -1
  75. package/public/get-chat-details.js +5 -5
  76. package/public/get-chat-details.js.map +1 -1
  77. package/public/get-fp-cloud-token.js +5 -5
  78. package/public/get-fp-cloud-token.js.map +1 -1
  79. package/public/get-user-avatar.d.ts +2 -2
  80. package/public/get-user-avatar.js +8 -8
  81. package/public/get-user-avatar.js.map +1 -1
  82. package/public/invite-flow.d.ts +1 -1
  83. package/public/invite-flow.js +23 -18
  84. package/public/invite-flow.js.map +1 -1
  85. package/public/list-application-chats.js +3 -3
  86. package/public/list-application-chats.js.map +1 -1
  87. package/public/list-members.js +7 -7
  88. package/public/list-members.js.map +1 -1
  89. package/public/list-memberships.js +14 -14
  90. package/public/list-memberships.js.map +1 -1
  91. package/public/list-recent-vibes.js +9 -9
  92. package/public/list-recent-vibes.js.map +1 -1
  93. package/public/list-user-slug-app-slug.js +15 -15
  94. package/public/list-user-slug-app-slug.js.map +1 -1
  95. package/public/open-chat.js +2 -2
  96. package/public/open-chat.js.map +1 -1
  97. package/public/pin-recent-vibe.js +7 -7
  98. package/public/pin-recent-vibe.js.map +1 -1
  99. package/public/prompt-chat-section.d.ts +1 -1
  100. package/public/prompt-chat-section.js +14 -14
  101. package/public/prompt-chat-section.js.map +1 -1
  102. package/public/put-asset.js +1 -1
  103. package/public/put-asset.js.map +1 -1
  104. package/public/report-active-members.js +5 -5
  105. package/public/report-active-members.js.map +1 -1
  106. package/public/report-campaign-health.d.ts +5 -1
  107. package/public/report-campaign-health.js +46 -7
  108. package/public/report-campaign-health.js.map +1 -1
  109. package/public/report-growth-memberships.js +7 -7
  110. package/public/report-growth-memberships.js.map +1 -1
  111. package/public/report-top-vibes-by-members.js +4 -4
  112. package/public/report-top-vibes-by-members.js.map +1 -1
  113. package/public/request-flow.d.ts +3 -3
  114. package/public/request-flow.js +44 -44
  115. package/public/request-flow.js.map +1 -1
  116. package/public/serv-entry-point.js +4 -4
  117. package/public/serv-entry-point.js.map +1 -1
  118. package/public/set-mode-fsid.js +5 -5
  119. package/public/set-mode-fsid.js.map +1 -1
  120. package/public/store-and-audit-asset.d.ts +1 -1
  121. package/public/store-and-audit-asset.js +1 -1
  122. package/public/store-and-audit-asset.js.map +1 -1
  123. package/public/user-slug-bindings.d.ts +4 -4
  124. package/public/user-slug-bindings.js +42 -36
  125. package/public/user-slug-bindings.js.map +1 -1
  126. package/public/who-am-i.js +10 -10
  127. package/public/who-am-i.js.map +1 -1
  128. package/types.d.ts +10 -10
  129. package/types.js +8 -8
  130. package/types.js.map +1 -1
  131. package/usage-report/admin-db.js +1 -1
  132. package/usage-report/inspect-db-report-template.d.ts +1 -1
  133. package/usage-report/inspect-db-report-template.js +4 -4
  134. package/usage-report/inspect-db-report-template.js.map +1 -1
  135. package/usage-report/inspect-db-report.js +15 -15
  136. package/usage-report/inspect-db-report.js.map +1 -1
  137. package/vibes-msg-evento.js +2 -2
  138. package/vibes-msg-evento.js.map +1 -1
@@ -8,17 +8,17 @@ import { type } from "arktype";
8
8
  import { checkDocAccess, canRead, isPublicReadable } from "./access-helpers.js";
9
9
  import { aclAllows, resolveDbAcl, checkDirectChannelAccess } from "./db-acl-resolver.js";
10
10
  import { mintFilesUrls, isFileMeta } from "./files-url-mint.js";
11
- async function readAllowed(vctx, acl, access, appSlug, userSlug) {
11
+ async function readAllowed(vctx, acl, access, appSlug, ownerHandle) {
12
12
  if (acl?.read !== undefined)
13
13
  return aclAllows(acl, "read", access);
14
14
  if (canRead(access))
15
15
  return true;
16
- return isPublicReadable(vctx, appSlug, userSlug);
16
+ return isPublicReadable(vctx, appSlug, ownerHandle);
17
17
  }
18
18
  function clientWsSend(ctx) {
19
19
  return ctx.send.provider;
20
20
  }
21
- async function validateFilesUploads(vctx, doc, userSlug, appSlug) {
21
+ async function validateFilesUploads(vctx, doc, ownerHandle, appSlug) {
22
22
  const files = doc?._files;
23
23
  if (!files || typeof files !== "object")
24
24
  return { ok: true };
@@ -31,7 +31,7 @@ async function validateFilesUploads(vctx, doc, userSlug, appSlug) {
31
31
  return { ok: true };
32
32
  const t = vctx.sql.tables.assetUploads;
33
33
  const rows = await vctx.sql.db
34
- .select({ uploadId: t.uploadId, userSlug: t.userSlug, appSlug: t.appSlug })
34
+ .select({ uploadId: t.uploadId, ownerHandle: t.ownerHandle, appSlug: t.appSlug })
35
35
  .from(t)
36
36
  .where(inArray(t.uploadId, uploadIds));
37
37
  const found = new Map(rows.map((r) => [r.uploadId, r]));
@@ -39,7 +39,7 @@ async function validateFilesUploads(vctx, doc, userSlug, appSlug) {
39
39
  const row = found.get(id);
40
40
  if (!row)
41
41
  return { ok: false, reason: `unknown uploadId: ${id}` };
42
- if (row.userSlug !== userSlug || row.appSlug !== appSlug) {
42
+ if (row.ownerHandle !== ownerHandle || row.appSlug !== appSlug) {
43
43
  return { ok: false, reason: `uploadId ${id} not minted for this app` };
44
44
  }
45
45
  }
@@ -58,16 +58,16 @@ export const putDocEvento = {
58
58
  const req = ctx.validated.payload;
59
59
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
60
60
  const userId = req._auth.verifiedAuth.claims.userId;
61
- if (isDirectChannel(req.userSlug)) {
62
- const rAccess = await checkDirectChannelAccess(vctx, req.userSlug, userId);
61
+ if (isDirectChannel(req.ownerHandle)) {
62
+ const rAccess = await checkDirectChannelAccess(vctx, req.ownerHandle, userId);
63
63
  if (rAccess.isErr() || !rAccess.Ok()) {
64
64
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
65
65
  return Result.Ok(EventoResult.Continue);
66
66
  }
67
67
  }
68
68
  else {
69
- const access = await checkDocAccess(vctx, userId, req.appSlug, req.userSlug);
70
- const rAcl = await resolveDbAcl(vctx, req.userSlug, req.appSlug, req.dbName);
69
+ const access = await checkDocAccess(vctx, userId, req.appSlug, req.ownerHandle);
70
+ const rAcl = await resolveDbAcl(vctx, req.ownerHandle, req.appSlug, req.dbName);
71
71
  if (rAcl.isErr()) {
72
72
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
73
73
  return Result.Ok(EventoResult.Continue);
@@ -78,7 +78,7 @@ export const putDocEvento = {
78
78
  return Result.Ok(EventoResult.Continue);
79
79
  }
80
80
  }
81
- const filesCheck = await validateFilesUploads(vctx, req.doc, req.userSlug, req.appSlug);
81
+ const filesCheck = await validateFilesUploads(vctx, req.doc, req.ownerHandle, req.appSlug);
82
82
  if (!filesCheck.ok) {
83
83
  await ctx.send.send(ctx, {
84
84
  type: "vibes.diy.res-error",
@@ -93,11 +93,11 @@ export const putDocEvento = {
93
93
  const maxSeqResult = await vctx.sql.db
94
94
  .select({ maxSeq: max(t.seq) })
95
95
  .from(t)
96
- .where(and(eq(t.userSlug, req.userSlug), eq(t.appSlug, req.appSlug), eq(t.dbName, dbName), eq(t.docId, docId)))
96
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug), eq(t.dbName, dbName), eq(t.docId, docId)))
97
97
  .then((r) => r[0]);
98
98
  const nextSeq = (maxSeqResult?.maxSeq ?? 0) + 1;
99
99
  await vctx.sql.db.insert(t).values({
100
- userSlug: req.userSlug,
100
+ ownerHandle: req.ownerHandle,
101
101
  appSlug: req.appSlug,
102
102
  dbName,
103
103
  docId,
@@ -107,24 +107,24 @@ export const putDocEvento = {
107
107
  deleted: 0,
108
108
  created: now,
109
109
  });
110
- if (isDirectChannel(req.userSlug)) {
111
- const participants = directChannelParticipants(req.userSlug);
110
+ if (isDirectChannel(req.ownerHandle)) {
111
+ const participants = directChannelParticipants(req.ownerHandle);
112
112
  if (participants) {
113
113
  const t_idx = vctx.sql.tables.directChannelIndex;
114
114
  await vctx.sql.db
115
115
  .insert(t_idx)
116
116
  .values([
117
- { userSlug: participants[0], channelUserSlug: req.userSlug },
118
- { userSlug: participants[1], channelUserSlug: req.userSlug },
117
+ { handle: participants[0], channelHandle: req.ownerHandle },
118
+ { handle: participants[1], channelHandle: req.ownerHandle },
119
119
  ])
120
120
  .onConflictDoNothing();
121
- const t_usb = vctx.sql.tables.userSlugBinding;
121
+ const t_usb = vctx.sql.tables.handleBinding;
122
122
  const senderRow = await vctx.sql.db
123
- .select({ userSlug: t_usb.userSlug })
123
+ .select({ handle: t_usb.handle })
124
124
  .from(t_usb)
125
- .where(and(eq(t_usb.userId, userId), inArray(t_usb.userSlug, participants)))
125
+ .where(and(eq(t_usb.userId, userId), inArray(t_usb.handle, participants)))
126
126
  .then((r) => r[0]);
127
- const senderUserSlug = senderRow?.userSlug ?? "";
127
+ const senderUserSlug = senderRow?.handle ?? "";
128
128
  const recipientUserSlug = participants.find((h) => h !== senderUserSlug) ?? participants[1];
129
129
  await vctx.postQueue({
130
130
  payload: {
@@ -132,7 +132,7 @@ export const putDocEvento = {
132
132
  senderUserId: userId,
133
133
  senderUserSlug,
134
134
  recipientUserSlug,
135
- channelUserSlug: req.userSlug,
135
+ channelUserSlug: req.ownerHandle,
136
136
  docId,
137
137
  created: now,
138
138
  bodySnippet: typeof req.doc.body === "string"
@@ -148,9 +148,9 @@ export const putDocEvento = {
148
148
  const t_reads = vctx.sql.tables.directChannelReads;
149
149
  await vctx.sql.db
150
150
  .insert(t_reads)
151
- .values({ channelUserSlug: req.userSlug, userSlug: senderUserSlug, lastSeenSeq: nextSeq })
151
+ .values({ channelHandle: req.ownerHandle, handle: senderUserSlug, lastSeenSeq: nextSeq })
152
152
  .onConflictDoUpdate({
153
- target: [t_reads.channelUserSlug, t_reads.userSlug],
153
+ target: [t_reads.channelHandle, t_reads.handle],
154
154
  set: { lastSeenSeq: sql `MAX(${t_reads.lastSeenSeq}, ${nextSeq})` },
155
155
  });
156
156
  }
@@ -161,7 +161,7 @@ export const putDocEvento = {
161
161
  payload: {
162
162
  type: "vibes.diy.evt-comment-posted",
163
163
  userId,
164
- userSlug: req.userSlug,
164
+ ownerHandle: req.ownerHandle,
165
165
  appSlug: req.appSlug,
166
166
  docId,
167
167
  created: now,
@@ -175,7 +175,7 @@ export const putDocEvento = {
175
175
  }
176
176
  if (vctx.notifyDocChanged) {
177
177
  vctx
178
- .notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId }, clientWsSend(ctx).connId)
178
+ .notifyDocChanged({ ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName, docId }, clientWsSend(ctx).connId)
179
179
  .catch((e) => console.error("DocNotify error:", e));
180
180
  }
181
181
  await ctx.send.send(ctx, {
@@ -199,10 +199,10 @@ export const getDocEvento = {
199
199
  const req = ctx.validated.payload;
200
200
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
201
201
  const access = req._auth
202
- ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.userSlug)
202
+ ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.ownerHandle)
203
203
  : "none";
204
- const rAcl = await resolveDbAcl(vctx, req.userSlug, req.appSlug, req.dbName);
205
- if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.userSlug))) {
204
+ const rAcl = await resolveDbAcl(vctx, req.ownerHandle, req.appSlug, req.dbName);
205
+ if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.ownerHandle))) {
206
206
  await ctx.send.send(ctx, {
207
207
  type: "vibes.diy.res-error",
208
208
  error: { message: "Access denied" },
@@ -213,7 +213,7 @@ export const getDocEvento = {
213
213
  const row = await vctx.sql.db
214
214
  .select()
215
215
  .from(t)
216
- .where(and(eq(t.userSlug, req.userSlug), eq(t.appSlug, req.appSlug), eq(t.dbName, req.dbName), eq(t.docId, req.docId)))
216
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug), eq(t.dbName, req.dbName), eq(t.docId, req.docId)))
217
217
  .orderBy(sql `${t.seq} desc`)
218
218
  .limit(1)
219
219
  .then((r) => r[0]);
@@ -226,7 +226,7 @@ export const getDocEvento = {
226
226
  return Result.Ok(EventoResult.Continue);
227
227
  }
228
228
  const doc = mintFilesUrls(row.data, {
229
- userSlug: req.userSlug,
229
+ ownerHandle: req.ownerHandle,
230
230
  appSlug: req.appSlug,
231
231
  dbName: req.dbName,
232
232
  docId: row.docId,
@@ -285,9 +285,9 @@ export const queryDocsEvento = {
285
285
  handle: optAuth(async (ctx) => {
286
286
  const req = ctx.validated.payload;
287
287
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
288
- if (isDirectChannel(req.userSlug)) {
288
+ if (isDirectChannel(req.ownerHandle)) {
289
289
  const userId = req._auth?.verifiedAuth.claims.userId;
290
- const rAccess = userId ? await checkDirectChannelAccess(vctx, req.userSlug, userId) : Result.Ok(false);
290
+ const rAccess = userId ? await checkDirectChannelAccess(vctx, req.ownerHandle, userId) : Result.Ok(false);
291
291
  if (rAccess.isErr() || !rAccess.Ok()) {
292
292
  await ctx.send.send(ctx, {
293
293
  type: "vibes.diy.res-error",
@@ -298,10 +298,10 @@ export const queryDocsEvento = {
298
298
  }
299
299
  else {
300
300
  const access = req._auth
301
- ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.userSlug)
301
+ ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.ownerHandle)
302
302
  : "none";
303
- const rAcl = await resolveDbAcl(vctx, req.userSlug, req.appSlug, req.dbName);
304
- if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.userSlug))) {
303
+ const rAcl = await resolveDbAcl(vctx, req.ownerHandle, req.appSlug, req.dbName);
304
+ if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.ownerHandle))) {
305
305
  await ctx.send.send(ctx, {
306
306
  type: "vibes.diy.res-error",
307
307
  error: { message: "Access denied" },
@@ -313,7 +313,7 @@ export const queryDocsEvento = {
313
313
  const rows = await vctx.sql.db
314
314
  .select()
315
315
  .from(t)
316
- .where(and(eq(t.userSlug, req.userSlug), eq(t.appSlug, req.appSlug), eq(t.dbName, req.dbName)))
316
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug), eq(t.dbName, req.dbName)))
317
317
  .orderBy(sql `${t.docId}, ${t.seq}`);
318
318
  const latest = new Map();
319
319
  for (const row of rows) {
@@ -324,7 +324,7 @@ export const queryDocsEvento = {
324
324
  if (row.deleted === 1)
325
325
  continue;
326
326
  const doc = mintFilesUrls(row.data, {
327
- userSlug: req.userSlug,
327
+ ownerHandle: req.ownerHandle,
328
328
  appSlug: req.appSlug,
329
329
  dbName: req.dbName,
330
330
  docId: row.docId,
@@ -357,16 +357,16 @@ export const deleteDocEvento = {
357
357
  const req = ctx.validated.payload;
358
358
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
359
359
  const userId = req._auth.verifiedAuth.claims.userId;
360
- if (isDirectChannel(req.userSlug)) {
361
- const rAccess = await checkDirectChannelAccess(vctx, req.userSlug, userId);
360
+ if (isDirectChannel(req.ownerHandle)) {
361
+ const rAccess = await checkDirectChannelAccess(vctx, req.ownerHandle, userId);
362
362
  if (rAccess.isErr() || !rAccess.Ok()) {
363
363
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
364
364
  return Result.Ok(EventoResult.Continue);
365
365
  }
366
366
  }
367
367
  else {
368
- const access = await checkDocAccess(vctx, userId, req.appSlug, req.userSlug);
369
- const rAcl = await resolveDbAcl(vctx, req.userSlug, req.appSlug, req.dbName);
368
+ const access = await checkDocAccess(vctx, userId, req.appSlug, req.ownerHandle);
369
+ const rAcl = await resolveDbAcl(vctx, req.ownerHandle, req.appSlug, req.dbName);
370
370
  if (rAcl.isErr() || !aclAllows(rAcl.Ok(), "delete", access)) {
371
371
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
372
372
  return Result.Ok(EventoResult.Continue);
@@ -378,11 +378,11 @@ export const deleteDocEvento = {
378
378
  const maxSeqResult = await vctx.sql.db
379
379
  .select({ maxSeq: max(t.seq) })
380
380
  .from(t)
381
- .where(and(eq(t.userSlug, req.userSlug), eq(t.appSlug, req.appSlug), eq(t.dbName, dbName), eq(t.docId, req.docId)))
381
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug), eq(t.dbName, dbName), eq(t.docId, req.docId)))
382
382
  .then((r) => r[0]);
383
383
  const nextSeq = (maxSeqResult?.maxSeq ?? 0) + 1;
384
384
  await vctx.sql.db.insert(t).values({
385
- userSlug: req.userSlug,
385
+ ownerHandle: req.ownerHandle,
386
386
  appSlug: req.appSlug,
387
387
  dbName,
388
388
  docId: req.docId,
@@ -394,7 +394,7 @@ export const deleteDocEvento = {
394
394
  });
395
395
  if (vctx.notifyDocChanged) {
396
396
  vctx
397
- .notifyDocChanged({ userSlug: req.userSlug, appSlug: req.appSlug, dbName, docId: req.docId }, clientWsSend(ctx).connId)
397
+ .notifyDocChanged({ ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName, docId: req.docId }, clientWsSend(ctx).connId)
398
398
  .catch((e) => console.error("DocNotify error:", e));
399
399
  }
400
400
  await ctx.send.send(ctx, {
@@ -417,9 +417,9 @@ export const subscribeDocsEvento = {
417
417
  handle: optAuth(async (ctx) => {
418
418
  const req = ctx.validated.payload;
419
419
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
420
- if (isDirectChannel(req.userSlug)) {
420
+ if (isDirectChannel(req.ownerHandle)) {
421
421
  const userId = req._auth?.verifiedAuth.claims.userId;
422
- const rAccess = userId ? await checkDirectChannelAccess(vctx, req.userSlug, userId) : Result.Ok(false);
422
+ const rAccess = userId ? await checkDirectChannelAccess(vctx, req.ownerHandle, userId) : Result.Ok(false);
423
423
  if (rAccess.isErr() || !rAccess.Ok()) {
424
424
  await ctx.send.send(ctx, {
425
425
  type: "vibes.diy.res-error",
@@ -430,10 +430,10 @@ export const subscribeDocsEvento = {
430
430
  }
431
431
  else {
432
432
  const access = req._auth
433
- ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.userSlug)
433
+ ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.ownerHandle)
434
434
  : "none";
435
- const rAcl = await resolveDbAcl(vctx, req.userSlug, req.appSlug, req.dbName);
436
- if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.userSlug))) {
435
+ const rAcl = await resolveDbAcl(vctx, req.ownerHandle, req.appSlug, req.dbName);
436
+ if (rAcl.isErr() || !(await readAllowed(vctx, rAcl.Ok(), access, req.appSlug, req.ownerHandle))) {
437
437
  await ctx.send.send(ctx, {
438
438
  type: "vibes.diy.res-error",
439
439
  error: { message: "Access denied" },
@@ -442,7 +442,7 @@ export const subscribeDocsEvento = {
442
442
  }
443
443
  }
444
444
  const wsSend = clientWsSend(ctx);
445
- const subscriptionKey = `${req.userSlug}/${req.appSlug}/${req.dbName}`;
445
+ const subscriptionKey = `${req.ownerHandle}/${req.appSlug}/${req.dbName}`;
446
446
  wsSend.subscribedDocKeys.add(subscriptionKey);
447
447
  if (vctx.registerDocSubscription) {
448
448
  vctx.registerDocSubscription(subscriptionKey).catch((e) => console.error("DocNotify error:", e));
@@ -467,7 +467,7 @@ export const listDbNamesEvento = {
467
467
  const req = ctx.validated.payload;
468
468
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
469
469
  const userId = req._auth.verifiedAuth.claims.userId;
470
- const access = await checkDocAccess(vctx, userId, req.appSlug, req.userSlug);
470
+ const access = await checkDocAccess(vctx, userId, req.appSlug, req.ownerHandle);
471
471
  if (access !== "owner") {
472
472
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
473
473
  return Result.Ok(EventoResult.Continue);
@@ -476,7 +476,7 @@ export const listDbNamesEvento = {
476
476
  const rows = await vctx.sql.db
477
477
  .selectDistinct({ dbName: t.dbName })
478
478
  .from(t)
479
- .where(and(eq(t.userSlug, req.userSlug), eq(t.appSlug, req.appSlug)));
479
+ .where(and(eq(t.ownerHandle, req.ownerHandle), eq(t.appSlug, req.appSlug)));
480
480
  await ctx.send.send(ctx, {
481
481
  type: "vibes.diy.res-list-db-names",
482
482
  status: "ok",
@@ -497,39 +497,39 @@ export const listDmThreadsEvento = {
497
497
  const req = ctx.validated.payload;
498
498
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
499
499
  const userId = req._auth.verifiedAuth.claims.userId;
500
- const t_usb = vctx.sql.tables.userSlugBinding;
501
- const mySlugRows = await vctx.sql.db.select({ userSlug: t_usb.userSlug }).from(t_usb).where(eq(t_usb.userId, userId));
502
- const myUserSlugs = mySlugRows.map((r) => r.userSlug);
500
+ const t_usb = vctx.sql.tables.handleBinding;
501
+ const mySlugRows = await vctx.sql.db.select({ handle: t_usb.handle }).from(t_usb).where(eq(t_usb.userId, userId));
502
+ const myUserSlugs = mySlugRows.map((r) => r.handle);
503
503
  if (myUserSlugs.length === 0) {
504
504
  await ctx.send.send(ctx, { type: "vibes.diy.res-list-dm-threads", status: "ok", items: [] });
505
505
  return Result.Ok(EventoResult.Continue);
506
506
  }
507
507
  const t_idx = vctx.sql.tables.directChannelIndex;
508
508
  const channelRows = await vctx.sql.db
509
- .select({ channelUserSlug: t_idx.channelUserSlug, userSlug: t_idx.userSlug })
509
+ .select({ channelUserSlug: t_idx.channelHandle, ownerHandle: t_idx.handle })
510
510
  .from(t_idx)
511
- .where(inArray(t_idx.userSlug, myUserSlugs));
511
+ .where(inArray(t_idx.handle, myUserSlugs));
512
512
  const t_docs = vctx.sql.tables.appDocuments;
513
513
  const t_reads = vctx.sql.tables.directChannelReads;
514
514
  const limit = req.pager?.limit ?? 50;
515
515
  const channelSlugs = channelRows.map((r) => r.channelUserSlug);
516
516
  const subq = vctx.sql.db
517
- .select({ userSlug: t_docs.userSlug, maxSeq: max(t_docs.seq).as("maxSeq") })
517
+ .select({ ownerHandle: t_docs.ownerHandle, maxSeq: max(t_docs.seq).as("maxSeq") })
518
518
  .from(t_docs)
519
- .where(and(inArray(t_docs.userSlug, channelSlugs), eq(t_docs.appSlug, "dm"), eq(t_docs.dbName, "messages"), eq(t_docs.deleted, 0)))
520
- .groupBy(t_docs.userSlug)
519
+ .where(and(inArray(t_docs.ownerHandle, channelSlugs), eq(t_docs.appSlug, "dm"), eq(t_docs.dbName, "messages"), eq(t_docs.deleted, 0)))
520
+ .groupBy(t_docs.ownerHandle)
521
521
  .as("latest");
522
522
  const latestDocs = await vctx.sql.db
523
523
  .select()
524
524
  .from(t_docs)
525
- .innerJoin(subq, and(eq(t_docs.userSlug, subq.userSlug), eq(t_docs.seq, subq.maxSeq)));
526
- const latestDocByChannel = new Map(latestDocs.map((row) => [row.AppDocuments.userSlug, row.AppDocuments]));
525
+ .innerJoin(subq, and(eq(t_docs.ownerHandle, subq.ownerHandle), eq(t_docs.seq, subq.maxSeq)));
526
+ const latestDocByChannel = new Map(latestDocs.map((row) => [row.AppDocuments.ownerHandle, row.AppDocuments]));
527
527
  const readRows = await vctx.sql.db
528
- .select({ channelUserSlug: t_reads.channelUserSlug, lastSeenSeq: t_reads.lastSeenSeq })
528
+ .select({ channelUserSlug: t_reads.channelHandle, lastSeenSeq: t_reads.lastSeenSeq })
529
529
  .from(t_reads)
530
- .where(and(inArray(t_reads.channelUserSlug, channelSlugs), inArray(t_reads.userSlug, myUserSlugs)));
530
+ .where(and(inArray(t_reads.channelHandle, channelSlugs), inArray(t_reads.handle, myUserSlugs)));
531
531
  const lastSeenByChannel = new Map(readRows.map((r) => [r.channelUserSlug, r.lastSeenSeq]));
532
- const items = channelRows.map(({ channelUserSlug, userSlug: mySlug }) => {
532
+ const items = channelRows.map(({ channelUserSlug, ownerHandle: mySlug }) => {
533
533
  const otherUserSlug = (directChannelParticipants(channelUserSlug) ?? []).find((h) => h !== mySlug) ?? "";
534
534
  const latestDoc = latestDocByChannel.get(channelUserSlug);
535
535
  const latestSeq = latestDoc?.seq ?? 0;
@@ -574,23 +574,23 @@ export const markDmReadEvento = {
574
574
  return Result.Ok(EventoResult.Continue);
575
575
  }
576
576
  const participants = directChannelParticipants(req.channelUserSlug) ?? ["", ""];
577
- const t_usb = vctx.sql.tables.userSlugBinding;
577
+ const t_usb = vctx.sql.tables.handleBinding;
578
578
  const slugRow = await vctx.sql.db
579
- .select({ userSlug: t_usb.userSlug })
579
+ .select({ handle: t_usb.handle })
580
580
  .from(t_usb)
581
- .where(and(eq(t_usb.userId, userId), inArray(t_usb.userSlug, participants)))
581
+ .where(and(eq(t_usb.userId, userId), inArray(t_usb.handle, participants)))
582
582
  .then((r) => r[0]);
583
583
  if (!slugRow) {
584
584
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: "Access denied" } });
585
585
  return Result.Ok(EventoResult.Continue);
586
586
  }
587
- const myUserSlug = slugRow.userSlug;
587
+ const myUserSlug = slugRow.handle;
588
588
  const t_reads = vctx.sql.tables.directChannelReads;
589
589
  await vctx.sql.db
590
590
  .insert(t_reads)
591
- .values({ channelUserSlug: req.channelUserSlug, userSlug: myUserSlug, lastSeenSeq: req.lastSeenSeq })
591
+ .values({ channelHandle: req.channelUserSlug, handle: myUserSlug, lastSeenSeq: req.lastSeenSeq })
592
592
  .onConflictDoUpdate({
593
- target: [t_reads.channelUserSlug, t_reads.userSlug],
593
+ target: [t_reads.channelHandle, t_reads.handle],
594
594
  set: { lastSeenSeq: sql `MAX(${t_reads.lastSeenSeq}, ${req.lastSeenSeq})` },
595
595
  });
596
596
  await ctx.send.send(ctx, { type: "vibes.diy.res-mark-dm-read", status: "ok" });
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents.js","sourceRoot":"","sources":["../../jsr/public/app-documents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents.js","sourceRoot":"","sources":["../../jsr/public/app-documents.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export const assetUploadGrantEvento = {
22
22
  const req = ctx.validated.payload;
23
23
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
24
24
  const userId = req._auth.verifiedAuth.claims.userId;
25
- const access = await checkDocAccess(vctx, userId, req.appSlug, req.userSlug);
25
+ const access = await checkDocAccess(vctx, userId, req.appSlug, req.ownerHandle);
26
26
  if (!canWrite(access)) {
27
27
  await ctx.send.send(ctx, {
28
28
  type: "vibes.diy.res-error",
@@ -34,7 +34,7 @@ export const assetUploadGrantEvento = {
34
34
  const rSigned = await vctx.assetGrantSigner.sign({
35
35
  jti,
36
36
  userId,
37
- userSlug: req.userSlug,
37
+ ownerHandle: req.ownerHandle,
38
38
  appSlug: req.appSlug,
39
39
  ...(req.mimeType !== undefined ? { mimeType: req.mimeType } : {}),
40
40
  }, GRANT_TTL_SEC);
@@ -1 +1 @@
1
- {"version":3,"file":"asset-upload-grant.js","sourceRoot":"","sources":["../../jsr/public/asset-upload-grant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"asset-upload-grant.js","sourceRoot":"","sources":["../../jsr/public/asset-upload-grant.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { VibesApiSQLCtx } from "../types.js";
4
4
  export interface ConvertImageEvtParams {
5
5
  readonly evt: BlockImageMsg;
6
6
  readonly userId: string;
7
- readonly userSlug: string;
7
+ readonly ownerHandle: string;
8
8
  readonly appSlug: string;
9
9
  readonly fetchFn?: typeof fetch;
10
10
  }
@@ -1,7 +1,7 @@
1
1
  import { Result, exception2Result } from "@adviser/cement";
2
2
  import { storeAndAuditAsset } from "./store-and-audit-asset.js";
3
3
  export async function convertImageEvtToFileRef(vctx, params) {
4
- const { evt, userId, userSlug, appSlug } = params;
4
+ const { evt, userId, ownerHandle, appSlug } = params;
5
5
  const url = evt.url;
6
6
  if (url === undefined) {
7
7
  return Result.Ok(evt);
@@ -21,7 +21,7 @@ export async function convertImageEvtToFileRef(vctx, params) {
21
21
  const rStored = await storeAndAuditAsset(vctx, {
22
22
  bytes: rDecoded.Ok(),
23
23
  userId,
24
- userSlug,
24
+ ownerHandle,
25
25
  appSlug,
26
26
  mimeType: mime,
27
27
  });
@@ -55,7 +55,7 @@ export async function convertImageEvtToFileRef(vctx, params) {
55
55
  const rStored = await storeAndAuditAsset(vctx, {
56
56
  bytes,
57
57
  userId,
58
- userSlug,
58
+ ownerHandle,
59
59
  appSlug,
60
60
  mimeType,
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"convert-image-evt.js","sourceRoot":"","sources":["../../jsr/public/convert-image-evt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert-image-evt.js","sourceRoot":"","sources":["../../jsr/public/convert-image-evt.ts"],"names":[],"mappings":"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"}