vibes-diy 2.4.13 → 2.4.15

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
@@ -7,6 +7,7 @@ import { pushEvento } from "./cmds/push-cmd.js";
7
7
  import { putAssetEvento } from "./cmds/put-asset-cmd.js";
8
8
  import { generateEvento } from "./cmds/generate-cmd.js";
9
9
  import { dbListEvento, dbGetEvento, dbPutEvento, dbDelEvento, dbQueryEvento, dbSubscribeEvento } from "./cmds/db/index.js";
10
+ import { chatsEvento } from "./cmds/chats-cmd.js";
10
11
  import { editEvento } from "./cmds/edit-cmd.js";
11
12
  import { listEvento } from "./cmds/list-cmd.js";
12
13
  import { pullEvento } from "./cmds/pull-cmd.js";
@@ -37,6 +38,7 @@ export function cmdTsEvento() {
37
38
  pushEvento,
38
39
  putAssetEvento,
39
40
  generateEvento,
41
+ chatsEvento,
40
42
  editEvento,
41
43
  listEvento,
42
44
  pullEvento,
@@ -1 +1 @@
1
- {"version":3,"file":"cmd-evento.js","sourceRoot":"","sources":["../../jsr/cli/cmd-evento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAsC,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnG,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,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,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,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,GAIb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAkD,EAClD,MAAS;IAET,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACvB,GAAG,GAAG,CAAC,OAAO;QACd,MAAM;KACmB,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,cAAc;QACd,cAAc;QACd,UAAU;QACV,UAAU;QACV,UAAU;QACV,sBAAsB;QACtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,iBAAiB;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"cmd-evento.js","sourceRoot":"","sources":["../../jsr/cli/cmd-evento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAsC,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACnG,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,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,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,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,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,EACL,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,YAAY,GAIb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAkD,EAClD,MAAS;IAET,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QACvB,GAAG,GAAG,CAAC,OAAO;QACd,MAAM;KACmB,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;KAC7C,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC;QACV,kBAAkB;QAClB,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,UAAU;QACV,cAAc;QACd,cAAc;QACd,WAAW;QACX,UAAU;QACV,UAAU;QACV,UAAU;QACV,sBAAsB;QACtB,YAAY;QACZ,WAAW;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,iBAAiB;KAClB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { EventoHandler } from "@adviser/cement";
2
+ import { CliCtx } from "../cli-ctx.js";
3
+ import { WrapCmdTSMsg } from "../cmd-evento.js";
4
+ export declare const ReqChats: import("arktype/internal/variants/object.ts").ObjectType<{
5
+ type: "vibes-diy.cli.chats";
6
+ appSlug: string;
7
+ ownerHandle: string;
8
+ chatId?: string | undefined;
9
+ apiUrl: string;
10
+ }, {}>;
11
+ export type ReqChats = typeof ReqChats.infer;
12
+ export declare function isReqChats(obj: unknown): obj is ReqChats;
13
+ export declare const ResChatsList: import("arktype/internal/variants/object.ts").ObjectType<{
14
+ type: "vibes-diy.cli.res-chats-list";
15
+ items: {
16
+ chatId: string;
17
+ appSlug: string;
18
+ ownerHandle: string;
19
+ created: string;
20
+ }[];
21
+ }, {}>;
22
+ export type ResChatsList = typeof ResChatsList.infer;
23
+ export declare function isResChatsList(obj: unknown): obj is ResChatsList;
24
+ export declare const ResChatDetail: import("arktype/internal/variants/object.ts").ObjectType<{
25
+ type: "vibes-diy.cli.res-chat-detail";
26
+ chatId: string;
27
+ ownerHandle: string;
28
+ appSlug: string;
29
+ prompts: {
30
+ prompt: string;
31
+ fsId: string;
32
+ created: string;
33
+ }[];
34
+ }, {}>;
35
+ export type ResChatDetail = typeof ResChatDetail.infer;
36
+ export declare function isResChatDetail(obj: unknown): obj is ResChatDetail;
37
+ type ResChats = ResChatsList | ResChatDetail;
38
+ export declare const chatsEvento: EventoHandler<WrapCmdTSMsg<unknown>, ReqChats, ResChats>;
39
+ export declare function chatsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
40
+ parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
41
+ appSlug: string;
42
+ chatId: string | undefined;
43
+ handle: string;
44
+ apiUrl: string;
45
+ json: boolean;
46
+ text: boolean;
47
+ }>>;
48
+ } & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & import("cmd-ts/dist/cjs/helpdoc.js").ProvidesHelp & import("cmd-ts/dist/cjs/helpdoc.js").Named & 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<{
49
+ appSlug: string;
50
+ chatId: string | undefined;
51
+ handle: string;
52
+ apiUrl: string;
53
+ json: boolean;
54
+ text: boolean;
55
+ }, never> & {
56
+ run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<never>>;
57
+ } & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned & import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Aliased>;
58
+ export {};
@@ -0,0 +1,130 @@
1
+ import { command, option, optional, positional, string } from "cmd-ts";
2
+ import { Result, Option } from "@adviser/cement";
3
+ import { type } from "arktype";
4
+ import { resListApplicationChatsItem } from "@vibes.diy/api-types";
5
+ import { cmdTsDefaultArgs } from "../cli-ctx.js";
6
+ import { sendMsg } from "../cmd-evento.js";
7
+ import { resolveHandle } from "../resolve-handle.js";
8
+ import { formatErr } from "./format-err.js";
9
+ export const ReqChats = type({
10
+ type: "'vibes-diy.cli.chats'",
11
+ appSlug: "string",
12
+ ownerHandle: "string",
13
+ "chatId?": "string",
14
+ apiUrl: "string",
15
+ });
16
+ export function isReqChats(obj) {
17
+ return !(ReqChats(obj) instanceof type.errors);
18
+ }
19
+ export const ResChatsList = type({
20
+ type: "'vibes-diy.cli.res-chats-list'",
21
+ items: resListApplicationChatsItem.array(),
22
+ });
23
+ export function isResChatsList(obj) {
24
+ return !(ResChatsList(obj) instanceof type.errors);
25
+ }
26
+ export const ResChatDetail = type({
27
+ type: "'vibes-diy.cli.res-chat-detail'",
28
+ chatId: "string",
29
+ ownerHandle: "string",
30
+ appSlug: "string",
31
+ prompts: type({
32
+ prompt: "string",
33
+ fsId: "string",
34
+ created: "string",
35
+ }).array(),
36
+ });
37
+ export function isResChatDetail(obj) {
38
+ return !(ResChatDetail(obj) instanceof type.errors);
39
+ }
40
+ export const chatsEvento = {
41
+ hash: "vibes-diy.cli.chats",
42
+ validate: (ctx) => {
43
+ if (isReqChats(ctx.enRequest)) {
44
+ return Promise.resolve(Result.Ok(Option.Some(ctx.enRequest)));
45
+ }
46
+ return Promise.resolve(Result.Ok(Option.None()));
47
+ },
48
+ handle: async (ctx) => {
49
+ const ectx = ctx.ctx.getOrThrow("cliCtx");
50
+ if (ectx.vibesDiyApiFactory === undefined) {
51
+ return Result.Err("Not logged in. Run 'vibes-diy login' first.");
52
+ }
53
+ const args = ctx.validated;
54
+ const api = ectx.vibesDiyApiFactory(args.apiUrl);
55
+ const ownerHandle = await resolveHandle(api, args.ownerHandle === "" ? undefined : args.ownerHandle);
56
+ switch (true) {
57
+ case args.chatId !== undefined: {
58
+ if (ownerHandle === undefined) {
59
+ return Result.Err("Could not resolve handle. Pass --handle or run 'vibes-diy login'.");
60
+ }
61
+ const rDetail = await api.getChatDetails({
62
+ ownerHandle,
63
+ appSlug: args.appSlug,
64
+ chatId: args.chatId,
65
+ });
66
+ if (rDetail.isErr()) {
67
+ return Result.Err(formatErr(rDetail.Err()));
68
+ }
69
+ const detail = rDetail.Ok();
70
+ return sendMsg(ctx, {
71
+ type: "vibes-diy.cli.res-chat-detail",
72
+ chatId: args.chatId,
73
+ ownerHandle: detail.ownerHandle,
74
+ appSlug: detail.appSlug,
75
+ prompts: detail.prompts,
76
+ });
77
+ }
78
+ default: {
79
+ const items = [];
80
+ let cursor;
81
+ do {
82
+ const rPage = await api.listApplicationChats({
83
+ appSlug: args.appSlug,
84
+ ...(ownerHandle !== undefined ? { ownerHandle } : {}),
85
+ limit: 100,
86
+ ...(cursor !== undefined ? { cursor } : {}),
87
+ });
88
+ if (rPage.isErr()) {
89
+ return Result.Err(formatErr(rPage.Err()));
90
+ }
91
+ const page = rPage.Ok();
92
+ items.push(...page.items);
93
+ cursor = page.nextCursor;
94
+ } while (cursor !== undefined);
95
+ return sendMsg(ctx, { type: "vibes-diy.cli.res-chats-list", items });
96
+ }
97
+ }
98
+ },
99
+ };
100
+ export function chatsCmd(ctx) {
101
+ return command({
102
+ name: "chats",
103
+ description: "List chat sessions for a vibe, or show prompts for a specific chat.",
104
+ args: {
105
+ ...cmdTsDefaultArgs(ctx),
106
+ appSlug: positional({
107
+ displayName: "appSlug",
108
+ description: "Slug of the app to list chats for",
109
+ type: string,
110
+ }),
111
+ chatId: positional({
112
+ displayName: "chatId",
113
+ description: "Chat ID to show prompt history for (omit to list all chats)",
114
+ type: optional(string),
115
+ }),
116
+ handle: option({
117
+ long: "handle",
118
+ description: "Handle (uses default if omitted)",
119
+ type: string,
120
+ defaultValue: () => "",
121
+ defaultValueIsSerializable: true,
122
+ }),
123
+ },
124
+ handler: ctx.cliStream.enqueue(({ handle, chatId, ...rest }) => {
125
+ const base = { type: "vibes-diy.cli.chats", ...rest, ownerHandle: handle };
126
+ return chatId === undefined ? base : { ...base, chatId };
127
+ }),
128
+ });
129
+ }
130
+ //# sourceMappingURL=chats-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/chats-cmd.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@ export function dbCommonArgs(ctx) {
12
12
  defaultValueIsSerializable: true,
13
13
  }),
14
14
  ownerHandle: option({
15
- long: "user-slug",
16
- description: "User slug; defaults to defaultHandle from user settings",
15
+ long: "handle",
16
+ description: "Handle; defaults to defaultHandle from user settings",
17
17
  type: string,
18
18
  defaultValue: () => "",
19
19
  defaultValueIsSerializable: true,
@@ -35,7 +35,7 @@ export async function resolveUserSlug(api, explicit) {
35
35
  return Result.Err(r.Err());
36
36
  const def = r.Ok().settings.find(isUserSettingDefaultHandle);
37
37
  if (def === undefined) {
38
- return Result.Err("No defaultHandle — pass --user-slug or run 'vibes-diy login' first");
38
+ return Result.Err("No defaultHandle — pass --handle or run 'vibes-diy login' first");
39
39
  }
40
40
  return Result.Ok(def.ownerHandle);
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,2DAA2D;YACxE,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAClF,0BAA0B,EAAE,IAAI;SACjC,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,yDAAyD;YACtE,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;YACtB,0BAA0B,EAAE,IAAI;SACjC,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC;KACH,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB,EAAE,QAAgB;IACtE,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../jsr/cli/cmds/db/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO;QACL,OAAO,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,2DAA2D;YACxE,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAClF,0BAA0B,EAAE,IAAI;SACjC,CAAC;QACF,WAAW,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,sDAAsD;YACnE,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,EAAE;YACtB,0BAA0B,EAAE,IAAI;SACjC,CAAC;QACF,MAAM,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;YAC5B,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;YAC7B,0BAA0B,EAAE,IAAI;SACjC,CAAC;KACH,CAAC;AACJ,CAAC;AAGD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAgB,EAAE,QAAgB;IACtE,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import type { CliCtx } from "../cli-ctx.js";
3
+ import type { VibesDiyApi } from "@vibes.diy/api-impl";
4
+ export interface McpServerDeps {
5
+ readonly api: VibesDiyApi;
6
+ readonly appSlug: string;
7
+ readonly ownerHandle: string;
8
+ }
9
+ export declare function createMcpServer(deps: McpServerDeps): McpServer;
10
+ export declare function mcpCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
11
+ parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
12
+ appSlug: string;
13
+ ownerHandle: string;
14
+ apiUrl: string;
15
+ }>>;
16
+ } & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & import("cmd-ts/dist/cjs/helpdoc.js").ProvidesHelp & import("cmd-ts/dist/cjs/helpdoc.js").Named & 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<{
17
+ appSlug: string;
18
+ ownerHandle: string;
19
+ apiUrl: string;
20
+ }, Promise<void>> & {
21
+ run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<Promise<void>>>;
22
+ } & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned & import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Aliased>;
@@ -0,0 +1,254 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod";
4
+ import { command, option, string } from "cmd-ts";
5
+ import { basename } from "node:path";
6
+ import { exception2Result } from "@adviser/cement";
7
+ import { FireflyApiAdapter } from "@vibes.diy/api-impl";
8
+ import { isResGetDoc, isResGetDocNotFound, isResPutDoc, isResDeleteDoc, isResQueryDocs } from "@vibes.diy/api-types";
9
+ import charwise from "charwise";
10
+ import { resolveUserSlug } from "./db/shared.js";
11
+ export function createMcpServer(deps) {
12
+ const { api, appSlug, ownerHandle } = deps;
13
+ const args = { appSlug };
14
+ const server = new McpServer({
15
+ name: "vibes-diy",
16
+ version: "0.0.0",
17
+ });
18
+ server.tool("vibes_list_apps", "List all apps (vibes) owned by the authenticated user", {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true }, async () => {
19
+ try {
20
+ const items = [];
21
+ let cursor;
22
+ do {
23
+ const rPage = await api.listRecentVibes({ limit: 100, ...(cursor ? { cursor } : {}) });
24
+ if (rPage.isErr()) {
25
+ return { content: [{ type: "text", text: `Error: ${rPage.Err()}` }] };
26
+ }
27
+ const page = rPage.Ok();
28
+ items.push(...page.items);
29
+ cursor = page.nextCursor;
30
+ } while (cursor);
31
+ return { content: [{ type: "text", text: JSON.stringify(items) }] };
32
+ }
33
+ catch (e) {
34
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
35
+ }
36
+ });
37
+ server.tool("vibes_list_databases", "List database names for an app", {}, { readOnlyHint: true, destructiveHint: false, idempotentHint: true }, async () => {
38
+ try {
39
+ const slug = args.appSlug;
40
+ const r = await api.listDbNames({ appSlug: slug, ownerHandle });
41
+ if (r.isErr()) {
42
+ return { content: [{ type: "text", text: `Error: ${r.Err()}` }] };
43
+ }
44
+ return { content: [{ type: "text", text: JSON.stringify(r.Ok().dbNames) }] };
45
+ }
46
+ catch (e) {
47
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
48
+ }
49
+ });
50
+ server.tool("vibes_get", "Get a document by ID from a database", {
51
+ id: z.string().describe("Document ID"),
52
+ db: z.string().optional().describe("Database name (default: 'default')"),
53
+ }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true }, async (params) => {
54
+ try {
55
+ const slug = args.appSlug;
56
+ const dbName = params.db ?? "default";
57
+ const adapter = new FireflyApiAdapter(api, slug, { ownerHandle });
58
+ const r = await adapter.getDoc(params.id, dbName);
59
+ if (r.isErr()) {
60
+ return { content: [{ type: "text", text: `Error: ${r.Err()}` }] };
61
+ }
62
+ const res = r.Ok();
63
+ if (isResGetDocNotFound(res)) {
64
+ return { content: [{ type: "text", text: `Document not found: ${params.id}` }] };
65
+ }
66
+ if (!isResGetDoc(res)) {
67
+ return { content: [{ type: "text", text: `Unexpected response: ${JSON.stringify(res)}` }] };
68
+ }
69
+ const getRes = res;
70
+ return { content: [{ type: "text", text: JSON.stringify({ ...getRes.doc, _id: getRes.id }) }] };
71
+ }
72
+ catch (e) {
73
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
74
+ }
75
+ });
76
+ server.tool("vibes_put", "Create or update a document in a database", {
77
+ doc: z.record(z.unknown()).describe("Document to store"),
78
+ id: z.string().optional().describe("Document ID (_id); generated if omitted"),
79
+ db: z.string().optional().describe("Database name (default: 'default')"),
80
+ }, { readOnlyHint: false, destructiveHint: true, idempotentHint: false }, async (params) => {
81
+ try {
82
+ const slug = args.appSlug;
83
+ const dbName = params.db ?? "default";
84
+ const adapter = new FireflyApiAdapter(api, slug, { ownerHandle });
85
+ const docId = params.id;
86
+ const r = await adapter.putDoc(params.doc, docId, dbName);
87
+ if (r.isErr()) {
88
+ return { content: [{ type: "text", text: `Error: ${r.Err()}` }] };
89
+ }
90
+ const res = r.Ok();
91
+ if (!isResPutDoc(res)) {
92
+ return { content: [{ type: "text", text: `Unexpected response: ${JSON.stringify(res)}` }] };
93
+ }
94
+ return { content: [{ type: "text", text: JSON.stringify({ id: res.id, ok: true }) }] };
95
+ }
96
+ catch (e) {
97
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
98
+ }
99
+ });
100
+ server.tool("vibes_delete", "Delete a document by ID from a database", {
101
+ id: z.string().describe("Document ID to delete"),
102
+ db: z.string().optional().describe("Database name (default: 'default')"),
103
+ }, { readOnlyHint: false, destructiveHint: true, idempotentHint: false }, async (params) => {
104
+ try {
105
+ const slug = args.appSlug;
106
+ const dbName = params.db ?? "default";
107
+ const adapter = new FireflyApiAdapter(api, slug, { ownerHandle });
108
+ const r = await adapter.deleteDoc(params.id, dbName);
109
+ if (r.isErr()) {
110
+ return { content: [{ type: "text", text: `Error: ${r.Err()}` }] };
111
+ }
112
+ const res = r.Ok();
113
+ if (!isResDeleteDoc(res)) {
114
+ return { content: [{ type: "text", text: `Unexpected response: ${JSON.stringify(res)}` }] };
115
+ }
116
+ return { content: [{ type: "text", text: JSON.stringify({ id: res.id, ok: true }) }] };
117
+ }
118
+ catch (e) {
119
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
120
+ }
121
+ });
122
+ server.tool("vibes_query", "Query documents by field value with optional key, prefix, range, limit, and descending filters", {
123
+ field: z.string().describe("Field name to index on"),
124
+ db: z.string().optional().describe("Database name (default: 'default')"),
125
+ key: z.string().optional().describe("Exact key match (JSON value)"),
126
+ prefix: z.string().optional().describe("Key prefix match (JSON value)"),
127
+ range: z.tuple([z.string(), z.string()]).optional().describe("Key range [start, end] (JSON values)"),
128
+ limit: z.number().optional().describe("Maximum number of results (0 or omitted = no limit)"),
129
+ descending: z.boolean().optional().describe("Return results in descending order"),
130
+ }, { readOnlyHint: true, destructiveHint: false, idempotentHint: true }, async (params) => {
131
+ try {
132
+ const slug = args.appSlug;
133
+ const dbName = params.db ?? "default";
134
+ const adapter = new FireflyApiAdapter(api, slug, { ownerHandle });
135
+ const r = await adapter.queryDocs(dbName);
136
+ if (r.isErr()) {
137
+ return { content: [{ type: "text", text: `Error: ${r.Err()}` }] };
138
+ }
139
+ const res = r.Ok();
140
+ if (!isResQueryDocs(res)) {
141
+ return { content: [{ type: "text", text: `Unexpected response: ${JSON.stringify(res)}` }] };
142
+ }
143
+ const field = params.field;
144
+ let rows = res.docs
145
+ .filter((doc) => doc[field] !== undefined)
146
+ .map((doc) => ({
147
+ doc,
148
+ encodedKey: charwise.encode(doc[field]),
149
+ }));
150
+ if (params.key !== undefined && params.key !== "") {
151
+ const keyStr = params.key;
152
+ const rKey = await exception2Result(() => JSON.parse(keyStr));
153
+ if (rKey.isErr()) {
154
+ return { content: [{ type: "text", text: `Invalid key JSON: ${rKey.Err()}` }] };
155
+ }
156
+ const encodedKey = charwise.encode(rKey.Ok());
157
+ rows = rows.filter((r) => r.encodedKey === encodedKey);
158
+ }
159
+ if (params.prefix !== undefined && params.prefix !== "") {
160
+ const prefixStr = params.prefix;
161
+ const rPrefix = await exception2Result(() => JSON.parse(prefixStr));
162
+ if (rPrefix.isErr()) {
163
+ return { content: [{ type: "text", text: `Invalid prefix JSON: ${rPrefix.Err()}` }] };
164
+ }
165
+ const prefixVal = rPrefix.Ok();
166
+ let encodedPrefix = charwise.encode(prefixVal);
167
+ if (Array.isArray(prefixVal) && encodedPrefix.endsWith("!")) {
168
+ encodedPrefix = encodedPrefix.slice(0, -1);
169
+ }
170
+ rows = rows.filter((r) => r.encodedKey.startsWith(encodedPrefix));
171
+ }
172
+ if (params.range !== undefined) {
173
+ const [rangeStart, rangeEnd] = params.range;
174
+ const rStart = await exception2Result(() => JSON.parse(rangeStart));
175
+ const rEnd = await exception2Result(() => JSON.parse(rangeEnd));
176
+ if (rStart.isErr()) {
177
+ return { content: [{ type: "text", text: `Invalid range start JSON: ${rStart.Err()}` }] };
178
+ }
179
+ if (rEnd.isErr()) {
180
+ return { content: [{ type: "text", text: `Invalid range end JSON: ${rEnd.Err()}` }] };
181
+ }
182
+ const encodedStart = charwise.encode(rStart.Ok());
183
+ const encodedEnd = charwise.encode(rEnd.Ok());
184
+ rows = rows.filter((r) => r.encodedKey >= encodedStart && r.encodedKey <= encodedEnd);
185
+ }
186
+ rows.sort((a, b) => (a.encodedKey < b.encodedKey ? -1 : a.encodedKey > b.encodedKey ? 1 : 0));
187
+ if (params.descending) {
188
+ rows.reverse();
189
+ }
190
+ if (params.limit !== undefined && params.limit > 0) {
191
+ rows = rows.slice(0, params.limit);
192
+ }
193
+ const docs = rows.map((r) => r.doc);
194
+ return { content: [{ type: "text", text: JSON.stringify(docs) }] };
195
+ }
196
+ catch (e) {
197
+ return { content: [{ type: "text", text: `Error: ${e}` }] };
198
+ }
199
+ });
200
+ return server;
201
+ }
202
+ async function startMcpServer(ctx, handlerArgs) {
203
+ if (!ctx.vibesDiyApiFactory) {
204
+ console.error("Not logged in. Run 'vibes-diy login' first.");
205
+ process.exit(1);
206
+ }
207
+ const api = ctx.vibesDiyApiFactory(handlerArgs.apiUrl);
208
+ const rUser = await resolveUserSlug(api, handlerArgs.ownerHandle);
209
+ if (rUser.isErr()) {
210
+ console.error(`Failed to resolve user slug: ${rUser.Err()}`);
211
+ process.exit(1);
212
+ }
213
+ const ownerHandle = rUser.Ok();
214
+ const server = createMcpServer({ api, appSlug: handlerArgs.appSlug, ownerHandle });
215
+ const transport = new StdioServerTransport();
216
+ console.error("vibes-diy MCP server started");
217
+ await server.connect(transport);
218
+ await new Promise(() => {
219
+ });
220
+ }
221
+ export function mcpCmd(ctx) {
222
+ return command({
223
+ name: "mcp",
224
+ description: "Start an MCP server for AI agent data access (stdio transport)",
225
+ args: {
226
+ appSlug: option({
227
+ long: "app-slug",
228
+ description: "App slug; defaults to env VIBES_APP_SLUG or basename(cwd)",
229
+ type: string,
230
+ defaultValue: () => ctx.sthis.env.get("VIBES_APP_SLUG") ?? basename(process.cwd()),
231
+ defaultValueIsSerializable: true,
232
+ }),
233
+ ownerHandle: option({
234
+ long: "handle",
235
+ description: "Handle; defaults to defaultHandle from user settings",
236
+ type: string,
237
+ defaultValue: () => "",
238
+ defaultValueIsSerializable: true,
239
+ }),
240
+ apiUrl: option({
241
+ long: "api-url",
242
+ short: "u",
243
+ description: "set the api url",
244
+ type: string,
245
+ defaultValue: () => ctx.sthis.env.get("VIBES_API_URL") ?? "https://vibes.diy/api?.stable-entry.=cli",
246
+ defaultValueIsSerializable: true,
247
+ }),
248
+ },
249
+ handler: async (handlerArgs) => {
250
+ await startMcpServer(ctx, handlerArgs);
251
+ },
252
+ });
253
+ }
254
+ //# sourceMappingURL=mcp-cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/mcp-cmd.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,184 @@
1
+ import { afterEach, describe, expect, it, vi } from "vitest";
2
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
3
+ import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
4
+ import { Result } from "@adviser/cement";
5
+ import { createMcpServer } from "./mcp-cmd.js";
6
+ function makeMockApi() {
7
+ return {
8
+ listRecentVibes: vi.fn().mockResolvedValue(Result.Ok({
9
+ items: [
10
+ { ownerHandle: "og", appSlug: "test-app", title: "Test App" },
11
+ { ownerHandle: "og", appSlug: "other-app", title: "Other App" },
12
+ ],
13
+ nextCursor: undefined,
14
+ })),
15
+ listDbNames: vi.fn().mockResolvedValue(Result.Ok({ dbNames: ["main", "settings"] })),
16
+ getDoc: vi.fn().mockImplementation(async (req) => Result.Ok({
17
+ type: "vibes.diy.res-get-doc",
18
+ status: "ok",
19
+ id: req.docId,
20
+ doc: { title: "Test Doc", type: "note" },
21
+ })),
22
+ putDoc: vi.fn().mockResolvedValue(Result.Ok({
23
+ type: "vibes.diy.res-put-doc",
24
+ status: "ok",
25
+ id: "generated-id-123",
26
+ })),
27
+ deleteDoc: vi.fn().mockImplementation(async (req) => Result.Ok({
28
+ type: "vibes.diy.res-delete-doc",
29
+ status: "ok",
30
+ id: req.docId,
31
+ })),
32
+ queryDocs: vi.fn().mockResolvedValue(Result.Ok({
33
+ type: "vibes.diy.res-query-docs",
34
+ status: "ok",
35
+ docs: [
36
+ { _id: "doc-1", type: "note", title: "First" },
37
+ { _id: "doc-2", type: "task", title: "Second" },
38
+ { _id: "doc-3", type: "note", title: "Third" },
39
+ ],
40
+ })),
41
+ };
42
+ }
43
+ async function setupClient() {
44
+ const api = makeMockApi();
45
+ const server = createMcpServer({
46
+ api: api,
47
+ appSlug: "test-app",
48
+ ownerHandle: "og",
49
+ });
50
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
51
+ const client = new Client({ name: "test-client", version: "0.1" });
52
+ await Promise.all([server.connect(serverTransport), client.connect(clientTransport)]);
53
+ return { client, server, api, clientTransport, serverTransport };
54
+ }
55
+ afterEach(() => {
56
+ vi.restoreAllMocks();
57
+ });
58
+ describe("MCP server — tool listing", () => {
59
+ it("exposes all 6 tools", async () => {
60
+ const { client } = await setupClient();
61
+ const { tools } = await client.listTools();
62
+ const names = tools.map((t) => t.name).sort();
63
+ expect(names).toEqual(["vibes_delete", "vibes_get", "vibes_list_apps", "vibes_list_databases", "vibes_put", "vibes_query"]);
64
+ await client.close();
65
+ });
66
+ it("marks read-only tools correctly", async () => {
67
+ const { client } = await setupClient();
68
+ const { tools } = await client.listTools();
69
+ const readTools = tools.filter((t) => t.annotations?.readOnlyHint === true);
70
+ const writeTools = tools.filter((t) => t.annotations?.destructiveHint === true);
71
+ expect(readTools.map((t) => t.name).sort()).toEqual(["vibes_get", "vibes_list_apps", "vibes_list_databases", "vibes_query"]);
72
+ expect(writeTools.map((t) => t.name).sort()).toEqual(["vibes_delete", "vibes_put"]);
73
+ await client.close();
74
+ });
75
+ });
76
+ describe("MCP server — vibes_list_apps", () => {
77
+ it("returns all apps", async () => {
78
+ const { client } = await setupClient();
79
+ const result = await client.callTool({ name: "vibes_list_apps", arguments: {} });
80
+ const text = result.content[0].text;
81
+ const items = JSON.parse(text);
82
+ expect(items).toHaveLength(2);
83
+ expect(items[0].appSlug).toBe("test-app");
84
+ expect(items[1].title).toBe("Other App");
85
+ await client.close();
86
+ });
87
+ });
88
+ describe("MCP server — vibes_list_databases", () => {
89
+ it("returns database names for the session app", async () => {
90
+ const { client, api } = await setupClient();
91
+ const result = await client.callTool({ name: "vibes_list_databases", arguments: {} });
92
+ const text = result.content[0].text;
93
+ expect(JSON.parse(text)).toEqual(["main", "settings"]);
94
+ expect(api.listDbNames).toHaveBeenCalledWith({ appSlug: "test-app", ownerHandle: "og" });
95
+ await client.close();
96
+ });
97
+ });
98
+ describe("MCP server — vibes_get", () => {
99
+ it("retrieves a document by ID", async () => {
100
+ const { client } = await setupClient();
101
+ const result = await client.callTool({ name: "vibes_get", arguments: { id: "doc-abc", db: "main" } });
102
+ const text = result.content[0].text;
103
+ const doc = JSON.parse(text);
104
+ expect(doc._id).toBe("doc-abc");
105
+ expect(doc.title).toBe("Test Doc");
106
+ await client.close();
107
+ });
108
+ it("uses 'default' db when db is omitted", async () => {
109
+ const { client, api } = await setupClient();
110
+ await client.callTool({ name: "vibes_get", arguments: { id: "doc-abc" } });
111
+ const call = api.getDoc.mock.calls[0][0];
112
+ expect(call.dbName).toBe("default");
113
+ await client.close();
114
+ });
115
+ });
116
+ describe("MCP server — vibes_put", () => {
117
+ it("creates a document and returns the ID", async () => {
118
+ const { client } = await setupClient();
119
+ const result = await client.callTool({
120
+ name: "vibes_put",
121
+ arguments: { doc: { type: "note", title: "New Note" }, db: "main" },
122
+ });
123
+ const text = result.content[0].text;
124
+ const res = JSON.parse(text);
125
+ expect(res.id).toBe("generated-id-123");
126
+ expect(res.ok).toBe(true);
127
+ await client.close();
128
+ });
129
+ });
130
+ describe("MCP server — vibes_delete", () => {
131
+ it("deletes a document and returns confirmation", async () => {
132
+ const { client } = await setupClient();
133
+ const result = await client.callTool({ name: "vibes_delete", arguments: { id: "doc-to-delete", db: "main" } });
134
+ const text = result.content[0].text;
135
+ const res = JSON.parse(text);
136
+ expect(res.id).toBe("doc-to-delete");
137
+ expect(res.ok).toBe(true);
138
+ await client.close();
139
+ });
140
+ });
141
+ describe("MCP server — vibes_query", () => {
142
+ it("queries by field and returns matching documents", async () => {
143
+ const { client } = await setupClient();
144
+ const result = await client.callTool({ name: "vibes_query", arguments: { field: "type", db: "main" } });
145
+ const text = result.content[0].text;
146
+ const docs = JSON.parse(text);
147
+ expect(docs).toHaveLength(3);
148
+ await client.close();
149
+ });
150
+ it("filters by key", async () => {
151
+ const { client } = await setupClient();
152
+ const result = await client.callTool({
153
+ name: "vibes_query",
154
+ arguments: { field: "type", db: "main", key: '"note"' },
155
+ });
156
+ const text = result.content[0].text;
157
+ const docs = JSON.parse(text);
158
+ expect(docs).toHaveLength(2);
159
+ expect(docs.every((d) => d.type === "note")).toBe(true);
160
+ await client.close();
161
+ });
162
+ it("respects limit", async () => {
163
+ const { client } = await setupClient();
164
+ const result = await client.callTool({
165
+ name: "vibes_query",
166
+ arguments: { field: "type", db: "main", limit: 1 },
167
+ });
168
+ const text = result.content[0].text;
169
+ const docs = JSON.parse(text);
170
+ expect(docs).toHaveLength(1);
171
+ await client.close();
172
+ });
173
+ it("supports descending order", async () => {
174
+ const { client } = await setupClient();
175
+ const asc = await client.callTool({ name: "vibes_query", arguments: { field: "type", db: "main" } });
176
+ const desc = await client.callTool({ name: "vibes_query", arguments: { field: "type", db: "main", descending: true } });
177
+ const ascDocs = JSON.parse(asc.content[0].text);
178
+ const descDocs = JSON.parse(desc.content[0].text);
179
+ expect(ascDocs[0].type).toBe("note");
180
+ expect(descDocs[0].type).toBe("task");
181
+ await client.close();
182
+ });
183
+ });
184
+ //# sourceMappingURL=mcp-cmd.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-cmd.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/mcp-cmd.test.ts"],"names":[],"mappings":"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"}
package/cli/main.js CHANGED
@@ -6,7 +6,7 @@ import { VibesDiyApi } from "@vibes.diy/api-impl";
6
6
  import { dotenv } from "zx";
7
7
  import { cmd_tsStream } from "./cmd-ts-stream.js";
8
8
  import { runSafely, subcommands, setDefaultHelpFormatter, defaultHelpFormatter } from "cmd-ts";
9
- import { getCliFooter } from "@vibes.diy/prompts";
9
+ import { getCliFooter, getMcpFooter } from "@vibes.diy/prompts";
10
10
  import { isResEnsureUserSettings, isUserSettingSharing, isResEnsureAppSlug } from "@vibes.diy/api-types";
11
11
  import { userSettingsCmd } from "./cmds/user-settings-cmd.js";
12
12
  import { dbSubcommands, isResDbList, isResDbGet, isResDbPut, isResDbDel, isResDbQuery, } from "./cmds/db/index.js";
@@ -14,16 +14,20 @@ import { loginCmd } from "./cmds/login-cmd.js";
14
14
  import { pushCmd } from "./cmds/push-cmd.js";
15
15
  import { putAssetCmd, isResPutAssetCli } from "./cmds/put-asset-cmd.js";
16
16
  import { generateCmd, isResGenerate } from "./cmds/generate-cmd.js";
17
+ import { chatsCmd, isResChatsList, isResChatDetail } from "./cmds/chats-cmd.js";
17
18
  import { editCmd, isResEdit } from "./cmds/edit-cmd.js";
18
19
  import { skillsCmd, isResSkillsList, isResSkillContent } from "./cmds/skills-cmd.js";
19
20
  import { themesCmd, isResThemesList, isResThemeContent } from "./cmds/themes-cmd.js";
20
21
  import { systemCmd, isResSystem } from "./cmds/system-cmd.js";
21
22
  import { listCmd, isResVibesList } from "./cmds/list-cmd.js";
23
+ import { mcpCmd } from "./cmds/mcp-cmd.js";
22
24
  import { pullCmd, isResPull } from "./cmds/pull-cmd.js";
23
25
  import { defaultCliOutput } from "./cli-ctx.js";
24
26
  import { cmdTsEvento, isCmdProgress } from "./cmd-evento.js";
25
27
  import { isResDeviceIdRegister } from "@fireproof/core-cli";
26
28
  import { err, isErr } from "cmd-ts/dist/cjs/Result.js";
29
+ import { readFileSync } from "node:fs";
30
+ import { join } from "node:path";
27
31
  async function vibesDiyApiFactory(sthis) {
28
32
  const kb = await getKeyBag(sthis);
29
33
  const devid = await kb.getDeviceId();
@@ -78,6 +82,7 @@ class OutputSelector {
78
82
  }
79
83
  async function main() {
80
84
  const sthis = ensureSuperThis();
85
+ const packageJson = JSON.parse(readFileSync(join(import.meta.dirname, "..", "package.json"), "utf8"));
81
86
  const env = dotenv.loadSafe(".dev.vars", ".env");
82
87
  sthis.env.sets({ ...env });
83
88
  const rApiFactory = await exception2Result(() => vibesDiyApiFactory(sthis));
@@ -90,8 +95,16 @@ async function main() {
90
95
  };
91
96
  const rFooter = await exception2Result(() => getCliFooter());
92
97
  const cliFooter = rFooter.isOk() ? rFooter.Ok() : "";
98
+ const rMcpFooter = await exception2Result(() => getMcpFooter());
99
+ const mcpFooter = rMcpFooter.isOk() ? rMcpFooter.Ok() : "";
93
100
  setDefaultHelpFormatter({
94
- formatCommand: defaultHelpFormatter.formatCommand,
101
+ formatCommand(data, context) {
102
+ const base = defaultHelpFormatter.formatCommand(data, context);
103
+ if (data.name === "mcp") {
104
+ return base + "\n" + mcpFooter;
105
+ }
106
+ return base;
107
+ },
95
108
  formatSubcommands(data, context) {
96
109
  const base = defaultHelpFormatter.formatSubcommands(data, context);
97
110
  return cliFooter ? base + "\n" + cliFooter : base;
@@ -100,13 +113,15 @@ async function main() {
100
113
  const rs = await runSafely(subcommands({
101
114
  name: "vibes-diy CLI",
102
115
  description: "vibes-diy cli",
103
- version: "1.0.0",
116
+ version: packageJson.version,
104
117
  cmds: {
118
+ chats: chatsCmd(ctx),
105
119
  db: dbSubcommands(ctx),
106
120
  edit: editCmd(ctx),
107
121
  generate: generateCmd(ctx),
108
122
  list: listCmd(ctx),
109
123
  login: loginCmd(ctx),
124
+ mcp: mcpCmd(ctx),
110
125
  pull: pullCmd(ctx),
111
126
  push: pushCmd(ctx),
112
127
  "put-asset": putAssetCmd(ctx),
@@ -199,6 +214,41 @@ async function main() {
199
214
  case isResEnsureAppSlug(msg): {
200
215
  break;
201
216
  }
217
+ case isResChatsList(msg): {
218
+ if (wmsg.cmdTs.outputFormat === "json") {
219
+ for (const item of msg.items) {
220
+ console.log(JSON.stringify(item));
221
+ }
222
+ }
223
+ else {
224
+ if (msg.items.length === 0) {
225
+ console.log("(no chats found)");
226
+ }
227
+ else {
228
+ for (const item of msg.items) {
229
+ console.log(`${item.chatId} ${item.created}`);
230
+ }
231
+ }
232
+ }
233
+ break;
234
+ }
235
+ case isResChatDetail(msg): {
236
+ const detail = msg;
237
+ if (wmsg.cmdTs.outputFormat === "json") {
238
+ console.log(JSON.stringify(detail, null, 2));
239
+ }
240
+ else {
241
+ if (detail.prompts.length === 0) {
242
+ console.log("(no prompts in this chat)");
243
+ }
244
+ else {
245
+ for (const p of detail.prompts) {
246
+ console.log(`[${p.created}] ${p.prompt}`);
247
+ }
248
+ }
249
+ }
250
+ break;
251
+ }
202
252
  case isResDbList(msg): {
203
253
  const { dbNames } = msg;
204
254
  if (dbNames.length === 0) {
package/cli/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../jsr/cli/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../jsr/cli/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibes-diy",
3
- "version": "2.4.13",
3
+ "version": "2.4.15",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "description": "Transform any DOM element into an AI-powered micro-app",
@@ -38,15 +38,17 @@
38
38
  "@fireproof/core-types-protocols-cloud": "~0.24.19",
39
39
  "@fireproof/core-types-protocols-dashboard": "~0.24.19",
40
40
  "@fireproof/use-fireproof": "~0.24.19",
41
- "@vibes.diy/api-impl": "^2.4.13",
42
- "@vibes.diy/api-types": "^2.4.13",
43
- "@vibes.diy/call-ai-v2": "^2.4.13",
44
- "@vibes.diy/prompts": "^2.4.13",
41
+ "@modelcontextprotocol/sdk": "~1.29.0",
42
+ "@vibes.diy/api-impl": "^2.4.15",
43
+ "@vibes.diy/api-types": "^2.4.15",
44
+ "@vibes.diy/call-ai-v2": "^2.4.15",
45
+ "@vibes.diy/prompts": "^2.4.15",
45
46
  "arktype": "~2.2.0",
46
47
  "charwise": "~3.0.1",
47
48
  "cmd-ts": "~0.15.0",
48
49
  "tsx": "~4.22.3",
49
- "ws": "~8.20.0",
50
+ "ws": "~8.20.1",
51
+ "zod": "~4.3.6",
50
52
  "zx": "~8.8.5"
51
53
  },
52
54
  "repository": {