@wirecat/zoom-cli 0.56.0 → 0.58.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.
Files changed (147) hide show
  1. package/README.md +1 -1
  2. package/dist/bin/zm.js +35 -5
  3. package/dist/bundle/all-profiles-RS5IWIGR.js +25 -0
  4. package/dist/bundle/answer-policy-R7VZMCGE.js +96 -0
  5. package/dist/bundle/anthropic-5QHQR4WF.js +70 -0
  6. package/dist/bundle/app-server-7LANSZGE.js +232 -0
  7. package/dist/bundle/bun-O6RL6LRQ.js +169 -0
  8. package/dist/bundle/bun-sqlite-PEJM6CS4.js +69 -0
  9. package/dist/bundle/chunk-24DLFGES.js +97 -0
  10. package/dist/bundle/chunk-27P22POE.js +1109 -0
  11. package/dist/bundle/chunk-3SCTDFNO.js +3398 -0
  12. package/dist/bundle/chunk-3SERIWJD.js +36139 -0
  13. package/dist/bundle/chunk-4AURKUDZ.js +60 -0
  14. package/dist/bundle/chunk-4NGLRHWO.js +24 -0
  15. package/dist/bundle/chunk-5D4AEUVA.js +24783 -0
  16. package/dist/bundle/chunk-5DVW77VC.js +789 -0
  17. package/dist/bundle/chunk-6CYLVFXM.js +9 -0
  18. package/dist/bundle/chunk-6FL25KC5.js +264 -0
  19. package/dist/bundle/chunk-7D2CD3E3.js +193 -0
  20. package/dist/bundle/chunk-7GVNQOV6.js +17 -0
  21. package/dist/bundle/chunk-7H3ZRDLW.js +630 -0
  22. package/dist/bundle/chunk-7Z4ANTAK.js +1095 -0
  23. package/dist/bundle/chunk-A6323R5P.js +22 -0
  24. package/dist/bundle/chunk-ADLS6FVG.js +24600 -0
  25. package/dist/bundle/chunk-AIXLOMH4.js +63 -0
  26. package/dist/bundle/chunk-AQDWGJZT.js +188 -0
  27. package/dist/bundle/chunk-B32SF7J3.js +18 -0
  28. package/dist/bundle/chunk-BAQLQIMI.js +1938 -0
  29. package/dist/bundle/chunk-BGILD4CI.js +1109 -0
  30. package/dist/bundle/chunk-BXZ6WSVF.js +100 -0
  31. package/dist/bundle/chunk-CTGI4ES2.js +138 -0
  32. package/dist/bundle/chunk-CVIKKIGE.js +76 -0
  33. package/dist/bundle/chunk-DDYR6DYL.js +78 -0
  34. package/dist/bundle/chunk-DFDN6AUB.js +21 -0
  35. package/dist/bundle/chunk-DP5DX45H.js +151 -0
  36. package/dist/bundle/chunk-DXKVEOSS.js +53 -0
  37. package/dist/bundle/chunk-DXZTLB24.js +120 -0
  38. package/dist/bundle/chunk-G27MRA24.js +82 -0
  39. package/dist/bundle/chunk-HTQTIKWP.js +928 -0
  40. package/dist/bundle/chunk-IYAGQXED.js +433 -0
  41. package/dist/bundle/chunk-K76WFW4I.js +124 -0
  42. package/dist/bundle/chunk-KVHRHBLY.js +884 -0
  43. package/dist/bundle/chunk-L2UIJDWB.js +31 -0
  44. package/dist/bundle/chunk-L3VS3H34.js +482 -0
  45. package/dist/bundle/chunk-MBT7GP7K.js +1970 -0
  46. package/dist/bundle/chunk-MFS52LTZ.js +570 -0
  47. package/dist/bundle/chunk-MMT46EN4.js +29 -0
  48. package/dist/bundle/chunk-MNUTWGSA.js +6094 -0
  49. package/dist/bundle/chunk-N7GAQ27N.js +82 -0
  50. package/dist/bundle/chunk-NDXAZB5Z.js +409 -0
  51. package/dist/bundle/chunk-NOKFJJPA.js +1028 -0
  52. package/dist/bundle/chunk-NW7IMGRR.js +6848 -0
  53. package/dist/bundle/chunk-O5EHUB2V.js +2 -0
  54. package/dist/bundle/chunk-OBZWUNO4.js +160 -0
  55. package/dist/bundle/chunk-PACC5N6T.js +240 -0
  56. package/dist/bundle/chunk-PF25S7L4.js +422 -0
  57. package/dist/bundle/chunk-PKTFZAXG.js +48 -0
  58. package/dist/bundle/chunk-PNBEREOU.js +35626 -0
  59. package/dist/bundle/chunk-POOGFSRA.js +385 -0
  60. package/dist/bundle/chunk-PP3JGQQE.js +3517 -0
  61. package/dist/bundle/chunk-Q2Z3VCM4.js +2 -0
  62. package/dist/bundle/chunk-QCFHL4ES.js +45 -0
  63. package/dist/bundle/chunk-QFGBMS67.js +492 -0
  64. package/dist/bundle/chunk-RUP467ZX.js +948 -0
  65. package/dist/bundle/chunk-RXDIG23Z.js +166 -0
  66. package/dist/bundle/chunk-SIA7HJE2.js +8192 -0
  67. package/dist/bundle/chunk-SL3SXQZ5.js +100 -0
  68. package/dist/bundle/chunk-SV5L36WK.js +19 -0
  69. package/dist/bundle/chunk-T6AAM7UT.js +846 -0
  70. package/dist/bundle/chunk-U6QW67SU.js +18673 -0
  71. package/dist/bundle/chunk-UKR7KH3H.js +288 -0
  72. package/dist/bundle/chunk-UOFOMU3T.js +836 -0
  73. package/dist/bundle/chunk-URO44C5T.js +3570 -0
  74. package/dist/bundle/chunk-UXM7I35J.js +281 -0
  75. package/dist/bundle/chunk-UYJUTZTT.js +73 -0
  76. package/dist/bundle/chunk-VOAVOK4I.js +1146 -0
  77. package/dist/bundle/chunk-VSUY7PDW.js +192 -0
  78. package/dist/bundle/chunk-VYUSEJE4.js +98 -0
  79. package/dist/bundle/chunk-XFCSPOLZ.js +25 -0
  80. package/dist/bundle/chunk-XT7XVPEM.js +538 -0
  81. package/dist/bundle/chunk-Y5E2WNWB.js +35 -0
  82. package/dist/bundle/chunk-YIFIY7ZE.js +58 -0
  83. package/dist/bundle/chunk-YIMI6O7R.js +5292 -0
  84. package/dist/bundle/chunk-YJRMMZI5.js +275 -0
  85. package/dist/bundle/chunk-YSHSCBPM.js +2315 -0
  86. package/dist/bundle/chunk-ZC5UXEIH.js +215 -0
  87. package/dist/bundle/chunk-ZHXIXDH5.js +161 -0
  88. package/dist/bundle/chunk-ZTOAAYFV.js +122 -0
  89. package/dist/bundle/chunk-ZVVMGPBJ.js +50 -0
  90. package/dist/bundle/cli-IQTASP44.js +831 -0
  91. package/dist/bundle/command-contract-WHZPF7NA.js +38 -0
  92. package/dist/bundle/config-IP5SGHKN.js +79 -0
  93. package/dist/bundle/dist-WT73DF46.js +136 -0
  94. package/dist/bundle/dist-XUFQCJXW.js +7577 -0
  95. package/dist/bundle/echarts-LD3AI55P.js +42501 -0
  96. package/dist/bundle/embed-XEMH4LNX.js +35 -0
  97. package/dist/bundle/embedder-ZCYKSKAE.js +108 -0
  98. package/dist/bundle/first-run-LGYDLIUM.js +23 -0
  99. package/dist/bundle/first-screen-LYQKPNF4.js +36 -0
  100. package/dist/bundle/folders-5ZBUQHAM.js +13 -0
  101. package/dist/bundle/instructions-RZMSW3OC.js +11 -0
  102. package/dist/bundle/main-NKY3JGXY.js +130 -0
  103. package/dist/bundle/mcp-7OXUHLTO.js +189 -0
  104. package/dist/bundle/mcp-OQBZXELQ.js +165 -0
  105. package/dist/bundle/mcp-VISEXTVC.js +92 -0
  106. package/dist/bundle/meetings-XPBHVZAU.js +215 -0
  107. package/dist/bundle/node-P4E63KXA.js +2340 -0
  108. package/dist/bundle/node-TLZSIHIJ.js +21 -0
  109. package/dist/bundle/node-ZRLYQL7J.js +176 -0
  110. package/dist/bundle/node-sqlite-BBEDYBWO.js +45 -0
  111. package/dist/bundle/oauth-UHVRGKZU.js +17 -0
  112. package/dist/bundle/open-J4FCAUAJ.js +19 -0
  113. package/dist/bundle/output-file-SXV2ANW7.js +63 -0
  114. package/dist/bundle/process-LL77573L.js +91 -0
  115. package/dist/bundle/program-EPMIJCGA.js +5845 -0
  116. package/dist/bundle/prompt-LUUMQTMY.js +12 -0
  117. package/dist/bundle/recognize-EMHQX4XF.js +190 -0
  118. package/dist/bundle/remote-ZXS6D7VB.js +26 -0
  119. package/dist/bundle/rerank-WP7RKZNB.js +49 -0
  120. package/dist/bundle/run-log-GS2L66G6.js +111 -0
  121. package/dist/bundle/serve-L6KLLXK2.js +19 -0
  122. package/dist/bundle/server-NOFYENP5.js +53 -0
  123. package/dist/bundle/server-P5TXAPBY.js +66 -0
  124. package/dist/bundle/services-SPOEWVK3.js +330 -0
  125. package/dist/bundle/speech-6OBAKMND.js +44 -0
  126. package/dist/bundle/state-HN5EJKXQ.js +33 -0
  127. package/dist/bundle/store-LEU3M6IN.js +124 -0
  128. package/dist/bundle/store-ZP2URKET.js +141 -0
  129. package/dist/bundle/store-connection-I53XZ2TS.js +76 -0
  130. package/dist/bundle/store-maintenance-command-PSCHEHHY.js +54 -0
  131. package/dist/bundle/streaming-AK6Q2ZGQ.js +15 -0
  132. package/dist/bundle/tokens-CCM3D4ZT.js +17 -0
  133. package/dist/bundle/zm.js +8 -0
  134. package/dist/contract-overrides.d.ts.map +1 -1
  135. package/dist/contract-overrides.js +29 -17
  136. package/dist/contract-overrides.js.map +1 -1
  137. package/dist/mcp-command.d.ts +3 -2
  138. package/dist/mcp-command.d.ts.map +1 -1
  139. package/dist/mcp-command.js +62 -10
  140. package/dist/mcp-command.js.map +1 -1
  141. package/dist/program-bindings.d.ts.map +1 -1
  142. package/dist/program-bindings.js +1 -0
  143. package/dist/program-bindings.js.map +1 -1
  144. package/dist/version.d.ts +1 -1
  145. package/dist/version.js +1 -1
  146. package/package.json +7 -5
  147. package/skills/zoom-cli/SKILL.md +2 -0
@@ -0,0 +1,3570 @@
1
+ import { createRequire as __bundleRequire } from "node:module";
2
+ const require = __bundleRequire(import.meta.url);
3
+ import {
4
+ recordLogFor,
5
+ storeTable
6
+ } from "./chunk-MNUTWGSA.js";
7
+ import {
8
+ envName
9
+ } from "./chunk-XFCSPOLZ.js";
10
+ import {
11
+ carries
12
+ } from "./chunk-AIXLOMH4.js";
13
+ import {
14
+ WEIGHTS,
15
+ agenda,
16
+ attachment,
17
+ childTrace,
18
+ closeSuggestion,
19
+ conversation,
20
+ tagging,
21
+ task
22
+ } from "./chunk-7Z4ANTAK.js";
23
+ import {
24
+ author,
25
+ count,
26
+ id,
27
+ note,
28
+ organization,
29
+ project,
30
+ providerMetadata,
31
+ reminder,
32
+ text,
33
+ time,
34
+ untrusted
35
+ } from "./chunk-DXZTLB24.js";
36
+ import {
37
+ FACT_STATUSES,
38
+ FACT_TYPES,
39
+ LINK_KINDS,
40
+ LINK_SOURCES,
41
+ MEMORY_KINDS,
42
+ MEMORY_SCOPES,
43
+ MEMORY_STATUSES,
44
+ RELATION_KINDS,
45
+ TASK_KINDS,
46
+ TASK_ORIGINS,
47
+ TASK_STATES,
48
+ TASK_TYPES,
49
+ TASK_VERDICTS,
50
+ WORK_TASK_TYPES
51
+ } from "./chunk-CTGI4ES2.js";
52
+ import {
53
+ MEETING_RESULT_ENTITIES,
54
+ event,
55
+ meeting,
56
+ meetingDetails,
57
+ meetingHit,
58
+ meetingLink,
59
+ meetingParticipants,
60
+ meetingPassage,
61
+ meetingProjectEvidence,
62
+ meetingReview,
63
+ meetingSpeaker,
64
+ meetingStats,
65
+ meetingSummary,
66
+ meetingTranscript
67
+ } from "./chunk-PP3JGQQE.js";
68
+ import {
69
+ CliError,
70
+ array,
71
+ boolean,
72
+ integer,
73
+ isoDate,
74
+ isoTime,
75
+ jsonSchemaOf,
76
+ literal,
77
+ maxLength,
78
+ minLength,
79
+ minValue,
80
+ null_,
81
+ nullable,
82
+ number,
83
+ objectWithRest,
84
+ omit,
85
+ optional,
86
+ pageSchema,
87
+ partial,
88
+ pick,
89
+ picklist,
90
+ pipe,
91
+ record,
92
+ reference,
93
+ regex,
94
+ resolvePaths,
95
+ safeInteger,
96
+ strictObject,
97
+ string,
98
+ union,
99
+ unknown,
100
+ unwrap,
101
+ variant,
102
+ writeSecurely
103
+ } from "./chunk-YIMI6O7R.js";
104
+ import {
105
+ __name
106
+ } from "./chunk-ZVVMGPBJ.js";
107
+
108
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/member.js
109
+ var member = strictObject({
110
+ id,
111
+ name: nullable(text),
112
+ username: nullable(text),
113
+ role: optional(picklist(["owner", "admin", "member"])),
114
+ /** `null` when their privacy hides it. */
115
+ last_seen_at: optional(nullable(time)),
116
+ registered_at: optional(nullable(time)),
117
+ joined_at: optional(nullable(time)),
118
+ /** Who added them or whose invite they used. */
119
+ invited_by: optional(nullable(id)),
120
+ is_bot: optional(boolean()),
121
+ deleted: optional(boolean()),
122
+ flagged: optional(picklist(["scam", "fake"])),
123
+ has_photo: optional(boolean()),
124
+ /** `chats members check`: how much they look like a bot — a hint, never a verdict. */
125
+ score: optional(count),
126
+ reasons: optional(array(text)),
127
+ /** `chats members check --deep`: the whole person check, as `contacts check` answers it. */
128
+ check: optional(record(string(), unknown()))
129
+ });
130
+
131
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat.js
132
+ var setting = optional(nullable(boolean()));
133
+ var chat = strictObject({
134
+ ref: reference,
135
+ id,
136
+ provider: optional(text),
137
+ account: optional(text),
138
+ title: nullable(text),
139
+ kind: picklist(["dialog", "group", "channel", "saved", "unknown"]),
140
+ unread_count: nullable(count),
141
+ unread_mentions: optional(count),
142
+ last_message_at: nullable(time),
143
+ participants_count: nullable(count),
144
+ muted: optional(boolean()),
145
+ /** When the mute ends; absent with `muted` true is for good. */
146
+ muted_until: optional(time),
147
+ archived: optional(boolean()),
148
+ /** The owner marked it unread, whatever `unread_count` says. */
149
+ marked_unread: optional(boolean()),
150
+ membership_state: optional(picklist(["joined", "left", "public", "imported", "archived", "external"])),
151
+ parent_chat_id: optional(id),
152
+ scope: optional(picklist(["personal", "work"])),
153
+ provider_metadata: providerMetadata,
154
+ /** `chats show`, a group or channel: what it says about itself. */
155
+ description: optional(nullable(text)),
156
+ invite_link: optional(nullable(text)),
157
+ settings: optional(strictObject({
158
+ all_can_pin: setting,
159
+ only_admins_add: setting,
160
+ only_admins_call: setting,
161
+ only_owner_edits_info: setting,
162
+ members_see_link: setting,
163
+ join_approval: setting,
164
+ only_admins_send: setting,
165
+ only_admins_edit_info: setting,
166
+ disappearing_seconds: optional(nullable(count))
167
+ })),
168
+ /** `chats show`: absent when no roster is known; an empty list is a known empty roster. */
169
+ members: optional(array(member))
170
+ });
171
+
172
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/list-results.js
173
+ var botProfile = strictObject({
174
+ name: text,
175
+ token: text,
176
+ bot: optional(text),
177
+ id: optional(id),
178
+ problem: optional(text)
179
+ });
180
+ var botSeenChat = strictObject({
181
+ ...partial(omit(chat, ["ref", "provider", "account", "description", "invite_link", "settings", "members"])).entries,
182
+ id,
183
+ parent_chat_id: optional(nullable(id)),
184
+ muted_until: optional(nullable(time)),
185
+ first_seen_at: optional(time),
186
+ last_seen_at: optional(time)
187
+ });
188
+ var botAdmin = strictObject({
189
+ id,
190
+ name: nullable(text),
191
+ username: nullable(text),
192
+ role: picklist(["owner", "admin"]),
193
+ rights: array(picklist(["read", "members", "admins", "info", "pin", "link", "post", "edit", "delete"])),
194
+ title: nullable(text)
195
+ });
196
+ var botMenuEntry = strictObject({ name: text, description: nullable(text) });
197
+ var botWebhook = strictObject({ url: text, types: optional(array(text)) });
198
+ var scheduledJob = strictObject({
199
+ name: text,
200
+ kind: picklist(["command", "agent"]),
201
+ when: text,
202
+ last: nullable(strictObject({
203
+ at: time,
204
+ exit_code: number(),
205
+ output: text,
206
+ trace_id: optional(text),
207
+ reason: optional(text),
208
+ error_code: optional(text),
209
+ failing_since: optional(time),
210
+ failures: optional(number())
211
+ }))
212
+ });
213
+ var botTemplate = strictObject({
214
+ name: nullable(text),
215
+ status: nullable(text),
216
+ language: nullable(text),
217
+ category: nullable(text)
218
+ });
219
+ var callRecord = strictObject({
220
+ id,
221
+ chat_id: nullable(id),
222
+ caller_id: nullable(id),
223
+ direction: picklist(["incoming", "outgoing"]),
224
+ outcome: picklist(["answered", "missed", "declined"]),
225
+ kind: picklist(["audio", "video"]),
226
+ at: time,
227
+ duration_seconds: nullable(number())
228
+ });
229
+ var stickerInventory = strictObject({
230
+ id,
231
+ title: optional(text),
232
+ count: optional(number()),
233
+ link: optional(nullable(text)),
234
+ set_id: optional(nullable(id)),
235
+ emoji: optional(array(text)),
236
+ url: optional(nullable(text))
237
+ });
238
+
239
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/batch-result.js
240
+ var actionableError = objectWithRest({
241
+ code: text,
242
+ message: text,
243
+ retryable: boolean(),
244
+ retry_after_ms: optional(number())
245
+ }, unknown());
246
+ var batchResult = strictObject({
247
+ attempted: count,
248
+ succeeded: count,
249
+ failed: count,
250
+ error_rate: number(),
251
+ failures: array(strictObject({ id, stage: text, error: actionableError, attachment: optional(count) })),
252
+ stop_reason: optional(picklist(["rate_limited", "authentication", "error_rate", "cancelled"])),
253
+ max_error_percent: count
254
+ });
255
+
256
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/conversation-preparation.js
257
+ var conversationBuild = strictObject({
258
+ chat: id,
259
+ messages: count,
260
+ links: count,
261
+ conversations: count,
262
+ built_at: time,
263
+ rules_version: count
264
+ });
265
+ var chatEmbedding = strictObject({ chat: id, model: text, embedded: count, skipped: count });
266
+ var conversationPreparation = strictObject({
267
+ model: text,
268
+ model_available: boolean(),
269
+ built: array(conversationBuild),
270
+ embedded: array(chatEmbedding),
271
+ left: array(strictObject({ chat: id, needs: picklist(["build", "embed"]) })),
272
+ /** Messages given their own vector, which `search messages --discover` reads, and how many still lack one. */
273
+ messages: optional(strictObject({ embedded: count, left: count }))
274
+ });
275
+ var catchUpPreparation = strictObject({
276
+ complete: boolean(),
277
+ reason: optional(picklist(["message_bound", "time_or_abort_bound", "preparation_failed", "pending"])),
278
+ prepared: optional(conversationPreparation)
279
+ });
280
+
281
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/services/backfill-jobs.js
282
+ import { spawn } from "node:child_process";
283
+ import { randomBytes } from "node:crypto";
284
+ import { closeSync, existsSync as existsSync2, mkdirSync, openSync, readdirSync, readFileSync as readFileSync2, realpathSync, rmSync as rmSync2 } from "node:fs";
285
+ import { dirname, join as join2 } from "node:path";
286
+
287
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/background/checkpoints.js
288
+ import { existsSync, readFileSync, rmSync } from "node:fs";
289
+ import { join } from "node:path";
290
+ var PART = /^[\w@+-][\w.@+-]{0,99}$/;
291
+ var checkpointPath = /* @__PURE__ */ __name((state, profile, job2) => {
292
+ for (const part of [profile, job2]) {
293
+ if (!PART.test(part) || part.includes("..")) {
294
+ throw new CliError("validation_error", `a checkpoint is named by letters, digits, ".", "@" and "-" \u2014 not "${part}"`);
295
+ }
296
+ }
297
+ return join(state, "checkpoints", profile, `${job2}.json`);
298
+ }, "checkpointPath");
299
+ var readCheckpoint = /* @__PURE__ */ __name((path) => {
300
+ try {
301
+ return existsSync(path) ? JSON.parse(readFileSync(path, "utf8")) : void 0;
302
+ } catch {
303
+ return void 0;
304
+ }
305
+ }, "readCheckpoint");
306
+ var saveCheckpoint = /* @__PURE__ */ __name((path, point, now = /* @__PURE__ */ new Date()) => {
307
+ const saved = { ...point, updated_at: now.toISOString() };
308
+ writeSecurely(path, `${JSON.stringify(saved, null, 2)}
309
+ `, 384);
310
+ return saved;
311
+ }, "saveCheckpoint");
312
+ var progressOf = /* @__PURE__ */ __name((input) => {
313
+ const total = input.total ?? null;
314
+ const updated = input.updatedAt ?? null;
315
+ return {
316
+ job: input.job,
317
+ profile: input.profile,
318
+ done: input.done,
319
+ total,
320
+ remaining: total === null ? null : Math.max(0, total - input.done),
321
+ state: input.complete ?? (total !== null && input.done >= total) ? "complete" : "partial",
322
+ updated_at: updated,
323
+ cursor_age_ms: updated === null ? null : Math.max(0, (input.now ?? /* @__PURE__ */ new Date()).getTime() - Date.parse(updated))
324
+ };
325
+ }, "progressOf");
326
+
327
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/services/backfill-jobs.js
328
+ var JOB_STATES = ["running", "done", "partial", "failed", "cancelled", "died"];
329
+ var spawnDetached = /* @__PURE__ */ __name((argv, env, log) => {
330
+ const out = openSync(log, "a", 384);
331
+ try {
332
+ const child = spawn(process.execPath, [realpathSync(process.argv[1] ?? ""), ...argv], {
333
+ detached: true,
334
+ stdio: ["ignore", out, out],
335
+ env
336
+ });
337
+ child.unref();
338
+ return child.pid ?? 0;
339
+ } finally {
340
+ closeSync(out);
341
+ }
342
+ }, "spawnDetached");
343
+ var jobsDir = /* @__PURE__ */ __name((app, env) => join2(resolvePaths({ appName: app.appName, prefix: app.envPrefix, env }).state, "backfill"), "jobsDir");
344
+ var jobPath = /* @__PURE__ */ __name((dir, id6) => join2(dir, `${id6}.json`), "jobPath");
345
+ var saveJob = /* @__PURE__ */ __name((dir, job2) => {
346
+ mkdirSync(dir, { recursive: true, mode: 448 });
347
+ writeSecurely(jobPath(dir, job2.id), `${JSON.stringify(job2, null, 2)}
348
+ `, 384);
349
+ }, "saveJob");
350
+ var readJob = /* @__PURE__ */ __name((dir, id6) => {
351
+ if (!/^[\w-]+$/.test(id6) || !existsSync2(jobPath(dir, id6)))
352
+ return void 0;
353
+ try {
354
+ return JSON.parse(readFileSync2(jobPath(dir, id6), "utf8"));
355
+ } catch {
356
+ return void 0;
357
+ }
358
+ }, "readJob");
359
+ var recordsPath = /* @__PURE__ */ __name((dir, id6) => join2(dir, `${id6}.jsonl`), "recordsPath");
360
+ var tracedJob = /* @__PURE__ */ __name((env) => {
361
+ const trace = childTrace();
362
+ return { env: { ...env, TRACEPARENT: trace.traceparent }, traceId: trace.traceId };
363
+ }, "tracedJob");
364
+ var jobStarted = /* @__PURE__ */ __name((app, dir, job2) => {
365
+ saveJob(dir, job2);
366
+ recordLogFor(recordsPath(dir, job2.id), app, job2.traceId ? { traceId: job2.traceId } : {}).info({
367
+ event: "job.start",
368
+ job: job2.id,
369
+ pid: job2.pid
370
+ });
371
+ }, "jobStarted");
372
+ var finishJob = /* @__PURE__ */ __name((app, dir, id6, change) => {
373
+ updateJob(dir, id6, change);
374
+ const job2 = readJob(dir, id6);
375
+ if (!job2)
376
+ return;
377
+ const outcome2 = stateOf(job2);
378
+ recordLogFor(recordsPath(dir, id6), app, job2.traceId ? { traceId: job2.traceId } : {})[job2.error ? "error" : "info"]({
379
+ event: "job.exit",
380
+ job: id6,
381
+ outcome: outcome2,
382
+ ...job2.error ? { errorCode: job2.error.code } : {}
383
+ });
384
+ }, "finishJob");
385
+ var updateJob = /* @__PURE__ */ __name((dir, id6, change) => {
386
+ const job2 = readJob(dir, id6);
387
+ if (job2)
388
+ saveJob(dir, { ...job2, ...change });
389
+ }, "updateJob");
390
+ var removeJob = /* @__PURE__ */ __name((dir, job2) => {
391
+ rmSync2(jobPath(dir, job2.id), { force: true });
392
+ rmSync2(recordsPath(dir, job2.id), { force: true });
393
+ if (dirname(job2.log) === dir)
394
+ rmSync2(job2.log, { force: true });
395
+ }, "removeJob");
396
+ var listJobs = /* @__PURE__ */ __name((dir) => existsSync2(dir) ? readdirSync(dir).filter((name) => name.endsWith(".json")).flatMap((name) => readJob(dir, name.slice(0, -".json".length)) ?? []).sort((a, b) => b.startedAt.localeCompare(a.startedAt)) : [], "listJobs");
397
+ var jobDetails = /* @__PURE__ */ __name((job2) => ({
398
+ job: job2.id,
399
+ profile: job2.profile,
400
+ chat: job2.chat,
401
+ state: stateOf(job2),
402
+ pid: job2.pid,
403
+ startedAt: job2.startedAt,
404
+ ...job2.finishedAt ? { finishedAt: job2.finishedAt } : {},
405
+ fetched: Number(job2.result?.fetched ?? job2.progress?.fetched ?? 0),
406
+ ...job2.limit === void 0 ? {} : { messageLimit: job2.limit },
407
+ ...job2.pageSize === void 0 ? {} : { pageSize: job2.pageSize },
408
+ ...job2.last === void 0 ? {} : { last: job2.last },
409
+ ...job2.result ? {
410
+ complete: job2.result.complete === true,
411
+ ...job2.result.issue ? { issue: job2.result.issue } : {},
412
+ ...job2.result.batch ? { batch: job2.result.batch } : {},
413
+ ...job2.result.resume ? { resume: job2.result.resume } : {}
414
+ } : {},
415
+ ...job2.error ? { error: job2.error } : {},
416
+ progress: progressOf({
417
+ job: job2.id,
418
+ profile: job2.profile,
419
+ done: Number(job2.result?.fetched ?? job2.progress?.fetched ?? 0),
420
+ ...job2.limit === void 0 ? {} : { total: job2.limit },
421
+ complete: job2.result?.complete === true,
422
+ ...job2.progress?.at ?? job2.finishedAt ? { updatedAt: job2.progress?.at ?? job2.finishedAt } : {}
423
+ })
424
+ }), "jobDetails");
425
+ var jobItem = /* @__PURE__ */ __name((job2) => {
426
+ const issue = job2.result?.issue;
427
+ return {
428
+ id: job2.id,
429
+ chat: job2.chat,
430
+ state: stateOf(job2),
431
+ pid: job2.pid,
432
+ started_at: job2.startedAt,
433
+ ...job2.finishedAt ? { finished_at: job2.finishedAt } : {},
434
+ fetched: Number(job2.result?.fetched ?? job2.progress?.fetched ?? 0),
435
+ ...job2.limit === void 0 ? {} : { message_limit: job2.limit },
436
+ ...job2.pageSize === void 0 ? {} : { page_size: job2.pageSize },
437
+ ...job2.last === void 0 ? {} : { last: job2.last },
438
+ ...job2.result ? { complete: job2.result.complete === true } : {},
439
+ ...issue ? { issue: { code: String(issue.code), message: String(issue.message) } } : {},
440
+ ...job2.error ? { error: { code: job2.error.code, message: job2.error.message } } : {}
441
+ };
442
+ }, "jobItem");
443
+ var stateOf = /* @__PURE__ */ __name((job2) => {
444
+ if (job2.finishedAt !== void 0) {
445
+ if (job2.cancelRequestedAt)
446
+ return "cancelled";
447
+ return job2.error ? "failed" : job2.result?.batch || job2.result?.issue ? "partial" : "done";
448
+ }
449
+ if (isJob(job2))
450
+ return "running";
451
+ return job2.cancelRequestedAt ? "cancelled" : "died";
452
+ }, "stateOf");
453
+ var isJob = /* @__PURE__ */ __name((job2) => carries(job2.pid, `_BACKFILL_JOB=${job2.id}`), "isJob");
454
+ var startArchiveJob = /* @__PURE__ */ __name((app, env, profile, input, spawnJob = spawnDetached) => {
455
+ const dir = jobsDir(app, env);
456
+ const running = listJobs(dir).find((job3) => job3.profile === profile && job3.chat === input.chat && stateOf(job3) === "running");
457
+ if (running)
458
+ throw new CliError("validation_error", `job ${running.id} already works on this chat; inspect store jobs show first`);
459
+ const startedAt = (/* @__PURE__ */ new Date()).toISOString();
460
+ const id6 = `${startedAt.replace(/[-:]/g, "").slice(0, 15)}-${randomBytes(3).toString("hex")}`;
461
+ mkdirSync(dir, { recursive: true, mode: 448 });
462
+ const log = join2(dir, `${id6}.log`);
463
+ const job2 = {
464
+ id: id6,
465
+ chat: input.chat,
466
+ profile,
467
+ pid: 0,
468
+ startedAt,
469
+ limit: input.limit,
470
+ pageSize: input.pageSize,
471
+ argv: input.argv,
472
+ log
473
+ };
474
+ saveJob(dir, job2);
475
+ const { [envName(app, "TIMEOUT")]: _timeout, ...inherited } = env;
476
+ const traced = tracedJob({ ...inherited, [envName(app, "PROFILE")]: profile, [envName(app, "BACKFILL_JOB")]: id6 });
477
+ const pid = spawnJob(input.argv, traced.env, log);
478
+ jobStarted(app, dir, { ...job2, pid, traceId: traced.traceId });
479
+ return { job: id6, pid, chat: input.chat, log };
480
+ }, "startArchiveJob");
481
+
482
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/job.js
483
+ var problem = strictObject({ code: text, message: text });
484
+ var job = strictObject({
485
+ id,
486
+ /** The chat as the sync was given it. */
487
+ chat: text,
488
+ state: picklist(JOB_STATES),
489
+ pid: count,
490
+ started_at: time,
491
+ finished_at: optional(time),
492
+ /** Messages fetched so far, or in all once it finished. */
493
+ fetched: count,
494
+ /** The `--limit` the sync was started with: how many messages it may fetch. */
495
+ message_limit: optional(count),
496
+ page_size: optional(count),
497
+ last: optional(count),
498
+ /** Whether the sync reached its window; set once it finished. */
499
+ complete: optional(boolean()),
500
+ /** Why a partial job stopped short; `store jobs retry` resumes it. */
501
+ issue: optional(problem),
502
+ error: optional(problem)
503
+ });
504
+
505
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message.js
506
+ var quoted = strictObject({
507
+ id,
508
+ sender_id: nullable(id),
509
+ sender_name: nullable(text),
510
+ timestamp: nullable(time),
511
+ text,
512
+ attachments: array(attachment),
513
+ outgoing: nullable(boolean())
514
+ });
515
+ var mailPerson = strictObject({ name: nullable(text), address: text, ref: nullable(reference) });
516
+ var message = strictObject({
517
+ /** The message's locator. */
518
+ ref: reference,
519
+ id,
520
+ provider: optional(text),
521
+ account: optional(text),
522
+ chat_id: id,
523
+ chat_title: optional(nullable(text)),
524
+ sender_id: nullable(id),
525
+ sender_name: nullable(text),
526
+ sender_username: optional(text),
527
+ sender_is_chat: optional(boolean()),
528
+ sender_is_me: boolean(),
529
+ mentions: optional(array(id)),
530
+ /** When it was sent. */
531
+ timestamp: time,
532
+ edited_at: nullable(time),
533
+ text,
534
+ /** What a voice message says, once heard. */
535
+ transcript: optional(text),
536
+ /** In a window of messages around one, the one asked for. */
537
+ anchor: optional(boolean()),
538
+ /** A stretch of the text, transcript, file name or file text around what a search matched. */
539
+ excerpt: optional(text),
540
+ /** `picture`: the picture search lane found it by what the picture shows; it follows the text hits. */
541
+ matched_in: optional(picklist(["text", "transcript", "filename", "file", "context", "picture"])),
542
+ score: optional(number()),
543
+ /**
544
+ * `corrected`: a query word matched only a spelling speech recognition garbled in a voice note's transcript,
545
+ * listed in `corrections`. `words` and `beginnings`: what a discovery search matched.
546
+ */
547
+ match: optional(picklist(["words", "beginnings", "corrected"])),
548
+ corrections: optional(array(strictObject({ from: text, to: array(text) }))),
549
+ /** Where a search found it: the local archive, the messenger's server, or both. */
550
+ found_in: optional(picklist(["archive", "server", "both"])),
551
+ /** A discovery search's partial match: how much of the question it covers, and which words it lacks. */
552
+ discovery: optional(strictObject({
553
+ coverage: number(),
554
+ matched_terms: array(text),
555
+ missing_terms: array(text),
556
+ parent: optional(reference),
557
+ /** Present when meaning was searched too: which of the two lists found it. */
558
+ found_by: optional(array(picklist(["words", "meaning"]))),
559
+ /** Present when the reranker read it: its own score, higher is better. It ordered the first hits with `score`. */
560
+ reranker_score: optional(number())
561
+ })),
562
+ /** The messages around a search hit, or its thread, oldest first; the hit itself is among them. */
563
+ context: optional(array(strictObject({ ref: reference, timestamp: time, sender_name: nullable(text), text }))),
564
+ outgoing: nullable(boolean()),
565
+ attachments: array(attachment),
566
+ reply_to: nullable(quoted),
567
+ /** The id a reply answers, also when the provider sent no copy of that message. */
568
+ reply_to_id: optional(id),
569
+ forwarded_from: nullable(quoted),
570
+ thread_id: optional(id),
571
+ thread_root_id: optional(id),
572
+ reactions: optional(nullable(strictObject({
573
+ counts: array(strictObject({ reaction: text, count })),
574
+ mine: nullable(text),
575
+ total: count
576
+ }))),
577
+ scheduled_for: optional(time),
578
+ /** The owner starred it; only where the messenger has stars, and only when set. */
579
+ starred: optional(literal(true)),
580
+ /** The owner's own message in a one-to-one chat: `delivered`, or `read` once opened; absent when no receipt came. */
581
+ delivery: optional(picklist(["delivered", "read"])),
582
+ email: optional(strictObject({
583
+ subject: nullable(text),
584
+ from: nullable(mailPerson),
585
+ to: array(mailPerson),
586
+ cc: array(mailPerson),
587
+ bcc: array(mailPerson),
588
+ /** The mail header Reply-To; `reply_to` is the quoted message a chat reply answers. */
589
+ reply_addresses: array(mailPerson),
590
+ labels: array(text),
591
+ /** The thread as a `chat:` reference. */
592
+ thread: reference,
593
+ read: nullable(boolean()),
594
+ flagged: nullable(boolean()),
595
+ /** How much the sender's mail looks like spam, a scam or a robot (memo's score), and why; absent when unscored. */
596
+ sender_score: optional(strictObject({ score: number(), signals: array(text), demoted: optional(literal(true)) }))
597
+ })),
598
+ provider_metadata: providerMetadata
599
+ });
600
+
601
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/extraction-report.js
602
+ var extractionItem = strictObject({
603
+ ref: reference,
604
+ attachment: count,
605
+ kind: text,
606
+ name: nullable(text),
607
+ status: picklist(["extracted", "needs-agent", "unreadable", "engine-missing", "too-large", "missing"]),
608
+ extractor: optional(text),
609
+ chars: optional(count),
610
+ local_path: optional(text),
611
+ pages: optional(count),
612
+ ocr_pages: optional(count),
613
+ error: optional(text),
614
+ issue: optional(actionableError)
615
+ });
616
+ var extractionSummary = strictObject({
617
+ extracted: count,
618
+ failed: count,
619
+ needs_agent: count,
620
+ complete: boolean(),
621
+ batch: optional(batchResult)
622
+ });
623
+ var extractionReport = strictObject({
624
+ ...extractionSummary.entries,
625
+ items: array(extractionItem),
626
+ unchanged: count,
627
+ not_downloaded: count,
628
+ unsupported: count,
629
+ /** Reader package names, such as unpdf or @napi-rs/canvas. */
630
+ engines_missing: array(text),
631
+ cursor: optional(text)
632
+ });
633
+
634
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-transfer.js
635
+ var savedMessageFile = strictObject({
636
+ kind: text,
637
+ path: text,
638
+ bytes: count,
639
+ existing: optional(literal(true))
640
+ });
641
+ var files = array(savedMessageFile);
642
+ var messageDownload = union([
643
+ strictObject({
644
+ files,
645
+ extraction: optional(extractionReport),
646
+ complete: optional(literal(false)),
647
+ batch: optional(batchResult)
648
+ }),
649
+ strictObject({
650
+ files,
651
+ chat: nullable(id),
652
+ saved: count,
653
+ existing: count,
654
+ complete: boolean(),
655
+ batch: optional(batchResult),
656
+ stopped: optional(literal(true)),
657
+ extraction: optional(extractionSummary)
658
+ })
659
+ ]);
660
+ var historyRange = strictObject({ from: number(), to: number() });
661
+ var messageSyncEstimate = strictObject({
662
+ chat: id,
663
+ held: count,
664
+ ranges: array(historyRange),
665
+ missing: nullable(count),
666
+ requests: nullable(count),
667
+ runs: nullable(count),
668
+ seconds: nullable(count)
669
+ });
670
+ var tasks = optional(strictObject({
671
+ added: count,
672
+ closed: count,
673
+ review: count,
674
+ held: optional(count),
675
+ held_chats: optional(count)
676
+ }));
677
+ var messageSyncChat = strictObject({
678
+ issue: optional(actionableError),
679
+ resume: optional(strictObject({ before: optional(text) })),
680
+ prepared: optional(catchUpPreparation),
681
+ window_complete: optional(boolean()),
682
+ requests: optional(count),
683
+ chat: nullable(id),
684
+ fetched: count,
685
+ complete: boolean(),
686
+ ranges: array(historyRange),
687
+ reached_since: optional(literal(true)),
688
+ reached_last: optional(literal(true)),
689
+ stopped: optional(literal(true)),
690
+ tasks
691
+ });
692
+ var messageSyncAll = strictObject({
693
+ batch: optional(batchResult),
694
+ chats: count,
695
+ fetched: count,
696
+ complete: boolean(),
697
+ stopped: optional(literal(true)),
698
+ items: array(strictObject({
699
+ chat: id,
700
+ title: nullable(text),
701
+ fetched: count,
702
+ complete: boolean(),
703
+ current: optional(literal(true)),
704
+ stopped: optional(literal(true)),
705
+ error: optional(text),
706
+ issue: optional(actionableError)
707
+ })),
708
+ tasks
709
+ });
710
+ var messageSyncStarted = strictObject({ job: id, pid: count, chat: text, log: text });
711
+ var messageSync = union([messageSyncEstimate, messageSyncChat, messageSyncAll, messageSyncStarted]);
712
+
713
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/store-records.js
714
+ var range = strictObject({ from: number(), to: number() });
715
+ var storeChatStatus = strictObject({
716
+ chat_id: id,
717
+ title: nullable(text),
718
+ kind: chat.entries.kind,
719
+ messages: count,
720
+ oldest_at: nullable(time),
721
+ newest_at: nullable(time),
722
+ last_stored_at: nullable(time),
723
+ held: array(range)
724
+ });
725
+ var storeClear = strictObject({
726
+ cleared: boolean(),
727
+ dry_run: optional(literal(true)),
728
+ chats: count,
729
+ messages: count,
730
+ left: array(strictObject({ id, title: nullable(text), messages: count }))
731
+ });
732
+ var storeExport = union([
733
+ message,
734
+ strictObject({
735
+ path: text,
736
+ format: picklist(["jsonl", "markdown"]),
737
+ count,
738
+ encrypted: optional(literal(true))
739
+ }),
740
+ strictObject({
741
+ path: text,
742
+ encrypted: optional(literal(true)),
743
+ chats: array(strictObject({ id, title: nullable(text), file: nullable(text), messages: count, deleted: count }))
744
+ })
745
+ ]);
746
+ var storeGapPlan = strictObject({
747
+ version: literal(1),
748
+ scope: literal("interior"),
749
+ account: strictObject({ provider: text, account: id }),
750
+ chat: id,
751
+ ordering: picklist(["id", "time"]),
752
+ held: array(range),
753
+ gaps: array(range),
754
+ unknown: strictObject({ older: boolean(), newer: literal(true) }),
755
+ fingerprint: text,
756
+ limits: strictObject({ max_gaps: count, limit: count, time_ms: count, page_size: count })
757
+ });
758
+ var storeGapRepair = union([
759
+ messageSyncStarted,
760
+ strictObject({
761
+ version: literal(1),
762
+ scope: literal("interior"),
763
+ chat: id,
764
+ before: storeGapPlan,
765
+ after: storeGapPlan,
766
+ repaired: array(range),
767
+ fetched: count,
768
+ requests: count,
769
+ complete: boolean(),
770
+ prepared: optional(catchUpPreparation),
771
+ stopped: optional(picklist(["bound", "partial_or_inaccessible", "fetch_failed"]))
772
+ })
773
+ ]);
774
+ var problem2 = objectWithRest({ code: text, message: text, retryable: optional(boolean()), retry_after_ms: optional(number()) }, unknown());
775
+ var progress = strictObject({
776
+ job: id,
777
+ profile: text,
778
+ done: count,
779
+ total: nullable(count),
780
+ remaining: nullable(count),
781
+ state: picklist(["partial", "complete"]),
782
+ updated_at: nullable(time),
783
+ cursor_age_ms: nullable(count)
784
+ });
785
+ var storeJobDetails = strictObject({
786
+ ...omit(job, ["id", "issue", "error"]).entries,
787
+ job: id,
788
+ profile: text,
789
+ issue: optional(problem2),
790
+ error: optional(problem2),
791
+ batch: optional(batchResult),
792
+ resume: optional(strictObject({ before: optional(text) })),
793
+ progress,
794
+ held: optional(array(range)),
795
+ log: text
796
+ });
797
+ var storeJobCancel = strictObject({ job: id, cancelled: literal(true) });
798
+ var storeJobRetry = union([
799
+ strictObject({ ...messageSyncStarted.entries, retried: id }),
800
+ strictObject({ retried: id, chat: text, error: strictObject({ code: text, message: text }) })
801
+ ]);
802
+ var storeJobClear = strictObject({ cleared: array(id) });
803
+
804
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-preparation-parts.js
805
+ var preparationId = pipe(string(), minLength(1));
806
+ var preparationCount = pipe(number(), integer(), minValue(0));
807
+ var preparationTime = nullable(isoTime);
808
+ var text2 = nullable(string());
809
+ var id2 = preparationId;
810
+ var count2 = preparationCount;
811
+ var page = /* @__PURE__ */ __name((item) => strictObject({ items: array(item), has_more: boolean() }), "page");
812
+ var preparationUpcoming = strictObject({
813
+ scope: strictObject({ provider: id2, account: id2 }),
814
+ meeting_id: id2,
815
+ kind: picklist(["single", "recurring", "unscheduled", "unknown"]),
816
+ after: isoTime,
817
+ until: isoTime,
818
+ timezone: text2,
819
+ verified_next: boolean(),
820
+ candidate: nullable(strictObject({
821
+ id: text2,
822
+ start_at: preparationTime,
823
+ end_at: preparationTime,
824
+ status: picklist(["scheduled", "cancelled"]),
825
+ verified: boolean()
826
+ })),
827
+ coverage: strictObject({
828
+ schedule_complete: boolean(),
829
+ inspected: count2,
830
+ undated: count2,
831
+ unverified: count2,
832
+ cancelled: count2,
833
+ simultaneous: count2,
834
+ missing: array(picklist(["schedule-details", "occurrence-details"]))
835
+ })
836
+ });
837
+ var preparationCue = strictObject({
838
+ ref: reference,
839
+ fingerprint: id2,
840
+ transcript_id: id2,
841
+ content_hash: text2,
842
+ position: count2,
843
+ offset_ms: count2,
844
+ end_ms: count2,
845
+ speaker_participant_id: nullable(id2),
846
+ speaker_name: text2,
847
+ text: string(),
848
+ revision: picklist(["current", "superseded"])
849
+ });
850
+ var preparationEvidence = strictObject({
851
+ schema_version: literal(1),
852
+ kind: literal("meeting"),
853
+ source: reference,
854
+ fingerprint: id2,
855
+ limits: strictObject({ cues: count2, bytes: count2, max_read_bytes: count2, max_transcript_pages: count2 }),
856
+ content_bytes: count2,
857
+ coverage: strictObject({
858
+ provided: count2,
859
+ included: count2,
860
+ omitted: nullable(count2),
861
+ provided_exact: boolean(),
862
+ next_transcript_id: nullable(id2),
863
+ next_reference: nullable(reference),
864
+ transcript_pages: count2,
865
+ skipped_unavailable: count2,
866
+ has_more: boolean(),
867
+ truncated_by: nullable(picklist(["cues", "bytes", "transcripts"])),
868
+ input: literal("bounded-meeting-pages"),
869
+ archive_completeness: literal("unknown")
870
+ }),
871
+ items: array(preparationCue)
872
+ });
873
+ var preparationContext = strictObject({
874
+ participants: page(strictObject({ id: id2, identity_id: id2, display_name: text2, person_uid: nullable(id2) })),
875
+ projects: page(strictObject({ ref: reference, key: id2, name: string(), link_id: id2 })),
876
+ facts: page(strictObject({ ref: reference, type: id2, statement: string(), updated_at: isoTime })),
877
+ tasks: page(strictObject({
878
+ ref: reference,
879
+ key: id2,
880
+ title: string(),
881
+ status: id2,
882
+ priority: nullable(count2),
883
+ source: nullable(reference)
884
+ }))
885
+ });
886
+ var preparationMeeting = strictObject({
887
+ id: id2,
888
+ external_id: id2,
889
+ title: text2,
890
+ event_id: nullable(id2),
891
+ started_at: preparationTime,
892
+ ended_at: preparationTime,
893
+ updated_at: isoTime
894
+ });
895
+
896
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-communications.js
897
+ var communicationCoverage = strictObject({
898
+ read_usage: strictObject({ reads: preparationCount, charged_bytes: preparationCount, reserved_bytes: preparationCount, remaining_bytes: preparationCount }),
899
+ query: string(),
900
+ window: strictObject({ after: isoTime, before: isoTime }),
901
+ selection: literal("explicit-host-grants/literal-words"),
902
+ sources: array(strictObject({
903
+ selection_id: preparationId,
904
+ source: strictObject({
905
+ kind: picklist(["message", "mail", "document"]),
906
+ account_id: preparationId,
907
+ provider: preparationId,
908
+ account: preparationId
909
+ }),
910
+ state: picklist(["searched", "unavailable", "read-limited"]),
911
+ index: picklist(["ready", "pending", "missing", "unknown"]),
912
+ has_more: boolean(),
913
+ has_undated: boolean(),
914
+ completeness: literal("unknown"),
915
+ consistency: literal("snapshot-per-page"),
916
+ next_cursor: nullable(string()),
917
+ restart_required: boolean(),
918
+ output_limited: boolean(),
919
+ read_bytes: nullable(preparationCount),
920
+ issue: nullable(picklist(["not_found", "validation_error", "configuration_error"]))
921
+ }))
922
+ });
923
+ var preparationCommunications = strictObject({
924
+ coverage: communicationCoverage,
925
+ items: array(strictObject({
926
+ selection_id: preparationId,
927
+ ref: reference,
928
+ provider: preparationId,
929
+ account: preparationId,
930
+ title: nullable(string()),
931
+ url: nullable(string()),
932
+ text: string(),
933
+ at: isoTime,
934
+ updated_at: isoTime,
935
+ revision: nullable(pipe(number(), safeInteger(), minValue(1))),
936
+ time_kind: picklist(["sent", "source-modified", "stored-update"]),
937
+ text_truncated: boolean()
938
+ }))
939
+ });
940
+
941
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-preparation.js
942
+ var meetingPreparation = strictObject({
943
+ communications: optional(preparationCommunications),
944
+ schema_version: literal(1),
945
+ kind: literal("meeting_preparation"),
946
+ account_id: preparationId,
947
+ upcoming: preparationUpcoming,
948
+ series: nullable(strictObject({
949
+ id: preparationId,
950
+ external_id: preparationId,
951
+ title: nullable(string()),
952
+ event_series_id: nullable(preparationId),
953
+ updated_at: isoTime
954
+ })),
955
+ history_window: strictObject({ after: isoTime, before: isoTime }),
956
+ meetings: array(strictObject({
957
+ ref: reference,
958
+ meeting: preparationMeeting,
959
+ evidence: preparationEvidence,
960
+ context: preparationContext
961
+ })),
962
+ related: strictObject({
963
+ anchors: array(reference),
964
+ items: array(strictObject({
965
+ ref: reference,
966
+ meeting: preparationMeeting,
967
+ evidence: preparationEvidence,
968
+ shared_person: boolean(),
969
+ shared_project: boolean()
970
+ })),
971
+ has_more: boolean(),
972
+ output_limited: boolean(),
973
+ selection: literal("explicit-person-links/confirmed-project-links")
974
+ }),
975
+ knowledge: optional(strictObject({
976
+ anchors: array(reference),
977
+ items: array(strictObject({
978
+ ref: reference,
979
+ type: picklist(["fact", "statement", "question", "decision", "promise"]),
980
+ statement: string(),
981
+ subject: nullable(reference),
982
+ project: nullable(reference),
983
+ updated_at: isoTime,
984
+ shared_person: boolean(),
985
+ shared_project: boolean()
986
+ })),
987
+ selection: literal("accepted-global-person/project-facts"),
988
+ coverage: strictObject({
989
+ has_more: boolean(),
990
+ output_limited: boolean(),
991
+ fact_evidence: literal("not-revalidated"),
992
+ other_sources: picklist(["not-queried", "see-communications"])
993
+ })
994
+ })),
995
+ notes: optional(strictObject({
996
+ anchors: array(reference),
997
+ items: array(strictObject({
998
+ ref: reference,
999
+ title: nullable(string()),
1000
+ text: string(),
1001
+ revision: pipe(number(), safeInteger(), minValue(1)),
1002
+ updated_at: isoTime,
1003
+ person: nullable(reference),
1004
+ project: nullable(reference),
1005
+ meeting: optional(nullable(reference))
1006
+ })),
1007
+ selection: picklist([
1008
+ "owner-written-global-person/project-notes",
1009
+ "owner-written-meeting/person/project-notes"
1010
+ ]),
1011
+ coverage: strictObject({
1012
+ has_more: boolean(),
1013
+ output_limited: boolean(),
1014
+ source_evidence: literal("not-revalidated"),
1015
+ other_sources: picklist(["not-queried", "see-communications"])
1016
+ })
1017
+ })),
1018
+ project_evidence: optional(strictObject({
1019
+ project: string(),
1020
+ query: string(),
1021
+ pages: array(meetingProjectEvidence),
1022
+ continuation: nullable(strictObject({
1023
+ command: literal("meetings projects evidence"),
1024
+ project: string(),
1025
+ query: string(),
1026
+ cursor: nullable(string()),
1027
+ limit: preparationCount,
1028
+ max_read_bytes: preparationCount
1029
+ })),
1030
+ coverage: strictObject({ page_limit: preparationCount, has_more: boolean(), output_limited: boolean() })
1031
+ })),
1032
+ limits: strictObject({ meetings: preparationCount, cues: preparationCount, context_limit: preparationCount, max_read_bytes: preparationCount, bytes: preparationCount }),
1033
+ coverage: strictObject({
1034
+ archive_completeness: literal("unknown"),
1035
+ consistency: literal("live-reads"),
1036
+ history_has_more: boolean(),
1037
+ has_undated: boolean(),
1038
+ skipped_unavailable: array(reference),
1039
+ output_limited: boolean(),
1040
+ context: literal("observed-participants/confirmed-projects/accepted-meeting-subject-facts/direct-source-tasks"),
1041
+ fact_evidence: literal("not-revalidated"),
1042
+ unqueried: array(picklist([
1043
+ "person-history",
1044
+ "project-wide-context",
1045
+ "person-nonmeeting-context",
1046
+ "project-nonmeeting-context",
1047
+ "project-alias-candidates",
1048
+ "other-person-nonmeeting-context",
1049
+ "other-project-nonmeeting-context"
1050
+ ]))
1051
+ })
1052
+ });
1053
+
1054
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-project-candidates.js
1055
+ var count3 = pipe(number(), integer(), minValue(0));
1056
+ var id3 = pipe(string(), minLength(1));
1057
+ var text3 = string();
1058
+ var meetingProjectCandidates = strictObject({
1059
+ schema_version: literal(1),
1060
+ kind: literal("meeting_project_candidates"),
1061
+ source: strictObject({ provider: text3, account: text3, account_id: id3, ref: reference }),
1062
+ input_fingerprint: id3,
1063
+ vocabulary_fingerprint: id3,
1064
+ association: literal("unconfirmed-literal-evidence"),
1065
+ items: array(strictObject({
1066
+ project: strictObject({ ref: reference, id: id3, name: text3, key: nullable(text3) }),
1067
+ matches: array(strictObject({
1068
+ term: strictObject({
1069
+ name: text3,
1070
+ kind: picklist(["canonical", "key", "alias"]),
1071
+ alias_id: optional(id3)
1072
+ }),
1073
+ ambiguous: boolean(),
1074
+ source: strictObject({
1075
+ kind: picklist(["metadata-title", "transcript"]),
1076
+ ref: reference,
1077
+ fingerprint: nullable(id3),
1078
+ revision: nullable(picklist(["current", "superseded"]))
1079
+ })
1080
+ })),
1081
+ omitted_matches: count3
1082
+ })),
1083
+ limits: strictObject({ limit: count3, max_projects: count3, max_vocabulary_read_bytes: count3, bytes: count3 }),
1084
+ coverage: strictObject({
1085
+ selection: literal("explicit-host-evidence/global-project-vocabulary"),
1086
+ source_evidence: literal("not-revalidated"),
1087
+ association: literal("unconfirmed-literal-evidence"),
1088
+ archive_completeness: literal("unknown"),
1089
+ omitted_matches: count3,
1090
+ candidates_total: count3,
1091
+ has_more: boolean(),
1092
+ output_limited: boolean(),
1093
+ matching: literal("unicode-normalized-literal-word-boundaries")
1094
+ }),
1095
+ evidence: strictObject({
1096
+ fingerprint: id3,
1097
+ limits: strictObject({ cues: count3, bytes: count3, max_read_bytes: count3, max_transcript_pages: count3 }),
1098
+ coverage: strictObject({
1099
+ provided: count3,
1100
+ included: count3,
1101
+ omitted: nullable(count3),
1102
+ provided_exact: boolean(),
1103
+ next_cursor: nullable(reference),
1104
+ next_transcript_id: nullable(id3),
1105
+ next_reference: nullable(reference),
1106
+ transcript_pages: count3,
1107
+ skipped_unavailable: count3,
1108
+ has_more: boolean(),
1109
+ truncated_by: nullable(picklist(["cues", "bytes", "transcripts"])),
1110
+ input: literal("bounded-meeting-pages"),
1111
+ archive_completeness: literal("unknown")
1112
+ }),
1113
+ consistency: literal("live-reads"),
1114
+ max_store_calls: literal(8)
1115
+ })
1116
+ });
1117
+
1118
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-series-inventory.js
1119
+ var count4 = pipe(number(), integer(), minValue(0));
1120
+ var id4 = pipe(string(), minLength(1), maxLength(1e3));
1121
+ var meetingSeriesInventory = strictObject({
1122
+ schema_version: literal(1),
1123
+ kind: literal("meeting_series_inventory"),
1124
+ scope: strictObject({ provider: id4, account: id4 }),
1125
+ after: isoTime,
1126
+ until: isoTime,
1127
+ items: array(strictObject({
1128
+ meeting_id: id4,
1129
+ title: nullable(pipe(string(), maxLength(8192))),
1130
+ kind: picklist(["single", "recurring", "unscheduled", "unknown"]),
1131
+ scheduled_start_at: nullable(isoTime)
1132
+ })),
1133
+ page: pageSchema,
1134
+ fingerprint: pipe(string(), minLength(1), maxLength(200)),
1135
+ limits: strictObject({ limit: count4, max_read_bytes: count4, bytes: count4 }),
1136
+ coverage: strictObject({
1137
+ selection: picklist(["provider-window", "provider-inventory"]),
1138
+ source_partial: boolean(),
1139
+ has_more: boolean(),
1140
+ undated: count4,
1141
+ date_hints_outside_window: count4,
1142
+ calendar_completeness: literal("unknown"),
1143
+ occurrence_proof: literal("not-read"),
1144
+ consistency: literal("live-provider-pages")
1145
+ })
1146
+ });
1147
+
1148
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/saved-search.js
1149
+ var savedSearch = strictObject({
1150
+ id,
1151
+ /** `null` for a run in the history. */
1152
+ name: nullable(text),
1153
+ command: picklist(["search", "stats", "message-top", "author-top", "admin-statistics", "meetings-search"]),
1154
+ /** The query and the options it runs with, as the command took them. */
1155
+ params: record(string(), unknown()),
1156
+ language: text,
1157
+ version: count,
1158
+ fields_version: count,
1159
+ created_at: time,
1160
+ last_run_at: nullable(time),
1161
+ runs: count
1162
+ });
1163
+ var searchHistoryClear = strictObject({ cleared: count });
1164
+
1165
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/account.js
1166
+ var account = strictObject({
1167
+ provider: text,
1168
+ id,
1169
+ name: nullable(text),
1170
+ username: nullable(text),
1171
+ phone: optional(nullable(text)),
1172
+ scope: optional(picklist(["personal", "work"]))
1173
+ });
1174
+
1175
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/account-session.js
1176
+ var accountSession = strictObject({
1177
+ current: boolean(),
1178
+ client: nullable(text),
1179
+ device: nullable(text),
1180
+ location: nullable(text),
1181
+ last_active_at: nullable(time),
1182
+ created_at: optional(nullable(time))
1183
+ });
1184
+
1185
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/account-change.js
1186
+ var accountChange = strictObject({ operation_id: id, account: omit(account, ["provider", "scope"]) });
1187
+ var endedAccountSessions = strictObject({ operation_id: id, sessions: array(accountSession) });
1188
+ var audience = picklist(["everyone", "contacts", "nobody"]);
1189
+ var shownAudience = picklist(["everyone", "contacts", "nobody", "contacts_except"]);
1190
+ var accountPrivacy = strictObject({
1191
+ find_by_phone: optional(audience),
1192
+ phone_number: optional(audience),
1193
+ calls: optional(audience),
1194
+ chat_invites: optional(audience),
1195
+ hide_online: optional(boolean()),
1196
+ read_receipts: optional(boolean()),
1197
+ profile_photo: optional(shownAudience),
1198
+ about: optional(shownAudience),
1199
+ last_seen: optional(shownAudience)
1200
+ });
1201
+ var accountPrivacyChange = strictObject({ operation_id: id, privacy: accountPrivacy });
1202
+
1203
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/account-profile.js
1204
+ var accountProfile = strictObject({
1205
+ profile: id,
1206
+ current: boolean(),
1207
+ account: nullable(id),
1208
+ name: nullable(text),
1209
+ /** False for a profile with no session on this computer; absent when the messenger does not say. */
1210
+ signed_in: optional(boolean())
1211
+ });
1212
+
1213
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/counter-reading.js
1214
+ var milliseconds = pipe(number(), minValue(0));
1215
+ var counterReading = strictObject({
1216
+ counter: picklist(["views", "reactions", "comments"]),
1217
+ value: nullable(number()),
1218
+ observed_at: nullable(time),
1219
+ source: nullable(text),
1220
+ age_ms: nullable(milliseconds),
1221
+ freshness: picklist(["fresh", "stale", "unknown"])
1222
+ });
1223
+ var selection = record(string(), unknown());
1224
+
1225
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/admin-report.js
1226
+ var adminRow = strictObject({
1227
+ ref: reference,
1228
+ /** What `stats * evidence` takes: a person id, a stay or a message locator. */
1229
+ id,
1230
+ status: picklist(["observed", "no-observed-answer", "partial", "unknown"]),
1231
+ chat_ref: optional(reference),
1232
+ person_ref: optional(reference),
1233
+ identity_known: optional(boolean()),
1234
+ questions: optional(count),
1235
+ answered: optional(count),
1236
+ median_ms: optional(nullable(milliseconds)),
1237
+ p90_ms: optional(nullable(milliseconds)),
1238
+ age_ms: optional(milliseconds),
1239
+ joined_at: optional(time),
1240
+ window_end: optional(time),
1241
+ pending: optional(boolean()),
1242
+ views: optional(count),
1243
+ observed_replies: optional(count),
1244
+ comment_snapshot: optional(nullable(count)),
1245
+ counters: optional(array(counterReading)),
1246
+ selection
1247
+ });
1248
+ var adminReport = strictObject({
1249
+ report: picklist(["unanswered", "responses", "newcomers", "discussion"]),
1250
+ cutoff: time,
1251
+ /** Rows the report found; `rows` holds the first `--limit` of them. */
1252
+ total: count,
1253
+ summary: strictObject({
1254
+ questions: count,
1255
+ answered: count,
1256
+ no_observed_answer: count,
1257
+ excluded_future: count,
1258
+ unknown_join: count,
1259
+ missing_views: count
1260
+ }),
1261
+ quality: strictObject({
1262
+ graph: strictObject({
1263
+ unknown_links: count,
1264
+ unknown_authors: count,
1265
+ missing_parents: count,
1266
+ cycles: count,
1267
+ complete: boolean()
1268
+ }),
1269
+ archives: array(strictObject({ chat_ref: reference, state: text, fetched_at: nullable(time) })),
1270
+ archives_total: count,
1271
+ membership: text,
1272
+ counter_freshness: text,
1273
+ answerer_roles: text
1274
+ }),
1275
+ rows: array(adminRow)
1276
+ });
1277
+
1278
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/analysis-consent.js
1279
+ var analysisConsent = strictObject({ chat: id, provider: text, at: time });
1280
+ var analysisConsentRevocation = strictObject({ revoked: boolean() });
1281
+
1282
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/attachment-results.js
1283
+ var fingerprint = pipe(text, regex(/^[a-f0-9]{64}$/));
1284
+ var attachmentBytes = strictObject({
1285
+ ref: reference,
1286
+ attachment: count,
1287
+ name: nullable(text),
1288
+ mime_type: text,
1289
+ total_bytes: count,
1290
+ sha256: fingerprint,
1291
+ offset_bytes: count,
1292
+ read_bytes: count,
1293
+ next_offset_bytes: nullable(count),
1294
+ complete: boolean(),
1295
+ base64: optional(text),
1296
+ pdf: optional(strictObject({ page: count, page_count: count, source_sha256: fingerprint, source_bytes: count }))
1297
+ });
1298
+ var attachmentExtraction = union([
1299
+ strictObject({ ...omit(extractionReport, ["items"]).entries, files: array(extractionItem) }),
1300
+ extractionItem
1301
+ ]);
1302
+ var attachmentTextChange = strictObject({
1303
+ ref: reference,
1304
+ attachment: count,
1305
+ origin: literal("agent"),
1306
+ chars: count,
1307
+ replaced: nullable(picklist(["extracted", "agent"]))
1308
+ });
1309
+
1310
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chart.js
1311
+ var chart = strictObject({
1312
+ version: literal(1),
1313
+ kind: picklist(["bar", "line", "grouped-bar"]),
1314
+ title: text,
1315
+ x: strictObject({ type: picklist(["day", "week"]), values: array(text) }),
1316
+ series: array(strictObject({ name: text, values: array(nullable(number())) })),
1317
+ unit: picklist(["messages", "people"]),
1318
+ timezone: text,
1319
+ /** Lower bounds: the store or the events did not hold the whole period. */
1320
+ partial: boolean(),
1321
+ reasons: array(picklist(["store-incomplete", "events-incomplete"])),
1322
+ file: optional(strictObject({ path: text, format: picklist(["svg", "png"]), width: count, height: count }))
1323
+ });
1324
+
1325
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/folder.js
1326
+ var named = strictObject({
1327
+ id,
1328
+ title: nullable(text),
1329
+ kind: nullable(picklist(["dialog", "group", "channel", "saved", "unknown"]))
1330
+ });
1331
+ var folder = strictObject({
1332
+ id,
1333
+ title: text,
1334
+ /** Chats added by hand; a folder that selects chats by a rule of its own lists none. */
1335
+ chat_ids: array(id),
1336
+ emoji: optional(text),
1337
+ /** Kinds of chat it takes by itself. */
1338
+ include: optional(array(picklist(["contacts", "non-contacts", "groups", "channels", "bots"]))),
1339
+ skip: optional(array(picklist(["muted", "read", "archived"]))),
1340
+ excluded_chat_ids: optional(array(id)),
1341
+ pinned_chat_ids: optional(array(id)),
1342
+ /** `chats folders show`: the chats in it, pinned and left out, by name. */
1343
+ chats: optional(array(named)),
1344
+ pinned_chats: optional(array(named)),
1345
+ excluded_chats: optional(array(named))
1346
+ });
1347
+
1348
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/invite-link.js
1349
+ var inviteLink = strictObject({
1350
+ link: text,
1351
+ /** Who joins by it asks first, and an admin lets them in. */
1352
+ approval: boolean(),
1353
+ /** `null` when it never expires. */
1354
+ expires_at: nullable(time),
1355
+ /** `null` for no limit. */
1356
+ max_uses: nullable(count),
1357
+ /** The group's own link; revoking it makes the messenger issue a new one. */
1358
+ primary: optional(boolean()),
1359
+ revoked: optional(boolean()),
1360
+ pending_count: optional(count),
1361
+ joined_count: optional(count)
1362
+ });
1363
+
1364
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-admin.js
1365
+ var operated = { operation_id: id, chat_id: id };
1366
+ var group = strictObject({
1367
+ ...omit(chat, ["ref", "provider", "account", "invite_link", "members"]).entries,
1368
+ parent_chat_id: optional(nullable(id)),
1369
+ muted_until: optional(nullable(time)),
1370
+ description: nullable(text),
1371
+ link: nullable(text),
1372
+ settings: strictObject({
1373
+ ...unwrap(chat.entries.settings).entries,
1374
+ all_can_pin: nullable(boolean()),
1375
+ only_admins_add: nullable(boolean()),
1376
+ only_admins_call: nullable(boolean()),
1377
+ only_owner_edits_info: nullable(boolean()),
1378
+ members_see_link: nullable(boolean())
1379
+ })
1380
+ });
1381
+ var chatGroupChange = union([
1382
+ strictObject({ operation_id: id, chat: group }),
1383
+ strictObject({ operation_id: id, requested: literal(true) })
1384
+ ]);
1385
+ var chatInspection = strictObject({
1386
+ kind: chat.entries.kind,
1387
+ title: nullable(text),
1388
+ id: nullable(id),
1389
+ username: nullable(text),
1390
+ participants_count: nullable(count),
1391
+ description: nullable(text),
1392
+ member: nullable(boolean()),
1393
+ approval_needed: optional(boolean())
1394
+ });
1395
+ var chatSender = strictObject({
1396
+ id,
1397
+ title: text,
1398
+ kind: picklist(["self", "channel", "group"]),
1399
+ premium_required: boolean(),
1400
+ default: boolean()
1401
+ });
1402
+ var chatRead = strictObject({ ...operated, until: nullable(id), thread_id: optional(id) });
1403
+ var chatMembersFetch = strictObject({
1404
+ chat_id: id,
1405
+ joined: array(id),
1406
+ gone: array(id),
1407
+ changed: array(id),
1408
+ read: count,
1409
+ participants: nullable(count),
1410
+ complete: boolean(),
1411
+ more: boolean(),
1412
+ tracked: boolean()
1413
+ });
1414
+ var chatMembersChange = union([
1415
+ strictObject({ ...operated, added: array(id), not_added: array(id) }),
1416
+ strictObject({ ...operated, removed: array(id) })
1417
+ ]);
1418
+ var chatInvite = strictObject({ chat_id: id, title: nullable(text), link: text });
1419
+ var chatInviteChange = strictObject({
1420
+ ...operated,
1421
+ ...omit(inviteLink, ["pending_count", "joined_count"]).entries,
1422
+ pending: optional(count),
1423
+ joined: optional(count)
1424
+ });
1425
+ var chatRequestChange = union([
1426
+ strictObject({ ...operated, person_id: id, accepted: boolean(), already: boolean() }),
1427
+ strictObject({ chat_id: id, accepted: boolean(), counted: count, operation_id: optional(id) })
1428
+ ]);
1429
+ var chatAdminChange = strictObject({
1430
+ ...operated,
1431
+ person_id: id,
1432
+ rights: optional(array(picklist(["read", "members", "admins", "info", "pin", "link", "post", "edit", "delete"])))
1433
+ });
1434
+ var chatFolderChange = strictObject({
1435
+ operation_id: id,
1436
+ folder: omit(folder, ["chats", "pinned_chats", "excluded_chats"])
1437
+ });
1438
+ var chatFolderRemoval = strictObject({ operation_id: id, folder_id: id });
1439
+ var chatFolderOrder = strictObject({
1440
+ operation_id: id,
1441
+ folders: array(strictObject({ id, title: text }))
1442
+ });
1443
+
1444
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-change.js
1445
+ var operated2 = { operation_id: id, chat_id: id };
1446
+ var chatRemoval = strictObject(operated2);
1447
+ var chatMuting = strictObject({
1448
+ ...operated2,
1449
+ muted_until: nullable(union([time, literal("forever")]))
1450
+ });
1451
+ var chatArchive = strictObject({ ...operated2, archived: boolean() });
1452
+ var chatPin = strictObject({ ...operated2, pinned: boolean() });
1453
+ var chatUnread = strictObject({ ...operated2, unread: literal(true) });
1454
+
1455
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-event.js
1456
+ var who = strictObject({ id: nullable(id), name: nullable(text), username: optional(nullable(text)) });
1457
+ var chatEvent = strictObject({
1458
+ chat_id: id,
1459
+ time,
1460
+ /** `join`, `leave`, `add`, `remove`, `create`, `title`, `pin`, `profile`; a messenger may pass others through. */
1461
+ type: text,
1462
+ /** The service message that says so, where there is one. */
1463
+ message_id: optional(id),
1464
+ by: optional(who),
1465
+ people: array(who),
1466
+ /** `create` and `title` carry the chat's title. */
1467
+ title: optional(text),
1468
+ /** `profile`: the name and username seen before. */
1469
+ before: optional(strictObject({ name: nullable(text), username: nullable(text) }))
1470
+ });
1471
+
1472
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-metadata.js
1473
+ var chatMetadata = strictObject({
1474
+ chat_id: id,
1475
+ title: nullable(text),
1476
+ username: nullable(text),
1477
+ description: nullable(text),
1478
+ fetched_at: time
1479
+ });
1480
+ var cachedChatMetadata = strictObject({ chat_id: id, metadata: nullable(chatMetadata) });
1481
+ var failedChatMetadata = strictObject({ chat_id: id, error: strictObject({ code: text, message: text }) });
1482
+ var chatMetadataRefresh = strictObject({
1483
+ chats: array(union([chatMetadata, failedChatMetadata])),
1484
+ has_more: boolean()
1485
+ });
1486
+
1487
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-moderation.js
1488
+ var action = picklist(["report", "delete", "remove"]);
1489
+ var level = picklist(["deny", "readonly", "ask", "allow"]);
1490
+ var chatRules = strictObject({
1491
+ chat_id: id,
1492
+ title: nullable(text),
1493
+ file: text,
1494
+ saved: boolean(),
1495
+ rules: strictObject({
1496
+ title: nullable(text),
1497
+ trusted: array(id),
1498
+ blocked: array(id),
1499
+ blocked_names: array(text),
1500
+ links: action,
1501
+ invites: action,
1502
+ forwards: action,
1503
+ blocked_people: action,
1504
+ flood: strictObject({ messages: count, minutes: count, action }),
1505
+ new_account: strictObject({ days: count, action: picklist(["report", "remove"]) }),
1506
+ consent: strictObject({ delete: level, remove: level })
1507
+ })
1508
+ });
1509
+ var chatModeration = strictObject({
1510
+ chat_id: id,
1511
+ rows: array(strictObject({
1512
+ kind: picklist(["message", "member"]),
1513
+ rule: picklist(["blocked", "invites", "links", "forwards", "flood", "newAccount"]),
1514
+ person_id: id,
1515
+ person_name: nullable(text),
1516
+ message_id: optional(id),
1517
+ action,
1518
+ outcome: picklist(["reported", "done", "planned", "forbidden", "declined", "refused", "failed", "skipped"]),
1519
+ reason: optional(text),
1520
+ command: optional(text)
1521
+ }))
1522
+ });
1523
+
1524
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-stats.js
1525
+ var optionalCount = optional(count);
1526
+ var minutes = nullable(number());
1527
+ var chatStats = strictObject({
1528
+ chat: reference,
1529
+ since: time,
1530
+ until: time,
1531
+ /** The store holds the chat whole and the messenger read every join and leave; otherwise lower bounds. */
1532
+ complete: boolean(),
1533
+ completeness: strictObject({
1534
+ state: picklist(["complete", "partial", "unknown"]),
1535
+ up_to_date: nullable(boolean()),
1536
+ gaps: boolean(),
1537
+ reaches_start: boolean(),
1538
+ fetched_at: nullable(time)
1539
+ }),
1540
+ messages: count,
1541
+ senders: count,
1542
+ replies: count,
1543
+ threads: count,
1544
+ reactions: count,
1545
+ views: optionalCount,
1546
+ forwards: optionalCount,
1547
+ comments: optionalCount,
1548
+ top_posts: array(strictObject({
1549
+ ref: reference,
1550
+ timestamp: time,
1551
+ reactions: count,
1552
+ views: optionalCount,
1553
+ forwards: optionalCount,
1554
+ comments: optionalCount
1555
+ })),
1556
+ questions: strictObject({
1557
+ asked: count,
1558
+ answered: count,
1559
+ median_minutes_to_answer: minutes,
1560
+ answered_by: picklist(["owner", "owner-and-admins"])
1561
+ }),
1562
+ member_counts: optional(array(strictObject({ day: text, participants: nullable(count), listed: count, complete: boolean() }))),
1563
+ /** Absent where joins and leaves were not asked, or not recorded for the chat yet (then `missing` says so). */
1564
+ members: optional(strictObject({
1565
+ joined: count,
1566
+ left: count,
1567
+ net: number(),
1568
+ wrote: count,
1569
+ median_minutes_to_first_message: minutes,
1570
+ /** The messenger stopped reading its history before `since`: the counts are lower bounds. */
1571
+ more: boolean()
1572
+ })),
1573
+ series: optional(array(strictObject({ key: text, messages: count, senders: count, joined: optionalCount, left: optionalCount })))
1574
+ });
1575
+ var taskStats = strictObject({
1576
+ /** Open tasks across every row. */
1577
+ open: count,
1578
+ rows: array(strictObject({
1579
+ chat: reference,
1580
+ open: count,
1581
+ oldest_open_at: nullable(time),
1582
+ median_close_ms: nullable(pipe(number(), minValue(0)))
1583
+ }))
1584
+ });
1585
+
1586
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/chat-tracking.js
1587
+ var memberCount = strictObject({
1588
+ day: pipe(text, isoDate()),
1589
+ participants: nullable(count),
1590
+ listed: count,
1591
+ complete: boolean()
1592
+ });
1593
+ var trackedChat = strictObject({
1594
+ chat_id: id,
1595
+ title: nullable(text),
1596
+ tracked_at: time,
1597
+ last_count: nullable(memberCount)
1598
+ });
1599
+ var trackedChatHistory = strictObject({
1600
+ chat_id: id,
1601
+ tracked_at: nullable(time),
1602
+ counts: array(memberCount)
1603
+ });
1604
+ var chatTracking = strictObject({
1605
+ chat_id: id,
1606
+ tracked: boolean()
1607
+ });
1608
+
1609
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact.js
1610
+ var contact = strictObject({
1611
+ ref: reference,
1612
+ id,
1613
+ name: nullable(text),
1614
+ username: nullable(text),
1615
+ alias: optional(nullable(text)),
1616
+ display_name: optional(nullable(text)),
1617
+ /** Whatever they wrote about themselves. */
1618
+ description: nullable(text),
1619
+ /** The newest message in a one-to-one chat with them. */
1620
+ last_messaged_at: nullable(time),
1621
+ /** For a source that knows it, such as a Zoom contact. */
1622
+ email: optional(nullable(text)),
1623
+ phones: optional(array(strictObject({ number: text, label: nullable(text) }))),
1624
+ /** `contacts show`: the chats shared with them. */
1625
+ chats: optional(array(pick(chat, ["ref", "id", "title", "kind", "last_message_at"]))),
1626
+ /** `contacts show --with-notes`: the owner's private notes about them. */
1627
+ notes: optional(array(strictObject({ id, text, revision: count, created_at: time, updated_at: time })))
1628
+ });
1629
+
1630
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact-activity.js
1631
+ var linkedIdentity = strictObject({
1632
+ provider: text,
1633
+ id,
1634
+ name: nullable(text),
1635
+ username: nullable(text),
1636
+ is_bot: nullable(boolean()),
1637
+ accounts: array(id),
1638
+ method: text,
1639
+ linked_by: text,
1640
+ linked_at: time
1641
+ });
1642
+ var linkedPerson = strictObject({ uid: id, name: nullable(text), identities: array(linkedIdentity) });
1643
+ var contactActivity = strictObject({
1644
+ at: time,
1645
+ subject: text,
1646
+ subject_id: count,
1647
+ role: text,
1648
+ scope: text,
1649
+ provider: nullable(text),
1650
+ account: nullable(text),
1651
+ chat_id: nullable(text),
1652
+ locator: nullable(text),
1653
+ project_id: nullable(count)
1654
+ });
1655
+ var botReason = picklist(Object.keys(WEIGHTS));
1656
+ var contactCheck = strictObject({
1657
+ person: strictObject({ id, name: nullable(text), username: nullable(text), provider: text }),
1658
+ score: count,
1659
+ reasons: array(strictObject({ reason: botReason, weight: count, source: text, detail: optional(text) })),
1660
+ registries: array(strictObject({
1661
+ name: picklist(["cas", "lols"]),
1662
+ answer: picklist(["listed", "clean", "unknown"]),
1663
+ checked_at: time,
1664
+ detail: optional(text),
1665
+ reasons: optional(array(picklist(["cas_banned", "lols_banned", "lols_scammer"])))
1666
+ })),
1667
+ unknown: array(botReason),
1668
+ checked_at: time
1669
+ });
1670
+
1671
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact-context.js
1672
+ var contextPerson = strictObject({ ...linkedPerson.entries, provider: text, id });
1673
+ var contextMessage = strictObject({
1674
+ locator: reference,
1675
+ provider: text,
1676
+ account: id,
1677
+ chat_id: id,
1678
+ chat_title: nullable(text),
1679
+ id,
1680
+ timestamp: time,
1681
+ sender_id: nullable(id),
1682
+ sender_name: nullable(text),
1683
+ outgoing: nullable(boolean()),
1684
+ text
1685
+ });
1686
+ var sharedChat = strictObject({
1687
+ provider: text,
1688
+ account: id,
1689
+ chat_id: id,
1690
+ title: nullable(text),
1691
+ kind: chat.entries.kind,
1692
+ last_message_at: nullable(time)
1693
+ });
1694
+ var contextEvent = strictObject({
1695
+ ref: reference,
1696
+ title: nullable(text),
1697
+ starts_at: nullable(time),
1698
+ ends_at: nullable(time),
1699
+ all_day: boolean(),
1700
+ location: nullable(text),
1701
+ status: nullable(text)
1702
+ });
1703
+ var context = strictObject({
1704
+ person: contextPerson,
1705
+ shared: array(sharedChat),
1706
+ last: strictObject({
1707
+ from_them: nullable(contextMessage),
1708
+ from_me: nullable(contextMessage),
1709
+ from_them_anywhere: nullable(contextMessage)
1710
+ }),
1711
+ recent: strictObject({ direct: array(contextMessage), groups: array(contextMessage) }),
1712
+ mentions: array(contextMessage),
1713
+ /** Calendar events they are invited to, one occurrence per series. */
1714
+ events: optional(strictObject({ upcoming: array(contextEvent), recent: array(contextEvent) })),
1715
+ limits: strictObject({ messages: count, bytes: count }),
1716
+ complete: boolean(),
1717
+ not_read: array(strictObject({
1718
+ provider: text,
1719
+ account: id,
1720
+ chat_id: id,
1721
+ title: nullable(text),
1722
+ reason: picklist(["not_fetched", "partial"])
1723
+ }))
1724
+ });
1725
+ var shortMessage = strictObject({ at: time, text, transcript: optional(text) });
1726
+ var identifiedMessage = strictObject({
1727
+ ...shortMessage.entries,
1728
+ id,
1729
+ locator: reference,
1730
+ sender_id: nullable(id),
1731
+ reply_to: nullable(id)
1732
+ });
1733
+ var counterObservation = strictObject({
1734
+ value: number(),
1735
+ observed_at: time,
1736
+ source: picklist(["remote_fetch", "remote_update"]),
1737
+ reactions: optional(message.entries.reactions.wrapped.wrapped)
1738
+ });
1739
+ var { reply_addresses: mailReplyTo, ...mailFields } = message.entries.email.wrapped.entries;
1740
+ var fullMessage = strictObject({
1741
+ ...pick(message, [
1742
+ "id",
1743
+ "chat_id",
1744
+ "chat_title",
1745
+ "excerpt",
1746
+ "sender_id",
1747
+ "sender_name",
1748
+ "sender_username",
1749
+ "mentions",
1750
+ "sender_is_chat",
1751
+ "timestamp",
1752
+ "edited_at",
1753
+ "text",
1754
+ "outgoing",
1755
+ "attachments",
1756
+ "reply_to",
1757
+ "reply_to_id",
1758
+ "forwarded_from",
1759
+ "thread_id",
1760
+ "thread_root_id",
1761
+ "scheduled_for",
1762
+ "provider_metadata",
1763
+ "delivery"
1764
+ ]).entries,
1765
+ reactions: nullable(message.entries.reactions.wrapped.wrapped),
1766
+ starred: optional(boolean()),
1767
+ email: optional(strictObject({ ...mailFields, reply_to: mailReplyTo })),
1768
+ counter_observations: optional(partial(strictObject({
1769
+ views: counterObservation,
1770
+ reactions: counterObservation,
1771
+ comments: counterObservation
1772
+ }))),
1773
+ ...shortMessage.entries,
1774
+ locator: reference
1775
+ });
1776
+ var contactMessages = strictObject({
1777
+ person: strictObject({ uid: id, provider: text, id, name: nullable(text) }),
1778
+ chats: array(strictObject({
1779
+ chat: pick(chat, ["id", "title", "kind"]),
1780
+ messages: array(union([shortMessage, identifiedMessage, fullMessage])),
1781
+ complete: boolean(),
1782
+ more: boolean()
1783
+ })),
1784
+ limits: strictObject({ messages: count })
1785
+ });
1786
+ var contactContext = union([context, contactMessages]);
1787
+ var coverage = strictObject({
1788
+ included: count,
1789
+ has_more: boolean(),
1790
+ cut_by: nullable(picklist(["limit", "bytes"]))
1791
+ });
1792
+ var meetingCue = strictObject({
1793
+ reference,
1794
+ fingerprint: text,
1795
+ transcript_id: count,
1796
+ content_hash: nullable(text),
1797
+ position: count,
1798
+ start_ms: count,
1799
+ end_ms: count,
1800
+ speaker_participant_id: nullable(count),
1801
+ speaker_name: nullable(text),
1802
+ text,
1803
+ revision: picklist(["current", "superseded"])
1804
+ });
1805
+ var contactPreparation = strictObject({
1806
+ ...context.entries,
1807
+ prepare: strictObject({
1808
+ waiting: array(strictObject({
1809
+ provider: text,
1810
+ account: id,
1811
+ chat_id: id,
1812
+ title: nullable(text),
1813
+ message: contextMessage,
1814
+ partial: boolean()
1815
+ })),
1816
+ tasks: array(strictObject({
1817
+ ref: reference,
1818
+ title: text,
1819
+ role: text,
1820
+ due_at: nullable(time),
1821
+ project: reference,
1822
+ source: nullable(reference),
1823
+ created_at: time
1824
+ })),
1825
+ facts: array(strictObject({
1826
+ ref: reference,
1827
+ type: text,
1828
+ statement: text,
1829
+ subject: nullable(reference),
1830
+ project: nullable(reference),
1831
+ updated_at: time
1832
+ })),
1833
+ notes: array(strictObject({ ref: reference, title: nullable(text), text, revision: count, updated_at: time })),
1834
+ meetings: array(strictObject({
1835
+ reference,
1836
+ cues: array(meetingCue),
1837
+ cue_coverage: strictObject({ included: count, omitted: nullable(count), has_more: boolean() })
1838
+ })),
1839
+ limits: strictObject({ items: count, bytes: count }),
1840
+ coverage: strictObject({
1841
+ waiting: strictObject({
1842
+ ...coverage.entries,
1843
+ rule: literal("their message is the newest the store holds in a one-to-one chat")
1844
+ }),
1845
+ tasks: strictObject({
1846
+ ...coverage.entries,
1847
+ selection: literal("open, assigned to them in any role"),
1848
+ accounts: array(text)
1849
+ }),
1850
+ facts: strictObject({
1851
+ ...coverage.entries,
1852
+ selection: literal("accepted, about them or a project they are a member of")
1853
+ }),
1854
+ notes: strictObject({
1855
+ ...coverage.entries,
1856
+ selection: literal("written by you, about them"),
1857
+ withheld: optional(literal("contacts.notes.list"))
1858
+ }),
1859
+ meetings: strictObject({
1860
+ ...coverage.entries,
1861
+ read: literal("every account of the store that saw them"),
1862
+ accounts: array(text),
1863
+ pending: count
1864
+ })
1865
+ })
1866
+ })
1867
+ });
1868
+
1869
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact-note.js
1870
+ var contactNote = strictObject({
1871
+ id,
1872
+ /** The contact, as a `contact:` reference. */
1873
+ contact: reference,
1874
+ text,
1875
+ /** Starts at 1; an edit names the revision it read. */
1876
+ revision: count,
1877
+ created_at: time,
1878
+ updated_at: time
1879
+ });
1880
+
1881
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact-read.js
1882
+ var contactLookup = strictObject({ id, name: nullable(text), username: nullable(text) });
1883
+ var contactSync = strictObject({ added: count, changed: count, known: count });
1884
+ var contactProfile = strictObject({
1885
+ id,
1886
+ name: nullable(text),
1887
+ usernames: array(text),
1888
+ bio: nullable(text),
1889
+ birthday: optional(nullable(text)),
1890
+ phone: optional(nullable(text)),
1891
+ flags: partial(strictObject({
1892
+ bot: boolean(),
1893
+ verified: boolean(),
1894
+ premium: boolean(),
1895
+ scam: boolean(),
1896
+ fake: boolean(),
1897
+ restricted: boolean(),
1898
+ deleted: boolean(),
1899
+ support: boolean()
1900
+ })),
1901
+ seen: optional(text),
1902
+ contact: optional(boolean()),
1903
+ mutual_contact: optional(boolean()),
1904
+ common_chats_count: optional(nullable(count)),
1905
+ registered: optional(nullable(strictObject({
1906
+ at: text,
1907
+ source: picklist(["telegram", "max", "estimate"]),
1908
+ precision: picklist(["day", "month"])
1909
+ }))),
1910
+ has_photo: optional(boolean()),
1911
+ chats: array(strictObject({
1912
+ id,
1913
+ title: nullable(text),
1914
+ kind: chat.entries.kind,
1915
+ their_messages: count,
1916
+ first_at: nullable(time),
1917
+ last_at: nullable(time),
1918
+ complete: boolean()
1919
+ })),
1920
+ aliases: array(strictObject({
1921
+ name: optional(text),
1922
+ username: optional(text),
1923
+ link: optional(text),
1924
+ first_seen_at: time,
1925
+ last_seen_at: time,
1926
+ source: picklist(["profile", "messages"])
1927
+ }))
1928
+ });
1929
+
1930
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/contact-write.js
1931
+ var addressBookPerson = strictObject({ id, name: nullable(text), username: nullable(text) });
1932
+ var contactUpdate = strictObject({ operation_id: id, person: addressBookPerson });
1933
+ var contactStateChange = strictObject({ operation_id: id, person_id: id });
1934
+ var contactImport = strictObject({ operation_id: id, sent: count, recognised: array(addressBookPerson) });
1935
+
1936
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/conversation-results.js
1937
+ var conversationDetails = union([
1938
+ strictObject({ ...conversation.entries, messages: array(message) }),
1939
+ message
1940
+ ]);
1941
+ var conversationBatchStatus = strictObject({
1942
+ chat: id,
1943
+ messages: count,
1944
+ characters: count,
1945
+ batches: count,
1946
+ tokens_estimate: count
1947
+ });
1948
+ var batchMessage = strictObject({
1949
+ id,
1950
+ at: time,
1951
+ sender: strictObject({ id: nullable(id), name: nullable(text) }),
1952
+ text,
1953
+ reply_to: optional(id),
1954
+ thread: optional(id),
1955
+ mentions: optional(array(id)),
1956
+ answer: boolean(),
1957
+ candidates: optional(array(strictObject({ parent: nullable(id), source: text, kind: text, confidence: number() })))
1958
+ });
1959
+ var conversationBatch = union([
1960
+ strictObject({ batch: null_() }),
1961
+ strictObject({
1962
+ batch: id,
1963
+ chat: id,
1964
+ messages: array(batchMessage),
1965
+ remaining: strictObject({ messages: count, characters: count })
1966
+ })
1967
+ ]);
1968
+ var analyzedConversation = strictObject({
1969
+ chat: id,
1970
+ model: text,
1971
+ batches: count,
1972
+ stored: count,
1973
+ tokens: count,
1974
+ reserved_tokens: count,
1975
+ max_tokens: count,
1976
+ stopped: picklist(["complete", "budget"]),
1977
+ remaining: conversationBatchStatus,
1978
+ built: optional(conversationBuild)
1979
+ });
1980
+ var conversationBuildResult = union([conversationBuild, conversationPreparation, analyzedConversation]);
1981
+ var conversationEmbedding = union([chatEmbedding, conversationPreparation]);
1982
+ var conversationChange = union([
1983
+ strictObject({ chat: id, stored: count }),
1984
+ strictObject({ chat: id, cleared: count })
1985
+ ]);
1986
+ var conversationReadiness = strictObject({
1987
+ chat: id,
1988
+ model: text,
1989
+ state: picklist(["ready", "stale", "partial", "words-only", "not-built"]),
1990
+ graph: nullable(strictObject({ built_at: time, rules_version: nullable(count), outdated_rules: boolean() })),
1991
+ pending: strictObject({ new: count, edited: count, deleted: count }),
1992
+ vectors: strictObject({ chunks: count, current: count, stale: count, missing: count })
1993
+ });
1994
+ var conversationEmbeddingStatus = strictObject({
1995
+ chat: id,
1996
+ model: text,
1997
+ chunks: count,
1998
+ embedded: count,
1999
+ left: count,
2000
+ estimate_seconds: nullable(number()),
2001
+ tokens_at_most: count,
2002
+ price_at_most: optional(strictObject({ usd: number(), read: text }))
2003
+ });
2004
+ var summary = strictObject({
2005
+ id,
2006
+ chat_id: id,
2007
+ first_message_id: id,
2008
+ first_at: time,
2009
+ last_at: time,
2010
+ message_count: count,
2011
+ senders: count,
2012
+ built_at: time,
2013
+ algorithm_version: count
2014
+ });
2015
+ var conversationHit = strictObject({
2016
+ source: optional(strictObject({ provider: text, account: id })),
2017
+ locator: optional(reference),
2018
+ summary,
2019
+ chunk: strictObject({ first_message_id: id, last_message_id: id }),
2020
+ score: nullable(number()),
2021
+ matched_in: optional(literal("context")),
2022
+ by: array(picklist(["meaning", "words"])),
2023
+ stale: boolean()
2024
+ });
2025
+
2026
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/counters.js
2027
+ var counters = strictObject({
2028
+ cutoff: time,
2029
+ max_age_ms: milliseconds,
2030
+ /** Pins exactly these messages for `counters refresh --selection`. */
2031
+ selection: strictObject({
2032
+ kind: literal("counter-targets"),
2033
+ version: literal(1),
2034
+ locators: array(reference)
2035
+ }),
2036
+ rows: array(strictObject({ ref: reference, counters: array(counterReading) }))
2037
+ });
2038
+ var counterRefresh = strictObject({
2039
+ dry_run: boolean(),
2040
+ targets: array(reference),
2041
+ counters: array(text),
2042
+ supported: array(text),
2043
+ unsupported: array(text),
2044
+ max_messages: count,
2045
+ time_ms: milliseconds,
2046
+ results: optional(array(strictObject({
2047
+ ref: reference,
2048
+ updated: array(text),
2049
+ missing: array(text),
2050
+ status: text
2051
+ }))),
2052
+ stopped: optional(text),
2053
+ complete: optional(boolean())
2054
+ });
2055
+
2056
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/document.js
2057
+ var document = strictObject({
2058
+ ref: reference,
2059
+ id,
2060
+ title: nullable(text),
2061
+ url: nullable(text),
2062
+ mime: optional(text),
2063
+ size: optional(count),
2064
+ /** When its source last changed it. */
2065
+ source_modified_at: nullable(time),
2066
+ /** When the store last read it; not the source's time. */
2067
+ stored_at: optional(nullable(time)),
2068
+ owners: optional(array(text))
2069
+ });
2070
+
2071
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/document-link.js
2072
+ var documentLink = strictObject({
2073
+ ref: reference,
2074
+ url: text,
2075
+ document_id: nullable(id),
2076
+ title: nullable(text),
2077
+ in_store: boolean(),
2078
+ sent_at: time,
2079
+ sender: strictObject({ id: nullable(id), name: nullable(text) })
2080
+ });
2081
+
2082
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/evidence.js
2083
+ var evidenceMessage = pick(message, ["ref", "chat_title", "timestamp", "sender_name", "text"]);
2084
+ var contribution = strictObject({
2085
+ message: evidenceMessage,
2086
+ related: optional(evidenceMessage),
2087
+ contribution: nullable(number()),
2088
+ counters: optional(array(counterReading))
2089
+ });
2090
+ var retentionStay = strictObject({
2091
+ person_ref: reference,
2092
+ joined_at: time,
2093
+ cohort: text,
2094
+ checkpoints: array(strictObject({
2095
+ checkpoint_ms: milliseconds,
2096
+ target_at: time,
2097
+ state: text,
2098
+ observed_at: nullable(time),
2099
+ lag_ms: nullable(milliseconds),
2100
+ complete: boolean()
2101
+ })),
2102
+ activity: strictObject({
2103
+ state: text,
2104
+ first_message_at: nullable(time),
2105
+ window_end: nullable(time),
2106
+ archive_covered: boolean()
2107
+ }),
2108
+ departure: strictObject({ after: nullable(time), at_or_before: nullable(time), early: text })
2109
+ });
2110
+ var evidence = union([contribution, retentionStay]);
2111
+
2112
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/fact.js
2113
+ var fact = strictObject({
2114
+ ref: reference,
2115
+ id,
2116
+ kind: picklist(FACT_TYPES),
2117
+ text,
2118
+ status: picklist(FACT_STATUSES),
2119
+ project: nullable(text),
2120
+ subject: nullable(reference),
2121
+ occurred_at: nullable(time),
2122
+ supersedes: nullable(reference),
2123
+ author,
2124
+ model: nullable(text),
2125
+ /** Who accepted it; `null` while it is proposed. */
2126
+ confirmed_by: optional(nullable(strictObject({ type: picklist(["person", "bot"]), id }))),
2127
+ scope: nullable(picklist(MEMORY_SCOPES)),
2128
+ /** Who recorded it: the owner, or an agent whose fact waits as proposed. */
2129
+ origin: picklist(["owner", "agent"]),
2130
+ evidence: array(reference),
2131
+ created_at: time,
2132
+ updated_at: time
2133
+ });
2134
+
2135
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/hit.js
2136
+ var hit = strictObject({
2137
+ kind: picklist(["message", "mail", "note", "document", "event", "meeting"]),
2138
+ ref: reference,
2139
+ provider: text,
2140
+ url: optional(text),
2141
+ /** The account it was found in; a note's folder id, or `internal` for a note written in memo. */
2142
+ account: text,
2143
+ /** The chat, the mail thread's subject, the note's, the event's or the meeting's title. */
2144
+ title: nullable(text),
2145
+ /** Null for a meeting whose start is unknown. */
2146
+ timestamp: nullable(time),
2147
+ excerpt: text,
2148
+ sender_name: optional(nullable(text)),
2149
+ /** The writer's `person:` reference, where the store has one. */
2150
+ sender_ref: optional(nullable(reference)),
2151
+ found_by: optional(array(picklist(["title", "words", "meaning"]))),
2152
+ /** How far into the meeting the passage is. */
2153
+ offset_ms: optional(nullable(count)),
2154
+ /** A meeting passage's place: its transcript, chat or summary. */
2155
+ scope: optional(picklist(["transcript", "chat", "summary"])),
2156
+ /** A meeting passage's stored line, so two passages of one meeting stay apart; `search meetings` gives the same. */
2157
+ id: optional(pipe(string(), minLength(1))),
2158
+ /** Absent on a note hit: the owner wrote it. */
2159
+ untrusted
2160
+ });
2161
+
2162
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/identity.js
2163
+ var identity = strictObject({
2164
+ ref: reference,
2165
+ provider: text,
2166
+ account: text,
2167
+ /** The messenger's own id for them. */
2168
+ id,
2169
+ name: nullable(text),
2170
+ username: nullable(text),
2171
+ /** The `person:` they are linked to, when one is. */
2172
+ person: optional(nullable(reference))
2173
+ });
2174
+
2175
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/image-embedding.js
2176
+ var imageEmbedding = strictObject({
2177
+ model: text,
2178
+ embedded: count,
2179
+ skipped: count,
2180
+ failed: count,
2181
+ more: boolean()
2182
+ });
2183
+
2184
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/join-request.js
2185
+ var joinRequest = strictObject({
2186
+ person_id: id,
2187
+ name: nullable(text),
2188
+ username: nullable(text),
2189
+ /** `null` where the messenger does not say. */
2190
+ requested_at: nullable(time),
2191
+ /** The note they sent with the request. */
2192
+ about: optional(text)
2193
+ });
2194
+
2195
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/poll-vote.js
2196
+ var pollVote = strictObject({
2197
+ person_id: id,
2198
+ name: nullable(text),
2199
+ username: nullable(text),
2200
+ /** Answer ids, as `polls show` prints them. */
2201
+ answers: array(id),
2202
+ voted_at: time
2203
+ });
2204
+
2205
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/listener.js
2206
+ var reactions = unwrap(unwrap(message.entries.reactions));
2207
+ var observation = strictObject({
2208
+ value: pipe(number(), minValue(0)),
2209
+ observed_at: time,
2210
+ source: picklist(["remote_fetch", "remote_update"]),
2211
+ reactions: optional(reactions)
2212
+ });
2213
+ var watchedMessage = strictObject({
2214
+ ...message.entries,
2215
+ starred: optional(boolean()),
2216
+ counter_observations: optional(partial(strictObject({ views: observation, reactions: observation, comments: observation })))
2217
+ });
2218
+ var target = { chat_id: id, chat_title: nullable(text), message_id: id };
2219
+ var messageEvent = variant("event", [
2220
+ strictObject({ event: picklist(["message", "edit"]), message: watchedMessage }),
2221
+ strictObject({ event: literal("delete"), ...target, chat_id: nullable(id) }),
2222
+ strictObject({ event: literal("reaction"), ...target, reactions, counter_observation: optional(observation) }),
2223
+ strictObject({ event: literal("vote"), ...target, vote: pollVote }),
2224
+ strictObject({
2225
+ event: literal("person_reaction"),
2226
+ ...target,
2227
+ reaction: strictObject({ person: member, own: boolean(), reaction: nullable(text), reacted_at: time })
2228
+ }),
2229
+ strictObject({ event: literal("star"), ...target, starred: boolean() }),
2230
+ strictObject({ event: literal("delivery"), ...target, delivery: unwrap(message.entries.delivery), at: time }),
2231
+ strictObject({ event: literal("chat_event"), chat_id: id, chat_title: nullable(text), change: chatEvent })
2232
+ ]);
2233
+ var watchItem = union([watchedMessage, messageEvent]);
2234
+ var totals = record(text, count);
2235
+ var serveSummary = strictObject({
2236
+ profile: text,
2237
+ started_at: time,
2238
+ stopped_at: time,
2239
+ kept: totals,
2240
+ replies: optional(strictObject({ sent: totals, skipped: totals, tasks: optional(totals) })),
2241
+ members: optional(strictObject({ fetched: count, failed: count })),
2242
+ stems: optional(strictObject({ stemmed: count })),
2243
+ tasks: optional(strictObject({ added: count, closed: count, review: count }))
2244
+ });
2245
+
2246
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/media-archive.js
2247
+ var mediaArchive = strictObject({
2248
+ directory: text,
2249
+ chats: count,
2250
+ saved: count,
2251
+ existing: count,
2252
+ complete: boolean()
2253
+ });
2254
+ var mediaArchiveCheck = strictObject({
2255
+ valid: boolean(),
2256
+ checked: count,
2257
+ files: array(strictObject({ path: text, valid: boolean(), archive_directory: optional(text) }))
2258
+ });
2259
+ var mediaArchiveMove = strictObject({
2260
+ directory: text,
2261
+ archive_directory: text,
2262
+ before_time: time,
2263
+ selected: count,
2264
+ selected_bytes: count,
2265
+ moved: count,
2266
+ moved_bytes: count,
2267
+ already_archived: count,
2268
+ undated: count,
2269
+ complete: boolean(),
2270
+ dry_run: boolean()
2271
+ });
2272
+ var timer = { name: text, installed: boolean(), service_path: text, timer_path: text };
2273
+ var mediaArchiveTimer = union([
2274
+ strictObject({ ...timer, active: boolean() }),
2275
+ strictObject({ ...timer, action: picklist(["install", "start", "stop", "uninstall"]) })
2276
+ ]);
2277
+
2278
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-evidence.js
2279
+ var meetingEvidence = preparationEvidence;
2280
+ var meetingPersonContext = strictObject({
2281
+ person: strictObject({ uid: string(), name: nullable(string()) }),
2282
+ items: array(strictObject({
2283
+ ref: reference,
2284
+ cues: array(preparationCue),
2285
+ cue_coverage: strictObject({ included: preparationCount, omitted: nullable(preparationCount), has_more: boolean() })
2286
+ })),
2287
+ limits: strictObject({ meetings: preparationCount, cues: preparationCount, bytes: preparationCount, scan_limit: preparationCount }),
2288
+ content_bytes: preparationCount,
2289
+ coverage: strictObject({
2290
+ involvements_scanned: preparationCount,
2291
+ scan_limit_reached: boolean(),
2292
+ pending: preparationCount,
2293
+ truncated_by: nullable(picklist(["meetings", "bytes"])),
2294
+ skipped_unavailable: preparationCount,
2295
+ complete: literal(false),
2296
+ input: literal("bounded-meeting-pages")
2297
+ })
2298
+ });
2299
+
2300
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-findings.js
2301
+ var evidence2 = strictObject({ reference, fingerprint: text });
2302
+ var base = { id, project: reference, evidence: array(evidence2) };
2303
+ var finding = variant("kind", [
2304
+ strictObject({ ...base, kind: literal("fact"), type: picklist(FACT_TYPES), statement: text }),
2305
+ strictObject({
2306
+ ...base,
2307
+ kind: literal("task"),
2308
+ type: picklist(WORK_TASK_TYPES),
2309
+ title: text,
2310
+ reason: text,
2311
+ commitment: picklist(["explicit", "inferred"]),
2312
+ due_at: optional(time),
2313
+ due_evidence: optional(array(reference)),
2314
+ assignee: optional(reference),
2315
+ assignee_evidence: optional(array(reference))
2316
+ })
2317
+ ]);
2318
+ var outcome = strictObject({
2319
+ id,
2320
+ fingerprint: text,
2321
+ status: picklist(["accepted", "rejected"]),
2322
+ reference: nullable(reference),
2323
+ reused: boolean()
2324
+ });
2325
+ var meetingFindings = strictObject({
2326
+ id,
2327
+ account: strictObject({ provider: text, account: text }),
2328
+ input: strictObject({ schema_version: literal(1), key: text, extractor: text, findings: array(finding) }),
2329
+ fingerprint: text,
2330
+ status: picklist(["proposed", "reviewed"]),
2331
+ author,
2332
+ decided_by: nullable(strictObject({ type: picklist(["person", "bot"]), id })),
2333
+ decided_at: nullable(time),
2334
+ previous: array(outcome),
2335
+ receipt: nullable(strictObject({ preview_fingerprint: text, accepted: array(id), items: array(outcome) }))
2336
+ });
2337
+
2338
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/meeting-task-proposal.js
2339
+ var text4 = string();
2340
+ var id5 = pipe(number(), integer(), minValue(1));
2341
+ var revision = picklist(["current", "superseded"]);
2342
+ var meetingTaskProposal = strictObject({
2343
+ id: text4,
2344
+ source: reference,
2345
+ source_kind: literal("meeting"),
2346
+ group: reference,
2347
+ account_id: id5,
2348
+ kind: picklist(TASK_KINDS),
2349
+ preview: nullable(text4),
2350
+ revision: nullable(revision),
2351
+ applied: literal(false),
2352
+ persistence: literal("proposal-only")
2353
+ });
2354
+
2355
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/memory.js
2356
+ var memory = strictObject({
2357
+ ref: reference,
2358
+ id,
2359
+ kind: picklist(MEMORY_KINDS),
2360
+ text,
2361
+ subject: nullable(reference),
2362
+ author,
2363
+ model: nullable(text),
2364
+ confidence: nullable(number()),
2365
+ status: picklist(MEMORY_STATUSES),
2366
+ scope: picklist(MEMORY_SCOPES),
2367
+ supersedes: nullable(reference),
2368
+ evidence: array(reference),
2369
+ last_verified_at: nullable(time),
2370
+ created_at: time,
2371
+ updated_at: time
2372
+ });
2373
+
2374
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/mention.js
2375
+ var kind = picklist(["phone", "email", "url", "document", "person-name", "place"]);
2376
+ var status = picklist(["found", "linked", "dismissed"]);
2377
+ var mention = strictObject({
2378
+ id: count,
2379
+ kind,
2380
+ value: text,
2381
+ domain: nullable(text),
2382
+ confidence: number(),
2383
+ status,
2384
+ field: text,
2385
+ author: nullable(text),
2386
+ target: nullable(reference),
2387
+ sent_at: time,
2388
+ found_at: time,
2389
+ written: text,
2390
+ locator: reference
2391
+ });
2392
+ var mentionDetails = strictObject({
2393
+ ...mention.entries,
2394
+ before: text,
2395
+ after: text,
2396
+ same_value: count,
2397
+ candidates: array(reference)
2398
+ });
2399
+ var mentionDomain = strictObject({ domain: text, links: count, chats: count, first_at: time, last_at: time });
2400
+ var place = strictObject({ id: count, address: text, mentions: count });
2401
+ var mentionDecision = strictObject({
2402
+ kind,
2403
+ value: text,
2404
+ status,
2405
+ target: nullable(reference),
2406
+ mentions: count
2407
+ });
2408
+ var mentionRebuild = strictObject({
2409
+ messages: count,
2410
+ attachments: count,
2411
+ documents: count,
2412
+ notes: count,
2413
+ emails: count,
2414
+ mentions: count
2415
+ });
2416
+
2417
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-change.js
2418
+ var operated3 = { operation_id: id, chat_id: id };
2419
+ var messagePin = strictObject({ ...operated3, message_id: id, pinned: boolean() });
2420
+ var messageStar = strictObject({ ...operated3, message_id: id, starred: boolean() });
2421
+ var messageDeletion = strictObject({ ...operated3, deleted: array(id), for_everyone: boolean() });
2422
+
2423
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-read.js
2424
+ var messageTranscript = strictObject({
2425
+ message_id: id,
2426
+ text,
2427
+ pending: boolean(),
2428
+ via: text,
2429
+ model: optional(text)
2430
+ });
2431
+ var conversationLink = strictObject({
2432
+ parent_id: nullable(id),
2433
+ source: picklist(["provider", "rule", "agent"]),
2434
+ kind: text,
2435
+ confidence: number(),
2436
+ method: text,
2437
+ version: nullable(text),
2438
+ created_at: time,
2439
+ stale: boolean(),
2440
+ chosen: boolean()
2441
+ });
2442
+ var messageLinks = strictObject({
2443
+ chat: id,
2444
+ message: id,
2445
+ links: array(conversationLink),
2446
+ chain: array(id)
2447
+ });
2448
+ var fingerprint2 = pipe(text, regex(/^[a-f0-9]{64}$/));
2449
+ var evidencePacket = strictObject({
2450
+ schema_version: literal(1),
2451
+ id,
2452
+ kind: picklist(["chats", "news", "person"]),
2453
+ source: strictObject({ provider: text, account: id, chat: id }),
2454
+ fingerprint: fingerprint2,
2455
+ limits: strictObject({ messages: count, bytes: count }),
2456
+ content_bytes: count,
2457
+ coverage: strictObject({
2458
+ provided: count,
2459
+ included: count,
2460
+ omitted: count,
2461
+ has_more: boolean(),
2462
+ history: literal("unknown"),
2463
+ truncated_by: nullable(picklist(["messages", "bytes"]))
2464
+ }),
2465
+ items: array(strictObject({
2466
+ locator: reference,
2467
+ fingerprint: fingerprint2,
2468
+ timestamp: time,
2469
+ edited_at: nullable(time),
2470
+ sender_id: nullable(id),
2471
+ sender_name: nullable(text),
2472
+ sender_is_chat: boolean(),
2473
+ outgoing: nullable(boolean()),
2474
+ text,
2475
+ reply_to: nullable(reference),
2476
+ thread_id: nullable(id),
2477
+ attachment_kinds: array(text)
2478
+ }))
2479
+ });
2480
+
2481
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-context.js
2482
+ var messageThread = strictObject({
2483
+ ref: reference,
2484
+ chat: id,
2485
+ message: id,
2486
+ mode: picklist(["thread", "time"]),
2487
+ fallback: optional(picklist(["not_built", "not_stored", "not_linked"])),
2488
+ items: array(message),
2489
+ links: array(strictObject({ ...conversationLink.entries, message_id: id })),
2490
+ chain: array(id),
2491
+ stale: boolean(),
2492
+ built_at: nullable(time),
2493
+ stopped: array(picklist(["hops", "messages", "bytes", "time", "links", "cycle", "aborted", "thread"])),
2494
+ bounds: strictObject({ max_hops: count, max_messages: count, max_bytes: count, within_ms: count })
2495
+ });
2496
+ var messageContext = union([message, messageThread]);
2497
+
2498
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-counts.js
2499
+ var messageCounts = strictObject({
2500
+ by: picklist(["chat", "sender", "day", "hour"]),
2501
+ total: count,
2502
+ rows: array(strictObject({
2503
+ /** The chat or sender id, or the calendar day or hour. */
2504
+ key: text,
2505
+ ref: optional(reference),
2506
+ name: nullable(text),
2507
+ count
2508
+ }))
2509
+ });
2510
+
2511
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-link.js
2512
+ var messageLink = strictObject({
2513
+ ref: reference,
2514
+ url: nullable(text),
2515
+ access: picklist(["public", "restricted", "unknown", "unavailable"]),
2516
+ /** Why there is no link. */
2517
+ reason: nullable(picklist(["unsupported_chat", "unsupported_provider", "offline"]))
2518
+ });
2519
+
2520
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/message-write.js
2521
+ var messageWrite = strictObject({
2522
+ operation_id: id,
2523
+ message,
2524
+ /** An album's messages, in order; `message` is the first. Absent for a single message. */
2525
+ messages: optional(array(message)),
2526
+ scheduled_for: optional(time)
2527
+ });
2528
+ var draftWrite = strictObject({
2529
+ operation_id: id,
2530
+ chat_id: id,
2531
+ saved: literal(true)
2532
+ });
2533
+ var messageSend = union([messageWrite, draftWrite]);
2534
+
2535
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/model.js
2536
+ var model = strictObject({
2537
+ id,
2538
+ kind: picklist(["audio", "text", "image", "reranker"]),
2539
+ title: text,
2540
+ /** Which languages it reads, in words. */
2541
+ languages: text,
2542
+ licence: optional(text),
2543
+ /** What its files take on disk once downloaded. */
2544
+ size_bytes: count,
2545
+ downloaded: boolean(),
2546
+ /** The one used when no model is named. */
2547
+ default: boolean(),
2548
+ /** The folder its files are in once downloaded, so an agent can place them by hand. */
2549
+ path: text
2550
+ });
2551
+
2552
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/model-key.js
2553
+ var source = picklist(["environment", "keyring", "file"]);
2554
+ var modelKey = strictObject({
2555
+ provider: text,
2556
+ stored: optional(source),
2557
+ removed: optional(array(source))
2558
+ });
2559
+ var storedModelKey = strictObject({ ...omit(modelKey, ["removed"]).entries, stored: source });
2560
+ var removedModelKey = strictObject({ ...omit(modelKey, ["stored"]).entries, removed: array(source) });
2561
+
2562
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/official-stats.js
2563
+ var versus = strictObject({ current: number(), previous: number() });
2564
+ var person = { person_ref: reference, name: nullable(text) };
2565
+ var graph = strictObject({
2566
+ kind: text,
2567
+ x: strictObject({ type: picklist(["date", "time", "number"]), values: array(union([text, number()])) }),
2568
+ series: array(strictObject({ key: text, name: text, kind: text, values: array(number()) })),
2569
+ stacked: optional(boolean()),
2570
+ percentage: optional(boolean())
2571
+ });
2572
+ var officialStats = strictObject({
2573
+ chat_id: id,
2574
+ title: text,
2575
+ kind: picklist(["group", "channel"]),
2576
+ since: time,
2577
+ until: time,
2578
+ totals: record(string(), versus),
2579
+ top: optional(strictObject({
2580
+ posters: array(strictObject({ ...person, messages: count, average_chars: number() })),
2581
+ admins: array(strictObject({ ...person, deleted: count, removed: count, banned: count })),
2582
+ inviters: array(strictObject({ ...person, invited: count }))
2583
+ })),
2584
+ notifications: optional(strictObject({ enabled: count, total: count })),
2585
+ recent_posts: optional(array(strictObject({
2586
+ kind: picklist(["message", "story"]),
2587
+ id,
2588
+ views: count,
2589
+ forwards: count,
2590
+ reactions: count
2591
+ }))),
2592
+ /** A graph the messenger did not give is `{ error }`; the others still answer. */
2593
+ graphs: record(string(), union([graph, strictObject({ error: text })]))
2594
+ });
2595
+
2596
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/person.js
2597
+ var person2 = strictObject({
2598
+ ref: reference,
2599
+ name: nullable(text),
2600
+ identities: optional(array(identity))
2601
+ });
2602
+
2603
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/poll.js
2604
+ var poll = strictObject({
2605
+ chat_id: id,
2606
+ message_id: id,
2607
+ question: text,
2608
+ answers: array(strictObject({ id, text, voters: nullable(count), chosen: boolean() })),
2609
+ closed: boolean(),
2610
+ multiple: boolean(),
2611
+ anonymous: boolean(),
2612
+ voters: nullable(count),
2613
+ quiz: optional(boolean()),
2614
+ revote: optional(boolean()),
2615
+ creator: optional(boolean())
2616
+ });
2617
+ var pollChange = strictObject({ operation_id: id, poll });
2618
+
2619
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/private-contact.js
2620
+ var contactAlias = strictObject({ person_id: id, alias: nullable(text) });
2621
+ var contactNoteRemoval = strictObject({ id, person_id: id, removed: boolean() });
2622
+
2623
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/ranking.js
2624
+ var figures = record(string(), number());
2625
+ var freshness = picklist(["fresh", "stale", "partial", "unknown"]);
2626
+ var rankingRow = strictObject({
2627
+ rank: count,
2628
+ /** The message's locator, or the author's `contact:` reference. */
2629
+ ref: reference,
2630
+ /** The message or person id, as `stats * evidence` takes it. */
2631
+ id,
2632
+ chat_ref: optional(reference),
2633
+ name: nullable(text),
2634
+ /** A message's kind (`posts`, `comments`); null for authors. */
2635
+ kind: nullable(text),
2636
+ value: number(),
2637
+ components: record(string(), nullable(number())),
2638
+ messages: count,
2639
+ known_reactions: count,
2640
+ unknown_reactions: count,
2641
+ reactions: optional(array(strictObject({ reaction: string(), count }))),
2642
+ score: nullable(strictObject({ score: number(), normalized: figures, contributions: figures })),
2643
+ quality: strictObject({
2644
+ reactions: picklist(["known", "partial", "unknown"]),
2645
+ graph: picklist(["complete", "partial", "not_used"]),
2646
+ counter_freshness: freshness
2647
+ }),
2648
+ counters: optional(array(counterReading)),
2649
+ selection
2650
+ });
2651
+ var ranking = strictObject({
2652
+ target: picklist(["messages", "contacts"]),
2653
+ measure: text,
2654
+ order: picklist(["ascending", "descending"]),
2655
+ preset: nullable(text),
2656
+ weights: nullable(figures),
2657
+ min_messages: count,
2658
+ message_kind: text,
2659
+ /** Messages the query selected. */
2660
+ total: count,
2661
+ population: count,
2662
+ eligible: count,
2663
+ excluded: strictObject({ minimum: count, missing: count, unknown_sender: count, unknown_kind: count }),
2664
+ maxima: figures,
2665
+ counter_freshness: freshness,
2666
+ expanded_discussion_chats: optional(array(text)),
2667
+ rows: array(rankingRow)
2668
+ });
2669
+
2670
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/reaction-change.js
2671
+ var reactionChange = strictObject({
2672
+ operation_id: id,
2673
+ chat_id: id,
2674
+ message_id: id,
2675
+ reaction: nullable(text)
2676
+ });
2677
+
2678
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/recipient.js
2679
+ var recipient = strictObject({ id, title: nullable(text), partner_id: optional(id), added_at: time });
2680
+ var recipientAdded = strictObject({ id, title: nullable(text), added: boolean() });
2681
+ var recipientRemoved = strictObject({ id, title: nullable(text), removed: boolean() });
2682
+ var recipientOff = strictObject({ off: boolean(), was_on: boolean() });
2683
+ var recipientChange = strictObject({
2684
+ ...partial(recipientAdded).entries,
2685
+ ...partial(recipientRemoved).entries,
2686
+ ...partial(recipientOff).entries
2687
+ });
2688
+
2689
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/recorded-run.js
2690
+ var events = array(record(string(), unknown()));
2691
+ var recordedRun = strictObject({
2692
+ run_id: id,
2693
+ command: text,
2694
+ profile: optional(text),
2695
+ started_at: time,
2696
+ completed_at: optional(time),
2697
+ status: picklist(["success", "failed", "partial", "running"]),
2698
+ requests: optional(count),
2699
+ duration_ms: optional(count),
2700
+ cli_version: text,
2701
+ runtime: optional(text),
2702
+ platform: optional(text),
2703
+ arch: optional(text),
2704
+ error_code: optional(text),
2705
+ partial: optional(strictObject({
2706
+ failed: count,
2707
+ stop_reason: optional(text),
2708
+ failures: array(strictObject({ id: text, stage: text, error_code: text, attachment: optional(count) }))
2709
+ })),
2710
+ provider_error: optional(text),
2711
+ kept_because_failed: optional(boolean()),
2712
+ operations: optional(array(text)),
2713
+ codes: optional(array(text)),
2714
+ trace_id: optional(id),
2715
+ cli_command: optional(text),
2716
+ argv: optional(array(text)),
2717
+ unknown_command: optional(text),
2718
+ agent: optional(strictObject({
2719
+ kind: text,
2720
+ session_id: nullable(text),
2721
+ from_chat: optional(literal(true)),
2722
+ client: optional(strictObject({ name: text, version: optional(text), id: optional(text) }))
2723
+ })),
2724
+ via: optional(picklist(["cli", "mcp-stdio", "mcp-http", "desktop"])),
2725
+ mcp: optional(strictObject({
2726
+ tool: text,
2727
+ request_id: optional(text),
2728
+ connection_id: optional(text),
2729
+ proxied: optional(literal(true))
2730
+ })),
2731
+ events_dropped: optional(count),
2732
+ error: optional(strictObject({
2733
+ class: text,
2734
+ code: optional(text),
2735
+ reason: optional(text),
2736
+ message: optional(text),
2737
+ operation: optional(text),
2738
+ http: optional(strictObject({ method: optional(text), endpoint_template: optional(text), status: optional(count) })),
2739
+ provider: optional(strictObject({ key: optional(text), code: optional(number()) })),
2740
+ causes: optional(array(strictObject({ class: text, message: optional(text) }))),
2741
+ stack: optional(array(text))
2742
+ })),
2743
+ directory: optional(text),
2744
+ event_count: optional(count),
2745
+ events: optional(events),
2746
+ events_truncated: optional(boolean())
2747
+ });
2748
+ var runDetails = strictObject({
2749
+ ...omit(recordedRun, ["events_truncated"]).entries,
2750
+ directory: text,
2751
+ event_count: count,
2752
+ events
2753
+ });
2754
+ var runHit = strictObject({
2755
+ ...omit(recordedRun, ["directory", "event_count"]).entries,
2756
+ events,
2757
+ events_truncated: boolean()
2758
+ });
2759
+ var runLocation = strictObject({ path: text });
2760
+
2761
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/relationship.js
2762
+ var relationship = strictObject({
2763
+ id,
2764
+ from: reference,
2765
+ to: reference,
2766
+ kind: picklist(RELATION_KINDS),
2767
+ role: nullable(text),
2768
+ evidence: nullable(text),
2769
+ /** An agent's suggestion stays unconfirmed, and `weak`, until the owner confirms it. */
2770
+ confirmed: boolean(),
2771
+ provenance: nullable(text),
2772
+ confidence_category: picklist(["owner-confirmed", "weak"]),
2773
+ created_at: time
2774
+ });
2775
+
2776
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/retention.js
2777
+ var retentionCohort = strictObject({
2778
+ /** The first day of the joining day or week. */
2779
+ cohort: text,
2780
+ stays: count,
2781
+ checkpoints: array(strictObject({
2782
+ age_ms: milliseconds,
2783
+ eligible: count,
2784
+ observable: count,
2785
+ present: count,
2786
+ absent: count,
2787
+ unknown: count,
2788
+ pending: count,
2789
+ rate: nullable(number())
2790
+ })),
2791
+ activity: strictObject({ observed: count, no_observed: count, pending: count, archive_covered: count }),
2792
+ early_departure: strictObject({ observed: count, not_observed: count, unknown: count, pending: count }),
2793
+ selection
2794
+ });
2795
+ var retention = strictObject({
2796
+ chat_ref: reference,
2797
+ cutoff: time,
2798
+ since: time,
2799
+ until: time,
2800
+ checkpoints_ms: array(milliseconds),
2801
+ within_ms: milliseconds,
2802
+ by: picklist(["day", "week"]),
2803
+ timezone: text,
2804
+ /** Cohorts found; `rows` holds the first `--limit` of them. */
2805
+ total: count,
2806
+ unknown_join: count,
2807
+ eligible_stays: count,
2808
+ quality: strictObject({
2809
+ membership: text,
2810
+ tolerance_ms: milliseconds,
2811
+ archive: nullable(strictObject({
2812
+ state: text,
2813
+ up_to_date: nullable(boolean()),
2814
+ gaps: boolean(),
2815
+ reaches_start: boolean(),
2816
+ fetched_at: nullable(time)
2817
+ })),
2818
+ continuous_survival: boolean(),
2819
+ group_silent_rate: nullable(number())
2820
+ }),
2821
+ rows: array(retentionCohort)
2822
+ });
2823
+
2824
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/send-attempt.js
2825
+ var sendAttempt = strictObject({
2826
+ at: time,
2827
+ profile: text,
2828
+ chat_id: nullable(id),
2829
+ outcome: picklist(["sent", "outcome_unknown", "refused", "failed", "reserved"]),
2830
+ kind: optional(picklist(["message", "reaction", "edit", "forward", "pin", "read", "delete", "chat", "account"])),
2831
+ action: optional(text),
2832
+ people: optional(count),
2833
+ message_id: optional(id),
2834
+ key: optional(text),
2835
+ count: optional(count),
2836
+ for_everyone: optional(boolean()),
2837
+ operation_id: optional(id),
2838
+ parent_operation_id: optional(id),
2839
+ reply_to: optional(id),
2840
+ thread_id: optional(id),
2841
+ send_as: optional(id),
2842
+ result_chat_id: optional(id),
2843
+ length: optional(count),
2844
+ attachments: optional(array(strictObject({ kind: picklist(["photo", "file", "video", "voice", "sticker"]), bytes: count }))),
2845
+ scheduled_for: optional(time),
2846
+ notify: optional(boolean()),
2847
+ origin: optional(text),
2848
+ reservation: optional(id),
2849
+ error_code: optional(text)
2850
+ });
2851
+
2852
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/store-maintenance.js
2853
+ var absent = strictObject({ path: text, exists: literal(false) });
2854
+ var schema = strictObject({ version: count, min_compatible: count, writable: boolean(), speaks: count });
2855
+ var infoSchema = strictObject({
2856
+ ...schema.entries,
2857
+ reason: picklist(["missing", "older", "current", "newer", "too_new"]),
2858
+ upgrade: nullable(strictObject({ version: count, min_compatible: count }))
2859
+ });
2860
+ var client = strictObject({ command: text, version: text, core: text, speaks: count, seen_at: time });
2861
+ var wordIndex = strictObject({
2862
+ watermark: count,
2863
+ filled_through: count,
2864
+ pending_normalization: count,
2865
+ ready: boolean(),
2866
+ terms_through: count,
2867
+ newest: count,
2868
+ terms_ready: boolean(),
2869
+ built_at: nullable(time)
2870
+ });
2871
+ var stemIndex = strictObject({
2872
+ watermark: count,
2873
+ filled_through: count,
2874
+ pending: count,
2875
+ built: nullable(text),
2876
+ wanted: text,
2877
+ ready: boolean(),
2878
+ cause: optional(picklist(["building", "stemmer_changed", "stemmer_unknown"])),
2879
+ built_at: nullable(time)
2880
+ });
2881
+ var readFailure = { path: text, exists: literal(true), opens: literal(false), error: text };
2882
+ var rows = partial(strictObject({
2883
+ accounts: count,
2884
+ chats: count,
2885
+ messages: count,
2886
+ emails: count,
2887
+ documents: count,
2888
+ meetings: count,
2889
+ events: count,
2890
+ attachments: count,
2891
+ identities: count
2892
+ }));
2893
+ var perAccount = { chats: count, messages: count, emails: count, documents: count, meetings: count };
2894
+ var contents = {
2895
+ by_provider: optional(array(strictObject({ provider: text, accounts: count, ...perAccount }))),
2896
+ by_chat_kind: optional(array(strictObject({ provider: text, kind: text, chats: count, messages: count }))),
2897
+ /** `name` is the one `account list` shows; the messenger's own id for the account is left out. */
2898
+ by_account: optional(array(strictObject({ provider: text, account_id: count, name: nullable(text), ...perAccount }))),
2899
+ /** Calendar years in UTC. */
2900
+ by_year: optional(array(strictObject({ provider: text, year: count, messages: count }))),
2901
+ /** `type` is what the file is attached to: a message, an email, a document… `bytes` counts the sizes known. */
2902
+ by_attachment_kind: optional(array(strictObject({ type: text, kind: text, count, bytes: count })))
2903
+ };
2904
+ var storeInfo = union([
2905
+ strictObject({ ...absent.entries, schema: infoSchema }),
2906
+ strictObject({ ...readFailure, schema: strictObject({ speaks: count }) }),
2907
+ strictObject({
2908
+ path: text,
2909
+ exists: literal(true),
2910
+ bytes: strictObject({ file: count, wal: count }),
2911
+ journal_mode: text,
2912
+ /** `free` pages hold nothing; a `VACUUM` would give them back. */
2913
+ pages: strictObject({ size: count, count, free: count }),
2914
+ migrations: array(strictObject({ version: count, min_compatible: count, applied_at: time })),
2915
+ /** From the marker a backup job leaves in `backups/last.json` beside the store; null without one. */
2916
+ backup: nullable(strictObject({ at: time, file: nullable(text), checked: nullable(text) })),
2917
+ schema: infoSchema,
2918
+ clients: array(client),
2919
+ rows,
2920
+ pending_normalization: nullable(count),
2921
+ word_index: nullable(wordIndex),
2922
+ stem_index: nullable(stemIndex),
2923
+ ...contents
2924
+ })
2925
+ ]);
2926
+ var storeCheck = union([
2927
+ strictObject({ ...absent.entries, ok: literal(true) }),
2928
+ strictObject({ ...readFailure, ok: literal(false) }),
2929
+ strictObject({
2930
+ path: text,
2931
+ exists: literal(true),
2932
+ opens: literal(true),
2933
+ ok: boolean(),
2934
+ checks: strictObject({
2935
+ schema: boolean(),
2936
+ integrity: boolean(),
2937
+ foreign_keys: boolean(),
2938
+ search_indexes: boolean(),
2939
+ vector_indexes: boolean(),
2940
+ disk: boolean()
2941
+ }),
2942
+ schema,
2943
+ integrity: array(text),
2944
+ foreign_key_violations: count,
2945
+ search_indexes: record(text, text),
2946
+ disk: strictObject({ free: count, needed: count }),
2947
+ pending_normalization: nullable(count),
2948
+ word_index: nullable(wordIndex),
2949
+ stem_index: nullable(stemIndex),
2950
+ chats_behind: array(strictObject({
2951
+ provider: text,
2952
+ account: text,
2953
+ chat: text,
2954
+ title: nullable(text),
2955
+ newest: time,
2956
+ held: nullable(time),
2957
+ refreshed: time
2958
+ })),
2959
+ orphan_pointers: array(strictObject({ table: text, pointer: text, type: text, count, known: boolean() })),
2960
+ conversations: array(strictObject({
2961
+ provider: text,
2962
+ account: text,
2963
+ chat: text,
2964
+ title: nullable(text),
2965
+ built_at: nullable(time),
2966
+ rules_version: nullable(count),
2967
+ current: boolean(),
2968
+ stale_agent_links: count
2969
+ })),
2970
+ vectors: nullable(strictObject({ models: record(text, count), unused: count })),
2971
+ vector_indexes: array(strictObject({
2972
+ model: text,
2973
+ dims: count,
2974
+ ready: boolean(),
2975
+ indexed: count,
2976
+ expected: count,
2977
+ missing: count,
2978
+ extra: count
2979
+ }))
2980
+ })
2981
+ ]);
2982
+ var indexed = { normalized: count, indexed: count, terms: count, stemmed: count, notes_indexed: count };
2983
+ var storeMigration = union([
2984
+ absent,
2985
+ strictObject({ path: text, exists: literal(true), from: count, to: count, ...indexed })
2986
+ ]);
2987
+ var storeReindex = union([
2988
+ absent,
2989
+ strictObject({
2990
+ path: text,
2991
+ exists: literal(true),
2992
+ ...indexed,
2993
+ file_texts: count,
2994
+ involvements: count,
2995
+ unused_vectors_dropped: count
2996
+ })
2997
+ ]);
2998
+ var storeBackup = strictObject({
2999
+ path: text,
3000
+ from: text,
3001
+ bytes: count,
3002
+ schema: count,
3003
+ rows: strictObject({ chats: count, messages: count }),
3004
+ encrypted: optional(literal(true))
3005
+ });
3006
+ var storeDecrypt = strictObject({ path: text, from: text, bytes: count });
3007
+ var storeRestore = strictObject({
3008
+ path: text,
3009
+ restored_from: text,
3010
+ kept_at: nullable(text),
3011
+ schema: count
3012
+ });
3013
+ var storeReset = union([
3014
+ strictObject({ ...absent.entries, reset: literal(false) }),
3015
+ strictObject({
3016
+ path: text,
3017
+ exists: literal(true),
3018
+ reset: literal(false),
3019
+ dry_run: literal(true),
3020
+ files: array(text),
3021
+ bytes: count,
3022
+ schema: count,
3023
+ tables: array(strictObject({ name: text, rows: count })),
3024
+ backup_first: boolean(),
3025
+ in_use: nullable(boolean())
3026
+ }),
3027
+ strictObject({
3028
+ path: text,
3029
+ exists: literal(true),
3030
+ reset: literal(true),
3031
+ backup: nullable(text),
3032
+ backed_up: nullable(strictObject({ schema: count, rows: partial(strictObject({ chats: count, messages: count })) })),
3033
+ schema: count
3034
+ })
3035
+ ]);
3036
+ var storeRepair = union([
3037
+ absent,
3038
+ strictObject({
3039
+ path: text,
3040
+ dry_run: boolean(),
3041
+ repaired: array(strictObject({
3042
+ table: text,
3043
+ action: picklist(["created", "columns-added", "rebuilt"]),
3044
+ columns_added: optional(array(text)),
3045
+ copy: optional(text),
3046
+ rows_in_copy: optional(count),
3047
+ rows_copied: optional(count),
3048
+ only_in_copy: optional(array(text)),
3049
+ dropped_from_copy: optional(array(text))
3050
+ })),
3051
+ indexes_created: array(text),
3052
+ triggers_created: array(text),
3053
+ mismatches: array(strictObject({ table: text, what: text })),
3054
+ foreign_key_violations: array(strictObject({ table: text, rows: count })),
3055
+ copies: array(strictObject({ name: text, rows: count }))
3056
+ })
3057
+ ]);
3058
+ var storeCopyRemoval = strictObject({ path: text, deleted: strictObject({ name: text, rows: count }) });
3059
+
3060
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/tag-change.js
3061
+ var tagTarget = variant("type", [
3062
+ strictObject({ type: literal("chat"), chat_id: id }),
3063
+ strictObject({ type: literal("contact"), person_id: id }),
3064
+ strictObject({ type: literal("message"), chat_id: id, message_id: id, locator: reference }),
3065
+ strictObject({ type: literal("task"), task_id: id })
3066
+ ]);
3067
+ var receipt = { target: tagTarget, unchanged: array(text) };
3068
+ var tagChange = union([
3069
+ strictObject({ ...receipt, added: array(text) }),
3070
+ strictObject({ ...receipt, removed: array(text) })
3071
+ ]);
3072
+ var automaticTags = strictObject({
3073
+ items: array(union([
3074
+ strictObject({
3075
+ chat_id: id,
3076
+ tags: array(strictObject({
3077
+ tag: text,
3078
+ score: number(),
3079
+ fields: array(picklist(["title", "username", "description"]))
3080
+ })),
3081
+ algorithm: text,
3082
+ fetched_at: nullable(time),
3083
+ source: picklist(["metadata", "stored-chat"])
3084
+ }),
3085
+ strictObject({ chat_id: id, error: strictObject({ code: text, message: text }) })
3086
+ ])),
3087
+ has_more: boolean(),
3088
+ dry_run: boolean()
3089
+ });
3090
+
3091
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/task-pair.js
3092
+ var side = strictObject({ ref: reference, key: text, title: text, status: text });
3093
+ var taskPair = strictObject({
3094
+ task: nullable(side),
3095
+ source: nullable(reference),
3096
+ other: side,
3097
+ score: number(),
3098
+ band: picklist(["likely", "maybe", "different"]),
3099
+ levels: strictObject({
3100
+ text: picklist(["high", "middle", "low"]),
3101
+ person: picklist(["same", "different", "unknown"]),
3102
+ amount: picklist(["equal", "different", "missing"]),
3103
+ category: picklist(["same", "different", "unknown"]),
3104
+ due: picklist(["near", "far", "missing"]),
3105
+ reply: picklist(["yes", "no"]),
3106
+ time: picklist(["near", "weeks", "far"])
3107
+ }),
3108
+ reasons: array(text),
3109
+ decision: picklist(["review", "unsure", "merged", "rejected", "unmerged", "attached", "new"]),
3110
+ decided_at: nullable(time),
3111
+ created_at: time
3112
+ });
3113
+
3114
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/task-results.js
3115
+ var nullableTime = nullable(time);
3116
+ var link = strictObject({
3117
+ id,
3118
+ from: reference,
3119
+ to: nullable(reference),
3120
+ kind: picklist(LINK_KINDS),
3121
+ anchor: nullable(text),
3122
+ origin: picklist(LINK_SOURCES),
3123
+ target_text: nullable(text),
3124
+ role: nullable(text),
3125
+ evidence: nullable(text),
3126
+ provenance: nullable(text),
3127
+ confirmed: boolean(),
3128
+ created_at: time
3129
+ });
3130
+ var taskCard = strictObject({
3131
+ id,
3132
+ ref: reference,
3133
+ key: text,
3134
+ project: reference,
3135
+ title: text,
3136
+ description: nullable(text),
3137
+ type: picklist(TASK_TYPES),
3138
+ status: picklist(TASK_STATES),
3139
+ priority: nullable(number()),
3140
+ parent: nullable(reference),
3141
+ source: nullable(text),
3142
+ due_at: nullableTime,
3143
+ next_check_at: nullableTime,
3144
+ closed_at: nullableTime,
3145
+ reason: nullable(text),
3146
+ verdict: nullable(picklist(TASK_VERDICTS)),
3147
+ category: nullable(text),
3148
+ claimed_by: nullable(text),
3149
+ claimed_until: nullableTime,
3150
+ close_certainty: nullable(number()),
3151
+ close_suggestion: nullable(closeSuggestion),
3152
+ assignments: array(strictObject({ to: reference, role: picklist(["assignee", "reviewer", "watcher"]) })),
3153
+ created_at: time,
3154
+ updated_at: time,
3155
+ links: array(link),
3156
+ linked_from: array(link)
3157
+ });
3158
+ var taskView = strictObject({
3159
+ id,
3160
+ source: text,
3161
+ source_kind: text,
3162
+ account: text,
3163
+ group: text,
3164
+ kind: picklist(TASK_KINDS),
3165
+ state: picklist(TASK_STATES),
3166
+ reason: optional(text),
3167
+ origin: picklist(TASK_ORIGINS),
3168
+ created_at: time,
3169
+ due_at: optional(time),
3170
+ closed_at: optional(time),
3171
+ closed_by: optional(picklist(TASK_ORIGINS)),
3172
+ key: optional(text),
3173
+ category: optional(text),
3174
+ claimed_by: optional(text),
3175
+ claimed_until: optional(time),
3176
+ message: nullable(strictObject({ sender_name: nullable(text), text, timestamp: time })),
3177
+ note: optional(nullable(strictObject({ id, title: nullable(text), text, updated_at: time })))
3178
+ });
3179
+ var taskCreated = strictObject({
3180
+ ...taskView.entries,
3181
+ created: boolean(),
3182
+ attached: optional(literal(true)),
3183
+ review: optional(count),
3184
+ follow_up_of: optional(taskPair.entries.other),
3185
+ card: optional(taskCard)
3186
+ });
3187
+ var taskClosed = strictObject({
3188
+ ...taskView.entries,
3189
+ close_certainty: nullable(number()),
3190
+ close_suggestion: nullable(closeSuggestion)
3191
+ });
3192
+ var taskLinks = union([
3193
+ strictObject({ ...taskCard.entries, review: optional(count) }),
3194
+ strictObject({
3195
+ relations: array(strictObject({
3196
+ id,
3197
+ from: reference,
3198
+ to: reference,
3199
+ kind: picklist(["blocked-by", "follow-up-of", "related-to", "duplicate-of", "discovered-from"])
3200
+ }))
3201
+ })
3202
+ ]);
3203
+ var taskSimilar = strictObject({
3204
+ ref: reference,
3205
+ key: text,
3206
+ title: text,
3207
+ status: text,
3208
+ created_at: time,
3209
+ found_by: array(picklist(["text", "person", "category", "reply"])),
3210
+ score: number(),
3211
+ band: taskPair.entries.band,
3212
+ levels: taskPair.entries.levels,
3213
+ reasons: array(text),
3214
+ text: strictObject({ shared_stems: count, all_stems: count, stems: number(), trigrams: number() })
3215
+ });
3216
+ var taskMerge = strictObject({ pair: taskPair, linked: count, review: count, task: taskCard });
3217
+ var taskUnmerge = strictObject({ pair: taskPair, task: taskCard });
3218
+ var taskCategories = strictObject({
3219
+ categories: array(strictObject({
3220
+ name: text,
3221
+ meaning: text,
3222
+ triggers: strictObject({ en: array(text), ru: array(text), es: array(text) })
3223
+ })),
3224
+ unlisted: array(strictObject({ name: text, open: count, total: count })),
3225
+ file: nullable(text)
3226
+ });
3227
+ var taskScan = strictObject({
3228
+ chat: text,
3229
+ messages: count,
3230
+ added: count,
3231
+ closed: count,
3232
+ review: count,
3233
+ held: optional(count),
3234
+ held_chats: optional(count),
3235
+ tasks: array(strictObject({ source: text, kind: picklist(TASK_KINDS), category: nullable(text) }))
3236
+ });
3237
+
3238
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/topic.js
3239
+ var topic = strictObject({
3240
+ id,
3241
+ title: text,
3242
+ closed: boolean(),
3243
+ pinned: boolean(),
3244
+ /** The General topic only, where the messenger says. */
3245
+ hidden: optional(boolean()),
3246
+ unread_count: nullable(count),
3247
+ last_message_at: nullable(time),
3248
+ created_at: nullable(time),
3249
+ untrusted
3250
+ });
3251
+
3252
+ // node_modules/.pnpm/@wirecat+cli-core@0.473.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_39633e3162553a2c86dde989a9811fcb/node_modules/@wirecat/cli-core/dist/entities/index.js
3253
+ var ENTITIES = {
3254
+ sync_progress: progress,
3255
+ ...MEETING_RESULT_ENTITIES,
3256
+ message,
3257
+ message_context: messageContext,
3258
+ message_download: messageDownload,
3259
+ message_sync: messageSync,
3260
+ "message.hit": strictObject({
3261
+ ...pick(message, [
3262
+ "ref",
3263
+ "chat_title",
3264
+ "timestamp",
3265
+ "sender_name",
3266
+ "excerpt",
3267
+ "matched_in",
3268
+ "score",
3269
+ "match",
3270
+ "corrections",
3271
+ "found_in",
3272
+ "discovery",
3273
+ "context",
3274
+ "email"
3275
+ ]).entries,
3276
+ untrusted
3277
+ }),
3278
+ "message.summary": pick(message, [
3279
+ "ref",
3280
+ "chat_id",
3281
+ "chat_title",
3282
+ "timestamp",
3283
+ "sender_name",
3284
+ "outgoing",
3285
+ "text",
3286
+ "transcript",
3287
+ "attachments"
3288
+ ]),
3289
+ message_link: messageLink,
3290
+ message_write: messageWrite,
3291
+ message_send: messageSend,
3292
+ message_pin: messagePin,
3293
+ message_star: messageStar,
3294
+ message_deletion: messageDeletion,
3295
+ message_transcript: messageTranscript,
3296
+ message_links: messageLinks,
3297
+ evidence_packet: evidencePacket,
3298
+ chat_metadata: cachedChatMetadata,
3299
+ chat_metadata_refresh: chatMetadataRefresh,
3300
+ chat,
3301
+ mention,
3302
+ "mention.details": mentionDetails,
3303
+ mention_domain: mentionDomain,
3304
+ mention_decision: mentionDecision,
3305
+ mention_rebuild: mentionRebuild,
3306
+ place,
3307
+ person: person2,
3308
+ identity,
3309
+ contact_context: contactContext,
3310
+ contact_preparation: contactPreparation,
3311
+ contact_activity: contactActivity,
3312
+ contact_check: contactCheck,
3313
+ linked_person: linkedPerson,
3314
+ contact,
3315
+ contact_note: contactNote,
3316
+ contact_lookup: contactLookup,
3317
+ contact_profile: contactProfile,
3318
+ contact_sync: contactSync,
3319
+ contact_update: contactUpdate,
3320
+ contact_state_change: contactStateChange,
3321
+ contact_import: contactImport,
3322
+ contact_alias: contactAlias,
3323
+ contact_note_removal: contactNoteRemoval,
3324
+ account,
3325
+ account_session: accountSession,
3326
+ account_change: accountChange,
3327
+ ended_account_sessions: endedAccountSessions,
3328
+ account_privacy: accountPrivacy,
3329
+ account_privacy_change: accountPrivacyChange,
3330
+ account_profile: accountProfile,
3331
+ organization,
3332
+ project,
3333
+ reminder,
3334
+ bot_profile: botProfile,
3335
+ bot_template: botTemplate,
3336
+ bot_seen_chat: botSeenChat,
3337
+ bot_admin: botAdmin,
3338
+ bot_menu_entry: botMenuEntry,
3339
+ bot_webhook: botWebhook,
3340
+ scheduled_job: scheduledJob,
3341
+ call_record: callRecord,
3342
+ sticker_inventory: stickerInventory,
3343
+ note,
3344
+ "note.hit": strictObject({
3345
+ ...pick(note, [
3346
+ "kind",
3347
+ "provider",
3348
+ "account",
3349
+ "url",
3350
+ "ref",
3351
+ "source",
3352
+ "folder_id",
3353
+ "path",
3354
+ "title",
3355
+ "updated_at",
3356
+ "excerpt",
3357
+ "found_by",
3358
+ "links"
3359
+ ]).entries,
3360
+ untrusted
3361
+ }),
3362
+ hit,
3363
+ document,
3364
+ document_link: documentLink,
3365
+ image_embedding: imageEmbedding,
3366
+ attachment,
3367
+ attachment_bytes: attachmentBytes,
3368
+ attachment_extraction: attachmentExtraction,
3369
+ attachment_text_change: attachmentTextChange,
3370
+ media_archive: mediaArchive,
3371
+ media_archive_check: mediaArchiveCheck,
3372
+ media_archive_move: mediaArchiveMove,
3373
+ media_archive_timer: mediaArchiveTimer,
3374
+ task,
3375
+ task_pair: taskPair,
3376
+ task_card: taskCard,
3377
+ task_created: taskCreated,
3378
+ task_closed: taskClosed,
3379
+ task_links: taskLinks,
3380
+ task_similar: taskSimilar,
3381
+ task_merge: taskMerge,
3382
+ task_unmerge: taskUnmerge,
3383
+ task_categories: taskCategories,
3384
+ task_scan: taskScan,
3385
+ fact,
3386
+ memory,
3387
+ meeting,
3388
+ meeting_details: meetingDetails,
3389
+ meeting_hit: meetingHit,
3390
+ meeting_series_inventory: meetingSeriesInventory,
3391
+ meeting_project_candidates: meetingProjectCandidates,
3392
+ meeting_project_evidence: meetingProjectEvidence,
3393
+ meeting_preparation: meetingPreparation,
3394
+ meeting_findings: meetingFindings,
3395
+ meeting_transcript: meetingTranscript,
3396
+ meeting_summary: meetingSummary,
3397
+ meeting_evidence: meetingEvidence,
3398
+ meeting_person_context: meetingPersonContext,
3399
+ event,
3400
+ meeting_review: meetingReview,
3401
+ meeting_link: meetingLink,
3402
+ meeting_stats: meetingStats,
3403
+ meeting_speaker: meetingSpeaker,
3404
+ meeting_participants: meetingParticipants,
3405
+ meeting_passage: meetingPassage,
3406
+ meeting_task_proposal: meetingTaskProposal,
3407
+ reference,
3408
+ relationship,
3409
+ recipient,
3410
+ recipient_change: recipientChange,
3411
+ "recipient_change.added": recipientAdded,
3412
+ "recipient_change.removed": recipientRemoved,
3413
+ "recipient_change.off": recipientOff,
3414
+ run: recordedRun,
3415
+ "run.details": runDetails,
3416
+ "run.hit": runHit,
3417
+ run_location: runLocation,
3418
+ tag_change: tagChange,
3419
+ automatic_tags: automaticTags,
3420
+ send_attempt: sendAttempt,
3421
+ tagging,
3422
+ "conversation.details": conversationDetails,
3423
+ conversation_build: conversationBuildResult,
3424
+ conversation_batch_status: conversationBatchStatus,
3425
+ conversation_batch: conversationBatch,
3426
+ conversation_change: conversationChange,
3427
+ conversation_readiness: conversationReadiness,
3428
+ conversation_embedding: conversationEmbedding,
3429
+ conversation_embedding_status: conversationEmbeddingStatus,
3430
+ conversation_preparation: conversationPreparation,
3431
+ conversation_hit: conversationHit,
3432
+ conversation,
3433
+ saved_search: savedSearch,
3434
+ search_history_clear: searchHistoryClear,
3435
+ watch_item: watchItem,
3436
+ serve_summary: serveSummary,
3437
+ job,
3438
+ store_chat_status: storeChatStatus,
3439
+ store_clear: storeClear,
3440
+ store_export: storeExport,
3441
+ store_gap_plan: storeGapPlan,
3442
+ store_gap_repair: storeGapRepair,
3443
+ store_job_details: storeJobDetails,
3444
+ store_job_cancel: storeJobCancel,
3445
+ store_job_retry: storeJobRetry,
3446
+ store_job_clear: storeJobClear,
3447
+ store_info: storeInfo,
3448
+ store_check: storeCheck,
3449
+ store_migration: storeMigration,
3450
+ store_reindex: storeReindex,
3451
+ store_backup: storeBackup,
3452
+ store_decrypt: storeDecrypt,
3453
+ store_restore: storeRestore,
3454
+ store_reset: storeReset,
3455
+ store_repair: storeRepair,
3456
+ store_copy_removal: storeCopyRemoval,
3457
+ store_table: storeTable,
3458
+ agenda,
3459
+ model,
3460
+ chat_group_change: chatGroupChange,
3461
+ chat_inspection: chatInspection,
3462
+ chat_sender: chatSender,
3463
+ chat_read: chatRead,
3464
+ chat_members_fetch: chatMembersFetch,
3465
+ chat_members_change: chatMembersChange,
3466
+ chat_invite: chatInvite,
3467
+ chat_invite_change: chatInviteChange,
3468
+ chat_request_change: chatRequestChange,
3469
+ chat_admin_change: chatAdminChange,
3470
+ chat_folder_change: chatFolderChange,
3471
+ chat_folder_removal: chatFolderRemoval,
3472
+ chat_folder_order: chatFolderOrder,
3473
+ chat_rules: chatRules,
3474
+ chat_moderation: chatModeration,
3475
+ model_key: modelKey,
3476
+ "model_key.stored": storedModelKey,
3477
+ "model_key.removed": removedModelKey,
3478
+ chat_event: chatEvent,
3479
+ chat_removal: chatRemoval,
3480
+ chat_muting: chatMuting,
3481
+ chat_archive: chatArchive,
3482
+ chat_pin: chatPin,
3483
+ chat_unread: chatUnread,
3484
+ invite_link: inviteLink,
3485
+ join_request: joinRequest,
3486
+ member,
3487
+ poll,
3488
+ poll_change: pollChange,
3489
+ poll_vote: pollVote,
3490
+ reaction_change: reactionChange,
3491
+ topic,
3492
+ folder,
3493
+ message_counts: messageCounts,
3494
+ ranking,
3495
+ admin_report: adminReport,
3496
+ analysis_consent: analysisConsent,
3497
+ analysis_consent_revocation: analysisConsentRevocation,
3498
+ retention,
3499
+ evidence,
3500
+ counters,
3501
+ counter_refresh: counterRefresh,
3502
+ official_stats: officialStats,
3503
+ chart,
3504
+ chat_stats: chatStats,
3505
+ tracked_chat: trackedChat,
3506
+ tracked_chat_history: trackedChatHistory,
3507
+ chat_tracking: chatTracking,
3508
+ task_stats: taskStats
3509
+ };
3510
+ var entityDefinitions = /* @__PURE__ */ __name(() => Object.fromEntries(Object.entries(ENTITIES).map(([name, schema2]) => {
3511
+ const { $schema: _, ...definition } = jsonSchemaOf(schema2);
3512
+ return [name, definition];
3513
+ })), "entityDefinitions");
3514
+
3515
+ export {
3516
+ accountSession,
3517
+ accountProfile,
3518
+ analysisConsent,
3519
+ member,
3520
+ chat,
3521
+ folder,
3522
+ inviteLink,
3523
+ chatEvent,
3524
+ contact,
3525
+ message,
3526
+ contactNote,
3527
+ documentLink,
3528
+ checkpointPath,
3529
+ readCheckpoint,
3530
+ saveCheckpoint,
3531
+ progressOf,
3532
+ spawnDetached,
3533
+ jobsDir,
3534
+ saveJob,
3535
+ readJob,
3536
+ tracedJob,
3537
+ jobStarted,
3538
+ finishJob,
3539
+ updateJob,
3540
+ removeJob,
3541
+ listJobs,
3542
+ jobDetails,
3543
+ jobItem,
3544
+ stateOf,
3545
+ startArchiveJob,
3546
+ job,
3547
+ joinRequest,
3548
+ botProfile,
3549
+ botSeenChat,
3550
+ botAdmin,
3551
+ botMenuEntry,
3552
+ botWebhook,
3553
+ scheduledJob,
3554
+ botTemplate,
3555
+ callRecord,
3556
+ stickerInventory,
3557
+ pollVote,
3558
+ meetingPreparation,
3559
+ meetingProjectCandidates,
3560
+ meetingSeriesInventory,
3561
+ model,
3562
+ recipient,
3563
+ recordedRun,
3564
+ savedSearch,
3565
+ sendAttempt,
3566
+ progress,
3567
+ topic,
3568
+ ENTITIES,
3569
+ entityDefinitions
3570
+ };