@vibes.diy/api-svc 5.3.0 → 5.3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "5.3.0",
3
+ "version": "5.3.1",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -19,18 +19,18 @@
19
19
  "@libsql/client": "~0.17.4",
20
20
  "@neondatabase/serverless": "~1.1.0",
21
21
  "@noble/hashes": "~2.2.0",
22
- "@vibes.diy/api-pkg": "5.3.0",
23
- "@vibes.diy/api-sql": "5.3.0",
24
- "@vibes.diy/api-types": "5.3.0",
25
- "@vibes.diy/call-ai-v2": "5.3.0",
26
- "@vibes.diy/identity": "5.3.0",
27
- "@vibes.diy/prompts": "5.3.0",
28
- "@vibes.diy/vibe-db-explorer": "5.3.0",
29
- "@vibes.diy/vibe-runtime": "5.3.0",
30
- "@vibes.diy/vibe-types": "5.3.0",
22
+ "@vibes.diy/api-pkg": "5.3.1",
23
+ "@vibes.diy/api-sql": "5.3.1",
24
+ "@vibes.diy/api-types": "5.3.1",
25
+ "@vibes.diy/call-ai-v2": "5.3.1",
26
+ "@vibes.diy/identity": "5.3.1",
27
+ "@vibes.diy/prompts": "5.3.1",
28
+ "@vibes.diy/vibe-db-explorer": "5.3.1",
29
+ "@vibes.diy/vibe-runtime": "5.3.1",
30
+ "@vibes.diy/vibe-types": "5.3.1",
31
31
  "acorn": "~8.17.0",
32
32
  "arktype": "~2.2.3",
33
- "call-ai": "5.3.0",
33
+ "call-ai": "5.3.1",
34
34
  "cookie": "~2.0.1",
35
35
  "drizzle-orm": "~0.45.2",
36
36
  "jose": "~6.2.2",
@@ -0,0 +1,7 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { HomeGalleryItem } from "@vibes.diy/api-types";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ export declare const HOME_GALLERY_LEADERBOARD_LIMIT = 8;
5
+ export declare const HOME_GALLERY_CURATED_LIMIT = 4;
6
+ export declare function computeHomeGalleryFeed(vctx: VibesApiSQLCtx): Promise<HomeGalleryItem[]>;
7
+ export declare function getHomeGalleryFeed(vctx: VibesApiSQLCtx): Promise<Result<HomeGalleryItem[]>>;
@@ -0,0 +1,48 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { resCuratedNewVibes, resHomeLeaderboard } from "@vibes.diy/api-types";
3
+ import { cachedReport } from "./report-cache.js";
4
+ import { computeHomeLeaderboard } from "./home-leaderboard.js";
5
+ import { computeCuratedNewVibes } from "./curated-new-vibes.js";
6
+ import { titleIconKey } from "./home-feed-common.js";
7
+ export const HOME_GALLERY_LEADERBOARD_LIMIT = 8;
8
+ export const HOME_GALLERY_CURATED_LIMIT = 4;
9
+ export async function computeHomeGalleryFeed(vctx) {
10
+ const [leaderboard, fresh] = await Promise.all([
11
+ cachedReport(vctx, `home-leaderboard:${HOME_GALLERY_LEADERBOARD_LIMIT}`, resHomeLeaderboard, () => computeHomeLeaderboard(vctx, HOME_GALLERY_LEADERBOARD_LIMIT)),
12
+ cachedReport(vctx, `curated-new-vibes:${HOME_GALLERY_CURATED_LIMIT}`, resCuratedNewVibes, () => computeCuratedNewVibes(vctx, HOME_GALLERY_CURATED_LIMIT)),
13
+ ]);
14
+ const seen = new Set();
15
+ const items = [];
16
+ for (const row of fresh.items) {
17
+ const key = titleIconKey(row.ownerHandle, row.appSlug);
18
+ if (seen.has(key))
19
+ continue;
20
+ seen.add(key);
21
+ items.push({
22
+ ownerHandle: row.ownerHandle,
23
+ appSlug: row.appSlug,
24
+ section: "fresh",
25
+ ...(row.title ? { title: row.title } : {}),
26
+ ...(row.icon ? { icon: row.icon } : {}),
27
+ });
28
+ }
29
+ for (const row of leaderboard.items) {
30
+ const key = titleIconKey(row.ownerHandle, row.appSlug);
31
+ if (seen.has(key))
32
+ continue;
33
+ seen.add(key);
34
+ items.push({
35
+ ownerHandle: row.ownerHandle,
36
+ appSlug: row.appSlug,
37
+ section: "members",
38
+ writerCount: Number(row.writerCount),
39
+ ...(row.title ? { title: row.title } : {}),
40
+ ...(row.icon ? { icon: row.icon } : {}),
41
+ });
42
+ }
43
+ return items;
44
+ }
45
+ export async function getHomeGalleryFeed(vctx) {
46
+ return exception2Result(() => computeHomeGalleryFeed(vctx));
47
+ }
48
+ //# sourceMappingURL=home-gallery-ssr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home-gallery-ssr.js","sourceRoot":"","sources":["../../jsr/public/home-gallery-ssr.ts"],"names":[],"mappings":"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"}