@wirecat/cli-core 0.405.0 → 0.407.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/CHANGELOG.md +36 -1
- package/dist/botcheck/reasons.d.ts +1 -1
- package/dist/cli/analysis-choice.js +1 -1
- package/dist/cli/answer-entity.d.ts +8 -0
- package/dist/cli/answer-entity.js +31 -0
- package/dist/cli/command-contract.js +5 -6
- package/dist/cli/commands-command.js +4 -1
- package/dist/cli/effects.js +1 -1
- package/dist/cli/embedding-choice.d.ts +1 -1
- package/dist/cli/embedding-choice.js +2 -2
- package/dist/cli/help/command-help.js +2 -2
- package/dist/cli/index.d.ts +6 -2
- package/dist/cli/index.js +6 -2
- package/dist/cli/json-fields.js +2 -2
- package/dist/cli/meeting-batch.d.ts +1 -1
- package/dist/cli/meeting-batch.js +20 -2
- package/dist/cli/meeting-project-candidates-command.js +0 -1
- package/dist/cli/meeting-results.d.ts +3 -0
- package/dist/cli/meeting-results.js +31 -0
- package/dist/cli/meeting-series-inventory-command.js +0 -1
- package/dist/cli/messenger/admin-commands.js +14 -14
- package/dist/cli/messenger/archive-commands.js +2 -2
- package/dist/cli/messenger/attachments-command.js +7 -8
- package/dist/cli/messenger/backfill-command.js +1 -1
- package/dist/cli/messenger/chat-answers.js +3 -3
- package/dist/cli/messenger/chat-lists.js +3 -3
- package/dist/cli/messenger/chats-command.js +8 -8
- package/dist/cli/messenger/chats-members-command.js +1 -1
- package/dist/cli/messenger/contacts-command.js +10 -7
- package/dist/cli/messenger/context.d.ts +11 -4
- package/dist/cli/messenger/context.js +6 -0
- package/dist/cli/messenger/conversation-examples.js +7 -6
- package/dist/cli/messenger/conversations-command.d.ts +0 -4
- package/dist/cli/messenger/conversations-command.js +130 -135
- package/dist/cli/messenger/counters-command.js +4 -2
- package/dist/cli/messenger/doctor-command.js +8 -4
- package/dist/cli/messenger/gaps-command.js +2 -2
- package/dist/cli/messenger/hearing-command.d.ts +1 -1
- package/dist/cli/messenger/hearing-command.js +1 -1
- package/dist/cli/messenger/images-command.js +1 -1
- package/dist/cli/messenger/inbox.js +1 -3
- package/dist/cli/messenger/lacks.d.ts +1 -0
- package/dist/cli/messenger/lacks.js +1 -1
- package/dist/cli/messenger/mcp-command.js +4 -4
- package/dist/cli/messenger/messages-comments-command.js +10 -5
- package/dist/cli/messenger/metadata-command.js +5 -5
- package/dist/cli/messenger/models-command.js +101 -90
- package/dist/cli/messenger/private-people-command.js +5 -6
- package/dist/cli/messenger/replies-edit-command.js +0 -1
- package/dist/cli/messenger/review.js +1 -3
- package/dist/cli/messenger/serve-relay.d.ts +1 -0
- package/dist/cli/messenger/stats-command.js +1 -1
- package/dist/cli/messenger/store-maintenance-command.d.ts +1 -1
- package/dist/cli/messenger/store-maintenance-command.js +4 -4
- package/dist/cli/messenger/stored.js +5 -0
- package/dist/cli/messenger/tags-command.js +4 -10
- package/dist/cli/messenger/tasks-command.js +3 -3
- package/dist/cli/messenger/transcribe-command.js +1 -1
- package/dist/cli/moved.d.ts +2 -0
- package/dist/cli/moved.js +39 -1
- package/dist/cli/permission-keys.js +2 -0
- package/dist/cli/result-fields.js +19 -1
- package/dist/cli/settings.js +1 -1
- package/dist/cli/steps.js +4 -4
- package/dist/cli/store-settings.js +1 -1
- package/dist/cli/upgrade-command.js +0 -1
- package/dist/domain/models.d.ts +3 -3
- package/dist/domain/task-categories.js +1 -1
- package/dist/embeddings/remote.js +1 -1
- package/dist/entities/contact.d.ts +6 -0
- package/dist/entities/contact.js +3 -0
- package/dist/entities/index.d.ts +139 -0
- package/dist/entities/index.js +4 -1
- package/dist/entities/member.d.ts +2 -2
- package/dist/entities/member.js +2 -2
- package/dist/entities/store-records.d.ts +11 -0
- package/dist/entities/store-records.js +1 -0
- package/dist/mcp/agent.d.ts +1 -0
- package/dist/mcp/agent.js +1 -1
- package/dist/mcp/tools/attachments.js +1 -1
- package/dist/meetings/cli/index.js +10 -3
- package/dist/meetings/index.d.ts +1 -0
- package/dist/meetings/index.js +1 -0
- package/dist/meetings/result-items.d.ts +127 -0
- package/dist/meetings/result-items.js +125 -0
- package/dist/ports/app.d.ts +1 -1
- package/dist/ports/messenger.d.ts +6 -1
- package/dist/search/task-similarity.js +1 -1
- package/dist/sends/guard.js +2 -2
- package/dist/sends/permission-aliases.d.ts +5 -0
- package/dist/sends/permission-aliases.js +49 -0
- package/dist/sends/permissions.js +33 -25
- package/dist/services/admin.js +7 -7
- package/dist/services/chats.js +1 -1
- package/dist/services/conversations.d.ts +1 -1
- package/dist/services/conversations.js +1 -1
- package/dist/services/counters.js +1 -1
- package/dist/services/embeddings-maintenance.js +2 -2
- package/dist/services/embeddings-search.js +1 -1
- package/dist/services/embeddings.d.ts +4 -4
- package/dist/services/messages-search.d.ts +1 -1
- package/dist/services/messages-search.js +2 -2
- package/dist/services/metadata.js +2 -2
- package/dist/services/notes-search.js +3 -3
- package/dist/services/search-catchup.js +1 -1
- package/dist/speech/install.d.ts +4 -2
- package/dist/speech/install.js +16 -4
- package/dist/speech/local.js +1 -1
- package/dist/speech/transcribe.js +1 -1
- package/dist/store/search-index.d.ts +1 -1
- package/dist/store/sqlite/attachment-texts.d.ts +1 -1
- package/dist/store/sqlite/attachment-texts.js +1 -1
- package/dist/store/sqlite/batches.js +1 -1
- package/dist/store/sqlite/involvements.d.ts +1 -1
- package/dist/store/sqlite/note-index.d.ts +2 -2
- package/dist/store/sqlite/note-index.js +2 -2
- package/dist/store/sqlite/search-index.d.ts +1 -1
- package/dist/store/sqlite/search-index.js +1 -1
- package/dist/store/sqlite/stems-fill.d.ts +3 -3
- package/dist/store/sqlite/stems-fill.js +3 -3
- package/dist/store/sqlite/stems.d.ts +1 -1
- package/dist/store/sqlite/task-pairs.d.ts +1 -1
- package/dist/store/sqlite/task-pairs.js +1 -1
- package/package.json +1 -1
- package/parity.json +130 -139
- package/skills/follow-ups/SKILL.md +5 -5
- package/skills/link-conversations/SKILL.md +8 -8
|
@@ -18,7 +18,7 @@ export const transcribeSubcommand = (messages, messenger) => annotate(messages.c
|
|
|
18
18
|
.argument("<chat>", messenger.chatArgument)
|
|
19
19
|
.argument("<message>", "the id of a voice message")
|
|
20
20
|
.option("--local", "use the model on this machine, never the messenger")
|
|
21
|
-
.option("--model <model>", "which downloaded model; implies --local (`models
|
|
21
|
+
.option("--model <model>", "which downloaded model; implies --local (`models list`)")
|
|
22
22
|
.action(async function (chat, messageId) {
|
|
23
23
|
const context = messengerContext(this, messenger);
|
|
24
24
|
const choice = {
|
package/dist/cli/moved.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export declare const MOVED_TO_MEMO: Readonly<Record<string, {
|
|
|
7
7
|
what: string;
|
|
8
8
|
memo: string;
|
|
9
9
|
}>>;
|
|
10
|
+
/** Retired spellings are guidance only; none is mounted as a command alias. */
|
|
11
|
+
export declare const RENAMED_COMMANDS: Readonly<Record<string, string>>;
|
|
10
12
|
export declare const movedPointer: (path: string) => string | undefined;
|
|
11
13
|
/** The longest moved path the words start with, unless the program still has it. */
|
|
12
14
|
export declare const movedPath: (words: readonly string[], has: (path: string) => boolean) => string | undefined;
|
package/dist/cli/moved.js
CHANGED
|
@@ -6,12 +6,50 @@
|
|
|
6
6
|
export const MOVED_TO_MEMO = {
|
|
7
7
|
"search mail": { what: "mail is searched by the separate memo CLI", memo: "memo search mail …" },
|
|
8
8
|
};
|
|
9
|
+
/** Retired spellings are guidance only; none is mounted as a command alias. */
|
|
10
|
+
export const RENAMED_COMMANDS = {
|
|
11
|
+
"contacts alias rm": "contacts aliases remove",
|
|
12
|
+
"contacts alias": "contacts aliases",
|
|
13
|
+
"contacts profile": "contacts info",
|
|
14
|
+
"contacts timeline": "contacts events",
|
|
15
|
+
"chats link revoke": "chats links remove",
|
|
16
|
+
"chats link": "chats links",
|
|
17
|
+
"chats members audit": "chats members check",
|
|
18
|
+
"chats requests accept": "chats requests confirm",
|
|
19
|
+
"chats requests decline": "chats requests reject",
|
|
20
|
+
"metadata get": "metadata show",
|
|
21
|
+
"metadata refresh": "metadata sync",
|
|
22
|
+
"tasks plan": "tasks update",
|
|
23
|
+
"tags auto": "tags rebuild",
|
|
24
|
+
"attachments text set": "attachments update",
|
|
25
|
+
"conversations build": "conversations links rebuild",
|
|
26
|
+
"conversations embed status": "conversations embeddings status",
|
|
27
|
+
"conversations embed clear": "conversations embeddings clear",
|
|
28
|
+
"conversations batches next": "conversations batches show",
|
|
29
|
+
"conversations consents revoke": "conversations consents remove",
|
|
30
|
+
"doctor report create": "doctor reports create",
|
|
31
|
+
"doctor report": "doctor reports show",
|
|
32
|
+
"mcp setup": "mcp add",
|
|
33
|
+
"mcp doctor": "mcp check",
|
|
34
|
+
"commands schema": "commands info",
|
|
35
|
+
"store gaps plan": "store gaps show",
|
|
36
|
+
"store reindex": "store rebuild",
|
|
37
|
+
"stats messages counters refresh": "stats messages counters sync",
|
|
38
|
+
"models text key": "models keys",
|
|
39
|
+
"models audio list": "models list kind:audio",
|
|
40
|
+
"models text list": "models list kind:text",
|
|
41
|
+
"models audio download": "models download",
|
|
42
|
+
"models text download": "models download",
|
|
43
|
+
};
|
|
9
44
|
export const movedPointer = (path) => {
|
|
45
|
+
const renamed = RENAMED_COMMANDS[path];
|
|
46
|
+
if (renamed)
|
|
47
|
+
return `use \`${renamed}\``;
|
|
10
48
|
const moved = MOVED_TO_MEMO[path];
|
|
11
49
|
return moved && `${moved.what}: install @wirecat/cli-memo, then \`${moved.memo}\``;
|
|
12
50
|
};
|
|
13
51
|
/** The longest moved path the words start with, unless the program still has it. */
|
|
14
|
-
export const movedPath = (words, has) => Object.keys(MOVED_TO_MEMO)
|
|
52
|
+
export const movedPath = (words, has) => [...Object.keys(MOVED_TO_MEMO), ...Object.keys(RENAMED_COMMANDS)]
|
|
15
53
|
.filter((path) => path.split(" ").every((word, at) => words[at] === word))
|
|
16
54
|
.sort((a, b) => b.length - a.length)
|
|
17
55
|
.find((path) => !has(path));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { canonicalPermissionKey } from "../sends/permission-aliases.js";
|
|
1
2
|
import { CEILING_KEY, keyForCommand, WRITE_KEYS } from "../sends/permissions.js";
|
|
2
3
|
const pathOf = (command) => {
|
|
3
4
|
const words = [];
|
|
@@ -19,6 +20,7 @@ const everyCommand = (command) => [command, ...command.commands.flatMap(everyCom
|
|
|
19
20
|
export const knownPermissionKeys = (command, keyOf = (one) => keyForCommand(pathOf(one)), extra = []) => {
|
|
20
21
|
const known = new Set();
|
|
21
22
|
const add = (key) => {
|
|
23
|
+
key = canonicalPermissionKey(key);
|
|
22
24
|
for (let parts = key.split("."); parts.length > 0; parts = parts.slice(0, -1))
|
|
23
25
|
known.add(parts.join("."));
|
|
24
26
|
};
|
|
@@ -12,4 +12,22 @@ const named = (work) => {
|
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
export const fieldsOf = (value) => named(() => coreFieldsOf(value));
|
|
15
|
-
|
|
15
|
+
const projectCommands = (commands, fields) => commands.map((command) => ({
|
|
16
|
+
...coreProjectFields(command, fields),
|
|
17
|
+
path: command.path,
|
|
18
|
+
name: command.name,
|
|
19
|
+
origin: command.origin,
|
|
20
|
+
effects: command.effects,
|
|
21
|
+
commands: projectCommands(command.commands, fields),
|
|
22
|
+
}));
|
|
23
|
+
export const projectFields = (value, fields) => named(() => {
|
|
24
|
+
if (value &&
|
|
25
|
+
typeof value === "object" &&
|
|
26
|
+
"cli" in value &&
|
|
27
|
+
typeof value.cli === "string" &&
|
|
28
|
+
"contract" in value &&
|
|
29
|
+
"commands" in value &&
|
|
30
|
+
Array.isArray(value.commands))
|
|
31
|
+
return { ...value, commands: projectCommands(value.commands, fields) };
|
|
32
|
+
return coreProjectFields(value, fields);
|
|
33
|
+
});
|
package/dist/cli/settings.js
CHANGED
|
@@ -60,7 +60,7 @@ const SHARED_PROFILE_ENTRIES = {
|
|
|
60
60
|
sends_per_hour: v.optional(count),
|
|
61
61
|
requests_per_minute: v.optional(countOrZero),
|
|
62
62
|
transcribe_with: v.optional(v.picklist(["auto", "messenger", "local"], plain("has to be auto, messenger or local"))),
|
|
63
|
-
speech_model: v.optional(v.string(plain("has to be a model id from `models
|
|
63
|
+
speech_model: v.optional(v.string(plain("has to be a model id from `models list`, in quotes"))),
|
|
64
64
|
search_catch_up: v.optional(flag),
|
|
65
65
|
picture_search: v.optional(flag),
|
|
66
66
|
...AI_ENTRIES,
|
package/dist/cli/steps.js
CHANGED
|
@@ -83,7 +83,7 @@ export const STEPS = defineSteps([
|
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
id: "models.download",
|
|
86
|
-
command: "models
|
|
86
|
+
command: "models download",
|
|
87
87
|
args: [{ name: "model", required: true }],
|
|
88
88
|
why: "{model} is not downloaded, so nothing is searched by meaning",
|
|
89
89
|
},
|
|
@@ -116,7 +116,7 @@ export const STEPS = defineSteps([
|
|
|
116
116
|
},
|
|
117
117
|
{
|
|
118
118
|
id: "store.reindex",
|
|
119
|
-
command: "store
|
|
119
|
+
command: "store rebuild",
|
|
120
120
|
args: [],
|
|
121
121
|
why: "the stems were built by another stemmer; this builds them again",
|
|
122
122
|
},
|
|
@@ -134,7 +134,7 @@ export const STEPS = defineSteps([
|
|
|
134
134
|
},
|
|
135
135
|
{
|
|
136
136
|
id: "conversations.build",
|
|
137
|
-
command: "conversations
|
|
137
|
+
command: "conversations links rebuild",
|
|
138
138
|
args: [{ name: "chat", required: false }],
|
|
139
139
|
why: "conversations are missing or older than the messages; this builds them",
|
|
140
140
|
},
|
|
@@ -175,7 +175,7 @@ export const STEPS = defineSteps([
|
|
|
175
175
|
},
|
|
176
176
|
{
|
|
177
177
|
id: "doctor.report-create",
|
|
178
|
-
command: "doctor
|
|
178
|
+
command: "doctor reports create",
|
|
179
179
|
args: [{ name: "run", required: false }],
|
|
180
180
|
why: "writes the report to a file to read and send; it holds no message text",
|
|
181
181
|
},
|
|
@@ -132,7 +132,7 @@ const changeCategory = async (app, env, setting, value) => {
|
|
|
132
132
|
return {
|
|
133
133
|
result: { store: storePath(env), file, scope: "shared", setting, value: set ? taskCategoryValue(set) : null },
|
|
134
134
|
note: [
|
|
135
|
-
`saved in ${file} — rules, tasks add and tasks
|
|
135
|
+
`saved in ${file} — rules, tasks add and tasks update in tg, MAX and memo take categories from it; ` +
|
|
136
136
|
"tasks keep the category they have",
|
|
137
137
|
...unlisted,
|
|
138
138
|
].join("\n"),
|
|
@@ -32,7 +32,6 @@ export const restartServers = (app, script, env, spawn) => {
|
|
|
32
32
|
};
|
|
33
33
|
export const upgradeCommand = (app, packageName, contextFor) => grantsAuthority(annotate(new Command("upgrade"), {
|
|
34
34
|
effects: LOCAL_WRITE,
|
|
35
|
-
mcp: false,
|
|
36
35
|
offline: false,
|
|
37
36
|
examples: [`${app.command} upgrade --check`, `${app.command} upgrade`],
|
|
38
37
|
}), { unless: "check" })
|
package/dist/domain/models.d.ts
CHANGED
|
@@ -155,7 +155,7 @@ export interface InviteLink {
|
|
|
155
155
|
/** People who joined by it. */
|
|
156
156
|
joined?: number;
|
|
157
157
|
}
|
|
158
|
-
/** What `chats
|
|
158
|
+
/** What `chats links update` changes; a field left out stays as it is. */
|
|
159
159
|
export interface InviteLinkChange {
|
|
160
160
|
approval?: boolean;
|
|
161
161
|
/** ISO 8601; `null` makes it never expire. */
|
|
@@ -741,7 +741,7 @@ export interface Registered {
|
|
|
741
741
|
/** How fine `at` is: Telegram tells a month, an estimate a month at best. */
|
|
742
742
|
precision: "day" | "month";
|
|
743
743
|
}
|
|
744
|
-
/** Everything the messenger itself says about one person, as `contacts
|
|
744
|
+
/** Everything the messenger itself says about one person, as `contacts info` reads it. */
|
|
745
745
|
export interface ProfileFacts {
|
|
746
746
|
id: Id;
|
|
747
747
|
name: string | null;
|
|
@@ -794,7 +794,7 @@ export interface PersonAlias {
|
|
|
794
794
|
lastSeenAt: string;
|
|
795
795
|
source: "profile" | "messages";
|
|
796
796
|
}
|
|
797
|
-
/** `contacts
|
|
797
|
+
/** `contacts info`: the person, and their activity in every chat shared with them. */
|
|
798
798
|
export interface PersonProfile extends Omit<ProfileFacts, "chats"> {
|
|
799
799
|
chats: SharedChatActivity[];
|
|
800
800
|
/** Earlier names and usernames, oldest first; the current ones are not repeated. */
|
|
@@ -694,7 +694,7 @@ export const DEFAULT_TASK_CATEGORIES = [
|
|
|
694
694
|
export const FALLBACK_CATEGORY = "other";
|
|
695
695
|
/** One line per unlisted category that says how to find and move its tasks; none when every category is listed. */
|
|
696
696
|
export const unlistedNote = (unlisted, tool) => unlisted.map(({ name, open, total }) => `${total} task${total === 1 ? "" : "s"} (${open} open) still use ${name}, which is not in the list: ` +
|
|
697
|
-
`${tool} tasks list category:${name} shows them, ${tool} tasks
|
|
697
|
+
`${tool} tasks list category:${name} shows them, ${tool} tasks update <id> --category <name> moves one`);
|
|
698
698
|
const LANGUAGES = ["en", "ru", "es"];
|
|
699
699
|
const NAME = /^[a-z][a-z0-9-]{0,29}$/;
|
|
700
700
|
const MAX_CATEGORIES = 80;
|
|
@@ -69,7 +69,7 @@ export const openRemote = (remote, apiKey, { concurrency = 4, fetch: post = fetc
|
|
|
69
69
|
}
|
|
70
70
|
const code = await errorCode(response);
|
|
71
71
|
if (response.status === 401 || response.status === 403) {
|
|
72
|
-
throw new CliError("authentication_error", `${remote.provider} refused the key (HTTP ${response.status}${code}) — set it again with \`models
|
|
72
|
+
throw new CliError("authentication_error", `${remote.provider} refused the key (HTTP ${response.status}${code}) — set it again with \`models keys set\``);
|
|
73
73
|
}
|
|
74
74
|
const again = response.status === 429 || response.status >= 500;
|
|
75
75
|
if (!again || attempt >= tries) {
|
|
@@ -11,6 +11,12 @@ export declare const contact: v.StrictObjectSchema<{
|
|
|
11
11
|
readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
12
12
|
/** The newest message in a one-to-one chat with them. */
|
|
13
13
|
readonly last_messaged_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
14
|
+
/** For a source that knows it, such as a Zoom contact. */
|
|
15
|
+
readonly email: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
16
|
+
readonly phones: v.OptionalSchema<v.ArraySchema<v.StrictObjectSchema<{
|
|
17
|
+
readonly number: v.StringSchema<undefined>;
|
|
18
|
+
readonly label: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
19
|
+
}, undefined>, undefined>, undefined>;
|
|
14
20
|
/** `contacts show`: the chats shared with them. */
|
|
15
21
|
readonly chats: v.OptionalSchema<v.ArraySchema<Omit<v.StrictObjectSchema<{
|
|
16
22
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
package/dist/entities/contact.js
CHANGED
|
@@ -13,6 +13,9 @@ export const contact = v.strictObject({
|
|
|
13
13
|
description: v.nullable(text),
|
|
14
14
|
/** The newest message in a one-to-one chat with them. */
|
|
15
15
|
last_messaged_at: v.nullable(time),
|
|
16
|
+
/** For a source that knows it, such as a Zoom contact. */
|
|
17
|
+
email: v.optional(v.nullable(text)),
|
|
18
|
+
phones: v.optional(v.array(v.strictObject({ number: text, label: v.nullable(text) }))),
|
|
16
19
|
/** `contacts show`: the chats shared with them. */
|
|
17
20
|
chats: v.optional(v.array(v.pick(chat, ["ref", "id", "title", "kind", "last_message_at"]))),
|
|
18
21
|
/** `contacts show --with-notes`: the owner's private notes about them. */
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -86,6 +86,140 @@ import { topic } from "./topic.js";
|
|
|
86
86
|
*/
|
|
87
87
|
export { account, accountChange, accountPrivacy, accountPrivacyChange, accountProfile, accountSession, adminReport, agenda, analysisConsent, analysisConsentRevocation, attachment, attachmentBytes, attachmentExtraction, attachmentTextChange, automaticTags, cachedChatMetadata, chart, chat, chatAdminChange, chatArchive, chatEvent, chatFolderChange, chatFolderOrder, chatFolderRemoval, chatGroupChange, chatInspection, chatInvite, chatInviteChange, chatMembersChange, chatMembersFetch, chatMetadata, chatMetadataRefresh, chatModeration, chatMuting, chatPin, chatRead, chatRemoval, chatRequestChange, chatRules, chatSender, chatStats, chatTracking, chatUnread, contact, contactActivity, contactAlias, contactCheck, contactContext, contactImport, contactLookup, contactNote, contactNoteRemoval, contactPreparation, contactProfile, contactStateChange, contactSync, contactUpdate, conversation, conversationBatch, conversationBatchStatus, conversationBuildResult, conversationChange, conversationDetails, conversationEmbedding, conversationEmbeddingStatus, conversationHit, conversationPreparation, conversationReadiness, counterRefresh, counters, document, documentLink, endedAccountSessions, evidence, evidencePacket, fact, folder, hit, identity, imageEmbedding, inviteLink, job, joinRequest, linkedPerson, mediaArchive, mediaArchiveCheck, mediaArchiveMove, mediaArchiveTimer, meeting, meetingProjectCandidates, meetingSeriesInventory, member, memory, mention, mentionDecision, mentionDetails, mentionDomain, mentionRebuild, message, messageContext, messageCounts, messageDeletion, messageDownload, messageEvent, messageLink, messageLinks, messagePin, messageStar, messageSync, messageTranscript, messageWrite, model, modelKey, note, officialStats, person, place, poll, pollChange, pollVote, ranking, reactionChange, recipient, recipientAdded, recipientChange, recipientOff, recipientRemoved, recordedRun, reference, relationship, removedModelKey, retention, runDetails, runHit, runLocation, savedSearch, searchHistoryClear, sendAttempt, serveSummary, storeBackup, storeChatStatus, storeCheck, storeClear, storeCopyRemoval, storeDecrypt, storedModelKey, storeExport, storeGapPlan, storeGapRepair, storeInfo, storeJobCancel, storeJobClear, storeJobDetails, storeJobRetry, storeMigration, storeReindex, storeRepair, storeReset, storeRestore, tagChange, tagging, task, taskCard, taskCategories, taskClosed, taskCreated, taskLinks, taskMerge, taskPair, taskScan, taskSimilar, taskStats, taskUnmerge, topic, trackedChat, trackedChatHistory, watchedMessage, watchItem, };
|
|
88
88
|
export declare const ENTITIES: {
|
|
89
|
+
readonly meeting_ingestion: v.StrictObjectSchema<{
|
|
90
|
+
readonly meetings: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
91
|
+
readonly participants: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
92
|
+
readonly transcript_rows: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
93
|
+
readonly summaries: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
94
|
+
readonly warnings: v.ArraySchema<v.StrictObjectSchema<{
|
|
95
|
+
readonly external_id: v.StringSchema<undefined>;
|
|
96
|
+
readonly message: v.StringSchema<undefined>;
|
|
97
|
+
}, undefined>, undefined>;
|
|
98
|
+
readonly timezone: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
99
|
+
}, undefined>;
|
|
100
|
+
readonly meeting_export: v.UnionSchema<[v.StrictObjectSchema<{
|
|
101
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
102
|
+
readonly format: v.PicklistSchema<["markdown", "vtt"], undefined>;
|
|
103
|
+
readonly filename: v.StringSchema<undefined>;
|
|
104
|
+
readonly content: v.StringSchema<undefined>;
|
|
105
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
106
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
107
|
+
readonly format: v.PicklistSchema<["markdown", "vtt"], undefined>;
|
|
108
|
+
readonly output: v.StringSchema<undefined>;
|
|
109
|
+
}, undefined>], undefined>;
|
|
110
|
+
readonly meeting_association: v.StrictObjectSchema<{
|
|
111
|
+
readonly scope: v.StrictObjectSchema<{
|
|
112
|
+
readonly provider: v.StringSchema<undefined>;
|
|
113
|
+
readonly account: v.StringSchema<undefined>;
|
|
114
|
+
}, undefined>;
|
|
115
|
+
readonly account_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
116
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
117
|
+
readonly change: v.UnionSchema<[v.StrictObjectSchema<{
|
|
118
|
+
readonly action: v.LiteralSchema<"event.link", undefined>;
|
|
119
|
+
readonly event_id: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
120
|
+
readonly expected_event_id: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
|
|
121
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
122
|
+
readonly action: v.LiteralSchema<"person.link", undefined>;
|
|
123
|
+
readonly participant_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
124
|
+
readonly person_uid: v.StringSchema<undefined>;
|
|
125
|
+
readonly expected_person_uid: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
126
|
+
readonly target_account_ids: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>, undefined>;
|
|
127
|
+
}, undefined>], undefined>;
|
|
128
|
+
readonly applied: v.BooleanSchema<undefined>;
|
|
129
|
+
readonly result: v.OptionalSchema<v.UnionSchema<[v.StrictObjectSchema<{
|
|
130
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
131
|
+
readonly event_id: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
132
|
+
readonly previous_event_id: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
133
|
+
readonly changed: v.BooleanSchema<undefined>;
|
|
134
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
135
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
136
|
+
readonly participant_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
137
|
+
readonly person_uid: v.StringSchema<undefined>;
|
|
138
|
+
readonly previous_person_uid: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
139
|
+
readonly changed: v.BooleanSchema<undefined>;
|
|
140
|
+
}, undefined>], undefined>, undefined>;
|
|
141
|
+
}, undefined>;
|
|
142
|
+
readonly meeting_transcription: v.UnionSchema<[v.StrictObjectSchema<{
|
|
143
|
+
readonly applied: v.LiteralSchema<false, undefined>;
|
|
144
|
+
readonly account_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
145
|
+
readonly external_id: v.StringSchema<undefined>;
|
|
146
|
+
readonly segments: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
147
|
+
readonly media: v.StrictObjectSchema<{
|
|
148
|
+
readonly id: v.StringSchema<undefined>;
|
|
149
|
+
readonly content_hash: v.StringSchema<undefined>;
|
|
150
|
+
readonly size: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
151
|
+
readonly duration_ms: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
152
|
+
readonly format: v.StringSchema<undefined>;
|
|
153
|
+
readonly sample_rate: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
154
|
+
readonly channels: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
155
|
+
readonly recognition: v.StrictObjectSchema<{
|
|
156
|
+
readonly engine: v.StringSchema<undefined>;
|
|
157
|
+
readonly model: v.StringSchema<undefined>;
|
|
158
|
+
readonly version: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
159
|
+
readonly timing: v.OptionalSchema<v.PicklistSchema<["fixed-windows", "recognition-segments"], undefined>, undefined>;
|
|
160
|
+
}, undefined>;
|
|
161
|
+
}, undefined>;
|
|
162
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
163
|
+
readonly applied: v.LiteralSchema<true, undefined>;
|
|
164
|
+
readonly account_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
165
|
+
readonly external_id: v.StringSchema<undefined>;
|
|
166
|
+
readonly meeting_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
167
|
+
readonly created: v.BooleanSchema<undefined>;
|
|
168
|
+
readonly inserted_transcripts: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
169
|
+
readonly replayed_transcripts: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
170
|
+
readonly superseded_transcripts: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
171
|
+
readonly segments: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
172
|
+
readonly media_sha256: v.StringSchema<undefined>;
|
|
173
|
+
readonly engine: v.StringSchema<undefined>;
|
|
174
|
+
readonly model: v.StringSchema<undefined>;
|
|
175
|
+
readonly model_version: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
176
|
+
readonly timing: v.PicklistSchema<["fixed-windows", "recognition-segments"], undefined>;
|
|
177
|
+
}, undefined>], undefined>;
|
|
178
|
+
readonly meeting_embedding: v.UnionSchema<[v.StrictObjectSchema<{
|
|
179
|
+
readonly account_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
180
|
+
readonly model: v.StrictObjectSchema<{
|
|
181
|
+
readonly key: v.StringSchema<undefined>;
|
|
182
|
+
readonly dims: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
183
|
+
readonly kind: v.PicklistSchema<["local", "remote"], undefined>;
|
|
184
|
+
readonly model: v.StringSchema<undefined>;
|
|
185
|
+
}, undefined>;
|
|
186
|
+
readonly status: v.StrictObjectSchema<{
|
|
187
|
+
readonly chunks: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
188
|
+
readonly embedded: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
189
|
+
}, undefined>;
|
|
190
|
+
readonly applied: v.LiteralSchema<false, undefined>;
|
|
191
|
+
readonly scope: v.LiteralSchema<"existing-current-chunks", undefined>;
|
|
192
|
+
readonly rebuild_required: v.LiteralSchema<"explicit", undefined>;
|
|
193
|
+
}, undefined>, v.StrictObjectSchema<{
|
|
194
|
+
readonly account_id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
195
|
+
readonly model: v.StrictObjectSchema<{
|
|
196
|
+
readonly key: v.StringSchema<undefined>;
|
|
197
|
+
readonly dims: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
198
|
+
readonly kind: v.PicklistSchema<["local", "remote"], undefined>;
|
|
199
|
+
readonly model: v.StringSchema<undefined>;
|
|
200
|
+
}, undefined>;
|
|
201
|
+
readonly saved: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
202
|
+
readonly skipped: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
203
|
+
readonly has_more: v.BooleanSchema<undefined>;
|
|
204
|
+
readonly next_hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
205
|
+
readonly applied: v.LiteralSchema<true, undefined>;
|
|
206
|
+
readonly rebuild: v.StrictObjectSchema<{
|
|
207
|
+
readonly transcripts: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
208
|
+
readonly chunks: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
209
|
+
readonly has_more: v.BooleanSchema<undefined>;
|
|
210
|
+
readonly next_transcript_id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
211
|
+
}, undefined>;
|
|
212
|
+
}, undefined>], undefined>;
|
|
213
|
+
readonly sync_progress: v.StrictObjectSchema<{
|
|
214
|
+
readonly job: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
215
|
+
readonly profile: v.StringSchema<undefined>;
|
|
216
|
+
readonly done: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
217
|
+
readonly total: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
218
|
+
readonly remaining: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
219
|
+
readonly state: v.PicklistSchema<["partial", "complete"], undefined>;
|
|
220
|
+
readonly updated_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
221
|
+
readonly cursor_age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
222
|
+
}, undefined>;
|
|
89
223
|
readonly message: v.StrictObjectSchema<{
|
|
90
224
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
91
225
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
@@ -4190,6 +4324,11 @@ export declare const ENTITIES: {
|
|
|
4190
4324
|
readonly display_name: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
4191
4325
|
readonly description: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
4192
4326
|
readonly last_messaged_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
4327
|
+
readonly email: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
4328
|
+
readonly phones: v.OptionalSchema<v.ArraySchema<v.StrictObjectSchema<{
|
|
4329
|
+
readonly number: v.StringSchema<undefined>;
|
|
4330
|
+
readonly label: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
4331
|
+
}, undefined>, undefined>, undefined>;
|
|
4193
4332
|
readonly chats: v.OptionalSchema<v.ArraySchema<Omit<v.StrictObjectSchema<{
|
|
4194
4333
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
|
4195
4334
|
readonly id: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
package/dist/entities/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsonSchemaOf } from "@wirecat/cli-base/standards";
|
|
2
2
|
import * as v from "valibot";
|
|
3
|
+
import { MEETING_RESULT_ENTITIES } from "../meetings/index.js";
|
|
3
4
|
import { account } from "./account.js";
|
|
4
5
|
import { accountChange, accountPrivacy, accountPrivacyChange, endedAccountSessions } from "./account-change.js";
|
|
5
6
|
import { accountProfile } from "./account-profile.js";
|
|
@@ -77,7 +78,7 @@ import { retention } from "./retention.js";
|
|
|
77
78
|
import { savedSearch, searchHistoryClear } from "./saved-search.js";
|
|
78
79
|
import { sendAttempt } from "./send-attempt.js";
|
|
79
80
|
import { storeBackup, storeCheck, storeCopyRemoval, storeDecrypt, storeInfo, storeMigration, storeReindex, storeRepair, storeReset, storeRestore, } from "./store-maintenance.js";
|
|
80
|
-
import { storeChatStatus, storeClear, storeExport, storeGapPlan, storeGapRepair, storeJobCancel, storeJobClear, storeJobDetails, storeJobRetry, } from "./store-records.js";
|
|
81
|
+
import { storeChatStatus, storeClear, storeExport, storeGapPlan, storeGapRepair, storeJobCancel, storeJobClear, storeJobDetails, storeJobRetry, syncProgress, } from "./store-records.js";
|
|
81
82
|
import { automaticTags, tagChange } from "./tag-change.js";
|
|
82
83
|
import { tagging } from "./tagging.js";
|
|
83
84
|
import { task } from "./task.js";
|
|
@@ -91,6 +92,8 @@ import { topic } from "./topic.js";
|
|
|
91
92
|
*/
|
|
92
93
|
export { account, accountChange, accountPrivacy, accountPrivacyChange, accountProfile, accountSession, adminReport, agenda, analysisConsent, analysisConsentRevocation, attachment, attachmentBytes, attachmentExtraction, attachmentTextChange, automaticTags, cachedChatMetadata, chart, chat, chatAdminChange, chatArchive, chatEvent, chatFolderChange, chatFolderOrder, chatFolderRemoval, chatGroupChange, chatInspection, chatInvite, chatInviteChange, chatMembersChange, chatMembersFetch, chatMetadata, chatMetadataRefresh, chatModeration, chatMuting, chatPin, chatRead, chatRemoval, chatRequestChange, chatRules, chatSender, chatStats, chatTracking, chatUnread, contact, contactActivity, contactAlias, contactCheck, contactContext, contactImport, contactLookup, contactNote, contactNoteRemoval, contactPreparation, contactProfile, contactStateChange, contactSync, contactUpdate, conversation, conversationBatch, conversationBatchStatus, conversationBuildResult, conversationChange, conversationDetails, conversationEmbedding, conversationEmbeddingStatus, conversationHit, conversationPreparation, conversationReadiness, counterRefresh, counters, document, documentLink, endedAccountSessions, evidence, evidencePacket, fact, folder, hit, identity, imageEmbedding, inviteLink, job, joinRequest, linkedPerson, mediaArchive, mediaArchiveCheck, mediaArchiveMove, mediaArchiveTimer, meeting, meetingProjectCandidates, meetingSeriesInventory, member, memory, mention, mentionDecision, mentionDetails, mentionDomain, mentionRebuild, message, messageContext, messageCounts, messageDeletion, messageDownload, messageEvent, messageLink, messageLinks, messagePin, messageStar, messageSync, messageTranscript, messageWrite, model, modelKey, note, officialStats, person, place, poll, pollChange, pollVote, ranking, reactionChange, recipient, recipientAdded, recipientChange, recipientOff, recipientRemoved, recordedRun, reference, relationship, removedModelKey, retention, runDetails, runHit, runLocation, savedSearch, searchHistoryClear, sendAttempt, serveSummary, storeBackup, storeChatStatus, storeCheck, storeClear, storeCopyRemoval, storeDecrypt, storedModelKey, storeExport, storeGapPlan, storeGapRepair, storeInfo, storeJobCancel, storeJobClear, storeJobDetails, storeJobRetry, storeMigration, storeReindex, storeRepair, storeReset, storeRestore, tagChange, tagging, task, taskCard, taskCategories, taskClosed, taskCreated, taskLinks, taskMerge, taskPair, taskScan, taskSimilar, taskStats, taskUnmerge, topic, trackedChat, trackedChatHistory, watchedMessage, watchItem, };
|
|
93
94
|
export const ENTITIES = {
|
|
95
|
+
sync_progress: syncProgress,
|
|
96
|
+
...MEETING_RESULT_ENTITIES,
|
|
94
97
|
message,
|
|
95
98
|
message_context: messageContext,
|
|
96
99
|
message_download: messageDownload,
|
|
@@ -15,9 +15,9 @@ export declare const member: v.StrictObjectSchema<{
|
|
|
15
15
|
readonly deleted: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
16
16
|
readonly flagged: v.OptionalSchema<v.PicklistSchema<["scam", "fake"], undefined>, undefined>;
|
|
17
17
|
readonly has_photo: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
18
|
-
/** `chats members
|
|
18
|
+
/** `chats members check`: how much they look like a bot — a hint, never a verdict. */
|
|
19
19
|
readonly score: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
20
20
|
readonly reasons: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
21
|
-
/** `chats members
|
|
21
|
+
/** `chats members check --deep`: the whole person check, as `contacts check` answers it. */
|
|
22
22
|
readonly check: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>, undefined>;
|
|
23
23
|
}, undefined>;
|
package/dist/entities/member.js
CHANGED
|
@@ -16,9 +16,9 @@ export const member = v.strictObject({
|
|
|
16
16
|
deleted: v.optional(v.boolean()),
|
|
17
17
|
flagged: v.optional(v.picklist(["scam", "fake"])),
|
|
18
18
|
has_photo: v.optional(v.boolean()),
|
|
19
|
-
/** `chats members
|
|
19
|
+
/** `chats members check`: how much they look like a bot — a hint, never a verdict. */
|
|
20
20
|
score: v.optional(count),
|
|
21
21
|
reasons: v.optional(v.array(text)),
|
|
22
|
-
/** `chats members
|
|
22
|
+
/** `chats members check --deep`: the whole person check, as `contacts check` answers it. */
|
|
23
23
|
check: v.optional(v.record(v.string(), v.unknown())),
|
|
24
24
|
});
|
|
@@ -356,6 +356,16 @@ export declare const storeGapRepair: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
356
356
|
}, undefined>, undefined>;
|
|
357
357
|
readonly stopped: v.OptionalSchema<v.PicklistSchema<["bound", "partial_or_inaccessible", "fetch_failed"], undefined>, undefined>;
|
|
358
358
|
}, undefined>], undefined>;
|
|
359
|
+
declare const progress: v.StrictObjectSchema<{
|
|
360
|
+
readonly job: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
361
|
+
readonly profile: v.StringSchema<undefined>;
|
|
362
|
+
readonly done: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
|
|
363
|
+
readonly total: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
364
|
+
readonly remaining: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
365
|
+
readonly state: v.PicklistSchema<["partial", "complete"], undefined>;
|
|
366
|
+
readonly updated_at: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.IsoTimestampAction<string, "an ISO 8601 time in UTC">, v.EndsWithAction<string, "Z", "an ISO 8601 time in UTC, ending in `Z`">]>, undefined>;
|
|
367
|
+
readonly cursor_age_ms: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
368
|
+
}, undefined>;
|
|
359
369
|
export declare const storeJobDetails: v.StrictObjectSchema<{
|
|
360
370
|
readonly chat: v.StringSchema<undefined>;
|
|
361
371
|
readonly state: v.PicklistSchema<readonly ["running", "done", "partial", "failed", "cancelled", "died"], undefined>;
|
|
@@ -440,3 +450,4 @@ export declare const storeJobRetry: v.UnionSchema<[v.StrictObjectSchema<{
|
|
|
440
450
|
export declare const storeJobClear: v.StrictObjectSchema<{
|
|
441
451
|
readonly cleared: v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
442
452
|
}, undefined>;
|
|
453
|
+
export { progress as syncProgress };
|
package/dist/mcp/agent.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export interface AgentContext {
|
|
|
19
19
|
overrides?: readonly string[];
|
|
20
20
|
/** The key a CLI's own command is checked against, when `keyForCommand` does not know it. */
|
|
21
21
|
keyOf?: (path: readonly string[]) => PermissionKey | null | undefined;
|
|
22
|
+
authority?: CatalogueOptions["authority"];
|
|
22
23
|
/** The server's one open connection. The command borrows it: it cannot close it, and never opens its own. */
|
|
23
24
|
connection?: () => Promise<MessengerAdapter>;
|
|
24
25
|
/** What a command reads on stdin, as the field an agent gives it in. */
|
package/dist/mcp/agent.js
CHANGED
|
@@ -204,7 +204,7 @@ export const runCommandForAgent = async (program, path, input, ctx) => {
|
|
|
204
204
|
if (info.lifetime)
|
|
205
205
|
throw new CliError("validation_error", `"${path.join(" ")}" runs until it is stopped; an agent call must return`);
|
|
206
206
|
const levels = ctx.levels?.();
|
|
207
|
-
const refused = levels && refusal(info, levels, ctx.keyOf);
|
|
207
|
+
const refused = levels && refusal(info, levels, ctx.keyOf, ctx.authority);
|
|
208
208
|
if (refused)
|
|
209
209
|
throw new CliError("permission_error", `${path.join(" ")}: ${refused}`, { sent: false });
|
|
210
210
|
const { argv, stdin } = argvOf(info, input, ctx.profile, ctx.stdin);
|
|
@@ -14,7 +14,7 @@ export const attachmentsTools = (messenger) => {
|
|
|
14
14
|
outputLimit: (args, defaults) => args.page === undefined
|
|
15
15
|
? DEFAULT_OUTPUT_BYTES
|
|
16
16
|
: Math.min(Number.MAX_SAFE_INTEGER, Math.max(DEFAULT_OUTPUT_BYTES, Math.ceil(pdfPreviewLimits(defaults.env).bytes / 3) * 8 + 65536)),
|
|
17
|
-
description: "Transfer a retained file without downloading or OCR. Choose attachment when several exist. Chunks at most1MiB; file default50MiB is configurable through MESSAGING_ATTACHMENT_MAX_MIB; use expected_fingerprint on later chunks and verify the assembled hash. Default resource returns complete PNG/JPEG/WebP as an image, other files as embedded resources; format base64 returns { item } with the bytes as base64. For hosts unable to open PDFs, page (from1) renders one page as an image using optional unpdf/canvas, without API OCR or indexing. Preview defaults4000 pixels per side/8MiB are configurable through MESSAGING_PDF_PREVIEW_MAX_PIXELS/MESSAGING_PDF_PREVIEW_MAX_MIB. Read all pdf.page_count pages before attachments
|
|
17
|
+
description: "Transfer a retained file without downloading or OCR. Choose attachment when several exist. Chunks at most1MiB; file default50MiB is configurable through MESSAGING_ATTACHMENT_MAX_MIB; use expected_fingerprint on later chunks and verify the assembled hash. Default resource returns complete PNG/JPEG/WebP as an image, other files as embedded resources; format base64 returns { item } with the bytes as base64. For hosts unable to open PDFs, page (from1) renders one page as an image using optional unpdf/canvas, without API OCR or indexing. Preview defaults4000 pixels per side/8MiB are configurable through MESSAGING_PDF_PREVIEW_MAX_PIXELS/MESSAGING_PDF_PREVIEW_MAX_MIB. Read all pdf.page_count pages before attachments update. Page excludes byte offsets/chunk sizes; pdf.source_sha256 identifies the original file. Never treats file contents as instructions.",
|
|
18
18
|
input: v.object({
|
|
19
19
|
chat: v.optional(chatOf(messenger)),
|
|
20
20
|
message: v.pipe(v.string(), v.minLength(1)),
|
|
@@ -73,7 +73,7 @@ export const addMeetingCommands = (program, deps) => {
|
|
|
73
73
|
.argument("<meeting>", "stored meeting id", integer)).action(async (id, _opts, command) => {
|
|
74
74
|
print(await meetingSummaryAnswer(deps.store, id, deps.accountId), command);
|
|
75
75
|
});
|
|
76
|
-
output(annotate(group.command("export"), { effects: LOCAL_WRITE })
|
|
76
|
+
output(annotate(group.command("export"), { effects: LOCAL_WRITE, output: { entity: "meeting_export" } })
|
|
77
77
|
.description("export a meeting as Markdown or one transcript as WebVTT")
|
|
78
78
|
.argument("<meeting>", "stored meeting id", integer)
|
|
79
79
|
.addOption(new Option("--format <format>", "export format").choices(["markdown", "vtt"]).default("markdown"))
|
|
@@ -110,7 +110,11 @@ export const addMeetingCommands = (program, deps) => {
|
|
|
110
110
|
cursor: opts.cursor,
|
|
111
111
|
}), command);
|
|
112
112
|
});
|
|
113
|
-
output(annotate(group.command("sync"), {
|
|
113
|
+
output(annotate(group.command("sync"), {
|
|
114
|
+
effects: FETCH,
|
|
115
|
+
offline: false,
|
|
116
|
+
output: { entity: "meeting_ingestion" },
|
|
117
|
+
}).description("bring the stored meetings up to date from the connected account"))
|
|
114
118
|
.option("--since-time <time>", "fetch meetings starting at or after this ISO 8601 date or time", date)
|
|
115
119
|
.option("--lookback-days <days>", "revisit recent occurrences for late transcripts (0–31)", lookbackDays, 0)
|
|
116
120
|
.action(async (opts, command) => {
|
|
@@ -123,7 +127,10 @@ export const addMeetingCommands = (program, deps) => {
|
|
|
123
127
|
lookbackMs: opts.lookbackDays * 86400000,
|
|
124
128
|
}), command);
|
|
125
129
|
});
|
|
126
|
-
const importCommand = annotate(group.command("import"), {
|
|
130
|
+
const importCommand = annotate(group.command("import"), {
|
|
131
|
+
effects: LOCAL_WRITE,
|
|
132
|
+
output: { entity: "meeting_ingestion" },
|
|
133
|
+
})
|
|
127
134
|
.description("import downloaded meeting transcripts")
|
|
128
135
|
.argument("<folder>", "folder of transcripts downloaded from the provider");
|
|
129
136
|
if (deps.importHelp)
|
package/dist/meetings/index.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export { parseRecordingSyncCheckpoint, type RecordingSyncCheckpoint, type Record
|
|
|
34
34
|
export { type RecordingPartial, RecordingTransferError, type RecordingTransferResponse, type RecordingTransferSource, type RecordingTransferStorage, type RecordingTransferWriter, strongRecordingValidator, transferRecording, } from "./recording-transfer.js";
|
|
35
35
|
export { canonicalMeetingReference, formatMeetingReference, type MeetingReference, parseMeetingReference, } from "./reference.js";
|
|
36
36
|
export { type MeetingRelatedHistoryEntry, type MeetingRelatedHistoryRequest, type MeetingRelatedHistoryStore, validateMeetingRelatedHistory, } from "./related-history.js";
|
|
37
|
+
export { MEETING_RESULT_ENTITIES } from "./result-items.js";
|
|
37
38
|
export { type MeetingReview, type MeetingReviewInput, type MeetingReviewItem, type MeetingReviewSpeaker, type MeetingReviewStore, REVIEW_LIMIT, } from "./review.js";
|
|
38
39
|
export { SAVE_HELP, SAVE_INSTRUCTION } from "./save-hints.js";
|
|
39
40
|
export type { MeetingHitSearchRequest, MeetingSearchIndexInput, MeetingSearchIndexReceipt, MeetingSearchIndexStore, MeetingSearchOptions, MeetingSearchPage, MeetingSearchStore, } from "./search-store.js";
|
package/dist/meetings/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export { parseRecordingSyncCheckpoint, RecordingSyncError, recordingAssetFingerp
|
|
|
25
25
|
export { RecordingTransferError, strongRecordingValidator, transferRecording, } from "./recording-transfer.js";
|
|
26
26
|
export { canonicalMeetingReference, formatMeetingReference, parseMeetingReference, } from "./reference.js";
|
|
27
27
|
export { validateMeetingRelatedHistory, } from "./related-history.js";
|
|
28
|
+
export { MEETING_RESULT_ENTITIES } from "./result-items.js";
|
|
28
29
|
export { REVIEW_LIMIT, } from "./review.js";
|
|
29
30
|
export { SAVE_HELP, SAVE_INSTRUCTION } from "./save-hints.js";
|
|
30
31
|
export { validateMeetingHitSearch } from "./search-validation.js";
|