@vibes.diy/api-svc 11.1.6 → 12.0.1

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 (34) hide show
  1. package/evento-handler-manifest.js +2 -0
  2. package/evento-handler-manifest.js.map +1 -1
  3. package/intern/backend-db-callback.js +5 -0
  4. package/intern/backend-db-callback.js.map +1 -1
  5. package/intern/process-access-bindings.d.ts +11 -0
  6. package/intern/process-access-bindings.js +119 -38
  7. package/intern/process-access-bindings.js.map +1 -1
  8. package/package.json +11 -11
  9. package/public/access-fn-channel-index.d.ts +19 -0
  10. package/public/access-fn-channel-index.js +142 -0
  11. package/public/access-fn-channel-index.js.map +1 -0
  12. package/public/app-documents-head-query.d.ts +5 -0
  13. package/public/app-documents-head-query.js +16 -0
  14. package/public/app-documents-head-query.js.map +1 -1
  15. package/public/app-documents-put-persist.js +4 -0
  16. package/public/app-documents-put-persist.js.map +1 -1
  17. package/public/app-documents-write-eventos.js +2 -0
  18. package/public/app-documents-write-eventos.js.map +1 -1
  19. package/public/cold-pull-timing.d.ts +2 -1
  20. package/public/cold-pull-timing.js.map +1 -1
  21. package/public/get-user-avatar.js +2 -2
  22. package/public/get-user-avatar.js.map +1 -1
  23. package/public/report-api-traffic.d.ts +16 -0
  24. package/public/report-api-traffic.js +165 -0
  25. package/public/report-api-traffic.js.map +1 -0
  26. package/public/sync-bounded-read.d.ts +12 -0
  27. package/public/sync-bounded-read.js +83 -0
  28. package/public/sync-bounded-read.js.map +1 -0
  29. package/public/sync-eventos.js +146 -40
  30. package/public/sync-eventos.js.map +1 -1
  31. package/public/sync-prefix-cache.js.map +1 -1
  32. package/public/sync-pull-core.d.ts +2 -0
  33. package/public/sync-pull-core.js +2 -2
  34. package/public/sync-pull-core.js.map +1 -1
@@ -0,0 +1,142 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ import { and, eq } from "drizzle-orm";
3
+ import { channelSetOfDescriptor } from "./sync-feed.js";
4
+ import { docLockKey, runLockedAllocation } from "./seq-allocation.js";
5
+ function tableOf(tables) {
6
+ return tables.accessFnChannelIndex;
7
+ }
8
+ export async function syncChannelIndex(exec, tables, key, newChannels) {
9
+ const tIdx = tableOf(tables);
10
+ if (!tIdx)
11
+ return Result.Ok(undefined);
12
+ return exception2Result(async () => {
13
+ await exec
14
+ .delete(tIdx)
15
+ .where(and(eq(tIdx.ownerHandle, key.ownerHandle), eq(tIdx.appSlug, key.appSlug), eq(tIdx.dbName, key.dbName), eq(tIdx.docId, key.docId)));
16
+ if (newChannels === null)
17
+ return;
18
+ const uniq = [...new Set(newChannels)];
19
+ if (uniq.length === 0)
20
+ return;
21
+ await exec.insert(tIdx).values(uniq.map((channel) => ({
22
+ ownerHandle: key.ownerHandle,
23
+ appSlug: key.appSlug,
24
+ dbName: key.dbName,
25
+ channel,
26
+ docId: key.docId,
27
+ })));
28
+ });
29
+ }
30
+ export async function syncChannelIndexForDescriptor(exec, tables, key, descriptor) {
31
+ return syncChannelIndex(exec, tables, key, channelSetOfDescriptor(descriptor));
32
+ }
33
+ export function orThrow(r, what) {
34
+ if (r.isErr())
35
+ throw new Error(`channel index maintenance failed (${what}): ${r.Err().message}`);
36
+ }
37
+ function stateTableOf(tables) {
38
+ return tables.accessFnChannelIndexState;
39
+ }
40
+ function channelsOfStoredOutput(output) {
41
+ try {
42
+ return channelSetOfDescriptor(JSON.parse(output));
43
+ }
44
+ catch {
45
+ return [];
46
+ }
47
+ }
48
+ function sameChannelSet(a, b) {
49
+ if (a.size !== b.size)
50
+ return false;
51
+ for (const v of a)
52
+ if (!b.has(v))
53
+ return false;
54
+ return true;
55
+ }
56
+ export async function clearChannelIndexCompletenessMarker(db, tables, key) {
57
+ const tState = stateTableOf(tables);
58
+ if (!tState)
59
+ return Result.Ok(undefined);
60
+ return exception2Result(async () => {
61
+ await db
62
+ .delete(tState)
63
+ .where(and(eq(tState.ownerHandle, key.ownerHandle), eq(tState.appSlug, key.appSlug), eq(tState.dbName, key.dbName)));
64
+ });
65
+ }
66
+ export async function ensureChannelIndexBackfill(db, flavour, tables, key) {
67
+ const tIdx = tableOf(tables);
68
+ const tState = stateTableOf(tables);
69
+ if (!tIdx || !tState)
70
+ return Result.Ok("already");
71
+ const { ownerHandle, appSlug, dbName } = key;
72
+ return exception2Result(async () => {
73
+ const marker = await db
74
+ .select({ backfilledAt: tState.backfilledAt })
75
+ .from(tState)
76
+ .where(and(eq(tState.ownerHandle, ownerHandle), eq(tState.appSlug, appSlug), eq(tState.dbName, dbName)))
77
+ .limit(1)
78
+ .then((r) => r[0]);
79
+ if (marker !== undefined)
80
+ return "already";
81
+ const tOut = tables.accessFnOutputs;
82
+ const outRows = await db
83
+ .select({ docId: tOut.docId, output: tOut.output })
84
+ .from(tOut)
85
+ .where(and(eq(tOut.ownerHandle, ownerHandle), eq(tOut.appSlug, appSlug), eq(tOut.dbName, dbName)));
86
+ const want = new Map();
87
+ for (const r of outRows)
88
+ want.set(r.docId, new Set(channelsOfStoredOutput(r.output)));
89
+ const idxRows = await db
90
+ .select({ channel: tIdx.channel, docId: tIdx.docId })
91
+ .from(tIdx)
92
+ .where(and(eq(tIdx.ownerHandle, ownerHandle), eq(tIdx.appSlug, appSlug), eq(tIdx.dbName, dbName)));
93
+ const have = new Map();
94
+ for (const r of idxRows) {
95
+ const s = have.get(r.docId);
96
+ if (s === undefined)
97
+ have.set(r.docId, new Set([r.channel]));
98
+ else
99
+ s.add(r.channel);
100
+ }
101
+ const empty = new Set();
102
+ const todo = [];
103
+ for (const [docId, w] of want) {
104
+ if (!sameChannelSet(have.get(docId) ?? empty, w))
105
+ todo.push(docId);
106
+ }
107
+ for (const docId of have.keys()) {
108
+ if (!want.has(docId))
109
+ todo.push(docId);
110
+ }
111
+ for (const docId of todo) {
112
+ await runLockedAllocation({
113
+ db,
114
+ flavour,
115
+ lockKey: docLockKey(ownerHandle, appSlug, dbName, docId),
116
+ needsTxnOnSqlite: true,
117
+ maxAttempts: 4,
118
+ attempt: async (exec) => {
119
+ const row = await exec
120
+ .select({ output: tOut.output })
121
+ .from(tOut)
122
+ .where(and(eq(tOut.ownerHandle, ownerHandle), eq(tOut.appSlug, appSlug), eq(tOut.dbName, dbName), eq(tOut.docId, docId)))
123
+ .limit(1)
124
+ .then((r) => r[0]);
125
+ orThrow(await syncChannelIndex(exec, tables, { ownerHandle, appSlug, dbName, docId }, row === undefined ? null : channelsOfStoredOutput(row.output)), `backfill ${ownerHandle}/${appSlug}/${dbName}/${docId}`);
126
+ },
127
+ onSqliteExhausted: async () => {
128
+ throw new Error(`channel index backfill: lock contention exhausted for ${ownerHandle}/${appSlug}/${dbName}/${docId}`);
129
+ },
130
+ });
131
+ }
132
+ await db
133
+ .insert(tState)
134
+ .values({ ownerHandle, appSlug, dbName, backfilledAt: new Date().toISOString() })
135
+ .onConflictDoUpdate({
136
+ target: [tState.ownerHandle, tState.appSlug, tState.dbName],
137
+ set: { backfilledAt: new Date().toISOString() },
138
+ });
139
+ return "backfilled";
140
+ });
141
+ }
142
+ //# sourceMappingURL=access-fn-channel-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-fn-channel-index.js","sourceRoot":"","sources":["../../jsr/public/access-fn-channel-index.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,8 @@ export declare function loadHeadDocs(vctx: VibesApiSQLCtx, part: {
12
12
  appSlug: string;
13
13
  dbName: string;
14
14
  }, opts?: LoadHeadDocsOpts): Promise<HeadDocRow[]>;
15
+ export declare function loadLiveHeadDocIds(vctx: VibesApiSQLCtx, part: {
16
+ ownerHandle: string;
17
+ appSlug: string;
18
+ dbName: string;
19
+ }): Promise<string[]>;
@@ -11,6 +11,22 @@ export async function loadHeadDocs(vctx, part, opts = {}) {
11
11
  }
12
12
  return rows;
13
13
  }
14
+ export async function loadLiveHeadDocIds(vctx, part) {
15
+ const t = vctx.sql.tables.appDocuments;
16
+ const heads = vctx.sql.db
17
+ .select({ docId: t.docId, headSeq: max(t.seq).as("headSeq") })
18
+ .from(t)
19
+ .where(and(eq(t.ownerHandle, part.ownerHandle), eq(t.appSlug, part.appSlug), eq(t.dbName, part.dbName)))
20
+ .groupBy(t.docId)
21
+ .as("heads");
22
+ const rows = await vctx.sql.db
23
+ .select({ docId: t.docId })
24
+ .from(t)
25
+ .innerJoin(heads, and(eq(t.docId, heads.docId), eq(t.seq, heads.headSeq)))
26
+ .where(and(eq(t.ownerHandle, part.ownerHandle), eq(t.appSlug, part.appSlug), eq(t.dbName, part.dbName), eq(t.deleted, 0)))
27
+ .orderBy(t.docId);
28
+ return rows.map((r) => r.docId);
29
+ }
14
30
  async function loadHeadDocsChunk(vctx, part, docIds) {
15
31
  const t = vctx.sql.tables.appDocuments;
16
32
  const restrict = docIds === undefined ? undefined : inArray(t.docId, [...docIds]);
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-head-query.js","sourceRoot":"","sources":["../../jsr/public/app-documents-head-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAgD9D,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAO9B,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAoB,EACpB,IAA8D,EAC9D,IAAI,GAAqB,EAAE;IAE3B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAiB,EAAE,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,MAAM,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,KAAK,UAAU,iBAAiB,CAC9B,IAAoB,EACpB,IAA8D,EAC9D,MAAqC;IAErC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;IAGvC,MAAM,QAAQ,GAAoB,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAGnG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;SACtB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC;SACP,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;SACjH,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;SAChB,EAAE,CAAC,OAAO,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE;SACf,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACpD,IAAI,CAAC,CAAC,CAAC;SACP,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;SACzE,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAC7H;SACA,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"app-documents-head-query.js","sourceRoot":"","sources":["../../jsr/public/app-documents-head-query.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { exception2Result } from "@adviser/cement";
2
2
  import { eq, and } from "drizzle-orm";
3
3
  import { allocateAndInsertRevision } from "./seq-allocation.js";
4
4
  import { hasGrantBearingDescriptor } from "./viewer-channel-resolver.js";
5
+ import { orThrow, syncChannelIndex, syncChannelIndexForDescriptor } from "./access-fn-channel-index.js";
5
6
  export async function persistPutRevision(vctx, p) {
6
7
  const { ownerHandle, appSlug, dbName, docId, doc, userId, now, accessResult, accessFnCid, baseSeq } = p;
7
8
  const t = vctx.sql.tables.appDocuments;
@@ -43,6 +44,8 @@ export async function persistPutRevision(vctx, p) {
43
44
  }));
44
45
  if (rUpsert.isErr())
45
46
  grantUpsertErr = rUpsert.Err();
47
+ else
48
+ orThrow(await syncChannelIndexForDescriptor(exec, vctx.sql.tables, { ownerHandle, appSlug, dbName, docId }, storeAccessOutput.descriptor), "put/push output upsert");
46
49
  }
47
50
  : undefined;
48
51
  const tOutputsAll = vctx.sql.tables.accessFnOutputs;
@@ -52,6 +55,7 @@ export async function persistPutRevision(vctx, p) {
52
55
  await exec
53
56
  .delete(tOutputsAll)
54
57
  .where(and(eq(tOutputsAll.ownerHandle, ownerHandle), eq(tOutputsAll.appSlug, appSlug), eq(tOutputsAll.dbName, dbName), eq(tOutputsAll.docId, docId)));
58
+ orThrow(await syncChannelIndex(exec, vctx.sql.tables, { ownerHandle, appSlug, dbName, docId }, null), "ungated-write row drop");
55
59
  };
56
60
  const onAbsorb = storeAccessOutput && upsertAccessOutput
57
61
  ? async (exec) => {
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-put-persist.js","sourceRoot":"","sources":["../../jsr/public/app-documents-put-persist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-put-persist.js","sourceRoot":"","sources":["../../jsr/public/app-documents-put-persist.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ import { runPutAccessGate } from "../intern/put-access-gate.js";
18
18
  import { runDeleteAccessGate } from "../intern/delete-access-gate.js";
19
19
  import { allocateAndInsertRevision, SeqConflictError } from "./seq-allocation.js";
20
20
  import { bestEffortAppendDelete, bestEffortChannelChange, channelSetOfDescriptor, loadDocChannels } from "./sync-feed.js";
21
+ import { orThrow, syncChannelIndex } from "./access-fn-channel-index.js";
21
22
  import { resolveWriteAclVerdict, resolveWriterContext } from "./write-front-door.js";
22
23
  import { purgeRootHtmlCacheSameColo } from "../intern/swr-purge.js";
23
24
  import { notifyDocChangedFanOut, notifyViewerGrantsChangedFanOut, emitDmWriteEffects, emitCommentPostedEvent, } from "./app-documents-broadcast.js";
@@ -392,6 +393,7 @@ export const deleteDocEvento = {
392
393
  await exec
393
394
  .delete(tOutputs)
394
395
  .where(and(eq(tOutputs.ownerHandle, req.ownerHandle), eq(tOutputs.appSlug, req.appSlug), eq(tOutputs.dbName, dbName), eq(tOutputs.docId, req.docId)));
396
+ orThrow(await syncChannelIndex(exec, vctx.sql.tables, { ownerHandle: req.ownerHandle, appSlug: req.appSlug, dbName, docId: req.docId }, null), "frontend delete");
395
397
  };
396
398
  let delAlloc;
397
399
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-write-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-write-eventos.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ export interface InheritReadStats {
23
23
  }
24
24
  export type ColdPullOutcome = "ok" | "rejected-handle" | "rejected-acl";
25
25
  export declare const COLD_PULL_CPU_NOTE = "sync-cpu-not-measurable-in-workerd; ms.* are I/O spans \u2014 correlate with the tail event's cpuTime";
26
+ export type ColdPullPrefixSource = "sweep" | "cache" | "coalesced" | "bounded" | "bounded-fallback";
26
27
  export interface ColdPullTimingRecord {
27
28
  readonly callId: number;
28
29
  readonly connId: string;
@@ -50,7 +51,7 @@ export interface ColdPullTimingRecord {
50
51
  };
51
52
  readonly inherit: InheritReadStats;
52
53
  readonly prefix: {
53
- readonly source: "sweep" | "cache" | "coalesced";
54
+ readonly source: ColdPullPrefixSource;
54
55
  readonly ageMs: number;
55
56
  readonly headMoved: boolean;
56
57
  readonly refreshKicked: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"cold-pull-timing.js","sourceRoot":"","sources":["../../jsr/public/cold-pull-timing.ts"],"names":[],"mappings":"AAqIA,MAAM,aAAa,GAAsB,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;AAKpH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAAe;IACtE,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AA8CD,MAAM,CAAC,MAAM,kBAAkB,GAC7B,kGAAkG,CAAC;AAyErG,MAAM,CAAC,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AACvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAIzD,MAAM,UAAU,oBAAoB,CAAC,GAAyB;IAC5D,OAAO,GAAG,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC;AAcD,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,OAAO,GAAG,mBAAmB,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAClE,CAAC;AAMD,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,OAAuC,EACvC,OAAe;IAEf,OAAO;QACL,GAAG,KAAK;QACR,OAAO;QACP,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;QAC7E,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE;QACxD,OAAO,EAAE,iBAAiB,EAAE;QAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,EAAE;QACvH,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE;QACrC,EAAE,EAAE,EAAE,GAAG,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACzC,OAAO,EAAE,kBAAkB;KAC5B,CAAC;AACJ,CAAC;AAOD,MAAM,YAAY,GAAG,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,GAAG,EAAkB,EAAE,CAAC;AAI/E,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5B,IAAI,YAAY,CAAC,WAAW,CAAC,IAAI,IAAI,uBAAuB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAS5E,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;YAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC;AAGD,MAAM,UAAU,+BAA+B;IAC7C,YAAY,CAAC,UAAU,GAAG,CAAC,CAAC;IAC5B,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;AACnC,CAAC;AAMD,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC;AAID,MAAM,UAAU,gBAAgB,CAAC,IAA4C;IAM3E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAIzB,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,YAAY,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;YAAE,WAAW,IAAI,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"cold-pull-timing.js","sourceRoot":"","sources":["../../jsr/public/cold-pull-timing.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export async function handleGetUserAvatar(vctx, ownerHandle, ifNoneMatch) {
10
10
  status: 304,
11
11
  headers: {
12
12
  ETag: etag,
13
- "Cache-Control": "max-age=0, must-revalidate",
13
+ "Cache-Control": "public, max-age=300",
14
14
  },
15
15
  };
16
16
  }
@@ -20,7 +20,7 @@ export async function handleGetUserAvatar(vctx, ownerHandle, ifNoneMatch) {
20
20
  headers: {
21
21
  Location: target,
22
22
  ETag: etag,
23
- "Cache-Control": "max-age=0, must-revalidate",
23
+ "Cache-Control": "public, max-age=300",
24
24
  },
25
25
  };
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-avatar.js","sourceRoot":"","sources":["../../jsr/public/get-user-avatar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-user-avatar.js","sourceRoot":"","sources":["../../jsr/public/get-user-avatar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { EventoHandler } from "@adviser/cement";
2
+ import { MsgBase, ReqReportApiTraffic, ResReportApiTraffic, ResReportApiTrafficEndpointRow, ResReportApiTrafficPollerRow, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
3
+ export interface ApiTrafficSampleRow {
4
+ readonly host: string;
5
+ readonly path: string;
6
+ readonly tokenHash: string;
7
+ readonly n: string;
8
+ readonly status: number;
9
+ readonly durationMs: number;
10
+ readonly ts: string;
11
+ }
12
+ export declare function aggregateApiTraffic(rows: readonly ApiTrafficSampleRow[]): {
13
+ endpoints: ResReportApiTrafficEndpointRow[];
14
+ pollers: ResReportApiTrafficPollerRow[];
15
+ };
16
+ export declare const reportApiTrafficEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqReportApiTraffic>, ResReportApiTraffic | VibesDiyError>;
@@ -0,0 +1,165 @@
1
+ import { Result, Option, EventoResult } from "@adviser/cement";
2
+ import { reqReportApiTraffic, resReportApiTraffic, } from "@vibes.diy/api-types";
3
+ import { type } from "arktype";
4
+ import { sql, asc, desc, eq, and, gte } from "drizzle-orm";
5
+ import { unwrapMsgBase } from "../unwrap-msg-base.js";
6
+ import { checkAuth } from "../check-auth.js";
7
+ import { cachedReport, hasReport } from "./report-cache.js";
8
+ const WINDOW_DAYS = 14;
9
+ const SAMPLE_ROW_CAP = 20000;
10
+ const PER_DAY_GROUP_CAP = 500;
11
+ function percentile(sortedAsc, p) {
12
+ if (sortedAsc.length === 0)
13
+ return 0;
14
+ const rank = Math.ceil((p / 100) * sortedAsc.length);
15
+ return sortedAsc[Math.min(Math.max(rank, 1), sortedAsc.length) - 1];
16
+ }
17
+ function dayOf(ts) {
18
+ return ts.slice(0, 10);
19
+ }
20
+ export function aggregateApiTraffic(rows) {
21
+ const byEndpoint = new Map();
22
+ const byPoller = new Map();
23
+ for (const row of rows) {
24
+ const eKey = `${row.host}\u0000${row.path}`;
25
+ const endpoint = byEndpoint.get(eKey) ?? {
26
+ host: row.host,
27
+ path: row.path,
28
+ durations: [],
29
+ tokens: new Set(),
30
+ ok: 0,
31
+ clientErr: 0,
32
+ serverErr: 0,
33
+ other: 0,
34
+ };
35
+ endpoint.durations.push(row.durationMs);
36
+ if (row.tokenHash !== "")
37
+ endpoint.tokens.add(row.tokenHash);
38
+ if (row.status >= 200 && row.status < 300)
39
+ endpoint.ok++;
40
+ else if (row.status >= 400 && row.status < 500)
41
+ endpoint.clientErr++;
42
+ else if (row.status >= 500)
43
+ endpoint.serverErr++;
44
+ else
45
+ endpoint.other++;
46
+ byEndpoint.set(eKey, endpoint);
47
+ if (row.tokenHash === "")
48
+ continue;
49
+ const pKey = `${row.host}\u0000${row.tokenHash}`;
50
+ const poller = byPoller.get(pKey) ?? {
51
+ tokenPrefix: row.tokenHash.slice(0, 8),
52
+ n: row.n,
53
+ host: row.host,
54
+ requests: 0,
55
+ days: new Set(),
56
+ lastSeen: "",
57
+ };
58
+ poller.requests++;
59
+ poller.days.add(dayOf(row.ts));
60
+ if (row.ts > poller.lastSeen)
61
+ poller.lastSeen = row.ts;
62
+ if (poller.n === "" && row.n !== "")
63
+ poller.n = row.n;
64
+ byPoller.set(pKey, poller);
65
+ }
66
+ const endpoints = Array.from(byEndpoint.values())
67
+ .map((e) => {
68
+ const sorted = [...e.durations].sort((a, b) => a - b);
69
+ return {
70
+ host: e.host,
71
+ path: e.path,
72
+ requests: e.durations.length,
73
+ distinctTokens: e.tokens.size,
74
+ p50DurationMs: percentile(sorted, 50),
75
+ p95DurationMs: percentile(sorted, 95),
76
+ ok: e.ok,
77
+ clientErr: e.clientErr,
78
+ serverErr: e.serverErr,
79
+ other: e.other,
80
+ };
81
+ })
82
+ .sort((a, b) => b.requests - a.requests);
83
+ const pollers = Array.from(byPoller.values())
84
+ .map((p) => ({
85
+ tokenPrefix: p.tokenPrefix,
86
+ n: p.n,
87
+ host: p.host,
88
+ requests: p.requests,
89
+ days: p.days.size,
90
+ pollsPerDay: Math.round((p.requests / Math.max(p.days.size, 1)) * 10) / 10,
91
+ lastSeen: p.lastSeen,
92
+ }))
93
+ .sort((a, b) => b.pollsPerDay - a.pollsPerDay);
94
+ return { endpoints, pollers };
95
+ }
96
+ async function computeApiTraffic(vctx, hostFilter) {
97
+ const t = vctx.sql.tables;
98
+ const cutoff = new Date(Date.now() - WINDOW_DAYS * 24 * 60 * 60 * 1000).toISOString();
99
+ const windowFilter = gte(t.apiRequestEvents.ts, cutoff);
100
+ const where = hostFilter !== undefined ? and(windowFilter, eq(t.apiRequestEvents.host, hostFilter)) : windowFilter;
101
+ const dayExpr = sql `substr(${t.apiRequestEvents.ts}, 1, 10)`;
102
+ const perDay = await vctx.sql.db
103
+ .select({
104
+ day: dayExpr,
105
+ host: t.apiRequestEvents.host,
106
+ requests: sql `cast(count(*) as int)`,
107
+ })
108
+ .from(t.apiRequestEvents)
109
+ .where(where)
110
+ .groupBy(dayExpr, t.apiRequestEvents.host)
111
+ .orderBy(desc(dayExpr), asc(t.apiRequestEvents.host))
112
+ .limit(PER_DAY_GROUP_CAP);
113
+ const sample = await vctx.sql.db
114
+ .select({
115
+ host: t.apiRequestEvents.host,
116
+ path: t.apiRequestEvents.path,
117
+ tokenHash: t.apiRequestEvents.tokenHash,
118
+ n: t.apiRequestEvents.n,
119
+ status: t.apiRequestEvents.status,
120
+ durationMs: t.apiRequestEvents.durationMs,
121
+ ts: t.apiRequestEvents.ts,
122
+ })
123
+ .from(t.apiRequestEvents)
124
+ .where(where)
125
+ .orderBy(desc(t.apiRequestEvents.ts))
126
+ .limit(SAMPLE_ROW_CAP);
127
+ const { endpoints, pollers } = aggregateApiTraffic(sample);
128
+ return {
129
+ type: "vibes.diy.res-report-api-traffic",
130
+ generatedAt: new Date().toISOString(),
131
+ windowDays: WINDOW_DAYS,
132
+ sampled: sample.length === SAMPLE_ROW_CAP,
133
+ sampleRows: sample.length,
134
+ perDay,
135
+ perDayTruncated: perDay.length === PER_DAY_GROUP_CAP,
136
+ endpoints: endpoints.slice(0, 100),
137
+ pollers: pollers.slice(0, 100),
138
+ };
139
+ }
140
+ export const reportApiTrafficEvento = {
141
+ hash: "vibes.diy.req-report-api-traffic",
142
+ validate: unwrapMsgBase(async (msg) => {
143
+ const ret = reqReportApiTraffic(msg.payload);
144
+ if (ret instanceof type.errors)
145
+ return Result.Ok(Option.None());
146
+ return Result.Ok(Option.Some({ ...msg, payload: ret }));
147
+ }),
148
+ handle: checkAuth(async (ctx) => {
149
+ const req = ctx.validated.payload;
150
+ const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
151
+ if (hasReport(req._auth.verifiedAuth.claims, "attribution") === false) {
152
+ await ctx.send.send(ctx, {
153
+ type: "vibes.diy.res-error",
154
+ error: { message: "not authorized for attribution report", code: "report-not-authorized" },
155
+ });
156
+ return Result.Ok(EventoResult.Continue);
157
+ }
158
+ const hostFilter = req.host;
159
+ const cacheKey = hostFilter !== undefined ? `api-traffic:${encodeURIComponent(hostFilter)}` : "api-traffic";
160
+ const res = await cachedReport(vctx, cacheKey, resReportApiTraffic, () => computeApiTraffic(vctx, hostFilter));
161
+ await ctx.send.send(ctx, res);
162
+ return Result.Ok(EventoResult.Continue);
163
+ }),
164
+ };
165
+ //# sourceMappingURL=report-api-traffic.js.map