@wirecat/cli-memo 0.131.46 → 0.131.48

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 (132) hide show
  1. package/dist/bin/memo.js +2 -2
  2. package/dist/bundle/{all-profiles-I2JBJDOR.js → all-profiles-5YVSKBEV.js} +9 -9
  3. package/dist/bundle/{anthropic-CARSCLDG.js → anthropic-BMK6F36V.js} +6 -6
  4. package/dist/bundle/{app-server-SAMZMY3C.js → app-server-PUBWKHUG.js} +48 -45
  5. package/dist/bundle/auto-FXCXORUF.js +86 -0
  6. package/dist/bundle/{bun-T6E2RGI5.js → bun-ZBM364I6.js} +2 -2
  7. package/dist/bundle/{bun-sqlite-WWDLRDBW.js → bun-sqlite-YLBILWBE.js} +5 -5
  8. package/dist/bundle/{chunk-PIHAI7NF.js → chunk-2O32QNK3.js} +7 -7
  9. package/dist/bundle/{chunk-HE535VWC.js → chunk-3A3KPJHP.js} +4 -4
  10. package/dist/bundle/{chunk-XB43J5VQ.js → chunk-3LA6OE35.js} +9 -9
  11. package/dist/bundle/{chunk-IQJQLLAV.js → chunk-4FDK7LVF.js} +7 -7
  12. package/dist/bundle/{chunk-3ZLDPPI4.js → chunk-5BDWOMH6.js} +6 -6
  13. package/dist/bundle/{chunk-IFGMJXND.js → chunk-66KZBRZN.js} +3 -3
  14. package/dist/bundle/{chunk-JY34MQW4.js → chunk-7RNHFNHX.js} +4 -4
  15. package/dist/bundle/{chunk-CWBRCYDY.js → chunk-ADV7DNGM.js} +5 -5
  16. package/dist/bundle/{chunk-YFZ45S6S.js → chunk-BRLVX4V6.js} +1 -1
  17. package/dist/bundle/{chunk-RZ54DSVU.js → chunk-BXTDAGM4.js} +2 -2
  18. package/dist/bundle/{chunk-NFSFUVP2.js → chunk-C3I6L7JZ.js} +6 -6
  19. package/dist/bundle/{chunk-6B75W6XW.js → chunk-C6UTJATA.js} +38 -14
  20. package/dist/bundle/{chunk-J6EUSJ3X.js → chunk-CSPAEYKK.js} +4 -4
  21. package/dist/bundle/{chunk-AXCYTZJD.js → chunk-DGLSE6XA.js} +6 -6
  22. package/dist/bundle/{chunk-CV5MM7HG.js → chunk-DHO2JWF7.js} +3 -3
  23. package/dist/bundle/{chunk-UT2K3TAH.js → chunk-DMI3SFLF.js} +2 -2
  24. package/dist/bundle/{chunk-2K7E5YOZ.js → chunk-DNZYXNMB.js} +4 -4
  25. package/dist/bundle/{chunk-BJSZECFV.js → chunk-DPQL5JK6.js} +2 -2
  26. package/dist/bundle/{chunk-UI4MKFTZ.js → chunk-E4YCKC3F.js} +12 -12
  27. package/dist/bundle/{chunk-SN63VOE6.js → chunk-EBNNONF5.js} +8 -8
  28. package/dist/bundle/{chunk-YPD27HJI.js → chunk-EGVRMA2C.js} +198 -81
  29. package/dist/bundle/{chunk-RF3R3W2I.js → chunk-EQ237UYC.js} +22 -22
  30. package/dist/bundle/{chunk-V7QNIJOE.js → chunk-F7S25YVA.js} +9 -9
  31. package/dist/bundle/{chunk-TOSRVNCY.js → chunk-FTRFN3MU.js} +8 -8
  32. package/dist/bundle/{chunk-VUSM6XFE.js → chunk-H4726KFZ.js} +1 -1
  33. package/dist/bundle/{chunk-PZQCIEMC.js → chunk-HE56X542.js} +1 -1
  34. package/dist/bundle/{chunk-QUUYSYCG.js → chunk-IGYOKYG7.js} +4 -4
  35. package/dist/bundle/{chunk-MKA3NOUU.js → chunk-IHFK634F.js} +8 -8
  36. package/dist/bundle/{chunk-IPNORZSF.js → chunk-IWEL7QCT.js} +11 -11
  37. package/dist/bundle/{chunk-KGVDWSGM.js → chunk-J737T3RM.js} +3 -3
  38. package/dist/bundle/{chunk-JX6JZTOI.js → chunk-KNUUZW42.js} +29 -29
  39. package/dist/bundle/{chunk-36DLHVMS.js → chunk-LDHFV34C.js} +2 -2
  40. package/dist/bundle/{chunk-7UNXTC2J.js → chunk-LDXCFBIC.js} +34 -34
  41. package/dist/bundle/{chunk-TU34HVOY.js → chunk-MIMLBSUQ.js} +2 -2
  42. package/dist/bundle/{chunk-UEMY6RSB.js → chunk-MKLDUZ7N.js} +2 -2
  43. package/dist/bundle/{chunk-F7XQEYF3.js → chunk-MN3SFFTU.js} +303 -280
  44. package/dist/bundle/{chunk-WXCRRP4B.js → chunk-NWRITJ7F.js} +2 -2
  45. package/dist/bundle/{chunk-2R2Z2VWL.js → chunk-O3ZOYXH3.js} +20 -20
  46. package/dist/bundle/{chunk-CID4MNRQ.js → chunk-P3ASN72F.js} +1 -1
  47. package/dist/bundle/{chunk-LOSAAPRY.js → chunk-PUZ2G2KS.js} +8 -8
  48. package/dist/bundle/{chunk-Y5CAKD4X.js → chunk-QOGYHU3Q.js} +4 -4
  49. package/dist/bundle/{chunk-AAKU7TGI.js → chunk-QTBFV5RL.js} +3 -3
  50. package/dist/bundle/{chunk-ZGQSWRCY.js → chunk-QUQJZSRF.js} +566 -351
  51. package/dist/bundle/{chunk-IEVJMRL2.js → chunk-RCEDN42Q.js} +1 -1
  52. package/dist/bundle/{chunk-ICF3LNBX.js → chunk-RSJJGXZP.js} +1 -1
  53. package/dist/bundle/{chunk-UYITVRUC.js → chunk-SGDTAVMU.js} +2 -2
  54. package/dist/bundle/{chunk-TFWTSBON.js → chunk-T56R3TF2.js} +664 -117
  55. package/dist/bundle/{chunk-37D3IHOG.js → chunk-TW643BIA.js} +99 -74
  56. package/dist/bundle/{chunk-5FBJQHCG.js → chunk-TYOZC3BU.js} +3 -3
  57. package/dist/bundle/{chunk-2FYCJ3KB.js → chunk-TZROQCQ5.js} +18 -4
  58. package/dist/bundle/{chunk-LTZHG4BX.js → chunk-U2EFWFDN.js} +10 -10
  59. package/dist/bundle/{chunk-VZRGIWJM.js → chunk-U64G664E.js} +6 -6
  60. package/dist/bundle/{chunk-HDNMDLWC.js → chunk-UHWQ2YXW.js} +1 -1
  61. package/dist/bundle/{chunk-ADBD5GOY.js → chunk-UK2MMZFW.js} +2 -2
  62. package/dist/bundle/{chunk-QR5HJROX.js → chunk-VICARVCN.js} +1 -1
  63. package/dist/bundle/{chunk-YBBCGTZO.js → chunk-VJJCF52V.js} +655 -403
  64. package/dist/bundle/{chunk-XFT24B7A.js → chunk-VOJU5FVA.js} +179 -159
  65. package/dist/bundle/{chunk-LER7G4XY.js → chunk-VW6BF6M7.js} +1 -1
  66. package/dist/bundle/{chunk-GPBUD6WS.js → chunk-X3KMQW2Z.js} +27 -25
  67. package/dist/bundle/{chunk-5FN27OVR.js → chunk-X7UITQ66.js} +5 -5
  68. package/dist/bundle/{chunk-VOUTO3WF.js → chunk-XR4N2MYB.js} +13 -13
  69. package/dist/bundle/{chunk-2MKPY6NU.js → chunk-YBN7UF2Y.js} +1 -1
  70. package/dist/bundle/{chunk-W2EY5PSH.js → chunk-YO7AUGUT.js} +2 -2
  71. package/dist/bundle/{chunk-HFQZYHLX.js → chunk-YZEIVLAG.js} +4 -4
  72. package/dist/bundle/command-contract-BRZAKY6L.js +32 -0
  73. package/dist/bundle/{decode-E3TI4HEU.js → decode-WW5ZMB5R.js} +5 -5
  74. package/dist/bundle/{dispatch-MLRETSNQ.js → dispatch-HCRXCPCF.js} +8 -8
  75. package/dist/bundle/{echarts-B46XTHOI.js → echarts-ODD3E2RQ.js} +2 -2
  76. package/dist/bundle/{embed-BIUMRFOQ.js → embed-3ETM2WYU.js} +6 -6
  77. package/dist/bundle/{embedder-IA3CG6LB.js → embedder-6YL3WFBR.js} +9 -9
  78. package/dist/bundle/{entry-E3QEAAYL.js → entry-F2UGXKZ3.js} +7 -7
  79. package/dist/bundle/{failure-UJBGB2GP.js → failure-G4DCTWFD.js} +2 -2
  80. package/dist/bundle/failure-X7CYCJWD.js +66 -0
  81. package/dist/bundle/{first-run-6UQRVGZ4.js → first-run-OHQHOP5U.js} +11 -11
  82. package/dist/bundle/first-screen-ULF26GYG.js +30 -0
  83. package/dist/bundle/{instructions-6AISOK6M.js → instructions-RS5VERM7.js} +1 -1
  84. package/dist/bundle/{mcp-YMXA6IH6.js → mcp-M4QN2E7R.js} +2 -2
  85. package/dist/bundle/mcp-TS2UAN5I.js +90 -0
  86. package/dist/bundle/memo.js +16 -16
  87. package/dist/bundle/{node-6GP2V36M.js → node-BU6NHYHF.js} +2 -2
  88. package/dist/bundle/{node-sqlite-2CC5J5RZ.js → node-sqlite-WAF44CWS.js} +6 -6
  89. package/dist/bundle/{oauth-VOOLTPGW.js → oauth-T7RCNIYO.js} +7 -7
  90. package/dist/bundle/{open-AGFSOJG6.js → open-QLX2IVTC.js} +5 -5
  91. package/dist/bundle/{openai-KPRA5NIB.js → openai-O25HCJEY.js} +10 -10
  92. package/dist/bundle/{process-J74KA6F3.js → process-SB2X3TKY.js} +1 -1
  93. package/dist/bundle/{program-VAYJBUPU.js → program-SDLIDODQ.js} +98 -68
  94. package/dist/bundle/{prompt-PDQD5OD5.js → prompt-OHVHUNV4.js} +5 -5
  95. package/dist/bundle/{recognize-QH6FBB2L.js → recognize-SESVG7O3.js} +4 -4
  96. package/dist/bundle/{remote-BREQR2BJ.js → remote-DNGLVDYJ.js} +7 -7
  97. package/dist/bundle/{rerank-HWNJXOHL.js → rerank-SF3OUPEB.js} +7 -7
  98. package/dist/bundle/{serve-A63VR5F4.js → serve-6RK7QFZ2.js} +9 -9
  99. package/dist/bundle/server-JKWE764O.js +61 -0
  100. package/dist/bundle/{server-6UZJQQ4E.js → server-N6PCX7K7.js} +57 -57
  101. package/dist/bundle/server-RKGTOY4D.js +48 -0
  102. package/dist/bundle/{state-GMJJEIPI.js → state-J6WLL4TQ.js} +6 -6
  103. package/dist/bundle/{store-HLK3ZQ7A.js → store-R2PHK3FR.js} +13 -13
  104. package/dist/bundle/store-maintenance-command-LRZ5R3UM.js +48 -0
  105. package/dist/bundle/update-RV2WSULI.js +69 -0
  106. package/dist/contract-overrides/doctor.d.ts.map +1 -1
  107. package/dist/contract-overrides/doctor.js +6 -0
  108. package/dist/contract-overrides/doctor.js.map +1 -1
  109. package/dist/doctor/command.d.ts +25 -2
  110. package/dist/doctor/command.d.ts.map +1 -1
  111. package/dist/doctor/command.js +13 -5
  112. package/dist/doctor/command.js.map +1 -1
  113. package/dist/examples.d.ts.map +1 -1
  114. package/dist/examples.js +2 -0
  115. package/dist/examples.js.map +1 -1
  116. package/dist/store/info-command.d.ts.map +1 -1
  117. package/dist/store/info-command.js +23 -1
  118. package/dist/store/info-command.js.map +1 -1
  119. package/dist/version.d.ts +1 -1
  120. package/dist/version.js +1 -1
  121. package/package.json +4 -4
  122. package/dist/bundle/auto-KD7L4X6G.js +0 -86
  123. package/dist/bundle/command-contract-B6MBG7GI.js +0 -32
  124. package/dist/bundle/failure-UKRO32A7.js +0 -66
  125. package/dist/bundle/first-screen-W3BPVWCT.js +0 -30
  126. package/dist/bundle/mcp-RX3COQPC.js +0 -90
  127. package/dist/bundle/server-3FKLHDFN.js +0 -48
  128. package/dist/bundle/server-XKZXPS7I.js +0 -61
  129. package/dist/bundle/store-maintenance-command-2WOANSCK.js +0 -48
  130. package/dist/bundle/update-GIAB6TXY.js +0 -69
  131. /package/dist/bundle/{chunk-AT5Y62SD.js → chunk-IO44XLFM.js} +0 -0
  132. /package/dist/bundle/{chunk-B6ZCQNF4.js → chunk-VOXIGICJ.js} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  sameOrdinaryFile,
9
9
  syncDirectory,
10
10
  writeFileAtomic
11
- } from "./chunk-VOUTO3WF.js";
11
+ } from "./chunk-XR4N2MYB.js";
12
12
  import {
13
13
  Command,
14
14
  DEFAULT_IMAGE_MODEL,
@@ -21,6 +21,7 @@ import {
21
21
  WEIGHTS,
22
22
  agenda,
23
23
  annotate,
24
+ annotateOption,
24
25
  attachment,
25
26
  codeOf,
26
27
  conversation,
@@ -48,17 +49,17 @@ import {
48
49
  typedCommand,
49
50
  vectorModelKey,
50
51
  withAttempt
51
- } from "./chunk-XFT24B7A.js";
52
+ } from "./chunk-VOJU5FVA.js";
52
53
  import {
53
54
  isCliFailure
54
- } from "./chunk-V7QNIJOE.js";
55
+ } from "./chunk-F7S25YVA.js";
55
56
  import {
56
57
  isNewer,
57
58
  updateCommand
58
- } from "./chunk-JY34MQW4.js";
59
+ } from "./chunk-7RNHFNHX.js";
59
60
  import {
60
61
  readOnlyLockOf
61
- } from "./chunk-UT2K3TAH.js";
62
+ } from "./chunk-DMI3SFLF.js";
62
63
  import {
63
64
  AGENDA_COLUMNS,
64
65
  CHAT_COLUMNS,
@@ -136,11 +137,13 @@ import {
136
137
  mayDecide,
137
138
  messageOfEmail,
138
139
  normalizeVocabularyName,
140
+ openSqlite,
139
141
  openStoreContext,
140
142
  outOfTime,
141
143
  parseLocator,
142
144
  parseReference,
143
145
  pdfPreviewLimits,
146
+ plainQuery,
144
147
  pointerOf,
145
148
  previewAnnotationSnapshot,
146
149
  projectAnnotationBindingSources,
@@ -160,9 +163,10 @@ import {
160
163
  validateAst,
161
164
  validateFields,
162
165
  withoutField
163
- } from "./chunk-YBBCGTZO.js";
166
+ } from "./chunk-VJJCF52V.js";
164
167
  import {
165
168
  EVENT_QUERY,
169
+ MEETING_FIELD_NAMES,
166
170
  MEETING_FINDINGS_KIND,
167
171
  MEETING_PROJECT_EVIDENCE_QUERY,
168
172
  MEETING_QUERY,
@@ -214,23 +218,23 @@ import {
214
218
  validateQuery,
215
219
  walkQuery,
216
220
  zonedMoment
217
- } from "./chunk-37D3IHOG.js";
221
+ } from "./chunk-TW643BIA.js";
218
222
  import {
219
223
  DEFAULT_STEMMERS,
220
224
  createStemmer,
221
225
  fold,
222
226
  normalize
223
- } from "./chunk-TOSRVNCY.js";
227
+ } from "./chunk-FTRFN3MU.js";
224
228
  import {
225
229
  DEFAULT_TASK_CATEGORIES,
226
230
  FALLBACK_CATEGORY
227
- } from "./chunk-VZRGIWJM.js";
231
+ } from "./chunk-U64G664E.js";
228
232
  import {
229
233
  MAX_MODEL_IMAGE_BYTES
230
- } from "./chunk-WXCRRP4B.js";
234
+ } from "./chunk-NWRITJ7F.js";
231
235
  import {
232
236
  remoteKey
233
- } from "./chunk-IFGMJXND.js";
237
+ } from "./chunk-66KZBRZN.js";
234
238
  import {
235
239
  Unzip,
236
240
  UnzipInflate,
@@ -241,19 +245,19 @@ import {
241
245
  placedText,
242
246
  runEmbedders,
243
247
  textModelsDirectory
244
- } from "./chunk-NFSFUVP2.js";
248
+ } from "./chunk-C3I6L7JZ.js";
245
249
  import {
246
250
  installFiles,
247
251
  megabytes
248
- } from "./chunk-J6EUSJ3X.js";
252
+ } from "./chunk-CSPAEYKK.js";
249
253
  import {
250
254
  storePath,
251
255
  wirecatDirectory
252
- } from "./chunk-W2EY5PSH.js";
256
+ } from "./chunk-YO7AUGUT.js";
253
257
  import {
254
258
  resolvePaths,
255
259
  writeSecurely
256
- } from "./chunk-2R2Z2VWL.js";
260
+ } from "./chunk-O3ZOYXH3.js";
257
261
  import {
258
262
  array,
259
263
  boolean,
@@ -276,7 +280,7 @@ import {
276
280
  string,
277
281
  transform,
278
282
  unknown
279
- } from "./chunk-SN63VOE6.js";
283
+ } from "./chunk-EBNNONF5.js";
280
284
  import {
281
285
  importFrom,
282
286
  resolveFrom
@@ -286,7 +290,7 @@ import {
286
290
  isCliError,
287
291
  singleLine,
288
292
  visibleControls
289
- } from "./chunk-RZ54DSVU.js";
293
+ } from "./chunk-BXTDAGM4.js";
290
294
  import {
291
295
  __commonJS,
292
296
  __name,
@@ -16902,7 +16906,7 @@ var require_lib3 = __commonJS({
16902
16906
  }
16903
16907
  });
16904
16908
 
16905
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/conversations/link.js
16909
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/conversations/link.js
16906
16910
  var RULES_VERSION = 5;
16907
16911
  var LOOK_BACK = 50;
16908
16912
  var SAME_SENDER_WITHIN = 10;
@@ -16992,13 +16996,200 @@ var latest = /* @__PURE__ */ __name((window3, matches) => {
16992
16996
  var sameThread = /* @__PURE__ */ __name((a, b) => a.threadId === b.threadId, "sameThread");
16993
16997
  var link = /* @__PURE__ */ __name((message, parentId, source, kind, confidence, method) => ({ messageId: message.id, parentId, source, kind, confidence, method }), "link");
16994
16998
 
16995
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/ports/traits.js
16999
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/ports/traits.js
16996
17000
  var syncsOneChat = /* @__PURE__ */ __name((messenger) => messenger.history !== "store" || messenger.historyOnDemand === true, "syncsOneChat");
16997
17001
 
16998
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/store/sqlite/document-transfer/snapshot.js
17002
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/store/damage.js
17003
+ var DERIVED = /* @__PURE__ */ new Set(["mentions", "involvements", "embeddings"]);
17004
+ var named = /* @__PURE__ */ __name((tables) => tables.length <= 5 ? tables.join(", ") : `${tables.slice(0, 5).join(", ")} and ${tables.length - 5} more`, "named");
17005
+ var isDerivedTable = /* @__PURE__ */ __name((table, searchIndexes) => DERIVED.has(table) || table.startsWith("vector_index_") || searchIndexes.some((index) => table === index || table.startsWith(`${index}_`)), "isDerivedTable");
17006
+ var WIRECAT_UNITS = ["memo-*", "mail-*", "tg-*", "max-*", "wirecat-*"];
17007
+ var explainDamage = /* @__PURE__ */ __name((health, command) => {
17008
+ if (health.ok)
17009
+ return null;
17010
+ const indexNames = (health.searchIndexes ?? []).map((index) => index.name);
17011
+ const badIndexes = (health.searchIndexes ?? []).filter((index) => !index.ok).map((index) => index.name);
17012
+ const tables = (health.damagedTables ?? []).map((one2) => one2.table).filter((table) => table !== null);
17013
+ const sources = tables.filter((table) => !isDerivedTable(table, indexNames));
17014
+ const derived2 = [.../* @__PURE__ */ new Set([...tables.filter((table) => isDerivedTable(table, indexNames)), ...badIndexes])];
17015
+ const unopened = health.error !== void 0;
17016
+ const json = (health.invalidJson ?? []).map(({ table, column }) => `${table}.${column}`);
17017
+ const what = unopened ? `the store file cannot be opened: ${health.error}` : health.checked === "quick" ? "the store file's header or schema is damaged" : `the store file is damaged: ${health.problems ?? 0} problems` + (sources.length ? ` in the data of ${named(sources)}` : "") + (derived2.length ? `${sources.length ? ", and" : " in"} the search data of ${named(derived2)}` : "") + (json.length ? `; values that are not valid JSON in ${named(json)}` : "");
17018
+ const impact = [
17019
+ ...sources.length ? [`some rows of ${named(sources)} cannot be read; a recovery keeps every row it can read and names the rest`] : [],
17020
+ ...derived2.length ? [`searches may miss results or fail; ${named(derived2)} hold nothing that is not elsewhere, and are rebuilt`] : [],
17021
+ ...json.length ? [`a read of a row with a broken JSON value fails ("malformed JSON"); a recovery clears those values`] : [],
17022
+ "reads that do not touch a damaged page work; a write that touches one fails until the store is recovered"
17023
+ ];
17024
+ return {
17025
+ what,
17026
+ causes: [
17027
+ "the computer lost power or crashed, or the disk filled up, while a tool was writing",
17028
+ "the file was copied, restored or synced while a tool had it open, or it sits in a synced or network folder",
17029
+ "a fault of the disk itself"
17030
+ ],
17031
+ investigate: [
17032
+ `journalctl --user ${WIRECAT_UNITS.map((unit) => `-u '${unit}'`).join(" ")} --since -14d | grep -i -e malformed -e corrupt -e 'disk full'`,
17033
+ "journalctl -k --since -14d | grep -i -e 'I/O error' -e nvme -e ata",
17034
+ `df -h ${health.path.replace(/\/[^/]*$/, "")}`,
17035
+ ...health.checked === "quick" ? [`${command} store recover`] : []
17036
+ ],
17037
+ impact,
17038
+ externalUnaffected: "only this computer's copy is damaged: Telegram, MAX, the mail servers and Google Drive keep their own data, so whatever is lost here can be fetched again by a sync",
17039
+ steps: [
17040
+ "stop every timer and server of the WireCat tools; `store recover run` lists the ones still running",
17041
+ `${command} store recover run`,
17042
+ "run the fetch commands it prints, then start the timers again"
17043
+ ]
17044
+ };
17045
+ }, "explainDamage");
17046
+
17047
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/store/health.js
17048
+ import { existsSync, statSync } from "node:fs";
17049
+ var JSON_COLUMNS = {
17050
+ accounts: ["settings"],
17051
+ account_identities: ["mail_signals"],
17052
+ bot_updates: ["payload"],
17053
+ documents: ["front_matter"],
17054
+ emails: ["headers"],
17055
+ meeting_participants: ["sessions"],
17056
+ messages: ["mentions", "reply_to"],
17057
+ proposed_actions: ["payload", "result"],
17058
+ searches: ["params"],
17059
+ tag_consolidations: ["source_member_ids", "survivor_member_ids"],
17060
+ task_events: ["changes"]
17061
+ };
17062
+ var jsonColumns = /* @__PURE__ */ __name((database) => database.prepare(`SELECT m.name AS "table", c.name AS "column", c."notnull" AS required FROM sqlite_master m, pragma_table_info(m.name) c
17063
+ WHERE m.type = 'table' AND m.sql NOT LIKE 'CREATE VIRTUAL%' ORDER BY 1, 2`).all().map((row) => ({ table: String(row.table), column: String(row.column), required: Number(row.required) === 1 })).filter(({ table, column }) => column === "metadata" || JSON_COLUMNS[table]?.includes(column)), "jsonColumns");
17064
+ var invalidJson = /* @__PURE__ */ __name((database) => jsonColumns(database).map((one2) => ({
17065
+ ...one2,
17066
+ rows: Number(database.prepare(`SELECT count(*) AS n FROM "${one2.table}" WHERE "${one2.column}" IS NOT NULL AND NOT json_valid("${one2.column}")`).get()?.n)
17067
+ })).filter(({ rows }) => rows > 0), "invalidJson");
17068
+ var QUICK_CHECK_LIMIT = 1e4;
17069
+ var QUICK_HEALTH_CHECKS = "the file header, its size against its page count, and the schema's own pages";
17070
+ var FTS5 = /^\s*CREATE\s+VIRTUAL\s+TABLE\s+\S+\s+USING\s+fts5\s*\(/i;
17071
+ var fts5Tables = /* @__PURE__ */ __name((database) => database.prepare("SELECT name, sql FROM sqlite_master WHERE type = 'table' AND sql LIKE 'CREATE VIRTUAL TABLE%' ORDER BY name").all().filter((row) => FTS5.test(String(row.sql))).map((row) => {
17072
+ const sql = String(row.sql);
17073
+ return { name: String(row.name), sql, external: /content\s*=\s*'[^']+'/i.test(sql) };
17074
+ }), "fts5Tables");
17075
+ var messageOf = /* @__PURE__ */ __name((error) => error instanceof Error ? error.message : String(error), "messageOf");
17076
+ var bytesOf = /* @__PURE__ */ __name((path) => statSync(path, { throwIfNoEntry: false })?.size ?? 0, "bytesOf");
17077
+ var damagedTables = /* @__PURE__ */ __name((database, lines3) => {
17078
+ const roots = new Map(database.prepare("SELECT rootpage, tbl_name FROM sqlite_master WHERE rootpage > 0").all().map((row) => [Number(row.rootpage), String(row.tbl_name)]));
17079
+ const owners = new Map(database.prepare("SELECT name, tbl_name FROM sqlite_master WHERE type = 'index'").all().map((row) => [String(row.name), String(row.tbl_name)]));
17080
+ const virtual = database.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND sql LIKE 'CREATE VIRTUAL TABLE%'").all().map((row) => String(row.name));
17081
+ const ownerOf = /* @__PURE__ */ __name((table) => table === null ? null : virtual.find((name) => table.startsWith(`${name}_`)) ?? table, "ownerOf");
17082
+ const tables = /* @__PURE__ */ new Map();
17083
+ for (const raw of lines3) {
17084
+ const line2 = raw.replace(/^\*\*\* in database \w+ \*\*\*\s*/, "");
17085
+ const tree = /^Tree (\d+) /.exec(line2);
17086
+ const column = /value in (\w+)\.\w+/.exec(line2) ?? /^table (\w+): /.exec(line2);
17087
+ const index = /index (\w+)/.exec(line2)?.[1];
17088
+ const table = ownerOf(tree ? roots.get(Number(tree[1])) ?? null : column ? column[1] ?? null : index ? owners.get(index) ?? null : null);
17089
+ const known2 = tables.get(table);
17090
+ if (known2)
17091
+ known2.problems += 1;
17092
+ else
17093
+ tables.set(table, { table, problems: 1, sample: line2.slice(0, 200) });
17094
+ }
17095
+ return [...tables.values()].sort((a, b) => b.problems - a.problems);
17096
+ }, "damagedTables");
17097
+ var searchIndexHealth = /* @__PURE__ */ __name((database) => fts5Tables(database).map(({ name }) => {
17098
+ try {
17099
+ database.exec("BEGIN");
17100
+ try {
17101
+ database.exec(`INSERT INTO "${name}" ("${name}", rank) VALUES ('integrity-check', 0)`);
17102
+ } finally {
17103
+ database.exec("ROLLBACK");
17104
+ }
17105
+ return { name, ok: true };
17106
+ } catch (error) {
17107
+ return { name, ok: false, error: messageOf(error) };
17108
+ }
17109
+ }), "searchIndexHealth");
17110
+ var pragmaLines = /* @__PURE__ */ __name((database, sql) => database.prepare(sql).all().flatMap((row) => String(Object.values(row)[0]).split("\n")), "pragmaLines");
17111
+ var checkLines = /* @__PURE__ */ __name((database) => {
17112
+ try {
17113
+ return pragmaLines(database, `PRAGMA quick_check(${QUICK_CHECK_LIMIT})`);
17114
+ } catch {
17115
+ const tables = database.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND rootpage > 0 ORDER BY name").all().map((row) => String(row.name));
17116
+ return tables.flatMap((table) => {
17117
+ try {
17118
+ return pragmaLines(database, `PRAGMA quick_check("${table}")`).filter((line2) => line2 !== "ok");
17119
+ } catch (error) {
17120
+ return [`table ${table}: ${messageOf(error)}`];
17121
+ }
17122
+ });
17123
+ }
17124
+ }, "checkLines");
17125
+ var quickHealth = /* @__PURE__ */ __name((database, path) => {
17126
+ const pragma = /* @__PURE__ */ __name((name) => Number(Object.values(database.prepare(`PRAGMA ${name}`).get() ?? {})[0] ?? 0), "pragma");
17127
+ const file2 = {
17128
+ bytes: bytesOf(path),
17129
+ pages: pragma("page_count"),
17130
+ pageSize: pragma("page_size"),
17131
+ freePages: pragma("freelist_count")
17132
+ };
17133
+ const schema2 = database.prepare("PRAGMA quick_check('sqlite_schema')").all().map((row) => String(Object.values(row)[0]));
17134
+ const walFrames = existsSync(`${path}-wal`) && bytesOf(`${path}-wal`) > 0;
17135
+ const sized2 = walFrames || file2.bytes === file2.pages * file2.pageSize;
17136
+ const problems = [
17137
+ ...schema2.length === 1 && schema2[0] === "ok" ? [] : schema2,
17138
+ ...sized2 ? [] : [`the file holds ${file2.bytes} bytes, its header says ${file2.pages * file2.pageSize}`]
17139
+ ];
17140
+ return { file: file2, problems };
17141
+ }, "quickHealth");
17142
+ var storeHealth = /* @__PURE__ */ __name(async (path, { deep = false } = {}) => {
17143
+ const started = Date.now();
17144
+ const checked2 = deep ? "deep" : "quick";
17145
+ const done2 = /* @__PURE__ */ __name((health) => ({
17146
+ path,
17147
+ checked: checked2,
17148
+ ...health,
17149
+ ms: Date.now() - started
17150
+ }), "done");
17151
+ let database;
17152
+ try {
17153
+ database = (await openSqlite(path, { readOnly: !deep })).database;
17154
+ } catch (error) {
17155
+ return done2({ ok: false, error: messageOf(error) });
17156
+ }
17157
+ try {
17158
+ const { file: file2, problems } = quickHealth(database, path);
17159
+ if (!deep) {
17160
+ return done2({
17161
+ ok: problems.length === 0,
17162
+ file: file2,
17163
+ ...problems.length ? {
17164
+ problems: problems.length,
17165
+ damagedTables: [{ table: null, problems: problems.length, sample: problems[0] }]
17166
+ } : {}
17167
+ });
17168
+ }
17169
+ database.exec("PRAGMA busy_timeout = 30000");
17170
+ const lines3 = checkLines(database);
17171
+ const pagesOk = lines3.length === 1 && lines3[0] === "ok";
17172
+ const indexes = searchIndexHealth(database);
17173
+ const json = pagesOk ? invalidJson(database) : [];
17174
+ return done2({
17175
+ ok: pagesOk && problems.length === 0 && indexes.every((index) => index.ok) && json.length === 0,
17176
+ file: file2,
17177
+ problems: pagesOk ? 0 : lines3.length,
17178
+ damagedTables: pagesOk ? [] : damagedTables(database, lines3),
17179
+ searchIndexes: indexes,
17180
+ invalidJson: json
17181
+ });
17182
+ } catch (error) {
17183
+ return done2({ ok: false, error: messageOf(error) });
17184
+ } finally {
17185
+ database.close();
17186
+ }
17187
+ }, "storeHealth");
17188
+
17189
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/store/sqlite/document-transfer/snapshot.js
16999
17190
  var MAX_BYTES = 16 * 1024 * 1024;
17000
17191
 
17001
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/store/project-transfer/preview.js
17192
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/store/project-transfer/preview.js
17002
17193
  var previewProjectAnnotationSnapshot = /* @__PURE__ */ __name(async (options) => {
17003
17194
  if (!options || typeof options !== "object" || Array.isArray(options))
17004
17195
  throw new CliError("validation_error", "project preview options are required");
@@ -17020,7 +17211,7 @@ var previewProjectAnnotationSnapshot = /* @__PURE__ */ __name(async (options) =>
17020
17211
  }
17021
17212
  }, "previewProjectAnnotationSnapshot");
17022
17213
 
17023
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/store/project-transfer/snapshot.js
17214
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/store/project-transfer/snapshot.js
17024
17215
  var snapshotProjectAnnotations = /* @__PURE__ */ __name(async (options) => {
17025
17216
  if (!options || typeof options !== "object" || Array.isArray(options))
17026
17217
  throw new CliError("validation_error", "snapshot options are required");
@@ -17041,7 +17232,7 @@ var snapshotProjectAnnotations = /* @__PURE__ */ __name(async (options) => {
17041
17232
  }
17042
17233
  }, "snapshotProjectAnnotations");
17043
17234
 
17044
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/cli/messenger/lacks.js
17235
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/cli/messenger/lacks.js
17045
17236
  var COMMAND_NEEDS = {
17046
17237
  "account update": ["updateProfile", "change the profile"],
17047
17238
  "account sessions list": ["sessions", "list the account's sessions"],
@@ -17091,7 +17282,7 @@ var hideNever = /* @__PURE__ */ __name((messenger, group) => {
17091
17282
  return group;
17092
17283
  }, "hideNever");
17093
17284
 
17094
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/members-audit.js
17285
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/members-audit.js
17095
17286
  var AUDIT_PAGE = 200;
17096
17287
  var AUDIT_BUDGET = 10;
17097
17288
  var AUDIT_PAUSE_MS = 1e3;
@@ -17171,7 +17362,7 @@ var burstJoins = /* @__PURE__ */ __name((members) => {
17171
17362
  return found;
17172
17363
  }, "burstJoins");
17173
17364
 
17174
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/meetings/cli/query-options.js
17365
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/meetings/cli/query-options.js
17175
17366
  var queryWordsAfterOptions = /* @__PURE__ */ __name((command) => {
17176
17367
  command.allowUnknownOption();
17177
17368
  const parse = command.parseOptions.bind(command);
@@ -17191,7 +17382,7 @@ var queryWordsAfterOptions = /* @__PURE__ */ __name((command) => {
17191
17382
  return command;
17192
17383
  }, "queryWordsAfterOptions");
17193
17384
 
17194
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/meetings/cli/passage.js
17385
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/meetings/cli/passage.js
17195
17386
  var count = /* @__PURE__ */ __name((value) => {
17196
17387
  if (!/^(0|[1-9]\d*)$/.test(value) || !Number.isSafeInteger(Number(value)))
17197
17388
  throw new CliError("validation_error", "expected a nonnegative safe integer");
@@ -17233,7 +17424,7 @@ var addMeetingPassageCommandDefinition = /* @__PURE__ */ __name((program, deps)
17233
17424
  var createMeetingPassageCommand = sharedCommand(createMeetingPassageCommandDefinition);
17234
17425
  var addMeetingPassageCommand = sharedCommand(addMeetingPassageCommandDefinition);
17235
17426
 
17236
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/meetings/cli/project-evidence.js
17427
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/meetings/cli/project-evidence.js
17237
17428
  var integer2 = /* @__PURE__ */ __name((value) => {
17238
17429
  if (!/^[1-9]\d*$/.test(value) || !Number.isSafeInteger(Number(value)))
17239
17430
  throw new CliError("validation_error", "expected a positive safe integer");
@@ -17256,7 +17447,7 @@ ${fieldsHelp(MEETING_PROJECT_EVIDENCE_QUERY)}`).option("--limit <n>", "hits in o
17256
17447
  }, "addMeetingProjectEvidenceCommandDefinition");
17257
17448
  var addMeetingProjectEvidenceCommand = sharedCommand(addMeetingProjectEvidenceCommandDefinition);
17258
17449
 
17259
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/meetings/cli/search.js
17450
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/meetings/cli/search.js
17260
17451
  var ZONED = /(?:Z|[+-]\d{2}:?\d{2})$/i;
17261
17452
  var moment = /* @__PURE__ */ __name((flag, end, readIn) => (value) => {
17262
17453
  const zone = timezoneOf();
@@ -17342,7 +17533,7 @@ var addMeetingSearchCommandDefinition = /* @__PURE__ */ __name((program, deps) =
17342
17533
  var createMeetingSearchCommand = sharedCommand(createMeetingSearchCommandDefinition);
17343
17534
  var addMeetingSearchCommand = sharedCommand(addMeetingSearchCommandDefinition);
17344
17535
 
17345
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/meetings/cli/index.js
17536
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/meetings/cli/index.js
17346
17537
  var integer4 = /* @__PURE__ */ __name((text2) => {
17347
17538
  if (!/^[1-9]\d*$/.test(text2) || !Number.isSafeInteger(Number(text2)))
17348
17539
  throw new InvalidArgumentError("expected a positive integer");
@@ -17392,7 +17583,14 @@ ${fieldsHelp(MEETING_QUERY, MEETING_QUERY_GUIDE)}`);
17392
17583
  output(annotate(group.command("summary"), { effects: LOCAL_READ, output: { entity: "meeting_summary" } }).description("show stored meeting summaries").argument("<meeting>", "stored meeting id", integer4)).action(async (id2, _opts, command) => {
17393
17584
  print(await meetingSummaryAnswer(deps.store, id2, deps.accountId), command);
17394
17585
  });
17395
- output(annotate(group.command("export"), { effects: LOCAL_WRITE, output: { entity: "meeting_export" } }).description("export a meeting as Markdown or one transcript as WebVTT").argument("<meeting>", "stored meeting id", integer4).addOption(new Option("--format <format>", "export format").choices(["markdown", "vtt"]).default("markdown")).option("--transcript-id <id>", "export a specific transcript version", integer4).option("--output <file>", "write content to a file through the host's writer")).action(async (id2, opts, command) => {
17586
+ const exporter = output(annotate(group.command("export"), { effects: LOCAL_WRITE, output: { entity: "meeting_export" } }).description("export a meeting as Markdown or one transcript as WebVTT").argument("<meeting>", "stored meeting id", integer4).addOption(new Option("--format <format>", "export format").choices(["markdown", "vtt"]).default("markdown")).option("--transcript-id <id>", "export a specific transcript version", integer4).addOption(
17587
+ // Not over MCP: an agent would choose where on the owner's disk to write; it gets the content in the answer.
17588
+ annotateOption(new Option("--output <file>", "write content to a new file through the host's writer"), {
17589
+ mcp: false
17590
+ })
17591
+ ));
17592
+ deps.newFileOutput?.(exporter, "output");
17593
+ exporter.action(async (id2, opts, command) => {
17396
17594
  if (opts.output !== void 0 && !opts.output.trim())
17397
17595
  throw new MeetingError("validation_error", "output path must not be empty");
17398
17596
  if (opts.output !== void 0 && !deps.writeFile)
@@ -17419,16 +17617,21 @@ ${fieldsHelp(MEETING_QUERY, MEETING_QUERY_GUIDE)}`);
17419
17617
  output(annotate(group.command("sync"), {
17420
17618
  effects: FETCH,
17421
17619
  offline: false,
17422
- output: { entity: "meeting_ingestion" }
17423
- }).description("bring the stored meetings up to date from the connected account")).option("--since-time <time>", "fetch meetings starting at or after this ISO 8601 date or time", date).option("--lookback-days <days>", "revisit recent occurrences for late transcripts (0\u201331)", lookbackDays, 0).action(async (opts, command) => {
17424
- if (!deps.source)
17620
+ output: { entity: "meeting_ingestion" },
17621
+ // Only a sync that stops itself at its budget may outlive the one-shot deadline.
17622
+ ...deps.budgetOf ? { cooperative: true, partial: true } : {}
17623
+ }).description("bring the stored meetings up to date from the connected account, oldest first; a run that stops before its deadline keeps what it saved and the next one goes on from there")).option("--since-time <time>", "fetch meetings starting at or after this ISO 8601 date or time", date).option("--lookback-days <days>", "revisit recent occurrences for late transcripts (0\u201331)", lookbackDays).option("--rescan", "read the last 30 days again, not only what came after the last sync").action(async (opts, command) => {
17624
+ const source = deps.source;
17625
+ if (!source)
17425
17626
  throw new MeetingError("configuration_error", "meeting source is unavailable");
17426
- print(await pull(deps.source, deps.store, {
17627
+ await deps.inRun(command, async () => print(await pull(source, deps.store, {
17427
17628
  accountId: deps.accountId,
17428
17629
  since: opts.sinceTime === void 0 ? void 0 : new Date(opts.sinceTime).toISOString(),
17429
17630
  now: deps.now?.(),
17430
- lookbackMs: opts.lookbackDays * 864e5
17431
- }), command);
17631
+ ...opts.lookbackDays === void 0 ? {} : { lookbackMs: opts.lookbackDays * 864e5 },
17632
+ ...opts.rescan ? { rescan: true } : {},
17633
+ ...deps.budgetOf ? { budget: deps.budgetOf(command) } : {}
17634
+ }), command));
17432
17635
  });
17433
17636
  const importCommand = annotate(group.command("import"), {
17434
17637
  effects: LOCAL_WRITE,
@@ -17474,7 +17677,7 @@ ${fieldsHelp(EVENT_QUERY, MEETING_QUERY_GUIDE)}`);
17474
17677
  }, "addMeetingCommandsDefinition");
17475
17678
  var addMeetingCommands = sharedCommand(addMeetingCommandsDefinition);
17476
17679
 
17477
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/cli/list-query.js
17680
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/cli/list-query.js
17478
17681
  var LIST_QUERY_GUIDE = "https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md";
17479
17682
  var QUERY_ARGUMENT = "field:value terms that narrow the list \u2014 the fields are below";
17480
17683
  var withQuery = /* @__PURE__ */ __name((command, registry) => {
@@ -17507,8 +17710,8 @@ var listQuery = /* @__PURE__ */ __name((text2, registry, command, { defaultField
17507
17710
  const typed = parsed && withTomorrow(parsed, registry);
17508
17711
  if (typed)
17509
17712
  validateQuery(typed, registry, context2);
17510
- const named2 = typed ? fieldsNamed(typed) : /* @__PURE__ */ new Set();
17511
- const defaults = (registry.defaults ?? []).filter((term) => !named2.has(term.replace(/^-/, "").split(/[:<>=]/)[0] ?? "")).map((term) => parseLucene(term, { defaultField: "none", ...context2 }).root);
17713
+ const named3 = typed ? fieldsNamed(typed) : /* @__PURE__ */ new Set();
17714
+ const defaults = (registry.defaults ?? []).filter((term) => !named3.has(term.replace(/^-/, "").split(/[:<>=]/)[0] ?? "")).map((term) => parseLucene(term, { defaultField: "none", ...context2 }).root);
17512
17715
  const roots = [...typed ? [typed.root] : [], ...defaults];
17513
17716
  if (roots.length === 0)
17514
17717
  return void 0;
@@ -17607,7 +17810,7 @@ var termField = /* @__PURE__ */ __name((name, type, example, more = {}) => nativ
17607
17810
  var queryHelp = /* @__PURE__ */ __name((registry) => `
17608
17811
  ${fieldsHelp(registry, LIST_QUERY_GUIDE)}`, "queryHelp");
17609
17812
 
17610
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/cli/paging.js
17813
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/cli/paging.js
17611
17814
  var positiveCount = /* @__PURE__ */ __name((flag) => (value) => {
17612
17815
  if (!/^\d+$/.test(value.trim()) || Number(value) < 1)
17613
17816
  throw new CliError("validation_error", `${flag} takes a whole number from 1 upwards, not "${value}"`);
@@ -17616,7 +17819,7 @@ var positiveCount = /* @__PURE__ */ __name((flag) => (value) => {
17616
17819
  var withPaging = /* @__PURE__ */ __name((command) => command.option("--limit <n>", "how many to show", positiveCount("--limit")).option("--page <n>", "which page, starting at 1", positiveCount("--page")).option("--all", "every row, no paging"), "withPaging");
17617
17820
  var window = /* @__PURE__ */ __name(({ limit, page, all }) => all ? { offset: 0 } : { limit, offset: (page - 1) * limit }, "window");
17618
17821
 
17619
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/cli/messenger/chat-answers.js
17822
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/cli/messenger/chat-answers.js
17620
17823
  var defined = /* @__PURE__ */ __name((record2) => Object.fromEntries(Object.entries(record2).filter(([, value]) => value !== void 0)), "defined");
17621
17824
  var chatRef = /* @__PURE__ */ __name((account, chat) => formatReference({ type: "chat", provider: account.provider, account: account.account, chat }), "chatRef");
17622
17825
  var settingsOf = /* @__PURE__ */ __name((settings) => defined({
@@ -17878,7 +18081,7 @@ var sessionAnswer = /* @__PURE__ */ __name(({ current, client, device, location,
17878
18081
  ...createdAt === void 0 ? {} : { created_at: createdAt }
17879
18082
  }), "sessionAnswer");
17880
18083
 
17881
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/ports/messenger.js
18084
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/ports/messenger.js
17882
18085
  var throughWrapper = /* @__PURE__ */ __name((inner, handled, wrap = (_, call) => call) => new Proxy(handled, {
17883
18086
  get: /* @__PURE__ */ __name((own, key) => {
17884
18087
  if (key in own)
@@ -17895,12 +18098,12 @@ var capability = /* @__PURE__ */ __name((adapter, method, what) => {
17895
18098
  return found.bind(adapter);
17896
18099
  }, "capability");
17897
18100
 
17898
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/sends/send-id.js
18101
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/sends/send-id.js
17899
18102
  import { randomBytes } from "node:crypto";
17900
18103
  var newSendId = /* @__PURE__ */ __name(() => randomBytes(8).readBigInt64BE().toString(), "newSendId");
17901
18104
  var newOperationId = newSendId;
17902
18105
 
17903
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/deps.js
18106
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/deps.js
17904
18107
  var accountStore = /* @__PURE__ */ __name(async (deps) => (await deps.store()).forAccount(await deps.account()), "accountStore");
17905
18108
  var crossAccount = /* @__PURE__ */ __name((deps, _reason) => deps.store(), "crossAccount");
17906
18109
  var NO_LOCAL_STORE = "this answer comes from the messenger, not from the local store";
@@ -17977,7 +18180,7 @@ var storeOnlyDeps = /* @__PURE__ */ __name((store, account, { app, env }) => {
17977
18180
  return { ...storedDeps(messenger, store, account, guard), ...env === void 0 ? {} : { env } };
17978
18181
  }, "storeOnlyDeps");
17979
18182
 
17980
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/patience.js
18183
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/patience.js
17981
18184
  import { setTimeout as sleep } from "node:timers/promises";
17982
18185
  var LONGEST_WAIT_MS = 5 * 60 * 1e3;
17983
18186
  var patiently = /* @__PURE__ */ __name(async (request, note2, stop) => {
@@ -18000,10 +18203,10 @@ var patiently = /* @__PURE__ */ __name(async (request, note2, stop) => {
18000
18203
  }
18001
18204
  }, "patiently");
18002
18205
 
18003
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/archive.js
18206
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/archive.js
18004
18207
  import { setTimeout as sleep2 } from "node:timers/promises";
18005
18208
 
18006
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/backfill-estimate.js
18209
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/backfill-estimate.js
18007
18210
  var REQUEST_MS = 400;
18008
18211
  var estimateBackfill = /* @__PURE__ */ __name(({ ranges, held, newest, page, maxPages, pauseMs }) => {
18009
18212
  const lowest = ranges[0];
@@ -18026,13 +18229,13 @@ var estimateBackfill = /* @__PURE__ */ __name(({ ranges, held, newest, page, max
18026
18229
  };
18027
18230
  }, "estimateBackfill");
18028
18231
 
18029
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/recovery.js
18232
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/recovery.js
18030
18233
  var withRecovery = /* @__PURE__ */ __name((error) => ({
18031
18234
  ...error,
18032
18235
  retryable: typeof error.retryable === "boolean" ? error.retryable : error.code === "rate_limited" || error.status === 429
18033
18236
  }), "withRecovery");
18034
18237
 
18035
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/batch.js
18238
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/batch.js
18036
18239
  var actionable = /* @__PURE__ */ __name((error) => {
18037
18240
  if (isCliFailure(error))
18038
18241
  return withRecovery({ code: error.code, message: error.message, ...error.details });
@@ -18115,7 +18318,7 @@ var mergeBatches = /* @__PURE__ */ __name((a, b) => {
18115
18318
  };
18116
18319
  }, "mergeBatches");
18117
18320
 
18118
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/ref-arguments.js
18321
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/ref-arguments.js
18119
18322
  var TAKES = {
18120
18323
  chat: "a chat: chat:<provider>/<account>/<chat>, its id or its title",
18121
18324
  message: "a message: msg:<provider>/<account>/<chat>/<message>, or a chat and the message's id"
@@ -18175,9 +18378,9 @@ var ensureAccount = /* @__PURE__ */ __name(async (reference, scope, profilesOn)
18175
18378
  throw wrongAccount(reference, scope, profiles);
18176
18379
  }, "ensureAccount");
18177
18380
 
18178
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/resolve.js
18381
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/resolve.js
18179
18382
  var isId = /* @__PURE__ */ __name((reference) => /^-?\d+$/.test(reference.trim()), "isId");
18180
- var foldName = /* @__PURE__ */ __name((name) => name.normalize("NFC").replace(/[\uFE0E\uFE0F\u200D]/g, "").toLowerCase(), "foldName");
18383
+ var foldName = /* @__PURE__ */ __name((name) => name.normalize("NFC").replace(/[\uFE0E\uFE0F\u200D]/g, "").toLowerCase().replaceAll("\u0451", "\u0435"), "foldName");
18181
18384
  var pickChat = /* @__PURE__ */ __name((reference, chats) => {
18182
18385
  const wanted = foldName(reference.trim());
18183
18386
  const matches = chats.filter((chat) => chat.title !== null && foldName(chat.title).includes(wanted));
@@ -18191,9 +18394,9 @@ var pickPerson = /* @__PURE__ */ __name((reference, people) => {
18191
18394
  const trimmed = reference.trim();
18192
18395
  const contact = contactReferenceOf(trimmed, people.provider);
18193
18396
  if (contact !== void 0) {
18194
- const named2 = people.get(contact);
18195
- if (named2)
18196
- return named2;
18397
+ const named3 = people.get(contact);
18398
+ if (named3)
18399
+ return named3;
18197
18400
  throw new CliError("not_found", `no person ${contact} in what this account has seen`);
18198
18401
  }
18199
18402
  const known2 = people.get(trimmed);
@@ -18220,7 +18423,7 @@ ${lines3}`, { candidates });
18220
18423
  }, "ambiguous");
18221
18424
  var isPresent = /* @__PURE__ */ __name((value) => value !== null && value !== void 0, "isPresent");
18222
18425
 
18223
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/message-resolution.js
18426
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/message-resolution.js
18224
18427
  var readChatId = /* @__PURE__ */ __name(async (deps, reference, store, account) => {
18225
18428
  if (deps.reads !== "store")
18226
18429
  return keptChatId(deps.messenger, reference, store, account);
@@ -18293,11 +18496,11 @@ var chatIdAmong = /* @__PURE__ */ __name(async (messenger, reference, account, {
18293
18496
  if (messenger.savedChatId && ["me", "self", "saved"].includes(trimmed.toLowerCase())) {
18294
18497
  return messenger.savedChatId(account);
18295
18498
  }
18296
- const named2 = chatReferenceOf(trimmed, account.provider);
18297
- if (named2)
18298
- await ensureAccount(named2, { account: account.account }, profilesOn);
18299
- if (named2 || /^-?\d+$/.test(trimmed)) {
18300
- const typed = named2?.chat ?? trimmed;
18499
+ const named3 = chatReferenceOf(trimmed, account.provider);
18500
+ if (named3)
18501
+ await ensureAccount(named3, { account: account.account }, profilesOn);
18502
+ if (named3 || /^-?\d+$/.test(trimmed)) {
18503
+ const typed = named3?.chat ?? trimmed;
18301
18504
  const id2 = await renamed2(typed) ?? typed;
18302
18505
  if (await left?.(id2))
18303
18506
  throw new CliError("not_found", `you left chat ${id2}`);
@@ -18379,7 +18582,7 @@ var senderAmong = /* @__PURE__ */ __name(async (store, accounts, reference) => {
18379
18582
  }
18380
18583
  }, "senderAmong");
18381
18584
 
18382
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/images/context/index.js
18585
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/images/context/index.js
18383
18586
  var CONTEXT_MESSAGES = 3;
18384
18587
  var CONTEXT_MINUTES = 10;
18385
18588
  var MAX_CHARS = 1200;
@@ -18403,12 +18606,12 @@ var context = {
18403
18606
  }, "describe")
18404
18607
  };
18405
18608
 
18406
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/images/registry.js
18609
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/images/registry.js
18407
18610
  var BUILT_INS = [context];
18408
18611
  var providers = [...BUILT_INS];
18409
18612
  var registeredImageProviders = /* @__PURE__ */ __name(() => providers, "registeredImageProviders");
18410
18613
 
18411
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/conversations.js
18614
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/conversations.js
18412
18615
  var READ_PAGE = 5e3;
18413
18616
  var CHAIN = 50;
18414
18617
  var CONVERSATION_QUERY = {
@@ -18560,7 +18763,7 @@ var sized = /* @__PURE__ */ __name((size4) => {
18560
18763
  return size4;
18561
18764
  }, "sized");
18562
18765
 
18563
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/embeddings-maintenance.js
18766
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/embeddings-maintenance.js
18564
18767
  var REFRESH_BOUNDS = { maxChats: 20, maxChunks: 2e3 };
18565
18768
  var MESSAGE_PAGE = 5e3;
18566
18769
  var PER_SESSION = 8;
@@ -18579,7 +18782,7 @@ var embeddingTarget = /* @__PURE__ */ __name((deps, choice = DEFAULT_TEXT_MODEL)
18579
18782
  price: remote.price,
18580
18783
  installed: true,
18581
18784
  perBatch: PER_REQUEST * concurrency,
18582
- open: /* @__PURE__ */ __name(async () => (await import("./remote-BREQR2BJ.js")).openRemote(remote, apiKey, { concurrency }), "open")
18785
+ open: /* @__PURE__ */ __name(async () => (await import("./remote-DNGLVDYJ.js")).openRemote(remote, apiKey, { concurrency }), "open")
18583
18786
  };
18584
18787
  }
18585
18788
  const model = textModel(choice);
@@ -18596,7 +18799,7 @@ var embeddingTarget = /* @__PURE__ */ __name((deps, choice = DEFAULT_TEXT_MODEL)
18596
18799
  if (!isTextModelInstalled(model, directory2))
18597
18800
  throw notDownloaded(model.id);
18598
18801
  if (apart) {
18599
- const { openProcess } = await import("./process-J74KA6F3.js");
18802
+ const { openProcess } = await import("./process-SB2X3TKY.js");
18600
18803
  return openProcess(model, directory2, { threads: threads ?? defaultThreads() });
18601
18804
  }
18602
18805
  return openEmbedder(model, directory2, { threads: threads ?? defaultThreads() });
@@ -18885,7 +19088,7 @@ var shaped = /* @__PURE__ */ __name(({ chatId, builtAt, algorithmVersion, pendin
18885
19088
  return { ...one2, state };
18886
19089
  }, "shaped");
18887
19090
 
18888
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-catchup.js
19091
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-catchup.js
18889
19092
  var CATCH_UP_BOUNDS = { maxChunks: 500, maxMessages: 1e4, timeMs: 3e4 };
18890
19093
  var validateCatchUpBounds = /* @__PURE__ */ __name((options) => {
18891
19094
  for (const [key, value, maximum] of [
@@ -18938,7 +19141,7 @@ var catchUpSearch = /* @__PURE__ */ __name(async (deps, chat, options, signal, c
18938
19141
  }
18939
19142
  }, "catchUpSearch");
18940
19143
 
18941
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/archive.js
19144
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/archive.js
18942
19145
  var pushed = /* @__PURE__ */ __name((deps, what) => {
18943
19146
  if (deps.reads === "store") {
18944
19147
  throw new CliError("validation_error", `${what} asks for older history, and this messenger pushes its history instead \u2014 keep \`${typedCommand(deps.messenger.app.command, "serve")}\` running`);
@@ -18977,9 +19180,9 @@ var archiveService = /* @__PURE__ */ __name((deps) => {
18977
19180
  const store = await deps.store();
18978
19181
  const account = await deps.account();
18979
19182
  if (chats !== void 0 && chats.length > 0) {
18980
- const named2 = await Promise.all(chats.map((chat) => storedChatId(deps.messenger, chat, store, account, { includeLeft: true })));
19183
+ const named3 = await Promise.all(chats.map((chat) => storedChatId(deps.messenger, chat, store, account, { includeLeft: true })));
18981
19184
  const titles = new Map((await store.chats.chatStats(account)).map((one2) => [one2.chatId, one2.title]));
18982
- return { account, chats: [...new Set(named2)].map((id2) => ({ id: id2, title: titles.get(id2) ?? null })) };
19185
+ return { account, chats: [...new Set(named3)].map((id2) => ({ id: id2, title: titles.get(id2) ?? null })) };
18983
19186
  }
18984
19187
  const stored = (await store.chats.chats(account, {})).items;
18985
19188
  return {
@@ -19304,7 +19507,7 @@ var timeOfKey = /* @__PURE__ */ __name(async (store, account, chatId, key, byTim
19304
19507
  return message?.timestamp ?? fallback;
19305
19508
  }, "timeOfKey");
19306
19509
 
19307
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/questions.js
19510
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/questions.js
19308
19511
  var LINKS = /https?:\/\/\S+/g;
19309
19512
  var unanswered = /* @__PURE__ */ __name((messages, { answerers: answerers2, before: before2 }) => questions(messages, { answerers: answerers2 }).filter(({ question, answer }) => answer === void 0 && Date.parse(question.timestamp) < before2).map(({ question }) => question), "unanswered");
19310
19513
  var questions = /* @__PURE__ */ __name((messages, { answerers: answerers2, asker = "others" }) => {
@@ -19334,7 +19537,7 @@ var questions = /* @__PURE__ */ __name((messages, { answerers: answerers2, asker
19334
19537
  });
19335
19538
  }, "questions");
19336
19539
 
19337
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/task-categories.js
19540
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/task-categories.js
19338
19541
  var names = /* @__PURE__ */ __name((categories) => categories.map(({ name }) => name).join(", "), "names");
19339
19542
  var taskCategoryOf = /* @__PURE__ */ __name((categories = DEFAULT_TASK_CATEGORIES, flag = "--category") => (typed) => {
19340
19543
  const name = typed.trim().toLowerCase();
@@ -19391,7 +19594,7 @@ var categorize = /* @__PURE__ */ __name((text2, categories = DEFAULT_TASK_CATEGO
19391
19594
  return best.name;
19392
19595
  }, "categorize");
19393
19596
 
19394
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/task-rules.js
19597
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/task-rules.js
19395
19598
  var taskAccount = /* @__PURE__ */ __name(({ provider, account }) => `${provider}:${account}`, "taskAccount");
19396
19599
  var RULES_IN = {
19397
19600
  dialog: "all",
@@ -19597,7 +19800,7 @@ var applyTaskRulesToChats = /* @__PURE__ */ __name(async (store, account, chatId
19597
19800
  return passes;
19598
19801
  }, "applyTaskRulesToChats");
19599
19802
 
19600
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/context/evidence-response.js
19803
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/context/evidence-response.js
19601
19804
  var contextSourceKey = /* @__PURE__ */ __name((source) => JSON.stringify([source.kind, source.accountId, source.provider, source.account]), "contextSourceKey");
19602
19805
  var validateContextEvidencePage = /* @__PURE__ */ __name((page, request) => {
19603
19806
  const fail3 = /* @__PURE__ */ __name(() => {
@@ -19661,7 +19864,7 @@ var validateContextEvidencePage = /* @__PURE__ */ __name((page, request) => {
19661
19864
  }
19662
19865
  }, "validateContextEvidencePage");
19663
19866
 
19664
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/context/read-budget.js
19867
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/context/read-budget.js
19665
19868
  var contextReadBudget = /* @__PURE__ */ __name((limits = {}) => {
19666
19869
  if (!limits || typeof limits !== "object" || Array.isArray(limits))
19667
19870
  throw new CliError("validation_error", "limits needs a context read allowance");
@@ -19714,7 +19917,7 @@ var contextReadBudget = /* @__PURE__ */ __name((limits = {}) => {
19714
19917
  };
19715
19918
  }, "contextReadBudget");
19716
19919
 
19717
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/context-evidence.js
19920
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/context-evidence.js
19718
19921
  var createContextEvidenceReader = /* @__PURE__ */ __name((port, allowed, limits) => {
19719
19922
  if (!port || typeof port.read !== "function")
19720
19923
  throw new CliError("configuration_error", "context evidence reader is unavailable");
@@ -19758,7 +19961,7 @@ var createContextEvidenceReader = /* @__PURE__ */ __name((port, allowed, limits)
19758
19961
  };
19759
19962
  }, "createContextEvidenceReader");
19760
19963
 
19761
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/ingest.js
19964
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/ingest.js
19762
19965
  var emptyReceipt = /* @__PURE__ */ __name((dryRun) => ({
19763
19966
  dryRun,
19764
19967
  source: null,
@@ -19833,7 +20036,7 @@ var ingest = /* @__PURE__ */ __name(async (store, envelope, { account, dryRun =
19833
20036
  return receipt;
19834
20037
  }, "ingest");
19835
20038
 
19836
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-purposes.js
20039
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-purposes.js
19837
20040
  var BUILT_IN_PURPOSES = ["work", "sales", "support", "other"];
19838
20041
  var DEFAULT_PURPOSES = ["work"];
19839
20042
  var LINK_PURPOSE = "work";
@@ -19863,7 +20066,7 @@ var purposeList = /* @__PURE__ */ __name((value, previous = []) => [
19863
20066
  ...value.split(",").map((one2) => one2.trim()).filter(Boolean)
19864
20067
  ], "purposeList");
19865
20068
 
19866
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/moment.js
20069
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/moment.js
19867
20070
  var AGO = /^(\d+)(m|h|d)$/;
19868
20071
  var AGO_MS = { m: 6e4, h: 36e5, d: 864e5 };
19869
20072
  var DATE = /^\d{4}-\d{2}-\d{2}/;
@@ -19903,7 +20106,7 @@ var dateWindow = /* @__PURE__ */ __name(({ sinceTime, untilTime, zone, now = Dat
19903
20106
  };
19904
20107
  }, "dateWindow");
19905
20108
 
19906
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/botcheck/check.js
20109
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/botcheck/check.js
19907
20110
  var DAY_MS = 864e5;
19908
20111
  var NEW_DAYS = 30;
19909
20112
  var SAME_TEXT_MIN = 20;
@@ -19980,7 +20183,7 @@ var scorePerson = /* @__PURE__ */ __name(({ subject, provider, activity, photos,
19980
20183
  };
19981
20184
  }, "scorePerson");
19982
20185
 
19983
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/http/time-limit.js
20186
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/http/time-limit.js
19984
20187
  var timeLimit = /* @__PURE__ */ __name((ms) => {
19985
20188
  const controller = new AbortController();
19986
20189
  const timer = setTimeout(() => controller.abort(new DOMException("The operation timed out.", "TimeoutError")), ms);
@@ -19996,7 +20199,7 @@ var withTimeLimit = /* @__PURE__ */ __name(async (ms, run) => {
19996
20199
  }
19997
20200
  }, "withTimeLimit");
19998
20201
 
19999
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/botcheck/registries.js
20202
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/botcheck/registries.js
20000
20203
  var REGISTRIES = {
20001
20204
  cas: { title: "Combot Anti-Spam (CAS)", docs: "https://cas.chat/api" },
20002
20205
  lols: { title: "lols.bot", docs: "https://api.lols.bot/lols-bot.json" }
@@ -20083,7 +20286,7 @@ var notCovered = /* @__PURE__ */ __name((messenger, now = /* @__PURE__ */ new Da
20083
20286
  detail: `lists Telegram accounts only, not ${messenger} ones`
20084
20287
  })), "notCovered");
20085
20288
 
20086
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/botcheck/service.js
20289
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/botcheck/service.js
20087
20290
  var ACTIVITY_MESSAGES = 1e3;
20088
20291
  var botCheckService = /* @__PURE__ */ __name((deps) => {
20089
20292
  const subjectOf = /* @__PURE__ */ __name(async (reference) => {
@@ -20171,7 +20374,7 @@ var botCheckService = /* @__PURE__ */ __name((deps) => {
20171
20374
  };
20172
20375
  }, "botCheckService");
20173
20376
 
20174
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/thread.js
20377
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/thread.js
20175
20378
  var threadIdOf = /* @__PURE__ */ __name((value) => {
20176
20379
  if (value === void 0)
20177
20380
  return void 0;
@@ -20181,7 +20384,7 @@ var threadIdOf = /* @__PURE__ */ __name((value) => {
20181
20384
  return id2;
20182
20385
  }, "threadIdOf");
20183
20386
 
20184
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/chat-stats.js
20387
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/chat-stats.js
20185
20388
  var TOP_POSTS = 5;
20186
20389
  var JOINS = /* @__PURE__ */ new Set(["join", "add"]);
20187
20390
  var LEAVES = /* @__PURE__ */ new Set(["leave", "remove"]);
@@ -20298,7 +20501,7 @@ var median = /* @__PURE__ */ __name((values) => {
20298
20501
  return Math.round(sorted.length % 2 === 0 ? ((sorted[middle - 1] ?? upper) + upper) / 2 : upper);
20299
20502
  }, "median");
20300
20503
 
20301
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/member-history.js
20504
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/member-history.js
20302
20505
  var memberEvents = /* @__PURE__ */ __name((stays, revisions, since = 0) => {
20303
20506
  const events = [];
20304
20507
  for (const stay of stays) {
@@ -20330,7 +20533,7 @@ var memberEvents = /* @__PURE__ */ __name((stays, revisions, since = 0) => {
20330
20533
  return events.filter(({ at }) => Date.parse(at) >= since).sort((a, b) => Date.parse(a.at) - Date.parse(b.at) || a.id.localeCompare(b.id));
20331
20534
  }, "memberEvents");
20332
20535
 
20333
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/chats.js
20536
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/chats.js
20334
20537
  var EVENTS_DAYS = 7;
20335
20538
  var TRACKED_DAYS = 30;
20336
20539
  var STATS_PAGE = 1e3;
@@ -20625,7 +20828,7 @@ var storedMembers = /* @__PURE__ */ __name(async (store, chatId) => {
20625
20828
  return members.length === 0 ? null : members;
20626
20829
  }, "storedMembers");
20627
20830
 
20628
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/inbox.js
20831
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/inbox.js
20629
20832
  var INBOX_CHATS = 20;
20630
20833
  var REVIEW_DAYS = 3;
20631
20834
  var UNANSWERED_HOURS = 24;
@@ -20833,7 +21036,7 @@ var inboxService = /* @__PURE__ */ __name((deps) => {
20833
21036
  };
20834
21037
  }, "inboxService");
20835
21038
 
20836
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/person-context.js
21039
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/person-context.js
20837
21040
  var CONTEXT_MESSAGES2 = 10;
20838
21041
  var CONTEXT_BYTES = 64 * 1024;
20839
21042
  var toContext = /* @__PURE__ */ __name((key, message, chatTitle2) => ({
@@ -20973,9 +21176,9 @@ var recordContext = /* @__PURE__ */ __name(async (store, record2, reads, { messa
20973
21176
  const written = await store.messages.find({ account: key, senders: [identity.id], limit: messages });
20974
21177
  theirs.push(...written.items.map((hit) => toContext(key, hit, hit.chatTitle ?? null)).filter(recent));
20975
21178
  cut ||= written.hasMore;
20976
- const named2 = await store.messages.mentioning(key, { id: identity.id, username: identity.username }, messages);
20977
- mentions.push(...named2.items.filter((hit) => hit.senderId !== identity.id).map((hit) => toContext(key, hit, hit.chatTitle ?? null)).filter(recent));
20978
- cut ||= named2.hasMore;
21179
+ const named3 = await store.messages.mentioning(key, { id: identity.id, username: identity.username }, messages);
21180
+ mentions.push(...named3.items.filter((hit) => hit.senderId !== identity.id).map((hit) => toContext(key, hit, hit.chatTitle ?? null)).filter(recent));
21181
+ cut ||= named3.hasMore;
20979
21182
  }
20980
21183
  const personId = Number(record2.uid);
20981
21184
  const upcoming = await eventsOnce(store, { personId, from: now }, messages);
@@ -21094,10 +21297,10 @@ var personMessages = /* @__PURE__ */ __name(async (store, asked, reference, { ch
21094
21297
  };
21095
21298
  }, "personMessages");
21096
21299
 
21097
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21300
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21098
21301
  import { createHash } from "node:crypto";
21099
21302
 
21100
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-reference.js
21303
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-reference.js
21101
21304
  var missing2 = /* @__PURE__ */ __name(() => new CliError("not_found", "the meeting evidence is unavailable for this account"), "missing");
21102
21305
  var authorizedMeetingMetadata = /* @__PURE__ */ __name(async (store, accountId, reference, options = {}) => {
21103
21306
  const parsed = parseMeetingReference(reference);
@@ -21115,7 +21318,7 @@ var authorizedMeetingMetadata = /* @__PURE__ */ __name(async (store, accountId,
21115
21318
  return { parsed, meeting };
21116
21319
  }, "authorizedMeetingMetadata");
21117
21320
 
21118
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21321
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21119
21322
  var hash = /* @__PURE__ */ __name((value) => createHash("sha256").update(JSON.stringify(value)).digest("hex"), "hash");
21120
21323
  var checkMeetingCancelled = /* @__PURE__ */ __name((signal) => {
21121
21324
  if (signal?.aborted)
@@ -21314,7 +21517,7 @@ var readMeetingEvidence = /* @__PURE__ */ __name(async (store, accountId, refere
21314
21517
  return { ...packet, fingerprint: hash(packet) };
21315
21518
  }, "readMeetingEvidence");
21316
21519
 
21317
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/person-meeting-context.js
21520
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/person-meeting-context.js
21318
21521
  var personMeetingContext = /* @__PURE__ */ __name(async (store, personReference, options) => {
21319
21522
  const { meetings = 10, cues = 5, bytes: bytes2 = 64 * 1024, scanLimit = 1e3, since, signal } = options;
21320
21523
  const requestedAccounts = options.accountIds;
@@ -21413,7 +21616,7 @@ var personMeetingContext = /* @__PURE__ */ __name(async (store, personReference,
21413
21616
  };
21414
21617
  }, "personMeetingContext");
21415
21618
 
21416
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/person-preparation.js
21619
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/person-preparation.js
21417
21620
  var PREPARE_BYTES = 96 * 1024;
21418
21621
  var MEETINGS = 5;
21419
21622
  var CUES = 3;
@@ -21530,7 +21733,7 @@ var meetingsOf = /* @__PURE__ */ __name(async (store, uid, stored, since, left)
21530
21733
  }
21531
21734
  }, "meetingsOf");
21532
21735
 
21533
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/person-profile.js
21736
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/person-profile.js
21534
21737
  var personProfile = /* @__PURE__ */ __name(async (deps, person, known2) => {
21535
21738
  const online = deps.offline ? void 0 : await deps.connection();
21536
21739
  const held = await storeIfOpen(deps);
@@ -21600,7 +21803,7 @@ var quiet = /* @__PURE__ */ __name((facts) => facts.chats.map(({ id: id2, title,
21600
21803
  complete: false
21601
21804
  })), "quiet");
21602
21805
 
21603
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/person-timeline.js
21806
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/person-timeline.js
21604
21807
  var TIMELINE_ITEMS = 50;
21605
21808
  var TIMELINE_MAX = 500;
21606
21809
  var SCOPES2 = ["personal", "work"];
@@ -21655,7 +21858,7 @@ var personTimeline = /* @__PURE__ */ __name(async (store, asked, reference, { sc
21655
21858
  };
21656
21859
  }, "personTimeline");
21657
21860
 
21658
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/people.js
21861
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/people.js
21659
21862
  var peopleService = /* @__PURE__ */ __name((deps) => {
21660
21863
  const localCard = /* @__PURE__ */ __name(async (card, includeNotes = false) => {
21661
21864
  const held = await storeIfOpen(deps);
@@ -21882,7 +22085,7 @@ var withoutPhone = /* @__PURE__ */ __name((answer) => {
21882
22085
  return rest;
21883
22086
  }, "withoutPhone");
21884
22087
 
21885
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/task-stats.js
22088
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/task-stats.js
21886
22089
  var TASK_STATS_BY = ["chat", "meeting", "project"];
21887
22090
  var PERIOD_FIELD = "created";
21888
22091
  var refuseNestedPeriod = /* @__PURE__ */ __name((node, top = true) => {
@@ -21985,7 +22188,7 @@ var meetingNames = /* @__PURE__ */ __name(async (store, groups) => {
21985
22188
  }));
21986
22189
  }, "meetingNames");
21987
22190
 
21988
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/task-tag-filters.js
22191
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/task-tag-filters.js
21989
22192
  var taskTagFilters = /* @__PURE__ */ __name(async (store, query) => {
21990
22193
  const tags = /* @__PURE__ */ new Map();
21991
22194
  for (const node of query ? walkQuery(query.root) : [])
@@ -21994,7 +22197,7 @@ var taskTagFilters = /* @__PURE__ */ __name(async (store, query) => {
21994
22197
  return tags;
21995
22198
  }, "taskTagFilters");
21996
22199
 
21997
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/tasks.js
22200
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/tasks.js
21998
22201
  var TASK_QUERY = {
21999
22202
  entity: "task",
22000
22203
  backend: "sql",
@@ -22195,8 +22398,8 @@ var tasksService = /* @__PURE__ */ __name((deps, categories) => {
22195
22398
  ...previews ? { previews: await Promise.all(shown.map(({ task: task2 }) => taskView(store, account, task2))) } : {}
22196
22399
  };
22197
22400
  }), "list"),
22198
- add: /* @__PURE__ */ __name((message, type, origin, { category: named2, ...plan } = {}, choice = {}, author = void 0) => inStore(async (store, account) => {
22199
- const chosen = named2 === void 0 ? void 0 : await categoryOf(store, named2);
22401
+ add: /* @__PURE__ */ __name((message, type, origin, { category: named3, ...plan } = {}, choice = {}, author = void 0) => inStore(async (store, account) => {
22402
+ const chosen = named3 === void 0 ? void 0 : await categoryOf(store, named3);
22200
22403
  const source = message.trim();
22201
22404
  const native = isNoteReference(source);
22202
22405
  if (!native && !isLocator(source)) {
@@ -22486,7 +22689,7 @@ var taskView = /* @__PURE__ */ __name(async (store, account, task2) => {
22486
22689
  };
22487
22690
  }, "taskView");
22488
22691
 
22489
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposal-tasks.js
22692
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposal-tasks.js
22490
22693
  var proposalSource = /* @__PURE__ */ __name((id2) => `proposed-action:${id2}`, "proposalSource");
22491
22694
  var approveAsTask = /* @__PURE__ */ __name(async (store, id2, by) => {
22492
22695
  const proposal = await store.proposedActions.get(id2);
@@ -22509,7 +22712,7 @@ var approveAsTask = /* @__PURE__ */ __name(async (store, id2, by) => {
22509
22712
  return { proposal: await store.proposedActions.approve(proposal.id, by, { task: task2.id }), task: task2 };
22510
22713
  }, "approveAsTask");
22511
22714
 
22512
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/ids.js
22715
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/ids.js
22513
22716
  var MAX_IDS = 500;
22514
22717
  var refuse = /* @__PURE__ */ __name((message) => {
22515
22718
  throw new CliError("validation_error", message, { reason: "proposal.ids" });
@@ -22551,7 +22754,7 @@ var parseProposalIds = /* @__PURE__ */ __name((text2) => {
22551
22754
  return ids;
22552
22755
  }, "parseProposalIds");
22553
22756
 
22554
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/shared.js
22757
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/shared.js
22555
22758
  var proposerOfAuthor = /* @__PURE__ */ __name((author) => {
22556
22759
  if (author.type === "person")
22557
22760
  return { type: "person", id: author.id };
@@ -22593,7 +22796,7 @@ var storedStatus = /* @__PURE__ */ __name((filter) => {
22593
22796
  return status === "proposed" || status === "rejected" ? status : void 0;
22594
22797
  }, "storedStatus");
22595
22798
 
22596
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/action.js
22799
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/action.js
22597
22800
  var rowOf = /* @__PURE__ */ __name((action2) => ({
22598
22801
  id: action2.id,
22599
22802
  kind: "action",
@@ -22633,7 +22836,7 @@ var actionKind = /* @__PURE__ */ __name((store, claimed) => ({
22633
22836
  }, "decide")
22634
22837
  }), "actionKind");
22635
22838
 
22636
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/fact.js
22839
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/fact.js
22637
22840
  var STATUS = {
22638
22841
  proposed: "proposed",
22639
22842
  accepted: "confirmed",
@@ -22676,7 +22879,7 @@ var factKind = /* @__PURE__ */ __name((store) => ({
22676
22879
  }, "decide")
22677
22880
  }), "factKind");
22678
22881
 
22679
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/finance.js
22882
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/finance.js
22680
22883
  var rowOf3 = /* @__PURE__ */ __name((kind, entry) => ({
22681
22884
  id: entry.ref,
22682
22885
  kind,
@@ -22711,7 +22914,7 @@ var financeKind = /* @__PURE__ */ __name((store, kind) => ({
22711
22914
  var invoiceKind = /* @__PURE__ */ __name((store) => financeKind(store, "invoice"), "invoiceKind");
22712
22915
  var paymentKind = /* @__PURE__ */ __name((store) => financeKind(store, "payment"), "paymentKind");
22713
22916
 
22714
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/findings.js
22917
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/findings.js
22715
22918
  var FACT_SUMMARIES = {
22716
22919
  fact: /* @__PURE__ */ __name((finding) => finding.statement, "fact"),
22717
22920
  task: /* @__PURE__ */ __name((finding) => finding.title, "task"),
@@ -22783,7 +22986,7 @@ var findingsKind = /* @__PURE__ */ __name((store) => {
22783
22986
  };
22784
22987
  }, "findingsKind");
22785
22988
 
22786
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/key-document.js
22989
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/key-document.js
22787
22990
  var linkRow = /* @__PURE__ */ __name((link4) => ({
22788
22991
  id: `key:${link4.id}`,
22789
22992
  kind: "key_document",
@@ -22851,7 +23054,7 @@ var keyDocumentKind = /* @__PURE__ */ __name((store) => {
22851
23054
  };
22852
23055
  }, "keyDocumentKind");
22853
23056
 
22854
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/mail-findings.js
23057
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/mail-findings.js
22855
23058
  var words = /* @__PURE__ */ __name((...parts) => parts.filter(Boolean).join(" "), "words");
22856
23059
  var summaryOf = /* @__PURE__ */ __name((finding) => {
22857
23060
  switch (finding.kind) {
@@ -22939,7 +23142,7 @@ var mailFindingsKind = /* @__PURE__ */ __name((store) => {
22939
23142
  };
22940
23143
  }, "mailFindingsKind");
22941
23144
 
22942
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/meeting-findings.js
23145
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/meeting-findings.js
22943
23146
  var rowOf6 = /* @__PURE__ */ __name((action2, batch) => {
22944
23147
  const findings = batch.input.findings;
22945
23148
  const projects = [...new Set(findings.map((one2) => "project" in one2 ? one2.project : void 0))];
@@ -23003,7 +23206,7 @@ var meetingFindingsKind = /* @__PURE__ */ __name((store) => {
23003
23206
  };
23004
23207
  }, "meetingFindingsKind");
23005
23208
 
23006
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/memory.js
23209
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/memory.js
23007
23210
  var STATUS2 = {
23008
23211
  proposed: "proposed",
23009
23212
  confirmed: "confirmed",
@@ -23044,7 +23247,7 @@ var memoryKind = /* @__PURE__ */ __name((store) => ({
23044
23247
  }, "decide")
23045
23248
  }), "memoryKind");
23046
23249
 
23047
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/orders.js
23250
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/orders.js
23048
23251
  var rowOf8 = /* @__PURE__ */ __name((order) => ({
23049
23252
  id: order.ref,
23050
23253
  kind: "order",
@@ -23076,7 +23279,7 @@ var orderKind = /* @__PURE__ */ __name((store) => ({
23076
23279
  }, "decide")
23077
23280
  }), "orderKind");
23078
23281
 
23079
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/organization.js
23282
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/organization.js
23080
23283
  var ORGANIZATION_ADD_KIND = "organization_add";
23081
23284
  var ORGANIZATION_RENAME_KIND = "organization_rename";
23082
23285
  var rowOf9 = /* @__PURE__ */ __name((action2) => {
@@ -23132,7 +23335,7 @@ var organizationKind = /* @__PURE__ */ __name((store) => ({
23132
23335
  }, "decide")
23133
23336
  }), "organizationKind");
23134
23337
 
23135
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship.js
23338
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship.js
23136
23339
  var linkRow2 = /* @__PURE__ */ __name((link4) => ({
23137
23340
  id: `link:${link4.id}`,
23138
23341
  kind: "relationship",
@@ -23206,7 +23409,7 @@ var relationshipKind = /* @__PURE__ */ __name((store) => {
23206
23409
  };
23207
23410
  }, "relationshipKind");
23208
23411
 
23209
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship-update.js
23412
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship-update.js
23210
23413
  var KIND = "relationship_update";
23211
23414
  var summaryOf2 = /* @__PURE__ */ __name(({ changes }) => Object.entries(changes).map(([field, value]) => `${field} ${value ?? "cleared"}`).join(", "), "summaryOf");
23212
23415
  var rowOf10 = /* @__PURE__ */ __name((action2) => {
@@ -23256,7 +23459,7 @@ var relationshipUpdateKind = /* @__PURE__ */ __name((store) => ({
23256
23459
  }, "decide")
23257
23460
  }), "relationshipUpdateKind");
23258
23461
 
23259
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/task-close.js
23462
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/task-close.js
23260
23463
  var rowOf11 = /* @__PURE__ */ __name((task2) => {
23261
23464
  const suggestion = task2.closeSuggestion;
23262
23465
  if (suggestion === null)
@@ -23324,7 +23527,7 @@ var taskCloseKind = /* @__PURE__ */ __name((store) => {
23324
23527
  };
23325
23528
  }, "taskCloseKind");
23326
23529
 
23327
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/proposals/registry.js
23530
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/proposals/registry.js
23328
23531
  var PREFIX = /^([a-z][a-z_]*):/;
23329
23532
  var marked = /* @__PURE__ */ __name((kind, row) => kind.ownerOnly ? { ...row, ownerOnly: true } : row, "marked");
23330
23533
  var refusalOf = /* @__PURE__ */ __name((id2, error) => {
@@ -23452,7 +23655,7 @@ var proposalRegistry = /* @__PURE__ */ __name((store) => {
23452
23655
  return registry;
23453
23656
  }, "proposalRegistry");
23454
23657
 
23455
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/mail/owed.js
23658
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/mail/owed.js
23456
23659
  var mailTurn = /* @__PURE__ */ __name((newest) => {
23457
23660
  if (newest === null)
23458
23661
  return null;
@@ -23461,7 +23664,7 @@ var mailTurn = /* @__PURE__ */ __name((newest) => {
23461
23664
  return newest.addressed ? "owed" : null;
23462
23665
  }, "mailTurn");
23463
23666
 
23464
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/agenda-mail.js
23667
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/agenda-mail.js
23465
23668
  var absent = /* @__PURE__ */ __name((error) => {
23466
23669
  if (error instanceof CliError && error.code === "not_found")
23467
23670
  return void 0;
@@ -23519,7 +23722,7 @@ var mailActivity = /* @__PURE__ */ __name(async (store, account, since, chats) =
23519
23722
  };
23520
23723
  }, "mailActivity");
23521
23724
 
23522
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/chat-coverage.js
23725
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/chat-coverage.js
23523
23726
  var chatCoverage = /* @__PURE__ */ __name(async (store, account, chatIds) => {
23524
23727
  const ids = [...new Set(chatIds)];
23525
23728
  if (ids.length === 0)
@@ -23545,7 +23748,7 @@ var chatCoverage = /* @__PURE__ */ __name(async (store, account, chatIds) => {
23545
23748
  }));
23546
23749
  }, "chatCoverage");
23547
23750
 
23548
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/agenda.js
23751
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/agenda.js
23549
23752
  var DAY = 864e5;
23550
23753
  var AGENDA_DEFAULTS = { unanswered: DAY, waiting: 7 * DAY };
23551
23754
  var CLAIMS = ["none", "mine", "others", "any"];
@@ -23792,7 +23995,7 @@ var agendaItem = /* @__PURE__ */ __name((shown) => {
23792
23995
  };
23793
23996
  }, "agendaItem");
23794
23997
 
23795
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/excerpt.js
23998
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/excerpt.js
23796
23999
  var queryWords = /* @__PURE__ */ __name((query) => query.toLowerCase().split(/\s+/).map((word) => word.replace(/^[\p{L}_]+:/u, "").replace(/~\d+$/u, "").replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "")).filter((word) => word.length > 2 && !["and", "or", "not"].includes(word)), "queryWords");
23797
24000
  var excerpt = /* @__PURE__ */ __name((text2, query, size4 = 240, options = {}) => {
23798
24001
  const flat = text2.replace(/\s+/g, " ").trim();
@@ -23808,7 +24011,7 @@ var excerpt = /* @__PURE__ */ __name((text2, query, size4 = 240, options = {}) =
23808
24011
  }, "excerpt");
23809
24012
  var withExcerpt = /* @__PURE__ */ __name(({ matchedText, ...hit }, query) => ({ ...hit, excerpt: excerpt(matchedText ?? hit.text, query) }), "withExcerpt");
23810
24013
 
23811
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/shared.js
24014
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/shared.js
23812
24015
  var escaped = /* @__PURE__ */ __name((text2) => text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escaped");
23813
24016
  var folded = /* @__PURE__ */ __name((text2) => text2.normalize("NFKC").toLowerCase().replace(/\s+/gu, " "), "folded");
23814
24017
  var wholeWords = /* @__PURE__ */ __name((term) => new RegExp(`(?<![\\p{L}\\p{N}\\p{M}_])${escaped(normalizeVocabularyName(term))}(?![\\p{L}\\p{N}\\p{M}_])`, "u"), "wholeWords");
@@ -23847,7 +24050,7 @@ var identitiesIn = /* @__PURE__ */ __name(async (store, people, provider) => {
23847
24050
  return found;
23848
24051
  }, "identitiesIn");
23849
24052
 
23850
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/alias-hits.js
24053
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/alias-hits.js
23851
24054
  var SEARCH_LIMIT = 500;
23852
24055
  var aliasWeight = /* @__PURE__ */ __name((hits) => hits >= 10 ? 0.55 : hits >= 3 ? 0.35 : 0, "aliasWeight");
23853
24056
  var aliasHits = {
@@ -23896,7 +24099,7 @@ var aliasHits = {
23896
24099
  }, "candidates")
23897
24100
  };
23898
24101
 
23899
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-senders.js
24102
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-senders.js
23900
24103
  var WEIGHT = 0.5;
23901
24104
  var LARGE_GROUP_WEIGHT = 0.2;
23902
24105
  var LARGE_GROUP = 30;
@@ -23948,7 +24151,7 @@ var chatSenders = {
23948
24151
  }, "candidates")
23949
24152
  };
23950
24153
 
23951
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-title.js
24154
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-title.js
23952
24155
  var WEIGHT2 = 0.7;
23953
24156
  var chatTitle = {
23954
24157
  id: "chat-title",
@@ -23987,7 +24190,7 @@ var chatTitle = {
23987
24190
  }, "candidates")
23988
24191
  };
23989
24192
 
23990
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/email-domain.js
24193
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/email-domain.js
23991
24194
  var WEIGHT3 = 0.3;
23992
24195
  var CONTACTS = 500;
23993
24196
  var MOST_PAIRS = 200;
@@ -24048,7 +24251,7 @@ var emailDomain = {
24048
24251
  }, "candidates")
24049
24252
  };
24050
24253
 
24051
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/mail-thread.js
24254
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/mail-thread.js
24052
24255
  var NAMED = 0.7;
24053
24256
  var MEMBER_ONLY = 0.3;
24054
24257
  var READ_LIMIT2 = 500;
@@ -24090,7 +24293,7 @@ var mailThread = {
24090
24293
  const thread = (await store.mail.thread(id2))?.thread;
24091
24294
  if (!thread)
24092
24295
  continue;
24093
- const named2 = names2(thread.subject ?? subject) !== void 0;
24296
+ const named3 = names2(thread.subject ?? subject) !== void 0;
24094
24297
  const chat = formatReference({
24095
24298
  type: "chat",
24096
24299
  provider: "email",
@@ -24102,8 +24305,8 @@ var mailThread = {
24102
24305
  from: chat,
24103
24306
  to: project2.ref,
24104
24307
  kind: "member-of",
24105
- weight: named2 ? NAMED : MEMBER_ONLY,
24106
- why: `a thread with ${who2.length > 1 ? `${who2.length} members` : `a member (${who2[0]})`}${named2 ? "; its subject names the project" : ""}`,
24308
+ weight: named3 ? NAMED : MEMBER_ONLY,
24309
+ why: `a thread with ${who2.length > 1 ? `${who2.length} members` : `a member (${who2[0]})`}${named3 ? "; its subject names the project" : ""}`,
24107
24310
  evidence: [
24108
24311
  formatReference({
24109
24312
  type: "message",
@@ -24121,7 +24324,7 @@ var mailThread = {
24121
24324
  }, "candidates")
24122
24325
  };
24123
24326
 
24124
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-chats.js
24327
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-chats.js
24125
24328
  var WEIGHT4 = 0.5;
24126
24329
  var memberChats = {
24127
24330
  id: "member-chats",
@@ -24146,14 +24349,14 @@ var memberChats = {
24146
24349
  for (const [chat, held] of members) {
24147
24350
  if (held.size < 2)
24148
24351
  continue;
24149
- const named2 = [...held].sort();
24352
+ const named3 = [...held].sort();
24150
24353
  found.push({
24151
24354
  from: chatRef2(key, chat),
24152
24355
  to: project2.ref,
24153
24356
  kind: "member-of",
24154
24357
  weight: WEIGHT4,
24155
- why: `a group with ${held.size} confirmed members (${named2.slice(0, 3).join(", ")}${held.size > 3 ? ", \u2026" : ""})`,
24156
- evidence: named2.slice(0, 5)
24358
+ why: `a group with ${held.size} confirmed members (${named3.slice(0, 3).join(", ")}${held.size > 3 ? ", \u2026" : ""})`,
24359
+ evidence: named3.slice(0, 5)
24157
24360
  });
24158
24361
  }
24159
24362
  }
@@ -24161,7 +24364,7 @@ var memberChats = {
24161
24364
  }, "candidates")
24162
24365
  };
24163
24366
 
24164
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-dialog.js
24367
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-dialog.js
24165
24368
  var WEIGHT5 = 0.6;
24166
24369
  var memberDialog = {
24167
24370
  id: "member-dialog",
@@ -24195,7 +24398,7 @@ var memberDialog = {
24195
24398
  }, "candidates")
24196
24399
  };
24197
24400
 
24198
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-gathering-around.js
24401
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-gathering-around.js
24199
24402
  var storedMessageNeighbours = /* @__PURE__ */ __name((messages) => ({
24200
24403
  async around(ref, window3) {
24201
24404
  const at = parseLocator(ref);
@@ -24291,7 +24494,7 @@ var storedNeighbours = /* @__PURE__ */ __name((store) => {
24291
24494
  };
24292
24495
  }, "storedNeighbours");
24293
24496
 
24294
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-gathering-request.js
24497
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-gathering-request.js
24295
24498
  import { createHash as createHash2 } from "node:crypto";
24296
24499
  var DAY2 = 864e5;
24297
24500
  var MAX_TIME = 864e13;
@@ -24607,7 +24810,7 @@ var decodeCheckpoint = /* @__PURE__ */ __name((text2, plan) => {
24607
24810
  return value;
24608
24811
  }, "decodeCheckpoint");
24609
24812
 
24610
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-gathering.js
24813
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-gathering.js
24611
24814
  var terminal = /* @__PURE__ */ new Set(["done", "unavailable", "failed"]);
24612
24815
  var PAGE2 = 20;
24613
24816
  var PEOPLE = 20;
@@ -25011,7 +25214,7 @@ var peopleOf = /* @__PURE__ */ __name((items, senderOf) => {
25011
25214
  return [...byKey.values()].sort((a, b) => b.items - a.items || a.name.localeCompare(b.name));
25012
25215
  }, "peopleOf");
25013
25216
 
25014
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-project-candidate-matching.js
25217
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-project-candidate-matching.js
25015
25218
  var normalizedText = /* @__PURE__ */ __name((text2) => text2.normalize("NFKC").toLowerCase().replace(/\s+/gu, " "), "normalizedText");
25016
25219
  var termsOf = /* @__PURE__ */ __name((entry) => [
25017
25220
  { name: entry.name, kind: "canonical" },
@@ -25055,7 +25258,7 @@ var matchVocabularyTerms = /* @__PURE__ */ __name((catalog, texts) => {
25055
25258
  return result.sort((a, b) => Number(a.entry.id) - Number(b.entry.id));
25056
25259
  }, "matchVocabularyTerms");
25057
25260
 
25058
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-gathering-mentions.js
25261
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-gathering-mentions.js
25059
25262
  var KINDS = ["project", "tag", "topic"];
25060
25263
  var findEvidenceMentions = /* @__PURE__ */ __name(async (vocabulary, gathering, options = {}) => {
25061
25264
  if (typeof vocabulary?.vocabulary !== "function")
@@ -25110,7 +25313,7 @@ var findEvidenceMentions = /* @__PURE__ */ __name(async (vocabulary, gathering,
25110
25313
  };
25111
25314
  }, "findEvidenceMentions");
25112
25315
 
25113
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/stored-project-gathering.js
25316
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/stored-project-gathering.js
25114
25317
  var storedChatCount = /* @__PURE__ */ __name((store) => async (account, chatId, { since, until }) => {
25115
25318
  const window3 = { since: new Date(since).toISOString(), until: new Date(until - 1).toISOString() };
25116
25319
  const [messages, newest, oldest] = await Promise.all([
@@ -25416,7 +25619,7 @@ var purposeHintOf = /* @__PURE__ */ __name((linked, rows, of) => {
25416
25619
  return { chat: top.ref, relationship: link4.relationship, items, of };
25417
25620
  }, "purposeHintOf");
25418
25621
 
25419
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/link-scorers/scan.js
25622
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/link-scorers/scan.js
25420
25623
  var SCORERS = [chatTitle, aliasHits, memberChats, memberDialog, chatSenders, mailThread];
25421
25624
  var PERSON_SCORERS = [emailDomain];
25422
25625
  var SCAN_BOT = { bot: "memo-scan", kind: "rule" };
@@ -25624,18 +25827,18 @@ var referenceOf = /* @__PURE__ */ __name((text2) => {
25624
25827
  }, "referenceOf");
25625
25828
  var rejectedReversed = /* @__PURE__ */ __name(async (store, candidate) => candidate.kind === "related-to" && candidate.to.startsWith("person:") && ((await store.knowledge.relationState(null, { from: candidate.to, to: candidate.from, kind: candidate.kind }))?.rejected ?? false), "rejectedReversed");
25626
25829
 
25627
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive.js
25830
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive.js
25628
25831
  import { setTimeout as sleep3 } from "node:timers/promises";
25629
25832
 
25630
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
25833
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
25631
25834
  import { lstat } from "node:fs/promises";
25632
25835
 
25633
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25836
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25634
25837
  import { createHash as createHash4, randomUUID as randomUUID2 } from "node:crypto";
25635
25838
  import { open as open2, rename as rename2, unlink as unlink2 } from "node:fs/promises";
25636
25839
  import { join as join2 } from "node:path";
25637
25840
 
25638
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-metadata.js
25841
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-metadata.js
25639
25842
  import { createHash as createHash3 } from "node:crypto";
25640
25843
  var metadataLimit = 16384;
25641
25844
  var partialIdentity = /* @__PURE__ */ __name((locator) => JSON.stringify([locator.provider, locator.account, locator.occurrenceId, locator.assetId]), "partialIdentity");
@@ -25695,7 +25898,7 @@ var readPartialMetadata = /* @__PURE__ */ __name(async (path, locator, maxBytes,
25695
25898
  }
25696
25899
  }, "readPartialMetadata");
25697
25900
 
25698
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-writer.js
25901
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-writer.js
25699
25902
  import { randomUUID } from "node:crypto";
25700
25903
  import { open, rename, unlink } from "node:fs/promises";
25701
25904
  import { join } from "node:path";
@@ -25787,7 +25990,7 @@ var partialWriter = /* @__PURE__ */ __name(async (input) => {
25787
25990
  };
25788
25991
  }, "partialWriter");
25789
25992
 
25790
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25993
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25791
25994
  var NativeRecordingPartialStore = class {
25792
25995
  static {
25793
25996
  __name(this, "NativeRecordingPartialStore");
@@ -25894,12 +26097,12 @@ var NativeRecordingPartialStore = class {
25894
26097
  }
25895
26098
  };
25896
26099
 
25897
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
26100
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
25898
26101
  import { createHash as createHash5 } from "node:crypto";
25899
26102
  import { link as link2 } from "node:fs/promises";
25900
26103
  import { basename, dirname, join as join4, resolve } from "node:path";
25901
26104
 
25902
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-files.js
26105
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-files.js
25903
26106
  import { unlink as unlink3 } from "node:fs/promises";
25904
26107
  var verifiedPublicationFile = /* @__PURE__ */ __name(async (path, expected2, signal, writable = false) => {
25905
26108
  signal?.throwIfAborted();
@@ -25934,7 +26137,7 @@ var commitPublication = /* @__PURE__ */ __name(async (root, partialPath, finalPa
25934
26137
  signal?.throwIfAborted();
25935
26138
  }, "commitPublication");
25936
26139
 
25937
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-journal.js
26140
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-journal.js
25938
26141
  import { randomUUID as randomUUID3 } from "node:crypto";
25939
26142
  import { open as open3, rename as rename3, unlink as unlink4 } from "node:fs/promises";
25940
26143
  import { join as join3 } from "node:path";
@@ -26007,7 +26210,7 @@ var writePublicationJournal = /* @__PURE__ */ __name(async (root, path, prefix,
26007
26210
  }
26008
26211
  }, "writePublicationJournal");
26009
26212
 
26010
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
26213
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
26011
26214
  var NativeRecordingPublication = class {
26012
26215
  static {
26013
26216
  __name(this, "NativeRecordingPublication");
@@ -26080,7 +26283,7 @@ var NativeRecordingPublication = class {
26080
26283
  }
26081
26284
  };
26082
26285
 
26083
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive-manifest.js
26286
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive-manifest.js
26084
26287
  import { createHash as createHash6 } from "node:crypto";
26085
26288
  import { readdir } from "node:fs/promises";
26086
26289
  import { isAbsolute, join as join5, resolve as resolve2 } from "node:path";
@@ -26167,7 +26370,7 @@ var commitMediaEntry = /* @__PURE__ */ __name((root, one2, beforePublish) => wri
26167
26370
  beforePublish
26168
26371
  }), "commitMediaEntry");
26169
26372
 
26170
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
26373
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
26171
26374
  var validator = '"media-completed-v1"';
26172
26375
  var maximumFileBytes = 64 * 1024 * 1024 * 1024;
26173
26376
  var archiveMediaFile = /* @__PURE__ */ __name(async (root, identity, kind, file2, beforeWrite, signal, metadata = {}) => {
@@ -26268,7 +26471,7 @@ var archiveMediaFile = /* @__PURE__ */ __name(async (root, identity, kind, file2
26268
26471
  return entry;
26269
26472
  }, "archiveMediaFile");
26270
26473
 
26271
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive-locks.js
26474
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive-locks.js
26272
26475
  import { mkdir, realpath } from "node:fs/promises";
26273
26476
  import { join as join6, resolve as resolve3 } from "node:path";
26274
26477
  var archiveLocations = /* @__PURE__ */ __name(async (initial, signal) => {
@@ -26335,7 +26538,7 @@ var withMediaArchiveLocks = /* @__PURE__ */ __name(async (directory2, signal, ru
26335
26538
  throw new CliError("validation_error", "archive locations changed during locking; run the command again");
26336
26539
  }, "withMediaArchiveLocks");
26337
26540
 
26338
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive.js
26541
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive.js
26339
26542
  var validateMediaSince = /* @__PURE__ */ __name((value, flag = "--since-time") => {
26340
26543
  if (value === void 0)
26341
26544
  return void 0;
@@ -26488,7 +26691,7 @@ var archiveMedia = /* @__PURE__ */ __name(async (ports, options) => {
26488
26691
  }, { create: true });
26489
26692
  }, "archiveMedia");
26490
26693
 
26491
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/media-archive-move.js
26694
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/media-archive-move.js
26492
26695
  import { realpath as realpath2, unlink as unlink5 } from "node:fs/promises";
26493
26696
  import { basename as basename2, dirname as dirname2, join as join7, resolve as resolve4 } from "node:path";
26494
26697
  var canonicalDestination = /* @__PURE__ */ __name(async (directory2) => {
@@ -26641,8 +26844,8 @@ var moveMediaArchive = /* @__PURE__ */ __name(async (options) => {
26641
26844
  }, { additional: [target2], createAdditional: !options.dryRun });
26642
26845
  }, "moveMediaArchive");
26643
26846
 
26644
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/model-downloads.js
26645
- var bytesOf = /* @__PURE__ */ __name((model) => model.files.reduce((sum2, file2) => sum2 + file2.bytes, 0), "bytesOf");
26847
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/model-downloads.js
26848
+ var bytesOf2 = /* @__PURE__ */ __name((model) => model.files.reduce((sum2, file2) => sum2 + file2.bytes, 0), "bytesOf");
26646
26849
  var nativeRuntime = /* @__PURE__ */ __name(async ({ env, progress = /* @__PURE__ */ __name(() => {
26647
26850
  }, "progress") }) => {
26648
26851
  try {
@@ -26659,12 +26862,12 @@ var downloadTextModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
26659
26862
  }
26660
26863
  const directory2 = textModelsDirectory(env);
26661
26864
  if (!isTextModelInstalled(model, directory2)) {
26662
- progress(`${model.id}: ${megabytes(bytesOf(model))} from Hugging Face`);
26865
+ progress(`${model.id}: ${megabytes(bytesOf2(model))} from Hugging Face`);
26663
26866
  await installFiles(placedText(model, directory2), { progress });
26664
26867
  }
26665
26868
  await nativeRuntime({ env, progress });
26666
26869
  progress(`${model.id}: loading it once to check it works`);
26667
- const { openEmbedder: openEmbedder2 } = await import("./embed-BIUMRFOQ.js");
26870
+ const { openEmbedder: openEmbedder2 } = await import("./embed-3ETM2WYU.js");
26668
26871
  const embedder = await openEmbedder2(model, directory2);
26669
26872
  try {
26670
26873
  const [vector] = await embedder.embed(["check"], "query");
@@ -26680,12 +26883,12 @@ var downloadRerankModel = /* @__PURE__ */ __name(async (id2, { env, progress = /
26680
26883
  const model = rerankModel(id2);
26681
26884
  const directory2 = textModelsDirectory(env);
26682
26885
  if (!isTextModelInstalled(model, directory2)) {
26683
- progress(`${model.id}: ${megabytes(bytesOf(model))} from Hugging Face`);
26886
+ progress(`${model.id}: ${megabytes(bytesOf2(model))} from Hugging Face`);
26684
26887
  await installFiles(placedText(model, directory2), { progress });
26685
26888
  }
26686
26889
  await nativeRuntime({ env, progress });
26687
26890
  progress(`${model.id}: loading it once to check it works`);
26688
- const { openReranker } = await import("./rerank-HWNJXOHL.js");
26891
+ const { openReranker } = await import("./rerank-SF3OUPEB.js");
26689
26892
  const reranker = await openReranker(model, directory2);
26690
26893
  try {
26691
26894
  await reranker.score("check", ["check"]);
@@ -26699,11 +26902,11 @@ var downloadImageModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
26699
26902
  const model = imageModel(id2);
26700
26903
  const directory2 = imageModelsDirectory(env);
26701
26904
  if (!isImageModelInstalled(model, directory2)) {
26702
- progress(`${model.id}: ${megabytes(bytesOf(model))} from Hugging Face`);
26905
+ progress(`${model.id}: ${megabytes(bytesOf2(model))} from Hugging Face`);
26703
26906
  await installFiles(placedImage(model, directory2), { progress });
26704
26907
  }
26705
26908
  progress(`${model.id}: loading it once to check it works`);
26706
- const { openPictureEmbedder } = await import("./embedder-IA3CG6LB.js");
26909
+ const { openPictureEmbedder } = await import("./embedder-6YL3WFBR.js");
26707
26910
  const embedder = await openPictureEmbedder(model, directory2);
26708
26911
  try {
26709
26912
  const vector = await embedder.embedQuery("check");
@@ -26715,7 +26918,7 @@ var downloadImageModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
26715
26918
  return { model, directory: directory2 };
26716
26919
  }, "downloadImageModel");
26717
26920
 
26718
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/money-words.js
26921
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/money-words.js
26719
26922
  var MONEY_REQUEST = "money-request";
26720
26923
  var MONEY_DONE = "money-done";
26721
26924
  var PROMISE = "promise";
@@ -26749,10 +26952,10 @@ var MONEY_WORDS = [
26749
26952
  }
26750
26953
  ];
26751
26954
 
26752
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/money-words.js
26955
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/money-words.js
26753
26956
  var moneyClassesOf = /* @__PURE__ */ __name((text2) => listsHit(text2, MONEY_WORDS), "moneyClassesOf");
26754
26957
 
26755
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/status-words.js
26958
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/status-words.js
26756
26959
  var words2 = /* @__PURE__ */ __name((forms) => new RegExp(`(?<![\\p{L}\\p{N}])(?:${forms.join("|")})(?![\\p{L}\\p{N}])`, "iu"), "words");
26757
26960
  var MONEY_DONE_FORMS = words2([
26758
26961
  "\u043E\u043F\u043B\u0430\u0442\u0438\u043B[\u0430\u0438]?",
@@ -26792,7 +26995,7 @@ var PROMISE_FORMS = words2([
26792
26995
  "estar\xE1 listo"
26793
26996
  ]);
26794
26997
 
26795
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/items.js
26998
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/items.js
26796
26999
  var EXCERPT_CHARS = 80;
26797
27000
  var excerpt2 = /* @__PURE__ */ __name((text2) => {
26798
27001
  const flat = text2.replace(/\s+/g, " ").trim();
@@ -26814,7 +27017,7 @@ var whoOf = /* @__PURE__ */ __name((message) => ({
26814
27017
  var fromOwner = /* @__PURE__ */ __name((message) => message.outgoing === true, "fromOwner");
26815
27018
  var day = /* @__PURE__ */ __name((at) => new Date(at).toISOString().slice(0, 10), "day");
26816
27019
 
26817
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/amounts.js
27020
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/amounts.js
26818
27021
  var MONEY = DEFAULT_TASK_CATEGORIES.filter((category) => category.name === "money");
26819
27022
  var verbOf = /* @__PURE__ */ __name((text2) => {
26820
27023
  if (MONEY_DONE_FORMS.test(text2))
@@ -26825,8 +27028,8 @@ var verbOf = /* @__PURE__ */ __name((text2) => {
26825
27028
  return classes.includes(MONEY_REQUEST) ? "request" : "none";
26826
27029
  }, "verbOf");
26827
27030
  var roleDirection = /* @__PURE__ */ __name((role) => {
26828
- const named2 = role?.trim().toLowerCase();
26829
- return named2 === "client" ? "to_us" : named2 === "contractor" ? "from_us" : "unknown";
27031
+ const named3 = role?.trim().toLowerCase();
27032
+ return named3 === "client" ? "to_us" : named3 === "contractor" ? "from_us" : "unknown";
26830
27033
  }, "roleDirection");
26831
27034
  var directionOf = /* @__PURE__ */ __name((verb, owner, role) => {
26832
27035
  if (verb === "request")
@@ -26895,7 +27098,7 @@ var amounts = {
26895
27098
  attention: /* @__PURE__ */ __name((items) => items.flatMap((item2) => item2.chat !== null && item2.data.state === "asked" ? [{ chat: item2.chat, weight: 2, why: "money asked" }] : []), "attention")
26896
27099
  };
26897
27100
 
26898
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/children.js
27101
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/children.js
26899
27102
  var children = {
26900
27103
  id: "children",
26901
27104
  version: 1,
@@ -26924,7 +27127,7 @@ var children = {
26924
27127
  }, "read")
26925
27128
  };
26926
27129
 
26927
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/coverage.js
27130
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/coverage.js
26928
27131
  var coverage = {
26929
27132
  id: "coverage",
26930
27133
  version: 1,
@@ -26953,7 +27156,7 @@ var coverage = {
26953
27156
  attention: /* @__PURE__ */ __name((items) => items.flatMap((item2) => item2.chat !== null && item2.data.state !== "complete" && item2.data.beforeHeld ? [{ chat: item2.chat, weight: 3, why: "held in part" }] : []), "attention")
26954
27157
  };
26955
27158
 
26956
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/payments.js
27159
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/payments.js
26957
27160
  var holding = /* @__PURE__ */ __name((row) => row.review !== "rejected", "holding");
26958
27161
  var item = /* @__PURE__ */ __name((row, at, data) => ({
26959
27162
  signal: "payments",
@@ -27003,7 +27206,7 @@ var payments = {
27003
27206
  }, "read")
27004
27207
  };
27005
27208
 
27006
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/promises.js
27209
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/promises.js
27007
27210
  var PATTERNS_PER_CHAT = 3;
27008
27211
  var DAY3 = 864e5;
27009
27212
  var KINDS2 = /* @__PURE__ */ new Set(["promise", "request"]);
@@ -27092,7 +27295,7 @@ var promises = {
27092
27295
  }, "read")
27093
27296
  };
27094
27297
 
27095
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/questions.js
27298
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/questions.js
27096
27299
  var PER_SIDE = 5;
27097
27300
  var WEEK = 7 * 864e5;
27098
27301
  var NOBODY = /* @__PURE__ */ new Set();
@@ -27123,7 +27326,7 @@ var questions2 = {
27123
27326
  }, "attention")
27124
27327
  };
27125
27328
 
27126
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/reply-next.js
27329
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/reply-next.js
27127
27330
  var targetOf = /* @__PURE__ */ __name((message, chat, owners) => {
27128
27331
  const byId2 = /* @__PURE__ */ __name((id2) => chat.messages.find((one2) => one2.id === id2), "byId");
27129
27332
  const quoted = message.replyTo ?? (message.replyToId === void 0 ? void 0 : byId2(message.replyToId));
@@ -27138,8 +27341,8 @@ var targetOf = /* @__PURE__ */ __name((message, chat, owners) => {
27138
27341
  return void 0;
27139
27342
  if (owners.has(mentioned2))
27140
27343
  return { owner: true, id: mentioned2, name: null };
27141
- const named2 = chat.messages.find((one2) => one2.senderId === mentioned2);
27142
- return { owner: false, id: mentioned2, name: named2?.senderName ?? null };
27344
+ const named3 = chat.messages.find((one2) => one2.senderId === mentioned2);
27345
+ return { owner: false, id: mentioned2, name: named3?.senderName ?? null };
27143
27346
  }, "targetOf");
27144
27347
  var asksSomething = /* @__PURE__ */ __name((message) => message.text.includes("?"), "asksSomething");
27145
27348
  var replyNext = {
@@ -27191,7 +27394,7 @@ var replyNext = {
27191
27394
  attention: /* @__PURE__ */ __name((items) => items.flatMap((item2) => item2.chat !== null && item2.data.next === "owner" ? [{ chat: item2.chat, weight: 2, why: "your move" }] : []), "attention")
27192
27395
  };
27193
27396
 
27194
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/topics.js
27397
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/topics.js
27195
27398
  var escaped2 = /* @__PURE__ */ __name((text2) => text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escaped");
27196
27399
  var wholeWord = /* @__PURE__ */ __name((word) => new RegExp(`(?<![\\p{L}\\p{N}])${escaped2(word)}(?![\\p{L}\\p{N}])`, "u"), "wholeWord");
27197
27400
  var matcherOf = /* @__PURE__ */ __name((query) => {
@@ -27237,7 +27440,7 @@ var topics = {
27237
27440
  }, "read")
27238
27441
  };
27239
27442
 
27240
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/signals/index.js
27443
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/signals/index.js
27241
27444
  var STATUS_SIGNALS = [
27242
27445
  replyNext,
27243
27446
  questions2,
@@ -27249,7 +27452,7 @@ var STATUS_SIGNALS = [
27249
27452
  children
27250
27453
  ];
27251
27454
 
27252
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/project-status/index.js
27455
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/project-status/index.js
27253
27456
  var DAY4 = 864e5;
27254
27457
  var STATUS_WINDOW = 300;
27255
27458
  var STATUS_CHATS = 16;
@@ -27438,7 +27641,7 @@ var projectStatus = /* @__PURE__ */ __name(async (store, input) => {
27438
27641
  };
27439
27642
  }, "projectStatus");
27440
27643
 
27441
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/account.js
27644
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/account.js
27442
27645
  var accountService = /* @__PURE__ */ __name((deps) => {
27443
27646
  const online = /* @__PURE__ */ __name(async (command) => {
27444
27647
  if (deps.offline)
@@ -27510,7 +27713,7 @@ var accountService = /* @__PURE__ */ __name((deps) => {
27510
27713
  };
27511
27714
  }, "accountService");
27512
27715
 
27513
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/send-time.js
27716
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/send-time.js
27514
27717
  var MINUTE = 6e4;
27515
27718
  var YEAR = 365 * 24 * 60 * MINUTE;
27516
27719
  var DELAY = /^(\d+)(m|h|d)$/;
@@ -27529,7 +27732,7 @@ var sendTime = /* @__PURE__ */ __name((value, now = Date.now(), flag = "--at-tim
27529
27732
  return new Date(at - at % MINUTE).toISOString();
27530
27733
  }, "sendTime");
27531
27734
 
27532
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/admin.js
27735
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/admin.js
27533
27736
  var recordMembership = /* @__PURE__ */ __name(async (deps, operationId, done2, change, fix, write2) => {
27534
27737
  try {
27535
27738
  const held = await accountStoreIfOpen(deps);
@@ -27776,7 +27979,7 @@ var linkLimits = /* @__PURE__ */ __name(({ approval, expires, maxUses }) => {
27776
27979
  return expires === void 0 ? void 0 : sendTime(expires, Date.now(), "--expire-time");
27777
27980
  }, "linkLimits");
27778
27981
 
27779
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/mail-search.js
27982
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/mail-search.js
27780
27983
  var THREADS_PAGE = 500;
27781
27984
  var threadsOf = /* @__PURE__ */ __name(async (store, key) => {
27782
27985
  const account = await store.accounts.storedAccount(key).catch(() => void 0);
@@ -27855,7 +28058,7 @@ var readMail = /* @__PURE__ */ __name(async (store, locator, { before: before2 =
27855
28058
  return thread.slice(Math.max(0, at - before2), at + after + 1).map((hit) => hit.id === message ? { ...hit, anchor: true } : hit);
27856
28059
  }, "readMail");
27857
28060
 
27858
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-kind.js
28061
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-kind.js
27859
28062
  var NO_MAIL = "no_mail";
27860
28063
  var MAIL = "email";
27861
28064
  var listContextOf = /* @__PURE__ */ __name(async (store, account, app, stored) => {
@@ -27902,7 +28105,7 @@ var accountsOfKind = /* @__PURE__ */ __name((kind, chosen, held, explicit, comma
27902
28105
  return chosenMail.map(({ provider, account }) => ({ provider, account }));
27903
28106
  }, "accountsOfKind");
27904
28107
 
27905
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-search.js
28108
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-search.js
27906
28109
  var MAIL_FIELDS = /* @__PURE__ */ new Set(["to", "cc", "bcc", "subject", "mailbox", "label", "is"]);
27907
28110
  var positiveSources = /* @__PURE__ */ __name((node) => node.kind === "predicate" ? node.field === "in" ? [node.value.toLowerCase()] : [] : node.clauses.filter(({ occur }) => occur !== "must_not").flatMap(({ node: node2 }) => positiveSources(node2)), "positiveSources");
27908
28111
  var prepareLucene = /* @__PURE__ */ __name(async (store, account, request, messenger) => {
@@ -28250,7 +28453,7 @@ var statsLucene = /* @__PURE__ */ __name(async (store, account, request, messeng
28250
28453
  };
28251
28454
  }, "statsLucene");
28252
28455
 
28253
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/rankings-selection.js
28456
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/rankings-selection.js
28254
28457
  var RANKING_SELECTION_BYTES = 64 * 1024;
28255
28458
  var object = /* @__PURE__ */ __name((value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0, "object");
28256
28459
  function invalid(message = "ranking selection is invalid \u2014 obtain a new drilldown from stats top") {
@@ -28419,7 +28622,7 @@ var readRankingSelection = /* @__PURE__ */ __name(async (store, input) => {
28419
28622
  };
28420
28623
  }, "readRankingSelection");
28421
28624
 
28422
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-record.js
28625
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-record.js
28423
28626
  var canonical = /* @__PURE__ */ __name((value, nested = false) => Array.isArray(value) ? value.map((one2) => canonical(one2, true)) : value !== null && typeof value === "object" ? Object.fromEntries(Object.entries(value).filter(([, one2]) => one2 !== void 0 && (nested || one2 !== false)).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0).map(([key, one2]) => [key, canonical(one2, true)])) : value, "canonical");
28424
28627
  var searchRecordOf = /* @__PURE__ */ __name((command, params) => ({
28425
28628
  command,
@@ -28429,7 +28632,7 @@ var searchRecordOf = /* @__PURE__ */ __name((command, params) => ({
28429
28632
  fieldsVersion: FIELD_VERSION
28430
28633
  }), "searchRecordOf");
28431
28634
 
28432
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/admin-statistics.js
28635
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/admin-statistics.js
28433
28636
  function invalid2(message) {
28434
28637
  throw new CliError("validation_error", message);
28435
28638
  }
@@ -28723,7 +28926,7 @@ var adminStatisticsService = /* @__PURE__ */ __name((deps) => ({
28723
28926
  }, "evidence")
28724
28927
  }), "adminStatisticsService");
28725
28928
 
28726
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/archive-gaps.js
28929
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/archive-gaps.js
28727
28930
  import { createHash as createHash7, randomUUID as randomUUID4 } from "node:crypto";
28728
28931
  var GAP_BOUNDS = { maxGaps: 5, limit: 500, timeMs: 3e4 };
28729
28932
  var validateRepair = /* @__PURE__ */ __name((messenger, options) => {
@@ -28860,16 +29063,16 @@ var gapsService = /* @__PURE__ */ __name((deps) => {
28860
29063
  return { plan, repair };
28861
29064
  }, "gapsService");
28862
29065
 
28863
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/attachments.js
29066
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/attachments.js
28864
29067
  import { createHash as createHash9 } from "node:crypto";
28865
29068
  import { constants as constants2, mkdirSync as mkdirSync2 } from "node:fs";
28866
29069
  import { lstat as lstat4, open as open6, readFile, stat as stat2 } from "node:fs/promises";
28867
29070
 
28868
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/directory.js
29071
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/directory.js
28869
29072
  import { lstat as lstat2, readdir as readdir2, realpath as realpath3 } from "node:fs/promises";
28870
29073
  import { basename as basename4, join as join8, relative as relative2, sep as sep2 } from "node:path";
28871
29074
 
28872
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/sends/upload.js
29075
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/sends/upload.js
28873
29076
  import { openAsBlob, realpathSync } from "node:fs";
28874
29077
  import { open as open4, stat } from "node:fs/promises";
28875
29078
  import { basename as basename3, dirname as dirname3, extname, isAbsolute as isAbsolute2, relative, resolve as resolve5, sep } from "node:path";
@@ -28983,12 +29186,12 @@ var refusedPlace = /* @__PURE__ */ __name((path, app, env, platform = process.pl
28983
29186
  const fold2 = /* @__PURE__ */ __name((text2) => folded2 ? text2.toLowerCase() : text2, "fold");
28984
29187
  const parts = new Set([...CREDENTIAL_PARTS].map(fold2));
28985
29188
  const runs = CREDENTIAL_RUNS.map((run) => run.map(fold2));
28986
- const named2 = /* @__PURE__ */ __name((candidate) => {
29189
+ const named3 = /* @__PURE__ */ __name((candidate) => {
28987
29190
  const names2 = candidate.split(sep).map(fold2);
28988
29191
  return names2.some((name, index) => parts.has(name) || /^\.env\./.test(name) || runs.some((run) => run.every((part, offset) => names2[index + offset] === part)));
28989
29192
  }, "named");
28990
29193
  const same2 = /* @__PURE__ */ __name((a, b) => fold2(a) === fold2(b), "same");
28991
- return [resolve5(path), real].some((candidate) => named2(candidate) || own.some((dir) => inside(fold2(candidate), fold2(dir))) || [store, `${store}-wal`, `${store}-shm`].some((file2) => same2(candidate, file2)));
29194
+ return [resolve5(path), real].some((candidate) => named3(candidate) || own.some((dir) => inside(fold2(candidate), fold2(dir))) || [store, `${store}-wal`, `${store}-shm`].some((file2) => same2(candidate, file2)));
28992
29195
  }, "refusedPlace");
28993
29196
  var inside = /* @__PURE__ */ __name((path, dir) => {
28994
29197
  const way = relative(resolve5(dir), path);
@@ -29071,7 +29274,7 @@ var readStickerFile = /* @__PURE__ */ __name(async (path, maxBytes, read2) => {
29071
29274
  return { name, source };
29072
29275
  }, "readStickerFile");
29073
29276
 
29074
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/directory.js
29277
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/directory.js
29075
29278
  var MAX_FILES = 1e4;
29076
29279
  var directoryPaths = /* @__PURE__ */ __name(async (store, chat, directory2, app, env) => {
29077
29280
  if (refusedPlace(directory2, app, env))
@@ -29124,11 +29327,11 @@ var directoryPaths = /* @__PURE__ */ __name(async (store, chat, directory2, app,
29124
29327
  const complete = candidates.every((paths) => paths.length === 1);
29125
29328
  group.forEach((file2, index) => {
29126
29329
  const own = file2.name === null ? void 0 : basename4(file2.name);
29127
- const named2 = own && counts.get(own) === 1 ? files.get(own) : void 0;
29330
+ const named3 = own && counts.get(own) === 1 ? files.get(own) : void 0;
29128
29331
  const canonical2 = complete ? candidates[index]?.[0] : void 0;
29129
- if (named2 && canonical2 && named2 !== canonical2 || !complete && own && files.has(own) && (counts.get(own) ?? 0) > 1)
29332
+ if (named3 && canonical2 && named3 !== canonical2 || !complete && own && files.has(own) && (counts.get(own) ?? 0) > 1)
29130
29333
  throw new CliError("validation_error", "directory file names are ambiguous; use complete message-prefixed downloads");
29131
- choices.set(file2.pk, canonical2 ?? named2 ?? null);
29334
+ choices.set(file2.pk, canonical2 ?? named3 ?? null);
29132
29335
  });
29133
29336
  }
29134
29337
  const uses = /* @__PURE__ */ new Map();
@@ -29140,15 +29343,15 @@ var directoryPaths = /* @__PURE__ */ __name(async (store, chat, directory2, app,
29140
29343
  return choices;
29141
29344
  }, "directoryPaths");
29142
29345
 
29143
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/documents.js
29346
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/documents.js
29144
29347
  import { posix } from "node:path";
29145
29348
 
29146
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/container.js
29349
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/container.js
29147
29350
  import { setImmediate as tick } from "node:timers/promises";
29148
29351
  import { crc32 } from "node:zlib";
29149
29352
  var import_xmldom = __toESM(require_lib(), 1);
29150
29353
 
29151
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/encoding.js
29354
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/encoding.js
29152
29355
  var import_chardet = __toESM(require_lib2(), 1);
29153
29356
  var import_iconv_lite = __toESM(require_lib3(), 1);
29154
29357
  var SAMPLE = 65536;
@@ -29250,7 +29453,7 @@ var decodeXml = /* @__PURE__ */ __name((bytes2) => {
29250
29453
  return result.text;
29251
29454
  }, "decodeXml");
29252
29455
 
29253
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/container.js
29456
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/container.js
29254
29457
  var MAX_PART = 10 * 1024 * 1024;
29255
29458
  var MAX_ENTRIES = 1e3;
29256
29459
  var decoder = new TextDecoder("utf-8", { fatal: true });
@@ -29465,7 +29668,7 @@ var elements = /* @__PURE__ */ __name((node, name, namespace) => {
29465
29668
  return found;
29466
29669
  }, "elements");
29467
29670
 
29468
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/sheets.js
29671
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/sheets.js
29469
29672
  var columnName = /* @__PURE__ */ __name((column) => {
29470
29673
  let name = "";
29471
29674
  for (let rest = column; rest > 0; rest = Math.floor((rest - 1) / 26))
@@ -29520,7 +29723,7 @@ var sheetText = /* @__PURE__ */ __name((sheets2, maxChars = MAX_TEXT_CHARS) => {
29520
29723
  return { text: parts.join("").trim(), truncated: false };
29521
29724
  }, "sheetText");
29522
29725
 
29523
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/documents.js
29726
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/documents.js
29524
29727
  var OFFICE = "urn:oasis:names:tc:opendocument:xmlns:office:1.0";
29525
29728
  var TEXT = "urn:oasis:names:tc:opendocument:xmlns:text:1.0";
29526
29729
  var TABLE = "urn:oasis:names:tc:opendocument:xmlns:table:1.0";
@@ -29920,10 +30123,10 @@ var readDocument = /* @__PURE__ */ __name(async (bytes2, kind, signal) => {
29920
30123
  }
29921
30124
  }, "readDocument");
29922
30125
 
29923
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/extract.js
30126
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/extract.js
29924
30127
  import { extname as extname3 } from "node:path";
29925
30128
 
29926
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/engine.js
30129
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/engine.js
29927
30130
  import { readFileSync } from "node:fs";
29928
30131
  import { dirname as dirname4, extname as extname2, join as join9 } from "node:path";
29929
30132
  import { fileURLToPath } from "node:url";
@@ -29984,7 +30187,7 @@ var derived = /* @__PURE__ */ __name((bytes2, extractor, read2) => {
29984
30187
  }
29985
30188
  }, "derived");
29986
30189
 
29987
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/image/index.js
30190
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/image/index.js
29988
30191
  var IMAGES = /* @__PURE__ */ new Set([".jpg", ".jpeg", ".png", ".webp", ".gif", ".heic", ".tif", ".tiff", ".bmp"]);
29989
30192
  var image2 = {
29990
30193
  id: "image",
@@ -29993,7 +30196,7 @@ var image2 = {
29993
30196
  read: /* @__PURE__ */ __name(async () => ({ status: "needs-agent" }), "read")
29994
30197
  };
29995
30198
 
29996
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/doc/index.js
30199
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/doc/index.js
29997
30200
  var OLE = "\xD0\xCF\xE0\xA1\xB1\xE1";
29998
30201
  var doc = {
29999
30202
  id: "doc",
@@ -30005,7 +30208,7 @@ var doc = {
30005
30208
  }), "read")
30006
30209
  };
30007
30210
 
30008
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/docx/index.js
30211
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/docx/index.js
30009
30212
  var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
30010
30213
  var docx = {
30011
30214
  id: "docx",
@@ -30018,7 +30221,7 @@ var docx = {
30018
30221
  }), "read")
30019
30222
  };
30020
30223
 
30021
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/markup.js
30224
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/markup.js
30022
30225
  var import_iconv_lite2 = __toESM(require_lib3(), 1);
30023
30226
  var RTF_SKIPPED = /* @__PURE__ */ new Set([
30024
30227
  "fonttbl",
@@ -30194,7 +30397,7 @@ var htmlText = /* @__PURE__ */ __name((source) => {
30194
30397
  }, "htmlText");
30195
30398
  var safeChar = /* @__PURE__ */ __name((code, fallback) => code > 0 && code <= 1114111 ? String.fromCodePoint(code) : fallback, "safeChar");
30196
30399
 
30197
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/html/page.js
30400
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/html/page.js
30198
30401
  var clean = /* @__PURE__ */ __name((value) => typeof value === "string" ? value.replace(/\s+/g, " ").trim() : "", "clean");
30199
30402
  var namesIn = /* @__PURE__ */ __name((value) => [value].flat().map((entry) => typeof entry === "string" ? clean(entry) : clean(entry?.name)).filter(Boolean).join(", "), "namesIn");
30200
30403
  var jsonLdNodes = /* @__PURE__ */ __name((document) => {
@@ -30250,7 +30453,7 @@ var markdownSections = /* @__PURE__ */ __name((text2) => {
30250
30453
  return found.map((section, index) => ({ ...section, end: found[index + 1]?.start ?? text2.length }));
30251
30454
  }, "markdownSections");
30252
30455
 
30253
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/html/index.js
30456
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/html/index.js
30254
30457
  var HTML = /* @__PURE__ */ new Set([".html", ".htm", ".xhtml"]);
30255
30458
  var first = /* @__PURE__ */ __name((...values) => values.find((value) => typeof value === "string" && value !== ""), "first");
30256
30459
  var loaded = /* @__PURE__ */ __name(async (load, name) => {
@@ -30321,7 +30524,7 @@ var html = {
30321
30524
  }, "read")
30322
30525
  };
30323
30526
 
30324
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/office/index.js
30527
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/office/index.js
30325
30528
  var office = {
30326
30529
  id: "office",
30327
30530
  version: documentExtractor("odt"),
@@ -30332,7 +30535,7 @@ var office = {
30332
30535
  }, "read")
30333
30536
  };
30334
30537
 
30335
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/pdf/index.js
30538
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/pdf/index.js
30336
30539
  var pdf = {
30337
30540
  id: "pdf",
30338
30541
  version: "unpdf",
@@ -30399,7 +30602,7 @@ var pdf = {
30399
30602
  }), "read")
30400
30603
  };
30401
30604
 
30402
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/plain/index.js
30605
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/plain/index.js
30403
30606
  var PLAIN = /* @__PURE__ */ new Set([".txt", ".md", ".markdown", ".csv", ".tsv", ".json", ".log"]);
30404
30607
  var isPlain = /* @__PURE__ */ __name((hint) => PLAIN.has(extensionOf(hint)) || hint.mime?.startsWith("text/") || hint.mime === "application/json", "isPlain");
30405
30608
  var readPlain = /* @__PURE__ */ __name((bytes2) => {
@@ -30419,7 +30622,7 @@ var plain = {
30419
30622
  read: /* @__PURE__ */ __name(async (bytes2) => readPlain(bytes2), "read")
30420
30623
  };
30421
30624
 
30422
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/rtf/index.js
30625
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/rtf/index.js
30423
30626
  var rtf = {
30424
30627
  id: "rtf",
30425
30628
  version: "v1",
@@ -30427,10 +30630,10 @@ var rtf = {
30427
30630
  read: /* @__PURE__ */ __name(async (bytes2) => derived(bytes2, "rtf:v1", rtfText), "read")
30428
30631
  };
30429
30632
 
30430
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30633
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30431
30634
  import { basename as basename5 } from "node:path";
30432
30635
 
30433
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/csv-spans.js
30636
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/csv-spans.js
30434
30637
  var delimitedSpans = /* @__PURE__ */ __name((text2, delimiter, maxCells = 1e4) => {
30435
30638
  const cells = [];
30436
30639
  let row = 1, column = 1, start = 0, quoted = false, truncated = false;
@@ -30468,7 +30671,7 @@ var delimitedSpans = /* @__PURE__ */ __name((text2, delimiter, maxCells = 1e4) =
30468
30671
  return { cells, truncated };
30469
30672
  }, "delimitedSpans");
30470
30673
 
30471
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30674
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30472
30675
  var DELIMITED = {
30473
30676
  ".csv": ",",
30474
30677
  ".tsv": " ",
@@ -30507,7 +30710,7 @@ var sheets = {
30507
30710
  }, "read")
30508
30711
  };
30509
30712
 
30510
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/readers/registry.js
30713
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/readers/registry.js
30511
30714
  var BUILT_INS2 = [office, pdf, docx, doc, rtf, html, sheets, plain, image2];
30512
30715
  var HEAD_BYTES = 1024;
30513
30716
  var readers = [...BUILT_INS2];
@@ -30517,7 +30720,7 @@ var readWithRegistry = /* @__PURE__ */ __name(async (bytes2, hint, context2) =>
30517
30720
  return reader ? reader.read(bytes2, hint, context2) : { status: "unsupported" };
30518
30721
  }, "readWithRegistry");
30519
30722
 
30520
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/extract.js
30723
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/extract.js
30521
30724
  var importEngine = /* @__PURE__ */ __name((name) => importFrom(new URL("attachments/extract.js", import.meta.resolve("@wirecat/cli-core")).href, name), "importEngine");
30522
30725
  var extensionOf2 = /* @__PURE__ */ __name(({ name, path }) => extname3(name ?? path).toLowerCase(), "extensionOf");
30523
30726
  var extractText = /* @__PURE__ */ __name(async (bytes2, hint, load, signal, env = process.env) => {
@@ -31596,7 +31799,7 @@ function imageSize(input) {
31596
31799
  }
31597
31800
  __name(imageSize, "imageSize");
31598
31801
 
31599
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/ocr.js
31802
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/ocr.js
31600
31803
  var MAX_PAGES = 20;
31601
31804
  var MAX_PIXELS = 2e7;
31602
31805
  var cancelled2 = /* @__PURE__ */ __name((signal) => {
@@ -31747,7 +31950,7 @@ var ocrPdf = /* @__PURE__ */ __name(async (bytes2, pipeline2, load, signal) => {
31747
31950
  }
31748
31951
  }, "ocrPdf");
31749
31952
 
31750
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/pdf-preview.js
31953
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/pdf-preview.js
31751
31954
  var pdfPreview = /* @__PURE__ */ __name(async (bytes2, page, signal, load = importEngine, env = process.env) => {
31752
31955
  const limits = pdfPreviewLimits(env);
31753
31956
  const cancelled4 = /* @__PURE__ */ __name(() => {
@@ -31824,7 +32027,7 @@ var pdfPreview = /* @__PURE__ */ __name(async (bytes2, page, signal, load = impo
31824
32027
  }
31825
32028
  }, "pdfPreview");
31826
32029
 
31827
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/attachments/transfer.js
32030
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/attachments/transfer.js
31828
32031
  import { createHash as createHash8 } from "node:crypto";
31829
32032
  import { constants } from "node:fs";
31830
32033
  import { lstat as lstat3, open as open5 } from "node:fs/promises";
@@ -31932,7 +32135,7 @@ var transferMime = /* @__PURE__ */ __name((head, hint, name = null) => {
31932
32135
  return hint !== null && /^[a-z0-9.+-]+\/[a-z0-9.+-]+$/i.test(hint) ? hint : "application/octet-stream";
31933
32136
  }, "transferMime");
31934
32137
 
31935
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/file-download.js
32138
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/file-download.js
31936
32139
  import { createWriteStream, mkdirSync } from "node:fs";
31937
32140
  import { link as link3, rm } from "node:fs/promises";
31938
32141
  import { join as join10, resolve as resolve6 } from "node:path";
@@ -32046,7 +32249,7 @@ var save = /* @__PURE__ */ __name(async (file2, directory2, fallbackName, { uniq
32046
32249
  }
32047
32250
  }, "save");
32048
32251
 
32049
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/attachments.js
32252
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/attachments.js
32050
32253
  var ATTACHMENT_QUERY = {
32051
32254
  entity: "attachment",
32052
32255
  backend: "sql",
@@ -32152,7 +32355,7 @@ var itemOf2 = /* @__PURE__ */ __name((account, view) => ({
32152
32355
  },
32153
32356
  ...view.localPath === null ? {} : { local_path: view.localPath }
32154
32357
  }), "itemOf");
32155
- var messageOf = /* @__PURE__ */ __name(async (deps, store, chat, message) => {
32358
+ var messageOf2 = /* @__PURE__ */ __name(async (deps, store, chat, message) => {
32156
32359
  const { account } = store;
32157
32360
  if (isLocator(chat)) {
32158
32361
  if (message !== void 0)
@@ -32359,7 +32562,7 @@ var attachmentsService = /* @__PURE__ */ __name((deps) => ({
32359
32562
  throw new CliError("validation_error", "attachment must be a position from 1");
32360
32563
  const store = await accountStore(deps);
32361
32564
  const { account } = store;
32362
- const { chatId, messageId } = await messageOf(deps, store, chat, message);
32565
+ const { chatId, messageId } = await messageOf2(deps, store, chat, message);
32363
32566
  const files = (await store.attachments.attachments({ chatId, messageId, limit: 1e3 })).filter(({ kind }) => !NOT_FILES.has(kind));
32364
32567
  const chosen = attachment2 === void 0 ? files.length === 1 ? files[0] : void 0 : files.find(({ position }) => position === attachment2 - 1);
32365
32568
  if (!chosen)
@@ -32406,7 +32609,7 @@ var attachmentsService = /* @__PURE__ */ __name((deps) => ({
32406
32609
  throw new CliError("validation_error", "attachment must be a position from 1");
32407
32610
  const store = await accountStore(deps);
32408
32611
  const { account } = store;
32409
- const { chatId, messageId } = await messageOf(deps, store, chat, message);
32612
+ const { chatId, messageId } = await messageOf2(deps, store, chat, message);
32410
32613
  const ref = formatLocator({ ...account, chat: chatId, message: messageId });
32411
32614
  const files = (await store.attachments.attachments({ chatId, messageId, limit: 1e3 })).filter(({ kind }) => !NOT_FILES.has(kind));
32412
32615
  if (files.length === 0)
@@ -32450,7 +32653,7 @@ var attachmentsService = /* @__PURE__ */ __name((deps) => ({
32450
32653
  throw new CliError("validation_error", `the text is over ${MAX_TEXT_CHARS} characters \u2014 keep the part worth searching`);
32451
32654
  const store = await accountStore(deps);
32452
32655
  const { account } = store;
32453
- const { chatId, messageId } = await messageOf(deps, store, chat, message);
32656
+ const { chatId, messageId } = await messageOf2(deps, store, chat, message);
32454
32657
  const files = (await store.attachments.attachments({ chatId, messageId, limit: 1e3 })).filter(({ kind }) => !NOT_FILES.has(kind));
32455
32658
  if (files.length === 0)
32456
32659
  throw new CliError("not_found", `the local store holds no message ${messageId} with a file in chat ${chatId}`);
@@ -32469,7 +32672,7 @@ var attachmentsService = /* @__PURE__ */ __name((deps) => ({
32469
32672
  }, "setText")
32470
32673
  }), "attachmentsService");
32471
32674
 
32472
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/chat-documents.js
32675
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/chat-documents.js
32473
32676
  var chatDocumentsService = /* @__PURE__ */ __name((deps) => ({
32474
32677
  list: /* @__PURE__ */ __name(async (chat, { limit, offset, ref }) => {
32475
32678
  const store = await accountStore(deps);
@@ -32499,7 +32702,7 @@ var chatDocumentsService = /* @__PURE__ */ __name((deps) => ({
32499
32702
  }, "list")
32500
32703
  }), "chatDocumentsService");
32501
32704
 
32502
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/retention.js
32705
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/retention.js
32503
32706
  var observationDuration = /* @__PURE__ */ __name((text2, flag) => {
32504
32707
  const match = /^(\d+(?:\.\d+)?)([smhdw])$/.exec(text2);
32505
32708
  const units2 = { s: 1e3, m: 6e4, h: 36e5, d: 864e5, w: 6048e5 };
@@ -32586,7 +32789,7 @@ var isRetentionSelection = /* @__PURE__ */ __name((selection) => {
32586
32789
  }
32587
32790
  }, "isRetentionSelection");
32588
32791
 
32589
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/counters.js
32792
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/counters.js
32590
32793
  var counterFields = /* @__PURE__ */ __name((text2 = "views,reactions,comments") => {
32591
32794
  const fields = text2.split(",").map((one2) => one2.trim());
32592
32795
  if (!fields.length || fields.some((one2) => !COUNTER_FIELDS.includes(one2)) || new Set(fields).size !== fields.length)
@@ -32793,7 +32996,7 @@ var countersService = /* @__PURE__ */ __name((deps) => {
32793
32996
  };
32794
32997
  }, "countersService");
32795
32998
 
32796
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-refresh.js
32999
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-refresh.js
32797
33000
  var SYNC_KEY = "messages.sync-first";
32798
33001
  var SYNC_BOUNDS = { maxChats: 5, timeMs: 3e4, maxMessages: 500 };
32799
33002
  var keyOf2 = /* @__PURE__ */ __name((chat) => JSON.stringify([chat.account.provider, chat.account.account, chat.chatId]), "keyOf");
@@ -32925,7 +33128,7 @@ var withRefresh = /* @__PURE__ */ __name((found, refreshed) => ({
32925
33128
  ...!refreshed || refreshed.complete ? {} : { coverage: { ...found.coverage, state: "stale" } }
32926
33129
  }), "withRefresh");
32927
33130
 
32928
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/embeddings-search.js
33131
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/embeddings-search.js
32929
33132
  var CANDIDATES = 50;
32930
33133
  var WORD_HITS = 200;
32931
33134
  var RRF_K = 60;
@@ -33200,13 +33403,13 @@ var meanOf = /* @__PURE__ */ __name((vectors) => {
33200
33403
  return mean2.map((value) => value / length);
33201
33404
  }, "meanOf");
33202
33405
 
33203
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/embeddings.js
33406
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/embeddings.js
33204
33407
  var embeddingsService = /* @__PURE__ */ __name((deps) => ({
33205
33408
  ...embeddingsMaintenance(deps),
33206
33409
  ...embeddingsSearch(deps)
33207
33410
  }), "embeddingsService");
33208
33411
 
33209
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/folders.js
33412
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/folders.js
33210
33413
  var foldersService = /* @__PURE__ */ __name((deps) => {
33211
33414
  const online = /* @__PURE__ */ __name(async (command) => {
33212
33415
  if (deps.offline)
@@ -33259,7 +33462,7 @@ var foldersService = /* @__PURE__ */ __name((deps) => {
33259
33462
  const known2 = /* @__PURE__ */ new Map();
33260
33463
  for (const one2 of held ? (await held.store.chats.chats(held.account, {})).items : [])
33261
33464
  known2.set(one2.id, { id: one2.id, title: one2.title, kind: one2.kind });
33262
- const named2 = /* @__PURE__ */ __name(async (ids2) => {
33465
+ const named3 = /* @__PURE__ */ __name(async (ids2) => {
33263
33466
  const chats = [];
33264
33467
  for (const id2 of ids2) {
33265
33468
  let found = known2.get(id2);
@@ -33277,9 +33480,9 @@ var foldersService = /* @__PURE__ */ __name((deps) => {
33277
33480
  }, "named");
33278
33481
  return {
33279
33482
  ...folder,
33280
- chats: await named2(chatIds),
33281
- pinned: await named2(pinnedChatIds),
33282
- excluded: await named2(excludedChatIds)
33483
+ chats: await named3(chatIds),
33484
+ pinned: await named3(pinnedChatIds),
33485
+ excluded: await named3(excludedChatIds)
33283
33486
  };
33284
33487
  }, "show"),
33285
33488
  create: /* @__PURE__ */ __name(async (title, chats, edit = {}) => {
@@ -33322,15 +33525,15 @@ var foldersService = /* @__PURE__ */ __name((deps) => {
33322
33525
  throw new CliError("validation_error", "name the folders in the order you want them");
33323
33526
  const connection = await online("chats folders order");
33324
33527
  const reorder = capability(connection, "orderFolders", "order folders");
33325
- const named2 = [];
33528
+ const named3 = [];
33326
33529
  for (const one2 of typed) {
33327
33530
  const folder = await folderOf(connection, one2);
33328
- if (named2.some((seen) => seen.id === folder.id))
33531
+ if (named3.some((seen) => seen.id === folder.id))
33329
33532
  throw new CliError("validation_error", `"${one2}" is named twice`);
33330
- named2.push(folder);
33533
+ named3.push(folder);
33331
33534
  }
33332
33535
  const all = await capability(connection, "folders", "list its folders")();
33333
- const folders = [...named2, ...all.filter((one2) => !named2.some((seen) => seen.id === one2.id))];
33536
+ const folders = [...named3, ...all.filter((one2) => !named3.some((seen) => seen.id === one2.id))];
33334
33537
  const operationId = newOperationId();
33335
33538
  await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: "folder-order" }, () => reorder(folders.map((one2) => one2.id)));
33336
33539
  return { operationId, folders: folders.map(({ id: id2, title }) => ({ id: id2, title })) };
@@ -33347,7 +33550,7 @@ var foldersService = /* @__PURE__ */ __name((deps) => {
33347
33550
  };
33348
33551
  }, "foldersService");
33349
33552
 
33350
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/mentions.js
33553
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/mentions.js
33351
33554
  var REVIEW_COUNT = 500;
33352
33555
  var mentionsService = /* @__PURE__ */ __name((deps) => {
33353
33556
  const located = /* @__PURE__ */ __name(async () => {
@@ -33426,7 +33629,7 @@ var mentionsService = /* @__PURE__ */ __name((deps) => {
33426
33629
  };
33427
33630
  }, "mentionsService");
33428
33631
 
33429
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/formatting.js
33632
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/formatting.js
33430
33633
  var invalid3 = /* @__PURE__ */ __name(() => new CliError("validation_error", "the messenger formatter returned invalid text spans"), "invalid");
33431
33634
  var validateFormattedText = /* @__PURE__ */ __name((formatted2) => {
33432
33635
  const { text: text2, spans } = formatted2;
@@ -33486,7 +33689,7 @@ var visibleFormattedText = /* @__PURE__ */ __name((formatted2) => {
33486
33689
  };
33487
33690
  }, "visibleFormattedText");
33488
33691
 
33489
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/message-link.js
33692
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/message-link.js
33490
33693
  var fileLinks = /* @__PURE__ */ __name((attachments) => hitFiles(attachments).map(({ position, kind, name }) => ({
33491
33694
  position,
33492
33695
  kind,
@@ -33495,18 +33698,18 @@ var fileLinks = /* @__PURE__ */ __name((attachments) => hitFiles(attachments).ma
33495
33698
  reason: "unsupported_provider"
33496
33699
  })), "fileLinks");
33497
33700
  var messageLinkTarget = /* @__PURE__ */ __name((reference, message, provider) => {
33498
- const named2 = chatReferenceOf(reference, provider, "message");
33499
- if (named2?.message !== void 0) {
33701
+ const named3 = chatReferenceOf(reference, provider, "message");
33702
+ if (named3?.message !== void 0) {
33500
33703
  if (message !== void 0)
33501
33704
  throw new CliError("validation_error", "a locator already names the message");
33502
- validMessageId(named2.message);
33503
- return { chat: named2.chat, message: named2.message, account: named2.account, text: named2.text };
33705
+ validMessageId(named3.message);
33706
+ return { chat: named3.chat, message: named3.message, account: named3.account, text: named3.text };
33504
33707
  }
33505
33708
  if (message === void 0)
33506
33709
  throw new CliError("validation_error", "which message? give its id after the chat");
33507
33710
  validMessageId(message);
33508
- if (named2)
33509
- return { chat: named2.chat, message, account: named2.account, text: named2.text };
33711
+ if (named3)
33712
+ return { chat: named3.chat, message, account: named3.account, text: named3.text };
33510
33713
  if (!reference.trim())
33511
33714
  throw new CliError("validation_error", "which chat? give its id or title");
33512
33715
  return { chat: reference, message, account: void 0, text: reference };
@@ -33535,7 +33738,7 @@ var validatePermalink = /* @__PURE__ */ __name((link4) => {
33535
33738
  return { url: link4.url, access: link4.access, reason: link4.reason };
33536
33739
  }, "validatePermalink");
33537
33740
 
33538
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/pin-duration.js
33741
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/pin-duration.js
33539
33742
  var spokenSeconds = /* @__PURE__ */ __name((seconds) => {
33540
33743
  if (seconds % 86400 === 0 && seconds > 86400)
33541
33744
  return `${seconds / 86400}d`;
@@ -33567,7 +33770,7 @@ var pinDurationOf = /* @__PURE__ */ __name((value, allowed, flag = "--expire-tim
33567
33770
  return seconds;
33568
33771
  }, "pinDurationOf");
33569
33772
 
33570
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/sends/send-as.js
33773
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/sends/send-as.js
33571
33774
  var sendAsCheck = /* @__PURE__ */ __name((connection, sendAs) => {
33572
33775
  if (sendAs === void 0) {
33573
33776
  const saved = connection.savedSender?.bind(connection);
@@ -33592,7 +33795,7 @@ var typedSendAs = /* @__PURE__ */ __name((typed) => {
33592
33795
  return sendAs;
33593
33796
  }, "typedSendAs");
33594
33797
 
33595
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/search/total.js
33798
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/search/total.js
33596
33799
  var TOTAL_CAP = 1e4;
33597
33800
  var totalOf = /* @__PURE__ */ __name((count4, shown, hasMore, exact = true) => {
33598
33801
  const least = shown + (hasMore ? 1 : 0);
@@ -33603,7 +33806,7 @@ var totalOf = /* @__PURE__ */ __name((count4, shown, hasMore, exact = true) => {
33603
33806
  return { value: count4, relation: exact ? "eq" : "gte" };
33604
33807
  }, "totalOf");
33605
33808
 
33606
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/search/lucene/meaning-parts.js
33809
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/search/lucene/meaning-parts.js
33607
33810
  var WORD_FIELDS = /* @__PURE__ */ new Set(["text", "exact"]);
33608
33811
  var fieldsOfQuery = /* @__PURE__ */ __name((root, everything) => {
33609
33812
  let narrows = false;
@@ -33632,7 +33835,7 @@ var meaningWords = /* @__PURE__ */ __name((root) => {
33632
33835
  return wanted(root).join(" ").trim();
33633
33836
  }, "meaningWords");
33634
33837
 
33635
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/search/question-plan.js
33838
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/search/question-plan.js
33636
33839
  var words3 = /* @__PURE__ */ __name((text2) => normalize(text2).match(/[\p{L}\p{N}]+/gu) ?? [], "words");
33637
33840
  var scaffolding = new Set(words3("what which how many much who where when is are was were do does did can could should we the a an for of to under from in on at has have \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043A\u0430\u043A\u043E\u0439 \u043A\u0430\u043A\u0430\u044F \u043A\u0430\u043A\u0438\u0435 \u043A\u0430\u043A\u043E\u0435 \u043A\u0442\u043E \u043A\u043E\u043C\u0443 \u043A\u0435\u043C \u0433\u0434\u0435 \u043A\u043E\u0433\u0434\u0430 \u043A\u0430\u043A \u0447\u0442\u043E \u0432\u043E \u043F\u043E \u043D\u0430 \u0432 \u043A \u0441 \u0443 \u0447\u0435\u0440\u0435\u0437 \u043B\u0438 \u0434\u043E\u043B\u0436\u0435\u043D \u0434\u043E\u043B\u0436\u043D\u0430 \u043D\u0443\u0436\u043D\u043E \u0438\u0434\u0451\u0442 \u0438\u0434\u0435\u0442 \u043C\u043E\u0436\u043D\u043E \u043C\u043E\u0436\u0435\u0442 \u043C\u043E\u0433\u0443\u0442"));
33638
33841
  var questionWord = /\b(?:what|which|how|who|where|when|can|could|should)\b|(?:^|\s)(?:сколько|какой|какая|какие|какое|кто|кому|кем|где|когда|как|что|можно|может|могут|ли)(?:\s|$)/iu;
@@ -33764,7 +33967,7 @@ var questionLookup = /* @__PURE__ */ __name((text2) => {
33764
33967
  return terms.length ? anyOfTerms(terms, plan.scope) : void 0;
33765
33968
  }, "questionLookup");
33766
33969
 
33767
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-combined.js
33970
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-combined.js
33768
33971
  var COMBINED_DEFAULTS = { candidateDepth: 300, rrfK: 60, rerank: "all", chatCap: 0 };
33769
33972
  var tokensOf = /* @__PURE__ */ __name((text2) => normalize(text2).match(/[\p{L}\p{N}\p{Co}\p{M}]+/gu) ?? [], "tokensOf");
33770
33973
  var searchCombined = /* @__PURE__ */ __name(async (store, account, request, messenger = {}, options = COMBINED_DEFAULTS) => {
@@ -33957,7 +34160,7 @@ var signals = /* @__PURE__ */ __name((hit, terms, corrections, execution, mode,
33957
34160
  return mode === "coverage" ? coverage2 * 4 : mode === "proximity" ? proximity : mode === "phrase" ? phrase : coverage2 * 4 + proximity + phrase;
33958
34161
  }, "signals");
33959
34162
 
33960
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-discovery.js
34163
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-discovery.js
33961
34164
  var MEANING_DEPTH = 100;
33962
34165
  var RRF_K2 = 60;
33963
34166
  var RERANK_DEPTH = 50;
@@ -34282,7 +34485,7 @@ var mixedWithReranker = /* @__PURE__ */ __name((head, scores) => {
34282
34485
  })).sort((a, b) => b.mixed - a.mixed).map(({ hit }) => hit);
34283
34486
  }, "mixedWithReranker");
34284
34487
 
34285
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/thread-context.js
34488
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/thread-context.js
34286
34489
  var THREAD_BOUNDS = { maxHops: 8, maxMessages: 50, maxBytes: 65536, withinMs: 864e5 };
34287
34490
  var bytes = /* @__PURE__ */ __name((items, links) => Buffer.byteLength(JSON.stringify({ items, links }), "utf8"), "bytes");
34288
34491
  var threadBounds = /* @__PURE__ */ __name((options = {}) => {
@@ -34481,7 +34684,7 @@ var readThreadContext = /* @__PURE__ */ __name(async (store, account, chat, mess
34481
34684
  return result;
34482
34685
  }, "readThreadContext");
34483
34686
 
34484
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-archive-search.js
34687
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-archive-search.js
34485
34688
  var SEARCH_FILL_MS = 200;
34486
34689
  var statsStore = /* @__PURE__ */ __name(async (store, account, request, messenger = {}) => {
34487
34690
  const stop = Date.now() + SEARCH_FILL_MS;
@@ -34512,6 +34715,8 @@ var topUp = /* @__PURE__ */ __name(async (store) => {
34512
34715
  }, "topUp");
34513
34716
  var MAX_SEARCH_OFFSET = 1e3;
34514
34717
  var searchStore = /* @__PURE__ */ __name(async (store, account, request, messenger = {}, meaning, rerank) => {
34718
+ if (request.text !== void 0)
34719
+ request = { ...request, text: plainQuery(request.text) };
34515
34720
  const offset = request.offset ?? 0;
34516
34721
  if (!Number.isInteger(offset) || offset < 0 || offset > MAX_SEARCH_OFFSET)
34517
34722
  throw new CliError("validation_error", `offset takes a whole number from 0 to ${MAX_SEARCH_OFFSET}`);
@@ -34548,12 +34753,12 @@ var accountOf2 = /* @__PURE__ */ __name((hit) => {
34548
34753
  }, "accountOf");
34549
34754
  var keyOf3 = /* @__PURE__ */ __name(({ provider, account }) => `${provider}/${account}`, "keyOf");
34550
34755
 
34551
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/pictures.js
34756
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/pictures.js
34552
34757
  import { createHash as createHash10 } from "node:crypto";
34553
34758
  import { readFile as readFile2, stat as stat3 } from "node:fs/promises";
34554
34759
  import { setTimeout as sleep4 } from "node:timers/promises";
34555
34760
 
34556
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/models.js
34761
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/models.js
34557
34762
  var GROUP_SETTINGS = [
34558
34763
  "allCanPin",
34559
34764
  "onlyAdminsAdd",
@@ -34567,7 +34772,7 @@ var ADMIN_RIGHTS = ["read", "members", "admins", "info", "pin", "link", "post",
34567
34772
  var senderIsMe = /* @__PURE__ */ __name((message, account) => message.outgoing === true || message.senderId !== null && String(message.senderId) === account, "senderIsMe");
34568
34773
  var MEDIA_KINDS = ["photo", "video", "file", "audio", "link"];
34569
34774
 
34570
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/pictures.js
34775
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/pictures.js
34571
34776
  var PICTURE_MAX_BYTES = 25 * 1024 * 1024;
34572
34777
  var PICTURE_FLOOR = 0.25;
34573
34778
  var PAGE4 = 50;
@@ -34584,7 +34789,7 @@ var picturesService = /* @__PURE__ */ __name((deps) => {
34584
34789
  const directory2 = imageModelsDirectory(deps.env);
34585
34790
  if (!isImageModelInstalled(model2, directory2))
34586
34791
  throw new CliError("not_found", missingModel(model2.id), { reason: "model.not-downloaded", model: model2.id });
34587
- const { openPictureEmbedder } = await import("./embedder-IA3CG6LB.js");
34792
+ const { openPictureEmbedder } = await import("./embedder-6YL3WFBR.js");
34588
34793
  return openPictureEmbedder(model2, directory2);
34589
34794
  }, "open");
34590
34795
  const embedder = /* @__PURE__ */ __name(() => {
@@ -34595,7 +34800,7 @@ var picturesService = /* @__PURE__ */ __name((deps) => {
34595
34800
  return opened;
34596
34801
  }, "embedder");
34597
34802
  const model = imageModel(DEFAULT_IMAGE_MODEL);
34598
- const bytesOf2 = /* @__PURE__ */ __name(async (picture, files, read2) => {
34803
+ const bytesOf3 = /* @__PURE__ */ __name(async (picture, files, read2) => {
34599
34804
  if (picture.localPath) {
34600
34805
  try {
34601
34806
  if ((await stat3(picture.localPath)).size <= PICTURE_MAX_BYTES)
@@ -34668,7 +34873,7 @@ var picturesService = /* @__PURE__ */ __name((deps) => {
34668
34873
  return downloaded.files;
34669
34874
  }, "files");
34670
34875
  try {
34671
- const bytes2 = await bytesOf2(picture, files, async (file2) => {
34876
+ const bytes2 = await bytesOf3(picture, files, async (file2) => {
34672
34877
  const refreshed = refreshedFiles([file2]);
34673
34878
  if (refreshed.length === 0)
34674
34879
  return;
@@ -34781,7 +34986,7 @@ var withPictures = /* @__PURE__ */ __name((messages, pictures) => ({
34781
34986
  }, "search")
34782
34987
  }), "withPictures");
34783
34988
 
34784
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-meaning.js
34989
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-meaning.js
34785
34990
  var meaningLane = /* @__PURE__ */ __name((deps) => async (question, accounts, shared, within) => {
34786
34991
  const target2 = embeddingTarget(deps, DEFAULT_TEXT_MODEL);
34787
34992
  const skipped = /* @__PURE__ */ __name((reason, step) => ({
@@ -34849,7 +35054,7 @@ var meaningLane = /* @__PURE__ */ __name((deps) => async (question, accounts, sh
34849
35054
  }
34850
35055
  }, "meaningLane");
34851
35056
 
34852
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages-rerank.js
35057
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages-rerank.js
34853
35058
  var rerankLane = /* @__PURE__ */ __name((deps) => {
34854
35059
  const choice = deps.reranker ?? DEFAULT_RERANK_MODEL;
34855
35060
  if (choice === "off")
@@ -34861,9 +35066,9 @@ var rerankLane = /* @__PURE__ */ __name((deps) => {
34861
35066
  return { skipped: { reason: `${model.id} is not downloaded`, step: "models.download", model: model.id } };
34862
35067
  try {
34863
35068
  const warm = deps.embedders;
34864
- const reranker = warm ? await warm.reranker(`rerank:${model.id}`, async () => (await import("./process-J74KA6F3.js")).openRerankerProcess(model, directory2, {
35069
+ const reranker = warm ? await warm.reranker(`rerank:${model.id}`, async () => (await import("./process-SB2X3TKY.js")).openRerankerProcess(model, directory2, {
34865
35070
  threads: defaultThreads()
34866
- })) : await (await import("./rerank-HWNJXOHL.js")).openReranker(model, directory2);
35071
+ })) : await (await import("./rerank-SF3OUPEB.js")).openReranker(model, directory2);
34867
35072
  return {
34868
35073
  model: model.id,
34869
35074
  score: /* @__PURE__ */ __name((question, passages) => reranker.score(plainWords(question), passages), "score"),
@@ -34883,22 +35088,22 @@ var rerankLane = /* @__PURE__ */ __name((deps) => {
34883
35088
  };
34884
35089
  }, "rerankLane");
34885
35090
 
34886
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/document-pictures.js
35091
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/document-pictures.js
34887
35092
  var openPictureEmbedderFor = /* @__PURE__ */ __name(async ({ env, command } = {}) => {
34888
35093
  const model = imageModel(DEFAULT_IMAGE_MODEL);
34889
35094
  const directory2 = imageModelsDirectory(env);
34890
35095
  if (!isImageModelInstalled(model, directory2))
34891
35096
  throw new CliError("not_found", `the picture model is not downloaded \u2014 ${command === void 0 ? "install it with a WireCat CLI that has `images models download` (tg, max or wa); they share the model folder" : `\`${command} images models download ${model.id}\` fetches it`}`, { reason: "model.not-downloaded", model: model.id });
34892
- const { openPictureEmbedder } = await import("./embedder-IA3CG6LB.js");
35097
+ const { openPictureEmbedder } = await import("./embedder-6YL3WFBR.js");
34893
35098
  return openPictureEmbedder(model, directory2);
34894
35099
  }, "openPictureEmbedderFor");
34895
35100
 
34896
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/document-source.js
35101
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/document-source.js
34897
35102
  var documentSource = /* @__PURE__ */ __name((note2, accounts, profiles, file2) => {
34898
35103
  const metadata = note2.frontMatter;
34899
35104
  const account = accounts.find(({ id: id2 }) => String(id2) === note2.folderId);
34900
35105
  const remote = note2.source === "file" && (account !== void 0 && kindIn(account.provider) === "documents" || metadata?.source === "google-drive");
34901
- const profile = remote && account ? Object.entries(profiles).flatMap(([command, named2]) => Object.entries(named2).map(([name, key]) => ({ command, name, key }))).find(({ key }) => key.provider === account.provider && key.account === account.account || isFolderProvider(key.provider) && key.account === account.name) : void 0;
35106
+ const profile = remote && account ? Object.entries(profiles).flatMap(([command, named3]) => Object.entries(named3).map(([name, key]) => ({ command, name, key }))).find(({ key }) => key.provider === account.provider && key.account === account.account || isFolderProvider(key.provider) && key.account === account.name) : void 0;
34902
35107
  const url = file2?.url ?? (remote && typeof metadata?.sourceUrl === "string" ? metadata.sourceUrl : void 0);
34903
35108
  return {
34904
35109
  kind: remote ? "document" : "note",
@@ -34908,7 +35113,7 @@ var documentSource = /* @__PURE__ */ __name((note2, accounts, profiles, file2) =
34908
35113
  };
34909
35114
  }, "documentSource");
34910
35115
 
34911
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/notes-title-tier.js
35116
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/notes-title-tier.js
34912
35117
  var plainQueryWords = /* @__PURE__ */ __name((query) => {
34913
35118
  let root;
34914
35119
  try {
@@ -34935,7 +35140,7 @@ var titleTiers = /* @__PURE__ */ __name((hits, words4) => {
34935
35140
  return [...hits].sort((a, b) => rank(a) - rank(b));
34936
35141
  }, "titleTiers");
34937
35142
 
34938
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/notes-search.js
35143
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/notes-search.js
34939
35144
  var storeQuery = /* @__PURE__ */ __name(async (store, text2, { exact, timezone } = {}) => resolvedQuery(store, parsedQuery(text2, exact), timezone), "storeQuery");
34940
35145
  var parsedQuery = /* @__PURE__ */ __name((text2, exact) => validateFields(parseLucene(text2, { ...SEARCH_QUERY, defaultField: exact ? "exact" : "text" })).root, "parsedQuery");
34941
35146
  var resolvedQuery = /* @__PURE__ */ __name(async (store, root, timezone) => {
@@ -35177,6 +35382,7 @@ var notesTotal = /* @__PURE__ */ __name(async (store, text2, { exact, scope, sho
35177
35382
  return totalOf(count4, shown, hasMore, othersComplete);
35178
35383
  }, "notesTotal");
35179
35384
  var searchNotes = /* @__PURE__ */ __name(async (store, query, { limit = 20, offset = 0, tag, filter: expression, folderIds, withInternal, source: given, exact = false, discover = false, timezone, env, command, embedders, pictures: withPictures2 = false, pictureLimit = 5, pictureEmbedder } = {}) => {
35385
+ query = plainQuery(query);
35180
35386
  const typed = noteSourceOfQuery(query);
35181
35387
  const source = given ?? typed.source;
35182
35388
  const rest = typed.source !== void 0 && typed.source === source ? typed.rest : query;
@@ -35353,6 +35559,7 @@ var notesScopeOf = /* @__PURE__ */ __name((accounts) => {
35353
35559
  return { folderIds, ...accounts.length > folderIds.length ? { withInternal: true } : {} };
35354
35560
  }, "notesScopeOf");
35355
35561
  var searchNotesOf = /* @__PURE__ */ __name(async (store, account, text2, { accounts: list3, app, ...query }) => {
35562
+ text2 = plainQuery(text2);
35356
35563
  const own = app?.command ?? query.command;
35357
35564
  const what = `${own === void 0 ? "" : `${own} `}search notes`;
35358
35565
  const held = [
@@ -35360,9 +35567,9 @@ var searchNotesOf = /* @__PURE__ */ __name(async (store, account, text2, { accou
35360
35567
  ...(await store.notes.folders()).map(({ id: id2 }) => ({ provider: "notes", account: id2 })),
35361
35568
  ...(await store.notes.documentsAccounts()).map(({ id: id2 }) => ({ provider: "notes", account: id2 }))
35362
35569
  ];
35363
- const named2 = list3 === void 0 ? { accounts: held, skipped: [] } : fitting(entriesOfList(list3, await listContextOf(store, account, app)), ["notes", "documents"], what);
35570
+ const named3 = list3 === void 0 ? { accounts: held, skipped: [] } : fitting(entriesOfList(list3, await listContextOf(store, account, app)), ["notes", "documents"], what);
35364
35571
  const source = query.source ?? noteSourceOfQuery(text2).source;
35365
- const typed = named2.accounts.filter(({ account: account2 }) => source === void 0 || account2 === INTERNAL_NOTES === (source === "internal"));
35572
+ const typed = named3.accounts.filter(({ account: account2 }) => source === void 0 || account2 === INTERNAL_NOTES === (source === "internal"));
35366
35573
  if (!typed.length && list3 !== void 0)
35367
35574
  throw new CliError("validation_error", source === "internal" ? "the query's source:internal keeps the notes written in memo, and the --source list names none of them: add notes:internal to --source, or drop source:internal from the query" : "the query's source:file keeps the files from notes folders, and the --source list names none of them: add notes:<folder id> to --source, or drop source:file from the query");
35368
35575
  const scope = list3 === void 0 ? {} : notesScopeOf(typed);
@@ -35374,11 +35581,11 @@ var searchNotesOf = /* @__PURE__ */ __name(async (store, account, text2, { accou
35374
35581
  return {
35375
35582
  ...found,
35376
35583
  accounts: typed.map(({ account: account2 }) => ({ resource: "notes", provider: "notes", account: account2 })),
35377
- skipped: named2.skipped
35584
+ skipped: named3.skipped
35378
35585
  };
35379
35586
  }, "searchNotesOf");
35380
35587
 
35381
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/events-search.js
35588
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/events-search.js
35382
35589
  var MAX_EVENTS_OFFSET = 1e3;
35383
35590
  var iso3 = /* @__PURE__ */ __name((at) => at === null ? null : new Date(at).toISOString(), "iso");
35384
35591
  var accountIdsOf = /* @__PURE__ */ __name(async (store, accounts) => {
@@ -35415,6 +35622,7 @@ var keyOf4 = /* @__PURE__ */ __name(({ event }) => event.eventSeriesId === null
35415
35622
  var searchEvents = /* @__PURE__ */ __name(async (store, query, { limit = 20, offset = 0, accounts, exact, discover, newest, timezone, signal, candidates, env, command, embedders } = {}) => {
35416
35623
  if (!query.trim())
35417
35624
  throw new CliError("validation_error", "say what to find in the events");
35625
+ query = plainQuery(query);
35418
35626
  const asked = discover && !exact && !newest ? questionLookup(query) : void 0;
35419
35627
  const { root, stemmer } = await storeQuery(store, asked ?? query, {
35420
35628
  ...exact ? { exact: true } : {},
@@ -35495,7 +35703,7 @@ var searchEvents = /* @__PURE__ */ __name(async (store, query, { limit = 20, off
35495
35703
  };
35496
35704
  }, "searchEvents");
35497
35705
 
35498
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-all.js
35706
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-all.js
35499
35707
  var RESOURCES_SEARCHED = ["messages", "mail", "notes", "events", "crm"];
35500
35708
  var skippable = /* @__PURE__ */ __name((error) => error instanceof CliError && (error.code === "validation_error" || error.code === "not_found"), "skippable");
35501
35709
  var filtersBeside = /* @__PURE__ */ __name((text2) => {
@@ -35513,9 +35721,10 @@ var titleWords = /* @__PURE__ */ __name((text2) => {
35513
35721
  return { words: words4, anyWord: clauses.length > 1 && clauses.every(({ occur }) => occur === "should") };
35514
35722
  }, "titleWords");
35515
35723
  var crmAccounts = /* @__PURE__ */ __name(async (store) => (await store.accounts.accounts()).filter(({ provider }) => kindIn(provider) === "crm"), "crmAccounts");
35516
- var searchAll = /* @__PURE__ */ __name(async (store, account, request, messenger = {}, searchMessages = (query) => searchStore(store, account, query, messenger), meaning) => {
35517
- if (!request.text.trim())
35724
+ var searchAll = /* @__PURE__ */ __name(async (store, account, asked, messenger = {}, searchMessages = (query) => searchStore(store, account, query, messenger), meaning) => {
35725
+ if (!asked.text.trim())
35518
35726
  throw new CliError("validation_error", "say what to find");
35727
+ const request = { ...asked, text: plainQuery(asked.text) };
35519
35728
  const offset = request.offset ?? 0;
35520
35729
  if (!Number.isInteger(offset) || offset < 0 || offset > MAX_SEARCH_OFFSET)
35521
35730
  throw new CliError("validation_error", `offset takes a whole number from 0 to ${MAX_SEARCH_OFFSET}`);
@@ -35697,6 +35906,7 @@ var searchAll = /* @__PURE__ */ __name(async (store, account, request, messenger
35697
35906
  const found = await store.deals.find({
35698
35907
  words: words4,
35699
35908
  anyWord: anyWord || discover,
35909
+ ...request.crmKinds === void 0 ? {} : { kinds: request.crmKinds },
35700
35910
  limit: Math.min(window3 + 1, 500),
35701
35911
  ...chosen === void 0 ? {} : { accounts: chosen }
35702
35912
  });
@@ -35729,7 +35939,7 @@ var searchAll = /* @__PURE__ */ __name(async (store, account, request, messenger
35729
35939
  const ordered = oneList(lists, cosines);
35730
35940
  const more = hasMore || ordered.length > window3;
35731
35941
  return {
35732
- query: request.text,
35942
+ query: asked.text,
35733
35943
  items: ordered.slice(offset, window3),
35734
35944
  hasMore: more,
35735
35945
  ...more && window3 <= MAX_SEARCH_OFFSET ? { nextOffset: window3 } : {},
@@ -35756,7 +35966,7 @@ var oneList = /* @__PURE__ */ __name((lists, cosines) => {
35756
35966
  return [...place.values()].sort((a, b) => a.rank - b.rank || cosine(b.item.ref) - cosine(a.item.ref)).map(({ item: item2 }) => item2);
35757
35967
  }, "oneList");
35758
35968
 
35759
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/search-all-meetings.js
35969
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/search-all-meetings.js
35760
35970
  var RESOURCES_SEARCHED_WITH_MEETINGS = [...RESOURCES_SEARCHED, "meetings"];
35761
35971
  var whole2 = /* @__PURE__ */ __name((value, minimum, maximum, label) => {
35762
35972
  if (!Number.isSafeInteger(value) || value < minimum || value > maximum)
@@ -35965,44 +36175,44 @@ var searchAllWithMeetings = /* @__PURE__ */ __name(async (store, account, reques
35965
36175
  skipped: [...found.skipped, { resource: "meetings", code: "validation_error", reason: MEETINGS_UNNAMED }]
35966
36176
  } : found;
35967
36177
  }, "searchAllWithMeetings");
35968
- var holdingMeetings = /* @__PURE__ */ __name(async (store, named2) => {
35969
- if (named2.length < 2)
35970
- return named2;
36178
+ var holdingMeetings = /* @__PURE__ */ __name(async (store, named3) => {
36179
+ if (named3.length < 2)
36180
+ return named3;
35971
36181
  const holding2 = [];
35972
- for (const key of named2) {
36182
+ for (const key of named3) {
35973
36183
  const { id: id2 } = await store.accounts.storedAccount(key);
35974
36184
  if ((await store.meetings.meetings({ accountId: id2, limit: 1 })).length)
35975
36185
  holding2.push(key);
35976
36186
  }
35977
- return holding2.length ? holding2 : named2;
36187
+ return holding2.length ? holding2 : named3;
35978
36188
  }, "holdingMeetings");
35979
36189
  var searchAllOfSource = /* @__PURE__ */ __name(async (store, account, source, request, messenger, searchMessages, meaning) => {
35980
36190
  const only = request.only ?? RESOURCES_SEARCHED_WITH_MEETINGS;
35981
36191
  const entries = entriesOfList(source, await listContextOf(store, account, messenger.app));
35982
36192
  const { skipped } = fitting(entries, only, "search all", (kind) => `--only leaves ${kind} out`);
35983
- const named2 = /* @__PURE__ */ __name((resource) => [
36193
+ const named3 = /* @__PURE__ */ __name((resource) => [
35984
36194
  ...new Map(entries.flatMap(({ accounts }) => accounts).filter(({ kind }) => kind === resource).map(({ provider, account: account2 }) => [`${provider}\0${account2}`, { provider, account: account2 }])).values()
35985
36195
  ], "named");
35986
- const meetings = await holdingMeetings(store, named2("meetings"));
35987
- const empty2 = named2("meetings").filter((one2) => !meetings.some(({ provider, account: account2 }) => provider === one2.provider && account2 === one2.account)).map(({ provider, account: account2 }) => ({
36196
+ const meetings = await holdingMeetings(store, named3("meetings"));
36197
+ const empty2 = named3("meetings").filter((one2) => !meetings.some(({ provider, account: account2 }) => provider === one2.provider && account2 === one2.account)).map(({ provider, account: account2 }) => ({
35988
36198
  source: `${provider}:${account2}`,
35989
36199
  code: "not_found",
35990
36200
  reason: "no meetings stored for it"
35991
36201
  }));
35992
36202
  if (only.includes("meetings") && meetings.length > 1)
35993
36203
  throw new CliError("validation_error", `--source names several meeting accounts; search all reads one: ${meetings.map(({ provider, account: account2 }) => `${provider}:${account2}`).join(", ")}`);
35994
- const read2 = only.filter((resource) => named2(resource).length > 0);
36204
+ const read2 = only.filter((resource) => named3(resource).length > 0);
35995
36205
  if (read2.includes("meetings") && request.offset !== void 0)
35996
36206
  throw new CliError("validation_error", "--offset pages messages, mail and notes; not with a meeting account yet");
35997
36207
  const found = await searchAllIncludingMeetings(store, account, {
35998
36208
  ...request,
35999
36209
  only: read2,
36000
36210
  scope: {
36001
- messages: named2("messages"),
36002
- mail: named2("mail"),
36003
- notes: named2("notes"),
36004
- events: named2("events"),
36005
- crm: named2("crm")
36211
+ messages: named3("messages"),
36212
+ mail: named3("mail"),
36213
+ notes: named3("notes"),
36214
+ events: named3("events"),
36215
+ crm: named3("crm")
36006
36216
  },
36007
36217
  ...meetings[0] ? { meetingAccount: meetings[0] } : {}
36008
36218
  }, messenger, searchMessages, meaning);
@@ -36010,7 +36220,7 @@ var searchAllOfSource = /* @__PURE__ */ __name(async (store, account, source, re
36010
36220
  return { ...found, skipped: [...skipped, ...empty2, ...unnamed, ...found.skipped] };
36011
36221
  }, "searchAllOfSource");
36012
36222
 
36013
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/server-search.js
36223
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/server-search.js
36014
36224
  var SERVER_SEARCH_KEY = "messages.server-search";
36015
36225
  var SERVER_BOUNDS = { timeMs: 5e3, perCall: 100, maxCalls: 3, textBytes: 262144 };
36016
36226
  var DEFAULT_BACKEND = "both";
@@ -36199,7 +36409,7 @@ var searchServer = /* @__PURE__ */ __name(async (deps, request) => {
36199
36409
  return { report, sources };
36200
36410
  }, "searchServer");
36201
36411
 
36202
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/messages.js
36412
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/messages.js
36203
36413
  var DELETE_AT_ONCE = 10;
36204
36414
  var filesOf = /* @__PURE__ */ __name(({ attachments }) => {
36205
36415
  const files = fileLinks(attachments);
@@ -36640,7 +36850,7 @@ var checkMediaOptions = /* @__PURE__ */ __name((messenger, asked, attachments) =
36640
36850
  throw new CliError("validation_error", `${MEDIA_FLAGS[first2]} needs a --photo or --file`);
36641
36851
  }, "checkMediaOptions");
36642
36852
 
36643
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/domain/channel-tags.js
36853
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/domain/channel-tags.js
36644
36854
  var CHANNEL_TAG_RULES_VERSION = "keywords-v1";
36645
36855
  var RULES = {
36646
36856
  ai: [/\b(ai|gpt|llm|machine learning|artificial intelligence)\b/iu, /нейросет|искусственн/iu],
@@ -36655,7 +36865,7 @@ var classifyChannel = /* @__PURE__ */ __name((metadata) => Object.entries(RULES)
36655
36865
  return fields.length ? [{ tag, score: fields.length / 3, fields }] : [];
36656
36866
  }), "classifyChannel");
36657
36867
 
36658
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/metadata.js
36868
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/metadata.js
36659
36869
  var metadataService = /* @__PURE__ */ __name((deps) => {
36660
36870
  const held = /* @__PURE__ */ __name(async (reference, { includeLeft = false } = {}) => {
36661
36871
  const store = await deps.store();
@@ -36741,7 +36951,7 @@ var metadataService = /* @__PURE__ */ __name((deps) => {
36741
36951
  };
36742
36952
  }, "metadataService");
36743
36953
 
36744
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/moderation/check.js
36954
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/moderation/check.js
36745
36955
  var INVITE = /max\.ru\/join\/|(t|telegram)\.me\/(\+|joinchat\/)|tg:\/\/join/i;
36746
36956
  var LINK2 = /https?:\/\/\S+/i;
36747
36957
  var STRENGTH = { report: 0, delete: 1, remove: 2 };
@@ -36929,8 +37139,8 @@ var nextPoint = /* @__PURE__ */ __name((rows, found) => {
36929
37139
  }, "nextPoint");
36930
37140
  var someUndone = /* @__PURE__ */ __name((rows) => rows.some(undone), "someUndone");
36931
37141
 
36932
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/moderation/rules.js
36933
- import { existsSync, readFileSync as readFileSync2 } from "node:fs";
37142
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/moderation/rules.js
37143
+ import { existsSync as existsSync2, readFileSync as readFileSync2 } from "node:fs";
36934
37144
  import { join as join11 } from "node:path";
36935
37145
  var RULE_ACTIONS = ["report", "delete", "remove"];
36936
37146
  var OLD_LEVELS = { forbid: "deny", flag: "ask", confirm: "ask", allow: "allow" };
@@ -37042,7 +37252,7 @@ var ModerationRules = class {
37042
37252
  this.#write({ ...saved, checkedUntil: { ...saved.checkedUntil, [chatId]: at } });
37043
37253
  }
37044
37254
  #file() {
37045
- if (!existsSync(this.path))
37255
+ if (!existsSync2(this.path))
37046
37256
  return { groups: {} };
37047
37257
  let parsed;
37048
37258
  try {
@@ -37072,7 +37282,7 @@ var assign = /* @__PURE__ */ __name((rules, key, value) => {
37072
37282
  return { ...rules, [head]: { ...rules[head], [tail]: value } };
37073
37283
  }, "assign");
37074
37284
 
37075
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/moderation/run.js
37285
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/moderation/run.js
37076
37286
  var FIRST_LOOK_MS = 24 * 36e5;
37077
37287
  var moderateWith = /* @__PURE__ */ __name(async (run) => {
37078
37288
  const { chatId, title, rules, point, since, dryRun } = run;
@@ -37109,7 +37319,7 @@ var moderateWith = /* @__PURE__ */ __name(async (run) => {
37109
37319
  return { chatId, rows, notes };
37110
37320
  }, "moderateWith");
37111
37321
 
37112
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/moderation.js
37322
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/moderation.js
37113
37323
  var moderationService = /* @__PURE__ */ __name((deps) => {
37114
37324
  const file2 = /* @__PURE__ */ __name(() => new ModerationRules(moderationPathFor(deps.messenger.app, deps.profile ?? "default", deps.env ?? process.env)), "file");
37115
37325
  const group = /* @__PURE__ */ __name(async (chat) => {
@@ -37187,7 +37397,7 @@ var moderatorOf = /* @__PURE__ */ __name((adapter, deps) => ({
37187
37397
  }, "removePerson")
37188
37398
  }), "moderatorOf");
37189
37399
 
37190
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/private-people.js
37400
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/private-people.js
37191
37401
  var noteItem = /* @__PURE__ */ __name((provider, note2) => ({
37192
37402
  id: note2.id,
37193
37403
  contact: formatReference({ type: "contact", provider, id: note2.personId }),
@@ -37231,7 +37441,7 @@ var privatePeopleService = /* @__PURE__ */ __name((deps) => {
37231
37441
  };
37232
37442
  }, "privatePeopleService");
37233
37443
 
37234
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/rankings.js
37444
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/rankings.js
37235
37445
  var empty = /* @__PURE__ */ __name(() => ({
37236
37446
  total: 0,
37237
37447
  population: 0,
@@ -37487,7 +37697,7 @@ var rankingsService = /* @__PURE__ */ __name((deps) => ({
37487
37697
  }, "evidence")
37488
37698
  }), "rankingsService");
37489
37699
 
37490
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/reply-stats.js
37700
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/reply-stats.js
37491
37701
  var FIELDS = ["date", "chat", "kind"];
37492
37702
  var WAITING_TAIL = 100;
37493
37703
  var plainOnly = /* @__PURE__ */ __name((text2, command) => {
@@ -37614,7 +37824,7 @@ var replyStatsService = /* @__PURE__ */ __name((deps) => {
37614
37824
  };
37615
37825
  }, "replyStatsService");
37616
37826
 
37617
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/searches.js
37827
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/searches.js
37618
37828
  var savedSearchItem = /* @__PURE__ */ __name((one2) => ({
37619
37829
  id: one2.id,
37620
37830
  name: one2.name,
@@ -37650,7 +37860,7 @@ var checked = /* @__PURE__ */ __name((params) => {
37650
37860
  validateFields(parseLucene(params.text, { ...MESSAGE_PARSING, defaultField: params.exact ? "exact" : "text" }));
37651
37861
  return params;
37652
37862
  }, "checked");
37653
- var named = /* @__PURE__ */ __name((search, check2) => {
37863
+ var named2 = /* @__PURE__ */ __name((search, check2) => {
37654
37864
  try {
37655
37865
  check2();
37656
37866
  } catch (error) {
@@ -37724,7 +37934,7 @@ var searchesService = /* @__PURE__ */ __name((deps) => {
37724
37934
  ...inherited,
37725
37935
  ...Object.fromEntries(Object.entries(typed).filter(([, one2]) => one2 !== void 0))
37726
37936
  };
37727
- named(search, () => {
37937
+ named2(search, () => {
37728
37938
  if (search.language !== "lucene-v1")
37729
37939
  throw new CliError("validation_error", "the legacy search and --regex are gone; save it again as Lucene");
37730
37940
  checked(stored);
@@ -37743,7 +37953,7 @@ var searchesService = /* @__PURE__ */ __name((deps) => {
37743
37953
  };
37744
37954
  }, "searchesService");
37745
37955
 
37746
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/tags.js
37956
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/tags.js
37747
37957
  var TAGGING_QUERY = {
37748
37958
  entity: "tagging",
37749
37959
  backend: "sql",
@@ -37827,7 +38037,7 @@ var tagsService = /* @__PURE__ */ __name((deps) => {
37827
38037
  };
37828
38038
  }, "tagsService");
37829
38039
 
37830
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/topics.js
38040
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/topics.js
37831
38041
  var actionOf = /* @__PURE__ */ __name(({ title, closed, pinned, hidden, icon }) => {
37832
38042
  const set = [closed, pinned, hidden].filter((one2) => one2 !== void 0).length;
37833
38043
  if (title !== void 0 || icon !== void 0 || set !== 1)
@@ -38026,7 +38236,7 @@ var topicsService = /* @__PURE__ */ __name((deps) => {
38026
38236
  };
38027
38237
  }, "topicsService");
38028
38238
 
38029
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/evidence.js
38239
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/evidence.js
38030
38240
  import { createHash as createHash11, randomUUID as randomUUID5 } from "node:crypto";
38031
38241
  var hash2 = /* @__PURE__ */ __name((value) => createHash11("sha256").update(JSON.stringify(value)).digest("hex"), "hash");
38032
38242
  var positive = /* @__PURE__ */ __name((value, name, minimum = 1) => {
@@ -38100,7 +38310,7 @@ var prepareEvidencePacket = /* @__PURE__ */ __name(({ kind, source, page, limits
38100
38310
  return { ...content, id: randomUUID5(), fingerprint: hash2(content) };
38101
38311
  }, "prepareEvidencePacket");
38102
38312
 
38103
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/evidence-read.js
38313
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/evidence-read.js
38104
38314
  var readEvidencePacket = /* @__PURE__ */ __name(async (store, account, { chat, limit, before: before2 }, messenger = {}) => {
38105
38315
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100)
38106
38316
  throw new CliError("validation_error", "evidence message limit must be an integer from 1 to 100");
@@ -38120,7 +38330,7 @@ var readEvidencePacket = /* @__PURE__ */ __name(async (store, account, { chat, l
38120
38330
  return { ...packet, nextBeforeId: older && last ? last.id : null };
38121
38331
  }, "readEvidencePacket");
38122
38332
 
38123
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-hit-search.js
38333
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-hit-search.js
38124
38334
  var refreshMeetingIndex = /* @__PURE__ */ __name(async (meetings, accountId, signal) => {
38125
38335
  let before2 = Number.POSITIVE_INFINITY;
38126
38336
  for (; ; ) {
@@ -38173,7 +38383,7 @@ var resolveMeetingSelection = /* @__PURE__ */ __name(async (store, request) => {
38173
38383
  return { input, selection };
38174
38384
  }, "resolveMeetingSelection");
38175
38385
  var searchMeetingHits = /* @__PURE__ */ __name(async (store, query, request, options = {}) => {
38176
- const lifted = liftMeetingFields(query, request);
38386
+ const lifted = liftMeetingFields(plainQuery(query, MEETING_FIELD_NAMES), request);
38177
38387
  const { input, selection } = await resolveMeetingSelection(store, lifted.request);
38178
38388
  if (options.refreshIndex !== false)
38179
38389
  await refreshMeetingIndex(store.meetings, input.accountId, input.signal);
@@ -38182,7 +38392,7 @@ var searchMeetingHits = /* @__PURE__ */ __name(async (store, query, request, opt
38182
38392
  return { ...result, selection };
38183
38393
  }, "searchMeetingHits");
38184
38394
 
38185
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-project-discovery.js
38395
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-project-discovery.js
38186
38396
  import { createHash as createHash12 } from "node:crypto";
38187
38397
  var scopeKeys = [
38188
38398
  "accountId",
@@ -38317,7 +38527,7 @@ var readMeetingProjectDiscovery = /* @__PURE__ */ __name(async (ports, projectNa
38317
38527
  };
38318
38528
  }, "readMeetingProjectDiscovery");
38319
38529
 
38320
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-hit-context.js
38530
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-hit-context.js
38321
38531
  import { createHash as createHash13 } from "node:crypto";
38322
38532
  var contextCue = /* @__PURE__ */ __name((cue) => ({
38323
38533
  ref: cue.reference,
@@ -38435,7 +38645,7 @@ var readMeetingHitContext = /* @__PURE__ */ __name(async (store, accountId, refe
38435
38645
  return { ...packet, fingerprint: createHash13("sha256").update(JSON.stringify(packet)).digest("hex") };
38436
38646
  }, "readMeetingHitContext");
38437
38647
 
38438
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-passage-format.js
38648
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-passage-format.js
38439
38649
  var visible = /* @__PURE__ */ __name((text2) => text2.replace(/[\p{Cc}\p{Cf}]/gu, (value) => value === "\n" || value === " " ? value : `\\u{${value.codePointAt(0)?.toString(16)}}`), "visible");
38440
38650
  var markdown = /* @__PURE__ */ __name((text2) => visible(text2).replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replace(/[\\`*_[\]#|~]/g, "\\$&"), "markdown");
38441
38651
  var timestamp = /* @__PURE__ */ __name((ms) => {
@@ -38511,7 +38721,7 @@ var readMeetingPassage = /* @__PURE__ */ __name(async (store, accountId, referen
38511
38721
  return { packet, content };
38512
38722
  }, "readMeetingPassage");
38513
38723
 
38514
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/context/communication-selection.js
38724
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/context/communication-selection.js
38515
38725
  var communicationFields = {
38516
38726
  sources: pipe(array(strictObject({
38517
38727
  id: pipe(string(), regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)),
@@ -38543,7 +38753,7 @@ var communicationRequest = /* @__PURE__ */ __name((value, preparationAfter) => {
38543
38753
  return { ...input, after, before: before2 };
38544
38754
  }, "communicationRequest");
38545
38755
 
38546
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-preparation-validation.js
38756
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-preparation-validation.js
38547
38757
  var MEETING_PREPARATION_LIMITS = {
38548
38758
  meetings: { min: 1, max: 20, default: 5 },
38549
38759
  cues: { min: 1, max: 100, default: 10 },
@@ -38629,7 +38839,7 @@ var preparationRequest = /* @__PURE__ */ __name((accountId, externalId, original
38629
38839
  return { ...input, history };
38630
38840
  }, "preparationRequest");
38631
38841
 
38632
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-communications-preparation.js
38842
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-communications-preparation.js
38633
38843
  var readPreparationCommunications = /* @__PURE__ */ __name(async (plan, signal) => {
38634
38844
  const section = {
38635
38845
  readUsage: plan.reader.usage(),
@@ -38734,7 +38944,7 @@ var appendPreparationCommunications = /* @__PURE__ */ __name((result, read2) =>
38734
38944
  result.knowledge.coverage.otherSources = "see-communications";
38735
38945
  }, "appendPreparationCommunications");
38736
38946
 
38737
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-communications-selection.js
38947
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-communications-selection.js
38738
38948
  var captureCommunicationSelections = /* @__PURE__ */ __name((port) => {
38739
38949
  if (port === void 0)
38740
38950
  return void 0;
@@ -38839,7 +39049,7 @@ var validatePreparationCommunications = /* @__PURE__ */ __name((section, request
38839
39049
  }
38840
39050
  }, "validatePreparationCommunications");
38841
39051
 
38842
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-knowledge-preparation.js
39052
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-knowledge-preparation.js
38843
39053
  var invalid5 = /* @__PURE__ */ __name(() => {
38844
39054
  throw new CliError("invalid_response", "Preparation knowledge returned an invalid selection");
38845
39055
  }, "invalid");
@@ -38908,7 +39118,7 @@ var appendKnowledgePreparation = /* @__PURE__ */ __name(async (store, result, in
38908
39118
  }
38909
39119
  }, "appendKnowledgePreparation");
38910
39120
 
38911
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-notes-preparation.js
39121
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-notes-preparation.js
38912
39122
  var invalid6 = /* @__PURE__ */ __name(() => {
38913
39123
  throw new CliError("invalid_response", "Preparation notes returned an invalid selection");
38914
39124
  }, "invalid");
@@ -38982,7 +39192,7 @@ var appendNotesPreparation = /* @__PURE__ */ __name(async (store, result, input)
38982
39192
  }
38983
39193
  }, "appendNotesPreparation");
38984
39194
 
38985
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-project-preparation.js
39195
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-project-preparation.js
38986
39196
  var PAGE_LIMIT = 4;
38987
39197
  var size2 = /* @__PURE__ */ __name((value) => Buffer.byteLength(JSON.stringify(value), "utf8"), "size");
38988
39198
  var appendProjectPreparation = /* @__PURE__ */ __name(async (ports, result, input) => {
@@ -39032,7 +39242,7 @@ var appendProjectPreparation = /* @__PURE__ */ __name(async (ports, result, inpu
39032
39242
  }
39033
39243
  }, "appendProjectPreparation");
39034
39244
 
39035
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-related-preparation.js
39245
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-related-preparation.js
39036
39246
  var appendRelatedPreparation = /* @__PURE__ */ __name(async (store, result, input) => {
39037
39247
  if (!result.series || !result.items.length || result.coverage.outputLimited)
39038
39248
  return;
@@ -39104,7 +39314,7 @@ var appendRelatedPreparation = /* @__PURE__ */ __name(async (store, result, inpu
39104
39314
  }
39105
39315
  }, "appendRelatedPreparation");
39106
39316
 
39107
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/meeting-preparation.js
39317
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/meeting-preparation.js
39108
39318
  var size3 = /* @__PURE__ */ __name((value) => Buffer.byteLength(JSON.stringify(value), "utf8"), "size");
39109
39319
  var createMeetingPreparationService = /* @__PURE__ */ __name((scope, accountId, ports) => {
39110
39320
  const fixed = snapshotMeetingScope(scope);
@@ -39242,7 +39452,7 @@ var createMeetingPreparationService = /* @__PURE__ */ __name((scope, accountId,
39242
39452
  };
39243
39453
  }, "createMeetingPreparationService");
39244
39454
 
39245
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/package-upgrade.js
39455
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/package-upgrade.js
39246
39456
  var upgradePackage = /* @__PURE__ */ __name(async ({ current, command, packageName, check: check2 }, ports) => {
39247
39457
  const installer = ports.installer();
39248
39458
  const argv = updateCommand(installer, packageName);
@@ -39307,7 +39517,7 @@ var dayAfter = /* @__PURE__ */ __name((published) => {
39307
39517
  return Number.isNaN(time) ? null : new Date(time + 24 * 60 * 60 * 1e3).toISOString();
39308
39518
  }, "dayAfter");
39309
39519
 
39310
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/services/index.js
39520
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/services/index.js
39311
39521
  var servicesFor = /* @__PURE__ */ __name((deps) => {
39312
39522
  const pictures = picturesService(deps);
39313
39523
  const base = {
@@ -39344,7 +39554,7 @@ var servicesFor = /* @__PURE__ */ __name((deps) => {
39344
39554
  return deps.messenger.services ? { ...base, ...deps.messenger.services(base, deps) } : base;
39345
39555
  }, "servicesFor");
39346
39556
 
39347
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/background/relay.js
39557
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/background/relay.js
39348
39558
  import { createHash as createHash14 } from "node:crypto";
39349
39559
  import { chmodSync, lstatSync, mkdirSync as mkdirSync3, rmSync } from "node:fs";
39350
39560
  import { createConnection, createServer } from "node:net";
@@ -39492,7 +39702,7 @@ var serve = /* @__PURE__ */ __name(async (socket, request, stdin, signal, run) =
39492
39702
  }
39493
39703
  }, "serve");
39494
39704
 
39495
- // node_modules/.pnpm/@wirecat+cli-core@0.597.0_@wirecat+cli-base@0.78.0_commander@15.0.0_esbuild@0.28.2_type_e61f089635abd97613f35385460a4858/node_modules/@wirecat/cli-core/dist/cli/messenger/serve-relay.js
39705
+ // node_modules/.pnpm/@wirecat+cli-core@0.602.0_@wirecat+cli-base@0.80.8_commander@15.0.0_esbuild@0.28.2_type_87bcf484fc0706f541e30693101b5a29/node_modules/@wirecat/cli-core/dist/cli/messenger/serve-relay.js
39496
39706
  var lentConnection = /* @__PURE__ */ __name((connection, watchers) => throughWrapper(connection, {
39497
39707
  close: /* @__PURE__ */ __name(async () => {
39498
39708
  }, "close"),
@@ -39580,6 +39790,11 @@ var serveRelay = /* @__PURE__ */ __name((command, messenger) => {
39580
39790
  export {
39581
39791
  RULES_VERSION,
39582
39792
  syncsOneChat,
39793
+ explainDamage,
39794
+ invalidJson,
39795
+ QUICK_HEALTH_CHECKS,
39796
+ fts5Tables,
39797
+ storeHealth,
39583
39798
  throughWrapper,
39584
39799
  capability,
39585
39800
  withTimeLimit,