@vibes.diy/api-svc 14.3.84 → 14.3.86
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/create-handler.js +2 -0
- package/create-handler.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/intern/account-vibe-activity.js +2 -1
- package/intern/account-vibe-activity.js.map +1 -1
- package/intern/agent-account-tools.d.ts +1 -0
- package/intern/agent-account-tools.js +3 -1
- package/intern/agent-account-tools.js.map +1 -1
- package/intern/agent-assembly.js +8 -2
- package/intern/agent-assembly.js.map +1 -1
- package/intern/agent-belt.d.ts +1 -3
- package/intern/agent-belt.js +27 -27
- package/intern/agent-belt.js.map +1 -1
- package/intern/agent-build-tools.d.ts +7 -0
- package/intern/agent-build-tools.js +6 -19
- package/intern/agent-build-tools.js.map +1 -1
- package/intern/agent-closing-options.d.ts +26 -0
- package/intern/agent-closing-options.js +130 -0
- package/intern/agent-closing-options.js.map +1 -0
- package/intern/agent-discussions.js +2 -1
- package/intern/agent-discussions.js.map +1 -1
- package/intern/agent-dispatcher.d.ts +1 -0
- package/intern/agent-dispatcher.js +17 -3
- package/intern/agent-dispatcher.js.map +1 -1
- package/intern/agent-evidence.js +5 -4
- package/intern/agent-evidence.js.map +1 -1
- package/intern/agent-file-tools.js +5 -4
- package/intern/agent-file-tools.js.map +1 -1
- package/intern/agent-read-tools.js +43 -25
- package/intern/agent-read-tools.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +3 -2
- package/intern/agent-session-instruction.js +10 -8
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/agent-session-runtime.js +2 -1
- package/intern/agent-session-runtime.js.map +1 -1
- package/intern/agent-session.js +8 -7
- package/intern/agent-session.js.map +1 -1
- package/intern/agent-turn.d.ts +1 -0
- package/intern/agent-turn.js +1 -0
- package/intern/agent-turn.js.map +1 -1
- package/intern/agent-wake.d.ts +1 -1
- package/intern/agent-wake.js +1 -1
- package/intern/agent-wake.js.map +1 -1
- package/intern/agent-with-vibe.d.ts +1 -0
- package/intern/agent-with-vibe.js +19 -18
- package/intern/agent-with-vibe.js.map +1 -1
- package/intern/alt-first-build.d.ts +36 -0
- package/intern/alt-first-build.js +137 -0
- package/intern/alt-first-build.js.map +1 -0
- package/intern/alt-landing.d.ts +7 -0
- package/intern/alt-landing.js +31 -0
- package/intern/alt-landing.js.map +1 -0
- package/intern/autumn-recent-usage.js +11 -10
- package/intern/autumn-recent-usage.js.map +1 -1
- package/intern/backend-db-callback.js +3 -2
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/draft-chat-store.js +3 -2
- package/intern/draft-chat-store.js.map +1 -1
- package/intern/first-brief.d.ts +1 -1
- package/intern/first-brief.js +4 -3
- package/intern/first-brief.js.map +1 -1
- package/intern/first-build-classifier.d.ts +4 -4
- package/intern/first-build-classifier.js +18 -19
- package/intern/first-build-classifier.js.map +1 -1
- package/intern/first-build-race.d.ts +71 -0
- package/intern/first-build-race.js +257 -0
- package/intern/first-build-race.js.map +1 -0
- package/intern/guest-credit-meter.js +3 -2
- package/intern/guest-credit-meter.js.map +1 -1
- package/intern/image-survey.js +6 -5
- package/intern/image-survey.js.map +1 -1
- package/intern/instruction-variant.d.ts +25 -2
- package/intern/instruction-variant.js +189 -2
- package/intern/instruction-variant.js.map +1 -1
- package/intern/keeps-to-themselves.d.ts +1 -0
- package/intern/keeps-to-themselves.js +10 -0
- package/intern/keeps-to-themselves.js.map +1 -0
- package/intern/llm-tool-loop.d.ts +5 -1
- package/intern/llm-tool-loop.js +48 -15
- package/intern/llm-tool-loop.js.map +1 -1
- package/intern/manifest-assets-line.d.ts +2 -0
- package/intern/manifest-assets-line.js +14 -1
- package/intern/manifest-assets-line.js.map +1 -1
- package/intern/mercury-capability-triggers.d.ts +1 -0
- package/intern/mercury-capability-triggers.js +95 -0
- package/intern/mercury-capability-triggers.js.map +1 -0
- package/intern/mercury-first-build-seam.d.ts +77 -0
- package/intern/mercury-first-build-seam.js +316 -0
- package/intern/mercury-first-build-seam.js.map +1 -0
- package/intern/mercury-first-build.d.ts +691 -0
- package/intern/mercury-first-build.js +3519 -0
- package/intern/mercury-first-build.js.map +1 -0
- package/intern/mercury-resilience.d.ts +70 -0
- package/intern/mercury-resilience.js +122 -0
- package/intern/mercury-resilience.js.map +1 -0
- package/intern/mint-decision.d.ts +1 -0
- package/intern/mint-decision.js +3 -0
- package/intern/mint-decision.js.map +1 -1
- package/intern/option-line-hold.d.ts +5 -0
- package/intern/option-line-hold.js +39 -0
- package/intern/option-line-hold.js.map +1 -0
- package/intern/pinned-app-slug.js +2 -1
- package/intern/pinned-app-slug.js.map +1 -1
- package/intern/pouf-room-catalog.d.ts +2 -0
- package/intern/pouf-room-catalog.js +11 -0
- package/intern/pouf-room-catalog.js.map +1 -0
- package/intern/prompt-step.d.ts +1 -1
- package/intern/prompt-step.js.map +1 -1
- package/intern/prompt-usage.js +5 -4
- package/intern/prompt-usage.js.map +1 -1
- package/intern/retire-offer-options.d.ts +3 -0
- package/intern/retire-offer-options.js +91 -0
- package/intern/retire-offer-options.js.map +1 -0
- package/intern/save-repair-io.js +3 -2
- package/intern/save-repair-io.js.map +1 -1
- package/intern/seed-chat-section.d.ts +13 -0
- package/intern/seed-chat-section.js +62 -0
- package/intern/seed-chat-section.js.map +1 -1
- package/intern/server-first-build.js +1 -0
- package/intern/server-first-build.js.map +1 -1
- package/intern/url-research.js +3 -2
- package/intern/url-research.js.map +1 -1
- package/intern/vibe-font-catalog.d.ts +2 -0
- package/intern/vibe-font-catalog.js +8 -0
- package/intern/vibe-font-catalog.js.map +1 -0
- package/intern/work-tools.js +8 -5
- package/intern/work-tools.js.map +1 -1
- package/not-implemented-message.js +2 -1
- package/not-implemented-message.js.map +1 -1
- package/package.json +14 -14
- package/public/access-output-decoder.js +4 -3
- package/public/access-output-decoder.js.map +1 -1
- package/public/agent-turn-action.d.ts +1 -0
- package/public/agent-turn-action.js +312 -44
- package/public/agent-turn-action.js.map +1 -1
- package/public/agent-turn-assembly.js +5 -2
- package/public/agent-turn-assembly.js.map +1 -1
- package/public/draft-runtime.js +9 -5
- package/public/draft-runtime.js.map +1 -1
- package/public/list-memberships.js +3 -2
- package/public/list-memberships.js.map +1 -1
- package/public/list-notifications.js +2 -1
- package/public/list-notifications.js.map +1 -1
- package/public/list-recent-vibes.js +4 -3
- package/public/list-recent-vibes.js.map +1 -1
- package/public/prompt-chat-section.js +10 -1
- package/public/prompt-chat-section.js.map +1 -1
- package/public/prompt-turn-terminal.js +3 -1
- package/public/prompt-turn-terminal.js.map +1 -1
- package/public/provider-errors.js +3 -2
- package/public/provider-errors.js.map +1 -1
- package/public/report-activity.js +18 -2
- package/public/report-activity.js.map +1 -1
- package/public/report-cache.js +2 -1
- package/public/report-cache.js.map +1 -1
- package/public/serv-entry-point.js +2 -1
- package/public/serv-entry-point.js.map +1 -1
- package/public/vibe-traffic-source.js +1 -1
- package/public/vibe-traffic-source.js.map +1 -1
- package/types.d.ts +1 -0
- package/types.js +7 -6
- package/types.js.map +1 -1
- package/usage-report/new-user-alert-util.d.ts +6 -0
- package/usage-report/new-user-alert-util.js +30 -1
- package/usage-report/new-user-alert-util.js.map +1 -1
- package/intern/agent-options-tool.d.ts +0 -27
- package/intern/agent-options-tool.js +0 -213
- package/intern/agent-options-tool.js.map +0 -1
package/intern/first-brief.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare function firstBriefTools(definitions: readonly ToolDefinition[]):
|
|
|
13
13
|
export declare function withFirstBriefLine(messages: readonly LLMMessage[], words: readonly string[]): LLMMessage[];
|
|
14
14
|
export declare function withSeededAddressWordsLine(messages: readonly LLMMessage[], words: readonly string[]): LLMMessage[];
|
|
15
15
|
export declare function withoutFirstBriefLine(messages: readonly LLMMessage[]): LLMMessage[];
|
|
16
|
-
export declare const FIRST_BRIEF_CONTINUE_NOTE = "[platform] Your reply above has reached the person, and every tool is yours again for the rest of this turn. Carry on from it as you would in any turn:
|
|
16
|
+
export declare const FIRST_BRIEF_CONTINUE_NOTE = "[platform] Your reply above has reached the person, and every tool is yours again for the rest of this turn. Carry on from it as you would in any turn: end with your \u25B8 option lines when options fit, and keep what you already said as said.";
|
|
17
17
|
export declare function withFirstBriefContinueNote(messages: readonly LLMMessage[]): LLMMessage[];
|
|
18
18
|
export interface FirstBriefUsage {
|
|
19
19
|
readonly prompt_tokens: number;
|
package/intern/first-brief.js
CHANGED
|
@@ -3,6 +3,7 @@ import { type } from "arktype";
|
|
|
3
3
|
import { isSseEnd, isSseLine, } from "@vibes.diy/call-ai-v2";
|
|
4
4
|
import { FIRST_BRIEF_ROUND_TAG, firstBriefRoundInstruction, SEEDED_ADDRESS_WORDS_TAG, seededAddressWordsInstruction, } from "./instruction-variant.js";
|
|
5
5
|
import { SERVER_FIRST_BUILD_EVIDENCE_NAME } from "./server-first-build.js";
|
|
6
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
6
7
|
const CREATE_VIBE = "create_vibe";
|
|
7
8
|
export function firstBriefTurnEligible(t) {
|
|
8
9
|
return t.wakeTurn === false && t.topLevel === false && t.personWords.length > 0 && t.linkedUrls === 0;
|
|
@@ -45,11 +46,11 @@ export function withoutFirstBriefLine(messages) {
|
|
|
45
46
|
return { ...m, content: m.content.filter((part) => isRoundOneLine(part) === false) };
|
|
46
47
|
});
|
|
47
48
|
}
|
|
48
|
-
export const FIRST_BRIEF_CONTINUE_NOTE = "[platform] Your reply above has reached the person, and every tool is yours again for the rest of this turn. Carry on from it as you would in any turn:
|
|
49
|
+
export const FIRST_BRIEF_CONTINUE_NOTE = "[platform] Your reply above has reached the person, and every tool is yours again for the rest of this turn. Carry on from it as you would in any turn: end with your ▸ option lines when options fit, and keep what you already said as said.";
|
|
49
50
|
export function withFirstBriefContinueNote(messages) {
|
|
50
51
|
return [...messages, { role: "user", content: [{ type: "text", text: FIRST_BRIEF_CONTINUE_NOTE }] }];
|
|
51
52
|
}
|
|
52
|
-
const usageShape = type({ prompt_tokens: "number", completion_tokens: "number", total_tokens: "number", "cost?": "number" });
|
|
53
|
+
const usageShape = lazyType(() => type({ prompt_tokens: "number", completion_tokens: "number", total_tokens: "number", "cost?": "number" }));
|
|
53
54
|
function readUsage(raw) {
|
|
54
55
|
const u = usageShape(raw);
|
|
55
56
|
if (u instanceof type.errors)
|
|
@@ -154,7 +155,7 @@ export async function recordFirstBriefOutcome(vctx, o) {
|
|
|
154
155
|
.Msg(o.outcome.reason === "no-create-call" ? "first-brief-no-create" : "first-brief-create-refused");
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
|
-
const createReceipt = type({ "ok?": "boolean", "appSlug?": "string", "reason?": "string" });
|
|
158
|
+
const createReceipt = lazyType(() => type({ "ok?": "boolean", "appSlug?": "string", "reason?": "string" }));
|
|
158
159
|
export function firstBriefOutcomeFromReceipt(text) {
|
|
159
160
|
const rJson = exception2Result(() => JSON.parse(text));
|
|
160
161
|
const body = rJson.isOk() ? createReceipt(rJson.Ok()) : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-brief.js","sourceRoot":"","sources":["../../jsr/intern/first-brief.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,SAAS,GAKV,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"first-brief.js","sourceRoot":"","sources":["../../jsr/intern/first-brief.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare function firstBuildSkillMenu(opts: {
|
|
|
13
13
|
export declare function firstBuildClassifierMessage(personWords: string, skillMenu: string): string;
|
|
14
14
|
export declare const firstBuildClassifierSchema: {
|
|
15
15
|
readonly name: "first_build";
|
|
16
|
-
readonly required: readonly ["build", "skills", "pairs", "iconDescription", "nature", "
|
|
16
|
+
readonly required: readonly ["build", "skills", "pairs", "iconDescription", "nature", "keepsToThemselves"];
|
|
17
17
|
readonly properties: {
|
|
18
18
|
readonly build: {
|
|
19
19
|
readonly type: "boolean";
|
|
@@ -45,7 +45,7 @@ export declare const firstBuildClassifierSchema: {
|
|
|
45
45
|
readonly type: "string";
|
|
46
46
|
readonly enum: readonly ["sensitive", "collaborative", "open"];
|
|
47
47
|
};
|
|
48
|
-
readonly
|
|
48
|
+
readonly keepsToThemselves: {
|
|
49
49
|
readonly type: "boolean";
|
|
50
50
|
};
|
|
51
51
|
};
|
|
@@ -65,7 +65,7 @@ export interface FirstBuildVerdict {
|
|
|
65
65
|
}[];
|
|
66
66
|
readonly iconDescription?: string;
|
|
67
67
|
readonly nature?: AppNature;
|
|
68
|
-
readonly
|
|
68
|
+
readonly keepsToThemselves: boolean;
|
|
69
69
|
readonly model: string;
|
|
70
70
|
readonly usage?: FirstBuildUsage;
|
|
71
71
|
readonly elapsedMs: number;
|
|
@@ -76,7 +76,7 @@ export declare function parseFirstBuildVerdict(raw: unknown, meta: {
|
|
|
76
76
|
readonly elapsedMs: number;
|
|
77
77
|
}): Result<FirstBuildVerdict>;
|
|
78
78
|
export declare function serverFirstBuildBrief(personWords: string, o: {
|
|
79
|
-
readonly
|
|
79
|
+
readonly keepsToThemselves: boolean;
|
|
80
80
|
}): string;
|
|
81
81
|
export declare function createVibeInputFromVerdict(personWords: string, verdict: FirstBuildVerdict): CreateVibeToolInput;
|
|
82
82
|
export interface ClassifyFirstBuildArgs {
|
|
@@ -4,7 +4,8 @@ import { type } from "arktype";
|
|
|
4
4
|
import { AppNature } from "@vibes.diy/api-types";
|
|
5
5
|
import { getLlmCatalog } from "@vibes.diy/prompts";
|
|
6
6
|
import { isPoufBlockSkill, poufLookFor } from "./pouf-look-flag.js";
|
|
7
|
-
import { GROUP_READY_SHAPE, INVITE_SCREEN_WHEN, KNOWN_VALUES_DIRECT_CONTROLS, SEED_DEMO_RULE, } from "./agent-session-instruction.js";
|
|
7
|
+
import { GROUP_READY_SHAPE, INVITE_SCREEN_WHEN, KNOWN_VALUES_DIRECT_CONTROLS, ONE_TREE_PER_PERSON, SEED_DEMO_RULE, } from "./agent-session-instruction.js";
|
|
8
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
8
9
|
export const FIRST_BUILD_CLASSIFIER_MODEL = "google/gemini-3.5-flash-lite";
|
|
9
10
|
export const FIRST_BUILD_CLASSIFIER_REASONING = { effort: "minimal" };
|
|
10
11
|
export const FIRST_BUILD_CLASSIFIER_TIMEOUT_MS = 3_000;
|
|
@@ -36,10 +37,12 @@ export function firstBuildClassifierMessage(personWords, skillMenu) {
|
|
|
36
37
|
'"backend" for schedules, email, fetching, notifications and server work; ' +
|
|
37
38
|
'"callai" for record intake by sentence, a chat reply, a suggestion or any text the page asks the model for itself. ' +
|
|
38
39
|
"Access rules ride every build already.",
|
|
39
|
-
"noAccessControl: true only when the message itself asks for no access control, a single-user app or no sharing; false otherwise.",
|
|
40
40
|
"pairs: three title/slug pairs ranked by fit — a Title Case title of one to four words, and a kebab-case slug made from it.",
|
|
41
41
|
"iconDescription: one short line naming what the app's icon shows, such as 'a fox on a record player'.",
|
|
42
|
-
|
|
42
|
+
"keepsToThemselves: true when the message keeps the app to the person who asked — just for me, private to me, single-user, no sharing; false otherwise (a private chef or private lessons app serves customers), a diary or health app included unless its words say so.",
|
|
43
|
+
'nature: "sensitive" for private record-keeping (a diary, health, money) and for every keepsToThemselves message; ' +
|
|
44
|
+
'"open" for a light toy anyone can play with, or a message asking for no access control or for anyone to edit; "collaborative" for everything else. ' +
|
|
45
|
+
"When a message both keeps the app to the person and asks for no access control, keepsToThemselves decides and nature is sensitive.",
|
|
43
46
|
"",
|
|
44
47
|
"Skills:",
|
|
45
48
|
skillMenu,
|
|
@@ -50,7 +53,7 @@ export function firstBuildClassifierMessage(personWords, skillMenu) {
|
|
|
50
53
|
}
|
|
51
54
|
export const firstBuildClassifierSchema = {
|
|
52
55
|
name: "first_build",
|
|
53
|
-
required: ["build", "skills", "pairs", "iconDescription", "nature", "
|
|
56
|
+
required: ["build", "skills", "pairs", "iconDescription", "nature", "keepsToThemselves"],
|
|
54
57
|
properties: {
|
|
55
58
|
build: { type: "boolean" },
|
|
56
59
|
skills: { type: "array", items: { type: "string" } },
|
|
@@ -60,17 +63,17 @@ export const firstBuildClassifierSchema = {
|
|
|
60
63
|
},
|
|
61
64
|
iconDescription: { type: "string" },
|
|
62
65
|
nature: { type: "string", enum: ["sensitive", "collaborative", "open"] },
|
|
63
|
-
|
|
66
|
+
keepsToThemselves: { type: "boolean" },
|
|
64
67
|
},
|
|
65
68
|
};
|
|
66
|
-
const firstBuildParsed = type({
|
|
69
|
+
const firstBuildParsed = lazyType(() => type({
|
|
67
70
|
build: "boolean",
|
|
68
71
|
"skills?": "string[]",
|
|
69
72
|
"pairs?": type({ "title?": "string", "slug?": "string" }).array(),
|
|
70
73
|
"iconDescription?": "string",
|
|
71
74
|
"nature?": "string",
|
|
72
|
-
"
|
|
73
|
-
});
|
|
75
|
+
"keepsToThemselves?": "boolean",
|
|
76
|
+
}));
|
|
74
77
|
export function parseFirstBuildVerdict(raw, meta) {
|
|
75
78
|
const parsed = firstBuildParsed(raw);
|
|
76
79
|
if (parsed instanceof type.errors)
|
|
@@ -81,14 +84,15 @@ export function parseFirstBuildVerdict(raw, meta) {
|
|
|
81
84
|
return title.length > 0 && slug.length > 0 ? [{ title, slug }] : [];
|
|
82
85
|
});
|
|
83
86
|
const icon = (parsed.iconDescription ?? "").trim();
|
|
84
|
-
const
|
|
87
|
+
const keepsToThemselves = parsed.keepsToThemselves === true;
|
|
88
|
+
const nature = keepsToThemselves ? "sensitive" : AppNature(parsed.nature);
|
|
85
89
|
return Result.Ok({
|
|
86
90
|
build: parsed.build,
|
|
87
91
|
skills: (parsed.skills ?? []).map((s) => s.trim()).filter((s) => s.length > 0),
|
|
88
92
|
pairs,
|
|
89
93
|
...(icon.length === 0 ? {} : { iconDescription: icon }),
|
|
90
94
|
...(nature instanceof type.errors ? {} : { nature }),
|
|
91
|
-
|
|
95
|
+
keepsToThemselves,
|
|
92
96
|
model: meta.model,
|
|
93
97
|
...(meta.usage === undefined ? {} : { usage: meta.usage }),
|
|
94
98
|
elapsedMs: meta.elapsedMs,
|
|
@@ -96,12 +100,9 @@ export function parseFirstBuildVerdict(raw, meta) {
|
|
|
96
100
|
}
|
|
97
101
|
export function serverFirstBuildBrief(personWords, o) {
|
|
98
102
|
return [
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
`This first build is group-ready: ${GROUP_READY_SHAPE}`,
|
|
103
|
-
`${INVITE_SCREEN_WHEN}; every other first build leaves it as an option for later.`,
|
|
104
|
-
]),
|
|
103
|
+
`This first build is group-ready: ${GROUP_READY_SHAPE}`,
|
|
104
|
+
`${INVITE_SCREEN_WHEN}; every other first build leaves it as an option for later.`,
|
|
105
|
+
...(o.keepsToThemselves ? [ONE_TREE_PER_PERSON] : []),
|
|
105
106
|
`Sample content: ${SEED_DEMO_RULE}`,
|
|
106
107
|
KNOWN_VALUES_DIRECT_CONTROLS,
|
|
107
108
|
`The person asked: "${personWords}". Plan the app from their words.`,
|
|
@@ -109,8 +110,6 @@ export function serverFirstBuildBrief(personWords, o) {
|
|
|
109
110
|
}
|
|
110
111
|
function serverFirstBuildSkills(verdict) {
|
|
111
112
|
const picked = verdict.skills.filter((s) => s !== SERVER_FIRST_BUILD_ACCESS_SKILL);
|
|
112
|
-
if (verdict.noAccessControl)
|
|
113
|
-
return picked;
|
|
114
113
|
return verdict.skills.includes(SERVER_FIRST_BUILD_ACCESS_SKILL)
|
|
115
114
|
? [...verdict.skills]
|
|
116
115
|
: [...picked, SERVER_FIRST_BUILD_ACCESS_SKILL];
|
|
@@ -118,7 +117,7 @@ function serverFirstBuildSkills(verdict) {
|
|
|
118
117
|
export function createVibeInputFromVerdict(personWords, verdict) {
|
|
119
118
|
return {
|
|
120
119
|
prompt: personWords,
|
|
121
|
-
enrichedPrompt: serverFirstBuildBrief(personWords, {
|
|
120
|
+
enrichedPrompt: serverFirstBuildBrief(personWords, { keepsToThemselves: verdict.keepsToThemselves }),
|
|
122
121
|
skills: serverFirstBuildSkills(verdict),
|
|
123
122
|
pairs: verdict.pairs.map((p) => ({ ...p })),
|
|
124
123
|
...(verdict.iconDescription === undefined ? {} : { iconDescription: verdict.iconDescription }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"first-build-classifier.js","sourceRoot":"","sources":["../../jsr/intern/first-build-classifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"first-build-classifier.js","sourceRoot":"","sources":["../../jsr/intern/first-build-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type SseStreamMsg } from "@vibes.diy/call-ai-v2";
|
|
2
|
+
export type FirstBuildRaceWinner = "mercury" | "opus" | "mercury-failed";
|
|
3
|
+
export interface FirstBuildRaceReceipt {
|
|
4
|
+
readonly winner: FirstBuildRaceWinner;
|
|
5
|
+
readonly mercuryMs?: number;
|
|
6
|
+
readonly opusDispatchMs?: number;
|
|
7
|
+
readonly mercuryCancelled?: true;
|
|
8
|
+
readonly agentJoined?: true;
|
|
9
|
+
readonly agentCreateVibeMs?: number;
|
|
10
|
+
readonly agentFailed?: true;
|
|
11
|
+
readonly chips?: number;
|
|
12
|
+
readonly alternative?: FirstBuildRaceAlternative;
|
|
13
|
+
}
|
|
14
|
+
export interface FirstBuildRaceAlternative {
|
|
15
|
+
readonly dispatched: boolean;
|
|
16
|
+
readonly chatId?: string;
|
|
17
|
+
readonly appSlug?: string;
|
|
18
|
+
readonly landed?: "saved" | "failed" | "pending" | "busy" | "refused" | "light-mint-failed";
|
|
19
|
+
}
|
|
20
|
+
export type AgentCreateDecision = {
|
|
21
|
+
readonly kind: "dispatch";
|
|
22
|
+
} | {
|
|
23
|
+
readonly kind: "join";
|
|
24
|
+
readonly receipt: object;
|
|
25
|
+
readonly preamble: string;
|
|
26
|
+
};
|
|
27
|
+
export type FirstBuildRaceVerdict = "mercury" | "agent";
|
|
28
|
+
export interface FirstBuildRace {
|
|
29
|
+
mercurySettled(ok: boolean): void;
|
|
30
|
+
claimMercury(): boolean;
|
|
31
|
+
settleMercury(o: {
|
|
32
|
+
readonly dispatched: true;
|
|
33
|
+
readonly receipt: object;
|
|
34
|
+
readonly preamble: string;
|
|
35
|
+
} | {
|
|
36
|
+
readonly dispatched: false;
|
|
37
|
+
}): void;
|
|
38
|
+
agentCreate(): Promise<AgentCreateDecision>;
|
|
39
|
+
agentAnswered(): void;
|
|
40
|
+
agentFailed(): void;
|
|
41
|
+
noteChips(count: number): void;
|
|
42
|
+
noteAlternative(a: Partial<FirstBuildRaceAlternative>): void;
|
|
43
|
+
readonly decided: Promise<FirstBuildRaceVerdict>;
|
|
44
|
+
winner(): FirstBuildRaceWinner | undefined;
|
|
45
|
+
mercuryPreamble(): string | undefined;
|
|
46
|
+
receipt(): FirstBuildRaceReceipt;
|
|
47
|
+
}
|
|
48
|
+
export declare function createFirstBuildRace(o: {
|
|
49
|
+
readonly onAgentWon: () => void;
|
|
50
|
+
readonly now?: () => number;
|
|
51
|
+
}): FirstBuildRace;
|
|
52
|
+
export declare const JOINED_FIRST_BUILD_NOTE = "This conversation's first build was already started from a fast tester's first read of the person's words, so your create_vibe joined it; this receipt is that running build. ";
|
|
53
|
+
export declare const JOINED_FIRST_BUILD_REPLY: string;
|
|
54
|
+
export declare function joinedFirstBuildReceipt(d: Extract<AgentCreateDecision, {
|
|
55
|
+
kind: "join";
|
|
56
|
+
}>): Record<string, unknown>;
|
|
57
|
+
export declare const JOINED_ALTERNATIVE_BUILDING = "Your own plan is building too, as a second version at its own address; you will hear when it is ready to share.";
|
|
58
|
+
export declare function withAlternativeBuilding(joined: Readonly<Record<string, unknown>>): Record<string, unknown>;
|
|
59
|
+
export type PreJoinFate = "show" | "drop" | "pending";
|
|
60
|
+
export interface PreJoinRounds {
|
|
61
|
+
open(): boolean;
|
|
62
|
+
startRound(): string;
|
|
63
|
+
answered(tag: string): void;
|
|
64
|
+
joined(): void;
|
|
65
|
+
close(): void;
|
|
66
|
+
fateOf(id: string): PreJoinFate | undefined;
|
|
67
|
+
onDecided(listener: () => void): void;
|
|
68
|
+
}
|
|
69
|
+
export declare function createPreJoinRounds(): PreJoinRounds;
|
|
70
|
+
export declare function withoutPreJoinText(stream: ReadableStream<SseStreamMsg>, rounds: Pick<PreJoinRounds, "fateOf" | "onDecided">): ReadableStream<SseStreamMsg>;
|
|
71
|
+
export declare function deferredStream<T>(choose: Promise<ReadableStream<T>>): ReadableStream<T>;
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { isSseLine } from "@vibes.diy/call-ai-v2";
|
|
2
|
+
export function createFirstBuildRace(o) {
|
|
3
|
+
const now = o.now ?? Date.now;
|
|
4
|
+
const startedAt = now();
|
|
5
|
+
let state = "open";
|
|
6
|
+
let mercuryMs;
|
|
7
|
+
let opusDispatchMs;
|
|
8
|
+
let mercuryCancelled = false;
|
|
9
|
+
let agentCreateVibeMs;
|
|
10
|
+
let agentJoined = false;
|
|
11
|
+
let agentLoopFailed = false;
|
|
12
|
+
let chips;
|
|
13
|
+
let alternative;
|
|
14
|
+
let joined;
|
|
15
|
+
let agentDecision;
|
|
16
|
+
let decide = () => undefined;
|
|
17
|
+
const decided = new Promise((resolve) => {
|
|
18
|
+
decide = resolve;
|
|
19
|
+
});
|
|
20
|
+
let mercuryDone = () => undefined;
|
|
21
|
+
let mercuryDispatch;
|
|
22
|
+
function agentTakes() {
|
|
23
|
+
if (state !== "open")
|
|
24
|
+
return;
|
|
25
|
+
state = "opus";
|
|
26
|
+
if (mercuryMs === undefined) {
|
|
27
|
+
mercuryCancelled = true;
|
|
28
|
+
o.onAgentWon();
|
|
29
|
+
}
|
|
30
|
+
decide("agent");
|
|
31
|
+
}
|
|
32
|
+
async function decideAgentCreate() {
|
|
33
|
+
agentCreateVibeMs = now() - startedAt;
|
|
34
|
+
if (state === "open")
|
|
35
|
+
agentTakes();
|
|
36
|
+
if (state === "mercury-claimed")
|
|
37
|
+
await mercuryDispatch;
|
|
38
|
+
if (state === "mercury" && joined !== undefined) {
|
|
39
|
+
agentJoined = true;
|
|
40
|
+
return { kind: "join", receipt: joined.receipt, preamble: joined.preamble };
|
|
41
|
+
}
|
|
42
|
+
opusDispatchMs = now() - startedAt;
|
|
43
|
+
return { kind: "dispatch" };
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
mercurySettled(ok) {
|
|
47
|
+
mercuryMs ??= now() - startedAt;
|
|
48
|
+
if (ok === false && state === "open") {
|
|
49
|
+
state = "mercury-failed";
|
|
50
|
+
decide("agent");
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
claimMercury() {
|
|
54
|
+
if (state !== "open")
|
|
55
|
+
return false;
|
|
56
|
+
state = "mercury-claimed";
|
|
57
|
+
mercuryDispatch = new Promise((resolve) => {
|
|
58
|
+
mercuryDone = resolve;
|
|
59
|
+
});
|
|
60
|
+
return true;
|
|
61
|
+
},
|
|
62
|
+
settleMercury(r) {
|
|
63
|
+
if (state !== "mercury-claimed")
|
|
64
|
+
return;
|
|
65
|
+
if (r.dispatched) {
|
|
66
|
+
state = "mercury";
|
|
67
|
+
joined = { receipt: r.receipt, preamble: r.preamble };
|
|
68
|
+
decide("mercury");
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
state = "mercury-failed";
|
|
72
|
+
decide("agent");
|
|
73
|
+
}
|
|
74
|
+
mercuryDone();
|
|
75
|
+
},
|
|
76
|
+
agentCreate() {
|
|
77
|
+
agentDecision ??= decideAgentCreate();
|
|
78
|
+
return agentDecision;
|
|
79
|
+
},
|
|
80
|
+
agentAnswered() {
|
|
81
|
+
agentTakes();
|
|
82
|
+
},
|
|
83
|
+
agentFailed() {
|
|
84
|
+
if (state !== "open")
|
|
85
|
+
return;
|
|
86
|
+
agentLoopFailed = true;
|
|
87
|
+
agentTakes();
|
|
88
|
+
},
|
|
89
|
+
noteChips(count) {
|
|
90
|
+
if (agentJoined)
|
|
91
|
+
chips = count;
|
|
92
|
+
},
|
|
93
|
+
noteAlternative(a) {
|
|
94
|
+
alternative = { dispatched: false, ...alternative, ...a };
|
|
95
|
+
},
|
|
96
|
+
decided,
|
|
97
|
+
winner() {
|
|
98
|
+
if (state === "mercury")
|
|
99
|
+
return "mercury";
|
|
100
|
+
if (state === "opus")
|
|
101
|
+
return "opus";
|
|
102
|
+
if (state === "mercury-failed")
|
|
103
|
+
return "mercury-failed";
|
|
104
|
+
return undefined;
|
|
105
|
+
},
|
|
106
|
+
mercuryPreamble() {
|
|
107
|
+
return joined?.preamble;
|
|
108
|
+
},
|
|
109
|
+
receipt() {
|
|
110
|
+
const winner = state === "mercury" ? "mercury" : state === "opus" ? "opus" : "mercury-failed";
|
|
111
|
+
return {
|
|
112
|
+
winner,
|
|
113
|
+
...(mercuryMs === undefined ? {} : { mercuryMs }),
|
|
114
|
+
...(opusDispatchMs === undefined ? {} : { opusDispatchMs }),
|
|
115
|
+
...(mercuryCancelled ? { mercuryCancelled: true } : {}),
|
|
116
|
+
...(agentJoined ? { agentJoined: true } : {}),
|
|
117
|
+
...(agentCreateVibeMs === undefined ? {} : { agentCreateVibeMs }),
|
|
118
|
+
...(agentLoopFailed ? { agentFailed: true } : {}),
|
|
119
|
+
...(chips === undefined ? {} : { chips }),
|
|
120
|
+
...(alternative === undefined ? {} : { alternative: { ...alternative } }),
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
export const JOINED_FIRST_BUILD_NOTE = "This conversation's first build was already started from a fast tester's first read of the person's words, so your create_vibe joined it; this receipt is that running build. ";
|
|
126
|
+
export const JOINED_FIRST_BUILD_REPLY = "When the [build result] lands, tell the person in a sentence or two what this version gives them; " +
|
|
127
|
+
"where it reads their words differently from your plan, say so and ask which they would like; " +
|
|
128
|
+
"and offer the parts of your plan it left out as your closing options. " +
|
|
129
|
+
"Their pick or their next message starts the next build; build again on your own only when the [build result] shows the app is broken.";
|
|
130
|
+
export function joinedFirstBuildReceipt(d) {
|
|
131
|
+
return {
|
|
132
|
+
...d.receipt,
|
|
133
|
+
joined: true,
|
|
134
|
+
message: JOINED_FIRST_BUILD_NOTE + `The person was shown this opening: "${d.preamble}". ` + JOINED_FIRST_BUILD_REPLY,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export const JOINED_ALTERNATIVE_BUILDING = "Your own plan is building too, as a second version at its own address; you will hear when it is ready to share.";
|
|
138
|
+
export function withAlternativeBuilding(joined) {
|
|
139
|
+
const message = typeof joined.message === "string" ? `${joined.message} ` : "";
|
|
140
|
+
return { ...joined, message: message + JOINED_ALTERNATIVE_BUILDING };
|
|
141
|
+
}
|
|
142
|
+
const PRE_JOIN_TAG = "vibes-prejoin-round-";
|
|
143
|
+
export function createPreJoinRounds() {
|
|
144
|
+
const fates = new Map();
|
|
145
|
+
const listeners = [];
|
|
146
|
+
let isOpen = true;
|
|
147
|
+
let current;
|
|
148
|
+
function decide(tag, fate) {
|
|
149
|
+
if (fates.get(tag) !== "pending")
|
|
150
|
+
return;
|
|
151
|
+
fates.set(tag, fate);
|
|
152
|
+
for (const listener of listeners)
|
|
153
|
+
listener();
|
|
154
|
+
}
|
|
155
|
+
function settleCurrent(fate) {
|
|
156
|
+
if (current !== undefined)
|
|
157
|
+
decide(current, fate);
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
open: () => isOpen,
|
|
161
|
+
startRound() {
|
|
162
|
+
settleCurrent("show");
|
|
163
|
+
current = `${PRE_JOIN_TAG}${fates.size + 1}`;
|
|
164
|
+
fates.set(current, "pending");
|
|
165
|
+
return current;
|
|
166
|
+
},
|
|
167
|
+
answered(tag) {
|
|
168
|
+
decide(tag, "show");
|
|
169
|
+
},
|
|
170
|
+
joined() {
|
|
171
|
+
if (isOpen === false)
|
|
172
|
+
return;
|
|
173
|
+
settleCurrent("drop");
|
|
174
|
+
isOpen = false;
|
|
175
|
+
},
|
|
176
|
+
close() {
|
|
177
|
+
settleCurrent("show");
|
|
178
|
+
isOpen = false;
|
|
179
|
+
},
|
|
180
|
+
fateOf: (id) => fates.get(id),
|
|
181
|
+
onDecided(listener) {
|
|
182
|
+
listeners.push(listener);
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
export function withoutPreJoinText(stream, rounds) {
|
|
187
|
+
const held = [];
|
|
188
|
+
let trimLead = false;
|
|
189
|
+
let output;
|
|
190
|
+
function fateOf(msg) {
|
|
191
|
+
return isSseLine(msg) ? rounds.fateOf(msg.chunk.id) : undefined;
|
|
192
|
+
}
|
|
193
|
+
function shaped(msg, drop) {
|
|
194
|
+
if (isSseLine(msg) === false)
|
|
195
|
+
return msg;
|
|
196
|
+
const choices = msg.chunk.choices.map((choice) => {
|
|
197
|
+
const content = choice.delta.content;
|
|
198
|
+
if (typeof content !== "string" || content.length === 0)
|
|
199
|
+
return choice;
|
|
200
|
+
let kept = drop ? "" : content;
|
|
201
|
+
if (drop)
|
|
202
|
+
trimLead = true;
|
|
203
|
+
if (trimLead && kept.length > 0) {
|
|
204
|
+
kept = kept.replace(/^\s+/, "");
|
|
205
|
+
if (kept.length > 0)
|
|
206
|
+
trimLead = false;
|
|
207
|
+
}
|
|
208
|
+
return kept === content ? choice : { ...choice, delta: { ...choice.delta, content: kept } };
|
|
209
|
+
});
|
|
210
|
+
return { ...msg, chunk: { ...msg.chunk, choices } };
|
|
211
|
+
}
|
|
212
|
+
function drain(final) {
|
|
213
|
+
if (output === undefined)
|
|
214
|
+
return;
|
|
215
|
+
for (let next = held.at(0); next !== undefined; next = held.at(0)) {
|
|
216
|
+
const fate = fateOf(next);
|
|
217
|
+
if (fate === "pending" && final === false)
|
|
218
|
+
return;
|
|
219
|
+
held.shift();
|
|
220
|
+
output.enqueue(shaped(next, fate === "drop"));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
rounds.onDecided(() => drain(false));
|
|
224
|
+
return stream.pipeThrough(new TransformStream({
|
|
225
|
+
start(controller) {
|
|
226
|
+
output = controller;
|
|
227
|
+
},
|
|
228
|
+
transform(msg) {
|
|
229
|
+
held.push(msg);
|
|
230
|
+
drain(false);
|
|
231
|
+
},
|
|
232
|
+
flush() {
|
|
233
|
+
drain(true);
|
|
234
|
+
output = undefined;
|
|
235
|
+
},
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
238
|
+
export function deferredStream(choose) {
|
|
239
|
+
let reader;
|
|
240
|
+
return new ReadableStream({
|
|
241
|
+
async pull(controller) {
|
|
242
|
+
reader ??= (await choose).getReader();
|
|
243
|
+
const r = await reader.read();
|
|
244
|
+
if (r.done)
|
|
245
|
+
controller.close();
|
|
246
|
+
else
|
|
247
|
+
controller.enqueue(r.value);
|
|
248
|
+
},
|
|
249
|
+
async cancel(reason) {
|
|
250
|
+
if (reader !== undefined)
|
|
251
|
+
await reader.cancel(reason);
|
|
252
|
+
else
|
|
253
|
+
await (await choose).cancel(reason);
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=first-build-race.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-build-race.js","sourceRoot":"","sources":["../../jsr/intern/first-build-race.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { type } from "arktype";
|
|
|
3
3
|
import { and, eq } from "drizzle-orm";
|
|
4
4
|
import { isGuestPrincipal } from "@vibes.diy/api-types";
|
|
5
5
|
import { costCentsFromUsage, DISPLAY_CREDITS_PER_CENT, FREE_INCLUDED_CREDITS } from "../billing.js";
|
|
6
|
-
|
|
6
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
7
|
+
const usageRef = lazyType(() => type({ usage: { given: "object[]", calculated: { total_tokens: "number" } } }));
|
|
7
8
|
export async function readGuestCredits(vctx, userId) {
|
|
8
9
|
const pc = vctx.sql.tables.promptContexts;
|
|
9
10
|
const rows = await exception2Result(() => vctx.sql.db.select({ ref: pc.ref, totalTokens: pc.totalTokens }).from(pc).where(eq(pc.userId, userId)));
|
|
@@ -25,7 +26,7 @@ export async function readGuestCredits(vctx, userId) {
|
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
const SIGN_IN_TO_BUY = "sign-in-required: sign in to add credits";
|
|
28
|
-
const refObject = type("Record<string, unknown>");
|
|
29
|
+
const refObject = lazyType(() => type("Record<string, unknown>"));
|
|
29
30
|
async function markPlatformFunded(vctx, track) {
|
|
30
31
|
const pc = vctx.sql.tables.promptContexts;
|
|
31
32
|
const where = and(eq(pc.promptId, track.promptId), eq(pc.userId, track.userId));
|