vibes-diy 14.3.76 → 14.3.78

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.js CHANGED
@@ -8,7 +8,7 @@ import { remixEvento } from "./cmds/remix-cmd.js";
8
8
  import { claimHandleEvento } from "./cmds/claim-handle-cmd.js";
9
9
  import { putAssetEvento } from "./cmds/put-asset-cmd.js";
10
10
  import { generateEvento } from "./cmds/generate-cmd.js";
11
- import { dbListEvento, dbGetEvento, dbPutEvento, dbDelEvento, dbQueryEvento, dbSubscribeEvento } from "./cmds/db/index.js";
11
+ import { dbListEvento, dbGetEvento, dbPutEvento, dbDelEvento, dbQueryEvento, dbSubscribeEvento, dbSeedEvento, } from "./cmds/db/index.js";
12
12
  import { codegenLogEvento } from "./cmds/codegen-log-cmd.js";
13
13
  import { appChatsEvento } from "./cmds/app-chats-cmd.js";
14
14
  import { editEvento } from "./cmds/edit-cmd.js";
@@ -66,6 +66,7 @@ export function cliEventoHandlers() {
66
66
  dbDelEvento,
67
67
  dbQueryEvento,
68
68
  dbSubscribeEvento,
69
+ dbSeedEvento,
69
70
  ];
70
71
  }
71
72
  export function cmdTsEvento() {
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-evento.js","sourceRoot":"","sources":["../../jsr/cli/cmd-evento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,YAAY,GAIb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAOhD,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,UAAU;QACV,UAAU;QACV,cAAc;QACd,cAAc;QACd,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,aAAa;QACb,kBAAkB;QAClB,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,eAAe;QACf,eAAe;QACf,sBAAsB;QACtB,oBAAoB;QACpB,sBAAsB;QACtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"cmd-evento.js","sourceRoot":"","sources":["../../jsr/cli/cmd-evento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EACL,aAAa,EACb,eAAe,EACf,OAAO,EACP,YAAY,GAIb,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAOhD,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,aAAa;QACb,YAAY;QACZ,UAAU;QACV,WAAW;QACX,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,UAAU;QACV,UAAU;QACV,UAAU;QACV,cAAc;QACd,cAAc;QACd,eAAe;QACf,cAAc;QACd,mBAAmB;QACnB,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,aAAa;QACb,kBAAkB;QAClB,kBAAkB;QAClB,aAAa;QACb,aAAa;QACb,eAAe;QACf,eAAe;QACf,sBAAsB;QACtB,oBAAoB;QACpB,sBAAsB;QACtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC,iBAAiB,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { EventoHandler } from "@adviser/cement";
2
+ import { type Chip } from "@vibes.diy/api-types";
2
3
  import { CliCtx } from "../../cli-ctx.js";
3
4
  import { WrapCmdTSMsg } from "../../cmd-evento.js";
4
5
  export declare const ReqAppChips: import("arktype/internal/variants/object.ts").ObjectType<{
@@ -6,7 +7,11 @@ export declare const ReqAppChips: import("arktype/internal/variants/object.ts").
6
7
  appSlug: string;
7
8
  ownerHandle: string;
8
9
  apiUrl: string;
9
- chips: string[];
10
+ chips: (string | {
11
+ label: string;
12
+ gold?: boolean | undefined;
13
+ kind?: "access" | "connect" | "edit" | "publish" | "seed" | undefined;
14
+ })[];
10
15
  fsId: string;
11
16
  }, {}>;
12
17
  export type ReqAppChips = typeof ReqAppChips.infer;
@@ -18,10 +23,16 @@ export declare const ResAppChipsCli: import("arktype/internal/variants/object.ts
18
23
  fsId: string;
19
24
  releaseSeq: number;
20
25
  chips: string[];
26
+ chipItems?: {
27
+ label: string;
28
+ gold?: boolean | undefined;
29
+ kind?: "access" | "connect" | "edit" | "publish" | "seed" | undefined;
30
+ }[] | undefined;
21
31
  }, {}>;
22
32
  export type ResAppChipsCli = typeof ResAppChipsCli.infer;
23
33
  export declare function isResAppChipsCli(obj: unknown): obj is ResAppChipsCli;
24
34
  export declare function renderAppChipsLines(msg: ResAppChipsCli): string[];
35
+ export declare function parseChipArg(arg: string): string | Chip;
25
36
  export declare const appChipsEvento: EventoHandler<WrapCmdTSMsg<unknown>, ReqAppChips, ResAppChipsCli>;
26
37
  export declare function appChipsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
27
38
  parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
@@ -1,5 +1,6 @@
1
1
  import { command, flag, option, optional, positional, restPositionals, string } from "cmd-ts";
2
- import { Result, Option } from "@adviser/cement";
2
+ import { Result, Option, exception2Result, } from "@adviser/cement";
3
+ import { OfferedOption } from "@vibes.diy/api-types";
3
4
  import { type } from "arktype";
4
5
  import { cmdTsDefaultArgs } from "../../cli-ctx.js";
5
6
  import { sendMsg } from "../../cmd-evento.js";
@@ -12,7 +13,7 @@ export const ReqAppChips = type({
12
13
  appSlug: "string",
13
14
  ownerHandle: "string",
14
15
  apiUrl: "string",
15
- chips: "string[]",
16
+ chips: OfferedOption.or("string").array(),
16
17
  fsId: "string",
17
18
  });
18
19
  export function isReqAppChips(obj) {
@@ -25,6 +26,7 @@ export const ResAppChipsCli = type({
25
26
  fsId: "string",
26
27
  releaseSeq: "number",
27
28
  chips: "string[]",
29
+ "chipItems?": OfferedOption.array(),
28
30
  });
29
31
  export function isResAppChipsCli(obj) {
30
32
  return !(ResAppChipsCli(obj) instanceof type.errors);
@@ -35,7 +37,21 @@ export function renderAppChipsLines(msg) {
35
37
  if (msg.chips.length === 0) {
36
38
  return [`${app}: cleared — visitors now see no suggestion chips.`, where];
37
39
  }
38
- return [`${app}: visitors now see these chips:`, ...msg.chips.map((c) => ` ▸ ${c}`), where];
40
+ const items = msg.chipItems ?? msg.chips.map((label) => ({ label }));
41
+ return [
42
+ `${app}: visitors now see these chips:`,
43
+ ...items.map((c) => ` ${c.gold === true ? "\u2605" : "\u25b8"} ${c.label}`),
44
+ where,
45
+ ];
46
+ }
47
+ export function parseChipArg(arg) {
48
+ if (arg.trim().startsWith("{") === false)
49
+ return arg;
50
+ const parsed = exception2Result(() => JSON.parse(arg));
51
+ const value = parsed.isOk() ? parsed.Ok() : undefined;
52
+ if (OfferedOption.allows(value))
53
+ return value;
54
+ throw new Error(`Not a chip: ${arg}. Pass a label, or {"label": "...", "gold": true, "kind": "seed" | "access" | "connect" | "publish"}.`);
39
55
  }
40
56
  export const appChipsEvento = {
41
57
  hash: "vibes-diy.cli.app-chips",
@@ -76,6 +92,7 @@ export const appChipsEvento = {
76
92
  fsId: r.fsId,
77
93
  releaseSeq: r.releaseSeq,
78
94
  chips: r.chips,
95
+ ...(r.chipItems === undefined ? {} : { chipItems: r.chipItems }),
79
96
  });
80
97
  },
81
98
  };
@@ -92,7 +109,7 @@ export function appChipsCmd(ctx) {
92
109
  }),
93
110
  chips: restPositionals({
94
111
  displayName: "chip",
95
- description: "The chip labels, in order. More than 3 are trimmed to the first 3.",
112
+ description: 'The chip labels, in order. More than 3 are trimmed to the first 3. A gold chip is JSON: \'{"label":"Let a friend in","gold":true,"kind":"access"}\'.',
96
113
  type: string,
97
114
  }),
98
115
  vibe: option({
@@ -127,7 +144,7 @@ export function appChipsCmd(ctx) {
127
144
  handle: args.handle,
128
145
  positionals: [args.appSlug],
129
146
  });
130
- const chips = [...resolved.trailing, ...args.chips];
147
+ const chips = [...resolved.trailing, ...args.chips].map(parseChipArg);
131
148
  if (args.clear === false && chips.length === 0) {
132
149
  throw new Error("Pass at least one chip, or --clear to show visitors no chips.");
133
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chips-cmd.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/app/chips-cmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chips-cmd.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/app/chips-cmd.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from "vitest";
2
- import { renderAppChipsLines } from "./chips-cmd.js";
2
+ import { parseChipArg, renderAppChipsLines } from "./chips-cmd.js";
3
3
  const base = {
4
4
  type: "vibes-diy.cli.res-app-chips",
5
5
  ownerHandle: "og",
@@ -26,5 +26,27 @@ describe("renderAppChipsLines (#4807)", () => {
26
26
  expect(out).toContain("cleared — visitors now see no suggestion chips");
27
27
  expect(out).toContain("on release zFsIdOfTheLiveRelease");
28
28
  });
29
+ it("marks a gold chip with a star and keeps the order (#6768)", () => {
30
+ const out = renderAppChipsLines({
31
+ ...base,
32
+ chips: ["Sort by price", "Let a friend add flavors"],
33
+ chipItems: [{ label: "Sort by price" }, { label: "Let a friend add flavors", gold: true, kind: "access" }],
34
+ });
35
+ expect(out.slice(1, 3)).toEqual([" \u25b8 Sort by price", " \u2605 Let a friend add flavors"]);
36
+ });
37
+ });
38
+ describe("parseChipArg (#6768)", () => {
39
+ it("reads a plain label as itself and a JSON object as a chip", () => {
40
+ expect(parseChipArg("Sort by price")).toEqual("Sort by price");
41
+ expect(parseChipArg('{"label":"Add examples","gold":true,"kind":"seed"}')).toEqual({
42
+ label: "Add examples",
43
+ gold: true,
44
+ kind: "seed",
45
+ });
46
+ });
47
+ it("refuses an object that is not a chip", () => {
48
+ expect(() => parseChipArg('{"label":"x","kind":"teleport"}')).toThrow(/label/);
49
+ expect(() => parseChipArg("{not json")).toThrow(/label/);
50
+ });
29
51
  });
30
52
  //# sourceMappingURL=chips-render.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chips-render.test.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/app/chips-render.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAuB,MAAM,gBAAgB,CAAC;AAM1E,MAAM,IAAI,GAAmB;IAC3B,IAAI,EAAE,6BAA6B;IACnC,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,uBAAuB;IAC7B,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;CACvD,CAAC;AAEF,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACtE,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACxE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"chips-render.test.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/app/chips-render.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export { dbPutEvento, isResDbPut, type ResDbPut } from "./put-cmd.js";
5
5
  export { dbDelEvento, isResDbDel, type ResDbDel } from "./del-cmd.js";
6
6
  export { dbQueryEvento, isResDbQuery, type ResDbQuery } from "./query-cmd.js";
7
7
  export { dbSubscribeEvento } from "./subscribe-cmd.js";
8
+ export { dbSeedEvento, isResDbSeed, renderDbSeedLines, type ResDbSeed } from "./seed-cmd.js";
8
9
  export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
9
10
  parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
10
11
  command: "del";
@@ -83,6 +84,29 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
83
84
  descending: boolean;
84
85
  admin: boolean;
85
86
  };
87
+ } | {
88
+ command: "seed";
89
+ args: {
90
+ command: "add";
91
+ args: {
92
+ apiUrl: string;
93
+ json: boolean;
94
+ text: boolean;
95
+ appSlug: string | undefined;
96
+ vibe: string;
97
+ handle: string;
98
+ };
99
+ } | {
100
+ command: "remove";
101
+ args: {
102
+ apiUrl: string;
103
+ json: boolean;
104
+ text: boolean;
105
+ appSlug: string | undefined;
106
+ vibe: string;
107
+ handle: string;
108
+ };
109
+ };
86
110
  } | {
87
111
  command: "subscribe";
88
112
  args: {
@@ -173,6 +197,29 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
173
197
  descending: boolean;
174
198
  admin: boolean;
175
199
  };
200
+ } | {
201
+ command: "seed";
202
+ args: {
203
+ command: "add";
204
+ args: {
205
+ apiUrl: string;
206
+ json: boolean;
207
+ text: boolean;
208
+ appSlug: string | undefined;
209
+ vibe: string;
210
+ handle: string;
211
+ };
212
+ } | {
213
+ command: "remove";
214
+ args: {
215
+ apiUrl: string;
216
+ json: boolean;
217
+ text: boolean;
218
+ appSlug: string | undefined;
219
+ vibe: string;
220
+ handle: string;
221
+ };
222
+ };
176
223
  } | {
177
224
  command: "subscribe";
178
225
  args: {
@@ -200,6 +247,15 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
200
247
  } | {
201
248
  command: "query";
202
249
  value: never;
250
+ } | {
251
+ command: "seed";
252
+ value: {
253
+ command: "add";
254
+ value: never;
255
+ } | {
256
+ command: "remove";
257
+ value: never;
258
+ };
203
259
  } | {
204
260
  command: "subscribe";
205
261
  value: never;
@@ -219,6 +275,15 @@ export declare function dbSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/
219
275
  } | {
220
276
  command: "query";
221
277
  value: never;
278
+ } | {
279
+ command: "seed";
280
+ value: {
281
+ command: "add";
282
+ value: never;
283
+ } | {
284
+ command: "remove";
285
+ value: never;
286
+ };
222
287
  } | {
223
288
  command: "subscribe";
224
289
  value: never;
@@ -5,12 +5,14 @@ import { dbPutCmd } from "./put-cmd.js";
5
5
  import { dbDelCmd } from "./del-cmd.js";
6
6
  import { dbQueryCmd } from "./query-cmd.js";
7
7
  import { dbSubscribeCmd } from "./subscribe-cmd.js";
8
+ import { dbSeedSubcommands } from "./seed-cmd.js";
8
9
  export { dbListEvento, isResDbList } from "./list-cmd.js";
9
10
  export { dbGetEvento, isResDbGet } from "./get-cmd.js";
10
11
  export { dbPutEvento, isResDbPut } from "./put-cmd.js";
11
12
  export { dbDelEvento, isResDbDel } from "./del-cmd.js";
12
13
  export { dbQueryEvento, isResDbQuery } from "./query-cmd.js";
13
14
  export { dbSubscribeEvento } from "./subscribe-cmd.js";
15
+ export { dbSeedEvento, isResDbSeed, renderDbSeedLines } from "./seed-cmd.js";
14
16
  export function dbSubcommands(ctx) {
15
17
  return subcommands({
16
18
  name: "db",
@@ -22,6 +24,7 @@ export function dbSubcommands(ctx) {
22
24
  del: dbDelCmd(ctx),
23
25
  query: dbQueryCmd(ctx),
24
26
  subscribe: dbSubscribeCmd(ctx),
27
+ seed: dbSeedSubcommands(ctx),
25
28
  },
26
29
  });
27
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAmB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;YACpB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC;SAC/B;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAmB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAE7F,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE;YACJ,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC;YACpB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC;YACtB,SAAS,EAAE,cAAc,CAAC,GAAG,CAAC;YAC9B,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC;SAC7B;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,92 @@
1
+ import type { EventoHandler } from "@adviser/cement";
2
+ import type { ResSeedRemove, ResSeedRerun } from "@vibes.diy/api-types";
3
+ import type { CliCtx } from "../../cli-ctx.js";
4
+ import { WrapCmdTSMsg } from "../../cmd-evento.js";
5
+ export declare const ReqDbSeed: import("arktype/internal/variants/object.ts").ObjectType<{
6
+ type: "vibes-diy.cli.db.seed";
7
+ action: "add" | "remove";
8
+ apiUrl: string;
9
+ appSlug: string;
10
+ ownerHandle: string;
11
+ }, {}>;
12
+ export type ReqDbSeed = typeof ReqDbSeed.infer;
13
+ export declare function isReqDbSeed(obj: unknown): obj is ReqDbSeed;
14
+ export declare const ResDbSeed: import("arktype/internal/variants/object.ts").ObjectType<{
15
+ type: "vibes-diy.cli.db.seed-res";
16
+ action: "add" | "remove";
17
+ appSlug: string;
18
+ ownerHandle: string;
19
+ seedFile: "absent" | "invalid" | "present" | "unknown";
20
+ changed: number;
21
+ skipped: number;
22
+ failed: number;
23
+ perDb: {
24
+ dbName: string;
25
+ changed: number;
26
+ skipped: number;
27
+ failed: number;
28
+ }[];
29
+ }, {}>;
30
+ export type ResDbSeed = typeof ResDbSeed.infer;
31
+ export declare function isResDbSeed(obj: unknown): obj is ResDbSeed;
32
+ export declare function dbSeedFromRerun(res: ResSeedRerun): ResDbSeed;
33
+ export declare function dbSeedFromRemove(res: ResSeedRemove): ResDbSeed;
34
+ export declare function renderDbSeedLines(res: ResDbSeed): string[];
35
+ export declare const dbSeedEvento: EventoHandler<WrapCmdTSMsg<unknown>, ReqDbSeed, ResDbSeed>;
36
+ export declare function dbSeedSubcommands(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
37
+ parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
38
+ command: "add";
39
+ args: {
40
+ apiUrl: string;
41
+ json: boolean;
42
+ text: boolean;
43
+ appSlug: string | undefined;
44
+ vibe: string;
45
+ handle: string;
46
+ };
47
+ } | {
48
+ command: "remove";
49
+ args: {
50
+ apiUrl: string;
51
+ json: boolean;
52
+ text: boolean;
53
+ appSlug: string | undefined;
54
+ vibe: string;
55
+ handle: string;
56
+ };
57
+ }>>;
58
+ } & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
59
+ command: "add";
60
+ args: {
61
+ apiUrl: string;
62
+ json: boolean;
63
+ text: boolean;
64
+ appSlug: string | undefined;
65
+ vibe: string;
66
+ handle: string;
67
+ };
68
+ } | {
69
+ command: "remove";
70
+ args: {
71
+ apiUrl: string;
72
+ json: boolean;
73
+ text: boolean;
74
+ appSlug: string | undefined;
75
+ vibe: string;
76
+ handle: string;
77
+ };
78
+ }, {
79
+ command: "add";
80
+ value: never;
81
+ } | {
82
+ command: "remove";
83
+ value: never;
84
+ }> & {
85
+ run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
86
+ command: "add";
87
+ value: never;
88
+ } | {
89
+ command: "remove";
90
+ value: never;
91
+ }>>;
92
+ };
@@ -0,0 +1,166 @@
1
+ import { command, option, optional, positional, string, subcommands } from "cmd-ts";
2
+ import { type } from "arktype";
3
+ import { Result, Option } from "@adviser/cement";
4
+ import { cmdTsDefaultArgs } from "../../cli-ctx.js";
5
+ import { sendMsg } from "../../cmd-evento.js";
6
+ import { resolveHandle } from "../../resolve-handle.js";
7
+ import { resolveVibePositionals } from "../../parse-vibe.js";
8
+ import { HANDLE_REQUIRED_CLI_MESSAGE } from "../../handle-required.js";
9
+ import { formatErr } from "../format-err.js";
10
+ export const ReqDbSeed = type({
11
+ type: "'vibes-diy.cli.db.seed'",
12
+ action: "'add' | 'remove'",
13
+ apiUrl: "string",
14
+ appSlug: "string",
15
+ ownerHandle: "string",
16
+ });
17
+ export function isReqDbSeed(obj) {
18
+ return !(ReqDbSeed(obj) instanceof type.errors);
19
+ }
20
+ export const ResDbSeed = type({
21
+ type: "'vibes-diy.cli.db.seed-res'",
22
+ action: "'add' | 'remove'",
23
+ appSlug: "string",
24
+ ownerHandle: "string",
25
+ seedFile: "'present' | 'absent' | 'invalid' | 'unknown'",
26
+ changed: "number",
27
+ skipped: "number",
28
+ failed: "number",
29
+ perDb: type({ dbName: "string", changed: "number", skipped: "number", failed: "number" }).array(),
30
+ });
31
+ export function isResDbSeed(obj) {
32
+ return !(ResDbSeed(obj) instanceof type.errors);
33
+ }
34
+ export function dbSeedFromRerun(res) {
35
+ return {
36
+ type: "vibes-diy.cli.db.seed-res",
37
+ action: "add",
38
+ appSlug: res.appSlug,
39
+ ownerHandle: res.ownerHandle,
40
+ seedFile: res.seedFile ?? "unknown",
41
+ changed: res.applied,
42
+ skipped: res.skipped,
43
+ failed: res.failed,
44
+ perDb: (res.perDb ?? []).map((d) => ({ dbName: d.dbName, changed: d.applied, skipped: d.skipped, failed: d.failed })),
45
+ };
46
+ }
47
+ export function dbSeedFromRemove(res) {
48
+ return {
49
+ type: "vibes-diy.cli.db.seed-res",
50
+ action: "remove",
51
+ appSlug: res.appSlug,
52
+ ownerHandle: res.ownerHandle,
53
+ seedFile: res.seedFile ?? "unknown",
54
+ changed: res.removed,
55
+ skipped: 0,
56
+ failed: res.failed,
57
+ perDb: (res.perDb ?? []).map((d) => ({ dbName: d.dbName, changed: d.removed, skipped: 0, failed: d.failed })),
58
+ };
59
+ }
60
+ export function renderDbSeedLines(res) {
61
+ const vibe = `${res.ownerHandle}/${res.appSlug}`;
62
+ if (res.seedFile === "absent") {
63
+ return [`${vibe}: the live version ships no seed.json, so it carries no sample data.`];
64
+ }
65
+ if (res.seedFile === "invalid") {
66
+ return [`${vibe}: the live version's seed.json could not be read as sample records; nothing was written.`];
67
+ }
68
+ const lines = [];
69
+ if (res.action === "add") {
70
+ lines.push(`Added sample data to ${vibe}: ${res.changed} added, ${res.skipped} already there, ${res.failed} refused`);
71
+ for (const d of res.perDb) {
72
+ lines.push(` ${d.dbName}: ${d.changed} added, ${d.skipped} already there, ${d.failed} refused`);
73
+ }
74
+ }
75
+ else {
76
+ lines.push(`Removed sample data from ${vibe}: ${res.changed} removed, ${res.failed} failed`);
77
+ for (const d of res.perDb) {
78
+ lines.push(` ${d.dbName}: ${d.changed} removed, ${d.failed} failed`);
79
+ }
80
+ }
81
+ return lines;
82
+ }
83
+ export const dbSeedEvento = {
84
+ hash: "vibes-diy.cli.db.seed",
85
+ validate: (ctx) => {
86
+ if (isReqDbSeed(ctx.enRequest)) {
87
+ return Promise.resolve(Result.Ok(Option.Some(ctx.enRequest)));
88
+ }
89
+ return Promise.resolve(Result.Ok(Option.None()));
90
+ },
91
+ handle: async (ctx) => {
92
+ const ectx = ctx.ctx.getOrThrow("cliCtx");
93
+ if (ectx.vibesDiyApiFactory === undefined) {
94
+ return Result.Err("Not logged in. Run 'vibes-diy login' first.");
95
+ }
96
+ const args = ctx.validated;
97
+ const api = ectx.vibesDiyApiFactory(args.apiUrl);
98
+ const ownerHandle = await resolveHandle(api, args.ownerHandle === "" ? undefined : args.ownerHandle);
99
+ if (ownerHandle === undefined) {
100
+ return Result.Err(HANDLE_REQUIRED_CLI_MESSAGE);
101
+ }
102
+ const target = { appSlug: args.appSlug, ownerHandle };
103
+ if (args.action === "add") {
104
+ const r = await api.seedRerun(target);
105
+ if (r.isErr())
106
+ return Result.Err(formatErr(r.Err()));
107
+ return sendMsg(ctx, dbSeedFromRerun(r.Ok()));
108
+ }
109
+ const r = await api.seedRemove(target);
110
+ if (r.isErr())
111
+ return Result.Err(formatErr(r.Err()));
112
+ return sendMsg(ctx, dbSeedFromRemove(r.Ok()));
113
+ },
114
+ };
115
+ function seedArgs(ctx) {
116
+ return {
117
+ ...cmdTsDefaultArgs(ctx),
118
+ appSlug: positional({
119
+ displayName: "vibe",
120
+ description: "App slug or handle/app-slug (e.g. jchris/hat-smeller)",
121
+ type: optional(string),
122
+ }),
123
+ vibe: option({
124
+ long: "vibe",
125
+ description: "Vibe identifier as handle/app-slug",
126
+ type: string,
127
+ defaultValue: () => "",
128
+ defaultValueIsSerializable: true,
129
+ }),
130
+ handle: option({
131
+ long: "handle",
132
+ description: "Act as this bound handle for this call only (leaves your default handle unchanged)",
133
+ type: string,
134
+ defaultValue: () => "",
135
+ defaultValueIsSerializable: true,
136
+ }),
137
+ };
138
+ }
139
+ function dbSeedActionCmd(ctx, action, description) {
140
+ return command({
141
+ name: action,
142
+ description,
143
+ args: seedArgs(ctx),
144
+ handler: ctx.cliStream.enqueue((args) => {
145
+ const resolved = resolveVibePositionals({ vibe: args.vibe, handle: args.handle, positionals: [args.appSlug] });
146
+ return {
147
+ type: "vibes-diy.cli.db.seed",
148
+ action,
149
+ apiUrl: args.apiUrl,
150
+ appSlug: resolved.appSlug,
151
+ ownerHandle: resolved.handle,
152
+ };
153
+ }),
154
+ });
155
+ }
156
+ export function dbSeedSubcommands(ctx) {
157
+ return subcommands({
158
+ name: "seed",
159
+ description: "Add or remove the sample data a vibe's live version ships in its seed.json (owner only)",
160
+ cmds: {
161
+ add: dbSeedActionCmd(ctx, "add", "Add the live version's seed.json sample records to the vibe's databases. Records already there, including ones you edited, stay as they are."),
162
+ remove: dbSeedActionCmd(ctx, "remove", "Remove the live version's seed.json sample records and keep them out until you add sample data again. Records you added yourself stay."),
163
+ },
164
+ });
165
+ }
166
+ //# sourceMappingURL=seed-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-cmd.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/seed-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};