@vibes.diy/api-svc 13.1.14 → 13.1.16

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 (48) hide show
  1. package/index.d.ts +9 -0
  2. package/index.js +9 -0
  3. package/index.js.map +1 -1
  4. package/intern/agent-actor.d.ts +31 -0
  5. package/intern/agent-actor.js +120 -0
  6. package/intern/agent-actor.js.map +1 -0
  7. package/intern/agent-belt.d.ts +24 -0
  8. package/intern/agent-belt.js +157 -0
  9. package/intern/agent-belt.js.map +1 -0
  10. package/intern/agent-build-tools.d.ts +40 -0
  11. package/intern/agent-build-tools.js +96 -0
  12. package/intern/agent-build-tools.js.map +1 -0
  13. package/intern/agent-lane-flag.d.ts +7 -0
  14. package/intern/agent-lane-flag.js +4 -0
  15. package/intern/agent-lane-flag.js.map +1 -0
  16. package/intern/agent-read-tools.d.ts +16 -0
  17. package/intern/agent-read-tools.js +106 -0
  18. package/intern/agent-read-tools.js.map +1 -0
  19. package/intern/agent-turn.d.ts +35 -0
  20. package/intern/agent-turn.js +50 -0
  21. package/intern/agent-turn.js.map +1 -0
  22. package/intern/backend-ai-callback.js +6 -9
  23. package/intern/backend-ai-callback.js.map +1 -1
  24. package/intern/codegen-build-lock.d.ts +36 -0
  25. package/intern/codegen-build-lock.js +47 -0
  26. package/intern/codegen-build-lock.js.map +1 -0
  27. package/intern/ensure-chat-id.d.ts +5 -1
  28. package/intern/ensure-chat-id.js +34 -20
  29. package/intern/ensure-chat-id.js.map +1 -1
  30. package/intern/mint-decision.d.ts +28 -0
  31. package/intern/mint-decision.js +46 -0
  32. package/intern/mint-decision.js.map +1 -0
  33. package/intern/mint-job-store.d.ts +1 -0
  34. package/intern/mint-job-store.js +10 -0
  35. package/intern/mint-job-store.js.map +1 -1
  36. package/intern/pre-allocate.d.ts +2 -1
  37. package/intern/pre-allocate.js +10 -7
  38. package/intern/pre-allocate.js.map +1 -1
  39. package/package.json +11 -11
  40. package/public/llm-dispatch.js.map +1 -1
  41. package/public/open-chat.d.ts +12 -0
  42. package/public/open-chat.js +10 -3
  43. package/public/open-chat.js.map +1 -1
  44. package/public/prompt-chat-section.js +18 -3
  45. package/public/prompt-chat-section.js.map +1 -1
  46. package/public/stream-assembly.d.ts +5 -0
  47. package/public/stream-assembly.js +5 -2
  48. package/public/stream-assembly.js.map +1 -1
@@ -0,0 +1,106 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { isActiveDeferredIntents, isActivePrivacySensitive, isActiveSkills, isActiveTheme, isActiveTitle, } from "@vibes.diy/api-types";
3
+ import { readComposedSettingsForApp } from "../public/app-setting-items.js";
4
+ import { createWorkToolBelt } from "./work-tools.js";
5
+ import { loadVersionTimeline } from "./version-timeline.js";
6
+ import { resolveChatApp } from "./agent-actor.js";
7
+ export const READ_SETTINGS_TOOL_NAME = "read_app_settings";
8
+ export const LIST_VERSIONS_TOOL_NAME = "list_versions";
9
+ export function createAgentReadTools(vctx, args) {
10
+ const work = createWorkToolBelt(args.vfs);
11
+ const scopeOwner = args.actor.scope?.ownerHandle ?? args.actor.ownerHandle;
12
+ const scopeSlug = args.actor.scope?.appSlug;
13
+ const definitions = [
14
+ ...work.definitions,
15
+ {
16
+ type: "function",
17
+ function: {
18
+ name: READ_SETTINGS_TOOL_NAME,
19
+ description: "Read this app's saved settings: its title, the capabilities it was built with, its theme, and any capability " +
20
+ "that was deliberately left for later. Read this before telling the user what the app can already do.",
21
+ parameters: { type: "object", properties: {}, required: [], additionalProperties: false },
22
+ },
23
+ },
24
+ {
25
+ type: "function",
26
+ function: {
27
+ name: LIST_VERSIONS_TOOL_NAME,
28
+ description: "List this app's versions, oldest first, with the current one last. Read this before editing so you can pass " +
29
+ "the version you actually looked at as edit_vibe's baseFsId.",
30
+ parameters: { type: "object", properties: {}, required: [], additionalProperties: false },
31
+ },
32
+ },
33
+ ];
34
+ async function appInScope() {
35
+ if (args.chatId !== undefined) {
36
+ const rApp = await resolveChatApp(vctx, args.actor, args.chatId);
37
+ if (rApp.isErr())
38
+ return { refusal: JSON.stringify(rApp.Err().refusal) };
39
+ return { app: rApp.Ok() };
40
+ }
41
+ if (scopeSlug !== undefined)
42
+ return { app: { ownerHandle: scopeOwner, appSlug: scopeSlug } };
43
+ return {
44
+ refusal: JSON.stringify({
45
+ ok: false,
46
+ reason: "no-app-in-scope",
47
+ message: "This conversation is not about one specific app yet.",
48
+ }),
49
+ };
50
+ }
51
+ const executor = async (input) => {
52
+ if (input.call.name === READ_SETTINGS_TOOL_NAME) {
53
+ const scoped = await appInScope();
54
+ if (scoped.refusal !== undefined)
55
+ return Result.Ok(scoped.refusal);
56
+ const app = scoped.app;
57
+ const entries = await readComposedSettingsForApp(vctx, app.ownerHandle, app.appSlug);
58
+ const title = entries.find(isActiveTitle)?.title;
59
+ const skills = entries.find(isActiveSkills)?.skills ?? [];
60
+ const theme = entries.find(isActiveTheme)?.theme;
61
+ const deferred = entries.find(isActiveDeferredIntents);
62
+ const privacySensitive = entries.find(isActivePrivacySensitive)?.sensitive;
63
+ return Result.Ok(JSON.stringify({
64
+ ok: true,
65
+ skills,
66
+ ...(title === undefined ? {} : { title }),
67
+ ...(theme === undefined ? {} : { theme }),
68
+ ...(privacySensitive === true ? { privacySensitive: true } : {}),
69
+ ...(deferred === undefined
70
+ ? {}
71
+ : {
72
+ deferred: {
73
+ ...(deferred.access === undefined ? {} : { access: deferred.access }),
74
+ ...(deferred.backend === undefined ? {} : { backend: deferred.backend }),
75
+ },
76
+ }),
77
+ }));
78
+ }
79
+ if (input.call.name === LIST_VERSIONS_TOOL_NAME) {
80
+ if (args.chatId === undefined) {
81
+ return Result.Ok(JSON.stringify({
82
+ ok: false,
83
+ reason: "no-app-in-scope",
84
+ message: "This conversation is not about one specific app yet.",
85
+ }));
86
+ }
87
+ const scoped = await appInScope();
88
+ if (scoped.refusal !== undefined)
89
+ return Result.Ok(scoped.refusal);
90
+ const rTimeline = await loadVersionTimeline(vctx, args.chatId);
91
+ if (rTimeline.isErr()) {
92
+ return Result.Ok(JSON.stringify({ ok: false, reason: "failed", message: "Could not read this app's versions." }));
93
+ }
94
+ const timeline = rTimeline.Ok();
95
+ const head = timeline.length > 0 ? timeline[timeline.length - 1] : undefined;
96
+ return Result.Ok(JSON.stringify({
97
+ ok: true,
98
+ versions: timeline.map((t, i) => ({ version: i + 1, fsId: t.fsId })),
99
+ ...(head === undefined ? {} : { headFsId: head.fsId }),
100
+ }));
101
+ }
102
+ return work.executor(input);
103
+ };
104
+ return { definitions, executor };
105
+ }
106
+ //# sourceMappingURL=agent-read-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-read-tools.js","sourceRoot":"","sources":["../../jsr/intern/agent-read-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { Result } from "@adviser/cement";
2
+ import type { LLMRequest, SseStreamMsg } from "@vibes.diy/call-ai-v2";
3
+ import { VibesApiSQLCtx } from "../types.js";
4
+ import type { AgentActor } from "./agent-actor.js";
5
+ import { type AgentBeltArgs } from "./agent-belt.js";
6
+ export declare const AGENT_TOTAL_BUDGET_MS = 120000;
7
+ export declare const AGENT_MAX_TOOL_ROUNDS = 6;
8
+ export declare const AGENT_MAX_TOOL_CALLS = 16;
9
+ export declare const AGENT_MAX_PROVIDER_ATTEMPTS: number;
10
+ export interface AgentTurnDispatch {
11
+ readonly chatId: string;
12
+ readonly appSlug: string;
13
+ }
14
+ export interface AgentTurnStreamArgs {
15
+ readonly vctx: VibesApiSQLCtx;
16
+ readonly actor: AgentActor;
17
+ readonly chatId?: string;
18
+ readonly vfs: ReadonlyMap<string, string>;
19
+ readonly fetchUrl?: AgentBeltArgs["fetchUrl"];
20
+ readonly dispatcher: AgentBeltArgs["dispatcher"];
21
+ readonly request: LLMRequest;
22
+ readonly stream: ReadableStream<SseStreamMsg>;
23
+ readonly abort: AbortController;
24
+ readonly dispatch: (input: {
25
+ request: LLMRequest;
26
+ }) => Promise<Result<{
27
+ readonly request: LLMRequest;
28
+ readonly stream: ReadableStream<SseStreamMsg>;
29
+ readonly abort?: AbortController;
30
+ }>>;
31
+ readonly onDispatch?: (dispatched: AgentTurnDispatch) => void;
32
+ readonly onError?: (error: string) => void;
33
+ readonly now?: () => number;
34
+ }
35
+ export declare function createAgentTurnStream(args: AgentTurnStreamArgs): ReadableStream<SseStreamMsg>;
@@ -0,0 +1,50 @@
1
+ import { Result } from "@adviser/cement";
2
+ import { createAgentBelt } from "./agent-belt.js";
3
+ import { createLlmToolLoopBudget, createLlmToolLoopStream } from "./llm-tool-loop.js";
4
+ export const AGENT_TOTAL_BUDGET_MS = 120_000;
5
+ export const AGENT_MAX_TOOL_ROUNDS = 6;
6
+ export const AGENT_MAX_TOOL_CALLS = 16;
7
+ export const AGENT_MAX_PROVIDER_ATTEMPTS = AGENT_MAX_TOOL_ROUNDS + 1;
8
+ export function createAgentTurnStream(args) {
9
+ const dispatched = [];
10
+ const belt = createAgentBelt(args.vctx, {
11
+ actor: args.actor,
12
+ ...(args.chatId === undefined ? {} : { chatId: args.chatId }),
13
+ vfs: args.vfs,
14
+ ...(args.fetchUrl === undefined ? {} : { fetchUrl: args.fetchUrl }),
15
+ dispatcher: args.dispatcher,
16
+ onDispatch: (d) => {
17
+ dispatched.push(d);
18
+ args.onDispatch?.(d);
19
+ },
20
+ });
21
+ const budget = createLlmToolLoopBudget({
22
+ totalBudgetMs: AGENT_TOTAL_BUDGET_MS,
23
+ maxAttempts: AGENT_MAX_PROVIDER_ATTEMPTS,
24
+ ...(args.now === undefined ? {} : { now: args.now }),
25
+ });
26
+ budget.attemptsUsed = 1;
27
+ return createLlmToolLoopStream({
28
+ request: { ...args.request, tools: [...belt.definitions] },
29
+ stream: args.stream,
30
+ abort: args.abort,
31
+ budget,
32
+ execute: belt.executor,
33
+ maxToolRounds: AGENT_MAX_TOOL_ROUNDS,
34
+ maxToolCalls: AGENT_MAX_TOOL_CALLS,
35
+ dispatch: async (input) => {
36
+ const r = await args.dispatch({ request: input.request });
37
+ if (r.isErr())
38
+ return Result.Err(r.Err());
39
+ const out = r.Ok();
40
+ return Result.Ok({
41
+ request: out.request,
42
+ stream: out.stream,
43
+ ...(out.abort === undefined ? {} : { abort: out.abort }),
44
+ });
45
+ },
46
+ ...(args.onError === undefined ? {} : { onError: args.onError }),
47
+ ...(args.now === undefined ? {} : { now: args.now }),
48
+ });
49
+ }
50
+ //# sourceMappingURL=agent-turn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../jsr/intern/agent-turn.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { chooseSchemaStrategy, extractContent } from "call-ai";
1
+ import { chooseSchemaStrategy, enforcedSchemaFields, extractContent, } from "call-ai";
2
2
  import { buildSchemaSystemMessage } from "@vibes.diy/prompts";
3
3
  import { costCentsFromUsage } from "../billing.js";
4
4
  import { resolveOwnerWriteIdentity } from "./backend-db-callback.js";
@@ -31,7 +31,10 @@ function validateSchema(raw) {
31
31
  }
32
32
  async function schemaRequestFields(strategy, schema, prompt) {
33
33
  const userMessage = { role: "user", content: [{ type: "text", text: prompt }] };
34
- if (strategy.strategy === "system_message") {
34
+ const enforced = strategy.strategy === "system_message"
35
+ ? undefined
36
+ : enforcedSchemaFields(strategy, schema);
37
+ if (enforced === undefined) {
35
38
  let systemText;
36
39
  try {
37
40
  systemText = await buildSchemaSystemMessage(schema);
@@ -43,13 +46,7 @@ async function schemaRequestFields(strategy, schema, prompt) {
43
46
  messages: [{ role: "system", content: [{ type: "text", text: systemText }] }, userMessage],
44
47
  };
45
48
  }
46
- const prepared = strategy.prepareRequest(schema, [{ role: "user", content: prompt }]);
47
- return {
48
- messages: [userMessage],
49
- ...(prepared.response_format !== undefined ? { response_format: prepared.response_format } : {}),
50
- ...(prepared.tools !== undefined ? { tools: prepared.tools } : {}),
51
- ...(prepared.tool_choice !== undefined ? { tool_choice: prepared.tool_choice } : {}),
52
- };
49
+ return { messages: [userMessage], ...enforced };
53
50
  }
54
51
  export function makeBackendAiCallback(vctx, base) {
55
52
  let calls = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"backend-ai-callback.js","sourceRoot":"","sources":["../../jsr/intern/backend-ai-callback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backend-ai-callback.js","sourceRoot":"","sources":["../../jsr/intern/backend-ai-callback.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export declare const BUILD_LOCK_DEADLINE_MS = 600000;
2
+ export interface BuildLockClock {
3
+ readonly now?: () => number;
4
+ }
5
+ export type AcquireBuildLockResult = {
6
+ readonly acquired: true;
7
+ } | {
8
+ readonly acquired: false;
9
+ readonly inFlightPromptId: string;
10
+ };
11
+ export declare function peekBuildLock(scope: object, chatId: string, clock?: BuildLockClock): string | undefined;
12
+ export interface AcquireBuildLockArgs {
13
+ readonly scope: object;
14
+ readonly chatId: string;
15
+ readonly promptId: string;
16
+ readonly clock?: BuildLockClock;
17
+ }
18
+ export declare function acquireBuildLock(args: AcquireBuildLockArgs): AcquireBuildLockResult;
19
+ export declare function releaseBuildLock(scope: object, chatId: string, promptId: string): void;
20
+ export interface AcquireTurnBuildLockArgs {
21
+ readonly vctx: {
22
+ readonly sthis: {
23
+ readonly env: {
24
+ get(key: string): string | undefined;
25
+ };
26
+ };
27
+ readonly connections: object;
28
+ };
29
+ readonly chatId: string;
30
+ readonly promptId: string;
31
+ readonly movesFilesystem: boolean;
32
+ }
33
+ export declare function acquireTurnBuildLock(args: AcquireTurnBuildLockArgs): AcquireBuildLockResult;
34
+ export declare function releaseTurnBuildLock(vctx: {
35
+ readonly connections: object;
36
+ }, chatId: string, promptId: string): void;
@@ -0,0 +1,47 @@
1
+ import { agentLaneEnabled } from "./agent-lane-flag.js";
2
+ export const BUILD_LOCK_DEADLINE_MS = 600_000;
3
+ const locksByScope = new WeakMap();
4
+ function locksFor(scope) {
5
+ let locks = locksByScope.get(scope);
6
+ if (locks === undefined) {
7
+ locks = new Map();
8
+ locksByScope.set(scope, locks);
9
+ }
10
+ return locks;
11
+ }
12
+ export function peekBuildLock(scope, chatId, clock = {}) {
13
+ const now = (clock.now ?? Date.now)();
14
+ const locks = locksFor(scope);
15
+ const entry = locks.get(chatId);
16
+ if (entry === undefined)
17
+ return undefined;
18
+ if (now - entry.acquiredAtMs > BUILD_LOCK_DEADLINE_MS) {
19
+ locks.delete(chatId);
20
+ return undefined;
21
+ }
22
+ return entry.promptId;
23
+ }
24
+ export function acquireBuildLock(args) {
25
+ const clock = args.clock ?? {};
26
+ const held = peekBuildLock(args.scope, args.chatId, clock);
27
+ if (held !== undefined)
28
+ return { acquired: false, inFlightPromptId: held };
29
+ locksFor(args.scope).set(args.chatId, { promptId: args.promptId, acquiredAtMs: (clock.now ?? Date.now)() });
30
+ return { acquired: true };
31
+ }
32
+ export function releaseBuildLock(scope, chatId, promptId) {
33
+ const locks = locksFor(scope);
34
+ if (locks.get(chatId)?.promptId === promptId)
35
+ locks.delete(chatId);
36
+ }
37
+ export function acquireTurnBuildLock(args) {
38
+ if (args.movesFilesystem === false)
39
+ return { acquired: true };
40
+ if (agentLaneEnabled(args.vctx) === false)
41
+ return { acquired: true };
42
+ return acquireBuildLock({ scope: args.vctx.connections, chatId: args.chatId, promptId: args.promptId });
43
+ }
44
+ export function releaseTurnBuildLock(vctx, chatId, promptId) {
45
+ releaseBuildLock(vctx.connections, chatId, promptId);
46
+ }
47
+ //# sourceMappingURL=codegen-build-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen-build-lock.js","sourceRoot":"","sources":["../../jsr/intern/codegen-build-lock.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { VibesApiSQLCtx } from "../types.js";
2
2
  import { Result } from "@adviser/cement";
3
3
  import { type PreAllocateResult } from "./pre-allocate.js";
4
+ import type { MintDecision } from "./mint-decision.js";
4
5
  import { type GenerationVariety } from "@vibes.diy/prompts";
5
6
  import { ReqOpenChat, ReqWithVerifiedAuth, type Style } from "@vibes.diy/api-types";
6
7
  export declare const DRY_RUN_PLACEHOLDER_HANDLE = "dry-run-preview";
@@ -21,7 +22,10 @@ interface EnsureChatIdPResult {
21
22
  mintJobOrder?: Promise<Result<void>>;
22
23
  }
23
24
  export declare function dryRunHandleIsForeign(ctx: VibesApiSQLCtx, handle: string, userId: string): Promise<Result<boolean>>;
24
- export declare function ensureChatId(ctx: VibesApiSQLCtx, req: ReqWithVerifiedAuth<ReqOpenChat>): Promise<Result<EnsureChatIdPResult>>;
25
+ export interface EnsureChatIdOpts {
26
+ readonly decision?: MintDecision;
27
+ }
28
+ export declare function ensureChatId(ctx: VibesApiSQLCtx, req: ReqWithVerifiedAuth<ReqOpenChat>, opts?: EnsureChatIdOpts): Promise<Result<EnsureChatIdPResult>>;
25
29
  export declare function writePreAllocActiveEntries(ctx: VibesApiSQLCtx, { userId, ownerHandle, appSlug, title, skills, iconDescription, theme, enrichedPrompt, privacySensitive, deferred, clarify, variety, textureNote, style, }: {
26
30
  userId: string;
27
31
  ownerHandle: string;
@@ -87,7 +87,7 @@ export async function dryRunHandleIsForeign(ctx, handle, userId) {
87
87
  return !!existing && existing.userId !== userId;
88
88
  });
89
89
  }
90
- export async function ensureChatId(ctx, req) {
90
+ export async function ensureChatId(ctx, req, opts = {}) {
91
91
  let appSlug = "";
92
92
  let ownerHandle = "";
93
93
  let chatId;
@@ -181,27 +181,41 @@ export async function ensureChatId(ctx, req) {
181
181
  let preAllocStyle;
182
182
  if (preAllocEligible(req)) {
183
183
  preAllocVariety = drawGenerationVariety(Math.random);
184
- const rPre = await preAllocate(ctx, {
185
- prompt: req.prompt,
186
- userId,
187
- excludeDeferredSkills: true,
188
- variety: preAllocVariety,
189
- });
190
- if (rPre.isOk()) {
191
- preferredPairs = rPre.Ok().pairs;
192
- preAllocSkills = rPre.Ok().skills;
193
- preAllocIconDescription = rPre.Ok().iconDescription;
194
- preAllocTheme = rPre.Ok().theme;
195
- preAllocEnrichedPrompt = rPre.Ok().enrichedPrompt;
196
- preAllocPrivacySensitive = rPre.Ok().privacySensitive;
197
- preAllocDeferred = rPre.Ok().deferred;
198
- preAllocClarify = rPre.Ok().clarify;
199
- preAllocTextureNote = rPre.Ok().textureNote;
200
- preAllocStyle = preAllocTheme === undefined ? undefined : styleForTheme(preAllocTheme);
184
+ const injected = opts.decision;
185
+ if (injected !== undefined) {
186
+ preferredPairs = injected.pairs;
187
+ preAllocSkills = injected.skills;
188
+ preAllocIconDescription = injected.iconDescription;
189
+ preAllocTheme = injected.theme;
190
+ preAllocEnrichedPrompt = injected.enrichedPrompt;
191
+ preAllocPrivacySensitive = injected.privacySensitive;
192
+ preAllocDeferred = injected.deferred;
193
+ preAllocTextureNote = injected.textureNote;
194
+ preAllocStyle = styleForTheme(injected.theme);
201
195
  }
202
196
  else {
203
- console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
204
- preAllocStyle = styleForTheme(MINT_FALLBACK_THEME);
197
+ const rPre = await preAllocate(ctx, {
198
+ prompt: req.prompt,
199
+ userId,
200
+ excludeDeferredSkills: true,
201
+ variety: preAllocVariety,
202
+ });
203
+ if (rPre.isOk()) {
204
+ preferredPairs = rPre.Ok().pairs;
205
+ preAllocSkills = rPre.Ok().skills;
206
+ preAllocIconDescription = rPre.Ok().iconDescription;
207
+ preAllocTheme = rPre.Ok().theme;
208
+ preAllocEnrichedPrompt = rPre.Ok().enrichedPrompt;
209
+ preAllocPrivacySensitive = rPre.Ok().privacySensitive;
210
+ preAllocDeferred = rPre.Ok().deferred;
211
+ preAllocClarify = rPre.Ok().clarify;
212
+ preAllocTextureNote = rPre.Ok().textureNote;
213
+ preAllocStyle = preAllocTheme === undefined ? undefined : styleForTheme(preAllocTheme);
214
+ }
215
+ else {
216
+ console.warn("preAllocate failed; falling through to random-words:", rPre.Err());
217
+ preAllocStyle = styleForTheme(MINT_FALLBACK_THEME);
218
+ }
205
219
  }
206
220
  }
207
221
  let chosenTitle;
@@ -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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"}
@@ -0,0 +1,28 @@
1
+ import type { CreateVibeToolInput } from "@vibes.diy/api-types";
2
+ export interface MintDecision {
3
+ readonly skills: string[];
4
+ readonly pairs: {
5
+ title: string;
6
+ slug: string;
7
+ }[];
8
+ readonly iconDescription?: string;
9
+ readonly theme: string;
10
+ readonly enrichedPrompt?: string;
11
+ readonly textureNote?: string;
12
+ readonly privacySensitive?: boolean;
13
+ readonly deferred?: {
14
+ access?: {
15
+ needed: true;
16
+ why: string;
17
+ };
18
+ backend?: {
19
+ recommended: true;
20
+ why: string;
21
+ };
22
+ };
23
+ }
24
+ export interface MintDecisionCatalogs {
25
+ readonly catalogNames: ReadonlySet<string>;
26
+ readonly curatedThemes: ReadonlySet<string>;
27
+ }
28
+ export declare function mintDecisionFromToolInput(input: CreateVibeToolInput, catalogs: MintDecisionCatalogs): MintDecision;
@@ -0,0 +1,46 @@
1
+ import { MINT_FALLBACK_THEME } from "./mint-style.js";
2
+ import { ALWAYS_ON_SKILLS, excludeInitialTurnSkills } from "./pre-allocate.js";
3
+ function trimmed(value) {
4
+ return typeof value === "string" ? value.trim() : "";
5
+ }
6
+ export function mintDecisionFromToolInput(input, catalogs) {
7
+ const validSkills = [];
8
+ for (const s of input.skills ?? []) {
9
+ if (catalogs.catalogNames.has(s) && !validSkills.includes(s))
10
+ validSkills.push(s);
11
+ }
12
+ for (const s of ALWAYS_ON_SKILLS) {
13
+ if (catalogs.catalogNames.has(s) && !validSkills.includes(s))
14
+ validSkills.push(s);
15
+ }
16
+ const skills = excludeInitialTurnSkills(validSkills);
17
+ const pairs = (input.pairs ?? [])
18
+ .flatMap((p) => {
19
+ const title = trimmed(p.title);
20
+ const slug = trimmed(p.slug);
21
+ return title.length > 0 && slug.length > 0 ? [{ title, slug }] : [];
22
+ })
23
+ .slice(0, 3);
24
+ const theme = input.theme !== undefined && catalogs.curatedThemes.has(input.theme) ? input.theme : MINT_FALLBACK_THEME;
25
+ const accessWhy = trimmed(input.deferred?.access?.why);
26
+ const backendWhy = trimmed(input.deferred?.backend?.why);
27
+ const access = input.deferred?.access?.needed === true && accessWhy.length > 0 ? { needed: true, why: accessWhy } : undefined;
28
+ const backend = input.deferred?.backend?.recommended === true && backendWhy.length > 0
29
+ ? { recommended: true, why: backendWhy }
30
+ : undefined;
31
+ const deferred = access || backend ? { ...(access ? { access } : {}), ...(backend ? { backend } : {}) } : undefined;
32
+ const iconDescription = trimmed(input.iconDescription);
33
+ const enrichedPrompt = trimmed(input.enrichedPrompt);
34
+ const textureNote = trimmed(input.textureNote);
35
+ return {
36
+ skills,
37
+ pairs,
38
+ theme,
39
+ ...(iconDescription.length > 0 ? { iconDescription } : {}),
40
+ ...(enrichedPrompt.length > 0 ? { enrichedPrompt } : {}),
41
+ ...(textureNote.length > 0 ? { textureNote } : {}),
42
+ ...(input.privacySensitive === true ? { privacySensitive: true } : {}),
43
+ ...(deferred ? { deferred } : {}),
44
+ };
45
+ }
46
+ //# sourceMappingURL=mint-decision.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint-decision.js","sourceRoot":"","sources":["../../jsr/intern/mint-decision.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAqC/E,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAYD,MAAM,UAAU,yBAAyB,CAAC,KAA0B,EAAE,QAA8B;IAClG,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QACnC,IAAI,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAKD,MAAM,MAAM,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;SAC9B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAG7B,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEf,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAEvH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAGzD,MAAM,MAAM,GACV,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAa,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1H,MAAM,OAAO,GACX,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,KAAK,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QACpE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAa,EAAE,GAAG,EAAE,UAAU,EAAE;QACjD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEpH,MAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO;QACL,MAAM;QACN,KAAK;QACL,KAAK;QACL,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAGlD,GAAG,CAAC,KAAK,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC"}