vibes-diy 7.0.2 → 7.0.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/cli-ctx.d.ts CHANGED
@@ -25,5 +25,7 @@ export interface CliCtx extends HarnessCliCtx {
25
25
  idleTimeoutMs?: number;
26
26
  skipShard?: boolean;
27
27
  }) => VibesDiyApi;
28
+ readonly fetch?: typeof fetch;
29
+ readonly cwd?: () => string;
28
30
  exitCode: number;
29
31
  }
@@ -2,6 +2,143 @@ import { isCmdProgress, sendMsg, sendProgress, type CmdProgress, type CmdTSMsg,
2
2
  export type { CmdTSMsg, WrapCmdTSMsg, CmdProgress };
3
3
  export { isCmdProgress, sendMsg, sendProgress };
4
4
  export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
5
+ type: "use-vibes.cli.themes";
6
+ }, {
7
+ type: "use-vibes.cli.res-themes-list";
8
+ themes: {
9
+ slug: string;
10
+ name: string;
11
+ }[];
12
+ } | {
13
+ type: "use-vibes.cli.res-theme-content";
14
+ slug: string;
15
+ content: string;
16
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
17
+ type: "vibes-diy.cli.put-asset";
18
+ file: string;
19
+ appSlug: string;
20
+ ownerHandle: string;
21
+ apiUrl: string;
22
+ mimeType: string;
23
+ verifyFetch: boolean;
24
+ }, {
25
+ type: "vibes-diy.cli.res-put-asset";
26
+ cid: string;
27
+ getURL: string;
28
+ size: number;
29
+ uploadId: string;
30
+ verified?: boolean | undefined;
31
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
32
+ type: "vibes-diy.cli.db.del";
33
+ apiUrl: string;
34
+ appSlug: string;
35
+ ownerHandle: string;
36
+ dbName: string;
37
+ docId: string;
38
+ admin: boolean;
39
+ }, {
40
+ type: "vibes-diy.cli.db.del-res";
41
+ id: string;
42
+ ok: true;
43
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
44
+ type: "vibes-diy.cli.edit";
45
+ appSlug: string;
46
+ prompt: string;
47
+ ownerHandle: string;
48
+ instantJoin?: boolean | undefined;
49
+ verbose: boolean;
50
+ dir: string;
51
+ apiUrl: string;
52
+ dryRun: boolean;
53
+ transcript: boolean;
54
+ focusPath?: string | undefined;
55
+ model?: string | undefined;
56
+ apiKey?: string | undefined;
57
+ }, {
58
+ appSlug: string;
59
+ ownerHandle: string;
60
+ mode: "dev" | "production";
61
+ fsId: string;
62
+ type: "vibes.diy.res-ensure-app-slug";
63
+ env: Record<string, string>;
64
+ fileSystem: {
65
+ fileName: string;
66
+ mimeType: string;
67
+ assetId: string;
68
+ assetURI: string;
69
+ transform?: {
70
+ type: "jsx-to-js";
71
+ transformedAssetId: string;
72
+ } | {
73
+ type: "imports";
74
+ importMapAssetId: string;
75
+ } | {
76
+ type: "import-map";
77
+ fromAssetIds: string[];
78
+ } | {
79
+ type: "transformed";
80
+ action: "jsx-to-js";
81
+ transformedAssetId: string;
82
+ } | undefined;
83
+ entryPoint?: boolean | undefined;
84
+ size: number;
85
+ }[];
86
+ } | {
87
+ type: "vibes.diy.res-error";
88
+ error: {
89
+ message: string;
90
+ code: "require-login";
91
+ };
92
+ } | {
93
+ type: "vibes.diy.res-error";
94
+ error: {
95
+ message: string;
96
+ code: "user-slug-invalid";
97
+ };
98
+ } | {
99
+ type: "vibes.diy.res-error";
100
+ error: {
101
+ message: string;
102
+ code: "app-slug-invalid";
103
+ };
104
+ } | {
105
+ type: "vibes.diy.res-error";
106
+ error: {
107
+ message: string;
108
+ code: "max-app-slugs-reached";
109
+ };
110
+ } | {
111
+ type: "vibes-diy.cli.res-edit";
112
+ appSlug: string;
113
+ ownerHandle: string;
114
+ url: string;
115
+ directory: string;
116
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
117
+ type: "vibes-diy.cli.set-unpublish";
118
+ appSlug: string;
119
+ ownerHandle: string;
120
+ unpublish: boolean;
121
+ apiUrl: string;
122
+ }, {
123
+ type: "vibes-diy.cli.res-set-unpublish";
124
+ appSlug: string;
125
+ ownerHandle: string;
126
+ unpublishedAt: string;
127
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
128
+ type: "vibes-diy.cli.publish";
129
+ appSlug: string;
130
+ ownerHandle: string;
131
+ fsId?: string | undefined;
132
+ apiUrl: string;
133
+ }, {
134
+ type: "vibes-diy.cli.res-publish";
135
+ appSlug: string;
136
+ ownerHandle: string;
137
+ fsId: string;
138
+ releaseSeq: number;
139
+ released: boolean;
140
+ restored: boolean;
141
+ }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
5
142
  type: "vibes-diy.cli.user-settings";
6
143
  apiUrl: string;
7
144
  setDefaultHandle?: string | undefined;
@@ -121,116 +258,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
121
258
  })[];
122
259
  updated: string;
123
260
  created: string;
124
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
125
- type: "vibes-diy.cli.db.del";
126
- apiUrl: string;
127
- appSlug: string;
128
- ownerHandle: string;
129
- dbName: string;
130
- docId: string;
131
- admin: boolean;
132
- }, {
133
- type: "vibes-diy.cli.db.del-res";
134
- id: string;
135
- ok: true;
136
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
137
- type: "vibes-diy.cli.edit";
138
- appSlug: string;
139
- prompt: string;
140
- ownerHandle: string;
141
- instantJoin?: boolean | undefined;
142
- verbose: boolean;
143
- dir: string;
144
- apiUrl: string;
145
- dryRun: boolean;
146
- transcript: boolean;
147
- focusPath?: string | undefined;
148
- model?: string | undefined;
149
- apiKey?: string | undefined;
150
- }, {
151
- appSlug: string;
152
- ownerHandle: string;
153
- mode: "dev" | "production";
154
- fsId: string;
155
- type: "vibes.diy.res-ensure-app-slug";
156
- env: Record<string, string>;
157
- fileSystem: {
158
- fileName: string;
159
- mimeType: string;
160
- assetId: string;
161
- assetURI: string;
162
- transform?: {
163
- type: "jsx-to-js";
164
- transformedAssetId: string;
165
- } | {
166
- type: "imports";
167
- importMapAssetId: string;
168
- } | {
169
- type: "import-map";
170
- fromAssetIds: string[];
171
- } | {
172
- type: "transformed";
173
- action: "jsx-to-js";
174
- transformedAssetId: string;
175
- } | undefined;
176
- entryPoint?: boolean | undefined;
177
- size: number;
178
- }[];
179
- } | {
180
- type: "vibes.diy.res-error";
181
- error: {
182
- message: string;
183
- code: "require-login";
184
- };
185
- } | {
186
- type: "vibes.diy.res-error";
187
- error: {
188
- message: string;
189
- code: "user-slug-invalid";
190
- };
191
- } | {
192
- type: "vibes.diy.res-error";
193
- error: {
194
- message: string;
195
- code: "app-slug-invalid";
196
- };
197
- } | {
198
- type: "vibes.diy.res-error";
199
- error: {
200
- message: string;
201
- code: "max-app-slugs-reached";
202
- };
203
- } | {
204
- type: "vibes-diy.cli.res-edit";
205
- appSlug: string;
206
- ownerHandle: string;
207
- url: string;
208
- directory: string;
209
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
210
- type: "vibes-diy.cli.set-unpublish";
211
- appSlug: string;
212
- ownerHandle: string;
213
- unpublish: boolean;
214
- apiUrl: string;
215
- }, {
216
- type: "vibes-diy.cli.res-set-unpublish";
217
- appSlug: string;
218
- ownerHandle: string;
219
- unpublishedAt: string;
220
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
221
- type: "vibes-diy.cli.publish";
222
- appSlug: string;
223
- ownerHandle: string;
224
- fsId?: string | undefined;
225
- apiUrl: string;
226
- }, {
227
- type: "vibes-diy.cli.res-publish";
228
- appSlug: string;
229
- ownerHandle: string;
230
- fsId: string;
231
- releaseSeq: number;
232
- released: boolean;
233
- restored: boolean;
234
261
  }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
235
262
  type: "vibes-diy.cli.skills";
236
263
  }, {
@@ -243,18 +270,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
243
270
  type: "vibes-diy.cli.res-skill-content";
244
271
  name: string;
245
272
  content: string;
246
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
247
- type: "use-vibes.cli.themes";
248
- }, {
249
- type: "use-vibes.cli.res-themes-list";
250
- themes: {
251
- slug: string;
252
- name: string;
253
- }[];
254
- } | {
255
- type: "use-vibes.cli.res-theme-content";
256
- slug: string;
257
- content: string;
258
273
  }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
259
274
  type: "vibes-diy.cli.system";
260
275
  }, {
@@ -324,21 +339,6 @@ export declare function cliEventoHandlers(): (import("@adviser/cement").EventoHa
324
339
  message: string;
325
340
  code: "max-app-slugs-reached";
326
341
  };
327
- }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
328
- type: "vibes-diy.cli.put-asset";
329
- file: string;
330
- appSlug: string;
331
- ownerHandle: string;
332
- apiUrl: string;
333
- mimeType: string;
334
- verifyFetch: boolean;
335
- }, {
336
- type: "vibes-diy.cli.res-put-asset";
337
- cid: string;
338
- getURL: string;
339
- size: number;
340
- uploadId: string;
341
- verified?: boolean | undefined;
342
342
  }> | import("@adviser/cement").EventoHandler<WrapCmdTSMsg<unknown>, {
343
343
  type: "vibes-diy.cli.generate";
344
344
  prompt: string;
@@ -1,6 +1,4 @@
1
1
  import { command, flag, option, optional, positional, string } from "cmd-ts";
2
- import { writeFile } from "fs/promises";
3
- import { join } from "path";
4
2
  import { Result, Option } from "@adviser/cement";
5
3
  import { type } from "arktype";
6
4
  import { isResError, isSectionEvent } from "@vibes.diy/api-types";
@@ -16,6 +14,7 @@ import { formatErr } from "./format-err.js";
16
14
  import { formatNoFilesError } from "./format-no-files-error.js";
17
15
  import { readDryRunPayloadFromStream, formatDryRunAsText } from "./dry-run.js";
18
16
  import { modelFromSectionEvent } from "./resolved-model.js";
17
+ import { materializeFile } from "./materialize-file.js";
19
18
  export { readDryRunPayloadFromStream, formatDryRunAsText } from "./dry-run.js";
20
19
  export const ResEdit = type({
21
20
  type: "'vibes-diy.cli.res-edit'",
@@ -304,8 +303,10 @@ export const editEvento = {
304
303
  const pushAppSlug = chat.appSlug;
305
304
  const pushUserSlug = chat.ownerHandle;
306
305
  for (const [path, content] of Object.entries(files)) {
307
- const filename = path.startsWith("/") ? path.slice(1) : path;
308
- await writeFile(join(dir, filename), content, "utf-8");
306
+ const rWrite = await materializeFile({ root: dir, filename: path, content });
307
+ if (rWrite.isErr()) {
308
+ return Result.Err(`Failed to write ${path}: ${rWrite.Err().message}`);
309
+ }
309
310
  }
310
311
  const rPush = await pushFromDir({
311
312
  dir,
@@ -1 +1 @@
1
- {"version":3,"file":"edit-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/edit-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/edit-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,13 @@
1
- import { mkdtemp, readFile, rm, writeFile } from "fs/promises";
1
+ import { mkdir, mkdtemp, readFile, readdir, rm, writeFile } from "fs/promises";
2
2
  import { tmpdir } from "os";
3
3
  import { join } from "path";
4
4
  import { AppContext, Result } from "@adviser/cement";
5
5
  import { run } from "cmd-ts";
6
- import { afterEach, describe, expect, it, vi } from "vitest";
6
+ import { afterEach, describe, expect, it } from "vitest";
7
7
  import { createCliStream } from "../cli-kit.js";
8
8
  import { buildEditPromptRequest, editCmd, editEvento, isReqEdit } from "./edit-cmd.js";
9
9
  const tempDirs = [];
10
10
  afterEach(async () => {
11
- vi.restoreAllMocks();
12
11
  for (const dir of tempDirs.splice(0)) {
13
12
  await rm(dir, { recursive: true, force: true });
14
13
  }
@@ -393,7 +392,6 @@ describe("editEvento", () => {
393
392
  const cwd = await mkdtemp(join(tmpdir(), "edit-cmd-cwd-"));
394
393
  tempDirs.push(cwd);
395
394
  await writeFile(join(cwd, "App.jsx"), ['import React from "react";', "", "export default function App() {", " return <h1>Hello</h1>;", "}"].join("\n"), "utf-8");
396
- vi.spyOn(process, "cwd").mockReturnValue(cwd);
397
395
  const promptId = "prompt-edit-seed";
398
396
  const { api, calls } = buildApi({
399
397
  promptId,
@@ -419,7 +417,7 @@ describe("editEvento", () => {
419
417
  verbose: false,
420
418
  dryRun: false,
421
419
  transcript: false,
422
- dir: "",
420
+ dir: cwd,
423
421
  apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
424
422
  };
425
423
  const r = await editEvento.handle(buildTrigger(args, api, sent));
@@ -452,7 +450,6 @@ describe("editEvento", () => {
452
450
  tempDirs.push(cwd, target);
453
451
  await writeFile(join(cwd, "App.jsx"), "export default function App() { return <h1>CWD</h1>; }", "utf-8");
454
452
  await writeFile(join(target, "App.jsx"), "export default function App() { return <h1>Target</h1>; }", "utf-8");
455
- vi.spyOn(process, "cwd").mockReturnValue(cwd);
456
453
  const promptId = "prompt-edit-dir";
457
454
  const { api, calls } = buildApi({
458
455
  promptId,
@@ -496,12 +493,94 @@ describe("editEvento", () => {
496
493
  });
497
494
  expect(resEdit.result.directory).toBe(target);
498
495
  });
496
+ it("materializes nested companion files before pushing", async () => {
497
+ const cwd = await mkdtemp(join(tmpdir(), "edit-cmd-nested-"));
498
+ tempDirs.push(cwd);
499
+ const promptId = "prompt-edit-nested";
500
+ const feed = "export default function Feed() { return <div>Feed</div>; }";
501
+ const { api, calls } = buildApi({
502
+ promptId,
503
+ appSlug: "todo-app",
504
+ ownerHandle: "alice",
505
+ sectionStream: sectionEventStream(promptId, [
506
+ {
507
+ blockId: "b1",
508
+ blockNr: 1,
509
+ sectionId: "s1",
510
+ path: "App.jsx",
511
+ lines: ["export default function App() { return <div>App</div>; }"],
512
+ },
513
+ {
514
+ blockId: "b2",
515
+ blockNr: 2,
516
+ sectionId: "s2",
517
+ path: "components/Feed.jsx",
518
+ lines: [feed],
519
+ },
520
+ ]),
521
+ });
522
+ const args = {
523
+ type: "vibes-diy.cli.edit",
524
+ appSlug: "todo-app",
525
+ prompt: "Add a feed component",
526
+ ownerHandle: "alice",
527
+ instantJoin: false,
528
+ verbose: false,
529
+ dryRun: false,
530
+ transcript: false,
531
+ dir: cwd,
532
+ apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
533
+ };
534
+ const r = await editEvento.handle(buildTrigger(args, api, []));
535
+ expect(r.isOk(), r.isErr() ? String(r.Err()) : "").toBe(true);
536
+ expect(await readFile(join(cwd, "components", "Feed.jsx"), "utf-8")).toBe(feed);
537
+ const pushed = calls.ensureAppSlug[0];
538
+ expect(pushed.fileSystem.map((f) => f.filename)).toContain("/components/Feed.jsx");
539
+ });
540
+ it("rejects edited paths that escape the target directory before writing", async () => {
541
+ const root = await mkdtemp(join(tmpdir(), "edit-cmd-traversal-root-"));
542
+ const dir = join(root, "app");
543
+ tempDirs.push(root);
544
+ await mkdir(dir, { recursive: true });
545
+ await writeFile(join(dir, "App.jsx"), "export default function App() { return null; }", "utf-8");
546
+ const promptId = "prompt-edit-traversal";
547
+ const { api, calls } = buildApi({
548
+ promptId,
549
+ appSlug: "todo-app",
550
+ ownerHandle: "alice",
551
+ sectionStream: sectionEventStream(promptId, [
552
+ {
553
+ blockId: "b1",
554
+ blockNr: 1,
555
+ sectionId: "s1",
556
+ path: "../escaped/Comp.jsx",
557
+ lines: ["export default function Comp() { return null; }"],
558
+ },
559
+ ]),
560
+ });
561
+ const args = {
562
+ type: "vibes-diy.cli.edit",
563
+ appSlug: "todo-app",
564
+ prompt: "Add a companion file",
565
+ ownerHandle: "alice",
566
+ instantJoin: false,
567
+ verbose: false,
568
+ dryRun: false,
569
+ transcript: false,
570
+ dir,
571
+ apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
572
+ };
573
+ const r = await editEvento.handle(buildTrigger(args, api, []));
574
+ expect(r.isErr()).toBe(true);
575
+ expect(String(r.Err())).toContain("outside");
576
+ expect(await readdir(root)).not.toContain("escaped");
577
+ expect(calls.ensureAppSlug).toEqual([]);
578
+ });
499
579
  it("bails with a no-changes error when the edit turn ends without any successful snapshots", async () => {
500
580
  const cwd = await mkdtemp(join(tmpdir(), "edit-cmd-noop-"));
501
581
  tempDirs.push(cwd);
502
582
  const original = ['import React from "react";', "", "export default function App() {", " return <h1>Hello</h1>;", "}"].join("\n");
503
583
  await writeFile(join(cwd, "App.jsx"), original, "utf-8");
504
- vi.spyOn(process, "cwd").mockReturnValue(cwd);
505
584
  const promptId = "prompt-noop";
506
585
  const bareBlockEndStream = new ReadableStream({
507
586
  start(controller) {
@@ -547,7 +626,7 @@ describe("editEvento", () => {
547
626
  verbose: false,
548
627
  dryRun: false,
549
628
  transcript: false,
550
- dir: "",
629
+ dir: cwd,
551
630
  apiUrl: "https://vibes.diy/api?.stable-entry.=cli",
552
631
  };
553
632
  const r = await editEvento.handle(buildTrigger(args, api, sent));