@vibes.diy/api-svc 13.0.7 → 13.0.9

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 (68) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +2 -0
  3. package/index.js.map +1 -1
  4. package/intern/attempt-backend-fetch.d.ts +4 -0
  5. package/intern/attempt-backend-fetch.js +10 -0
  6. package/intern/attempt-backend-fetch.js.map +1 -1
  7. package/intern/attempt-backend-onchange.d.ts +4 -0
  8. package/intern/attempt-backend-onchange.js +12 -2
  9. package/intern/attempt-backend-onchange.js.map +1 -1
  10. package/intern/attempt-backend-scheduled.d.ts +4 -0
  11. package/intern/attempt-backend-scheduled.js +10 -0
  12. package/intern/attempt-backend-scheduled.js.map +1 -1
  13. package/intern/backend-do-addr.d.ts +5 -0
  14. package/intern/backend-do-addr.js +7 -0
  15. package/intern/backend-do-addr.js.map +1 -1
  16. package/intern/backend-github-callback.d.ts +11 -0
  17. package/intern/backend-github-callback.js +141 -0
  18. package/intern/backend-github-callback.js.map +1 -0
  19. package/intern/backend-github-op.d.ts +1 -0
  20. package/intern/backend-github-op.js +2 -0
  21. package/intern/backend-github-op.js.map +1 -0
  22. package/intern/backend-policy-version.d.ts +1 -1
  23. package/intern/backend-policy-version.js +1 -1
  24. package/intern/egress-platform-list.js +2 -0
  25. package/intern/egress-platform-list.js.map +1 -1
  26. package/intern/github-app-auth.d.ts +40 -0
  27. package/intern/github-app-auth.js +214 -0
  28. package/intern/github-app-auth.js.map +1 -0
  29. package/intern/write-apps.js +2 -2
  30. package/intern/write-apps.js.map +1 -1
  31. package/package.json +12 -11
  32. package/public/app-documents-head-query.d.ts +17 -0
  33. package/public/app-documents-head-query.js +38 -1
  34. package/public/app-documents-head-query.js.map +1 -1
  35. package/public/app-documents-read-eventos.js +7 -2
  36. package/public/app-documents-read-eventos.js.map +1 -1
  37. package/public/convert-image-evt.js +1 -1
  38. package/public/convert-image-evt.js.map +1 -1
  39. package/public/dm-lane.d.ts +0 -1
  40. package/public/dm-lane.js +0 -1
  41. package/public/dm-lane.js.map +1 -1
  42. package/public/dm-read-eventos.d.ts +3 -0
  43. package/public/dm-read-eventos.js +15 -6
  44. package/public/dm-read-eventos.js.map +1 -1
  45. package/public/dm-sync-eventos.js +2 -2
  46. package/public/dm-sync-eventos.js.map +1 -1
  47. package/public/dm-write-eventos.js +2 -13
  48. package/public/dm-write-eventos.js.map +1 -1
  49. package/public/email-unsubscribe.js +6 -2
  50. package/public/email-unsubscribe.js.map +1 -1
  51. package/public/ensure-user-settings.js +4 -2
  52. package/public/ensure-user-settings.js.map +1 -1
  53. package/public/github-setup.d.ts +26 -0
  54. package/public/github-setup.js +339 -0
  55. package/public/github-setup.js.map +1 -0
  56. package/public/github-webhook.d.ts +29 -0
  57. package/public/github-webhook.js +150 -0
  58. package/public/github-webhook.js.map +1 -0
  59. package/public/prompt-chat-section.js +4 -3
  60. package/public/prompt-chat-section.js.map +1 -1
  61. package/usage-report/backfill-geo-country.d.ts +1 -0
  62. package/usage-report/backfill-geo-country.js +168 -0
  63. package/usage-report/backfill-geo-country.js.map +1 -0
  64. package/usage-report/backfill-release-tailwind-util.js +2 -11
  65. package/usage-report/backfill-release-tailwind-util.js.map +1 -1
  66. package/usage-report/geo-country-normalize.d.ts +1 -0
  67. package/usage-report/geo-country-normalize.js +135 -0
  68. package/usage-report/geo-country-normalize.js.map +1 -0
@@ -0,0 +1,214 @@
1
+ import { exception2Result, Result, TxtEnDecoderSingleton, URI } from "@adviser/cement";
2
+ export const GITHUB_API = "https://api.github.com";
3
+ const USER_AGENT = "vibes.diy-github-app";
4
+ const ACCEPT = "application/vnd.github+json";
5
+ const APP_JWT_TTL_SECONDS = 540;
6
+ const APP_JWT_SKEW_SECONDS = 60;
7
+ const TOKEN_SAFETY_MARGIN_MS = 5 * 60 * 1000;
8
+ const MAX_REPO_PAGES = 50;
9
+ function b64url(bytes) {
10
+ let bin = "";
11
+ for (const b of bytes)
12
+ bin += String.fromCharCode(b);
13
+ return btoa(bin).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
14
+ }
15
+ function b64ToBytes(b64) {
16
+ const bin = atob(b64);
17
+ const out = new Uint8Array(bin.length);
18
+ for (let i = 0; i < bin.length; i = i + 1)
19
+ out[i] = bin.charCodeAt(i);
20
+ return out;
21
+ }
22
+ function derLength(n) {
23
+ if (n < 0x80)
24
+ return new Uint8Array([n]);
25
+ const bytes = [];
26
+ let rest = n;
27
+ while (rest > 0) {
28
+ bytes.unshift(rest & 0xff);
29
+ rest = Math.floor(rest / 256);
30
+ }
31
+ return new Uint8Array([0x80 | bytes.length, ...bytes]);
32
+ }
33
+ function derTlv(tag, content) {
34
+ const len = derLength(content.length);
35
+ const out = new Uint8Array(1 + len.length + content.length);
36
+ out[0] = tag;
37
+ out.set(len, 1);
38
+ out.set(content, 1 + len.length);
39
+ return out;
40
+ }
41
+ const RSA_ALGORITHM_IDENTIFIER = new Uint8Array([
42
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00,
43
+ ]);
44
+ function pkcs1ToPkcs8(pkcs1) {
45
+ const version = new Uint8Array([0x02, 0x01, 0x00]);
46
+ const octet = derTlv(0x04, pkcs1);
47
+ const body = new Uint8Array(version.length + RSA_ALGORITHM_IDENTIFIER.length + octet.length);
48
+ body.set(version, 0);
49
+ body.set(RSA_ALGORITHM_IDENTIFIER, version.length);
50
+ body.set(octet, version.length + RSA_ALGORITHM_IDENTIFIER.length);
51
+ return derTlv(0x30, body);
52
+ }
53
+ function pemBody(pem, label) {
54
+ return pem
55
+ .replace(new RegExp(`-----BEGIN ${label}-----`), "")
56
+ .replace(new RegExp(`-----END ${label}-----`), "")
57
+ .replace(/\s+/g, "");
58
+ }
59
+ export function privateKeyPemToPkcs8(privateKeyPem) {
60
+ if (privateKeyPem.includes("-----BEGIN RSA PRIVATE KEY-----")) {
61
+ return exception2Result(() => pkcs1ToPkcs8(b64ToBytes(pemBody(privateKeyPem, "RSA PRIVATE KEY"))));
62
+ }
63
+ if (privateKeyPem.includes("-----BEGIN PRIVATE KEY-----")) {
64
+ return exception2Result(() => b64ToBytes(pemBody(privateKeyPem, "PRIVATE KEY")));
65
+ }
66
+ return Result.Err("unsupported private key PEM: expected PKCS#1 (BEGIN RSA PRIVATE KEY) or PKCS#8 (BEGIN PRIVATE KEY)");
67
+ }
68
+ export async function mintAppJwt(opts) {
69
+ const rPkcs8 = privateKeyPemToPkcs8(opts.privateKeyPem);
70
+ if (rPkcs8.isErr())
71
+ return Result.Err(rPkcs8.Err());
72
+ const pkcs8 = rPkcs8.Ok();
73
+ const iat = Math.floor(opts.nowMs / 1000) - APP_JWT_SKEW_SECONDS;
74
+ const enc = TxtEnDecoderSingleton();
75
+ const header = b64url(enc.encode(JSON.stringify({ alg: "RS256", typ: "JWT" })));
76
+ const claims = b64url(enc.encode(JSON.stringify({ iat, exp: iat + APP_JWT_TTL_SECONDS, iss: opts.appId })));
77
+ const signingInput = `${header}.${claims}`;
78
+ return exception2Result(async () => {
79
+ const key = await crypto.subtle.importKey("pkcs8", pkcs8.slice().buffer, { name: "RSASSA-PKCS1-v1_5", hash: "SHA-256" }, false, ["sign"]);
80
+ const sig = await crypto.subtle.sign({ name: "RSASSA-PKCS1-v1_5" }, key, enc.encode(signingInput));
81
+ return `${signingInput}.${b64url(new Uint8Array(sig))}`;
82
+ });
83
+ }
84
+ const installationTokenCache = new Map();
85
+ export function resetInstallationTokenCacheForTests() {
86
+ installationTokenCache.clear();
87
+ }
88
+ export function peekCachedInstallationToken(installationId, nowMs) {
89
+ const hit = installationTokenCache.get(installationId);
90
+ if (hit === undefined)
91
+ return undefined;
92
+ const expiresMs = Date.parse(hit.expiresAt);
93
+ if (Number.isNaN(expiresMs) || nowMs >= expiresMs - TOKEN_SAFETY_MARGIN_MS) {
94
+ installationTokenCache.delete(installationId);
95
+ return undefined;
96
+ }
97
+ return hit;
98
+ }
99
+ export async function getInstallationToken(opts) {
100
+ const cached = peekCachedInstallationToken(opts.installationId, opts.nowMs);
101
+ if (cached !== undefined)
102
+ return Result.Ok(cached);
103
+ const fetchImpl = opts.fetchImpl ?? fetch.bind(globalThis);
104
+ const rJwt = await mintAppJwt({ appId: opts.appId, privateKeyPem: opts.privateKeyPem, nowMs: opts.nowMs });
105
+ if (rJwt.isErr()) {
106
+ return Result.Err(`github installation token threw: ${rJwt.Err().message}`);
107
+ }
108
+ const rRes = await exception2Result(() => fetchImpl(`${GITHUB_API}/app/installations/${encodeURIComponent(opts.installationId)}/access_tokens`, {
109
+ method: "POST",
110
+ headers: { authorization: `Bearer ${rJwt.Ok()}`, accept: ACCEPT, "user-agent": USER_AGENT },
111
+ }));
112
+ if (rRes.isErr()) {
113
+ return Result.Err(`github installation token threw: ${rRes.Err().message}`);
114
+ }
115
+ const res = rRes.Ok();
116
+ if (res.ok === false) {
117
+ const rDetail = await exception2Result(() => res.json());
118
+ const detail = rDetail.isOk() ? rDetail.Ok() : {};
119
+ return Result.Err(`github installation token failed: ${res.status} ${detail.message ?? ""}`.trim());
120
+ }
121
+ const rBody = await exception2Result(() => res.json());
122
+ if (rBody.isErr()) {
123
+ return Result.Err(`github installation token threw: ${rBody.Err().message}`);
124
+ }
125
+ const body = rBody.Ok();
126
+ if (typeof body.token !== "string" || typeof body.expires_at !== "string") {
127
+ return Result.Err("github installation token response missing token/expires_at");
128
+ }
129
+ const minted = { token: body.token, expiresAt: body.expires_at };
130
+ installationTokenCache.set(opts.installationId, minted);
131
+ return Result.Ok(minted);
132
+ }
133
+ function nextLink(linkHeader) {
134
+ if (linkHeader === null)
135
+ return undefined;
136
+ for (const part of linkHeader.split(",")) {
137
+ const m = /<([^>]+)>\s*;\s*(.*)/.exec(part.trim());
138
+ if (m === null)
139
+ continue;
140
+ if (/rel\s*=\s*"?next"?/.test(m[2]))
141
+ return m[1];
142
+ }
143
+ return undefined;
144
+ }
145
+ export function nextGithubPageUrl(linkHeader, expectedPathname) {
146
+ const raw = nextLink(linkHeader);
147
+ if (raw === undefined)
148
+ return Result.Ok(undefined);
149
+ const rUri = URI.fromResult(raw);
150
+ if (rUri.isErr())
151
+ return Result.Err(`refusing to follow an unparseable pagination link: ${raw}`);
152
+ const uri = rUri.Ok();
153
+ const origin = uri.protocol === "https:" ? `https://${uri.host}` : "";
154
+ if (origin !== GITHUB_API || uri.pathname !== expectedPathname) {
155
+ return Result.Err(`refusing to follow a pagination link outside ${GITHUB_API}${expectedPathname}: ${raw}`);
156
+ }
157
+ return Result.Ok(raw);
158
+ }
159
+ async function collectRepoPages(input) {
160
+ const out = [];
161
+ const rFirst = URI.fromResult(input.firstUrl);
162
+ if (rFirst.isErr())
163
+ return Result.Err(`${input.label} threw: ${rFirst.Err().message}`);
164
+ const expectedPathname = rFirst.Ok().pathname;
165
+ let url = input.firstUrl;
166
+ for (let page = 0; page < MAX_REPO_PAGES && url !== undefined; page = page + 1) {
167
+ const pageUrl = url;
168
+ const rRes = await exception2Result(() => input.fetchImpl(pageUrl, {
169
+ method: "GET",
170
+ headers: { authorization: `Bearer ${input.token}`, accept: ACCEPT, "user-agent": USER_AGENT },
171
+ }));
172
+ if (rRes.isErr()) {
173
+ return Result.Err(`${input.label} threw: ${rRes.Err().message}`);
174
+ }
175
+ const res = rRes.Ok();
176
+ if (res.ok === false) {
177
+ const rDetail = await exception2Result(() => res.json());
178
+ const detail = rDetail.isOk() ? rDetail.Ok() : {};
179
+ return Result.Err(`${input.label} failed: ${res.status} ${detail.message ?? ""}`.trim());
180
+ }
181
+ const rBody = await exception2Result(() => res.json());
182
+ if (rBody.isErr()) {
183
+ return Result.Err(`${input.label} threw: ${rBody.Err().message}`);
184
+ }
185
+ for (const repo of rBody.Ok().repositories ?? []) {
186
+ if (typeof repo.full_name !== "string")
187
+ continue;
188
+ out.push({ fullName: repo.full_name.toLowerCase(), accountLogin: repo.owner?.login ?? repo.full_name.split("/")[0] });
189
+ }
190
+ const rNext = nextGithubPageUrl(res.headers.get("link"), expectedPathname);
191
+ if (rNext.isErr()) {
192
+ return Result.Err(`${input.label} failed: ${rNext.Err().message}`);
193
+ }
194
+ url = rNext.Ok();
195
+ }
196
+ return Result.Ok(out);
197
+ }
198
+ export async function listInstallationRepos(opts) {
199
+ return collectRepoPages({
200
+ firstUrl: `${GITHUB_API}/installation/repositories?per_page=100`,
201
+ token: opts.token,
202
+ fetchImpl: opts.fetchImpl ?? fetch.bind(globalThis),
203
+ label: "github installation repositories",
204
+ });
205
+ }
206
+ export async function listUserInstallationRepos(opts) {
207
+ return collectRepoPages({
208
+ firstUrl: `${GITHUB_API}/user/installations/${encodeURIComponent(opts.installationId)}/repositories?per_page=100`,
209
+ token: opts.userToken,
210
+ fetchImpl: opts.fetchImpl ?? fetch.bind(globalThis),
211
+ label: "github user installation repositories",
212
+ });
213
+ }
214
+ //# sourceMappingURL=github-app-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-app-auth.js","sourceRoot":"","sources":["../../jsr/intern/github-app-auth.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ import { allocateAndInsertApp } from "../public/app-seq-allocation.js";
12
12
  import { formatDbErrorChain } from "../public/seq-allocation.js";
13
13
  import { langForFilename } from "./ensure-push-seeded-chat.js";
14
14
  import { bundleVibeSource, normalizeModuleId } from "./bundle-vibe-source.js";
15
- import { buildCssFromCandidates, extractSourceCandidates } from "@vibes.diy/vibe-runtime/ssr-tailwind.js";
15
+ import { compileIsolatedCss, extractSourceCandidates } from "@vibes.diy/vibe-runtime/ssr-tailwind.js";
16
16
  function isJsxLike(file) {
17
17
  return ["jsx", "tsx"].includes(langForFilename(file.filename)) || ["jsx", "tsx"].includes(file.lang);
18
18
  }
@@ -179,7 +179,7 @@ async function createImportMap(ctx, imports, opts) {
179
179
  async function createTailwindCss(ctx, candidates, _opts) {
180
180
  if (candidates.size === 0)
181
181
  return [];
182
- const rCss = await exception2Result(() => buildCssFromCandidates([...candidates]));
182
+ const rCss = await exception2Result(() => compileIsolatedCss([...candidates]));
183
183
  if (rCss.isErr()) {
184
184
  console.error(`Failed to precompile Tailwind CSS: ${rCss.Err()}`);
185
185
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"write-apps.js","sourceRoot":"","sources":["../../jsr/intern/write-apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write-apps.js","sourceRoot":"","sources":["../../jsr/intern/write-apps.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "13.0.7",
3
+ "version": "13.0.9",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -14,6 +14,7 @@
14
14
  "db:admin": "tsx ./usage-report/admin-db.ts",
15
15
  "admin:backfill-avatars": "tsx ./usage-report/backfill-avatars.ts",
16
16
  "admin:backfill-first-message-embeddings": "tsx ./usage-report/backfill-first-message-embeddings.ts",
17
+ "admin:backfill-geo-country": "tsx ./usage-report/backfill-geo-country.ts",
17
18
  "admin:backfill-published-chips": "tsx ./usage-report/backfill-published-chips.ts",
18
19
  "admin:backfill-release-tailwind": "tsx ./usage-report/backfill-release-tailwind.ts"
19
20
  },
@@ -25,18 +26,18 @@
25
26
  "@libsql/client": "~0.17.4",
26
27
  "@neondatabase/serverless": "~1.1.0",
27
28
  "@noble/hashes": "~2.2.0",
28
- "@vibes.diy/api-pkg": "13.0.7",
29
- "@vibes.diy/api-sql": "13.0.7",
30
- "@vibes.diy/api-types": "13.0.7",
31
- "@vibes.diy/call-ai-v2": "13.0.7",
32
- "@vibes.diy/identity": "13.0.7",
33
- "@vibes.diy/prompts": "13.0.7",
34
- "@vibes.diy/vibe-db-explorer": "13.0.7",
35
- "@vibes.diy/vibe-runtime": "13.0.7",
36
- "@vibes.diy/vibe-types": "13.0.7",
29
+ "@vibes.diy/api-pkg": "13.0.9",
30
+ "@vibes.diy/api-sql": "13.0.9",
31
+ "@vibes.diy/api-types": "13.0.9",
32
+ "@vibes.diy/call-ai-v2": "13.0.9",
33
+ "@vibes.diy/identity": "13.0.9",
34
+ "@vibes.diy/prompts": "13.0.9",
35
+ "@vibes.diy/vibe-db-explorer": "13.0.9",
36
+ "@vibes.diy/vibe-runtime": "13.0.9",
37
+ "@vibes.diy/vibe-types": "13.0.9",
37
38
  "acorn": "~8.17.0",
38
39
  "arktype": "~2.2.3",
39
- "call-ai": "13.0.7",
40
+ "call-ai": "13.0.9",
40
41
  "charwise": "~3.0.1",
41
42
  "cookie": "~2.0.1",
42
43
  "csv-parse": "~7.0.1",
@@ -12,6 +12,23 @@ export declare function loadHeadDocs(vctx: VibesApiSQLCtx, part: {
12
12
  appSlug: string;
13
13
  dbName: string;
14
14
  }, opts?: LoadHeadDocsOpts): Promise<HeadDocRow[]>;
15
+ export declare const QUERY_DOCS_MAX_PAGE = 2000;
16
+ export declare function resolveQueryPage(req: {
17
+ limit?: number;
18
+ after?: string;
19
+ }): {
20
+ paged: boolean;
21
+ limit: number;
22
+ after?: string;
23
+ };
24
+ export declare function loadHeadDocsPage(vctx: VibesApiSQLCtx, part: {
25
+ ownerHandle: string;
26
+ appSlug: string;
27
+ dbName: string;
28
+ }, page: {
29
+ limit: number;
30
+ after?: string;
31
+ }): Promise<HeadDocRow[]>;
15
32
  export declare function loadLiveHeadDocIds(vctx: VibesApiSQLCtx, part: {
16
33
  ownerHandle: string;
17
34
  appSlug: string;
@@ -1,4 +1,4 @@
1
- import { and, eq, inArray, max } from "drizzle-orm";
1
+ import { and, eq, gt, inArray, max } from "drizzle-orm";
2
2
  const HEAD_DOC_IN_CHUNK = 200;
3
3
  export async function loadHeadDocs(vctx, part, opts = {}) {
4
4
  if (opts.docIds === undefined)
@@ -11,6 +11,43 @@ export async function loadHeadDocs(vctx, part, opts = {}) {
11
11
  }
12
12
  return rows;
13
13
  }
14
+ export const QUERY_DOCS_MAX_PAGE = 2000;
15
+ export function resolveQueryPage(req) {
16
+ const paged = req.limit !== undefined || typeof req.after === "string";
17
+ const requested = typeof req.limit === "number" && Number.isFinite(req.limit) ? Math.floor(req.limit) : QUERY_DOCS_MAX_PAGE;
18
+ const limit = Math.max(1, Math.min(requested, QUERY_DOCS_MAX_PAGE));
19
+ return { paged, limit, ...(typeof req.after === "string" ? { after: req.after } : {}) };
20
+ }
21
+ export async function loadHeadDocsPage(vctx, part, page) {
22
+ const t = vctx.sql.tables.appDocuments;
23
+ const afterArm = typeof page.after === "string" ? [gt(t.docId, page.after)] : [];
24
+ const headConds = [
25
+ eq(t.ownerHandle, part.ownerHandle),
26
+ eq(t.appSlug, part.appSlug),
27
+ eq(t.dbName, part.dbName),
28
+ ...afterArm,
29
+ ];
30
+ const rowConds = [
31
+ eq(t.ownerHandle, part.ownerHandle),
32
+ eq(t.appSlug, part.appSlug),
33
+ eq(t.dbName, part.dbName),
34
+ eq(t.deleted, 0),
35
+ ...afterArm,
36
+ ];
37
+ const heads = vctx.sql.db
38
+ .select({ docId: t.docId, headSeq: max(t.seq).as("headSeq") })
39
+ .from(t)
40
+ .where(and(...headConds))
41
+ .groupBy(t.docId)
42
+ .as("heads");
43
+ return vctx.sql.db
44
+ .select({ docId: t.docId, seq: t.seq, data: t.data })
45
+ .from(t)
46
+ .innerJoin(heads, and(eq(t.docId, heads.docId), eq(t.seq, heads.headSeq)))
47
+ .where(and(...rowConds))
48
+ .orderBy(t.docId)
49
+ .limit(page.limit);
50
+ }
14
51
  export async function loadLiveHeadDocIds(vctx, part) {
15
52
  const t = vctx.sql.tables.appDocuments;
16
53
  const heads = vctx.sql.db
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-head-query.js","sourceRoot":"","sources":["../../jsr/public/app-documents-head-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-head-query.js","sourceRoot":"","sources":["../../jsr/public/app-documents-head-query.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ import { decodeAccessOutputRow, decodeAccessOutputRows } from "./access-output-d
22
22
  import { resolveAudienceMembershipFailClosed } from "./social-store.js";
23
23
  import { resolvePublicAudienceChannelsFailClosed } from "./public-audience-resolver.js";
24
24
  import { resolveViewerChannels } from "./viewer-channel-resolver.js";
25
- import { loadHeadDocs } from "./app-documents-head-query.js";
25
+ import { loadHeadDocs, loadHeadDocsPage, resolveQueryPage } from "./app-documents-head-query.js";
26
26
  let queryReadInterleaveHookForTests;
27
27
  export function setQueryReadInterleaveHookForTests(fn) {
28
28
  queryReadInterleaveHookForTests = fn;
@@ -224,7 +224,11 @@ export const queryDocsEvento = {
224
224
  });
225
225
  return Result.Ok(EventoResult.Continue);
226
226
  }
227
- const rows = await loadHeadDocs(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName: req.dbName });
227
+ const pageReq = resolveQueryPage(req);
228
+ const rows = pageReq.paged
229
+ ? await loadHeadDocsPage(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName: req.dbName }, { limit: pageReq.limit, ...(pageReq.after !== undefined ? { after: pageReq.after } : {}) })
230
+ : await loadHeadDocs(vctx, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName: req.dbName });
231
+ const next = pageReq.paged && rows.length === pageReq.limit ? rows[rows.length - 1].docId : undefined;
228
232
  const docs = [];
229
233
  for (const row of rows) {
230
234
  const doc = mintFilesUrls(row.data, {
@@ -272,6 +276,7 @@ export const queryDocsEvento = {
272
276
  type: "vibes.diy.res-query-docs",
273
277
  status: "ok",
274
278
  docs: filteredDocs,
279
+ ...(next !== undefined ? { next } : {}),
275
280
  });
276
281
  return Result.Ok(EventoResult.Continue);
277
282
  }),