vibes-diy 14.1.2 → 14.1.3
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/cli/cmd-evento.d.ts +42 -42
- package/cli/cmds/follow-chat-build.d.ts +29 -0
- package/cli/cmds/follow-chat-build.js +150 -0
- package/cli/cmds/follow-chat-build.js.map +1 -0
- package/cli/cmds/follow-chat-build.test.d.ts +1 -0
- package/cli/cmds/follow-chat-build.test.js +150 -0
- package/cli/cmds/follow-chat-build.test.js.map +1 -0
- package/cli/cmds/generate-cmd.js.map +1 -1
- package/cli/cmds/generate-cmd.test.js +6 -0
- package/cli/cmds/generate-cmd.test.js.map +1 -1
- package/cli/cmds/generate-core-clarify.test.js +6 -1
- package/cli/cmds/generate-core-clarify.test.js.map +1 -1
- package/cli/cmds/generate-core.js +70 -53
- package/cli/cmds/generate-core.js.map +1 -1
- package/cli/cmds/generate-core.test.js +162 -32
- package/cli/cmds/generate-core.test.js.map +1 -1
- package/cli/codegen-shard.test.js +97 -1
- package/cli/codegen-shard.test.js.map +1 -1
- package/cli/shard-roll.d.ts +22 -2
- package/cli/shard-roll.js +34 -0
- package/cli/shard-roll.js.map +1 -1
- package/package.json +8 -8
package/cli/cmd-evento.d.ts
CHANGED
|
@@ -16,17 +16,32 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
16
16
|
type: "core-cli.res-device-id-register";
|
|
17
17
|
output: string;
|
|
18
18
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
19
|
-
type: "vibes
|
|
19
|
+
type: "use-vibes.cli.themes";
|
|
20
20
|
}, {
|
|
21
|
-
type: "vibes
|
|
22
|
-
|
|
21
|
+
type: "use-vibes.cli.res-themes-list";
|
|
22
|
+
themes: {
|
|
23
|
+
slug: string;
|
|
23
24
|
name: string;
|
|
24
|
-
description: string;
|
|
25
25
|
}[];
|
|
26
26
|
} | {
|
|
27
|
-
type: "vibes
|
|
28
|
-
|
|
27
|
+
type: "use-vibes.cli.res-theme-content";
|
|
28
|
+
slug: string;
|
|
29
29
|
content: string;
|
|
30
|
+
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
31
|
+
type: "vibes-diy.cli.put-asset";
|
|
32
|
+
file: string;
|
|
33
|
+
appSlug: string;
|
|
34
|
+
ownerHandle: string;
|
|
35
|
+
apiUrl: string;
|
|
36
|
+
mimeType: string;
|
|
37
|
+
verifyFetch: boolean;
|
|
38
|
+
}, {
|
|
39
|
+
type: "vibes-diy.cli.res-put-asset";
|
|
40
|
+
cid: string;
|
|
41
|
+
getURL: string;
|
|
42
|
+
size: number;
|
|
43
|
+
uploadId: string;
|
|
44
|
+
verified?: boolean | undefined;
|
|
30
45
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
31
46
|
type: "vibes-diy.cli.db.list";
|
|
32
47
|
apiUrl: string;
|
|
@@ -337,6 +352,9 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
337
352
|
type: "contactEmail";
|
|
338
353
|
email: string;
|
|
339
354
|
updatedAt: string;
|
|
355
|
+
} | {
|
|
356
|
+
type: "onboarding";
|
|
357
|
+
completedAt: string;
|
|
340
358
|
} | {
|
|
341
359
|
type: "geoCountry";
|
|
342
360
|
country: string;
|
|
@@ -347,9 +365,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
347
365
|
[x: string]: string;
|
|
348
366
|
};
|
|
349
367
|
updatedAt: string;
|
|
350
|
-
} | {
|
|
351
|
-
type: "onboarding";
|
|
352
|
-
completedAt: string;
|
|
353
368
|
} | {
|
|
354
369
|
type: "defaultHandle";
|
|
355
370
|
ownerHandle: string;
|
|
@@ -357,16 +372,16 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
357
372
|
updated: string;
|
|
358
373
|
created: string;
|
|
359
374
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
360
|
-
type: "
|
|
375
|
+
type: "vibes-diy.cli.skills";
|
|
361
376
|
}, {
|
|
362
|
-
type: "
|
|
363
|
-
|
|
364
|
-
slug: string;
|
|
377
|
+
type: "vibes-diy.cli.res-skills-list";
|
|
378
|
+
skills: {
|
|
365
379
|
name: string;
|
|
380
|
+
description: string;
|
|
366
381
|
}[];
|
|
367
382
|
} | {
|
|
368
|
-
type: "
|
|
369
|
-
|
|
383
|
+
type: "vibes-diy.cli.res-skill-content";
|
|
384
|
+
name: string;
|
|
370
385
|
content: string;
|
|
371
386
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
372
387
|
type: "vibes-diy.cli.system";
|
|
@@ -442,25 +457,25 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
442
457
|
type: "vibes.diy.res-error";
|
|
443
458
|
error: {
|
|
444
459
|
message: string;
|
|
445
|
-
code: "
|
|
460
|
+
code: "max-app-slugs-reached";
|
|
446
461
|
};
|
|
447
462
|
} | {
|
|
448
463
|
type: "vibes.diy.res-error";
|
|
449
464
|
error: {
|
|
450
465
|
message: string;
|
|
451
|
-
code: "
|
|
466
|
+
code: "handle-required";
|
|
452
467
|
};
|
|
453
468
|
} | {
|
|
454
469
|
type: "vibes.diy.res-error";
|
|
455
470
|
error: {
|
|
456
471
|
message: string;
|
|
457
|
-
code: "
|
|
472
|
+
code: "from-not-owned";
|
|
458
473
|
};
|
|
459
474
|
} | {
|
|
460
475
|
type: "vibes.diy.res-error";
|
|
461
476
|
error: {
|
|
462
477
|
message: string;
|
|
463
|
-
code: "
|
|
478
|
+
code: "from-carry-failed";
|
|
464
479
|
};
|
|
465
480
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
466
481
|
type: "vibes-diy.cli.remix";
|
|
@@ -489,21 +504,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
489
504
|
ownerHandle?: string | undefined;
|
|
490
505
|
defaultHandleSet?: boolean | undefined;
|
|
491
506
|
suggestions: string[];
|
|
492
|
-
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
493
|
-
type: "vibes-diy.cli.put-asset";
|
|
494
|
-
file: string;
|
|
495
|
-
appSlug: string;
|
|
496
|
-
ownerHandle: string;
|
|
497
|
-
apiUrl: string;
|
|
498
|
-
mimeType: string;
|
|
499
|
-
verifyFetch: boolean;
|
|
500
|
-
}, {
|
|
501
|
-
type: "vibes-diy.cli.res-put-asset";
|
|
502
|
-
cid: string;
|
|
503
|
-
getURL: string;
|
|
504
|
-
size: number;
|
|
505
|
-
uploadId: string;
|
|
506
|
-
verified?: boolean | undefined;
|
|
507
507
|
}> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
|
|
508
508
|
type: "vibes-diy.cli.generate";
|
|
509
509
|
prompt: string;
|
|
@@ -571,25 +571,25 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
571
571
|
type: "vibes.diy.res-error";
|
|
572
572
|
error: {
|
|
573
573
|
message: string;
|
|
574
|
-
code: "
|
|
574
|
+
code: "max-app-slugs-reached";
|
|
575
575
|
};
|
|
576
576
|
} | {
|
|
577
577
|
type: "vibes.diy.res-error";
|
|
578
578
|
error: {
|
|
579
579
|
message: string;
|
|
580
|
-
code: "
|
|
580
|
+
code: "handle-required";
|
|
581
581
|
};
|
|
582
582
|
} | {
|
|
583
583
|
type: "vibes.diy.res-error";
|
|
584
584
|
error: {
|
|
585
585
|
message: string;
|
|
586
|
-
code: "
|
|
586
|
+
code: "from-not-owned";
|
|
587
587
|
};
|
|
588
588
|
} | {
|
|
589
589
|
type: "vibes.diy.res-error";
|
|
590
590
|
error: {
|
|
591
591
|
message: string;
|
|
592
|
-
code: "
|
|
592
|
+
code: "from-carry-failed";
|
|
593
593
|
};
|
|
594
594
|
} | {
|
|
595
595
|
type: "vibes-diy.cli.res-generate";
|
|
@@ -687,25 +687,25 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
|
|
|
687
687
|
type: "vibes.diy.res-error";
|
|
688
688
|
error: {
|
|
689
689
|
message: string;
|
|
690
|
-
code: "
|
|
690
|
+
code: "max-app-slugs-reached";
|
|
691
691
|
};
|
|
692
692
|
} | {
|
|
693
693
|
type: "vibes.diy.res-error";
|
|
694
694
|
error: {
|
|
695
695
|
message: string;
|
|
696
|
-
code: "
|
|
696
|
+
code: "handle-required";
|
|
697
697
|
};
|
|
698
698
|
} | {
|
|
699
699
|
type: "vibes.diy.res-error";
|
|
700
700
|
error: {
|
|
701
701
|
message: string;
|
|
702
|
-
code: "
|
|
702
|
+
code: "from-not-owned";
|
|
703
703
|
};
|
|
704
704
|
} | {
|
|
705
705
|
type: "vibes.diy.res-error";
|
|
706
706
|
error: {
|
|
707
707
|
message: string;
|
|
708
|
-
code: "
|
|
708
|
+
code: "from-carry-failed";
|
|
709
709
|
};
|
|
710
710
|
} | {
|
|
711
711
|
type: "vibes-diy.cli.res-edit";
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import type { ResError, SectionEvent } from "@vibes.diy/api-types";
|
|
3
|
+
import { resolveSectionStream, type ResolveSectionStreamResult } from "./resolve-section-stream.js";
|
|
4
|
+
export declare const AGENT_TURN_CEILING_MS = 900000;
|
|
5
|
+
export interface FollowChatBuildChat {
|
|
6
|
+
readonly chatId: string;
|
|
7
|
+
readonly ownerHandle: string;
|
|
8
|
+
readonly appSlug: string;
|
|
9
|
+
readonly sectionStream: ReadableStream<unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface FollowChatBuildOpts {
|
|
12
|
+
readonly chat: FollowChatBuildChat;
|
|
13
|
+
readonly onSectionEvent?: (ev: SectionEvent) => void;
|
|
14
|
+
readonly onUpstreamError?: (err: ResError) => void;
|
|
15
|
+
readonly onProgress?: (msg: string) => void;
|
|
16
|
+
readonly onSnapshot?: Parameters<typeof resolveSectionStream>[0]["onSnapshot"];
|
|
17
|
+
readonly onError?: Parameters<typeof resolveSectionStream>[0]["onError"];
|
|
18
|
+
readonly deadlineMs?: number;
|
|
19
|
+
readonly startAfterPromptId?: string;
|
|
20
|
+
readonly now?: () => number;
|
|
21
|
+
}
|
|
22
|
+
export interface FollowChatBuildOk {
|
|
23
|
+
readonly ownerHandle: string;
|
|
24
|
+
readonly appSlug: string;
|
|
25
|
+
readonly claimed: boolean;
|
|
26
|
+
readonly buildPromptId: string;
|
|
27
|
+
readonly resolved: ResolveSectionStreamResult;
|
|
28
|
+
}
|
|
29
|
+
export declare function followChatBuild(opts: FollowChatBuildOpts): Promise<Result<FollowChatBuildOk>>;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
import { isEvtChatAppClaimed, isPromptBlockEnd, isPromptError, isPromptRaw, isPromptReq, isResError, isSectionEvent, } from "@vibes.diy/api-types";
|
|
3
|
+
import { resolveSectionStream } from "./resolve-section-stream.js";
|
|
4
|
+
export const AGENT_TURN_CEILING_MS = 900_000;
|
|
5
|
+
function agentAnswer(prose, errors) {
|
|
6
|
+
const said = prose.trim();
|
|
7
|
+
const why = errors.length > 0 ? ` (${errors.join("; ")})` : "";
|
|
8
|
+
if (said.length === 0)
|
|
9
|
+
return `The agent ended its turn without building anything${why}.`;
|
|
10
|
+
return `The agent answered instead of building${why}: ${said}`;
|
|
11
|
+
}
|
|
12
|
+
async function readBounded(reader, deadlineAt, now) {
|
|
13
|
+
const remaining = deadlineAt - now();
|
|
14
|
+
if (remaining <= 0)
|
|
15
|
+
return { kind: "deadline" };
|
|
16
|
+
let timer;
|
|
17
|
+
const expiry = new Promise((res) => {
|
|
18
|
+
timer = setTimeout(() => res("deadline"), remaining);
|
|
19
|
+
});
|
|
20
|
+
const raced = await Promise.race([reader.read(), expiry]);
|
|
21
|
+
if (timer !== undefined)
|
|
22
|
+
clearTimeout(timer);
|
|
23
|
+
if (raced === "deadline")
|
|
24
|
+
return { kind: "deadline" };
|
|
25
|
+
if (raced.done === true)
|
|
26
|
+
return { kind: "done" };
|
|
27
|
+
return { kind: "value", value: raced.value };
|
|
28
|
+
}
|
|
29
|
+
export async function followChatBuild(opts) {
|
|
30
|
+
const now = opts.now ?? (() => Date.now());
|
|
31
|
+
const deadlineAt = now() + (opts.deadlineMs ?? AGENT_TURN_CEILING_MS);
|
|
32
|
+
const reader = opts.chat.sectionStream.getReader();
|
|
33
|
+
let ownerHandle = opts.chat.ownerHandle;
|
|
34
|
+
let appSlug = opts.chat.appSlug;
|
|
35
|
+
let claimed = false;
|
|
36
|
+
let buildPromptId;
|
|
37
|
+
const buffered = [];
|
|
38
|
+
const agentProse = [];
|
|
39
|
+
const promptErrors = [];
|
|
40
|
+
const agentTurnsEnded = new Set();
|
|
41
|
+
const agentTurnsSeen = new Set();
|
|
42
|
+
let live = opts.startAfterPromptId === undefined;
|
|
43
|
+
let writer;
|
|
44
|
+
let resolving;
|
|
45
|
+
let resolverSettled = new Promise(() => undefined);
|
|
46
|
+
const startResolving = async (streamId) => {
|
|
47
|
+
const ts = new TransformStream();
|
|
48
|
+
writer = ts.writable.getWriter();
|
|
49
|
+
resolving = resolveSectionStream({
|
|
50
|
+
sectionStream: ts.readable,
|
|
51
|
+
streamId,
|
|
52
|
+
...(opts.onSnapshot === undefined ? {} : { onSnapshot: opts.onSnapshot }),
|
|
53
|
+
...(opts.onError === undefined ? {} : { onError: opts.onError }),
|
|
54
|
+
});
|
|
55
|
+
resolverSettled = resolving.then(() => ({ kind: "resolved" }));
|
|
56
|
+
for (const ev of buffered.splice(0))
|
|
57
|
+
await writer.write(ev);
|
|
58
|
+
};
|
|
59
|
+
const finish = async () => {
|
|
60
|
+
if (writer !== undefined)
|
|
61
|
+
await writer.close().catch(() => undefined);
|
|
62
|
+
if (buildPromptId === undefined || resolving === undefined) {
|
|
63
|
+
return Result.Err(agentAnswer(agentProse.join(""), promptErrors));
|
|
64
|
+
}
|
|
65
|
+
const r = await resolving;
|
|
66
|
+
if (r.isErr())
|
|
67
|
+
return Result.Err(r.Err());
|
|
68
|
+
return Result.Ok({ ownerHandle, appSlug, claimed, buildPromptId, resolved: r.Ok() });
|
|
69
|
+
};
|
|
70
|
+
for (;;) {
|
|
71
|
+
const read = await Promise.race([readBounded(reader, deadlineAt, now), resolverSettled]);
|
|
72
|
+
if (read.kind === "resolved") {
|
|
73
|
+
await reader.cancel().catch(() => undefined);
|
|
74
|
+
return finish();
|
|
75
|
+
}
|
|
76
|
+
if (read.kind !== "value") {
|
|
77
|
+
await reader.cancel().catch(() => undefined);
|
|
78
|
+
return finish();
|
|
79
|
+
}
|
|
80
|
+
const msg = read.value;
|
|
81
|
+
if (isEvtChatAppClaimed(msg)) {
|
|
82
|
+
if (msg.chatId === opts.chat.chatId) {
|
|
83
|
+
ownerHandle = msg.ownerHandle;
|
|
84
|
+
appSlug = msg.appSlug;
|
|
85
|
+
claimed = true;
|
|
86
|
+
opts.onProgress?.(`Building ${ownerHandle}/${appSlug}...`);
|
|
87
|
+
}
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (isResError(msg)) {
|
|
91
|
+
opts.onUpstreamError?.(msg);
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (!isSectionEvent(msg))
|
|
95
|
+
continue;
|
|
96
|
+
const ev = msg;
|
|
97
|
+
opts.onSectionEvent?.(ev);
|
|
98
|
+
for (const raw of ev.blocks) {
|
|
99
|
+
const block = raw;
|
|
100
|
+
if (!live) {
|
|
101
|
+
if (block.streamId === opts.startAfterPromptId)
|
|
102
|
+
live = true;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (isPromptReq(block)) {
|
|
106
|
+
const req = block;
|
|
107
|
+
if (req.agentDispatched === true)
|
|
108
|
+
buildPromptId ??= req.streamId;
|
|
109
|
+
else
|
|
110
|
+
agentTurnsSeen.add(req.streamId);
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
if (buildPromptId === undefined && typeof block.type === "string") {
|
|
114
|
+
const t = block.type;
|
|
115
|
+
if (t.startsWith("block.code."))
|
|
116
|
+
buildPromptId ??= block.streamId;
|
|
117
|
+
}
|
|
118
|
+
if (isPromptRaw(block)) {
|
|
119
|
+
const rawMsg = block;
|
|
120
|
+
if (rawMsg.streamId !== buildPromptId)
|
|
121
|
+
agentProse.push(rawMsg.text);
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
if (isPromptError(block)) {
|
|
125
|
+
promptErrors.push(block.error);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
if (isPromptBlockEnd(block)) {
|
|
129
|
+
const streamId = block.streamId;
|
|
130
|
+
if (streamId !== undefined && streamId !== buildPromptId)
|
|
131
|
+
agentTurnsEnded.add(streamId);
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (buildPromptId !== undefined && resolving === undefined) {
|
|
136
|
+
await startResolving(buildPromptId);
|
|
137
|
+
}
|
|
138
|
+
if (writer !== undefined)
|
|
139
|
+
await writer.write(ev);
|
|
140
|
+
else
|
|
141
|
+
buffered.push(ev);
|
|
142
|
+
if (resolving !== undefined)
|
|
143
|
+
continue;
|
|
144
|
+
if (agentTurnsSeen.size > 0 && agentTurnsEnded.size >= agentTurnsSeen.size) {
|
|
145
|
+
await reader.cancel().catch(() => undefined);
|
|
146
|
+
return finish();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=follow-chat-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-chat-build.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/follow-chat-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { followChatBuild } from "./follow-chat-build.js";
|
|
3
|
+
const AGENT = "prompt-agent";
|
|
4
|
+
const BUILD = "prompt-build";
|
|
5
|
+
function block(streamId, seq, rest) {
|
|
6
|
+
return { blockId: `b-${streamId}`, chatId: "chat-1", streamId, seq, blockNr: 1, timestamp: new Date(), ...rest };
|
|
7
|
+
}
|
|
8
|
+
function event(promptId, blocks) {
|
|
9
|
+
return {
|
|
10
|
+
type: "vibes.diy.section-event",
|
|
11
|
+
chatId: "chat-1",
|
|
12
|
+
promptId,
|
|
13
|
+
blockSeq: 0,
|
|
14
|
+
timestamp: new Date(),
|
|
15
|
+
blocks: blocks,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
const claimFrame = {
|
|
19
|
+
type: "vibes.diy.evt-chat-app-claimed",
|
|
20
|
+
chatId: "chat-1",
|
|
21
|
+
ownerHandle: "alice",
|
|
22
|
+
appSlug: "todo-app",
|
|
23
|
+
};
|
|
24
|
+
function agentTurn(text) {
|
|
25
|
+
return event(AGENT, [
|
|
26
|
+
block(AGENT, 0, {
|
|
27
|
+
type: "prompt.req",
|
|
28
|
+
request: { messages: [{ role: "user", content: [{ type: "text", text: "make an app" }] }] },
|
|
29
|
+
}),
|
|
30
|
+
block(AGENT, 1, { type: "prompt.raw", text }),
|
|
31
|
+
]);
|
|
32
|
+
}
|
|
33
|
+
function buildTurn(line) {
|
|
34
|
+
return [
|
|
35
|
+
event(BUILD, [
|
|
36
|
+
block(BUILD, 0, {
|
|
37
|
+
type: "prompt.req",
|
|
38
|
+
request: { messages: [{ role: "user", content: [{ type: "text", text: "make an app" }] }] },
|
|
39
|
+
agentDispatched: true,
|
|
40
|
+
}),
|
|
41
|
+
]),
|
|
42
|
+
event(BUILD, [
|
|
43
|
+
block(BUILD, 1, { type: "block.code.begin", sectionId: "s1", lang: "jsx", path: "App.jsx" }),
|
|
44
|
+
block(BUILD, 2, { type: "block.code.line", sectionId: "s1", lang: "jsx", path: "App.jsx", lineNr: 1, line }),
|
|
45
|
+
block(BUILD, 3, {
|
|
46
|
+
type: "block.code.end",
|
|
47
|
+
sectionId: "s1",
|
|
48
|
+
lang: "jsx",
|
|
49
|
+
path: "App.jsx",
|
|
50
|
+
stats: { lines: 1, bytes: line.length },
|
|
51
|
+
}),
|
|
52
|
+
block(BUILD, 4, {
|
|
53
|
+
type: "block.end",
|
|
54
|
+
stats: {
|
|
55
|
+
toplevel: { lines: 0, bytes: 0 },
|
|
56
|
+
code: { lines: 1, bytes: 1 },
|
|
57
|
+
image: { lines: 0, bytes: 0 },
|
|
58
|
+
total: { lines: 1, bytes: 1 },
|
|
59
|
+
},
|
|
60
|
+
usage: { given: [], calculated: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } },
|
|
61
|
+
}),
|
|
62
|
+
block(BUILD, 5, { type: "prompt.block-end", chatId: "chat-1" }),
|
|
63
|
+
]),
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
function liveStream(msgs) {
|
|
67
|
+
let i = 0;
|
|
68
|
+
return new ReadableStream({
|
|
69
|
+
pull(controller) {
|
|
70
|
+
if (i < msgs.length)
|
|
71
|
+
controller.enqueue(msgs[i++]);
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function chatOf(stream) {
|
|
76
|
+
return { chatId: "chat-1", ownerHandle: "alice", appSlug: "provisional-app", sectionStream: stream };
|
|
77
|
+
}
|
|
78
|
+
describe("followChatBuild", () => {
|
|
79
|
+
it("settles on the BUILD's terminal and reports the claimed address", async () => {
|
|
80
|
+
const chat = chatOf(liveStream([claimFrame, agentTurn("Building a todo app."), ...buildTurn("export default () => null;")]));
|
|
81
|
+
const r = await followChatBuild({ chat });
|
|
82
|
+
expect(r.isOk(), r.isErr() ? String(r.Err()) : "").toBe(true);
|
|
83
|
+
const ok = r.Ok();
|
|
84
|
+
expect(ok.appSlug).toBe("todo-app");
|
|
85
|
+
expect(ok.claimed).toBe(true);
|
|
86
|
+
expect(ok.buildPromptId).toBe(BUILD);
|
|
87
|
+
expect(ok.resolved.turnEndSeen).toBe(true);
|
|
88
|
+
expect(Object.keys(ok.resolved.files)).toContain("App.jsx");
|
|
89
|
+
});
|
|
90
|
+
it("buffers the events that arrive before the build promptId is known", async () => {
|
|
91
|
+
const oneEvent = event(BUILD, [
|
|
92
|
+
block(BUILD, 0, {
|
|
93
|
+
type: "prompt.req",
|
|
94
|
+
request: { messages: [{ role: "user", content: [{ type: "text", text: "make an app" }] }] },
|
|
95
|
+
agentDispatched: true,
|
|
96
|
+
}),
|
|
97
|
+
block(BUILD, 1, { type: "block.code.begin", sectionId: "s1", lang: "jsx", path: "App.jsx" }),
|
|
98
|
+
block(BUILD, 2, { type: "block.code.line", sectionId: "s1", lang: "jsx", path: "App.jsx", lineNr: 1, line: "const a = 1;" }),
|
|
99
|
+
block(BUILD, 3, {
|
|
100
|
+
type: "block.code.end",
|
|
101
|
+
sectionId: "s1",
|
|
102
|
+
lang: "jsx",
|
|
103
|
+
path: "App.jsx",
|
|
104
|
+
stats: { lines: 1, bytes: 12 },
|
|
105
|
+
}),
|
|
106
|
+
block(BUILD, 4, {
|
|
107
|
+
type: "block.end",
|
|
108
|
+
stats: {
|
|
109
|
+
toplevel: { lines: 0, bytes: 0 },
|
|
110
|
+
code: { lines: 1, bytes: 1 },
|
|
111
|
+
image: { lines: 0, bytes: 0 },
|
|
112
|
+
total: { lines: 1, bytes: 1 },
|
|
113
|
+
},
|
|
114
|
+
usage: { given: [], calculated: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } },
|
|
115
|
+
}),
|
|
116
|
+
block(BUILD, 5, { type: "prompt.block-end", chatId: "chat-1" }),
|
|
117
|
+
]);
|
|
118
|
+
const r = await followChatBuild({ chat: chatOf(liveStream([claimFrame, oneEvent])) });
|
|
119
|
+
expect(r.isOk(), r.isErr() ? String(r.Err()) : "").toBe(true);
|
|
120
|
+
expect(r.Ok().resolved.files["App.jsx"]).toBe("const a = 1;");
|
|
121
|
+
});
|
|
122
|
+
it("surfaces the agent's own words when it answered instead of building", async () => {
|
|
123
|
+
const answered = event(AGENT, [
|
|
124
|
+
block(AGENT, 0, {
|
|
125
|
+
type: "prompt.req",
|
|
126
|
+
request: { messages: [{ role: "user", content: [{ type: "text", text: "make an app" }] }] },
|
|
127
|
+
}),
|
|
128
|
+
block(AGENT, 1, { type: "prompt.raw", text: "I need to know which calendar you mean." }),
|
|
129
|
+
block(AGENT, 2, { type: "prompt.block-end", chatId: "chat-1" }),
|
|
130
|
+
]);
|
|
131
|
+
const r = await followChatBuild({ chat: chatOf(liveStream([claimFrame, answered])) });
|
|
132
|
+
expect(r.isErr()).toBe(true);
|
|
133
|
+
expect(String(r.Err())).toContain("which calendar you mean");
|
|
134
|
+
});
|
|
135
|
+
it("reports what the stream said when the wait runs out, and never calls it a failure", async () => {
|
|
136
|
+
const partial = event(BUILD, [
|
|
137
|
+
block(BUILD, 0, {
|
|
138
|
+
type: "prompt.req",
|
|
139
|
+
request: { messages: [{ role: "user", content: [{ type: "text", text: "make an app" }] }] },
|
|
140
|
+
agentDispatched: true,
|
|
141
|
+
}),
|
|
142
|
+
block(BUILD, 1, { type: "block.code.begin", sectionId: "s1", lang: "jsx", path: "App.jsx" }),
|
|
143
|
+
]);
|
|
144
|
+
const r = await followChatBuild({ chat: chatOf(liveStream([claimFrame, partial])), deadlineMs: 50 });
|
|
145
|
+
expect(r.isOk(), r.isErr() ? String(r.Err()) : "").toBe(true);
|
|
146
|
+
expect(r.Ok().buildPromptId).toBe(BUILD);
|
|
147
|
+
expect(r.Ok().resolved.turnEndSeen).toBe(false);
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
//# sourceMappingURL=follow-chat-build.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-chat-build.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/follow-chat-build.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/generate-cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAsB,MAAM,EAAoB,MAAM,EAAmC,MAAM,iBAAiB,CAAC;AACxH,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,OAAO,EAAU,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAgB,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOjD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGrF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,0BAA0B;IAChC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,WAAW,EAAE,QAAQ;IACrB,cAAc,EAAE,SAAS;IAEzB,aAAa,EAAE,SAAS;IACxB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAKhB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IAGrB,YAAY,EAAE,QAAQ;IAItB,QAAQ,EAAE,QAAQ;IAIlB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAGH,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,OAAO,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAsF;IAC/G,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,CAAC,GAA2F,EAAE,EAAE;QACxG,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,EAAE,KAAK,EACX,GAAyF,EACtD,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,UAAU,CAAS,QAAQ,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"generate-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/generate-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -399,6 +399,8 @@ describe("generateEvento stream-cut recovery (#3270)", () => {
|
|
|
399
399
|
chatId: "chat-live",
|
|
400
400
|
appSlug: "todo-app",
|
|
401
401
|
ownerHandle: "alice",
|
|
402
|
+
firstTurnFired: true,
|
|
403
|
+
agentFirstTurn: true,
|
|
402
404
|
sectionStream: s ?? stream([]),
|
|
403
405
|
prompt: async () => Result.Ok({ promptId }),
|
|
404
406
|
close: async () => undefined,
|
|
@@ -406,6 +408,7 @@ describe("generateEvento stream-cut recovery (#3270)", () => {
|
|
|
406
408
|
},
|
|
407
409
|
ensureAppSlug,
|
|
408
410
|
ensureAppSettings: vi.fn().mockResolvedValue(Result.Ok({ settings: { entry: {} } })),
|
|
411
|
+
rollCodegenShard: () => false,
|
|
409
412
|
};
|
|
410
413
|
return { api, ensureAppSlug, openCountRef: () => openCount };
|
|
411
414
|
}
|
|
@@ -564,6 +567,8 @@ describe("generateEvento runId threading", () => {
|
|
|
564
567
|
chatId: "chat-live",
|
|
565
568
|
appSlug: "todo-app",
|
|
566
569
|
ownerHandle: "alice",
|
|
570
|
+
firstTurnFired: true,
|
|
571
|
+
agentFirstTurn: true,
|
|
567
572
|
sectionStream: stream,
|
|
568
573
|
prompt: async () => Result.Ok({ promptId }),
|
|
569
574
|
close: async () => undefined,
|
|
@@ -572,6 +577,7 @@ describe("generateEvento runId threading", () => {
|
|
|
572
577
|
openChat: async () => Result.Ok(chat),
|
|
573
578
|
ensureAppSlug,
|
|
574
579
|
ensureAppSettings,
|
|
580
|
+
rollCodegenShard: () => false,
|
|
575
581
|
};
|
|
576
582
|
const tempRoot = await mkdtemp(join("/tmp", "generate-runid-"));
|
|
577
583
|
tempDirs.push(tempRoot);
|