@vibes.diy/api-svc 12.3.0 → 12.3.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.
- package/evento-handler-manifest.js +2 -0
- package/evento-handler-manifest.js.map +1 -1
- package/intern/backend-db-callback.js +16 -11
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/backend-notify-callback.js.map +1 -1
- package/intern/get-vibe-route-hints.js +7 -6
- package/intern/get-vibe-route-hints.js.map +1 -1
- package/intern/is-app-participant.d.ts +4 -7
- package/intern/is-app-participant.js +3 -57
- package/intern/is-app-participant.js.map +1 -1
- package/intern/participants.d.ts +17 -0
- package/intern/participants.js +185 -0
- package/intern/participants.js.map +1 -0
- package/intern/process-access-bindings.js +14 -2
- package/intern/process-access-bindings.js.map +1 -1
- package/intern/put-access-gate.js +10 -1
- package/intern/put-access-gate.js.map +1 -1
- package/intern/read-anonymous-seed-docs.js +6 -5
- package/intern/read-anonymous-seed-docs.js.map +1 -1
- package/intern/render-vibe.d.ts +1 -0
- package/intern/render-vibe.js +9 -2
- package/intern/render-vibe.js.map +1 -1
- package/intern/ssr-theme-css.js +11 -1
- package/intern/ssr-theme-css.js.map +1 -1
- package/package.json +11 -11
- package/public/access-binding-resolver.js +17 -8
- package/public/access-binding-resolver.js.map +1 -1
- package/public/access-helpers.d.ts +3 -0
- package/public/access-helpers.js +17 -14
- package/public/access-helpers.js.map +1 -1
- package/public/anon-write-legacy-sweep.d.ts +22 -0
- package/public/anon-write-legacy-sweep.js +85 -0
- package/public/anon-write-legacy-sweep.js.map +1 -0
- package/public/app-documents-read-eventos.js +26 -19
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/app-documents-shared.d.ts +6 -5
- package/public/app-documents-shared.js +19 -8
- package/public/app-documents-shared.js.map +1 -1
- package/public/app-documents-write-eventos.js.map +1 -1
- package/public/app-seq-allocation.js.map +1 -1
- package/public/app-setting-items.d.ts +1 -0
- package/public/app-setting-items.js +22 -0
- package/public/app-setting-items.js.map +1 -1
- package/public/app-settings-sql-upsert.js +7 -1
- package/public/app-settings-sql-upsert.js.map +1 -1
- package/public/asset-upload-grant.js +4 -3
- package/public/asset-upload-grant.js.map +1 -1
- package/public/audience-channels.d.ts +1 -0
- package/public/audience-channels.js +4 -0
- package/public/audience-channels.js.map +1 -1
- package/public/chip-projection.d.ts +10 -0
- package/public/chip-projection.js +113 -0
- package/public/chip-projection.js.map +1 -0
- package/public/chip-stamp.d.ts +25 -0
- package/public/chip-stamp.js +57 -0
- package/public/chip-stamp.js.map +1 -0
- package/public/db-acl-resolver.d.ts +10 -2
- package/public/db-acl-resolver.js +37 -8
- package/public/db-acl-resolver.js.map +1 -1
- package/public/ensure-app-settings.js +78 -10
- package/public/ensure-app-settings.js.map +1 -1
- package/public/ensure-app-slug-item.js +61 -0
- package/public/ensure-app-slug-item.js.map +1 -1
- package/public/files-asset.js +19 -18
- package/public/files-asset.js.map +1 -1
- package/public/fork-app.js +7 -12
- package/public/fork-app.js.map +1 -1
- package/public/get-app-by-fsid.js +4 -10
- package/public/get-app-by-fsid.js.map +1 -1
- package/public/get-cached-suggestion.js.map +1 -1
- package/public/get-vibe-chips.js +24 -59
- package/public/get-vibe-chips.js.map +1 -1
- package/public/img-doc-write.js +13 -4
- package/public/img-doc-write.js.map +1 -1
- package/public/inherit-read-resolver.d.ts +2 -0
- package/public/inherit-read-resolver.js +5 -5
- package/public/inherit-read-resolver.js.map +1 -1
- package/public/list-members.js +12 -3
- package/public/list-members.js.map +1 -1
- package/public/platform-comments-access-fn.d.ts +4 -0
- package/public/platform-comments-access-fn.js +37 -0
- package/public/platform-comments-access-fn.js.map +1 -0
- package/public/platform-comments-migration.d.ts +5 -0
- package/public/platform-comments-migration.js +204 -0
- package/public/platform-comments-migration.js.map +1 -0
- package/public/platform-db-registry.d.ts +36 -0
- package/public/platform-db-registry.js +86 -0
- package/public/platform-db-registry.js.map +1 -0
- package/public/publish-app.d.ts +17 -3
- package/public/publish-app.js +73 -15
- package/public/publish-app.js.map +1 -1
- package/public/report-active-members.d.ts +2 -0
- package/public/report-active-members.js +14 -21
- package/public/report-active-members.js.map +1 -1
- package/public/report-top-vibes-by-members.d.ts +2 -0
- package/public/report-top-vibes-by-members.js +13 -19
- package/public/report-top-vibes-by-members.js.map +1 -1
- package/public/request-flow.js.map +1 -1
- package/public/seed-starter-chips-handler.js +12 -0
- package/public/seed-starter-chips-handler.js.map +1 -1
- package/public/select-app.d.ts +29 -0
- package/public/select-app.js +38 -0
- package/public/select-app.js.map +1 -1
- package/public/set-version-lock.js +11 -2
- package/public/set-version-lock.js.map +1 -1
- package/public/set-vibe-chips.d.ts +3 -0
- package/public/set-vibe-chips.js +90 -0
- package/public/set-vibe-chips.js.map +1 -0
- package/public/settings-envelope-readout.d.ts +2 -0
- package/public/settings-envelope-readout.js +42 -0
- package/public/settings-envelope-readout.js.map +1 -0
- package/public/sync-eventos.js +15 -7
- package/public/sync-eventos.js.map +1 -1
- package/public/viewer-capabilities.d.ts +12 -0
- package/public/viewer-capabilities.js +8 -0
- package/public/viewer-capabilities.js.map +1 -0
- package/public/viewer-channel-resolver.d.ts +1 -0
- package/public/viewer-channel-resolver.js +2 -0
- package/public/viewer-channel-resolver.js.map +1 -1
- package/public/who-am-i.d.ts +2 -0
- package/public/who-am-i.js +26 -14
- package/public/who-am-i.js.map +1 -1
- package/public/write-front-door.js +14 -6
- package/public/write-front-door.js.map +1 -1
- package/usage-report/warm-vibe-cache.js.map +1 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { and, desc, eq, sql } from "drizzle-orm";
|
|
2
|
+
import { exception2Result } from "@adviser/cement";
|
|
3
|
+
import { LEGACY_COMMENTS_DB_NAME } from "@vibes.diy/api-types";
|
|
4
|
+
import { clearChannelIndexCompletenessMarker, syncChannelIndexForDescriptor } from "./access-fn-channel-index.js";
|
|
5
|
+
import { allocateAndInsertRevision } from "./seq-allocation.js";
|
|
6
|
+
import { ensureAppSettings } from "./ensure-app-settings.js";
|
|
7
|
+
import { hasGrantBearingDescriptor } from "./viewer-channel-resolver.js";
|
|
8
|
+
import { PLATFORM_COMMENTS_CID, PLATFORM_COMMENTS_DB_NAME, PLATFORM_COMMENTS_DESCRIPTOR } from "./platform-db-registry.js";
|
|
9
|
+
const MEMO_TTL_MS = 5 * 60 * 1000;
|
|
10
|
+
const checked = new WeakMap();
|
|
11
|
+
function memoKey(ownerHandle, appSlug) {
|
|
12
|
+
return JSON.stringify([ownerHandle, appSlug]);
|
|
13
|
+
}
|
|
14
|
+
export function resetLegacyCommentsMigrationMemo(vctx) {
|
|
15
|
+
checked.delete(vctx.sql.db);
|
|
16
|
+
}
|
|
17
|
+
export async function ensureLegacyCommentsMigrated(vctx, ownerHandle, appSlug) {
|
|
18
|
+
const dbKey = vctx.sql.db;
|
|
19
|
+
let perDb = checked.get(dbKey);
|
|
20
|
+
if (perDb === undefined) {
|
|
21
|
+
perDb = new Map();
|
|
22
|
+
checked.set(dbKey, perDb);
|
|
23
|
+
}
|
|
24
|
+
const key = memoKey(ownerHandle, appSlug);
|
|
25
|
+
const last = perDb.get(key);
|
|
26
|
+
const now = Date.now();
|
|
27
|
+
if (last !== undefined && now - last < MEMO_TTL_MS)
|
|
28
|
+
return;
|
|
29
|
+
const r = await exception2Result(() => migrate(vctx, ownerHandle, appSlug));
|
|
30
|
+
if (r.isErr()) {
|
|
31
|
+
console.warn(`comments migration failed for ${ownerHandle}/${appSlug}:`, r.Err());
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
perDb.set(key, now);
|
|
35
|
+
}
|
|
36
|
+
async function migrate(vctx, ownerHandle, appSlug) {
|
|
37
|
+
const tDocs = vctx.sql.tables.appDocuments;
|
|
38
|
+
const tAfb = vctx.sql.tables.accessFunctionBindings;
|
|
39
|
+
const ownedBinding = await vctx.sql.db
|
|
40
|
+
.select({ dbName: tAfb.dbName })
|
|
41
|
+
.from(tAfb)
|
|
42
|
+
.where(and(eq(tAfb.ownerHandle, ownerHandle), eq(tAfb.appSlug, appSlug), eq(tAfb.dbName, LEGACY_COMMENTS_DB_NAME)))
|
|
43
|
+
.limit(1)
|
|
44
|
+
.then((rows) => rows[0]);
|
|
45
|
+
if (ownedBinding !== undefined)
|
|
46
|
+
return;
|
|
47
|
+
await moveStoredPin(vctx, ownerHandle, appSlug);
|
|
48
|
+
const legacyRevisions = await vctx.sql.db
|
|
49
|
+
.select({ docId: tDocs.docId, seq: tDocs.seq, deleted: tDocs.deleted })
|
|
50
|
+
.from(tDocs)
|
|
51
|
+
.where(and(eq(tDocs.ownerHandle, ownerHandle), eq(tDocs.appSlug, appSlug), eq(tDocs.dbName, LEGACY_COMMENTS_DB_NAME)))
|
|
52
|
+
.orderBy(sql `${tDocs.docId}, ${tDocs.seq}`);
|
|
53
|
+
if (legacyRevisions.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
const latestDeleted = new Map();
|
|
56
|
+
for (const row of legacyRevisions)
|
|
57
|
+
latestDeleted.set(row.docId, row.deleted);
|
|
58
|
+
const liveDocIds = [...latestDeleted.entries()].filter(([, deleted]) => deleted !== 1).map(([docId]) => docId);
|
|
59
|
+
const tOutputs = vctx.sql.tables.accessFnOutputs;
|
|
60
|
+
for (const docId of liveDocIds)
|
|
61
|
+
await materializeOutput(vctx, ownerHandle, appSlug, docId);
|
|
62
|
+
const failures = [];
|
|
63
|
+
for (const docId of new Set(legacyRevisions.map((r) => r.docId))) {
|
|
64
|
+
const rMove = await exception2Result(() => moveOneDoc(vctx, ownerHandle, appSlug, docId));
|
|
65
|
+
if (rMove.isErr()) {
|
|
66
|
+
console.warn(`comments migration: could not move ${ownerHandle}/${appSlug}/${docId}:`, rMove.Err());
|
|
67
|
+
failures.push(docId);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const migratedRevisions = await vctx.sql.db
|
|
71
|
+
.select({ docId: tDocs.docId, seq: tDocs.seq, deleted: tDocs.deleted })
|
|
72
|
+
.from(tDocs)
|
|
73
|
+
.where(and(eq(tDocs.ownerHandle, ownerHandle), eq(tDocs.appSlug, appSlug), eq(tDocs.dbName, PLATFORM_COMMENTS_DB_NAME)))
|
|
74
|
+
.orderBy(sql `${tDocs.docId}, ${tDocs.seq}`);
|
|
75
|
+
const migratedDeleted = new Map();
|
|
76
|
+
for (const row of migratedRevisions)
|
|
77
|
+
migratedDeleted.set(row.docId, row.deleted);
|
|
78
|
+
const covered = new Set((await vctx.sql.db
|
|
79
|
+
.select({ docId: tOutputs.docId })
|
|
80
|
+
.from(tOutputs)
|
|
81
|
+
.where(and(eq(tOutputs.ownerHandle, ownerHandle), eq(tOutputs.appSlug, appSlug), eq(tOutputs.dbName, PLATFORM_COMMENTS_DB_NAME)))).map((r) => r.docId));
|
|
82
|
+
for (const [docId, deleted] of migratedDeleted) {
|
|
83
|
+
if (deleted === 1 || covered.has(docId))
|
|
84
|
+
continue;
|
|
85
|
+
await materializeOutput(vctx, ownerHandle, appSlug, docId);
|
|
86
|
+
}
|
|
87
|
+
await vctx.sql.db
|
|
88
|
+
.delete(tOutputs)
|
|
89
|
+
.where(and(eq(tOutputs.ownerHandle, ownerHandle), eq(tOutputs.appSlug, appSlug), eq(tOutputs.dbName, LEGACY_COMMENTS_DB_NAME)));
|
|
90
|
+
const tIdx = vctx.sql.tables.accessFnChannelIndex;
|
|
91
|
+
if (tIdx !== undefined) {
|
|
92
|
+
await vctx.sql.db
|
|
93
|
+
.delete(tIdx)
|
|
94
|
+
.where(and(eq(tIdx.ownerHandle, ownerHandle), eq(tIdx.appSlug, appSlug), eq(tIdx.dbName, LEGACY_COMMENTS_DB_NAME)));
|
|
95
|
+
}
|
|
96
|
+
await clearChannelIndexCompletenessMarker(vctx.sql.db, vctx.sql.tables, {
|
|
97
|
+
ownerHandle,
|
|
98
|
+
appSlug,
|
|
99
|
+
dbName: LEGACY_COMMENTS_DB_NAME,
|
|
100
|
+
});
|
|
101
|
+
const tFeed = vctx.sql.tables.syncFeed;
|
|
102
|
+
if (tFeed !== undefined) {
|
|
103
|
+
await vctx.sql.db
|
|
104
|
+
.delete(tFeed)
|
|
105
|
+
.where(and(eq(tFeed.ownerHandle, ownerHandle), eq(tFeed.appSlug, appSlug), eq(tFeed.dbName, LEGACY_COMMENTS_DB_NAME)));
|
|
106
|
+
}
|
|
107
|
+
if (failures.length > 0) {
|
|
108
|
+
throw new Error(`comments migration could not move ${failures.length} doc(s): ${failures.join(", ")}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async function moveOneDoc(vctx, ownerHandle, appSlug, docId) {
|
|
112
|
+
const tDocs = vctx.sql.tables.appDocuments;
|
|
113
|
+
const legacyWhere = and(eq(tDocs.ownerHandle, ownerHandle), eq(tDocs.appSlug, appSlug), eq(tDocs.dbName, LEGACY_COMMENTS_DB_NAME), eq(tDocs.docId, docId));
|
|
114
|
+
const existing = await vctx.sql.db
|
|
115
|
+
.select({ seq: tDocs.seq })
|
|
116
|
+
.from(tDocs)
|
|
117
|
+
.where(and(eq(tDocs.ownerHandle, ownerHandle), eq(tDocs.appSlug, appSlug), eq(tDocs.dbName, PLATFORM_COMMENTS_DB_NAME), eq(tDocs.docId, docId)))
|
|
118
|
+
.limit(1)
|
|
119
|
+
.then((rows) => rows[0]);
|
|
120
|
+
if (existing === undefined) {
|
|
121
|
+
await vctx.sql.db.update(tDocs).set({ dbName: PLATFORM_COMMENTS_DB_NAME }).where(legacyWhere);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const legacyHead = await vctx.sql.db
|
|
125
|
+
.select({ seq: tDocs.seq, data: tDocs.data, deleted: tDocs.deleted, userId: tDocs.userId, created: tDocs.created })
|
|
126
|
+
.from(tDocs)
|
|
127
|
+
.where(legacyWhere)
|
|
128
|
+
.orderBy(desc(tDocs.seq))
|
|
129
|
+
.limit(1)
|
|
130
|
+
.then((rows) => rows[0]);
|
|
131
|
+
if (legacyHead !== undefined) {
|
|
132
|
+
await allocateAndInsertRevision({
|
|
133
|
+
db: vctx.sql.db,
|
|
134
|
+
flavour: vctx.sql.flavour,
|
|
135
|
+
table: tDocs,
|
|
136
|
+
row: {
|
|
137
|
+
ownerHandle,
|
|
138
|
+
appSlug,
|
|
139
|
+
dbName: PLATFORM_COMMENTS_DB_NAME,
|
|
140
|
+
docId,
|
|
141
|
+
userId: legacyHead.userId,
|
|
142
|
+
data: legacyHead.data,
|
|
143
|
+
deleted: legacyHead.deleted,
|
|
144
|
+
created: legacyHead.created,
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
await vctx.sql.db.delete(tDocs).where(legacyWhere);
|
|
149
|
+
}
|
|
150
|
+
async function materializeOutput(vctx, ownerHandle, appSlug, docId) {
|
|
151
|
+
const tOutputs = vctx.sql.tables.accessFnOutputs;
|
|
152
|
+
const output = JSON.stringify(PLATFORM_COMMENTS_DESCRIPTOR);
|
|
153
|
+
const hasGrants = hasGrantBearingDescriptor(PLATFORM_COMMENTS_DESCRIPTOR) ? 1 : 0;
|
|
154
|
+
await vctx.sql.db
|
|
155
|
+
.insert(tOutputs)
|
|
156
|
+
.values({
|
|
157
|
+
ownerHandle,
|
|
158
|
+
appSlug,
|
|
159
|
+
dbName: PLATFORM_COMMENTS_DB_NAME,
|
|
160
|
+
docId,
|
|
161
|
+
fnCid: PLATFORM_COMMENTS_CID,
|
|
162
|
+
output,
|
|
163
|
+
hasGrants,
|
|
164
|
+
})
|
|
165
|
+
.onConflictDoUpdate({
|
|
166
|
+
target: [tOutputs.ownerHandle, tOutputs.appSlug, tOutputs.dbName, tOutputs.docId],
|
|
167
|
+
set: { fnCid: PLATFORM_COMMENTS_CID, output, hasGrants },
|
|
168
|
+
});
|
|
169
|
+
const rIndex = await syncChannelIndexForDescriptor(vctx.sql.db, vctx.sql.tables, { ownerHandle, appSlug, dbName: PLATFORM_COMMENTS_DB_NAME, docId }, PLATFORM_COMMENTS_DESCRIPTOR);
|
|
170
|
+
if (rIndex.isErr())
|
|
171
|
+
throw rIndex.Err();
|
|
172
|
+
}
|
|
173
|
+
export async function moveStoredPin(vctx, ownerHandle, appSlug, ensureSettings = ensureAppSettings) {
|
|
174
|
+
const read = { type: "vibes.diy.req-ensure-app-settings", appSlug, ownerHandle };
|
|
175
|
+
const rSettings = await ensureSettings(vctx, { ...read, env: [] });
|
|
176
|
+
if (rSettings.isErr())
|
|
177
|
+
return;
|
|
178
|
+
const dbAcls = rSettings.Ok().settings.entry.dbAcls;
|
|
179
|
+
const legacyPin = dbAcls?.[LEGACY_COMMENTS_DB_NAME];
|
|
180
|
+
if (legacyPin === undefined)
|
|
181
|
+
return;
|
|
182
|
+
const tHandle = vctx.sql.tables.handleBinding;
|
|
183
|
+
const ownerRow = await vctx.sql.db
|
|
184
|
+
.select({ userId: tHandle.userId })
|
|
185
|
+
.from(tHandle)
|
|
186
|
+
.where(eq(tHandle.handle, ownerHandle))
|
|
187
|
+
.limit(1)
|
|
188
|
+
.then((rows) => rows[0]);
|
|
189
|
+
if (ownerRow === undefined)
|
|
190
|
+
return;
|
|
191
|
+
if (dbAcls?.[PLATFORM_COMMENTS_DB_NAME] === undefined) {
|
|
192
|
+
const rSet = await ensureSettings(vctx, { ...read, dbAcl: { dbName: PLATFORM_COMMENTS_DB_NAME, acl: legacyPin } }, ownerRow.userId);
|
|
193
|
+
if (rSet.isErr())
|
|
194
|
+
throw new Error(`could not re-pin ${PLATFORM_COMMENTS_DB_NAME}: ${rSet.Err().message}`);
|
|
195
|
+
if (rSet.Ok().error !== undefined)
|
|
196
|
+
throw new Error(`could not re-pin ${PLATFORM_COMMENTS_DB_NAME}: ${rSet.Ok().error}`);
|
|
197
|
+
const stored = rSet.Ok().settings.entry.dbAcls?.[PLATFORM_COMMENTS_DB_NAME];
|
|
198
|
+
if (stored === undefined) {
|
|
199
|
+
throw new Error(`re-pin of ${PLATFORM_COMMENTS_DB_NAME} reported success but stored nothing`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
await ensureSettings(vctx, { ...read, dbAclRemove: { dbName: LEGACY_COMMENTS_DB_NAME } }, ownerRow.userId);
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=platform-comments-migration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-comments-migration.js","sourceRoot":"","sources":["../../jsr/public/platform-comments-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type DbAcl, type DbAclSubject, type DbPosture } from "@vibes.diy/api-types";
|
|
2
|
+
import { PLATFORM_COMMENTS_DESCRIPTOR, PLATFORM_COMMENTS_SOURCE } from "./platform-comments-access-fn.js";
|
|
3
|
+
export declare const PLATFORM_DB_PREFIX = "_";
|
|
4
|
+
export declare function isPlatformDbName(dbName: string): boolean;
|
|
5
|
+
export declare const PLATFORM_DENY_EXPORT = "_denied";
|
|
6
|
+
export declare const PLATFORM_DENY_SOURCE = "export function _denied(doc, oldDoc, user, ctx) {\n return { forbidden: \"database names starting with an underscore are reserved for the platform \u2014 rename this database\" };\n}";
|
|
7
|
+
export declare const PLATFORM_DENY_CID: string;
|
|
8
|
+
export declare const PLATFORM_COMMENTS_DB_NAME = "_comments";
|
|
9
|
+
export declare const PLATFORM_COMMENTS_EXPORT = "_comments";
|
|
10
|
+
export { PLATFORM_COMMENTS_SOURCE, PLATFORM_COMMENTS_DESCRIPTOR };
|
|
11
|
+
export declare const PLATFORM_COMMENTS_CID: string;
|
|
12
|
+
export interface PlatformDbEntry {
|
|
13
|
+
readonly dbName: string;
|
|
14
|
+
readonly accessFnCid: string;
|
|
15
|
+
readonly accessFnSource: string;
|
|
16
|
+
readonly exportSelector: string;
|
|
17
|
+
readonly defaultAcl: (posture: DbPosture) => DbAcl;
|
|
18
|
+
readonly visibilityCeiling: boolean;
|
|
19
|
+
readonly settableSubjects: {
|
|
20
|
+
readonly read: readonly DbAclSubject[];
|
|
21
|
+
readonly write: readonly DbAclSubject[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function listPlatformDbs(): readonly PlatformDbEntry[];
|
|
25
|
+
export declare function lookupPlatformDb(dbName: string): PlatformDbEntry | undefined;
|
|
26
|
+
export declare function platformBuiltinSourceForCid(cid: string): string | undefined;
|
|
27
|
+
export interface LegacyPlatformDbEntry {
|
|
28
|
+
readonly id: "media" | "dm";
|
|
29
|
+
readonly accessFnCid: string;
|
|
30
|
+
readonly accessFnSource: string;
|
|
31
|
+
readonly exportSelector: string;
|
|
32
|
+
readonly visibilityCeiling: false;
|
|
33
|
+
}
|
|
34
|
+
export declare const LEGACY_PLATFORM_DBS: ReadonlyMap<"media" | "dm", LegacyPlatformDbEntry>;
|
|
35
|
+
export declare function legacyPlatformDb(id: "media" | "dm"): LegacyPlatformDbEntry;
|
|
36
|
+
export declare function platformDbPinAllowed(entry: PlatformDbEntry, acl: DbAcl): boolean;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { sha256 } from "@noble/hashes/sha2.js";
|
|
2
|
+
import { utf8ToBytes } from "@noble/hashes/utils.js";
|
|
3
|
+
import { base58btc } from "multiformats/bases/base58";
|
|
4
|
+
import { COMMENTS_DEFAULT_ACL, COMMENTS_OPEN_DEFAULT_ACL, } from "@vibes.diy/api-types";
|
|
5
|
+
import { DM_BUILTIN_CID, DM_BUILTIN_SOURCE } from "./dm-access-fn.js";
|
|
6
|
+
import { MEDIA_BUILTIN_CID, MEDIA_BUILTIN_SOURCE } from "./media-access-fn.js";
|
|
7
|
+
import { PLATFORM_COMMENTS_DESCRIPTOR, PLATFORM_COMMENTS_SOURCE } from "./platform-comments-access-fn.js";
|
|
8
|
+
export const PLATFORM_DB_PREFIX = "_";
|
|
9
|
+
export function isPlatformDbName(dbName) {
|
|
10
|
+
return dbName.startsWith(PLATFORM_DB_PREFIX);
|
|
11
|
+
}
|
|
12
|
+
function builtinCid(source) {
|
|
13
|
+
return base58btc.encode(sha256(utf8ToBytes(source)));
|
|
14
|
+
}
|
|
15
|
+
export const PLATFORM_DENY_EXPORT = "_denied";
|
|
16
|
+
export const PLATFORM_DENY_SOURCE = `export function ${PLATFORM_DENY_EXPORT}(doc, oldDoc, user, ctx) {
|
|
17
|
+
return { forbidden: "database names starting with an underscore are reserved for the platform — rename this database" };
|
|
18
|
+
}`;
|
|
19
|
+
export const PLATFORM_DENY_CID = builtinCid(PLATFORM_DENY_SOURCE);
|
|
20
|
+
export const PLATFORM_COMMENTS_DB_NAME = "_comments";
|
|
21
|
+
export const PLATFORM_COMMENTS_EXPORT = PLATFORM_COMMENTS_DB_NAME;
|
|
22
|
+
export { PLATFORM_COMMENTS_SOURCE, PLATFORM_COMMENTS_DESCRIPTOR };
|
|
23
|
+
export const PLATFORM_COMMENTS_CID = builtinCid(PLATFORM_COMMENTS_SOURCE);
|
|
24
|
+
const STANDARD_SUBJECTS = ["anyone", "signed-in", "members", "editors", "submitters", "readers"];
|
|
25
|
+
const REGISTRY = new Map([
|
|
26
|
+
[
|
|
27
|
+
PLATFORM_COMMENTS_DB_NAME,
|
|
28
|
+
{
|
|
29
|
+
dbName: PLATFORM_COMMENTS_DB_NAME,
|
|
30
|
+
accessFnCid: PLATFORM_COMMENTS_CID,
|
|
31
|
+
accessFnSource: PLATFORM_COMMENTS_SOURCE,
|
|
32
|
+
exportSelector: PLATFORM_COMMENTS_EXPORT,
|
|
33
|
+
defaultAcl: (posture) => (posture === "open" ? COMMENTS_OPEN_DEFAULT_ACL : COMMENTS_DEFAULT_ACL),
|
|
34
|
+
visibilityCeiling: true,
|
|
35
|
+
settableSubjects: { read: STANDARD_SUBJECTS, write: STANDARD_SUBJECTS },
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
]);
|
|
39
|
+
export function listPlatformDbs() {
|
|
40
|
+
return [...REGISTRY.values()];
|
|
41
|
+
}
|
|
42
|
+
export function lookupPlatformDb(dbName) {
|
|
43
|
+
return REGISTRY.get(dbName);
|
|
44
|
+
}
|
|
45
|
+
export function platformBuiltinSourceForCid(cid) {
|
|
46
|
+
if (cid === PLATFORM_DENY_CID)
|
|
47
|
+
return PLATFORM_DENY_SOURCE;
|
|
48
|
+
for (const entry of REGISTRY.values()) {
|
|
49
|
+
if (entry.accessFnCid === cid)
|
|
50
|
+
return entry.accessFnSource;
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
export const LEGACY_PLATFORM_DBS = new Map([
|
|
55
|
+
[
|
|
56
|
+
"media",
|
|
57
|
+
{
|
|
58
|
+
id: "media",
|
|
59
|
+
accessFnCid: MEDIA_BUILTIN_CID,
|
|
60
|
+
accessFnSource: MEDIA_BUILTIN_SOURCE,
|
|
61
|
+
exportSelector: "media",
|
|
62
|
+
visibilityCeiling: false,
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
"dm",
|
|
67
|
+
{
|
|
68
|
+
id: "dm",
|
|
69
|
+
accessFnCid: DM_BUILTIN_CID,
|
|
70
|
+
accessFnSource: DM_BUILTIN_SOURCE,
|
|
71
|
+
exportSelector: "messages",
|
|
72
|
+
visibilityCeiling: false,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
]);
|
|
76
|
+
export function legacyPlatformDb(id) {
|
|
77
|
+
const entry = LEGACY_PLATFORM_DBS.get(id);
|
|
78
|
+
if (entry === undefined)
|
|
79
|
+
throw new Error(`unknown legacy platform db: ${id}`);
|
|
80
|
+
return entry;
|
|
81
|
+
}
|
|
82
|
+
export function platformDbPinAllowed(entry, acl) {
|
|
83
|
+
const ok = (subjects, allowed) => subjects === undefined || subjects.every((s) => allowed.includes(s));
|
|
84
|
+
return ok(acl.read, entry.settableSubjects.read) && ok(acl.write, entry.settableSubjects.write);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=platform-db-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform-db-registry.js","sourceRoot":"","sources":["../../jsr/public/platform-db-registry.ts"],"names":[],"mappings":"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"}
|
package/public/publish-app.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { EventoHandler, Result } from "@adviser/cement";
|
|
2
|
-
import { MsgBase, ReqPublishApp, ResPublishApp, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
2
|
+
import { MsgBase, ReqPublishApp, ResPublishApp, VibesDiyError, W3CWebSocketEvent, type AnonWriteMode, type DbPosture, type FileSystemItem, type PostureIntent } from "@vibes.diy/api-types";
|
|
3
3
|
import { VibesApiSQLCtx } from "../types.js";
|
|
4
4
|
import { MintProductionResult } from "./app-seq-allocation.js";
|
|
5
|
-
import type { FileSystemItem } from "@vibes.diy/api-types";
|
|
6
5
|
export declare function applyReleaseSideEffects(vctx: VibesApiSQLCtx, args: {
|
|
7
6
|
readonly ownerHandle: string;
|
|
8
7
|
readonly appSlug: string;
|
|
@@ -12,10 +11,25 @@ export declare function applyReleaseSideEffects(vctx: VibesApiSQLCtx, args: {
|
|
|
12
11
|
};
|
|
13
12
|
readonly mint: MintProductionResult;
|
|
14
13
|
}): Promise<void>;
|
|
15
|
-
export declare function
|
|
14
|
+
export declare function applyPrivateFirstPostureDefault(vctx: VibesApiSQLCtx, args: {
|
|
16
15
|
readonly ownerHandle: string;
|
|
17
16
|
readonly appSlug: string;
|
|
18
17
|
readonly ownerUserId: string;
|
|
18
|
+
readonly seed: DbPosture;
|
|
19
19
|
}): Promise<void>;
|
|
20
|
+
export declare function applyPublishEnvelopeIntent(vctx: VibesApiSQLCtx, args: {
|
|
21
|
+
readonly ownerHandle: string;
|
|
22
|
+
readonly appSlug: string;
|
|
23
|
+
readonly ownerUserId: string;
|
|
24
|
+
readonly posture?: PostureIntent;
|
|
25
|
+
readonly anonWrite?: AnonWriteMode;
|
|
26
|
+
}): Promise<Result<void>>;
|
|
27
|
+
export declare function applyPostMintSteps(steps: {
|
|
28
|
+
readonly seedDefaultPosture: () => Promise<void>;
|
|
29
|
+
readonly releaseSideEffects: () => Promise<void>;
|
|
30
|
+
readonly applyEnvelope?: () => Promise<Result<void>>;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
readonly envelopeError?: string;
|
|
33
|
+
}>;
|
|
20
34
|
export declare function publishApp(vctx: VibesApiSQLCtx, req: ReqPublishApp, userId: string): Promise<Result<ResPublishApp>>;
|
|
21
35
|
export declare const publishAppEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqPublishApp>, ResPublishApp | VibesDiyError>;
|
package/public/publish-app.js
CHANGED
|
@@ -13,6 +13,7 @@ import { logAdminWriteOverride, platformAdminActingOn } from "./platform-admin.j
|
|
|
13
13
|
import { publishAccessBindings } from "../intern/process-access-bindings.js";
|
|
14
14
|
import { applySeed, findSeedAssetURI } from "../intern/apply-seed.js";
|
|
15
15
|
import { purgeRootHtmlCacheSameColo } from "../intern/swr-purge.js";
|
|
16
|
+
import { stampReleaseChips } from "./chip-stamp.js";
|
|
16
17
|
export async function applyReleaseSideEffects(vctx, args) {
|
|
17
18
|
const { ownerHandle, appSlug, target, mint } = args;
|
|
18
19
|
const publishedRow = target.fsId === mint.fsId
|
|
@@ -69,19 +70,54 @@ export async function applyReleaseSideEffects(vctx, args) {
|
|
|
69
70
|
}
|
|
70
71
|
purgeRootHtmlCacheSameColo(vctx, ownerHandle, appSlug);
|
|
71
72
|
}
|
|
72
|
-
export async function
|
|
73
|
+
export async function applyPrivateFirstPostureDefault(vctx, args) {
|
|
73
74
|
const rSettings = await ensureAppSettings(vctx, { type: "vibes.diy.req-ensure-app-settings", appSlug: args.appSlug, ownerHandle: args.ownerHandle }, args.ownerUserId);
|
|
74
|
-
if (rSettings.
|
|
75
|
-
|
|
75
|
+
if (rSettings.isErr())
|
|
76
|
+
return;
|
|
77
|
+
const entry = rSettings.Ok().settings.entry;
|
|
78
|
+
if (entry.posture !== undefined || entry.enableRequest !== undefined || entry.publicAccess !== undefined)
|
|
79
|
+
return;
|
|
80
|
+
const rSeed = await ensureAppSettings(vctx, {
|
|
81
|
+
type: "vibes.diy.req-ensure-app-settings",
|
|
82
|
+
appSlug: args.appSlug,
|
|
83
|
+
ownerHandle: args.ownerHandle,
|
|
84
|
+
posture: args.seed,
|
|
85
|
+
}, args.ownerUserId);
|
|
86
|
+
if (rSeed.isErr() || rSeed.Ok().error !== undefined) {
|
|
87
|
+
console.warn(`applyPrivateFirstPostureDefault: write failed for ${args.ownerHandle}/${args.appSlug}:`, rSeed.isErr() ? rSeed.Err() : rSeed.Ok().error);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
export async function applyPublishEnvelopeIntent(vctx, args) {
|
|
91
|
+
const r = await ensureAppSettings(vctx, args.posture === undefined
|
|
92
|
+
? {
|
|
76
93
|
type: "vibes.diy.req-ensure-app-settings",
|
|
77
94
|
appSlug: args.appSlug,
|
|
78
95
|
ownerHandle: args.ownerHandle,
|
|
79
|
-
|
|
80
|
-
}, args.ownerUserId);
|
|
81
|
-
if (rEnable.isErr() || rEnable.Ok().error !== undefined) {
|
|
82
|
-
console.warn(`applyPrivateFirstEnableRequestDefault: write failed for ${args.ownerHandle}/${args.appSlug}:`, rEnable.isErr() ? rEnable.Err() : rEnable.Ok().error);
|
|
96
|
+
anonWrite: args.anonWrite,
|
|
83
97
|
}
|
|
84
|
-
|
|
98
|
+
: {
|
|
99
|
+
type: "vibes.diy.req-ensure-app-settings",
|
|
100
|
+
appSlug: args.appSlug,
|
|
101
|
+
ownerHandle: args.ownerHandle,
|
|
102
|
+
posture: args.posture,
|
|
103
|
+
...(args.anonWrite === undefined ? {} : { anonWrite: args.anonWrite }),
|
|
104
|
+
}, args.ownerUserId);
|
|
105
|
+
if (r.isErr())
|
|
106
|
+
return Result.Err(r.Err());
|
|
107
|
+
const err = r.Ok().error;
|
|
108
|
+
if (err !== undefined)
|
|
109
|
+
return Result.Err(err);
|
|
110
|
+
return Result.Ok(undefined);
|
|
111
|
+
}
|
|
112
|
+
export async function applyPostMintSteps(steps) {
|
|
113
|
+
await steps.seedDefaultPosture();
|
|
114
|
+
await steps.releaseSideEffects();
|
|
115
|
+
if (steps.applyEnvelope === undefined)
|
|
116
|
+
return {};
|
|
117
|
+
const r = await steps.applyEnvelope();
|
|
118
|
+
if (r.isErr())
|
|
119
|
+
return { envelopeError: r.Err().message };
|
|
120
|
+
return {};
|
|
85
121
|
}
|
|
86
122
|
export async function publishApp(vctx, req, userId) {
|
|
87
123
|
let target;
|
|
@@ -143,16 +179,37 @@ export async function publishApp(vctx, req, userId) {
|
|
|
143
179
|
suppressed: true,
|
|
144
180
|
});
|
|
145
181
|
}
|
|
146
|
-
await
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
182
|
+
const post = await applyPostMintSteps({
|
|
183
|
+
seedDefaultPosture: () => applyPrivateFirstPostureDefault(vctx, {
|
|
184
|
+
ownerHandle: req.ownerHandle,
|
|
185
|
+
appSlug: req.appSlug,
|
|
186
|
+
ownerUserId: target.userId,
|
|
187
|
+
seed: req.seedPosture ?? "private",
|
|
188
|
+
}),
|
|
189
|
+
releaseSideEffects: () => applyReleaseSideEffects(vctx, {
|
|
190
|
+
ownerHandle: req.ownerHandle,
|
|
191
|
+
appSlug: req.appSlug,
|
|
192
|
+
target: { fsId: target.fsId, fileSystem: target.fileSystem },
|
|
193
|
+
mint,
|
|
194
|
+
}),
|
|
195
|
+
...(req.posture === undefined && req.anonWrite === undefined
|
|
196
|
+
? {}
|
|
197
|
+
: {
|
|
198
|
+
applyEnvelope: () => applyPublishEnvelopeIntent(vctx, {
|
|
199
|
+
ownerHandle: req.ownerHandle,
|
|
200
|
+
appSlug: req.appSlug,
|
|
201
|
+
ownerUserId: target.userId,
|
|
202
|
+
...(req.posture === undefined ? {} : { posture: req.posture }),
|
|
203
|
+
...(req.anonWrite === undefined ? {} : { anonWrite: req.anonWrite }),
|
|
204
|
+
}),
|
|
205
|
+
}),
|
|
150
206
|
});
|
|
151
|
-
await
|
|
207
|
+
await stampReleaseChips(vctx, {
|
|
152
208
|
ownerHandle: req.ownerHandle,
|
|
153
209
|
appSlug: req.appSlug,
|
|
154
|
-
|
|
155
|
-
mint,
|
|
210
|
+
userId: target.userId,
|
|
211
|
+
releaseSeq: mint.releaseSeq,
|
|
212
|
+
fsId: mint.fsId,
|
|
156
213
|
});
|
|
157
214
|
return Result.Ok({
|
|
158
215
|
type: "vibes.diy.res-publish-app",
|
|
@@ -162,6 +219,7 @@ export async function publishApp(vctx, req, userId) {
|
|
|
162
219
|
releaseSeq: mint.releaseSeq,
|
|
163
220
|
mode: "production",
|
|
164
221
|
published: mint.released,
|
|
222
|
+
...(post.envelopeError === undefined ? {} : { envelopeError: post.envelopeError }),
|
|
165
223
|
});
|
|
166
224
|
}
|
|
167
225
|
export const publishAppEvento = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish-app.js","sourceRoot":"","sources":["../../jsr/public/publish-app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACpI,OAAO,EAGL,aAAa,GAMd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAwB,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAQpE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAoB,EACpB,IAOC;IAED,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IASpD,MAAM,YAAY,GAChB,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;QACvB,CAAC,CAAC,MAAM;QACR,CAAC,CAAE,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAChB,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;aAC1B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,EACjD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,EACzC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CACzC,CACF;aACA,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAoE,CAAC;IAC/F,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,IAAI,EAAE;YAC9C,WAAW;YACX,OAAO;YACP,UAAU,EAAE,mBAAmB;SAChC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,iDAAiD,WAAW,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACxG,CAAC;QAOD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACxC,SAAS,CAAC,IAAI,EAAE;YACd,WAAW;YACX,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;SACpD,CAAC,CACH,CAAC;QACF,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,oCAAoC,WAAW,IAAI,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,0DAA0D,WAAW,IAAI,OAAO,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACrH,CAAC;IAID,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,MAAM,aAAa,GAAG,iBAAiB,CAAC;YACtC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG;YACxB,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SACpD,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE;gBACP,IAAI,EAAE,yBAAyB;gBAC/B,WAAW;gBACX,OAAO;gBACP,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,aAAa;gBACtB,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,YAAY;aACnB;YACD,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,CAAC;SACuB,CAAC,CAAC;IACnC,CAAC;IAKD,0BAA0B,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,IAAoB,EACpB,IAA8F;IAE9F,MAAM,SAAS,GAAG,MAAM,iBAAiB,CACvC,IAAI,EACJ,EAAE,IAAI,EAAE,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EACnG,IAAI,CAAC,WAAW,CACjB,CAAC;IACF,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CACrC,IAAI,EACJ;YACE,IAAI,EAAE,mCAAmC;YACzC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SAC1B,EACD,IAAI,CAAC,WAAW,CACjB,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACxD,OAAO,CAAC,IAAI,CACV,2DAA2D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,GAAG,EAC9F,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAoB,EAAE,GAAkB,EAAE,MAAc;IAIvF,IAAI,MAA4D,CAAC;IACjE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aACvB,MAAM,EAAE;aACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;aAC1B,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,EACvC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,EAC7C,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CACtD,CACF;aACA,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrC,CAAC;IASD,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC;IAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE;YAC7C,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAKjB,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBAClG,OAAO,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC;YACD,qBAAqB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACzH,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IAGH,CAAC;IASD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,CACxC,qBAAqB,CAAC;QACpB,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;QACf,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO;QACzB,OAAO,EAAE,GAAG,CAAC,OAAO;QAIpB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACjC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,UAAU,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,EAAE;KACxG,CAAC,CACH,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC,GAAG,CAAC,mDAAmD,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,CAAC;IAIxB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,GAAG,CACf,qDAAqD,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,yCAAyC,CAC7H,CAAC;IACJ,CAAC;IAKD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,EAAE,CAAC;YACf,IAAI,EAAE,2BAA2B;YACjC,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,IAAI;SACO,CAAC,CAAC;IAC7B,CAAC;IAQD,MAAM,qCAAqC,CAAC,IAAI,EAAE;QAChD,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,MAAM,CAAC,MAAM;KAC3B,CAAC,CAAC;IAKH,MAAM,uBAAuB,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,UAA8B,EAAE;QAChF,IAAI;KACL,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC,EAAE,CAAC;QACf,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,IAAI,CAAC,QAAQ;KACD,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAA4F;IACvH,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,MAAM,CAAC,EAAE,CACd,MAAM,CAAC,IAAI,CAAC;YACV,GAAG,GAAG;YACN,OAAO,EAAE,GAAG;SACb,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,CACf,KAAK,EACH,GAAoH,EACjF,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC;QAE/D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,GAA+B,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3G,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CACF;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"publish-app.js","sourceRoot":"","sources":["../../jsr/public/publish-app.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { EventoHandler } from "@adviser/cement";
|
|
2
2
|
import { MsgBase, ReqReportActiveMembers, ResReportActiveMembers, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
import { VibesApiSQLCtx } from "../types.js";
|
|
4
|
+
export declare function computeActiveMembers(vctx: VibesApiSQLCtx): Promise<ResReportActiveMembers>;
|
|
3
5
|
export declare const reportActiveMembersEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqReportActiveMembers>, ResReportActiveMembers | VibesDiyError>;
|
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
2
|
import { reqReportActiveMembers, resReportActiveMembers, } from "@vibes.diy/api-types";
|
|
3
3
|
import { type } from "arktype";
|
|
4
|
-
import {
|
|
4
|
+
import { gte } from "drizzle-orm";
|
|
5
5
|
import { unwrapMsgBase } from "../unwrap-msg-base.js";
|
|
6
6
|
import { checkAuth } from "../check-auth.js";
|
|
7
7
|
import { cachedReport, hasReport } from "./report-cache.js";
|
|
8
8
|
import { last30DaysUTC } from "./report-dates.js";
|
|
9
|
-
async function computeActiveMembers(vctx) {
|
|
9
|
+
export async function computeActiveMembers(vctx) {
|
|
10
10
|
const t = vctx.sql.tables;
|
|
11
|
-
const
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
ownerHandle: t.
|
|
15
|
-
appSlug: t.
|
|
16
|
-
})
|
|
17
|
-
.from(t.requestGrants)
|
|
18
|
-
.where(eq(t.requestGrants.state, "approved"));
|
|
19
|
-
const invRows = await vctx.sql.db
|
|
20
|
-
.select({
|
|
21
|
-
memberId: t.inviteGrants.tokenOrGrantUserId,
|
|
22
|
-
ownerHandle: t.inviteGrants.ownerHandle,
|
|
23
|
-
appSlug: t.inviteGrants.appSlug,
|
|
11
|
+
const participantRows = await vctx.sql.db
|
|
12
|
+
.selectDistinct({
|
|
13
|
+
userId: t.appParticipants.userId,
|
|
14
|
+
ownerHandle: t.appParticipants.ownerHandle,
|
|
15
|
+
appSlug: t.appParticipants.appSlug,
|
|
24
16
|
})
|
|
25
|
-
.from(t.
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
17
|
+
.from(t.appParticipants);
|
|
18
|
+
const participantKeys = new Set();
|
|
19
|
+
for (const r of participantRows) {
|
|
20
|
+
if (r.userId === null || r.userId === undefined)
|
|
21
|
+
continue;
|
|
22
|
+
participantKeys.add(`${r.userId}:${r.ownerHandle}:${r.appSlug}`);
|
|
30
23
|
}
|
|
31
24
|
const days = last30DaysUTC();
|
|
32
25
|
const since = `${days[0]}T00:00:00.000Z`;
|
|
@@ -44,7 +37,7 @@ async function computeActiveMembers(vctx) {
|
|
|
44
37
|
if (w.userId === "unknown")
|
|
45
38
|
continue;
|
|
46
39
|
const key = `${w.userId}:${w.ownerHandle}:${w.appSlug}`;
|
|
47
|
-
if (!
|
|
40
|
+
if (!participantKeys.has(key))
|
|
48
41
|
continue;
|
|
49
42
|
const day = w.created.slice(0, 10);
|
|
50
43
|
let bucket = dayBuckets.get(day);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-active-members.js","sourceRoot":"","sources":["../../jsr/public/report-active-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAQL,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"report-active-members.js","sourceRoot":"","sources":["../../jsr/public/report-active-members.ts"],"names":[],"mappings":"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"}
|