@vibes.diy/api-svc 2.0.3 → 2.0.6

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 (50) hide show
  1. package/create-handler.js +4 -0
  2. package/create-handler.js.map +1 -1
  3. package/index.d.ts +1 -0
  4. package/index.js +1 -0
  5. package/index.js.map +1 -1
  6. package/intern/ensure-chat-id.js +64 -1
  7. package/intern/ensure-chat-id.js.map +1 -1
  8. package/intern/ensure-slug-binding.d.ts +8 -1
  9. package/intern/ensure-slug-binding.js +71 -40
  10. package/intern/ensure-slug-binding.js.map +1 -1
  11. package/intern/grouped-vibe-import-map.d.ts +2 -22
  12. package/intern/grouped-vibe-import-map.js +3 -23
  13. package/intern/grouped-vibe-import-map.js.map +1 -1
  14. package/intern/pre-allocate.d.ts +12 -0
  15. package/intern/pre-allocate.js +56 -0
  16. package/intern/pre-allocate.js.map +1 -0
  17. package/intern/write-apps.js +16 -3
  18. package/intern/write-apps.js.map +1 -1
  19. package/models.json +19 -6
  20. package/package.json +11 -10
  21. package/public/app-documents.d.ts +7 -0
  22. package/public/app-documents.js +210 -0
  23. package/public/app-documents.js.map +1 -0
  24. package/public/ensure-app-settings.js +25 -2
  25. package/public/ensure-app-settings.js.map +1 -1
  26. package/public/fork-app.d.ts +5 -0
  27. package/public/fork-app.js +287 -0
  28. package/public/fork-app.js.map +1 -0
  29. package/public/open-chat.js +1 -0
  30. package/public/open-chat.js.map +1 -1
  31. package/public/prompt-chat-section.d.ts +5 -3
  32. package/public/prompt-chat-section.js +324 -41
  33. package/public/prompt-chat-section.js.map +1 -1
  34. package/public/request-flow.d.ts +5 -0
  35. package/public/request-flow.js +33 -0
  36. package/public/request-flow.js.map +1 -1
  37. package/svc-ws-send-provider.d.ts +1 -0
  38. package/svc-ws-send-provider.js +1 -0
  39. package/svc-ws-send-provider.js.map +1 -1
  40. package/types.d.ts +1 -0
  41. package/types.js.map +1 -1
  42. package/usage-report/inspect-db-report-template.d.ts +4 -0
  43. package/usage-report/inspect-db-report-template.js +25 -7
  44. package/usage-report/inspect-db-report-template.js.map +1 -1
  45. package/usage-report/inspect-db-report.js +25 -0
  46. package/usage-report/inspect-db-report.js.map +1 -1
  47. package/vibes-msg-evento.js +3 -1
  48. package/vibes-msg-evento.js.map +1 -1
  49. package/intern/import-map.ts-off +0 -405
  50. package/intern/invite-system.ts-off +0 -392
package/create-handler.js CHANGED
@@ -37,6 +37,7 @@ export async function createAppContext(params) {
37
37
  RESEND_API_KEY: param.REQUIRED,
38
38
  VIBES_DIY_PUBLIC_BASE_URL: param.REQUIRED,
39
39
  VIBES_DIY_FROM_EMAIL: "no-reply@vibes.diy",
40
+ PRODIA_TOKEN: param.OPTIONAL,
40
41
  GTM_CONTAINER_ID: param.OPTIONAL,
41
42
  POSTHOG_KEY: param.OPTIONAL,
42
43
  POSTHOG_HOST: param.OPTIONAL,
@@ -123,6 +124,8 @@ export async function createAppContext(params) {
123
124
  llm: {
124
125
  enforced: LLMEnforced({}),
125
126
  headers: LLMHeaders({}),
127
+ url: envVals.LLM_BACKEND_URL,
128
+ apiKey: envVals.LLM_BACKEND_API_KEY,
126
129
  },
127
130
  assetCacheUrl: "https://asset-cache.vibes.app/{assetId}",
128
131
  };
@@ -159,6 +162,7 @@ export async function createAppContext(params) {
159
162
  url: envVals.LLM_BACKEND_URL,
160
163
  apiKey: envVals.LLM_BACKEND_API_KEY,
161
164
  }),
165
+ prodiaToken: envVals.PRODIA_TOKEN,
162
166
  deviceCA: rDeviceIdCA.Ok(),
163
167
  params: svcParams,
164
168
  };
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -11,3 +11,4 @@ export * from "./peers/r2-to-s3api.js";
11
11
  export * from "./intern/application-settings.js";
12
12
  export * from "./public/prompt-chat-section.js";
13
13
  export * from "./noop-cache.js";
14
+ export * from "./intern/ensure-slug-binding.js";
package/index.js CHANGED
@@ -11,4 +11,5 @@ export * from "./peers/r2-to-s3api.js";
11
11
  export * from "./intern/application-settings.js";
12
12
  export * from "./public/prompt-chat-section.js";
13
13
  export * from "./noop-cache.js";
14
+ export * from "./intern/ensure-slug-binding.js";
14
15
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { and, eq } from "drizzle-orm/sql/expressions";
2
2
  import { exception2Result, Result } from "@adviser/cement";
3
+ import { ensureLogger } from "@fireproof/core-runtime";
3
4
  import { ensureUserSlug, ensureAppSlug, getDefaultUserSlug, persistDefaultUserSlug } from "./ensure-slug-binding.js";
5
+ import { preAllocate } from "./pre-allocate.js";
4
6
  export async function ensureChatId(ctx, req) {
5
7
  let appSlug = "";
6
8
  let userSlug = "";
@@ -59,11 +61,24 @@ export async function ensureChatId(ctx, req) {
59
61
  }
60
62
  }
61
63
  if (!chatId) {
62
- const resApp = await ensureAppSlug(ctx, { userId, userSlug, appSlug: req.appSlug });
64
+ let preferredPairs;
65
+ let preAllocSkills;
66
+ if (req.prompt && !req.appSlug) {
67
+ const rPre = await preAllocate(ctx, { prompt: req.prompt });
68
+ if (rPre.isOk()) {
69
+ preferredPairs = rPre.Ok().pairs;
70
+ preAllocSkills = rPre.Ok().skills;
71
+ }
72
+ else {
73
+ console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
74
+ }
75
+ }
76
+ const resApp = await ensureAppSlug(ctx, { userId, userSlug, appSlug: req.appSlug, preferredPairs });
63
77
  if (resApp.isErr()) {
64
78
  return Result.Err(`Failed to ensure appSlug: ${resApp.Err().message}`);
65
79
  }
66
80
  appSlug = resApp.Ok().appSlug;
81
+ const chosenTitle = resApp.Ok().chosenTitle;
67
82
  chatId = ctx.sthis.nextId(12).str;
68
83
  await ctx.sql.db.insert(ctx.sql.tables.chatContexts).values({
69
84
  chatId,
@@ -72,8 +87,56 @@ export async function ensureChatId(ctx, req) {
72
87
  userSlug,
73
88
  created: new Date().toISOString(),
74
89
  });
90
+ if (chosenTitle || preAllocSkills) {
91
+ await writePreAllocActiveEntries(ctx, {
92
+ userId,
93
+ userSlug,
94
+ appSlug,
95
+ title: chosenTitle,
96
+ skills: preAllocSkills,
97
+ });
98
+ }
75
99
  }
76
100
  }
77
101
  return Result.Ok({ appSlug, userSlug, chatId });
78
102
  }
103
+ async function writePreAllocActiveEntries(ctx, { userId, userSlug, appSlug, title, skills, }) {
104
+ const now = new Date().toISOString();
105
+ const entries = [];
106
+ if (title) {
107
+ entries.push({ type: "active.title", title });
108
+ }
109
+ if (skills && skills.length > 0) {
110
+ entries.push({ type: "active.skills", skills });
111
+ }
112
+ if (entries.length === 0)
113
+ return;
114
+ const rIns = await exception2Result(() => ctx.sql.db.insert(ctx.sql.tables.appSettings).values({
115
+ userId,
116
+ userSlug,
117
+ appSlug,
118
+ settings: entries,
119
+ updated: now,
120
+ created: now,
121
+ }));
122
+ if (rIns.isErr()) {
123
+ ensureLogger(ctx.sthis, "writePreAllocActiveEntries")
124
+ .Error()
125
+ .Any({ err: rIns.Err(), userSlug, appSlug })
126
+ .Msg("appSettings insert failed; skipping evt-app-setting");
127
+ return;
128
+ }
129
+ await ctx.postQueue({
130
+ payload: {
131
+ type: "vibes.diy.evt-app-setting",
132
+ userSlug,
133
+ appSlug,
134
+ settings: entries,
135
+ },
136
+ tid: "queue-event",
137
+ src: "ensureChatId",
138
+ dst: "vibes-service",
139
+ ttl: 1,
140
+ });
141
+ }
79
142
  //# sourceMappingURL=ensure-chat-id.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-chat-id.js","sourceRoot":"","sources":["../../jsr/intern/ensure-chat-id.ts"],"names":[],"mappings":"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"}
@@ -9,9 +9,16 @@ export declare function writeUserSlugBinding(ctx: VibesApiSQLCtx, userId: string
9
9
  export declare function ensureUserSlug(ctx: VibesApiSQLCtx, claims: ClerkClaim, binding: (OptAppSlugOptUserSlug | OptAppSlugUserSlug | AppSlugOptUserSlug | AppSlugUserSlug) & {
10
10
  userId: string;
11
11
  }): Promise<Result<UserSlugBinding>>;
12
+ export declare function writeAppSlugBinding(ctx: VibesApiSQLCtx, userId: string, userSlug: string, appSlug: string): Promise<Result<AppSlugBinding>>;
12
13
  export declare function ensureAppSlug(ctx: VibesApiSQLCtx, binding: (OptAppSlugUserSlug | AppSlugUserSlug) & {
13
14
  userId: string;
14
- }): Promise<Result<AppSlugBinding>>;
15
+ preferredPairs?: {
16
+ title: string;
17
+ slug: string;
18
+ }[];
19
+ }): Promise<Result<AppSlugBinding & {
20
+ chosenTitle?: string;
21
+ }>>;
15
22
  export declare function getDefaultUserSlug(ctx: VibesApiSQLCtx, userId: string): Promise<Result<UserSlugBinding | undefined>>;
16
23
  export declare function persistDefaultUserSlug(ctx: VibesApiSQLCtx, userId: string, userSlug: string): Promise<void>;
17
24
  export declare function ensureSlugBinding(ctx: VibesApiSQLCtx, binding: AppSlugBindingParam): Promise<Result<AppUserSlugBinding>>;
@@ -10,29 +10,42 @@ export async function writeUserSlugBinding(ctx, userId, userSlug) {
10
10
  .select()
11
11
  .from(ctx.sql.tables.userSlugBinding)
12
12
  .where(eq(ctx.sql.tables.userSlugBinding.userId, userId));
13
- if (existing.length >= ctx.params.maxUserSlugPerUserId) {
14
- return Result.Err("maximum userSlug bindings reached for this userId");
15
- }
16
- if (existing.find((e) => e.userSlug === userSlug)) {
13
+ const owned = existing.find((e) => e.userSlug === userSlug);
14
+ if (owned) {
17
15
  return Result.Ok({
18
16
  type: "vibes.diy-user-slug-binding",
19
17
  userId,
20
- userSlug: existing[0].userSlug,
21
- tenant: existing[0].tenant,
18
+ userSlug: owned.userSlug,
19
+ tenant: owned.tenant,
22
20
  });
23
21
  }
22
+ if (existing.length >= ctx.params.maxUserSlugPerUserId) {
23
+ return Result.Err("maximum userSlug bindings reached for this userId");
24
+ }
24
25
  const tenant = ctx.sthis.nextId(12).str;
25
- await ctx.sql.db.insert(ctx.sql.tables.userSlugBinding).values({
26
+ await ctx.sql.db
27
+ .insert(ctx.sql.tables.userSlugBinding)
28
+ .values({
26
29
  userId,
27
30
  tenant,
28
31
  userSlug,
29
32
  created: new Date().toISOString(),
30
- });
33
+ })
34
+ .onConflictDoNothing();
35
+ const owner = await ctx.sql.db
36
+ .select()
37
+ .from(ctx.sql.tables.userSlugBinding)
38
+ .where(eq(ctx.sql.tables.userSlugBinding.userSlug, userSlug))
39
+ .limit(1)
40
+ .then((r) => r[0]);
41
+ if (!owner || owner.userId !== userId) {
42
+ return Result.Err(`userSlug "${userSlug}" is owned by another user`);
43
+ }
31
44
  return Result.Ok({
32
45
  type: "vibes.diy-user-slug-binding",
33
46
  userId,
34
47
  userSlug,
35
- tenant,
48
+ tenant: owner.tenant,
36
49
  });
37
50
  });
38
51
  }
@@ -60,32 +73,45 @@ function userSlugFromClaims(claims) {
60
73
  }
61
74
  export async function ensureUserSlug(ctx, claims, binding) {
62
75
  return exception2Result(async () => {
63
- let userSlug = undefined;
64
76
  if (!binding.userSlug) {
77
+ const existingForUser = await ctx.sql.db
78
+ .select()
79
+ .from(ctx.sql.tables.userSlugBinding)
80
+ .where(eq(ctx.sql.tables.userSlugBinding.userId, binding.userId));
81
+ if (existingForUser.length >= ctx.params.maxUserSlugPerUserId) {
82
+ return Result.Err("maximum userSlug bindings reached for this userId");
83
+ }
65
84
  const userSlugCandidates = [
66
85
  ...userSlugFromClaims(claims),
67
86
  ...new Array(5).fill(0).map(() => generate({ exactly: 1, wordsPerString: 3, separator: "-" })[0]),
68
87
  ];
69
88
  for (const tryUserSlug of userSlugCandidates) {
70
- const sanitizedAppSlug = toRFC2822_32ByteLength(tryUserSlug);
71
- if (!sanitizedAppSlug) {
89
+ const sanitizedUserSlug = toRFC2822_32ByteLength(tryUserSlug);
90
+ if (!sanitizedUserSlug) {
72
91
  continue;
73
92
  }
74
93
  const existing = await ctx.sql.db
75
94
  .select()
76
95
  .from(ctx.sql.tables.userSlugBinding)
77
- .where(eq(ctx.sql.tables.userSlugBinding.userSlug, tryUserSlug))
96
+ .where(eq(ctx.sql.tables.userSlugBinding.userSlug, sanitizedUserSlug))
78
97
  .limit(1)
79
98
  .then((r) => r[0]);
80
- if (!existing) {
81
- userSlug = sanitizedAppSlug;
82
- break;
99
+ if (existing) {
100
+ if (existing.userId === binding.userId) {
101
+ return Result.Ok({
102
+ type: "vibes.diy-user-slug-binding",
103
+ userId: binding.userId,
104
+ userSlug: existing.userSlug,
105
+ tenant: existing.tenant,
106
+ });
107
+ }
108
+ continue;
83
109
  }
110
+ const rWrite = await writeUserSlugBinding(ctx, binding.userId, sanitizedUserSlug);
111
+ if (rWrite.isOk())
112
+ return rWrite;
84
113
  }
85
- if (!userSlug) {
86
- return Result.Err("could not generate unique userSlug after 5 attempts");
87
- }
88
- return writeUserSlugBinding(ctx, binding.userId, userSlug);
114
+ return Result.Err("could not generate unique userSlug after attempts");
89
115
  }
90
116
  const sanitizedUserSlug = toRFC2822_32ByteLength(binding.userSlug);
91
117
  const existing = await ctx.sql.db
@@ -105,7 +131,7 @@ export async function ensureUserSlug(ctx, claims, binding) {
105
131
  });
106
132
  });
107
133
  }
108
- async function writeAppSlugBinding(ctx, userId, userSlug, appSlug) {
134
+ export async function writeAppSlugBinding(ctx, userId, userSlug, appSlug) {
109
135
  return exception2Result(async () => {
110
136
  const [{ count }] = await ctx.sql.db
111
137
  .select({ count: sql `count(*)` })
@@ -132,33 +158,38 @@ async function writeAppSlugBinding(ctx, userId, userSlug, appSlug) {
132
158
  }
133
159
  export async function ensureAppSlug(ctx, binding) {
134
160
  return exception2Result(async () => {
135
- let appSlug = undefined;
136
161
  if (!binding.appSlug) {
137
- for (let attempts = 0; attempts < 5; attempts++) {
138
- const tryAppSlug = generate({
139
- exactly: 1,
140
- wordsPerString: 3,
141
- separator: "-",
142
- })[0];
143
- const sanitizedAppSlug = toRFC2822_32ByteLength(tryAppSlug);
144
- if (!sanitizedAppSlug) {
162
+ const [{ count }] = await ctx.sql.db
163
+ .select({ count: sql `count(*)` })
164
+ .from(ctx.sql.tables.userSlugBinding)
165
+ .innerJoin(ctx.sql.tables.appSlugBinding, eq(ctx.sql.tables.userSlugBinding.userSlug, ctx.sql.tables.appSlugBinding.userSlug))
166
+ .where(eq(ctx.sql.tables.userSlugBinding.userId, binding.userId));
167
+ if (count >= ctx.params.maxAppSlugPerUserId) {
168
+ return Result.Err("maximum appSlug bindings reached for this userId");
169
+ }
170
+ const preferred = binding.preferredPairs ?? [];
171
+ const randomAttempts = Math.max(0, 5 - preferred.length);
172
+ const random = new Array(randomAttempts)
173
+ .fill(0)
174
+ .map(() => ({ slug: generate({ exactly: 1, wordsPerString: 3, separator: "-" })[0] }));
175
+ const candidates = [...preferred, ...random];
176
+ for (const candidate of candidates) {
177
+ const sanitized = toRFC2822_32ByteLength(candidate.slug);
178
+ if (!sanitized)
145
179
  continue;
146
- }
147
180
  const existing = await ctx.sql.db
148
181
  .select()
149
182
  .from(ctx.sql.tables.appSlugBinding)
150
- .where(eq(ctx.sql.tables.appSlugBinding.appSlug, tryAppSlug))
183
+ .where(eq(ctx.sql.tables.appSlugBinding.appSlug, sanitized))
151
184
  .limit(1)
152
185
  .then((r) => r[0]);
153
- if (!existing) {
154
- appSlug = tryAppSlug;
155
- break;
156
- }
157
- }
158
- if (!appSlug) {
159
- return Result.Err("could not generate unique appSlug after 5 attempts");
186
+ if (existing)
187
+ continue;
188
+ const rWrite = await writeAppSlugBinding(ctx, binding.userId, binding.userSlug, sanitized);
189
+ if (rWrite.isOk())
190
+ return Result.Ok({ ...rWrite.Ok(), chosenTitle: candidate.title });
160
191
  }
161
- return writeAppSlugBinding(ctx, binding.userId, binding.userSlug, appSlug);
192
+ return Result.Err("could not generate unique appSlug after attempts");
162
193
  }
163
194
  else {
164
195
  const sanitizedAppSlug = toRFC2822_32ByteLength(binding.appSlug);
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-slug-binding.js","sourceRoot":"","sources":["../../jsr/intern/ensure-slug-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ensure-slug-binding.js","sourceRoot":"","sources":["../../jsr/intern/ensure-slug-binding.ts"],"names":[],"mappings":"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"}
@@ -30,29 +30,8 @@ export declare const lockedGroupsVersions: {
30
30
  jose: string;
31
31
  "jose/jwt/decode": string;
32
32
  dompurify: string;
33
- "@fireproof/core-base": string;
34
- "@fireproof/core-blockstore": string;
35
- "@fireproof/core-cli": string;
36
- "@fireproof/core-device-id": string;
37
- "@fireproof/core-gateways-base": string;
38
- "@fireproof/core-gateways-cloud": string;
39
- "@fireproof/core-gateways-file-deno": string;
40
- "@fireproof/core-gateways-file-node": string;
41
- "@fireproof/core-gateways-file": string;
42
- "@fireproof/core-gateways-indexeddb": string;
43
- "@fireproof/core-gateways-memory": string;
44
- "@fireproof/core-keybag": string;
45
- "@fireproof/core-protocols-cloud": string;
46
- "@fireproof/core-protocols-dashboard": string;
47
- "@fireproof/core-runtime": string;
48
- "@fireproof/core-types-base": string;
49
- "@fireproof/core-types-blockstore": string;
50
- "@fireproof/core-types-protocols-cloud": string;
51
- "@fireproof/core-types-runtime": string;
52
- "@fireproof/core": string;
53
- "@fireproof/vendor": string;
54
- "@fireproof/use-fireproof": string;
55
33
  "use-fireproof": string;
34
+ "@fireproof/use-fireproof": string;
56
35
  "@emotion/css": string;
57
36
  };
58
37
  react: {
@@ -84,6 +63,7 @@ export declare const lockedGroupsVersions: {
84
63
  "@vibes.diy/vibe-db-explorer/root": string;
85
64
  "@vibes.diy/vibe-db-explorer/start": string;
86
65
  "call-ai": string;
66
+ "img-vibes": string;
87
67
  "use-vibes": string;
88
68
  };
89
69
  };
@@ -30,29 +30,8 @@ export const lockedGroupsVersions = {
30
30
  jose: "version:JOSE",
31
31
  "jose/jwt/decode": "version:JOSE",
32
32
  dompurify: "version:DOMPURIFY",
33
- "@fireproof/core-base": "version:FP",
34
- "@fireproof/core-blockstore": "version:FP",
35
- "@fireproof/core-cli": "version:FP",
36
- "@fireproof/core-device-id": "version:FP",
37
- "@fireproof/core-gateways-base": "version:FP",
38
- "@fireproof/core-gateways-cloud": "version:FP",
39
- "@fireproof/core-gateways-file-deno": "version:FP",
40
- "@fireproof/core-gateways-file-node": "version:FP",
41
- "@fireproof/core-gateways-file": "version:FP",
42
- "@fireproof/core-gateways-indexeddb": "version:FP",
43
- "@fireproof/core-gateways-memory": "version:FP",
44
- "@fireproof/core-keybag": "version:FP",
45
- "@fireproof/core-protocols-cloud": "version:FP",
46
- "@fireproof/core-protocols-dashboard": "version:FP",
47
- "@fireproof/core-runtime": "version:FP,deps:multiformats",
48
- "@fireproof/core-types-base": "version:FP",
49
- "@fireproof/core-types-blockstore": "version:FP",
50
- "@fireproof/core-types-protocols-cloud": "version:FP",
51
- "@fireproof/core-types-runtime": "version:FP",
52
- "@fireproof/core": "version:FP",
53
- "@fireproof/vendor": "version:FP",
54
- "@fireproof/use-fireproof": "version:FP,deps:react",
55
- "use-fireproof": "version:FP,deps:react",
33
+ "use-fireproof": "alias:@vibes.diy/vibe-runtime",
34
+ "@fireproof/use-fireproof": "alias:@vibes.diy/vibe-runtime",
56
35
  "@emotion/css": "version:EMOTION",
57
36
  },
58
37
  react: {
@@ -84,6 +63,7 @@ export const lockedGroupsVersions = {
84
63
  "@vibes.diy/vibe-db-explorer/root": "privateNpm:",
85
64
  "@vibes.diy/vibe-db-explorer/start": "privateNpm:",
86
65
  "call-ai": "alias:@vibes.diy/vibe-runtime",
66
+ "img-vibes": "alias:@vibes.diy/vibe-runtime",
87
67
  "use-vibes": "alias:@vibes.diy/vibe-runtime",
88
68
  },
89
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"grouped-vibe-import-map.js","sourceRoot":"","sources":["../../jsr/intern/grouped-vibe-import-map.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE;QACX,WAAW,EAAE,qBAAqB;KACnC;IACD,SAAS,EAAE;QACT,iBAAiB,EAAE,wBAAwB;QAC3C,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,sBAAsB;QACpC,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,eAAe;QAC/B,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,iBAAiB,EAAE,cAAc;QACjC,SAAS,EAAE,mBAAmB;QAC9B,sBAAsB,EAAE,YAAY;QACpC,4BAA4B,EAAE,YAAY;QAC1C,qBAAqB,EAAE,YAAY;QACnC,2BAA2B,EAAE,YAAY;QACzC,+BAA+B,EAAE,YAAY;QAC7C,gCAAgC,EAAE,YAAY;QAC9C,oCAAoC,EAAE,YAAY;QAClD,oCAAoC,EAAE,YAAY;QAClD,+BAA+B,EAAE,YAAY;QAC7C,oCAAoC,EAAE,YAAY;QAClD,iCAAiC,EAAE,YAAY;QAC/C,wBAAwB,EAAE,YAAY;QACtC,iCAAiC,EAAE,YAAY;QAC/C,qCAAqC,EAAE,YAAY;QACnD,yBAAyB,EAAE,8BAA8B;QACzD,4BAA4B,EAAE,YAAY;QAC1C,kCAAkC,EAAE,YAAY;QAChD,uCAAuC,EAAE,YAAY;QACrD,+BAA+B,EAAE,YAAY;QAC7C,iBAAiB,EAAE,YAAY;QAC/B,mBAAmB,EAAE,YAAY;QACjC,0BAA0B,EAAE,uBAAuB;QACnD,eAAe,EAAE,uBAAuB;QACxC,cAAc,EAAE,iBAAiB;KAGlC;IACD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,eAAe;KAC7B;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,eAAe;QAC5B,kBAAkB,EAAE,eAAe;QACnC,mBAAmB,EAAE,eAAe;QACpC,uBAAuB,EAAE,eAAe;KACzC;IACD,SAAS,EAAE;QACT,mBAAmB,EAAE,iBAAiB;QACtC,eAAe,EAAE,4BAA4B;KAC9C;IACD,cAAc,EAAE;QACd,cAAc,EAAE,iCAAiC;QACjD,kBAAkB,EAAE,iCAAiC;KACtD;IACD,cAAc,EAAE;QACd,iBAAiB,EAAE,aAAa;QAChC,yBAAyB,EAAE,aAAa;QACxC,uBAAuB,EAAE,aAAa;QACtC,sBAAsB,EAAE,aAAa;QACrC,uBAAuB,EAAE,aAAa;QACtC,6BAA6B,EAAE,aAAa;QAC5C,kCAAkC,EAAE,aAAa;QACjD,kCAAkC,EAAE,aAAa;QACjD,mCAAmC,EAAE,aAAa;QAQlD,SAAS,EAAE,+BAA+B;QAC1C,WAAW,EAAE,+BAA+B;KAC7C;CACF,CAAC"}
1
+ {"version":3,"file":"grouped-vibe-import-map.js","sourceRoot":"","sources":["../../jsr/intern/grouped-vibe-import-map.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,QAAQ;IACf,cAAc,EAAE,QAAQ;IACxB,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,QAAQ;IACtB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE;QACX,WAAW,EAAE,qBAAqB;KACnC;IACD,SAAS,EAAE;QACT,iBAAiB,EAAE,wBAAwB;QAC3C,IAAI,EAAE,cAAc;QACpB,YAAY,EAAE,sBAAsB;QACpC,KAAK,EAAE,eAAe;QACtB,YAAY,EAAE,eAAe;QAC7B,cAAc,EAAE,eAAe;QAC/B,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,cAAc;QACpB,iBAAiB,EAAE,cAAc;QACjC,SAAS,EAAE,mBAAmB;QAE9B,eAAe,EAAE,+BAA+B;QAChD,0BAA0B,EAAE,+BAA+B;QAC3D,cAAc,EAAE,iBAAiB;KAGlC;IACD,KAAK,EAAE;QACL,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,eAAe;KAC7B;IACD,mBAAmB,EAAE;QACnB,WAAW,EAAE,eAAe;QAC5B,kBAAkB,EAAE,eAAe;QACnC,mBAAmB,EAAE,eAAe;QACpC,uBAAuB,EAAE,eAAe;KACzC;IACD,SAAS,EAAE;QACT,mBAAmB,EAAE,iBAAiB;QACtC,eAAe,EAAE,4BAA4B;KAC9C;IACD,cAAc,EAAE;QACd,cAAc,EAAE,iCAAiC;QACjD,kBAAkB,EAAE,iCAAiC;KACtD;IACD,cAAc,EAAE;QACd,iBAAiB,EAAE,aAAa;QAChC,yBAAyB,EAAE,aAAa;QACxC,uBAAuB,EAAE,aAAa;QACtC,sBAAsB,EAAE,aAAa;QACrC,uBAAuB,EAAE,aAAa;QACtC,6BAA6B,EAAE,aAAa;QAC5C,kCAAkC,EAAE,aAAa;QACjD,kCAAkC,EAAE,aAAa;QACjD,mCAAmC,EAAE,aAAa;QAElD,SAAS,EAAE,+BAA+B;QAC1C,WAAW,EAAE,+BAA+B;QAC5C,WAAW,EAAE,+BAA+B;KAC7C;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { VibesApiSQLCtx } from "../types.js";
3
+ export interface PreAllocateResult {
4
+ skills: string[];
5
+ pairs: {
6
+ title: string;
7
+ slug: string;
8
+ }[];
9
+ }
10
+ export declare function preAllocate(vctx: VibesApiSQLCtx, { prompt }: {
11
+ prompt: string;
12
+ }): Promise<Result<PreAllocateResult>>;
@@ -0,0 +1,56 @@
1
+ import { Result, exception2Result } from "@adviser/cement";
2
+ import { callAI } from "call-ai";
3
+ import { type } from "arktype";
4
+ import { ensureLogger } from "@fireproof/core-runtime";
5
+ import { getLlmCatalogNames, makePreAllocUserMessage, preAllocParsed, preAllocSchema } from "@vibes.diy/prompts";
6
+ import { loadModels } from "../public/list-models.js";
7
+ const PRE_ALLOC_TIMEOUT_MS = 8000;
8
+ export async function preAllocate(vctx, { prompt }) {
9
+ const rModels = await loadModels(vctx);
10
+ if (rModels.isErr())
11
+ return Result.Err(rModels);
12
+ const appDefault = rModels.Ok().models.find((m) => m.preSelected?.includes("app"));
13
+ if (!appDefault)
14
+ return Result.Err("no preSelected app model in catalog");
15
+ const userMessage = await makePreAllocUserMessage(prompt);
16
+ const timeout = new Promise((_, reject) => setTimeout(() => reject(new Error(`pre-alloc LLM call timed out after ${PRE_ALLOC_TIMEOUT_MS}ms`)), PRE_ALLOC_TIMEOUT_MS));
17
+ const rCall = await exception2Result(() => Promise.race([
18
+ callAI(userMessage, {
19
+ model: appDefault.id,
20
+ endpoint: vctx.params.llm.url,
21
+ apiKey: vctx.params.llm.apiKey,
22
+ schema: preAllocSchema,
23
+ }),
24
+ timeout,
25
+ ]));
26
+ if (rCall.isErr())
27
+ return Result.Err(rCall);
28
+ const raw = rCall.Ok();
29
+ if (typeof raw !== "string") {
30
+ return Result.Err("pre-alloc callAI returned non-string (streaming not requested)");
31
+ }
32
+ const rParsed = exception2Result(() => JSON.parse(raw));
33
+ if (rParsed.isErr())
34
+ return Result.Err(`pre-alloc JSON parse failed: ${rParsed.Err()}`);
35
+ const validated = preAllocParsed(rParsed.Ok());
36
+ if (validated instanceof type.errors) {
37
+ return Result.Err(`pre-alloc schema validation failed: ${validated.summary}`);
38
+ }
39
+ if (validated.pairs.length === 0) {
40
+ return Result.Err("pre-alloc returned zero title/slug pairs");
41
+ }
42
+ const catalogNames = await getLlmCatalogNames();
43
+ const validSkills = [];
44
+ const droppedSkills = [];
45
+ for (const s of validated.skills) {
46
+ (catalogNames.has(s) ? validSkills : droppedSkills).push(s);
47
+ }
48
+ if (droppedSkills.length > 0) {
49
+ ensureLogger(vctx.sthis, "preAllocate").Warn().Any({ droppedSkills, validSkills }).Msg("pre-alloc skills missed catalog");
50
+ }
51
+ return Result.Ok({
52
+ skills: validSkills,
53
+ pairs: validated.pairs.slice(0, 3),
54
+ });
55
+ }
56
+ //# sourceMappingURL=pre-allocate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pre-allocate.js","sourceRoot":"","sources":["../../jsr/intern/pre-allocate.ts"],"names":[],"mappings":"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"}