@wirecat/cli-core 0.262.0 → 0.263.0
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/README.md +2 -3
- package/dist/cli/app.d.ts +3 -0
- package/dist/cli/app.d.ts.map +1 -1
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/command-contract.d.ts.map +1 -1
- package/dist/cli/command-contract.js +1 -1
- package/dist/cli/command-contract.js.map +1 -1
- package/dist/cli/envelope.d.ts +48 -0
- package/dist/cli/envelope.d.ts.map +1 -0
- package/dist/cli/envelope.js +83 -0
- package/dist/cli/envelope.js.map +1 -0
- package/dist/cli/execution.d.ts.map +1 -1
- package/dist/cli/execution.js +2 -2
- package/dist/cli/execution.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/json-fields.d.ts +18 -0
- package/dist/cli/json-fields.d.ts.map +1 -0
- package/dist/cli/json-fields.js +73 -0
- package/dist/cli/json-fields.js.map +1 -0
- package/dist/cli/messenger/conversations-command.d.ts.map +1 -1
- package/dist/cli/messenger/conversations-command.js +14 -10
- package/dist/cli/messenger/conversations-command.js.map +1 -1
- package/dist/cli/messenger/doctor-command.js +1 -1
- package/dist/cli/messenger/doctor-command.js.map +1 -1
- package/dist/cli/messenger/flooded.js +2 -2
- package/dist/cli/messenger/flooded.js.map +1 -1
- package/dist/cli/messenger/observed.js +1 -1
- package/dist/cli/messenger/observed.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +12 -9
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/reasons.d.ts +9 -1
- package/dist/cli/reasons.d.ts.map +1 -1
- package/dist/cli/reasons.js +23 -0
- package/dist/cli/reasons.js.map +1 -1
- package/dist/cli/result-fields.d.ts +2 -1
- package/dist/cli/result-fields.d.ts.map +1 -1
- package/dist/cli/result-fields.js +20 -3
- package/dist/cli/result-fields.js.map +1 -1
- package/dist/cli/runs/recording.d.ts.map +1 -1
- package/dist/cli/runs/recording.js +2 -2
- package/dist/cli/runs/recording.js.map +1 -1
- package/dist/cli/runs/scope.d.ts +2 -0
- package/dist/cli/runs/scope.d.ts.map +1 -1
- package/dist/cli/runs/scope.js +1 -1
- package/dist/cli/runs/scope.js.map +1 -1
- package/dist/cli/settings.d.ts +0 -2
- package/dist/cli/settings.d.ts.map +1 -1
- package/dist/cli/settings.js +0 -1
- package/dist/cli/settings.js.map +1 -1
- package/dist/cli/steps.d.ts +24 -0
- package/dist/cli/steps.d.ts.map +1 -0
- package/dist/cli/steps.js +65 -0
- package/dist/cli/steps.js.map +1 -0
- package/dist/entities/attachment.d.ts +1 -1
- package/dist/entities/attachment.js +1 -1
- package/dist/entities/attachment.js.map +1 -1
- package/dist/entities/chat.d.ts +7 -7
- package/dist/entities/chat.js +7 -7
- package/dist/entities/chat.js.map +1 -1
- package/dist/entities/contact.d.ts +2 -2
- package/dist/entities/contact.js +2 -2
- package/dist/entities/contact.js.map +1 -1
- package/dist/entities/document.d.ts +2 -2
- package/dist/entities/document.js +2 -2
- package/dist/entities/document.js.map +1 -1
- package/dist/entities/fact.d.ts +5 -4
- package/dist/entities/fact.d.ts.map +1 -1
- package/dist/entities/fact.js +5 -4
- package/dist/entities/fact.js.map +1 -1
- package/dist/entities/index.d.ts +171 -171
- package/dist/entities/index.js +2 -2
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/meeting.d.ts +6 -6
- package/dist/entities/meeting.js +6 -6
- package/dist/entities/meeting.js.map +1 -1
- package/dist/entities/memory.d.ts +3 -3
- package/dist/entities/memory.js +3 -3
- package/dist/entities/memory.js.map +1 -1
- package/dist/entities/message.d.ts +24 -23
- package/dist/entities/message.d.ts.map +1 -1
- package/dist/entities/message.js +19 -18
- package/dist/entities/message.js.map +1 -1
- package/dist/entities/note.d.ts +4 -4
- package/dist/entities/note.js +4 -4
- package/dist/entities/note.js.map +1 -1
- package/dist/entities/task.d.ts +5 -5
- package/dist/entities/task.js +5 -5
- package/dist/entities/task.js.map +1 -1
- package/dist/images/context/index.d.ts +12 -0
- package/dist/images/context/index.d.ts.map +1 -0
- package/dist/images/context/index.js +31 -0
- package/dist/images/context/index.js.map +1 -0
- package/dist/images/registry.d.ts +7 -0
- package/dist/images/registry.d.ts.map +1 -0
- package/dist/images/registry.js +22 -0
- package/dist/images/registry.js.map +1 -0
- package/dist/images/types.d.ts +39 -0
- package/dist/images/types.d.ts.map +1 -0
- package/dist/images/types.js +2 -0
- package/dist/images/types.js.map +1 -0
- package/dist/mcp/surface.d.ts +4 -1
- package/dist/mcp/surface.d.ts.map +1 -1
- package/dist/mcp/surface.js +21 -5
- package/dist/mcp/surface.js.map +1 -1
- package/dist/mcp/tool.d.ts +15 -3
- package/dist/mcp/tool.d.ts.map +1 -1
- package/dist/mcp/tool.js +26 -9
- package/dist/mcp/tool.js.map +1 -1
- package/dist/meetings/cli/index.d.ts +1 -0
- package/dist/meetings/cli/index.d.ts.map +1 -1
- package/dist/meetings/cli/index.js +1 -0
- package/dist/meetings/cli/index.js.map +1 -1
- package/dist/meetings/cli/passage.d.ts +9 -0
- package/dist/meetings/cli/passage.d.ts.map +1 -0
- package/dist/meetings/cli/passage.js +46 -0
- package/dist/meetings/cli/passage.js.map +1 -0
- package/dist/meetings/index.d.ts +1 -0
- package/dist/meetings/index.d.ts.map +1 -1
- package/dist/meetings/index.js +1 -0
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/mcp/index.d.ts +5 -1
- package/dist/meetings/mcp/index.d.ts.map +1 -1
- package/dist/meetings/mcp/index.js +5 -2
- package/dist/meetings/mcp/index.js.map +1 -1
- package/dist/meetings/mcp/passage.d.ts +86 -0
- package/dist/meetings/mcp/passage.d.ts.map +1 -0
- package/dist/meetings/mcp/passage.js +51 -0
- package/dist/meetings/mcp/passage.js.map +1 -0
- package/dist/meetings/mcp/search.d.ts +2 -1
- package/dist/meetings/mcp/search.d.ts.map +1 -1
- package/dist/meetings/mcp/search.js +3 -3
- package/dist/meetings/mcp/search.js.map +1 -1
- package/dist/meetings/passage.d.ts +68 -0
- package/dist/meetings/passage.d.ts.map +1 -0
- package/dist/meetings/passage.js +25 -0
- package/dist/meetings/passage.js.map +1 -0
- package/dist/meetings/store.d.ts +2 -0
- package/dist/meetings/store.d.ts.map +1 -1
- package/dist/output.d.ts +1 -2
- package/dist/output.d.ts.map +1 -1
- package/dist/output.js +4 -12
- package/dist/output.js.map +1 -1
- package/dist/services/embeddings.d.ts +2 -0
- package/dist/services/embeddings.d.ts.map +1 -1
- package/dist/services/embeddings.js +79 -2
- package/dist/services/embeddings.js.map +1 -1
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/meeting-evidence.d.ts +2 -0
- package/dist/services/meeting-evidence.d.ts.map +1 -1
- package/dist/services/meeting-evidence.js +1 -1
- package/dist/services/meeting-evidence.js.map +1 -1
- package/dist/services/meeting-hit-context.d.ts +6 -0
- package/dist/services/meeting-hit-context.d.ts.map +1 -0
- package/dist/services/meeting-hit-context.js +140 -0
- package/dist/services/meeting-hit-context.js.map +1 -0
- package/dist/services/meeting-passage-format.d.ts +9 -0
- package/dist/services/meeting-passage-format.d.ts.map +1 -0
- package/dist/services/meeting-passage-format.js +99 -0
- package/dist/services/meeting-passage-format.js.map +1 -0
- package/dist/store/account-store.d.ts +1 -1
- package/dist/store/account-store.d.ts.map +1 -1
- package/dist/store/account-store.js +3 -0
- package/dist/store/account-store.js.map +1 -1
- package/dist/store/index.d.ts +3 -1
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +1 -0
- package/dist/store/index.js.map +1 -1
- package/dist/store/sqlite/catalog.d.ts +54 -0
- package/dist/store/sqlite/catalog.d.ts.map +1 -0
- package/dist/store/sqlite/catalog.js +269 -0
- package/dist/store/sqlite/catalog.js.map +1 -0
- package/dist/store/sqlite/entity-types.d.ts +1 -0
- package/dist/store/sqlite/entity-types.d.ts.map +1 -1
- package/dist/store/sqlite/entity-types.js +1 -0
- package/dist/store/sqlite/entity-types.js.map +1 -1
- package/dist/store/sqlite/image-chunks.d.ts +53 -0
- package/dist/store/sqlite/image-chunks.d.ts.map +1 -0
- package/dist/store/sqlite/image-chunks.js +87 -0
- package/dist/store/sqlite/image-chunks.js.map +1 -0
- package/dist/store/sqlite/meeting-hit-search.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-hit-search.js +10 -3
- package/dist/store/sqlite/meeting-hit-search.js.map +1 -1
- package/dist/store/sqlite/meeting-reads.d.ts +16 -1
- package/dist/store/sqlite/meeting-reads.d.ts.map +1 -1
- package/dist/store/sqlite/meeting-reads.js +53 -1
- package/dist/store/sqlite/meeting-reads.js.map +1 -1
- package/dist/store/sqlite/meetings.d.ts +2 -2
- package/dist/store/sqlite/meetings.d.ts.map +1 -1
- package/dist/store/sqlite/meetings.js +1 -1
- package/dist/store/sqlite/meetings.js.map +1 -1
- package/dist/store/sqlite/notes.d.ts.map +1 -1
- package/dist/store/sqlite/notes.js +6 -1
- package/dist/store/sqlite/notes.js.map +1 -1
- package/dist/store/store.d.ts +25 -3
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +51 -0
- package/dist/store/store.js.map +1 -1
- package/package.json +1 -1
- package/parity.json +1 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/meetings/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/meetings/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { type FailureContext } from "@wirecat/cli-base";
|
|
2
|
+
import { type MeetingPassageReader } from "../passage.js";
|
|
3
|
+
export declare const meetingPassageTool: {
|
|
4
|
+
name: string;
|
|
5
|
+
description: string;
|
|
6
|
+
annotations: {
|
|
7
|
+
readOnlyHint: boolean;
|
|
8
|
+
destructiveHint: boolean;
|
|
9
|
+
idempotentHint: boolean;
|
|
10
|
+
openWorldHint: boolean;
|
|
11
|
+
};
|
|
12
|
+
inputSchema: {
|
|
13
|
+
type: "object";
|
|
14
|
+
properties: {
|
|
15
|
+
reference: {
|
|
16
|
+
type: string;
|
|
17
|
+
minLength: number;
|
|
18
|
+
maxLength: number;
|
|
19
|
+
};
|
|
20
|
+
before: {
|
|
21
|
+
type: string;
|
|
22
|
+
minimum: number;
|
|
23
|
+
maximum: number;
|
|
24
|
+
};
|
|
25
|
+
after: {
|
|
26
|
+
type: string;
|
|
27
|
+
minimum: number;
|
|
28
|
+
maximum: number;
|
|
29
|
+
};
|
|
30
|
+
bytes: {
|
|
31
|
+
type: string;
|
|
32
|
+
minimum: number;
|
|
33
|
+
maximum: number;
|
|
34
|
+
};
|
|
35
|
+
max_read_bytes: {
|
|
36
|
+
type: string;
|
|
37
|
+
minimum: number;
|
|
38
|
+
maximum: number;
|
|
39
|
+
};
|
|
40
|
+
expected_fingerprint: {
|
|
41
|
+
type: string;
|
|
42
|
+
pattern: string;
|
|
43
|
+
};
|
|
44
|
+
format: {
|
|
45
|
+
type: string;
|
|
46
|
+
enum: string[];
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
required: string[];
|
|
50
|
+
additionalProperties: boolean;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
export declare const callMeetingPassageTool: (read: MeetingPassageReader, input: unknown, signal?: AbortSignal, failure?: FailureContext) => Promise<{
|
|
54
|
+
content: {
|
|
55
|
+
type: "text";
|
|
56
|
+
text: string;
|
|
57
|
+
}[];
|
|
58
|
+
structuredContent: {
|
|
59
|
+
error: {
|
|
60
|
+
code: "authentication_error" | "cancelled" | "configuration_error" | "confirmation_required" | "internal_error" | "invalid_response" | "network_error" | "not_found" | "outcome_unknown" | "permission_error" | "provider_error" | "provider_unavailable" | "rate_limited" | "timeout" | "validation_error";
|
|
61
|
+
reason: string;
|
|
62
|
+
message: string;
|
|
63
|
+
param?: string | undefined;
|
|
64
|
+
details?: {
|
|
65
|
+
[x: string]: unknown;
|
|
66
|
+
} | undefined;
|
|
67
|
+
next?: {
|
|
68
|
+
step: string;
|
|
69
|
+
command: string;
|
|
70
|
+
args: {
|
|
71
|
+
[x: string]: unknown;
|
|
72
|
+
};
|
|
73
|
+
why: string;
|
|
74
|
+
}[] | undefined;
|
|
75
|
+
run_id?: string | undefined;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
isError: true;
|
|
79
|
+
} | {
|
|
80
|
+
content: {
|
|
81
|
+
type: "text";
|
|
82
|
+
text: string;
|
|
83
|
+
}[];
|
|
84
|
+
structuredContent: import("../passage.js").MeetingHitContextPacket;
|
|
85
|
+
}>;
|
|
86
|
+
//# sourceMappingURL=passage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passage.d.ts","sourceRoot":"","sources":["../../../src/meetings/mcp/passage.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAA8B,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAAE,KAAK,oBAAoB,EAA0B,MAAM,eAAe,CAAA;AAGjF,eAAO,MAAM,kBAAkB;IAC7B,IAAI;IACJ,WAAW;IAEX,WAAW;QAAI,YAAY;QAAQ,eAAe;QAAS,cAAc;QAAQ,aAAa;;IAC9F,WAAW;QACT,IAAI,EAAE,QAAQ;QACd,UAAU;YACR,SAAS;gBAAI,IAAI;gBAAY,SAAS;gBAAK,SAAS;;YACpD,MAAM;;;;;YACN,KAAK;;;;;YACL,KAAK;gBAAI,IAAI;gBAAa,OAAO;gBAAK,OAAO;;YAC7C,cAAc;gBAAI,IAAI;gBAAa,OAAO;gBAAK,OAAO;;YACtD,oBAAoB;gBAAI,IAAI;gBAAY,OAAO;;YAC/C,MAAM;gBAAI,IAAI;gBAAY,IAAI;;;QAEhC,QAAQ;QACR,oBAAoB;;CAEvB,CAAA;AACD,eAAO,MAAM,sBAAsB,SAC3B,oBAAoB,SACnB,OAAO,WACL,WAAW,YACX,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsBM,MAAM;;;;EAMpC,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CliError, errorObjectOf, isCliError, mcpErrorResult } from "@wirecat/cli-base";
|
|
2
|
+
import { validateMeetingPassage } from "../passage.js";
|
|
3
|
+
const count = { type: "integer", minimum: 0, maximum: 999 };
|
|
4
|
+
export const meetingPassageTool = {
|
|
5
|
+
name: "meeting_passage",
|
|
6
|
+
description: "Read a retained cue with bounded surrounding context, citations, revision and explicit coverage; account is fixed by the host",
|
|
7
|
+
annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: "object",
|
|
10
|
+
properties: {
|
|
11
|
+
reference: { type: "string", minLength: 1, maxLength: 200 },
|
|
12
|
+
before: count,
|
|
13
|
+
after: count,
|
|
14
|
+
bytes: { type: "integer", minimum: 2, maximum: 4194304 },
|
|
15
|
+
max_read_bytes: { type: "integer", minimum: 1, maximum: 67108864 },
|
|
16
|
+
expected_fingerprint: { type: "string", pattern: "^[a-f0-9]{64}$" },
|
|
17
|
+
format: { type: "string", enum: ["json", "text", "markdown"] },
|
|
18
|
+
},
|
|
19
|
+
required: ["reference"],
|
|
20
|
+
additionalProperties: false,
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
export const callMeetingPassageTool = async (read, input, signal, failure = {}) => {
|
|
24
|
+
try {
|
|
25
|
+
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
26
|
+
throw new CliError("validation_error", "expected passage arguments");
|
|
27
|
+
const args = input;
|
|
28
|
+
if (Object.keys(args).some((key) => !Object.hasOwn(meetingPassageTool.inputSchema.properties, key)))
|
|
29
|
+
throw new CliError("validation_error", "unknown passage argument");
|
|
30
|
+
const options = {
|
|
31
|
+
before: args.before,
|
|
32
|
+
after: args.after,
|
|
33
|
+
bytes: args.bytes,
|
|
34
|
+
max_read_bytes: args.max_read_bytes,
|
|
35
|
+
expected_fingerprint: args.expected_fingerprint,
|
|
36
|
+
format: (args.format ?? "json"),
|
|
37
|
+
signal,
|
|
38
|
+
};
|
|
39
|
+
const reference = args.reference;
|
|
40
|
+
validateMeetingPassage(reference, options);
|
|
41
|
+
signal?.throwIfAborted();
|
|
42
|
+
const result = await read(reference, options);
|
|
43
|
+
signal?.throwIfAborted();
|
|
44
|
+
return { content: [{ type: "text", text: result.content }], structuredContent: result.packet };
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
const cause = !isCliError(error) && signal?.aborted ? new CliError("cancelled", "meeting passage was cancelled") : error;
|
|
48
|
+
return mcpErrorResult(errorObjectOf(cause, failure));
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=passage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passage.js","sourceRoot":"","sources":["../../../src/meetings/mcp/passage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAuB,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAA6B,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEjF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,+HAA+H;IACjI,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;IACvG,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE;YAC3D,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;YACxD,cAAc,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;YAClE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACnE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;SAC/D;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;QACvB,oBAAoB,EAAE,KAAK;KAC5B;CACF,CAAA;AACD,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAA0B,EAC1B,KAAc,EACd,MAAoB,EACpB,OAAO,GAAmB,EAAE,EAC5B,EAAE;IACF,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAC7D,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,KAAgC,CAAA;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACjG,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAA;QACpE,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,MAA4B;YACzC,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,KAAK,EAAE,IAAI,CAAC,KAA2B;YACvC,cAAc,EAAE,IAAI,CAAC,cAAoC;YACzD,oBAAoB,EAAE,IAAI,CAAC,oBAA0C;YACrE,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAiC;YAC/D,MAAM;SACP,CAAA;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAmB,CAAA;QAC1C,sBAAsB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC1C,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC7C,MAAM,EAAE,cAAc,EAAE,CAAA;QACxB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;IACzG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GACT,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAC5G,OAAO,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type FailureContext } from "@wirecat/cli-base";
|
|
1
2
|
import { type MeetingHitSearch } from "../search-validation.js";
|
|
2
3
|
export declare const meetingSearchTool: {
|
|
3
4
|
name: string;
|
|
@@ -85,7 +86,7 @@ export declare const meetingSearchTool: {
|
|
|
85
86
|
additionalProperties: boolean;
|
|
86
87
|
};
|
|
87
88
|
};
|
|
88
|
-
export declare const callMeetingSearchTool: (search: MeetingHitSearch, input: unknown, signal?: AbortSignal) => Promise<{
|
|
89
|
+
export declare const callMeetingSearchTool: (search: MeetingHitSearch, input: unknown, signal?: AbortSignal, failure?: FailureContext) => Promise<{
|
|
89
90
|
content: {
|
|
90
91
|
type: "text";
|
|
91
92
|
text: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/meetings/mcp/search.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/meetings/mcp/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAA8B,MAAM,mBAAmB,CAAA;AAC5G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,yBAAyB,CAAA;AAIzF,eAAO,MAAM,iBAAiB;IAC5B,IAAI;IACJ,WAAW;IAEX,WAAW;QAAI,YAAY;QAAQ,eAAe;QAAS,cAAc;QAAQ,aAAa;;IAC9F,WAAW;QACT,IAAI,EAAE,QAAQ;QACd,UAAU;YACR,KAAK;gBAAI,IAAI;gBAAY,SAAS;;YAClC,UAAU;;;;;YACV,WAAW;;;;;YACX,SAAS;;;;;YACT,QAAQ;;;;;YACR,SAAS;;;;;YACT,OAAO;;;;;YACP,GAAG;;;;;YACH,KAAK;;;;;YACL,UAAU;gBAAI,IAAI;gBAAa,OAAO;gBAAqB,OAAO;;YAClE,UAAU;gBAAI,IAAI;gBAAa,OAAO;gBAAqB,OAAO;;YAClE,KAAK;gBAAI,IAAI;gBAAa,OAAO;gBAAK,OAAO;;YAC7C,MAAM;gBAAI,IAAI;gBAAY,SAAS;gBAAK,SAAS;;YACjD,cAAc;gBAAI,IAAI;gBAAa,OAAO;gBAAK,OAAO;;;QAExD,QAAQ;QACR,oBAAoB;;CAEvB,CAAA;AACD,eAAO,MAAM,qBAAqB,WACxB,gBAAgB,SACjB,OAAO,WACL,WAAW,YACX,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA6BM,MAAM;;;;EAMpC,CAAA"}
|
|
@@ -28,7 +28,7 @@ export const meetingSearchTool = {
|
|
|
28
28
|
additionalProperties: false,
|
|
29
29
|
},
|
|
30
30
|
};
|
|
31
|
-
export const callMeetingSearchTool = async (search, input, signal) => {
|
|
31
|
+
export const callMeetingSearchTool = async (search, input, signal, failure = {}) => {
|
|
32
32
|
try {
|
|
33
33
|
if (!input || typeof input !== "object" || Array.isArray(input))
|
|
34
34
|
throw new CliError("validation_error", "expected search argument object");
|
|
@@ -59,8 +59,8 @@ export const callMeetingSearchTool = async (search, input, signal) => {
|
|
|
59
59
|
return { content: [{ type: "text", text: JSON.stringify(result) }], structuredContent: result };
|
|
60
60
|
}
|
|
61
61
|
catch (error) {
|
|
62
|
-
const
|
|
63
|
-
return mcpErrorResult(errorObjectOf(failure));
|
|
62
|
+
const thrown = !isCliError(error) && signal?.aborted ? new CliError("cancelled", "meeting search was cancelled") : error;
|
|
63
|
+
return mcpErrorResult(errorObjectOf(thrown, failure));
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
//# sourceMappingURL=search.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/meetings/mcp/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/meetings/mcp/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
export interface MeetingHitContextOptions {
|
|
2
|
+
before?: number;
|
|
3
|
+
after?: number;
|
|
4
|
+
bytes?: number;
|
|
5
|
+
max_read_bytes?: number;
|
|
6
|
+
expected_fingerprint?: string;
|
|
7
|
+
signal?: AbortSignal;
|
|
8
|
+
}
|
|
9
|
+
export interface MeetingContextCue {
|
|
10
|
+
ref: string;
|
|
11
|
+
fingerprint: string;
|
|
12
|
+
transcript_id: number;
|
|
13
|
+
content_hash: string | null;
|
|
14
|
+
position: number;
|
|
15
|
+
start_ms: number;
|
|
16
|
+
end_ms: number;
|
|
17
|
+
speaker_participant_id: number | null;
|
|
18
|
+
speaker_name: string | null;
|
|
19
|
+
text: string;
|
|
20
|
+
revision: "current" | "superseded";
|
|
21
|
+
}
|
|
22
|
+
export declare const meetingHitContextLimits: (options?: MeetingHitContextOptions) => {
|
|
23
|
+
before: number;
|
|
24
|
+
after: number;
|
|
25
|
+
bytes: number;
|
|
26
|
+
max_read_bytes: number;
|
|
27
|
+
};
|
|
28
|
+
export interface MeetingHitContextPacket {
|
|
29
|
+
schema_version: 1;
|
|
30
|
+
kind: "meeting_context";
|
|
31
|
+
source: string;
|
|
32
|
+
target_ref: string;
|
|
33
|
+
target_fingerprint: string;
|
|
34
|
+
fingerprint: string;
|
|
35
|
+
revision: "current" | "superseded";
|
|
36
|
+
limits: {
|
|
37
|
+
before: number;
|
|
38
|
+
after: number;
|
|
39
|
+
bytes: number;
|
|
40
|
+
max_read_bytes: number;
|
|
41
|
+
};
|
|
42
|
+
content_bytes: number;
|
|
43
|
+
coverage: {
|
|
44
|
+
included: number;
|
|
45
|
+
before: number;
|
|
46
|
+
after: number;
|
|
47
|
+
has_before: boolean;
|
|
48
|
+
has_after: boolean;
|
|
49
|
+
truncated_by: "bytes" | null;
|
|
50
|
+
before_ref: string | null;
|
|
51
|
+
after_ref: string | null;
|
|
52
|
+
continuation: "anchor-inclusive";
|
|
53
|
+
archive_completeness: "unknown";
|
|
54
|
+
input: "bounded-meeting-context";
|
|
55
|
+
};
|
|
56
|
+
items: MeetingContextCue[];
|
|
57
|
+
}
|
|
58
|
+
export type MeetingPassageOutputFormat = "json" | "text" | "markdown";
|
|
59
|
+
export interface MeetingPassageRequest extends MeetingHitContextOptions {
|
|
60
|
+
format?: MeetingPassageOutputFormat;
|
|
61
|
+
}
|
|
62
|
+
export interface MeetingPassageResult {
|
|
63
|
+
packet: MeetingHitContextPacket;
|
|
64
|
+
content: string;
|
|
65
|
+
}
|
|
66
|
+
export type MeetingPassageReader = (reference: string, options: MeetingPassageRequest) => Promise<MeetingPassageResult>;
|
|
67
|
+
export declare const validateMeetingPassage: (reference: string, options: MeetingPassageRequest) => void;
|
|
68
|
+
//# sourceMappingURL=passage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passage.d.ts","sourceRoot":"","sources":["../../src/meetings/passage.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,wBAAwB;IACvC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AACD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAA;CACnC;AACD,eAAO,MAAM,uBAAuB,aAAa,wBAAwB;;;;;CAmBxE,CAAA;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,CAAC,CAAA;IACjB,IAAI,EAAE,iBAAiB,CAAA;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,SAAS,GAAG,YAAY,CAAA;IAClC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAA;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,UAAU,EAAE,OAAO,CAAA;QACnB,SAAS,EAAE,OAAO,CAAA;QAClB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;QAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,YAAY,EAAE,kBAAkB,CAAA;QAChC,oBAAoB,EAAE,SAAS,CAAA;QAC/B,KAAK,EAAE,yBAAyB,CAAA;KACjC,CAAA;IACD,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAC3B;AACD,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAA;AACrE,MAAM,WAAW,qBAAsB,SAAQ,wBAAwB;IACrE,MAAM,CAAC,EAAE,0BAA0B,CAAA;CACpC;AACD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,uBAAuB,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;CAChB;AACD,MAAM,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;AACvH,eAAO,MAAM,sBAAsB,cAAe,MAAM,WAAW,qBAAqB,SASvF,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CliError } from "@wirecat/cli-base";
|
|
2
|
+
export const meetingHitContextLimits = (options = {}) => {
|
|
3
|
+
const { before = 3, after = 3, bytes = 65536, max_read_bytes = 4194304, expected_fingerprint } = options;
|
|
4
|
+
if (![before, after].every((value) => Number.isSafeInteger(value) && value >= 0) ||
|
|
5
|
+
before + after > 999 ||
|
|
6
|
+
!Number.isSafeInteger(bytes) ||
|
|
7
|
+
bytes < 2 ||
|
|
8
|
+
bytes > 4194304 ||
|
|
9
|
+
!Number.isSafeInteger(max_read_bytes) ||
|
|
10
|
+
max_read_bytes < 1 ||
|
|
11
|
+
max_read_bytes > 67108864 ||
|
|
12
|
+
(expected_fingerprint !== undefined &&
|
|
13
|
+
(typeof expected_fingerprint !== "string" || !/^[a-f0-9]{64}$/.test(expected_fingerprint))))
|
|
14
|
+
throw new CliError("validation_error", "context takes 0–999 surrounding cues, 2–4194304 output bytes and a bounded read budget");
|
|
15
|
+
return { before, after, bytes, max_read_bytes };
|
|
16
|
+
};
|
|
17
|
+
export const validateMeetingPassage = (reference, options) => {
|
|
18
|
+
meetingHitContextLimits(options);
|
|
19
|
+
if (typeof reference !== "string" ||
|
|
20
|
+
!reference.trim() ||
|
|
21
|
+
reference.length > 200 ||
|
|
22
|
+
(options.format !== undefined && !["json", "text", "markdown"].includes(options.format)))
|
|
23
|
+
throw new CliError("validation_error", "choose a cue reference and json, text or markdown output");
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=passage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passage.js","sourceRoot":"","sources":["../../src/meetings/passage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAuB5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,GAA6B,EAAE,EAAE,EAAE;IAChF,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,cAAc,GAAG,OAAO,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAA;IACxG,IACE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC5E,MAAM,GAAG,KAAK,GAAG,GAAG;QACpB,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC5B,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,OAAO;QACf,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC;QACrC,cAAc,GAAG,CAAC;QAClB,cAAc,GAAG,QAAQ;QACzB,CAAC,oBAAoB,KAAK,SAAS;YACjC,CAAC,OAAO,oBAAoB,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE7F,MAAM,IAAI,QAAQ,CAChB,kBAAkB,EAClB,wFAAwF,CACzF,CAAA;IACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;AACjD,CAAC,CAAA;AAoCD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,OAA8B,EAAE,EAAE;IAC1F,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAChC,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,CAAC,SAAS,CAAC,IAAI,EAAE;QACjB,SAAS,CAAC,MAAM,GAAG,GAAG;QACtB,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExF,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,0DAA0D,CAAC,CAAA;AACtG,CAAC,CAAA"}
|
package/dist/meetings/store.d.ts
CHANGED
|
@@ -62,6 +62,8 @@ export interface EventCandidateFilter {
|
|
|
62
62
|
endsAt: number;
|
|
63
63
|
}
|
|
64
64
|
export interface SearchHit {
|
|
65
|
+
/** A retained cue reference for transcript hits, or the parent meeting for other sources. */
|
|
66
|
+
ref?: string;
|
|
65
67
|
meetingId: number;
|
|
66
68
|
scope: "transcript" | "chat" | "summary";
|
|
67
69
|
id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/meetings/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/meetings/store.ts"],"names":[],"mappings":"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"}
|
package/dist/output.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { type Detail } from "./output-detail.js";
|
|
|
3
3
|
export interface OutputOptions {
|
|
4
4
|
json?: boolean;
|
|
5
5
|
jsonl?: boolean;
|
|
6
|
-
agentJson?: boolean;
|
|
7
6
|
quiet?: boolean;
|
|
8
7
|
streams?: Streams;
|
|
9
8
|
/** Whether a person is looking. Defaults to whether stdout is a terminal. */
|
|
@@ -22,7 +21,7 @@ export interface OutputOptions {
|
|
|
22
21
|
* instead. In every machine mode **stdout carries JSON and nothing else** — diagnostics are on stderr in all modes, which is what makes
|
|
23
22
|
* that contract hold by construction rather than by remembering.
|
|
24
23
|
*/
|
|
25
|
-
export declare const resolveOutput: ({ json, jsonl,
|
|
24
|
+
export declare const resolveOutput: ({ json, jsonl, quiet, streams, tty, color, fields, hitDetail, env, }?: OutputOptions) => {
|
|
26
25
|
format: "json" | "jsonl" | "pretty";
|
|
27
26
|
color: boolean;
|
|
28
27
|
streams: Streams;
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,OAAO,EAEb,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,OAAO,EAEb,MAAM,mBAAmB,CAAA;AAE1B,OAAO,EAAY,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,0EAUvB,aAAa;;;;;CA6Bf,CAAA"}
|
package/dist/output.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createRenderer, processStreams, singleLine, } from "@wirecat/cli-base";
|
|
2
2
|
import { fieldsOf, projectFields } from "./cli/result-fields.js";
|
|
3
|
-
import { agentJson as serializeAgentJson } from "./mcp/text.js";
|
|
4
3
|
import { atDetail } from "./output-detail.js";
|
|
5
4
|
/**
|
|
6
5
|
* One place decides the mode, so no command can disagree with another.
|
|
@@ -10,12 +9,12 @@ import { atDetail } from "./output-detail.js";
|
|
|
10
9
|
* instead. In every machine mode **stdout carries JSON and nothing else** — diagnostics are on stderr in all modes, which is what makes
|
|
11
10
|
* that contract hold by construction rather than by remembering.
|
|
12
11
|
*/
|
|
13
|
-
export const resolveOutput = ({ json, jsonl,
|
|
12
|
+
export const resolveOutput = ({ json, jsonl, quiet, streams = processStreams, tty, color, fields, hitDetail, env = process.env, } = {}) => {
|
|
14
13
|
const interactive = tty ?? process.stdout.isTTY === true;
|
|
15
|
-
const format = jsonl ? "jsonl" :
|
|
14
|
+
const format = jsonl ? "jsonl" : json || !interactive ? "json" : "pretty";
|
|
16
15
|
const painted = format === "pretty" && (color ?? (env.NO_COLOR === undefined && env.TERM !== "dumb" && !env.CI));
|
|
17
16
|
const rendered = createRenderer({ format, color: painted, streams });
|
|
18
|
-
// `--fields
|
|
17
|
+
// `--json=<fields>` names exactly what to keep, so it chooses from everything unless a level was asked for too.
|
|
19
18
|
const level = hitDetail ?? (fields === undefined ? "default" : "full");
|
|
20
19
|
const standard = format === "pretty"
|
|
21
20
|
? rendered
|
|
@@ -24,14 +23,7 @@ export const resolveOutput = ({ json, jsonl, agentJson, quiet, streams = process
|
|
|
24
23
|
result: (value) => rendered.result(atDetail(value, level)),
|
|
25
24
|
stream: (items) => rendered.stream(atDetail([...items], level)),
|
|
26
25
|
};
|
|
27
|
-
const
|
|
28
|
-
const created = agentJson
|
|
29
|
-
? {
|
|
30
|
-
...standard,
|
|
31
|
-
result: (value) => standard.result(safe(value)),
|
|
32
|
-
stream: (items) => standard.stream([...items].map(safe)),
|
|
33
|
-
}
|
|
34
|
-
: standard;
|
|
26
|
+
const created = standard;
|
|
35
27
|
const paths = fields === undefined ? undefined : fieldsOf(fields);
|
|
36
28
|
const renderer = format === "pretty"
|
|
37
29
|
? oneLineFields(created)
|
package/dist/output.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EAId,UAAU,GACX,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,6 +198,8 @@ export interface FoundConversation {
|
|
|
198
198
|
};
|
|
199
199
|
/** The best chunk's cosine, −1 to 1; `null` when only words found it. */
|
|
200
200
|
score: number | null;
|
|
201
|
+
/** `context`: the hit is an image, found by the messages around it; its message is `chunk`. */
|
|
202
|
+
matchedIn?: "context";
|
|
201
203
|
by: ("meaning" | "words")[];
|
|
202
204
|
/** The chunk's text changed after it was embedded: the score is for what it said then (NEED-550 B). */
|
|
203
205
|
stale: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAE7C,OAAO,EAAoC,KAAK,SAAS,EAAa,MAAM,yBAAyB,CAAA;AACrG,OAAO,EAAE,KAAK,WAAW,EAAa,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/services/embeddings.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ import { formatLocator, parseLocator } from "../domain/locator.js";
|
|
|
5
5
|
import { defaultThreads, isTextModelInstalled, textModelsDirectory } from "../embeddings/embed.js";
|
|
6
6
|
import { DEFAULT_TEXT_MODEL, meaningFloor, textModel } from "../embeddings/models.js";
|
|
7
7
|
import { remoteKey } from "../embeddings/remote.js";
|
|
8
|
+
import { CONTEXT_MESSAGES, CONTEXT_MINUTES } from "../images/context/index.js";
|
|
9
|
+
import { registeredImageProviders } from "../images/registry.js";
|
|
8
10
|
import { QUERY_LIMITS, searchError } from "../search/lucene/types.js";
|
|
9
11
|
import { threadConversation, } from "../store/store.js";
|
|
10
12
|
import { conversationsService } from "./conversations.js";
|
|
@@ -216,8 +218,62 @@ export const embeddingsService = (deps) => {
|
|
|
216
218
|
left = Math.max(0, left - batch.length);
|
|
217
219
|
progress?.(embedded, left);
|
|
218
220
|
}
|
|
221
|
+
embedded += await embedImages(chatId, target, embedder, check);
|
|
219
222
|
return { chat: chatId, model: target.id, embedded, skipped };
|
|
220
223
|
};
|
|
224
|
+
/**
|
|
225
|
+
* One chunk per image of the chat: the text its first image provider gives it, embedded like a message. The
|
|
226
|
+
* chunk's hash names the provider and its version, so a newer provider describes every image again.
|
|
227
|
+
*/
|
|
228
|
+
const embedImages = async (chatId, target, embedder, check) => {
|
|
229
|
+
const providers = registeredImageProviders();
|
|
230
|
+
if (providers.length === 0)
|
|
231
|
+
return 0;
|
|
232
|
+
const store = await deps.store();
|
|
233
|
+
const account = await deps.account();
|
|
234
|
+
const images = await store.imagesToDescribe(account, chatId, {
|
|
235
|
+
messages: CONTEXT_MESSAGES,
|
|
236
|
+
withinMs: CONTEXT_MINUTES * 60_000,
|
|
237
|
+
});
|
|
238
|
+
const described = [];
|
|
239
|
+
for (const image of images) {
|
|
240
|
+
check?.();
|
|
241
|
+
for (const provider of providers) {
|
|
242
|
+
const { text } = await provider.describe({ kind: image.kind, name: image.name, mime: image.mime, localPath: image.localPath }, {
|
|
243
|
+
chatTitle: image.chatTitle,
|
|
244
|
+
sender: image.sender,
|
|
245
|
+
caption: image.caption,
|
|
246
|
+
sentAt: image.sentAt,
|
|
247
|
+
before: image.before,
|
|
248
|
+
after: image.after,
|
|
249
|
+
});
|
|
250
|
+
if (text?.trim()) {
|
|
251
|
+
described.push({
|
|
252
|
+
attachmentPk: image.attachmentPk,
|
|
253
|
+
hash: chunkHash(`${provider.id}:${provider.version}\n${text}`),
|
|
254
|
+
text,
|
|
255
|
+
occurredAt: image.sentAt,
|
|
256
|
+
});
|
|
257
|
+
break;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
const have = await store.embeddedHashes(target.key, described.map(({ hash }) => hash));
|
|
262
|
+
const missing = [...new Map(described.filter(({ hash }) => !have.has(hash)).map((one) => [one.hash, one])).values()];
|
|
263
|
+
for (let at = 0; at < missing.length; at += PER_REQUEST) {
|
|
264
|
+
const batch = missing.slice(at, at + PER_REQUEST);
|
|
265
|
+
const vectors = await embedder.embed(batch.map(({ text }) => text), "passage");
|
|
266
|
+
check?.();
|
|
267
|
+
await store.saveVectors(target.key, target.dims, batch.map(({ hash }, index) => ({ hash, vector: vectors[index] })));
|
|
268
|
+
}
|
|
269
|
+
await store.saveImageChunks(account, chatId, described.map(({ attachmentPk, hash, text, occurredAt }) => ({
|
|
270
|
+
attachmentPk,
|
|
271
|
+
hash,
|
|
272
|
+
length: text.length,
|
|
273
|
+
occurredAt,
|
|
274
|
+
})), described.map(({ attachmentPk }) => attachmentPk));
|
|
275
|
+
return missing.length;
|
|
276
|
+
};
|
|
221
277
|
return {
|
|
222
278
|
status: async (chat, choice) => {
|
|
223
279
|
const { store, account, chatId } = await found(chat);
|
|
@@ -302,6 +358,19 @@ export const embeddingsService = (deps) => {
|
|
|
302
358
|
for (const hit of hits)
|
|
303
359
|
sources.set(hit.summary.id, one);
|
|
304
360
|
meaning.push(...hits);
|
|
361
|
+
const images = await store.nearestImages(one, {
|
|
362
|
+
...scope,
|
|
363
|
+
...(since === undefined ? {} : { since }),
|
|
364
|
+
model: target.key,
|
|
365
|
+
limit: Math.max(limit, CANDIDATES),
|
|
366
|
+
query: vector,
|
|
367
|
+
});
|
|
368
|
+
for (const hit of images) {
|
|
369
|
+
if (eligibility && !eligibility.conversations.includes(hit.summary.id))
|
|
370
|
+
continue;
|
|
371
|
+
sources.set(hit.summary.id, one);
|
|
372
|
+
meaning.push(hit);
|
|
373
|
+
}
|
|
305
374
|
}
|
|
306
375
|
});
|
|
307
376
|
}
|
|
@@ -484,8 +553,16 @@ const fused = (meaning, words, minimumCosine) => {
|
|
|
484
553
|
const merged = new Map();
|
|
485
554
|
meaning
|
|
486
555
|
.filter(({ score }) => score > minimumCosine)
|
|
487
|
-
.forEach(({ summary, chunk, score, stale }, index) => {
|
|
488
|
-
merged.set(summary.id
|
|
556
|
+
.forEach(({ summary, chunk, score, stale, matchedIn }, index) => {
|
|
557
|
+
merged.set(matchedIn ? `${summary.id}#${chunk.firstMessageId}` : summary.id, {
|
|
558
|
+
summary,
|
|
559
|
+
chunk,
|
|
560
|
+
score,
|
|
561
|
+
by: ["meaning"],
|
|
562
|
+
stale,
|
|
563
|
+
...(matchedIn ? { matchedIn } : {}),
|
|
564
|
+
fused: 1 / (RRF_K + index + 1),
|
|
565
|
+
});
|
|
489
566
|
});
|
|
490
567
|
words.forEach(({ summary, chunk }, index) => {
|
|
491
568
|
const share = 1 / (RRF_K + index + 1);
|