@vibes.diy/api-svc 2.3.4 → 2.4.0
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/cf-serve.js +1 -1
- package/cf-serve.js.map +1 -1
- package/create-handler.js +2 -2
- package/create-handler.js.map +1 -1
- package/intern/write-apps.js +5 -3
- package/intern/write-apps.js.map +1 -1
- package/package.json +11 -11
- package/public/app-documents.js.map +1 -1
- package/public/asset-upload-grant.js.map +1 -1
- package/public/ensure-app-slug-item.js +5 -3
- package/public/ensure-app-slug-item.js.map +1 -1
- package/public/get-app-by-fsid.js +35 -1
- package/public/get-app-by-fsid.js.map +1 -1
- package/public/invite-flow.js +2 -3
- package/public/invite-flow.js.map +1 -1
- package/public/list-members.js.map +1 -1
- package/public/list-recent-vibes.js +2 -3
- package/public/list-recent-vibes.js.map +1 -1
- package/public/pin-recent-vibe.js +5 -3
- package/public/pin-recent-vibe.js.map +1 -1
- package/public/report-active-members.d.ts +3 -0
- package/public/report-active-members.js +94 -0
- package/public/report-active-members.js.map +1 -0
- package/public/report-attribution-referrers.js +38 -7
- package/public/report-attribution-referrers.js.map +1 -1
- package/public/report-cache.d.ts +1 -0
- package/public/report-cache.js +2 -0
- package/public/report-cache.js.map +1 -1
- package/public/report-growth-memberships.js +2 -3
- package/public/report-growth-memberships.js.map +1 -1
- package/public/report-growth-vibes-with-data.js +2 -3
- package/public/report-growth-vibes-with-data.js.map +1 -1
- package/public/report-top-vibes-by-members.d.ts +3 -0
- package/public/report-top-vibes-by-members.js +76 -0
- package/public/report-top-vibes-by-members.js.map +1 -0
- package/public/request-flow.js +18 -18
- package/public/request-flow.js.map +1 -1
- package/public/store-and-audit-asset.js +0 -26
- package/public/store-and-audit-asset.js.map +1 -1
- package/public/user-slug-bindings.js +4 -4
- package/public/user-slug-bindings.js.map +1 -1
- package/public/who-am-i.js.map +1 -1
- package/vibes-msg-evento.js +7 -5
- package/vibes-msg-evento.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-members.js","sourceRoot":"","sources":["../../jsr/public/list-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAEL,cAAc,
|
|
1
|
+
{"version":3,"file":"list-members.js","sourceRoot":"","sources":["../../jsr/public/list-members.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,9 +68,8 @@ export const listRecentVibesEvento = {
|
|
|
68
68
|
const rDecoded = decodeCursor(req.cursor);
|
|
69
69
|
if (rDecoded.isErr()) {
|
|
70
70
|
await ctx.send.send(ctx, {
|
|
71
|
-
type: "vibes.diy.error",
|
|
72
|
-
message: `Invalid cursor: ${rDecoded.Err().message}`,
|
|
73
|
-
code: "list-recent-vibes-invalid-cursor",
|
|
71
|
+
type: "vibes.diy.res-error",
|
|
72
|
+
error: { message: `Invalid cursor: ${rDecoded.Err().message}`, code: "list-recent-vibes-invalid-cursor" },
|
|
74
73
|
});
|
|
75
74
|
return Result.Ok(EventoResult.Continue);
|
|
76
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-recent-vibes.js","sourceRoot":"","sources":["../../jsr/public/list-recent-vibes.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EACN,MAAM,EAGN,YAAY,EACZ,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,YAAY,EACZ,aAAa,EAEb,kBAAkB,
|
|
1
|
+
{"version":3,"file":"list-recent-vibes.js","sourceRoot":"","sources":["../../jsr/public/list-recent-vibes.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,9 +28,11 @@ export const pinRecentVibeEvento = {
|
|
|
28
28
|
.then((r) => r[0]);
|
|
29
29
|
if (appRow === undefined) {
|
|
30
30
|
await ctx.send.send(ctx, {
|
|
31
|
-
type: "vibes.diy.error",
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
type: "vibes.diy.res-error",
|
|
32
|
+
error: {
|
|
33
|
+
message: `not found or not authorized to pin ${req.userSlug}/${req.appSlug}`,
|
|
34
|
+
code: "pin-recent-vibe-not-found",
|
|
35
|
+
},
|
|
34
36
|
});
|
|
35
37
|
return Result.Ok(EventoResult.Continue);
|
|
36
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pin-recent-vibe.js","sourceRoot":"","sources":["../../jsr/public/pin-recent-vibe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAEL,gBAAgB,GAOjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,mBAAmB,GAAkG;IAChI,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,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,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,CACf,KAAK,EACH,GAA0H,EACvF,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAiB,aAAa,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;QAEpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aAC7B,MAAM,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;aACxD,IAAI,CAAC,GAAG,CAAC;aACT,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;aAC3E,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;aACxE,KAAK,CAAC,CAAC,CAAC;aACR,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"pin-recent-vibe.js","sourceRoot":"","sources":["../../jsr/public/pin-recent-vibe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { MsgBase, ReqReportActiveMembers, ResReportActiveMembers, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
export declare const reportActiveMembersEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqReportActiveMembers>, ResReportActiveMembers | VibesDiyError>;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
|
+
import { reqReportActiveMembers, resReportActiveMembers, } from "@vibes.diy/api-types";
|
|
3
|
+
import { type } from "arktype";
|
|
4
|
+
import { eq, 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
|
+
function last30DaysUTC() {
|
|
9
|
+
const days = [];
|
|
10
|
+
const now = new Date();
|
|
11
|
+
for (let i = 29; i >= 0; i--) {
|
|
12
|
+
const d = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate() - i));
|
|
13
|
+
days.push(d.toISOString().slice(0, 10));
|
|
14
|
+
}
|
|
15
|
+
return days;
|
|
16
|
+
}
|
|
17
|
+
async function computeActiveMembers(vctx) {
|
|
18
|
+
const t = vctx.sql.tables;
|
|
19
|
+
const reqRows = await vctx.sql.db
|
|
20
|
+
.select({
|
|
21
|
+
memberId: t.requestGrants.foreignUserId,
|
|
22
|
+
userSlug: t.requestGrants.userSlug,
|
|
23
|
+
appSlug: t.requestGrants.appSlug,
|
|
24
|
+
})
|
|
25
|
+
.from(t.requestGrants)
|
|
26
|
+
.where(eq(t.requestGrants.state, "approved"));
|
|
27
|
+
const invRows = await vctx.sql.db
|
|
28
|
+
.select({
|
|
29
|
+
memberId: t.inviteGrants.tokenOrGrantUserId,
|
|
30
|
+
userSlug: t.inviteGrants.userSlug,
|
|
31
|
+
appSlug: t.inviteGrants.appSlug,
|
|
32
|
+
})
|
|
33
|
+
.from(t.inviteGrants)
|
|
34
|
+
.where(eq(t.inviteGrants.state, "accepted"));
|
|
35
|
+
const memberKeys = new Set();
|
|
36
|
+
for (const r of [...reqRows, ...invRows]) {
|
|
37
|
+
memberKeys.add(`${r.memberId}:${r.userSlug}:${r.appSlug}`);
|
|
38
|
+
}
|
|
39
|
+
const days = last30DaysUTC();
|
|
40
|
+
const since = `${days[0]}T00:00:00.000Z`;
|
|
41
|
+
const writes = await vctx.sql.db
|
|
42
|
+
.select({
|
|
43
|
+
userId: t.appDocuments.userId,
|
|
44
|
+
userSlug: t.appDocuments.userSlug,
|
|
45
|
+
appSlug: t.appDocuments.appSlug,
|
|
46
|
+
created: t.appDocuments.created,
|
|
47
|
+
})
|
|
48
|
+
.from(t.appDocuments)
|
|
49
|
+
.where(gte(t.appDocuments.created, since));
|
|
50
|
+
const dayBuckets = new Map();
|
|
51
|
+
for (const w of writes) {
|
|
52
|
+
if (w.userId === "unknown")
|
|
53
|
+
continue;
|
|
54
|
+
const key = `${w.userId}:${w.userSlug}:${w.appSlug}`;
|
|
55
|
+
if (!memberKeys.has(key))
|
|
56
|
+
continue;
|
|
57
|
+
const day = w.created.slice(0, 10);
|
|
58
|
+
let bucket = dayBuckets.get(day);
|
|
59
|
+
if (bucket === undefined) {
|
|
60
|
+
bucket = new Set();
|
|
61
|
+
dayBuckets.set(day, bucket);
|
|
62
|
+
}
|
|
63
|
+
bucket.add(w.userId);
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
type: "vibes.diy.res-report-active-members",
|
|
67
|
+
generatedAt: new Date().toISOString(),
|
|
68
|
+
days: days.map((day) => ({ day, count: dayBuckets.get(day)?.size ?? 0 })),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export const reportActiveMembersEvento = {
|
|
72
|
+
hash: "vibes.diy.req-report-active-members",
|
|
73
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
74
|
+
const ret = reqReportActiveMembers(msg.payload);
|
|
75
|
+
if (ret instanceof type.errors)
|
|
76
|
+
return Result.Ok(Option.None());
|
|
77
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
78
|
+
}),
|
|
79
|
+
handle: checkAuth(async (ctx) => {
|
|
80
|
+
const req = ctx.validated.payload;
|
|
81
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
82
|
+
if (hasReport(req._auth.verifiedAuth.claims, "growth") === false) {
|
|
83
|
+
await ctx.send.send(ctx, {
|
|
84
|
+
type: "vibes.diy.res-error",
|
|
85
|
+
error: { message: "not authorized for growth report", code: "report-not-authorized" },
|
|
86
|
+
});
|
|
87
|
+
return Result.Ok(EventoResult.Continue);
|
|
88
|
+
}
|
|
89
|
+
const res = await cachedReport(vctx, "active-members", resReportActiveMembers, () => computeActiveMembers(vctx));
|
|
90
|
+
await ctx.send.send(ctx, res);
|
|
91
|
+
return Result.Ok(EventoResult.Continue);
|
|
92
|
+
}),
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=report-active-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-active-members.js","sourceRoot":"","sources":["../../jsr/public/report-active-members.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,63 @@
|
|
|
1
1
|
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
2
|
import { reqReportAttributionReferrers, resReportAttributionReferrers, } from "@vibes.diy/api-types";
|
|
3
3
|
import { type } from "arktype";
|
|
4
|
-
import { sql, desc, eq } from "drizzle-orm";
|
|
4
|
+
import { sql, desc, eq, notInArray, and } 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
|
+
const OWNED_HOSTS = [
|
|
9
|
+
"vibesdiy.app",
|
|
10
|
+
"www.vibesdiy.app",
|
|
11
|
+
"vibesdiy.work",
|
|
12
|
+
"www.vibesdiy.work",
|
|
13
|
+
"vibing.cool",
|
|
14
|
+
"www.vibing.cool",
|
|
15
|
+
"vibecode.garden",
|
|
16
|
+
"www.vibecode.garden",
|
|
17
|
+
"www.justvibes.dev",
|
|
18
|
+
"www.vibrate.dev",
|
|
19
|
+
"www.realize.run",
|
|
20
|
+
"www.dreamcode.live",
|
|
21
|
+
"www.vibes.software",
|
|
22
|
+
];
|
|
23
|
+
const LEGACY_VIBE_PATH_RE = sql `'^/vibe/[^/]+$'`;
|
|
8
24
|
async function computeAttributionReferrers(vctx, reqPathFilter) {
|
|
9
25
|
const t = vctx.sql.tables;
|
|
26
|
+
const ownedFilter = notInArray(t.refererEvents.refHost, OWNED_HOSTS);
|
|
27
|
+
const notLegacyVibeFilter = sql `${t.refererEvents.reqPath} !~ ${LEGACY_VIBE_PATH_RE}`;
|
|
10
28
|
const baseQuery = vctx.sql.db
|
|
11
29
|
.select({
|
|
12
30
|
refHost: t.refererEvents.refHost,
|
|
13
31
|
refPath: t.refererEvents.refPath,
|
|
14
32
|
reqPath: t.refererEvents.reqPath,
|
|
15
33
|
total: sql `cast(count(*) as int)`,
|
|
16
|
-
conversions: sql `cast(count(*) filter (where ${t.refererEvents.reqPath} like '/api/%' or ${t.refererEvents.reqPath} like '/new%' or ${t.refererEvents.reqPath} like '/vibe/%') as int)`,
|
|
17
34
|
})
|
|
18
35
|
.from(t.refererEvents)
|
|
19
36
|
.$dynamic();
|
|
20
|
-
const filtered = reqPathFilter !== undefined
|
|
37
|
+
const filtered = reqPathFilter !== undefined
|
|
38
|
+
? baseQuery.where(and(ownedFilter, notLegacyVibeFilter, eq(t.refererEvents.reqPath, reqPathFilter)))
|
|
39
|
+
: baseQuery.where(and(ownedFilter, notLegacyVibeFilter));
|
|
21
40
|
const rows = await filtered
|
|
22
41
|
.groupBy(t.refererEvents.refHost, t.refererEvents.refPath, t.refererEvents.reqPath)
|
|
23
42
|
.orderBy(desc(sql `count(*)`))
|
|
24
43
|
.limit(100);
|
|
44
|
+
const legacyVibeRows = reqPathFilter === undefined
|
|
45
|
+
? await vctx.sql.db
|
|
46
|
+
.select({
|
|
47
|
+
reqPath: t.refererEvents.reqPath,
|
|
48
|
+
total: sql `cast(count(*) as int)`,
|
|
49
|
+
})
|
|
50
|
+
.from(t.refererEvents)
|
|
51
|
+
.where(sql `${t.refererEvents.reqPath} ~ ${LEGACY_VIBE_PATH_RE}`)
|
|
52
|
+
.groupBy(t.refererEvents.reqPath)
|
|
53
|
+
.orderBy(desc(sql `count(*)`))
|
|
54
|
+
.limit(200)
|
|
55
|
+
: [];
|
|
25
56
|
return {
|
|
26
57
|
type: "vibes.diy.res-report-attribution-referrers",
|
|
27
58
|
generatedAt: new Date().toISOString(),
|
|
28
|
-
rows
|
|
59
|
+
rows,
|
|
60
|
+
legacyVibeRows,
|
|
29
61
|
};
|
|
30
62
|
}
|
|
31
63
|
export const reportAttributionReferrersEvento = {
|
|
@@ -41,9 +73,8 @@ export const reportAttributionReferrersEvento = {
|
|
|
41
73
|
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
42
74
|
if (hasReport(req._auth.verifiedAuth.claims, "attribution") === false) {
|
|
43
75
|
await ctx.send.send(ctx, {
|
|
44
|
-
type: "vibes.diy.error",
|
|
45
|
-
message: "not authorized for attribution report",
|
|
46
|
-
code: "report-not-authorized",
|
|
76
|
+
type: "vibes.diy.res-error",
|
|
77
|
+
error: { message: "not authorized for attribution report", code: "report-not-authorized" },
|
|
47
78
|
});
|
|
48
79
|
return Result.Ok(EventoResult.Continue);
|
|
49
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-attribution-referrers.js","sourceRoot":"","sources":["../../jsr/public/report-attribution-referrers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAQL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"report-attribution-referrers.js","sourceRoot":"","sources":["../../jsr/public/report-attribution-referrers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAQL,6BAA6B,EAC7B,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,GAAG;IAClB,cAAc;IACd,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,qBAAqB;IACrB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,oBAAoB;IACpB,oBAAoB;CACrB,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,CAAA,iBAAiB,CAAC;AAEjD,KAAK,UAAU,2BAA2B,CAAC,IAAoB,EAAE,aAAsB;IACrF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAE1B,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrE,MAAM,mBAAmB,GAAG,GAAG,CAAA,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,OAAO,mBAAmB,EAAE,CAAC;IAEtF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;SAC1B,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;QAChC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;QAChC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;QAChC,KAAK,EAAE,GAAG,CAAQ,uBAAuB;KAC1C,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;SACrB,QAAQ,EAAE,CAAC;IAEd,MAAM,QAAQ,GACZ,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QACpG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,MAAM,QAAQ;SACxB,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;SAClF,OAAO,CAAC,IAAI,CAAC,GAAG,CAAA,UAAU,CAAC,CAAC;SAC5B,KAAK,CAAC,GAAG,CAAC,CAAC;IAEd,MAAM,cAAc,GAClB,aAAa,KAAK,SAAS;QACzB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE;aACd,MAAM,CAAC;YACN,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO;YAChC,KAAK,EAAE,GAAG,CAAQ,uBAAuB;SAC1C,CAAC;aACD,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;aACrB,KAAK,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,MAAM,mBAAmB,EAAE,CAAC;aAC/D,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC;aAChC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAA,UAAU,CAAC,CAAC;aAC5B,KAAK,CAAC,GAAG,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,IAAI,EAAE,4CAA4C;QAClD,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACrC,IAAI;QACJ,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAIzC;IACF,IAAI,EAAE,4CAA4C;IAClD,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,GAAY,EAAE,EAAE;QAC7C,MAAM,GAAG,GAAG,6BAA6B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,GAAG,YAAY,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,MAAM,EAAE,SAAS,CACf,KAAK,EACH,GAIC,EACkC,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,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC;YACtE,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,EAAE,OAAO,EAAE,uCAAuC,EAAE,IAAI,EAAE,uBAAuB,EAAE;aACxE,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC;QAClC,MAAM,QAAQ,GACZ,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC;QACvH,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,6BAA6B,EAAE,GAAG,EAAE,CACjF,2BAA2B,CAAC,IAAI,EAAE,aAAa,CAAC,CACjD,CAAC;QACF,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CACF;CACF,CAAC"}
|
package/public/report-cache.d.ts
CHANGED
package/public/report-cache.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type } from "arktype";
|
|
2
2
|
const reportsClaim = type({ "reports?": "(string)[]" });
|
|
3
3
|
export function hasReport(claims, name) {
|
|
4
|
+
if (claims.params?.email?.endsWith("@vibes.diy"))
|
|
5
|
+
return true;
|
|
4
6
|
const parsed = reportsClaim(claims.params?.public_meta);
|
|
5
7
|
if (parsed instanceof type.errors)
|
|
6
8
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-cache.js","sourceRoot":"","sources":["../../jsr/public/report-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,SAAS,CAAC;AAUrC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"report-cache.js","sourceRoot":"","sources":["../../jsr/public/report-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAQ,MAAM,SAAS,CAAC;AAUrC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC;AAExD,MAAM,UAAU,SAAS,CAAC,MAA8D,EAAE,IAAY;IACpG,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC;IAC5B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAcD,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAoB,EACpB,GAAW,EACX,MAAS,EACT,OAAkC;IAElC,MAAM,GAAG,GAAG,WAAW,UAAU,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,GAAG,GAAY,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,MAAM,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;QAEpC,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,EAAE;YACP,eAAe,EAAE,WAAW,iBAAiB,EAAE;YAC/C,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CACH,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -104,9 +104,8 @@ export const reportGrowthMembershipsEvento = {
|
|
|
104
104
|
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
105
105
|
if (hasReport(req._auth.verifiedAuth.claims, "growth") === false) {
|
|
106
106
|
await ctx.send.send(ctx, {
|
|
107
|
-
type: "vibes.diy.error",
|
|
108
|
-
message: "not authorized for growth report",
|
|
109
|
-
code: "report-not-authorized",
|
|
107
|
+
type: "vibes.diy.res-error",
|
|
108
|
+
error: { message: "not authorized for growth report", code: "report-not-authorized" },
|
|
110
109
|
});
|
|
111
110
|
return Result.Ok(EventoResult.Continue);
|
|
112
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-growth-memberships.js","sourceRoot":"","sources":["../../jsr/public/report-growth-memberships.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"report-growth-memberships.js","sourceRoot":"","sources":["../../jsr/public/report-growth-memberships.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,9 +51,8 @@ export const reportGrowthVibesWithDataEvento = {
|
|
|
51
51
|
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
52
52
|
if (hasReport(req._auth.verifiedAuth.claims, "growth") === false) {
|
|
53
53
|
await ctx.send.send(ctx, {
|
|
54
|
-
type: "vibes.diy.error",
|
|
55
|
-
message: "not authorized for growth report",
|
|
56
|
-
code: "report-not-authorized",
|
|
54
|
+
type: "vibes.diy.res-error",
|
|
55
|
+
error: { message: "not authorized for growth report", code: "report-not-authorized" },
|
|
57
56
|
});
|
|
58
57
|
return Result.Ok(EventoResult.Continue);
|
|
59
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-growth-vibes-with-data.js","sourceRoot":"","sources":["../../jsr/public/report-growth-vibes-with-data.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"report-growth-vibes-with-data.js","sourceRoot":"","sources":["../../jsr/public/report-growth-vibes-with-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { MsgBase, ReqReportTopVibesByMembers, ResReportTopVibesByMembers, VibesDiyError, W3CWebSocketEvent } from "@vibes.diy/api-types";
|
|
3
|
+
export declare const reportTopVibesByMembersEvento: EventoHandler<W3CWebSocketEvent, MsgBase<ReqReportTopVibesByMembers>, ResReportTopVibesByMembers | VibesDiyError>;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Result, Option, EventoResult } from "@adviser/cement";
|
|
2
|
+
import { reqReportTopVibesByMembers, resReportTopVibesByMembers, } from "@vibes.diy/api-types";
|
|
3
|
+
import { type } from "arktype";
|
|
4
|
+
import { eq } 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
|
+
async function computeTopVibesByMembers(vctx) {
|
|
9
|
+
const t = vctx.sql.tables;
|
|
10
|
+
const reqRows = await vctx.sql.db
|
|
11
|
+
.select({
|
|
12
|
+
memberId: t.requestGrants.foreignUserId,
|
|
13
|
+
userSlug: t.requestGrants.userSlug,
|
|
14
|
+
appSlug: t.requestGrants.appSlug,
|
|
15
|
+
})
|
|
16
|
+
.from(t.requestGrants)
|
|
17
|
+
.where(eq(t.requestGrants.state, "approved"));
|
|
18
|
+
const invRows = await vctx.sql.db
|
|
19
|
+
.select({
|
|
20
|
+
memberId: t.inviteGrants.tokenOrGrantUserId,
|
|
21
|
+
userSlug: t.inviteGrants.userSlug,
|
|
22
|
+
appSlug: t.inviteGrants.appSlug,
|
|
23
|
+
})
|
|
24
|
+
.from(t.inviteGrants)
|
|
25
|
+
.where(eq(t.inviteGrants.state, "accepted"));
|
|
26
|
+
const vibeMembers = new Map();
|
|
27
|
+
for (const r of [...reqRows, ...invRows]) {
|
|
28
|
+
const vibeKey = `${r.userSlug}\x00${r.appSlug}`;
|
|
29
|
+
let members = vibeMembers.get(vibeKey);
|
|
30
|
+
if (members === undefined) {
|
|
31
|
+
members = new Set();
|
|
32
|
+
vibeMembers.set(vibeKey, members);
|
|
33
|
+
}
|
|
34
|
+
members.add(r.memberId);
|
|
35
|
+
}
|
|
36
|
+
const rows = [...vibeMembers.entries()]
|
|
37
|
+
.map(([key, members]) => {
|
|
38
|
+
const sep = key.indexOf("\x00");
|
|
39
|
+
return {
|
|
40
|
+
userSlug: key.slice(0, sep),
|
|
41
|
+
appSlug: key.slice(sep + 1),
|
|
42
|
+
memberCount: members.size,
|
|
43
|
+
};
|
|
44
|
+
})
|
|
45
|
+
.sort((a, b) => b.memberCount - a.memberCount)
|
|
46
|
+
.slice(0, 20);
|
|
47
|
+
return {
|
|
48
|
+
type: "vibes.diy.res-report-top-vibes-by-members",
|
|
49
|
+
generatedAt: new Date().toISOString(),
|
|
50
|
+
rows,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export const reportTopVibesByMembersEvento = {
|
|
54
|
+
hash: "vibes.diy.req-report-top-vibes-by-members",
|
|
55
|
+
validate: unwrapMsgBase(async (msg) => {
|
|
56
|
+
const ret = reqReportTopVibesByMembers(msg.payload);
|
|
57
|
+
if (ret instanceof type.errors)
|
|
58
|
+
return Result.Ok(Option.None());
|
|
59
|
+
return Result.Ok(Option.Some({ ...msg, payload: ret }));
|
|
60
|
+
}),
|
|
61
|
+
handle: checkAuth(async (ctx) => {
|
|
62
|
+
const req = ctx.validated.payload;
|
|
63
|
+
const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
|
|
64
|
+
if (hasReport(req._auth.verifiedAuth.claims, "growth") === false) {
|
|
65
|
+
await ctx.send.send(ctx, {
|
|
66
|
+
type: "vibes.diy.res-error",
|
|
67
|
+
error: { message: "not authorized for growth report", code: "report-not-authorized" },
|
|
68
|
+
});
|
|
69
|
+
return Result.Ok(EventoResult.Continue);
|
|
70
|
+
}
|
|
71
|
+
const res = await cachedReport(vctx, "top-vibes-by-members", resReportTopVibesByMembers, () => computeTopVibesByMembers(vctx));
|
|
72
|
+
await ctx.send.send(ctx, res);
|
|
73
|
+
return Result.Ok(EventoResult.Continue);
|
|
74
|
+
}),
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=report-top-vibes-by-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report-top-vibes-by-members.js","sourceRoot":"","sources":["../../jsr/public/report-top-vibes-by-members.ts"],"names":[],"mappings":"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"}
|
package/public/request-flow.js
CHANGED
|
@@ -64,9 +64,8 @@ export async function hasAccessRequest(vctx, req) {
|
|
|
64
64
|
.limit(1);
|
|
65
65
|
if (ownerRows[0]?.userId === req.foreignUserId) {
|
|
66
66
|
return Result.Ok({
|
|
67
|
-
type: "vibes.diy.error",
|
|
68
|
-
message: `owner cannot check own app access: ${req.userSlug}/${req.appSlug}`,
|
|
69
|
-
code: "owner-error",
|
|
67
|
+
type: "vibes.diy.res-error",
|
|
68
|
+
error: { message: `owner cannot check own app access: ${req.userSlug}/${req.appSlug}`, code: "owner-error" },
|
|
70
69
|
});
|
|
71
70
|
}
|
|
72
71
|
return exception2Result(() => vctx.sql.db
|
|
@@ -132,25 +131,22 @@ export async function requestAccess(vctx, req, senderConnId) {
|
|
|
132
131
|
const record = rSettings.Ok();
|
|
133
132
|
if (!record) {
|
|
134
133
|
return Result.Ok({
|
|
135
|
-
type: "vibes.diy.error",
|
|
136
|
-
message: `app not found: ${req.userSlug}/${req.appSlug}`,
|
|
137
|
-
code: "request-access-app-not-found",
|
|
134
|
+
type: "vibes.diy.res-error",
|
|
135
|
+
error: { message: `app not found: ${req.userSlug}/${req.appSlug}`, code: "request-access-app-not-found" },
|
|
138
136
|
});
|
|
139
137
|
}
|
|
140
138
|
if (record.userId === req.foreignUserId) {
|
|
141
139
|
return Result.Ok({
|
|
142
|
-
type: "vibes.diy.error",
|
|
143
|
-
message: `owner cannot request access to own app: ${req.userSlug}/${req.appSlug}`,
|
|
144
|
-
code: "owner-error",
|
|
140
|
+
type: "vibes.diy.res-error",
|
|
141
|
+
error: { message: `owner cannot request access to own app: ${req.userSlug}/${req.appSlug}`, code: "owner-error" },
|
|
145
142
|
});
|
|
146
143
|
}
|
|
147
144
|
const settings = (record.settings ?? []);
|
|
148
145
|
const enableRequest = settings.find(isEnableRequest);
|
|
149
146
|
if (!enableRequest?.enable) {
|
|
150
147
|
return Result.Ok({
|
|
151
|
-
type: "vibes.diy.error",
|
|
152
|
-
message: `access requests not enabled for ${req.userSlug}/${req.appSlug}`,
|
|
153
|
-
code: "request-access-not-enabled",
|
|
148
|
+
type: "vibes.diy.res-error",
|
|
149
|
+
error: { message: `access requests not enabled for ${req.userSlug}/${req.appSlug}`, code: "request-access-not-enabled" },
|
|
154
150
|
});
|
|
155
151
|
}
|
|
156
152
|
const autoAcceptRole = enableRequest.autoAcceptRole;
|
|
@@ -358,9 +354,11 @@ export const approveRequestEvento = {
|
|
|
358
354
|
.limit(1);
|
|
359
355
|
if (!existing[0]) {
|
|
360
356
|
await ctx.send.send(ctx, {
|
|
361
|
-
type: "vibes.diy.error",
|
|
362
|
-
|
|
363
|
-
|
|
357
|
+
type: "vibes.diy.res-error",
|
|
358
|
+
error: {
|
|
359
|
+
message: `approve-request: not found ${req.userSlug}/${req.appSlug}/${req.foreignUserId}`,
|
|
360
|
+
code: "approve-request-not-found",
|
|
361
|
+
},
|
|
364
362
|
});
|
|
365
363
|
return Result.Ok(EventoResult.Continue);
|
|
366
364
|
}
|
|
@@ -421,9 +419,11 @@ export const requestSetRoleEvento = {
|
|
|
421
419
|
.then((rows) => rows[0]);
|
|
422
420
|
if (!existing) {
|
|
423
421
|
await ctx.send.send(ctx, {
|
|
424
|
-
type: "vibes.diy.error",
|
|
425
|
-
|
|
426
|
-
|
|
422
|
+
type: "vibes.diy.res-error",
|
|
423
|
+
error: {
|
|
424
|
+
message: `request-set-role: not found ${req.userSlug}/${req.appSlug}/${req.foreignUserId}`,
|
|
425
|
+
code: "request-set-role-not-found",
|
|
426
|
+
},
|
|
427
427
|
});
|
|
428
428
|
return Result.Ok(EventoResult.Continue);
|
|
429
429
|
}
|