vibes-diy 2.6.9 → 2.6.11
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 +4 -2
- package/cli/cmd-evento.js.map +1 -1
- package/cli/cmds/app-chats-cmd.d.ts +56 -0
- package/cli/cmds/app-chats-cmd.js +143 -0
- package/cli/cmds/app-chats-cmd.js.map +1 -0
- package/cli/cmds/app-chats-cmd.test.d.ts +1 -0
- package/cli/cmds/app-chats-cmd.test.js +189 -0
- package/cli/cmds/app-chats-cmd.test.js.map +1 -0
- package/cli/cmds/chat-response-render.d.ts +1 -0
- package/cli/cmds/chat-response-render.js +24 -1
- package/cli/cmds/chat-response-render.js.map +1 -1
- package/cli/cmds/chats-cmd.d.ts +10 -60
- package/cli/cmds/chats-cmd.js +18 -226
- package/cli/cmds/chats-cmd.js.map +1 -1
- package/cli/cmds/chats-cmd.test.js +40 -67
- package/cli/cmds/chats-cmd.test.js.map +1 -1
- package/cli/cmds/codegen-log-cmd.d.ts +84 -0
- package/cli/cmds/codegen-log-cmd.js +255 -0
- package/cli/cmds/codegen-log-cmd.js.map +1 -0
- package/cli/cmds/codegen-log-cmd.test.d.ts +1 -0
- package/cli/cmds/codegen-log-cmd.test.js +96 -0
- package/cli/cmds/codegen-log-cmd.test.js.map +1 -0
- package/cli/main.js +37 -5
- package/cli/main.js.map +1 -1
- package/package.json +6 -8
package/cli/cmd-evento.js
CHANGED
|
@@ -7,7 +7,8 @@ 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 {
|
|
10
|
+
import { codegenLogEvento } from "./cmds/codegen-log-cmd.js";
|
|
11
|
+
import { appChatsEvento } from "./cmds/app-chats-cmd.js";
|
|
11
12
|
import { editEvento } from "./cmds/edit-cmd.js";
|
|
12
13
|
import { listEvento } from "./cmds/list-cmd.js";
|
|
13
14
|
import { pullEvento } from "./cmds/pull-cmd.js";
|
|
@@ -39,7 +40,8 @@ export function cmdTsEvento() {
|
|
|
39
40
|
pushEvento,
|
|
40
41
|
putAssetEvento,
|
|
41
42
|
generateEvento,
|
|
42
|
-
|
|
43
|
+
appChatsEvento,
|
|
44
|
+
codegenLogEvento,
|
|
43
45
|
editEvento,
|
|
44
46
|
listEvento,
|
|
45
47
|
pullEvento,
|
package/cli/cmd-evento.js.map
CHANGED
|
@@ -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,
|
|
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,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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAsD,MAAM,cAAc,CAAC;AAG3H,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,cAAc;QACd,gBAAgB;QAChB,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,56 @@
|
|
|
1
|
+
import { EventoHandler } from "@adviser/cement";
|
|
2
|
+
import { CliCtx } from "../cli-ctx.js";
|
|
3
|
+
import { WrapCmdTSMsg } from "../cmd-evento.js";
|
|
4
|
+
export declare const ReqAppChats: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
5
|
+
type: "vibes-diy.cli.app-chats";
|
|
6
|
+
appSlug: string;
|
|
7
|
+
ownerHandle: string;
|
|
8
|
+
chatId?: string | undefined;
|
|
9
|
+
apiUrl: string;
|
|
10
|
+
}, {}>;
|
|
11
|
+
export type ReqAppChats = typeof ReqAppChats.infer;
|
|
12
|
+
export declare function isReqAppChats(obj: unknown): obj is ReqAppChats;
|
|
13
|
+
export declare const ResAppChatsList: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
14
|
+
type: "vibes-diy.cli.res-app-chats-list";
|
|
15
|
+
items: {
|
|
16
|
+
chatId: string;
|
|
17
|
+
appSlug: string;
|
|
18
|
+
ownerHandle: string;
|
|
19
|
+
created: string;
|
|
20
|
+
}[];
|
|
21
|
+
}, {}>;
|
|
22
|
+
export type ResAppChatsList = typeof ResAppChatsList.infer;
|
|
23
|
+
export declare function isResAppChatsList(obj: unknown): obj is ResAppChatsList;
|
|
24
|
+
export declare const ResAppChatsDetail: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
25
|
+
type: "vibes-diy.cli.res-app-chats-detail";
|
|
26
|
+
chatId: string;
|
|
27
|
+
ownerHandle?: string | undefined;
|
|
28
|
+
appSlug?: string | undefined;
|
|
29
|
+
output: string;
|
|
30
|
+
}, {}>;
|
|
31
|
+
export type ResAppChatsDetail = typeof ResAppChatsDetail.infer;
|
|
32
|
+
export declare function isResAppChatsDetail(obj: unknown): obj is ResAppChatsDetail;
|
|
33
|
+
type ResAppChats = ResAppChatsList | ResAppChatsDetail;
|
|
34
|
+
export declare const appChatsEvento: EventoHandler<WrapCmdTSMsg<unknown>, ReqAppChats, ResAppChats>;
|
|
35
|
+
export declare function appChatsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
|
|
36
|
+
parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
37
|
+
appSlug: string | undefined;
|
|
38
|
+
chatId: string | undefined;
|
|
39
|
+
vibe: string;
|
|
40
|
+
handle: string;
|
|
41
|
+
apiUrl: string;
|
|
42
|
+
json: boolean;
|
|
43
|
+
text: boolean;
|
|
44
|
+
}>>;
|
|
45
|
+
} & 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<{
|
|
46
|
+
appSlug: string | undefined;
|
|
47
|
+
chatId: string | undefined;
|
|
48
|
+
vibe: string;
|
|
49
|
+
handle: string;
|
|
50
|
+
apiUrl: string;
|
|
51
|
+
json: boolean;
|
|
52
|
+
text: boolean;
|
|
53
|
+
}, never> & {
|
|
54
|
+
run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<never>>;
|
|
55
|
+
} & 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>;
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
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
|
+
import { resolveVibePositionals } from "../parse-vibe.js";
|
|
10
|
+
import { renderAppChatBlocks } from "./chat-response-render.js";
|
|
11
|
+
export const ReqAppChats = type({
|
|
12
|
+
type: "'vibes-diy.cli.app-chats'",
|
|
13
|
+
appSlug: "string",
|
|
14
|
+
ownerHandle: "string",
|
|
15
|
+
"chatId?": "string",
|
|
16
|
+
apiUrl: "string",
|
|
17
|
+
});
|
|
18
|
+
export function isReqAppChats(obj) {
|
|
19
|
+
return !(ReqAppChats(obj) instanceof type.errors);
|
|
20
|
+
}
|
|
21
|
+
export const ResAppChatsList = type({
|
|
22
|
+
type: "'vibes-diy.cli.res-app-chats-list'",
|
|
23
|
+
items: resListApplicationChatsItem.array(),
|
|
24
|
+
});
|
|
25
|
+
export function isResAppChatsList(obj) {
|
|
26
|
+
return !(ResAppChatsList(obj) instanceof type.errors);
|
|
27
|
+
}
|
|
28
|
+
export const ResAppChatsDetail = type({
|
|
29
|
+
type: "'vibes-diy.cli.res-app-chats-detail'",
|
|
30
|
+
chatId: "string",
|
|
31
|
+
"ownerHandle?": "string",
|
|
32
|
+
"appSlug?": "string",
|
|
33
|
+
output: "string",
|
|
34
|
+
});
|
|
35
|
+
export function isResAppChatsDetail(obj) {
|
|
36
|
+
return !(ResAppChatsDetail(obj) instanceof type.errors);
|
|
37
|
+
}
|
|
38
|
+
export const appChatsEvento = {
|
|
39
|
+
hash: "vibes-diy.cli.app-chats",
|
|
40
|
+
validate: (ctx) => {
|
|
41
|
+
if (isReqAppChats(ctx.enRequest)) {
|
|
42
|
+
return Promise.resolve(Result.Ok(Option.Some(ctx.enRequest)));
|
|
43
|
+
}
|
|
44
|
+
return Promise.resolve(Result.Ok(Option.None()));
|
|
45
|
+
},
|
|
46
|
+
handle: async (ctx) => {
|
|
47
|
+
const ectx = ctx.ctx.getOrThrow("cliCtx");
|
|
48
|
+
if (ectx.vibesDiyApiFactory === undefined) {
|
|
49
|
+
return Result.Err("Not logged in. Run 'vibes-diy login' first.");
|
|
50
|
+
}
|
|
51
|
+
const args = ctx.validated;
|
|
52
|
+
const api = ectx.vibesDiyApiFactory(args.apiUrl);
|
|
53
|
+
const ownerHandle = await resolveHandle(api, args.ownerHandle === "" ? undefined : args.ownerHandle);
|
|
54
|
+
switch (true) {
|
|
55
|
+
case args.chatId !== undefined: {
|
|
56
|
+
const rDetail = await api.getApplicationChat({
|
|
57
|
+
chatId: args.chatId,
|
|
58
|
+
...(args.appSlug !== "" ? { appSlug: args.appSlug } : {}),
|
|
59
|
+
...(ownerHandle !== undefined ? { ownerHandle } : {}),
|
|
60
|
+
});
|
|
61
|
+
if (rDetail.isErr()) {
|
|
62
|
+
return Result.Err(formatErr(rDetail.Err()));
|
|
63
|
+
}
|
|
64
|
+
const detail = rDetail.Ok();
|
|
65
|
+
const output = renderAppChatBlocks(detail.blocks);
|
|
66
|
+
return sendMsg(ctx, {
|
|
67
|
+
type: "vibes-diy.cli.res-app-chats-detail",
|
|
68
|
+
chatId: args.chatId,
|
|
69
|
+
...(detail.ownerHandle !== undefined ? { ownerHandle: detail.ownerHandle } : {}),
|
|
70
|
+
...(detail.appSlug !== undefined ? { appSlug: detail.appSlug } : {}),
|
|
71
|
+
output,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
default: {
|
|
75
|
+
const items = [];
|
|
76
|
+
let cursor;
|
|
77
|
+
do {
|
|
78
|
+
const rPage = await api.listApplicationChats({
|
|
79
|
+
appSlug: args.appSlug,
|
|
80
|
+
...(ownerHandle !== undefined ? { ownerHandle } : {}),
|
|
81
|
+
limit: 100,
|
|
82
|
+
...(cursor !== undefined ? { cursor } : {}),
|
|
83
|
+
});
|
|
84
|
+
if (rPage.isErr()) {
|
|
85
|
+
return Result.Err(formatErr(rPage.Err()));
|
|
86
|
+
}
|
|
87
|
+
const page = rPage.Ok();
|
|
88
|
+
items.push(...page.items);
|
|
89
|
+
cursor = page.nextCursor;
|
|
90
|
+
} while (cursor !== undefined);
|
|
91
|
+
return sendMsg(ctx, {
|
|
92
|
+
type: "vibes-diy.cli.res-app-chats-list",
|
|
93
|
+
items,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
export function appChatsCmd(ctx) {
|
|
100
|
+
return command({
|
|
101
|
+
name: "app-chats",
|
|
102
|
+
description: "List or read the runtime in-app chats stored by a deployed vibe (the app's own chat/image messages, NOT the codegen build transcript).",
|
|
103
|
+
args: {
|
|
104
|
+
...cmdTsDefaultArgs(ctx),
|
|
105
|
+
appSlug: positional({
|
|
106
|
+
displayName: "vibe",
|
|
107
|
+
description: "App slug or handle/app-slug",
|
|
108
|
+
type: optional(string),
|
|
109
|
+
}),
|
|
110
|
+
chatId: positional({
|
|
111
|
+
displayName: "chatId",
|
|
112
|
+
description: "Chat ID to read (omit to list all runtime chats)",
|
|
113
|
+
type: optional(string),
|
|
114
|
+
}),
|
|
115
|
+
vibe: option({
|
|
116
|
+
long: "vibe",
|
|
117
|
+
description: "Vibe identifier as handle/app-slug",
|
|
118
|
+
type: string,
|
|
119
|
+
defaultValue: () => "",
|
|
120
|
+
defaultValueIsSerializable: true,
|
|
121
|
+
}),
|
|
122
|
+
handle: option({
|
|
123
|
+
long: "handle",
|
|
124
|
+
description: "Handle (uses default if omitted)",
|
|
125
|
+
type: string,
|
|
126
|
+
defaultValue: () => "",
|
|
127
|
+
defaultValueIsSerializable: true,
|
|
128
|
+
}),
|
|
129
|
+
},
|
|
130
|
+
handler: ctx.cliStream.enqueue(({ handle, chatId, vibe, appSlug, ...rest }) => {
|
|
131
|
+
const resolved = resolveVibePositionals({ vibe, handle, positionals: [appSlug, chatId] });
|
|
132
|
+
const resolvedChatId = resolved.trailing[0];
|
|
133
|
+
const base = {
|
|
134
|
+
type: "vibes-diy.cli.app-chats",
|
|
135
|
+
...rest,
|
|
136
|
+
appSlug: resolved.appSlug,
|
|
137
|
+
ownerHandle: resolved.handle,
|
|
138
|
+
};
|
|
139
|
+
return resolvedChatId === undefined ? base : { ...base, chatId: resolvedChatId };
|
|
140
|
+
}),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=app-chats-cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-chats-cmd.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/app-chats-cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { AppContext, Result } from "@adviser/cement";
|
|
2
|
+
import { run } from "cmd-ts";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { cmd_tsStream } from "../cmd-ts-stream.js";
|
|
5
|
+
import { appChatsCmd, appChatsEvento, isReqAppChats } from "./app-chats-cmd.js";
|
|
6
|
+
function makeCtx() {
|
|
7
|
+
const cliStream = cmd_tsStream();
|
|
8
|
+
return {
|
|
9
|
+
sthis: { env: { get: () => undefined } },
|
|
10
|
+
cliStream,
|
|
11
|
+
output: { stdout: () => undefined, stderr: () => undefined },
|
|
12
|
+
exitCode: 0,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
async function runAppChats(args) {
|
|
16
|
+
const ctx = makeCtx();
|
|
17
|
+
const reader = ctx.cliStream.stream.getReader();
|
|
18
|
+
const firstRead = reader.read();
|
|
19
|
+
await run(appChatsCmd(ctx), args);
|
|
20
|
+
const first = await firstRead;
|
|
21
|
+
await ctx.cliStream.close();
|
|
22
|
+
expect(first.done).toBe(false);
|
|
23
|
+
const request = first.value.result;
|
|
24
|
+
expect(isReqAppChats(request)).toBe(true);
|
|
25
|
+
return request;
|
|
26
|
+
}
|
|
27
|
+
describe("appChatsCmd", () => {
|
|
28
|
+
it("bare positional vibe issues a list-application-chats request (not codegen)", async () => {
|
|
29
|
+
const request = await runAppChats(["my-app", "--api-url", "https://example.com/api"]);
|
|
30
|
+
expect(request.type).toBe("vibes-diy.cli.app-chats");
|
|
31
|
+
expect(request.type).not.toBe("vibes-diy.cli.codegen-log");
|
|
32
|
+
expect(request.type).not.toBe("vibes-diy.cli.chats");
|
|
33
|
+
expect(request.appSlug).toBe("my-app");
|
|
34
|
+
expect(request.ownerHandle).toBe("");
|
|
35
|
+
expect(request.chatId).toBeUndefined();
|
|
36
|
+
});
|
|
37
|
+
it("splits handle/app-slug positional into separate fields", async () => {
|
|
38
|
+
const request = await runAppChats(["jchris/hat-smeller"]);
|
|
39
|
+
expect(request.appSlug).toBe("hat-smeller");
|
|
40
|
+
expect(request.ownerHandle).toBe("jchris");
|
|
41
|
+
});
|
|
42
|
+
it("positional vibe + chatId issues a get-application-chat request", async () => {
|
|
43
|
+
const request = await runAppChats(["jchris/hat-smeller", "chat-123"]);
|
|
44
|
+
expect(request.appSlug).toBe("hat-smeller");
|
|
45
|
+
expect(request.ownerHandle).toBe("jchris");
|
|
46
|
+
expect(request.chatId).toBe("chat-123");
|
|
47
|
+
expect(request.type).toBe("vibes-diy.cli.app-chats");
|
|
48
|
+
});
|
|
49
|
+
it("--vibe works without a positional arg", async () => {
|
|
50
|
+
const request = await runAppChats(["--vibe", "alice/cool-app"]);
|
|
51
|
+
expect(request.appSlug).toBe("cool-app");
|
|
52
|
+
expect(request.ownerHandle).toBe("alice");
|
|
53
|
+
expect(request.chatId).toBeUndefined();
|
|
54
|
+
});
|
|
55
|
+
it("--vibe shifts the lone positional to chatId", async () => {
|
|
56
|
+
const request = await runAppChats(["chat-123", "--vibe", "alice/cool-app"]);
|
|
57
|
+
expect(request.appSlug).toBe("cool-app");
|
|
58
|
+
expect(request.ownerHandle).toBe("alice");
|
|
59
|
+
expect(request.chatId).toBe("chat-123");
|
|
60
|
+
});
|
|
61
|
+
it("explicit --handle overrides handle parsed from positional", async () => {
|
|
62
|
+
const request = await runAppChats(["jchris/hat-smeller", "--handle", "other-user"]);
|
|
63
|
+
expect(request.appSlug).toBe("hat-smeller");
|
|
64
|
+
expect(request.ownerHandle).toBe("other-user");
|
|
65
|
+
});
|
|
66
|
+
it("appSlug-only (no chatId) keeps chatId undefined regardless of flags", async () => {
|
|
67
|
+
const request = await runAppChats(["jchris/hat-smeller"]);
|
|
68
|
+
expect(request.appSlug).toBe("hat-smeller");
|
|
69
|
+
expect(request.chatId).toBeUndefined();
|
|
70
|
+
});
|
|
71
|
+
it("rejects the legacy placeholder form (vibe positional + chatId + --vibe)", async () => {
|
|
72
|
+
const ctx = makeCtx();
|
|
73
|
+
await expect(run(appChatsCmd(ctx), ["ignored", "chat-123", "--vibe", "alice/cool-app"])).rejects.toThrow("--vibe already supplies the vibe — drop the extra leading positional (the placeholder vibe argument is no longer needed).");
|
|
74
|
+
await ctx.cliStream.close();
|
|
75
|
+
});
|
|
76
|
+
it("request type is vibes-diy.cli.app-chats (distinct from codegen-log and chats)", async () => {
|
|
77
|
+
const request = await runAppChats(["my-app"]);
|
|
78
|
+
expect(request.type).toBe("vibes-diy.cli.app-chats");
|
|
79
|
+
expect(request.type).not.toBe("vibes-diy.cli.codegen-log");
|
|
80
|
+
expect(request.type).not.toBe("vibes-diy.cli.chats");
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
function makeBase(seq) {
|
|
84
|
+
return { blockId: "blk", streamId: "s", seq, blockNr: 0, timestamp: new Date(0) };
|
|
85
|
+
}
|
|
86
|
+
function toplevelLine(seq, line) {
|
|
87
|
+
return { type: "block.toplevel.line", sectionId: "s", lineNr: seq, line, ...makeBase(seq) };
|
|
88
|
+
}
|
|
89
|
+
function imageBlock(seq, url) {
|
|
90
|
+
return {
|
|
91
|
+
type: "block.image",
|
|
92
|
+
sectionId: "s",
|
|
93
|
+
url,
|
|
94
|
+
stats: { lines: 0, bytes: url.length },
|
|
95
|
+
...makeBase(seq),
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
function cidImageBlock(seq, cid) {
|
|
99
|
+
return {
|
|
100
|
+
type: "block.image",
|
|
101
|
+
sectionId: "s",
|
|
102
|
+
cid,
|
|
103
|
+
stats: { lines: 0, bytes: cid.length },
|
|
104
|
+
...makeBase(seq),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function buildTrigger(args, api, sent) {
|
|
108
|
+
const cliCtx = {
|
|
109
|
+
sthis: { env: { get: () => undefined } },
|
|
110
|
+
cliStream: cmd_tsStream(),
|
|
111
|
+
output: { stdout: () => undefined, stderr: () => undefined },
|
|
112
|
+
vibesDiyApiFactory: () => api,
|
|
113
|
+
exitCode: 0,
|
|
114
|
+
};
|
|
115
|
+
const appCtx = new AppContext().set("cliCtx", cliCtx);
|
|
116
|
+
return {
|
|
117
|
+
id: "trigger-1",
|
|
118
|
+
ctx: appCtx,
|
|
119
|
+
enRequest: args,
|
|
120
|
+
request: { type: "msg.cmd-ts", cmdTs: { raw: args, outputFormat: "text" }, result: args },
|
|
121
|
+
validated: args,
|
|
122
|
+
send: {
|
|
123
|
+
send: async (_trigger, data) => {
|
|
124
|
+
sent.push(data);
|
|
125
|
+
return Result.Ok(undefined);
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
describe("appChatsEvento handler", () => {
|
|
131
|
+
it("LIST path calls listApplicationChats on the api (not getApplicationChat)", async () => {
|
|
132
|
+
const listCalls = [];
|
|
133
|
+
const api = {
|
|
134
|
+
ensureUserSettings: async () => Result.Ok({ settings: [] }),
|
|
135
|
+
listApplicationChats: async (req) => {
|
|
136
|
+
listCalls.push(req);
|
|
137
|
+
return Result.Ok({ items: [], nextCursor: undefined });
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
const args = {
|
|
141
|
+
type: "vibes-diy.cli.app-chats",
|
|
142
|
+
appSlug: "hat-smeller",
|
|
143
|
+
ownerHandle: "alice",
|
|
144
|
+
apiUrl: "https://vibes.diy/api",
|
|
145
|
+
};
|
|
146
|
+
const sent = [];
|
|
147
|
+
const r = await appChatsEvento.handle(buildTrigger(args, api, sent));
|
|
148
|
+
expect(r.isOk()).toBe(true);
|
|
149
|
+
expect(listCalls).toHaveLength(1);
|
|
150
|
+
expect(listCalls[0]).toMatchObject({ appSlug: "hat-smeller" });
|
|
151
|
+
const result = sent[0].result;
|
|
152
|
+
expect(result).toMatchObject({ type: "vibes-diy.cli.res-app-chats-list", items: [] });
|
|
153
|
+
});
|
|
154
|
+
it("deep-read path renders toplevel text AND image placeholder from blocks", async () => {
|
|
155
|
+
const blocks = [
|
|
156
|
+
toplevelLine(0, "Here is your image:"),
|
|
157
|
+
imageBlock(1, "https://example.com/img.png"),
|
|
158
|
+
cidImageBlock(2, "bafyreiXYZ"),
|
|
159
|
+
];
|
|
160
|
+
const api = {
|
|
161
|
+
ensureUserSettings: async () => Result.Ok({ settings: [] }),
|
|
162
|
+
getApplicationChat: async (_req) => {
|
|
163
|
+
return Result.Ok({
|
|
164
|
+
type: "vibes.diy.res-get-application-chat",
|
|
165
|
+
chatId: "chat-abc",
|
|
166
|
+
ownerHandle: "alice",
|
|
167
|
+
appSlug: "hat-smeller",
|
|
168
|
+
blocks,
|
|
169
|
+
});
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
const args = {
|
|
173
|
+
type: "vibes-diy.cli.app-chats",
|
|
174
|
+
appSlug: "hat-smeller",
|
|
175
|
+
ownerHandle: "alice",
|
|
176
|
+
chatId: "chat-abc",
|
|
177
|
+
apiUrl: "https://vibes.diy/api",
|
|
178
|
+
};
|
|
179
|
+
const sent = [];
|
|
180
|
+
const r = await appChatsEvento.handle(buildTrigger(args, api, sent));
|
|
181
|
+
expect(r.isOk()).toBe(true);
|
|
182
|
+
const result = sent[0].result;
|
|
183
|
+
expect(result.output).toContain("Here is your image:");
|
|
184
|
+
expect(result.output).toContain("[image: https://example.com/img.png]");
|
|
185
|
+
expect(result.output).toContain("[image: bafyreiXYZ]");
|
|
186
|
+
expect(result).toMatchObject({ type: "vibes-diy.cli.res-app-chats-detail", chatId: "chat-abc" });
|
|
187
|
+
});
|
|
188
|
+
});
|
|
189
|
+
//# sourceMappingURL=app-chats-cmd.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-chats-cmd.test.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/app-chats-cmd.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,OAAO,EAAe,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE7F,SAAS,OAAO;IACd,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,OAAO;QACL,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAgC;QACtE,SAAS;QACT,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;QAC5D,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,IAAc;IACvC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC;IAC9B,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAI,KAAK,CAAC,KAAiC,CAAC,MAAM,CAAC;IAChE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC1F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAEtF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC5E,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,oBAAoB,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IAEzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACtG,2HAA2H,CAC5H,CAAC;QACF,MAAM,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAErD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAOH,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AACpF,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,IAAY;IAC7C,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAmC,CAAC;AAC/H,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,GAAW;IAC1C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,GAAG;QACd,GAAG;QACH,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QACtC,GAAG,QAAQ,CAAC,GAAG,CAAC;KACgB,CAAC;AACrC,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,GAAW;IAC7C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,SAAS,EAAE,GAAG;QACd,GAAG;QACH,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QACtC,GAAG,QAAQ,CAAC,GAAG,CAAC;KACgB,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB,EAAE,GAAY,EAAE,IAAe;IACpE,MAAM,MAAM,GAAW;QACrB,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,EAAgC;QACtE,SAAS,EAAE,YAAY,EAAE;QACzB,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;QAC5D,kBAAkB,EAAE,GAAG,EAAE,CAAC,GAAkF;QAC5G,QAAQ,EAAE,CAAC;KACZ,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,OAAO;QACL,EAAE,EAAE,WAAW;QACf,GAAG,EAAE,MAAM;QACX,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;QACzF,SAAS,EAAE,IAAI;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK,EAAE,QAAiB,EAAE,IAAa,EAAE,EAAE;gBAC/C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,OAAO,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;SACF;KACwD,CAAC;AAC9D,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG;YACV,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3D,oBAAoB,EAAE,KAAK,EAAE,GAAY,EAAE,EAAE;gBAC3C,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,OAAO,MAAM,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACzD,CAAC;SACF,CAAC;QAEF,MAAM,IAAI,GAAgB;YACxB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,uBAAuB;SAChC,CAAC;QAEF,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAyB,CAAC,MAAM,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,MAAM,GAAyB;YACnC,YAAY,CAAC,CAAC,EAAE,qBAAqB,CAAC;YACtC,UAAU,CAAC,CAAC,EAAE,6BAA6B,CAAC;YAC5C,aAAa,CAAC,CAAC,EAAE,YAAY,CAAC;SAC/B,CAAC;QAEF,MAAM,GAAG,GAAG;YACV,kBAAkB,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3D,kBAAkB,EAAE,KAAK,EAAE,IAAa,EAAE,EAAE;gBAC1C,OAAO,MAAM,CAAC,EAAE,CAAC;oBACf,IAAI,EAAE,oCAAoC;oBAC1C,MAAM,EAAE,UAAU;oBAClB,WAAW,EAAE,OAAO;oBACpB,OAAO,EAAE,aAAa;oBACtB,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEF,MAAM,IAAI,GAAgB;YACxB,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,aAAa;YACtB,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,uBAAuB;SAChC,CAAC;QAEF,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAoC,CAAC,MAAM,CAAC;QAElE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CAAC;QAExE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,oCAAoC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type { PromptAndBlockMsgs, ResChatResponseTurn, SectionEvent } from "@vib
|
|
|
3
3
|
import { type ResolveSectionStreamResult } from "./resolve-section-stream.js";
|
|
4
4
|
export declare function turnBlocks(turn: ResChatResponseTurn): PromptAndBlockMsgs[];
|
|
5
5
|
export declare function reconstructVerbatim(blocks: readonly PromptAndBlockMsgs[]): string;
|
|
6
|
+
export declare function renderAppChatBlocks(blocks: readonly PromptAndBlockMsgs[]): string;
|
|
6
7
|
export declare function renderJsonl(blocks: readonly PromptAndBlockMsgs[]): string;
|
|
7
8
|
export declare function extractRawText(blocks: readonly PromptAndBlockMsgs[]): string | undefined;
|
|
8
9
|
export declare function extractUserPrompts(blocks: readonly PromptAndBlockMsgs[]): string[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Result } from "@adviser/cement";
|
|
2
|
-
import { isCodeBegin, isCodeEnd, isCodeLine, isToplevelLine } from "@vibes.diy/call-ai-v2";
|
|
2
|
+
import { isBlockImage, isCodeBegin, isCodeEnd, isCodeLine, isToplevelLine } from "@vibes.diy/call-ai-v2";
|
|
3
3
|
import { isPromptRaw, isPromptReq } from "@vibes.diy/api-types";
|
|
4
4
|
import { resolveSectionStream } from "./resolve-section-stream.js";
|
|
5
5
|
export function turnBlocks(turn) {
|
|
@@ -24,6 +24,29 @@ export function reconstructVerbatim(blocks) {
|
|
|
24
24
|
}
|
|
25
25
|
return out.join("\n");
|
|
26
26
|
}
|
|
27
|
+
export function renderAppChatBlocks(blocks) {
|
|
28
|
+
const out = [];
|
|
29
|
+
for (const b of blocks) {
|
|
30
|
+
if (isToplevelLine(b)) {
|
|
31
|
+
out.push(b.line);
|
|
32
|
+
}
|
|
33
|
+
else if (isCodeBegin(b)) {
|
|
34
|
+
const info = b.path ? `${b.lang} ${b.path}` : b.lang;
|
|
35
|
+
out.push("```" + info);
|
|
36
|
+
}
|
|
37
|
+
else if (isCodeLine(b)) {
|
|
38
|
+
out.push(b.line);
|
|
39
|
+
}
|
|
40
|
+
else if (isCodeEnd(b)) {
|
|
41
|
+
out.push("```");
|
|
42
|
+
}
|
|
43
|
+
else if (isBlockImage(b)) {
|
|
44
|
+
const ref = b.url ?? b.cid ?? b.uploadId ?? "(unknown)";
|
|
45
|
+
out.push(`[image: ${ref}]`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return out.join("\n");
|
|
49
|
+
}
|
|
27
50
|
export function renderJsonl(blocks) {
|
|
28
51
|
return blocks.map((b) => JSON.stringify(b)).join("\n");
|
|
29
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-response-render.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/chat-response-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-response-render.js","sourceRoot":"","sources":["../../../jsr/cli/cmds/chat-response-render.ts"],"names":[],"mappings":"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"}
|
package/cli/cmds/chats-cmd.d.ts
CHANGED
|
@@ -1,57 +1,11 @@
|
|
|
1
|
-
import { EventoHandler } from "@adviser/cement";
|
|
2
1
|
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
|
-
response?: boolean | undefined;
|
|
11
|
-
raw?: boolean | undefined;
|
|
12
|
-
files?: boolean | undefined;
|
|
13
|
-
jsonl?: boolean | undefined;
|
|
14
|
-
user?: boolean | undefined;
|
|
15
|
-
promptId?: string | undefined;
|
|
16
|
-
}, {}>;
|
|
17
|
-
export type ReqChats = typeof ReqChats.infer;
|
|
18
|
-
export declare function isReqChats(obj: unknown): obj is ReqChats;
|
|
19
|
-
export declare const ResChatResponse: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
20
|
-
type: "vibes-diy.cli.res-chat-response";
|
|
21
|
-
output: string;
|
|
22
|
-
}, {}>;
|
|
23
|
-
export type ResChatResponse = typeof ResChatResponse.infer;
|
|
24
|
-
export declare function isResChatResponse(obj: unknown): obj is ResChatResponse;
|
|
25
|
-
export declare const ResChatsList: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
26
|
-
type: "vibes-diy.cli.res-chats-list";
|
|
27
|
-
items: {
|
|
28
|
-
chatId: string;
|
|
29
|
-
appSlug: string;
|
|
30
|
-
ownerHandle: string;
|
|
31
|
-
created: string;
|
|
32
|
-
}[];
|
|
33
|
-
}, {}>;
|
|
34
|
-
export type ResChatsList = typeof ResChatsList.infer;
|
|
35
|
-
export declare function isResChatsList(obj: unknown): obj is ResChatsList;
|
|
36
|
-
export declare const ResChatDetail: import("arktype/internal/variants/object.ts").ObjectType<{
|
|
37
|
-
type: "vibes-diy.cli.res-chat-detail";
|
|
38
|
-
chatId: string;
|
|
39
|
-
ownerHandle: string;
|
|
40
|
-
appSlug: string;
|
|
41
|
-
prompts: {
|
|
42
|
-
prompt: string;
|
|
43
|
-
fsId: string;
|
|
44
|
-
created: string;
|
|
45
|
-
}[];
|
|
46
|
-
}, {}>;
|
|
47
|
-
export type ResChatDetail = typeof ResChatDetail.infer;
|
|
48
|
-
export declare function isResChatDetail(obj: unknown): obj is ResChatDetail;
|
|
49
|
-
type ResChats = ResChatsList | ResChatDetail | ResChatResponse;
|
|
50
|
-
export declare const chatsEvento: EventoHandler<WrapCmdTSMsg<unknown>, ReqChats, ResChats>;
|
|
51
2
|
export declare function chatsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
|
|
52
3
|
parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
|
|
53
|
-
|
|
54
|
-
|
|
4
|
+
apiUrl: string;
|
|
5
|
+
json: boolean;
|
|
6
|
+
text: boolean;
|
|
7
|
+
arg1: string | undefined;
|
|
8
|
+
arg2: string | undefined;
|
|
55
9
|
vibe: string;
|
|
56
10
|
handle: string;
|
|
57
11
|
response: boolean;
|
|
@@ -60,13 +14,13 @@ export declare function chatsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/a
|
|
|
60
14
|
jsonl: boolean;
|
|
61
15
|
user: boolean;
|
|
62
16
|
turn: string | undefined;
|
|
63
|
-
apiUrl: string;
|
|
64
|
-
json: boolean;
|
|
65
|
-
text: boolean;
|
|
66
17
|
}>>;
|
|
67
18
|
} & 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<{
|
|
68
|
-
|
|
69
|
-
|
|
19
|
+
apiUrl: string;
|
|
20
|
+
json: boolean;
|
|
21
|
+
text: boolean;
|
|
22
|
+
arg1: string | undefined;
|
|
23
|
+
arg2: string | undefined;
|
|
70
24
|
vibe: string;
|
|
71
25
|
handle: string;
|
|
72
26
|
response: boolean;
|
|
@@ -75,10 +29,6 @@ export declare function chatsCmd(ctx: CliCtx): Partial<import("cmd-ts/dist/cjs/a
|
|
|
75
29
|
jsonl: boolean;
|
|
76
30
|
user: boolean;
|
|
77
31
|
turn: string | undefined;
|
|
78
|
-
apiUrl: string;
|
|
79
|
-
json: boolean;
|
|
80
|
-
text: boolean;
|
|
81
32
|
}, never> & {
|
|
82
33
|
run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<never>>;
|
|
83
34
|
} & 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>;
|
|
84
|
-
export {};
|