vibes-diy 4.3.0 → 4.3.2

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.
@@ -278,6 +278,151 @@ describe("generateEvento dry-run", () => {
278
278
  expect(out).toContain("a todo app");
279
279
  });
280
280
  });
281
+ describe("generateEvento stream-cut recovery (#3270)", () => {
282
+ const promptId = "prompt-cut-1";
283
+ function base(blockId, seq) {
284
+ return { blockId, streamId: promptId, seq, blockNr: 1, timestamp: new Date() };
285
+ }
286
+ function createBlock(sectionId, blockId, path, line, seqStart) {
287
+ return [
288
+ { type: "block.code.begin", sectionId, lang: "jsx", path, ...base(blockId, seqStart) },
289
+ { type: "block.code.line", sectionId, lang: "jsx", path, lineNr: 1, line, ...base(blockId, seqStart + 1) },
290
+ {
291
+ type: "block.code.end",
292
+ sectionId,
293
+ lang: "jsx",
294
+ path,
295
+ stats: { lines: 1, bytes: line.length },
296
+ ...base(blockId, seqStart + 2),
297
+ },
298
+ ];
299
+ }
300
+ const blockEnd = (seq) => ({
301
+ type: "block.end",
302
+ stats: {
303
+ toplevel: { lines: 0, bytes: 0 },
304
+ code: { lines: 1, bytes: 1 },
305
+ image: { lines: 0, bytes: 0 },
306
+ total: { lines: 1, bytes: 1 },
307
+ },
308
+ usage: { given: [], calculated: { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 } },
309
+ ...base("b-end", seq),
310
+ });
311
+ const promptBlockEnd = (seq) => ({ type: "prompt.block-end", chatId: "chat-live", ...base("pbe", seq) });
312
+ function stream(blocks) {
313
+ return new ReadableStream({
314
+ start(controller) {
315
+ if (blocks.length > 0) {
316
+ controller.enqueue({
317
+ type: "vibes.diy.section-event",
318
+ chatId: "chat-live",
319
+ promptId,
320
+ blockSeq: 0,
321
+ timestamp: new Date(),
322
+ blocks: blocks,
323
+ });
324
+ }
325
+ controller.close();
326
+ },
327
+ });
328
+ }
329
+ function makeApi(streams) {
330
+ let openCount = 0;
331
+ const ensureAppSlug = vi.fn().mockImplementation((req) => Promise.resolve(Result.Ok({
332
+ type: "vibes.diy.res-ensure-app-slug",
333
+ fsId: "fs-123",
334
+ ownerHandle: "alice",
335
+ appSlug: "todo-app",
336
+ mode: "production",
337
+ env: {},
338
+ fileSystem: (req.fileSystem ?? []).map((f) => ({
339
+ fileName: f.filename,
340
+ mimeType: "text/plain",
341
+ assetId: "cid-1",
342
+ assetURI: "sql://Assets/cid-1",
343
+ size: 1,
344
+ })),
345
+ })));
346
+ const api = {
347
+ openChat: async () => {
348
+ const s = streams[openCount];
349
+ openCount += 1;
350
+ return Result.Ok({
351
+ chatId: "chat-live",
352
+ appSlug: "todo-app",
353
+ ownerHandle: "alice",
354
+ sectionStream: s ?? stream([]),
355
+ prompt: async () => Result.Ok({ promptId }),
356
+ close: async () => undefined,
357
+ });
358
+ },
359
+ ensureAppSlug,
360
+ ensureAppSettings: vi.fn().mockResolvedValue(Result.Ok({ settings: { entry: {} } })),
361
+ };
362
+ return { api, ensureAppSlug, openCountRef: () => openCount };
363
+ }
364
+ function args() {
365
+ return {
366
+ type: "vibes-diy.cli.generate",
367
+ prompt: "make an app",
368
+ appSlug: "",
369
+ ownerHandle: "alice",
370
+ instantJoin: false,
371
+ verbose: false,
372
+ apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
373
+ dryRun: false,
374
+ transcript: false,
375
+ };
376
+ }
377
+ it("reconnects after a transport cut and deploys the COMPLETE turn from the replay", async () => {
378
+ const appFinal = "export default function App() { return <div>final</div>; }";
379
+ const appCut = "export default function App() { return <div>cut</div>; }";
380
+ const fullReplay = () => [
381
+ ...createBlock("s1", "b1", "App.jsx", appFinal, 0),
382
+ ...createBlock("s2", "b2", "access.js", "export function todos() { return {}; }", 10),
383
+ blockEnd(20),
384
+ promptBlockEnd(21),
385
+ ];
386
+ const { api, ensureAppSlug, openCountRef } = makeApi([
387
+ stream(createBlock("s1", "b1", "App.jsx", appCut, 0)),
388
+ stream(fullReplay()),
389
+ stream(fullReplay()),
390
+ ]);
391
+ const tempRoot = await mkdtemp(join("/tmp", "generate-resume-"));
392
+ tempDirs.push(tempRoot);
393
+ vi.spyOn(process, "cwd").mockReturnValue(tempRoot);
394
+ const sent = [];
395
+ const r = await generateEvento.handle(buildTrigger(args(), api, sent));
396
+ expect(r.isOk(), r.isErr() ? String(r.Err()) : "").toBe(true);
397
+ expect(openCountRef()).toBe(3);
398
+ const pushed = ensureAppSlug.mock.calls[0][0];
399
+ const names = pushed.fileSystem.map((f) => f.filename).sort();
400
+ expect(names).toEqual(["/App.jsx", "/README.md", "/access.js"]);
401
+ const app = pushed.fileSystem.find((f) => f.filename === "/App.jsx");
402
+ expect(app.content).toBe(appFinal);
403
+ });
404
+ it("falls back to snapshot recovery that NAMES the deployed files when resume can't complete the turn", async () => {
405
+ const { api, ensureAppSlug } = makeApi([
406
+ stream(createBlock("s1", "b1", "App.jsx", "export default function App() { return <div>partial</div>; }", 0)),
407
+ stream([]),
408
+ stream([]),
409
+ stream([]),
410
+ ]);
411
+ const tempRoot = await mkdtemp(join("/tmp", "generate-fallback-"));
412
+ tempDirs.push(tempRoot);
413
+ vi.spyOn(process, "cwd").mockReturnValue(tempRoot);
414
+ const sent = [];
415
+ const r = await generateEvento.handle(buildTrigger(args(), api, sent));
416
+ expect(r.isOk()).toBe(true);
417
+ const progress = sent
418
+ .map((m) => m.result)
419
+ .filter((res) => res?.type === "core-cli.progress")
420
+ .map((res) => res?.message ?? "");
421
+ expect(progress.some((m) => m.includes("Deploying 1 file(s) from snapshots (App.jsx)"))).toBe(true);
422
+ const pushed = ensureAppSlug.mock.calls[0][0];
423
+ expect(pushed.fileSystem.map((f) => f.filename).sort()).toEqual(["/App.jsx", "/README.md"]);
424
+ });
425
+ });
281
426
  describe("generateEvento runId threading", () => {
282
427
  it("passes promptId to production push as runId", async () => {
283
428
  const promptId = "prompt-run-123";
@@ -287,15 +432,21 @@ describe("generateEvento runId threading", () => {
287
432
  path: "App.jsx",
288
433
  lines: ["export default function App() {", " return <div>Hello run id</div>;", "}"],
289
434
  });
290
- const ensureAppSlug = vi.fn().mockResolvedValue(Result.Ok({
435
+ const ensureAppSlug = vi.fn().mockImplementation((req) => Promise.resolve(Result.Ok({
291
436
  type: "vibes.diy.res-ensure-app-slug",
292
437
  fsId: "fs-123",
293
438
  ownerHandle: "alice",
294
439
  appSlug: "todo-app",
295
440
  mode: "production",
296
441
  env: {},
297
- fileSystem: [],
298
- }));
442
+ fileSystem: (req.fileSystem ?? []).map((f) => ({
443
+ fileName: f.filename,
444
+ mimeType: "text/plain",
445
+ assetId: "cid-1",
446
+ assetURI: "sql://Assets/cid-1",
447
+ size: 1,
448
+ })),
449
+ })));
299
450
  const ensureAppSettings = vi.fn().mockResolvedValue(Result.Ok({
300
451
  settings: {
301
452
  entry: {
@@ -1 +1 @@
1
- {"version":3,"file":"generate-cmd.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/generate-cmd.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-cmd.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/generate-cmd.test.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,17 @@ export async function pushFromDir(opts) {
75
75
  if (result instanceof type.errors) {
76
76
  return Result.Err(`type mismatch: ${result.summary}`);
77
77
  }
78
+ if (isResEnsureAppSlugOk(result)) {
79
+ const canonical = new Set(result.fileSystem.map((item) => item.fileName));
80
+ const missing = files.map((f) => f.filename).filter((name) => !canonical.has(name));
81
+ if (missing.length > 0) {
82
+ return Result.Err(`Deploy verification failed AFTER publish: the server persisted ${result.ownerHandle}/${result.appSlug} but the ` +
83
+ `canonical release is missing ${missing.map((m) => (m.startsWith("/") ? m.slice(1) : m)).join(", ")} ` +
84
+ `(pushed ${files.length} file(s), release has ${result.fileSystem.filter((i) => !i.fileName.startsWith("/~~")).length}). ` +
85
+ `The live app may currently be serving this incomplete release; re-run the push to repair. ` +
86
+ `Exiting non-zero to prevent a silent partial deploy.`);
87
+ }
88
+ }
78
89
  if (opts.ownerHandle) {
79
90
  const rSettings = await opts.api.ensureAppSettings({
80
91
  appSlug: opts.appSlug,
@@ -1 +1 @@
1
- {"version":3,"file":"push-from-dir.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/push-from-dir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-from-dir.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/push-from-dir.ts"],"names":[],"mappings":"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"}
@@ -27,16 +27,25 @@ function makeMockCtx() {
27
27
  request: {},
28
28
  };
29
29
  }
30
+ function echoFileSystem(req) {
31
+ return (req.fileSystem ?? []).map((f) => ({
32
+ fileName: f.filename,
33
+ mimeType: "text/plain",
34
+ assetId: "cid-1",
35
+ assetURI: "sql://Assets/cid-1",
36
+ size: 1,
37
+ }));
38
+ }
30
39
  function makeMockApi() {
31
- const ensureAppSlug = vi.fn().mockResolvedValue(Result.Ok({
40
+ const ensureAppSlug = vi.fn().mockImplementation((req) => Promise.resolve(Result.Ok({
32
41
  type: "vibes.diy.res-ensure-app-slug",
33
42
  fsId: "fs-123",
34
43
  ownerHandle: "testuser",
35
44
  appSlug: "test-app",
36
45
  mode: "production",
37
46
  env: {},
38
- fileSystem: [],
39
- }));
47
+ fileSystem: echoFileSystem(req),
48
+ })));
40
49
  const ensureAppSettings = vi.fn().mockResolvedValue(Result.Ok({
41
50
  settings: {
42
51
  entry: {
@@ -133,4 +142,58 @@ describe("pushFromDir — fast path defaults", () => {
133
142
  expect(api.ensureAppSettings).not.toHaveBeenCalled();
134
143
  });
135
144
  });
145
+ describe("pushFromDir — deploy verification (#3270)", () => {
146
+ it("fails loudly when the persisted release is missing a pushed file", async () => {
147
+ const dir = await makeTempDir();
148
+ await writeFile(join(dir, "access.js"), "export function todos() { return {}; }");
149
+ const ctx = makeMockCtx();
150
+ const ensureAppSlug = vi.fn().mockResolvedValue(Result.Ok({
151
+ type: "vibes.diy.res-ensure-app-slug",
152
+ fsId: "fs-123",
153
+ ownerHandle: "testuser",
154
+ appSlug: "test-app",
155
+ mode: "production",
156
+ env: {},
157
+ fileSystem: [
158
+ { fileName: "/App.jsx", mimeType: "text/plain", assetId: "cid-1", assetURI: "sql://Assets/cid-1", size: 1 },
159
+ {
160
+ fileName: "/~~calculated~~/import-map.json",
161
+ mimeType: "application/importmap+json",
162
+ assetId: "c",
163
+ assetURI: "sql://Assets/c",
164
+ size: 1,
165
+ },
166
+ ],
167
+ }));
168
+ const api = { ensureAppSlug, ensureAppSettings: vi.fn() };
169
+ const r = await pushFromDir({
170
+ dir,
171
+ mode: "production",
172
+ appSlug: "test-app",
173
+ ownerHandle: "testuser",
174
+ apiUrl: "https://vibes.diy/api",
175
+ api,
176
+ ctx,
177
+ });
178
+ expect(r.isErr()).toBe(true);
179
+ expect(String(r.Err().message)).toContain("access.js");
180
+ expect(String(r.Err().message)).toContain("Deploy verification failed");
181
+ expect(api.ensureAppSettings).not.toHaveBeenCalled();
182
+ });
183
+ it("ignores server-derived ~~ entries when verifying", async () => {
184
+ const dir = await makeTempDir();
185
+ const api = makeMockApi();
186
+ const ctx = makeMockCtx();
187
+ const r = await pushFromDir({
188
+ dir,
189
+ mode: "production",
190
+ appSlug: "test-app",
191
+ ownerHandle: "testuser",
192
+ apiUrl: "https://vibes.diy/api",
193
+ api,
194
+ ctx,
195
+ });
196
+ expect(r.isErr()).toBe(false);
197
+ });
198
+ });
136
199
  //# sourceMappingURL=push-from-dir.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"push-from-dir.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/push-from-dir.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-from-dir.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/push-from-dir.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export interface ResolveSectionStreamOpts {
7
7
  readonly seed?: ReadonlyMap<string, string>;
8
8
  readonly onSnapshot?: (snap: FsFileSnapshotMsg) => void;
9
9
  readonly onError?: (err: FsApplyErrorMsg) => void;
10
+ readonly turnEndGraceMs?: number;
10
11
  }
11
12
  export interface ResolveSectionStreamResult {
12
13
  readonly files: Readonly<Record<string, string>>;
@@ -14,6 +15,8 @@ export interface ResolveSectionStreamResult {
14
15
  readonly snapshotCount: number;
15
16
  readonly applyErrorCount: number;
16
17
  readonly turnEndSeen: boolean;
18
+ readonly announcedPaths: readonly string[];
19
+ readonly blockEndSeen: boolean;
17
20
  readonly promptErrors: readonly string[];
18
21
  }
19
22
  export declare function resolveSectionStream(opts: ResolveSectionStreamOpts): Promise<Result<ResolveSectionStreamResult>>;
@@ -25,12 +25,37 @@ export function resolveSectionStream(opts) {
25
25
  let snapshotCount = 0;
26
26
  let applyErrorCount = 0;
27
27
  let turnEndSeen = false;
28
+ let blockEndSeen = false;
29
+ const announced = [];
30
+ const graceMs = opts.turnEndGraceMs ?? 45_000;
31
+ let graceDeadline;
28
32
  for (;;) {
29
- const { value, done } = await reader.read();
33
+ let readResult;
34
+ if (graceDeadline === undefined) {
35
+ readResult = await reader.read();
36
+ }
37
+ else {
38
+ const remaining = graceDeadline - Date.now();
39
+ if (remaining <= 0)
40
+ break;
41
+ let timer;
42
+ const timeout = new Promise((res) => {
43
+ timer = setTimeout(() => res("grace-timeout"), remaining);
44
+ });
45
+ const raced = await Promise.race([reader.read(), timeout]);
46
+ if (timer !== undefined)
47
+ clearTimeout(timer);
48
+ if (raced === "grace-timeout")
49
+ break;
50
+ readResult = raced;
51
+ }
52
+ const { value, done } = readResult;
30
53
  if (done)
31
54
  break;
32
55
  if (isFsFileSnapshot(value)) {
33
56
  snapshotCount += 1;
57
+ if (!announced.includes(value.path))
58
+ announced.push(value.path);
34
59
  recovered[value.path] = value.content;
35
60
  opts.onSnapshot?.(value);
36
61
  continue;
@@ -46,14 +71,22 @@ export function resolveSectionStream(opts) {
46
71
  if (isFsTurnEnd(value)) {
47
72
  files = value.files;
48
73
  turnEndSeen = true;
74
+ if (blockEndSeen)
75
+ break;
49
76
  continue;
50
77
  }
51
78
  if (isPromptError(value) && value.streamId === opts.streamId) {
52
79
  promptErrors.push(value.error);
80
+ if (blockEndSeen)
81
+ break;
53
82
  continue;
54
83
  }
55
84
  if (isPromptBlockEnd(value, opts.streamId)) {
56
- break;
85
+ blockEndSeen = true;
86
+ if (turnEndSeen || promptErrors.length > 0)
87
+ break;
88
+ graceDeadline = Date.now() + graceMs;
89
+ continue;
57
90
  }
58
91
  }
59
92
  reader.releaseLock();
@@ -63,6 +96,8 @@ export function resolveSectionStream(opts) {
63
96
  snapshotCount,
64
97
  applyErrorCount,
65
98
  turnEndSeen,
99
+ announcedPaths: announced,
100
+ blockEndSeen,
66
101
  promptErrors,
67
102
  };
68
103
  });
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-section-stream.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/resolve-section-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-section-stream.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/resolve-section-stream.ts"],"names":[],"mappings":"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"}
@@ -374,6 +374,100 @@ describe("resolveSectionStream", () => {
374
374
  expect(ok.snapshotCount).toBe(1);
375
375
  expect(ok.files["App.jsx"]).toBe("export default () => <h1>recovered</h1>;");
376
376
  expect(ok.promptErrors).toEqual(["Upstream connection closed mid-stream"]);
377
+ expect(ok.blockEndSeen).toBe(true);
378
+ expect(ok.announcedPaths).toEqual(["App.jsx"]);
379
+ });
380
+ it("waits through the EARLY prompt.block-end for the post-persist block.end (#2472 ordering, #3270)", async () => {
381
+ const codeBlock = codeBlockMessages({
382
+ blockId: "b1",
383
+ blockNr: 1,
384
+ sectionId: "s1",
385
+ path: "App.jsx",
386
+ lines: ["export default () => <h1>early terminator</h1>;"],
387
+ });
388
+ const lateBlockEnd = codeBlock[codeBlock.length - 1];
389
+ const stream = new ReadableStream({
390
+ start(controller) {
391
+ controller.enqueue({
392
+ type: "vibes.diy.section-event",
393
+ chatId: "chat-1",
394
+ promptId: streamId,
395
+ blockSeq: 0,
396
+ timestamp: new Date(),
397
+ blocks: [
398
+ ...codeBlock.slice(0, -1),
399
+ { type: "prompt.block-end", chatId: "chat-1", ...blockBase({ blockId: "b1", seq: 900, blockNr: 1 }) },
400
+ lateBlockEnd,
401
+ ],
402
+ });
403
+ controller.close();
404
+ },
405
+ });
406
+ const r = await resolveSectionStream({ sectionStream: stream, streamId });
407
+ expect(r.isOk()).toBe(true);
408
+ const ok = r.Ok();
409
+ expect(ok.turnEndSeen).toBe(true);
410
+ expect(ok.blockEndSeen).toBe(true);
411
+ expect(ok.files["App.jsx"]).toBe("export default () => <h1>early terminator</h1>;");
412
+ });
413
+ it("bounds the wait for a block.end that never comes (grace timeout)", async () => {
414
+ const codeBlock = codeBlockMessages({
415
+ blockId: "b1",
416
+ blockNr: 1,
417
+ sectionId: "s1",
418
+ path: "App.jsx",
419
+ lines: ["export default () => <h1>no late block.end</h1>;"],
420
+ });
421
+ const stream = new ReadableStream({
422
+ start(controller) {
423
+ controller.enqueue({
424
+ type: "vibes.diy.section-event",
425
+ chatId: "chat-1",
426
+ promptId: streamId,
427
+ blockSeq: 0,
428
+ timestamp: new Date(),
429
+ blocks: [
430
+ ...codeBlock.slice(0, -1),
431
+ { type: "prompt.block-end", chatId: "chat-1", ...blockBase({ blockId: "b1", seq: 900, blockNr: 1 }) },
432
+ ],
433
+ });
434
+ },
435
+ });
436
+ const r = await resolveSectionStream({ sectionStream: stream, streamId, turnEndGraceMs: 30 });
437
+ expect(r.isOk()).toBe(true);
438
+ const ok = r.Ok();
439
+ expect(ok.turnEndSeen).toBe(false);
440
+ expect(ok.blockEndSeen).toBe(true);
441
+ expect(ok.files["App.jsx"]).toBe("export default () => <h1>no late block.end</h1>;");
442
+ });
443
+ it("distinguishes transport loss (no terminator) from a server-side abnormal end (#3270)", async () => {
444
+ const codeBlock = codeBlockMessages({
445
+ blockId: "b1",
446
+ blockNr: 1,
447
+ sectionId: "s1",
448
+ path: "access.js",
449
+ lines: ["export function todos() { return {}; }"],
450
+ });
451
+ const stream = new ReadableStream({
452
+ start(controller) {
453
+ controller.enqueue({
454
+ type: "vibes.diy.section-event",
455
+ chatId: "chat-1",
456
+ promptId: streamId,
457
+ blockSeq: 0,
458
+ timestamp: new Date(),
459
+ blocks: codeBlock.slice(0, -1),
460
+ });
461
+ controller.close();
462
+ },
463
+ });
464
+ const r = await resolveSectionStream({ sectionStream: stream, streamId });
465
+ expect(r.isOk()).toBe(true);
466
+ const ok = r.Ok();
467
+ expect(ok.turnEndSeen).toBe(false);
468
+ expect(ok.blockEndSeen).toBe(false);
469
+ expect(ok.announcedPaths).toEqual(["access.js"]);
470
+ expect(ok.files["access.js"]).toBe("export function todos() { return {}; }");
377
471
  });
378
472
  it("does not recover seed files when an abnormal end produced zero snapshots (#2442 review)", async () => {
379
473
  const seed = new Map([