@wirecat/cli-memo 0.131.21 → 0.131.23

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 (150) hide show
  1. package/README.md +3 -3
  2. package/dist/bin/memo.js +2 -2
  3. package/dist/bundle/{all-profiles-EZLU6CY7.js → all-profiles-VIPS6NHI.js} +7 -7
  4. package/dist/bundle/{anthropic-XC34PJH5.js → anthropic-2QZHSXBA.js} +5 -5
  5. package/dist/bundle/{app-server-26YPLJ7M.js → app-server-NTSADYGW.js} +38 -38
  6. package/dist/bundle/auto-MJWSDIMF.js +86 -0
  7. package/dist/bundle/{bun-CKGKUKW5.js → bun-KF5QK2YN.js} +2 -2
  8. package/dist/bundle/{bun-sqlite-S6KUSMTC.js → bun-sqlite-XUCC2PWC.js} +4 -4
  9. package/dist/bundle/{chunk-YAUDFROV.js → chunk-24P36RXS.js} +466 -337
  10. package/dist/bundle/{chunk-NELE7AIX.js → chunk-2IKXEL4V.js} +1 -1
  11. package/dist/bundle/{program-3ZTQ5FEM.js → chunk-32FPXLNY.js} +877 -11207
  12. package/dist/bundle/{chunk-R26CXR5Z.js → chunk-37NN65PB.js} +5 -5
  13. package/dist/bundle/{chunk-7NEWBM2O.js → chunk-44NQLD5C.js} +6 -6
  14. package/dist/bundle/{chunk-UXCSNSUU.js → chunk-46WO42ZW.js} +316 -255
  15. package/dist/bundle/{chunk-TMNHNZVA.js → chunk-4DKMYDLT.js} +42 -22
  16. package/dist/bundle/{chunk-INURBEAO.js → chunk-4QY7XOVI.js} +13 -13
  17. package/dist/bundle/{chunk-RNXYDBQO.js → chunk-5M4KSMYN.js} +52 -52
  18. package/dist/bundle/{chunk-EAYYWS67.js → chunk-5WCEWK2F.js} +11 -11
  19. package/dist/bundle/{chunk-KUNA6MQZ.js → chunk-6EZ7XGRG.js} +1 -1
  20. package/dist/bundle/{chunk-NWB5NAGB.js → chunk-6I7XGWGH.js} +5 -5
  21. package/dist/bundle/{chunk-PF3ALSAV.js → chunk-6PXE6QSQ.js} +1 -1
  22. package/dist/bundle/{chunk-DZSWKA3K.js → chunk-7PQOYNMA.js} +1 -1
  23. package/dist/bundle/{chunk-SMDWUPXE.js → chunk-AETJWLHX.js} +3 -3
  24. package/dist/bundle/{chunk-ZCKU6WMX.js → chunk-AHFMQAJT.js} +10 -10
  25. package/dist/bundle/{chunk-CP5N3KH3.js → chunk-BIYSJBQR.js} +4 -4
  26. package/dist/bundle/{chunk-E5FQ7U7L.js → chunk-BSDOH7DN.js} +2 -2
  27. package/dist/bundle/{chunk-VECICKTE.js → chunk-BSR4QZW5.js} +2 -2
  28. package/dist/bundle/{chunk-2TBIVKBH.js → chunk-CKLCJ6O7.js} +5 -5
  29. package/dist/bundle/{chunk-LGNS4JVK.js → chunk-CTT5VK66.js} +5 -5
  30. package/dist/bundle/{chunk-VXHN3SWW.js → chunk-DIELPPLF.js} +2 -2
  31. package/dist/bundle/{chunk-2NJUPIAO.js → chunk-DIP3ENSY.js} +1 -1
  32. package/dist/bundle/{chunk-THGFFQCK.js → chunk-FXF34MI2.js} +2 -2
  33. package/dist/bundle/{chunk-JXH22ZGA.js → chunk-G4GEARGN.js} +9 -9
  34. package/dist/bundle/{chunk-QMMUPDRK.js → chunk-GDGY2KIX.js} +4 -4
  35. package/dist/bundle/{chunk-OUF6RCRZ.js → chunk-GQOFHKUX.js} +5 -5
  36. package/dist/bundle/{chunk-5RBLNI6C.js → chunk-H76MIWB2.js} +4 -4
  37. package/dist/bundle/{chunk-GV2FSWFS.js → chunk-HBXZ7WIV.js} +7 -7
  38. package/dist/bundle/{chunk-NOG5O2NS.js → chunk-IJI62T4U.js} +28 -28
  39. package/dist/bundle/{chunk-3V4WIGWC.js → chunk-JCCL7RGH.js} +2 -2
  40. package/dist/bundle/{chunk-RC7TIYUZ.js → chunk-JDNA36EX.js} +8 -8
  41. package/dist/bundle/{chunk-YUFUUQUO.js → chunk-JRJIFGU2.js} +4 -4
  42. package/dist/bundle/{chunk-EG2OMKWH.js → chunk-JY4LVWGZ.js} +12 -0
  43. package/dist/bundle/{chunk-IRDGD3QQ.js → chunk-KQ5P5NLL.js} +1 -1
  44. package/dist/bundle/{chunk-7F6FGMCC.js → chunk-L6FKTS3L.js} +7 -7
  45. package/dist/bundle/{chunk-VQM3H422.js → chunk-MJWFSOJN.js} +362 -179
  46. package/dist/bundle/{chunk-B3YV6Z7Y.js → chunk-N5L6YYYW.js} +2 -2
  47. package/dist/bundle/{chunk-CCOYC6HL.js → chunk-NY4IKP35.js} +2 -2
  48. package/dist/bundle/{chunk-FFWK5NEZ.js → chunk-O7OI5V7W.js} +7 -7
  49. package/dist/bundle/{chunk-RHJC4PHV.js → chunk-PDQFWOR5.js} +3 -3
  50. package/dist/bundle/{chunk-JJ3C5AYK.js → chunk-QFO6K6CW.js} +45 -45
  51. package/dist/bundle/{chunk-WUCQ56RP.js → chunk-QSN5NUVL.js} +2 -2
  52. package/dist/bundle/{chunk-7MLWSUEK.js → chunk-QWRBAQZ7.js} +1 -1
  53. package/dist/bundle/{chunk-DNGHE2Q4.js → chunk-QZXHMQCM.js} +1 -1
  54. package/dist/bundle/{chunk-WEOFWTWZ.js → chunk-R4V63U6A.js} +3 -3
  55. package/dist/bundle/{chunk-BB2MGFOZ.js → chunk-RE5SEGSR.js} +3 -3
  56. package/dist/bundle/{chunk-LR5EY5JY.js → chunk-STZMKXK5.js} +3 -3
  57. package/dist/bundle/{chunk-CDZZ2DZO.js → chunk-T4LW6UYQ.js} +1 -1
  58. package/dist/bundle/{chunk-AIIQ7YU4.js → chunk-UJEO3VWA.js} +1 -1
  59. package/dist/bundle/{chunk-SXGAIQ5X.js → chunk-UMWR5PKA.js} +12 -12
  60. package/dist/bundle/{chunk-J4GC33JU.js → chunk-UQA5UFJ2.js} +1 -1
  61. package/dist/bundle/{chunk-ZD3STMY7.js → chunk-V5ZID7KC.js} +1 -1
  62. package/dist/bundle/{chunk-XPRYBLTS.js → chunk-V7Y5FOYJ.js} +2 -2
  63. package/dist/bundle/{chunk-J55Z6EJ3.js → chunk-W53TRO7J.js} +1006 -280
  64. package/dist/bundle/{chunk-MCPDL5YU.js → chunk-XRJIQC6P.js} +1 -1
  65. package/dist/bundle/{chunk-MHDLZCEO.js → chunk-XTARXRP6.js} +8 -8
  66. package/dist/bundle/{chunk-XA6YO24S.js → chunk-YKZNFSQE.js} +1 -1
  67. package/dist/bundle/{chunk-PO5C7VNC.js → chunk-Z6YD3YK4.js} +21 -21
  68. package/dist/bundle/{chunk-RG6ITTLQ.js → chunk-Z7XHH2Q5.js} +14 -14
  69. package/dist/bundle/{chunk-OJRLTJRS.js → chunk-ZCPUKUST.js} +1 -1
  70. package/dist/bundle/{command-contract-TMVGYSQQ.js → command-contract-XBYNZVP5.js} +13 -13
  71. package/dist/bundle/{decode-6XSZIZAA.js → decode-LFASKQPE.js} +4 -4
  72. package/dist/bundle/{dispatch-VUMQPYMA.js → dispatch-MELZFYOS.js} +1 -1
  73. package/dist/bundle/{echarts-NGS4QG4E.js → echarts-5AB3LFVD.js} +2 -2
  74. package/dist/bundle/{embed-YNH5M6UL.js → embed-6KQN523T.js} +5 -5
  75. package/dist/bundle/{embedder-LLNK4JF4.js → embedder-7SGPMINO.js} +8 -8
  76. package/dist/bundle/{entry-DO6ZBFIS.js → entry-CNZGHHZB.js} +6 -6
  77. package/dist/bundle/failure-LJAYEPTS.js +66 -0
  78. package/dist/bundle/{failure-Z2FXWIBY.js → failure-RBNZBCZJ.js} +1 -1
  79. package/dist/bundle/{first-run-BXFQN6M5.js → first-run-UI6UT4OR.js} +8 -8
  80. package/dist/bundle/first-screen-3WDPZZXV.js +30 -0
  81. package/dist/bundle/{instructions-4EJ4BBWD.js → instructions-52W6ZQTU.js} +1 -1
  82. package/dist/bundle/mcp-JIOYIKWO.js +90 -0
  83. package/dist/bundle/memo.js +9 -9
  84. package/dist/bundle/{node-QQXKQWNC.js → node-TL2PBNKO.js} +2 -2
  85. package/dist/bundle/{node-sqlite-GJI2GMLW.js → node-sqlite-64QIEQ37.js} +5 -5
  86. package/dist/bundle/{oauth-Q5VGUPUR.js → oauth-GH7GLGEJ.js} +6 -6
  87. package/dist/bundle/{open-NSXIYF3N.js → open-PCKU5XOH.js} +4 -4
  88. package/dist/bundle/{openai-LHH7MSGQ.js → openai-P5QVLTF6.js} +9 -9
  89. package/dist/bundle/{process-PI6XUJWP.js → process-PWAGP6YY.js} +1 -1
  90. package/dist/bundle/program-D7OTNHGU.js +10947 -0
  91. package/dist/bundle/{prompt-VFXA7IKL.js → prompt-FNBKJZLM.js} +4 -4
  92. package/dist/bundle/{recognize-UWAARXOH.js → recognize-5TKRMMA2.js} +3 -3
  93. package/dist/bundle/{remote-KGEVCB2Q.js → remote-XZJ7ZAKJ.js} +6 -6
  94. package/dist/bundle/{rerank-SCBTCBPO.js → rerank-JUH3QHX7.js} +6 -6
  95. package/dist/bundle/{serve-WPVKVR24.js → serve-JP6U3PUO.js} +8 -8
  96. package/dist/bundle/server-5M4YI3V4.js +48 -0
  97. package/dist/bundle/{server-BMQBWBBN.js → server-VXI43PF5.js} +53 -53
  98. package/dist/bundle/server-XAHF22CQ.js +61 -0
  99. package/dist/bundle/{setup-FGSVWQ32.js → setup-YLI4S4TW.js} +42 -42
  100. package/dist/bundle/{state-KGHS4C6J.js → state-G4NEN2OZ.js} +5 -5
  101. package/dist/bundle/{store-VCVOIQES.js → store-NHFLFHD5.js} +11 -11
  102. package/dist/bundle/store-maintenance-command-6UEORZWI.js +48 -0
  103. package/dist/bundle/update-6SD2JZUC.js +69 -0
  104. package/dist/config-command.d.ts.map +1 -1
  105. package/dist/config-command.js +23 -2
  106. package/dist/config-command.js.map +1 -1
  107. package/dist/config.d.ts +11 -2
  108. package/dist/config.d.ts.map +1 -1
  109. package/dist/config.js +50 -3
  110. package/dist/config.js.map +1 -1
  111. package/dist/examples.d.ts.map +1 -1
  112. package/dist/examples.js +7 -1
  113. package/dist/examples.js.map +1 -1
  114. package/dist/knowledge/command.d.ts.map +1 -1
  115. package/dist/knowledge/command.js +8 -52
  116. package/dist/knowledge/command.js.map +1 -1
  117. package/dist/knowledge/project-gather-command.d.ts.map +1 -1
  118. package/dist/knowledge/project-gather-command.js +32 -19
  119. package/dist/knowledge/project-gather-command.js.map +1 -1
  120. package/dist/knowledge/relationships-scan.d.ts +8 -0
  121. package/dist/knowledge/relationships-scan.d.ts.map +1 -0
  122. package/dist/knowledge/relationships-scan.js +95 -0
  123. package/dist/knowledge/relationships-scan.js.map +1 -0
  124. package/dist/mail/review-command.d.ts.map +1 -1
  125. package/dist/mail/review-command.js +6 -0
  126. package/dist/mail/review-command.js.map +1 -1
  127. package/dist/review/kinds.js +2 -2
  128. package/dist/review/kinds.js.map +1 -1
  129. package/dist/store/source-list.d.ts +2 -0
  130. package/dist/store/source-list.d.ts.map +1 -1
  131. package/dist/store/source-list.js +6 -0
  132. package/dist/store/source-list.js.map +1 -1
  133. package/dist/tasks/command.js +2 -2
  134. package/dist/tasks/command.js.map +1 -1
  135. package/dist/tasks/tasks.d.ts +1 -1
  136. package/dist/tasks/tasks.d.ts.map +1 -1
  137. package/dist/version.d.ts +1 -1
  138. package/dist/version.js +1 -1
  139. package/package.json +2 -2
  140. package/skills/cli-memo/SKILL.md +1 -1
  141. package/dist/bundle/auto-QHTPHGNA.js +0 -86
  142. package/dist/bundle/chunk-CRZSJHAK.js +0 -412
  143. package/dist/bundle/failure-LHMJNFY6.js +0 -66
  144. package/dist/bundle/first-screen-56KZKY77.js +0 -30
  145. package/dist/bundle/mcp-A4HPKQK5.js +0 -90
  146. package/dist/bundle/server-NQK5EX7P.js +0 -48
  147. package/dist/bundle/server-UN43Y6BY.js +0 -61
  148. package/dist/bundle/store-maintenance-command-QTEWWDST.js +0 -48
  149. package/dist/bundle/update-XC6KAVCK.js +0 -69
  150. /package/dist/bundle/{chunk-YYQN5ES2.js → chunk-WX2WLEEF.js} +0 -0
@@ -8,7 +8,7 @@ import {
8
8
  sameOrdinaryFile,
9
9
  syncDirectory,
10
10
  writeFileAtomic
11
- } from "./chunk-SXGAIQ5X.js";
11
+ } from "./chunk-UMWR5PKA.js";
12
12
  import {
13
13
  Command,
14
14
  DEFAULT_IMAGE_MODEL,
@@ -51,17 +51,17 @@ import {
51
51
  typedCommand,
52
52
  vectorModelKey,
53
53
  withAttempt
54
- } from "./chunk-VQM3H422.js";
54
+ } from "./chunk-MJWFSOJN.js";
55
55
  import {
56
56
  isCliFailure
57
- } from "./chunk-RC7TIYUZ.js";
57
+ } from "./chunk-JDNA36EX.js";
58
58
  import {
59
59
  isNewer,
60
60
  updateCommand
61
- } from "./chunk-3V4WIGWC.js";
61
+ } from "./chunk-JCCL7RGH.js";
62
62
  import {
63
63
  readOnlyLockOf
64
- } from "./chunk-NELE7AIX.js";
64
+ } from "./chunk-2IKXEL4V.js";
65
65
  import {
66
66
  AGENDA_COLUMNS,
67
67
  CHAT_COLUMNS,
@@ -90,6 +90,7 @@ import {
90
90
  TRACKED_CHAT_COLUMNS,
91
91
  UNKNOWN_PROVIDER,
92
92
  amountsOf,
93
+ assertGenericAction,
93
94
  assertMayDecide,
94
95
  attachmentColumns,
95
96
  attachmentMaxBytes,
@@ -106,6 +107,7 @@ import {
106
107
  counterObservationTime,
107
108
  cutChunks,
108
109
  decodeProjectAnnotationSnapshot,
110
+ delayStats,
109
111
  dueDayOf,
110
112
  entriesOfList,
111
113
  envelopeErrors,
@@ -125,6 +127,7 @@ import {
125
127
  isFolderProvider,
126
128
  isKind,
127
129
  isLocator,
130
+ isOwnerOnlyKind,
128
131
  isQueryLimit,
129
132
  isStemmed,
130
133
  kindIn,
@@ -150,13 +153,14 @@ import {
150
153
  queryFilter,
151
154
  rankingContextRange,
152
155
  rankingOptions,
156
+ rankingQuestion,
153
157
  recordErrors,
154
158
  searchError,
155
159
  sourceOf,
156
160
  threadConversation,
157
161
  validateAst,
158
162
  validateFields
159
- } from "./chunk-YAUDFROV.js";
163
+ } from "./chunk-24P36RXS.js";
160
164
  import {
161
165
  EVENT_QUERY,
162
166
  MEETING_FINDINGS_KIND,
@@ -210,23 +214,23 @@ import {
210
214
  validateQuery,
211
215
  walkQuery,
212
216
  zonedMoment
213
- } from "./chunk-RNXYDBQO.js";
217
+ } from "./chunk-5M4KSMYN.js";
214
218
  import {
215
219
  DEFAULT_STEMMERS,
216
220
  createStemmer,
217
221
  fold,
218
222
  normalize
219
- } from "./chunk-7F6FGMCC.js";
223
+ } from "./chunk-L6FKTS3L.js";
220
224
  import {
221
225
  DEFAULT_TASK_CATEGORIES,
222
226
  FALLBACK_CATEGORY
223
- } from "./chunk-2TBIVKBH.js";
227
+ } from "./chunk-CKLCJ6O7.js";
224
228
  import {
225
229
  MAX_MODEL_IMAGE_BYTES
226
- } from "./chunk-KUNA6MQZ.js";
230
+ } from "./chunk-6EZ7XGRG.js";
227
231
  import {
228
232
  remoteKey
229
- } from "./chunk-WUCQ56RP.js";
233
+ } from "./chunk-QSN5NUVL.js";
230
234
  import {
231
235
  Unzip,
232
236
  UnzipInflate,
@@ -237,19 +241,19 @@ import {
237
241
  placedText,
238
242
  runEmbedders,
239
243
  textModelsDirectory
240
- } from "./chunk-LGNS4JVK.js";
244
+ } from "./chunk-CTT5VK66.js";
241
245
  import {
242
246
  installFiles,
243
247
  megabytes
244
- } from "./chunk-LR5EY5JY.js";
248
+ } from "./chunk-STZMKXK5.js";
245
249
  import {
246
250
  storePath,
247
251
  wirecatDirectory
248
- } from "./chunk-VXHN3SWW.js";
252
+ } from "./chunk-DIELPPLF.js";
249
253
  import {
250
254
  resolvePaths,
251
255
  writeSecurely
252
- } from "./chunk-CDZZ2DZO.js";
256
+ } from "./chunk-T4LW6UYQ.js";
253
257
  import {
254
258
  array,
255
259
  boolean,
@@ -272,7 +276,7 @@ import {
272
276
  string,
273
277
  transform,
274
278
  unknown
275
- } from "./chunk-EG2OMKWH.js";
279
+ } from "./chunk-JY4LVWGZ.js";
276
280
  import {
277
281
  importFrom,
278
282
  resolveFrom
@@ -16898,7 +16902,7 @@ var require_lib3 = __commonJS({
16898
16902
  }
16899
16903
  });
16900
16904
 
16901
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/conversations/link.js
16905
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/conversations/link.js
16902
16906
  var RULES_VERSION = 5;
16903
16907
  var LOOK_BACK = 50;
16904
16908
  var SAME_SENDER_WITHIN = 10;
@@ -16988,13 +16992,13 @@ var latest = /* @__PURE__ */ __name((window3, matches) => {
16988
16992
  var sameThread = /* @__PURE__ */ __name((a, b) => a.threadId === b.threadId, "sameThread");
16989
16993
  var link = /* @__PURE__ */ __name((message, parentId, source, kind, confidence, method) => ({ messageId: message.id, parentId, source, kind, confidence, method }), "link");
16990
16994
 
16991
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/ports/traits.js
16995
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/ports/traits.js
16992
16996
  var syncsOneChat = /* @__PURE__ */ __name((messenger) => messenger.history !== "store" || messenger.historyOnDemand === true, "syncsOneChat");
16993
16997
 
16994
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/store/sqlite/document-transfer/snapshot.js
16998
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/store/sqlite/document-transfer/snapshot.js
16995
16999
  var MAX_BYTES = 16 * 1024 * 1024;
16996
17000
 
16997
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/store/knowledge-query.js
17001
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/store/knowledge-query.js
16998
17002
  var ORGANIZATIONS_QUERY = {
16999
17003
  entity: "organization",
17000
17004
  backend: "sql",
@@ -17029,7 +17033,7 @@ var REMINDERS_QUERY = {
17029
17033
  })
17030
17034
  };
17031
17035
 
17032
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/store/project-transfer/preview.js
17036
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/store/project-transfer/preview.js
17033
17037
  var previewProjectAnnotationSnapshot = /* @__PURE__ */ __name(async (options) => {
17034
17038
  if (!options || typeof options !== "object" || Array.isArray(options))
17035
17039
  throw new CliError("validation_error", "project preview options are required");
@@ -17051,7 +17055,7 @@ var previewProjectAnnotationSnapshot = /* @__PURE__ */ __name(async (options) =>
17051
17055
  }
17052
17056
  }, "previewProjectAnnotationSnapshot");
17053
17057
 
17054
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/store/project-transfer/snapshot.js
17058
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/store/project-transfer/snapshot.js
17055
17059
  var snapshotProjectAnnotations = /* @__PURE__ */ __name(async (options) => {
17056
17060
  if (!options || typeof options !== "object" || Array.isArray(options))
17057
17061
  throw new CliError("validation_error", "snapshot options are required");
@@ -17072,7 +17076,7 @@ var snapshotProjectAnnotations = /* @__PURE__ */ __name(async (options) => {
17072
17076
  }
17073
17077
  }, "snapshotProjectAnnotations");
17074
17078
 
17075
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/cli/messenger/lacks.js
17079
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/cli/messenger/lacks.js
17076
17080
  var COMMAND_NEEDS = {
17077
17081
  "account update": ["updateProfile", "change the profile"],
17078
17082
  "account sessions list": ["sessions", "list the account's sessions"],
@@ -17122,7 +17126,7 @@ var hideNever = /* @__PURE__ */ __name((messenger, group) => {
17122
17126
  return group;
17123
17127
  }, "hideNever");
17124
17128
 
17125
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/members-audit.js
17129
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/members-audit.js
17126
17130
  var AUDIT_PAGE = 200;
17127
17131
  var AUDIT_BUDGET = 10;
17128
17132
  var AUDIT_PAUSE_MS = 1e3;
@@ -17202,7 +17206,7 @@ var burstJoins = /* @__PURE__ */ __name((members) => {
17202
17206
  return found;
17203
17207
  }, "burstJoins");
17204
17208
 
17205
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/meetings/cli/query-options.js
17209
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/meetings/cli/query-options.js
17206
17210
  var queryWordsAfterOptions = /* @__PURE__ */ __name((command) => {
17207
17211
  command.allowUnknownOption();
17208
17212
  const parse = command.parseOptions.bind(command);
@@ -17222,7 +17226,7 @@ var queryWordsAfterOptions = /* @__PURE__ */ __name((command) => {
17222
17226
  return command;
17223
17227
  }, "queryWordsAfterOptions");
17224
17228
 
17225
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/meetings/cli/passage.js
17229
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/meetings/cli/passage.js
17226
17230
  var count = /* @__PURE__ */ __name((value) => {
17227
17231
  if (!/^(0|[1-9]\d*)$/.test(value) || !Number.isSafeInteger(Number(value)))
17228
17232
  throw new CliError("validation_error", "expected a nonnegative safe integer");
@@ -17264,7 +17268,7 @@ var addMeetingPassageCommandDefinition = /* @__PURE__ */ __name((program, deps)
17264
17268
  var createMeetingPassageCommand = sharedCommand(createMeetingPassageCommandDefinition);
17265
17269
  var addMeetingPassageCommand = sharedCommand(addMeetingPassageCommandDefinition);
17266
17270
 
17267
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/meetings/cli/project-evidence.js
17271
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/meetings/cli/project-evidence.js
17268
17272
  var integer2 = /* @__PURE__ */ __name((value) => {
17269
17273
  if (!/^[1-9]\d*$/.test(value) || !Number.isSafeInteger(Number(value)))
17270
17274
  throw new CliError("validation_error", "expected a positive safe integer");
@@ -17287,7 +17291,7 @@ ${fieldsHelp(MEETING_PROJECT_EVIDENCE_QUERY)}`).option("--limit <n>", "hits in o
17287
17291
  }, "addMeetingProjectEvidenceCommandDefinition");
17288
17292
  var addMeetingProjectEvidenceCommand = sharedCommand(addMeetingProjectEvidenceCommandDefinition);
17289
17293
 
17290
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/meetings/cli/search.js
17294
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/meetings/cli/search.js
17291
17295
  var ZONED = /(?:Z|[+-]\d{2}:?\d{2})$/i;
17292
17296
  var moment = /* @__PURE__ */ __name((flag, end, readIn) => (value) => {
17293
17297
  const zone = timezoneOf();
@@ -17373,7 +17377,7 @@ var addMeetingSearchCommandDefinition = /* @__PURE__ */ __name((program, deps) =
17373
17377
  var createMeetingSearchCommand = sharedCommand(createMeetingSearchCommandDefinition);
17374
17378
  var addMeetingSearchCommand = sharedCommand(addMeetingSearchCommandDefinition);
17375
17379
 
17376
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/meetings/cli/index.js
17380
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/meetings/cli/index.js
17377
17381
  var integer4 = /* @__PURE__ */ __name((text2) => {
17378
17382
  if (!/^[1-9]\d*$/.test(text2) || !Number.isSafeInteger(Number(text2)))
17379
17383
  throw new InvalidArgumentError("expected a positive integer");
@@ -17505,7 +17509,7 @@ ${fieldsHelp(EVENT_QUERY, MEETING_QUERY_GUIDE)}`);
17505
17509
  }, "addMeetingCommandsDefinition");
17506
17510
  var addMeetingCommands = sharedCommand(addMeetingCommandsDefinition);
17507
17511
 
17508
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/cli/list-query.js
17512
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/cli/list-query.js
17509
17513
  var LIST_QUERY_GUIDE = "https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md";
17510
17514
  var QUERY_ARGUMENT = "field:value terms that narrow the list \u2014 the fields are below";
17511
17515
  var withQuery = /* @__PURE__ */ __name((command, registry) => {
@@ -17638,7 +17642,7 @@ var termField = /* @__PURE__ */ __name((name, type, example, more = {}) => nativ
17638
17642
  var queryHelp = /* @__PURE__ */ __name((registry) => `
17639
17643
  ${fieldsHelp(registry, LIST_QUERY_GUIDE)}`, "queryHelp");
17640
17644
 
17641
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/cli/paging.js
17645
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/cli/paging.js
17642
17646
  var positiveCount = /* @__PURE__ */ __name((flag) => (value) => {
17643
17647
  if (!/^\d+$/.test(value.trim()) || Number(value) < 1)
17644
17648
  throw new CliError("validation_error", `${flag} takes a whole number from 1 upwards, not "${value}"`);
@@ -17647,7 +17651,7 @@ var positiveCount = /* @__PURE__ */ __name((flag) => (value) => {
17647
17651
  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");
17648
17652
  var window = /* @__PURE__ */ __name(({ limit, page, all }) => all ? { offset: 0 } : { limit, offset: (page - 1) * limit }, "window");
17649
17653
 
17650
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/cli/messenger/chat-answers.js
17654
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/cli/messenger/chat-answers.js
17651
17655
  var defined = /* @__PURE__ */ __name((record2) => Object.fromEntries(Object.entries(record2).filter(([, value]) => value !== void 0)), "defined");
17652
17656
  var chatRef = /* @__PURE__ */ __name((account, chat) => formatReference({ type: "chat", provider: account.provider, account: account.account, chat }), "chatRef");
17653
17657
  var settingsOf = /* @__PURE__ */ __name((settings) => defined({
@@ -17909,7 +17913,7 @@ var sessionAnswer = /* @__PURE__ */ __name(({ current, client, device, location,
17909
17913
  ...createdAt === void 0 ? {} : { created_at: createdAt }
17910
17914
  }), "sessionAnswer");
17911
17915
 
17912
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/ports/messenger.js
17916
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/ports/messenger.js
17913
17917
  var throughWrapper = /* @__PURE__ */ __name((inner, handled, wrap = (_, call) => call) => new Proxy(handled, {
17914
17918
  get: /* @__PURE__ */ __name((own, key) => {
17915
17919
  if (key in own)
@@ -17926,12 +17930,12 @@ var capability = /* @__PURE__ */ __name((adapter, method, what) => {
17926
17930
  return found.bind(adapter);
17927
17931
  }, "capability");
17928
17932
 
17929
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/sends/send-id.js
17933
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/sends/send-id.js
17930
17934
  import { randomBytes } from "node:crypto";
17931
17935
  var newSendId = /* @__PURE__ */ __name(() => randomBytes(8).readBigInt64BE().toString(), "newSendId");
17932
17936
  var newOperationId = newSendId;
17933
17937
 
17934
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/deps.js
17938
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/deps.js
17935
17939
  var accountStore = /* @__PURE__ */ __name(async (deps) => (await deps.store()).forAccount(await deps.account()), "accountStore");
17936
17940
  var crossAccount = /* @__PURE__ */ __name((deps, _reason) => deps.store(), "crossAccount");
17937
17941
  var NO_LOCAL_STORE = "this answer comes from the messenger, not from the local store";
@@ -18008,7 +18012,7 @@ var storeOnlyDeps = /* @__PURE__ */ __name((store, account, { app, env }) => {
18008
18012
  return { ...storedDeps(messenger, store, account, guard), ...env === void 0 ? {} : { env } };
18009
18013
  }, "storeOnlyDeps");
18010
18014
 
18011
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/patience.js
18015
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/patience.js
18012
18016
  import { setTimeout as sleep } from "node:timers/promises";
18013
18017
  var LONGEST_WAIT_MS = 5 * 60 * 1e3;
18014
18018
  var patiently = /* @__PURE__ */ __name(async (request, note2, stop) => {
@@ -18031,10 +18035,10 @@ var patiently = /* @__PURE__ */ __name(async (request, note2, stop) => {
18031
18035
  }
18032
18036
  }, "patiently");
18033
18037
 
18034
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/archive.js
18038
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/archive.js
18035
18039
  import { setTimeout as sleep2 } from "node:timers/promises";
18036
18040
 
18037
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/backfill-estimate.js
18041
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/backfill-estimate.js
18038
18042
  var REQUEST_MS = 400;
18039
18043
  var estimateBackfill = /* @__PURE__ */ __name(({ ranges, held, newest, page, maxPages, pauseMs }) => {
18040
18044
  const lowest = ranges[0];
@@ -18057,13 +18061,13 @@ var estimateBackfill = /* @__PURE__ */ __name(({ ranges, held, newest, page, max
18057
18061
  };
18058
18062
  }, "estimateBackfill");
18059
18063
 
18060
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/recovery.js
18064
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/recovery.js
18061
18065
  var withRecovery = /* @__PURE__ */ __name((error) => ({
18062
18066
  ...error,
18063
18067
  retryable: typeof error.retryable === "boolean" ? error.retryable : error.code === "rate_limited" || error.status === 429
18064
18068
  }), "withRecovery");
18065
18069
 
18066
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/batch.js
18070
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/batch.js
18067
18071
  var actionable = /* @__PURE__ */ __name((error) => {
18068
18072
  if (isCliFailure(error))
18069
18073
  return withRecovery({ code: error.code, message: error.message, ...error.details });
@@ -18146,7 +18150,7 @@ var mergeBatches = /* @__PURE__ */ __name((a, b) => {
18146
18150
  };
18147
18151
  }, "mergeBatches");
18148
18152
 
18149
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/ref-arguments.js
18153
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/ref-arguments.js
18150
18154
  var TAKES = {
18151
18155
  chat: "a chat: chat:<provider>/<account>/<chat>, its id or its title",
18152
18156
  message: "a message: msg:<provider>/<account>/<chat>/<message>, or a chat and the message's id"
@@ -18206,7 +18210,7 @@ var ensureAccount = /* @__PURE__ */ __name(async (reference, scope, profilesOn)
18206
18210
  throw wrongAccount(reference, scope, profiles);
18207
18211
  }, "ensureAccount");
18208
18212
 
18209
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/resolve.js
18213
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/resolve.js
18210
18214
  var isId = /* @__PURE__ */ __name((reference) => /^-?\d+$/.test(reference.trim()), "isId");
18211
18215
  var foldName = /* @__PURE__ */ __name((name) => name.normalize("NFC").replace(/[\uFE0E\uFE0F\u200D]/g, "").toLowerCase(), "foldName");
18212
18216
  var pickChat = /* @__PURE__ */ __name((reference, chats) => {
@@ -18251,7 +18255,7 @@ ${lines3}`, { candidates });
18251
18255
  }, "ambiguous");
18252
18256
  var isPresent = /* @__PURE__ */ __name((value) => value !== null && value !== void 0, "isPresent");
18253
18257
 
18254
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/message-resolution.js
18258
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/message-resolution.js
18255
18259
  var readChatId = /* @__PURE__ */ __name(async (deps, reference, store, account) => {
18256
18260
  if (deps.reads !== "store")
18257
18261
  return keptChatId(deps.messenger, reference, store, account);
@@ -18410,7 +18414,7 @@ var senderAmong = /* @__PURE__ */ __name(async (store, accounts, reference) => {
18410
18414
  }
18411
18415
  }, "senderAmong");
18412
18416
 
18413
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/images/context/index.js
18417
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/images/context/index.js
18414
18418
  var CONTEXT_MESSAGES = 3;
18415
18419
  var CONTEXT_MINUTES = 10;
18416
18420
  var MAX_CHARS = 1200;
@@ -18434,12 +18438,12 @@ var context = {
18434
18438
  }, "describe")
18435
18439
  };
18436
18440
 
18437
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/images/registry.js
18441
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/images/registry.js
18438
18442
  var BUILT_INS = [context];
18439
18443
  var providers = [...BUILT_INS];
18440
18444
  var registeredImageProviders = /* @__PURE__ */ __name(() => providers, "registeredImageProviders");
18441
18445
 
18442
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/conversations.js
18446
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/conversations.js
18443
18447
  var READ_PAGE = 5e3;
18444
18448
  var CHAIN = 50;
18445
18449
  var CONVERSATION_QUERY = {
@@ -18591,7 +18595,7 @@ var sized = /* @__PURE__ */ __name((size4) => {
18591
18595
  return size4;
18592
18596
  }, "sized");
18593
18597
 
18594
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/embeddings-maintenance.js
18598
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/embeddings-maintenance.js
18595
18599
  var REFRESH_BOUNDS = { maxChats: 20, maxChunks: 2e3 };
18596
18600
  var MESSAGE_PAGE = 5e3;
18597
18601
  var PER_SESSION = 8;
@@ -18610,7 +18614,7 @@ var embeddingTarget = /* @__PURE__ */ __name((deps, choice = DEFAULT_TEXT_MODEL)
18610
18614
  price: remote.price,
18611
18615
  installed: true,
18612
18616
  perBatch: PER_REQUEST * concurrency,
18613
- open: /* @__PURE__ */ __name(async () => (await import("./remote-KGEVCB2Q.js")).openRemote(remote, apiKey, { concurrency }), "open")
18617
+ open: /* @__PURE__ */ __name(async () => (await import("./remote-XZJ7ZAKJ.js")).openRemote(remote, apiKey, { concurrency }), "open")
18614
18618
  };
18615
18619
  }
18616
18620
  const model = textModel(choice);
@@ -18627,7 +18631,7 @@ var embeddingTarget = /* @__PURE__ */ __name((deps, choice = DEFAULT_TEXT_MODEL)
18627
18631
  if (!isTextModelInstalled(model, directory2))
18628
18632
  throw notDownloaded(model.id);
18629
18633
  if (apart) {
18630
- const { openProcess } = await import("./process-PI6XUJWP.js");
18634
+ const { openProcess } = await import("./process-PWAGP6YY.js");
18631
18635
  return openProcess(model, directory2, { threads: threads ?? defaultThreads() });
18632
18636
  }
18633
18637
  return openEmbedder(model, directory2, { threads: threads ?? defaultThreads() });
@@ -18916,7 +18920,7 @@ var shaped = /* @__PURE__ */ __name(({ chatId, builtAt, algorithmVersion, pendin
18916
18920
  return { ...one2, state };
18917
18921
  }, "shaped");
18918
18922
 
18919
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-catchup.js
18923
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-catchup.js
18920
18924
  var CATCH_UP_BOUNDS = { maxChunks: 500, maxMessages: 1e4, timeMs: 3e4 };
18921
18925
  var validateCatchUpBounds = /* @__PURE__ */ __name((options) => {
18922
18926
  for (const [key, value, maximum] of [
@@ -18969,7 +18973,7 @@ var catchUpSearch = /* @__PURE__ */ __name(async (deps, chat, options, signal, c
18969
18973
  }
18970
18974
  }, "catchUpSearch");
18971
18975
 
18972
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/archive.js
18976
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/archive.js
18973
18977
  var pushed = /* @__PURE__ */ __name((deps, what) => {
18974
18978
  if (deps.reads === "store") {
18975
18979
  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`);
@@ -19335,7 +19339,7 @@ var timeOfKey = /* @__PURE__ */ __name(async (store, account, chatId, key, byTim
19335
19339
  return message?.timestamp ?? fallback;
19336
19340
  }, "timeOfKey");
19337
19341
 
19338
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/questions.js
19342
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/questions.js
19339
19343
  var LINKS = /https?:\/\/\S+/g;
19340
19344
  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");
19341
19345
  var questions = /* @__PURE__ */ __name((messages, { answerers: answerers2, asker = "others" }) => {
@@ -19365,7 +19369,7 @@ var questions = /* @__PURE__ */ __name((messages, { answerers: answerers2, asker
19365
19369
  });
19366
19370
  }, "questions");
19367
19371
 
19368
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/task-categories.js
19372
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/task-categories.js
19369
19373
  var names = /* @__PURE__ */ __name((categories) => categories.map(({ name }) => name).join(", "), "names");
19370
19374
  var taskCategoryOf = /* @__PURE__ */ __name((categories = DEFAULT_TASK_CATEGORIES, flag = "--category") => (typed) => {
19371
19375
  const name = typed.trim().toLowerCase();
@@ -19422,7 +19426,7 @@ var categorize = /* @__PURE__ */ __name((text2, categories = DEFAULT_TASK_CATEGO
19422
19426
  return best.name;
19423
19427
  }, "categorize");
19424
19428
 
19425
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/task-rules.js
19429
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/task-rules.js
19426
19430
  var taskAccount = /* @__PURE__ */ __name(({ provider, account }) => `${provider}:${account}`, "taskAccount");
19427
19431
  var RULES_IN = {
19428
19432
  dialog: "all",
@@ -19628,7 +19632,7 @@ var applyTaskRulesToChats = /* @__PURE__ */ __name(async (store, account, chatId
19628
19632
  return passes;
19629
19633
  }, "applyTaskRulesToChats");
19630
19634
 
19631
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/context/evidence-response.js
19635
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/context/evidence-response.js
19632
19636
  var contextSourceKey = /* @__PURE__ */ __name((source) => JSON.stringify([source.kind, source.accountId, source.provider, source.account]), "contextSourceKey");
19633
19637
  var validateContextEvidencePage = /* @__PURE__ */ __name((page, request) => {
19634
19638
  const fail3 = /* @__PURE__ */ __name(() => {
@@ -19692,7 +19696,7 @@ var validateContextEvidencePage = /* @__PURE__ */ __name((page, request) => {
19692
19696
  }
19693
19697
  }, "validateContextEvidencePage");
19694
19698
 
19695
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/context/read-budget.js
19699
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/context/read-budget.js
19696
19700
  var contextReadBudget = /* @__PURE__ */ __name((limits = {}) => {
19697
19701
  if (!limits || typeof limits !== "object" || Array.isArray(limits))
19698
19702
  throw new CliError("validation_error", "limits needs a context read allowance");
@@ -19745,7 +19749,7 @@ var contextReadBudget = /* @__PURE__ */ __name((limits = {}) => {
19745
19749
  };
19746
19750
  }, "contextReadBudget");
19747
19751
 
19748
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/context-evidence.js
19752
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/context-evidence.js
19749
19753
  var createContextEvidenceReader = /* @__PURE__ */ __name((port, allowed, limits) => {
19750
19754
  if (!port || typeof port.read !== "function")
19751
19755
  throw new CliError("configuration_error", "context evidence reader is unavailable");
@@ -19789,7 +19793,7 @@ var createContextEvidenceReader = /* @__PURE__ */ __name((port, allowed, limits)
19789
19793
  };
19790
19794
  }, "createContextEvidenceReader");
19791
19795
 
19792
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/ingest.js
19796
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/ingest.js
19793
19797
  var emptyReceipt = /* @__PURE__ */ __name((dryRun) => ({
19794
19798
  dryRun,
19795
19799
  source: null,
@@ -19864,7 +19868,7 @@ var ingest = /* @__PURE__ */ __name(async (store, envelope, { account, dryRun =
19864
19868
  return receipt;
19865
19869
  }, "ingest");
19866
19870
 
19867
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-purposes.js
19871
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-purposes.js
19868
19872
  var BUILT_IN_PURPOSES = ["work", "sales", "support", "other"];
19869
19873
  var DEFAULT_PURPOSES = ["work"];
19870
19874
  var LINK_PURPOSE = "work";
@@ -19894,7 +19898,7 @@ var purposeList = /* @__PURE__ */ __name((value, previous = []) => [
19894
19898
  ...value.split(",").map((one2) => one2.trim()).filter(Boolean)
19895
19899
  ], "purposeList");
19896
19900
 
19897
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/moment.js
19901
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/moment.js
19898
19902
  var AGO = /^(\d+)(m|h|d)$/;
19899
19903
  var AGO_MS = { m: 6e4, h: 36e5, d: 864e5 };
19900
19904
  var DATE = /^\d{4}-\d{2}-\d{2}/;
@@ -19934,7 +19938,7 @@ var dateWindow = /* @__PURE__ */ __name(({ sinceTime, untilTime, zone, now = Dat
19934
19938
  };
19935
19939
  }, "dateWindow");
19936
19940
 
19937
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/botcheck/check.js
19941
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/botcheck/check.js
19938
19942
  var DAY_MS = 864e5;
19939
19943
  var NEW_DAYS = 30;
19940
19944
  var SAME_TEXT_MIN = 20;
@@ -20011,7 +20015,7 @@ var scorePerson = /* @__PURE__ */ __name(({ subject, provider, activity, photos,
20011
20015
  };
20012
20016
  }, "scorePerson");
20013
20017
 
20014
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/botcheck/registries.js
20018
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/botcheck/registries.js
20015
20019
  var REGISTRIES = {
20016
20020
  cas: { title: "Combot Anti-Spam (CAS)", docs: "https://cas.chat/api" },
20017
20021
  lols: { title: "lols.bot", docs: "https://api.lols.bot/lols-bot.json" }
@@ -20096,7 +20100,7 @@ var notCovered = /* @__PURE__ */ __name((messenger, now = /* @__PURE__ */ new Da
20096
20100
  detail: `lists Telegram accounts only, not ${messenger} ones`
20097
20101
  })), "notCovered");
20098
20102
 
20099
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/botcheck/service.js
20103
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/botcheck/service.js
20100
20104
  var ACTIVITY_MESSAGES = 1e3;
20101
20105
  var botCheckService = /* @__PURE__ */ __name((deps) => {
20102
20106
  const subjectOf = /* @__PURE__ */ __name(async (reference) => {
@@ -20184,7 +20188,7 @@ var botCheckService = /* @__PURE__ */ __name((deps) => {
20184
20188
  };
20185
20189
  }, "botCheckService");
20186
20190
 
20187
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/thread.js
20191
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/thread.js
20188
20192
  var threadIdOf = /* @__PURE__ */ __name((value) => {
20189
20193
  if (value === void 0)
20190
20194
  return void 0;
@@ -20194,7 +20198,7 @@ var threadIdOf = /* @__PURE__ */ __name((value) => {
20194
20198
  return id2;
20195
20199
  }, "threadIdOf");
20196
20200
 
20197
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/chat-stats.js
20201
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/chat-stats.js
20198
20202
  var TOP_POSTS = 5;
20199
20203
  var JOINS = /* @__PURE__ */ new Set(["join", "add"]);
20200
20204
  var LEAVES = /* @__PURE__ */ new Set(["leave", "remove"]);
@@ -20311,7 +20315,7 @@ var median = /* @__PURE__ */ __name((values) => {
20311
20315
  return Math.round(sorted.length % 2 === 0 ? ((sorted[middle - 1] ?? upper) + upper) / 2 : upper);
20312
20316
  }, "median");
20313
20317
 
20314
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/member-history.js
20318
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/member-history.js
20315
20319
  var memberEvents = /* @__PURE__ */ __name((stays, revisions, since = 0) => {
20316
20320
  const events = [];
20317
20321
  for (const stay of stays) {
@@ -20343,7 +20347,7 @@ var memberEvents = /* @__PURE__ */ __name((stays, revisions, since = 0) => {
20343
20347
  return events.filter(({ at }) => Date.parse(at) >= since).sort((a, b) => Date.parse(a.at) - Date.parse(b.at) || a.id.localeCompare(b.id));
20344
20348
  }, "memberEvents");
20345
20349
 
20346
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/chats.js
20350
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/chats.js
20347
20351
  var EVENTS_DAYS = 7;
20348
20352
  var TRACKED_DAYS = 30;
20349
20353
  var STATS_PAGE = 1e3;
@@ -20638,7 +20642,7 @@ var storedMembers = /* @__PURE__ */ __name(async (store, chatId) => {
20638
20642
  return members.length === 0 ? null : members;
20639
20643
  }, "storedMembers");
20640
20644
 
20641
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/inbox.js
20645
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/inbox.js
20642
20646
  var INBOX_CHATS = 20;
20643
20647
  var REVIEW_DAYS = 3;
20644
20648
  var UNANSWERED_HOURS = 24;
@@ -20846,7 +20850,7 @@ var inboxService = /* @__PURE__ */ __name((deps) => {
20846
20850
  };
20847
20851
  }, "inboxService");
20848
20852
 
20849
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/person-context.js
20853
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/person-context.js
20850
20854
  var CONTEXT_MESSAGES2 = 10;
20851
20855
  var CONTEXT_BYTES = 64 * 1024;
20852
20856
  var toContext = /* @__PURE__ */ __name((key, message, chatTitle2) => ({
@@ -21107,10 +21111,10 @@ var personMessages = /* @__PURE__ */ __name(async (store, asked, reference, { ch
21107
21111
  };
21108
21112
  }, "personMessages");
21109
21113
 
21110
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21114
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21111
21115
  import { createHash } from "node:crypto";
21112
21116
 
21113
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-reference.js
21117
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-reference.js
21114
21118
  var missing2 = /* @__PURE__ */ __name(() => new CliError("not_found", "the meeting evidence is unavailable for this account"), "missing");
21115
21119
  var authorizedMeetingMetadata = /* @__PURE__ */ __name(async (store, accountId, reference, options = {}) => {
21116
21120
  const parsed = parseMeetingReference(reference);
@@ -21128,7 +21132,7 @@ var authorizedMeetingMetadata = /* @__PURE__ */ __name(async (store, accountId,
21128
21132
  return { parsed, meeting };
21129
21133
  }, "authorizedMeetingMetadata");
21130
21134
 
21131
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21135
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-evidence.js
21132
21136
  var hash = /* @__PURE__ */ __name((value) => createHash("sha256").update(JSON.stringify(value)).digest("hex"), "hash");
21133
21137
  var checkMeetingCancelled = /* @__PURE__ */ __name((signal) => {
21134
21138
  if (signal?.aborted)
@@ -21327,7 +21331,7 @@ var readMeetingEvidence = /* @__PURE__ */ __name(async (store, accountId, refere
21327
21331
  return { ...packet, fingerprint: hash(packet) };
21328
21332
  }, "readMeetingEvidence");
21329
21333
 
21330
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/person-meeting-context.js
21334
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/person-meeting-context.js
21331
21335
  var personMeetingContext = /* @__PURE__ */ __name(async (store, personReference, options) => {
21332
21336
  const { meetings = 10, cues = 5, bytes: bytes2 = 64 * 1024, scanLimit = 1e3, since, signal } = options;
21333
21337
  const requestedAccounts = options.accountIds;
@@ -21426,7 +21430,7 @@ var personMeetingContext = /* @__PURE__ */ __name(async (store, personReference,
21426
21430
  };
21427
21431
  }, "personMeetingContext");
21428
21432
 
21429
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/person-preparation.js
21433
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/person-preparation.js
21430
21434
  var PREPARE_BYTES = 96 * 1024;
21431
21435
  var MEETINGS = 5;
21432
21436
  var CUES = 3;
@@ -21543,7 +21547,7 @@ var meetingsOf = /* @__PURE__ */ __name(async (store, uid, stored, since, left)
21543
21547
  }
21544
21548
  }, "meetingsOf");
21545
21549
 
21546
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/person-profile.js
21550
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/person-profile.js
21547
21551
  var personProfile = /* @__PURE__ */ __name(async (deps, person, known2) => {
21548
21552
  const online = deps.offline ? void 0 : await deps.connection();
21549
21553
  const held = await storeIfOpen(deps);
@@ -21613,7 +21617,7 @@ var quiet = /* @__PURE__ */ __name((facts) => facts.chats.map(({ id: id2, title,
21613
21617
  complete: false
21614
21618
  })), "quiet");
21615
21619
 
21616
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/person-timeline.js
21620
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/person-timeline.js
21617
21621
  var TIMELINE_ITEMS = 50;
21618
21622
  var TIMELINE_MAX = 500;
21619
21623
  var SCOPES2 = ["personal", "work"];
@@ -21668,7 +21672,7 @@ var personTimeline = /* @__PURE__ */ __name(async (store, asked, reference, { sc
21668
21672
  };
21669
21673
  }, "personTimeline");
21670
21674
 
21671
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/people.js
21675
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/people.js
21672
21676
  var peopleService = /* @__PURE__ */ __name((deps) => {
21673
21677
  const localCard = /* @__PURE__ */ __name(async (card, includeNotes = false) => {
21674
21678
  const held = await storeIfOpen(deps);
@@ -21681,7 +21685,7 @@ var peopleService = /* @__PURE__ */ __name((deps) => {
21681
21685
  ...!includeNotes || local.notes.length === 0 ? {} : { notes: local.notes }
21682
21686
  };
21683
21687
  }, "localCard");
21684
- const referenceOf = /* @__PURE__ */ __name(async (reference) => {
21688
+ const referenceOf2 = /* @__PURE__ */ __name(async (reference) => {
21685
21689
  const held = await storeIfOpen(deps);
21686
21690
  if (!held)
21687
21691
  return reference;
@@ -21696,7 +21700,7 @@ var peopleService = /* @__PURE__ */ __name((deps) => {
21696
21700
  }, "online");
21697
21701
  const change = /* @__PURE__ */ __name(async (action2, person, act2) => {
21698
21702
  const connection = await online(`contacts ${action2.slice("contact-".length)}`);
21699
- const [personId] = await capability(connection, "people", "find people")([await referenceOf(person)]);
21703
+ const [personId] = await capability(connection, "people", "find people")([await referenceOf2(person)]);
21700
21704
  const operationId = newOperationId();
21701
21705
  const done2 = await guardedWrite(deps.guard, { operationId, chatId: null, kind: "account", action: action2 }, () => act2(connection, personId));
21702
21706
  return { operationId, personId, done: done2 };
@@ -21720,7 +21724,7 @@ var peopleService = /* @__PURE__ */ __name((deps) => {
21720
21724
  const found = pickPerson(person, await store.people.people(account.provider, { account: account.account }));
21721
21725
  return localCard({ ...found, chats: await sharedChats(store, account, found.id) }, notes);
21722
21726
  }
21723
- const card = await capability(await deps.connection(), "contact", "show a person")(await referenceOf(person));
21727
+ const card = await capability(await deps.connection(), "contact", "show a person")(await referenceOf2(person));
21724
21728
  if (card.chats.length > 0)
21725
21729
  return localCard(card, notes);
21726
21730
  const held = await storeIfOpen(deps);
@@ -21895,7 +21899,7 @@ var withoutPhone = /* @__PURE__ */ __name((answer) => {
21895
21899
  return rest;
21896
21900
  }, "withoutPhone");
21897
21901
 
21898
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/task-tag-filters.js
21902
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/task-tag-filters.js
21899
21903
  var taskTagFilters = /* @__PURE__ */ __name(async (store, query) => {
21900
21904
  const tags = /* @__PURE__ */ new Map();
21901
21905
  for (const node of query ? walkQuery(query.root) : [])
@@ -21904,7 +21908,7 @@ var taskTagFilters = /* @__PURE__ */ __name(async (store, query) => {
21904
21908
  return tags;
21905
21909
  }, "taskTagFilters");
21906
21910
 
21907
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/tasks.js
21911
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/tasks.js
21908
21912
  var TASK_QUERY = {
21909
21913
  entity: "task",
21910
21914
  backend: "sql",
@@ -22384,23 +22388,16 @@ var taskView = /* @__PURE__ */ __name(async (store, account, task2) => {
22384
22388
  };
22385
22389
  }, "taskView");
22386
22390
 
22387
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposal-tasks.js
22391
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposal-tasks.js
22388
22392
  var proposalSource = /* @__PURE__ */ __name((id2) => `proposed-action:${id2}`, "proposalSource");
22389
22393
  var approveAsTask = /* @__PURE__ */ __name(async (store, id2, by) => {
22390
22394
  const proposal = await store.proposedActions.get(id2);
22391
- if (proposal.kind === MEETING_FINDINGS_KIND)
22392
- throw new CliError("validation_error", "review meeting findings through the dedicated findings command", {
22393
- reason: "meeting-findings.dedicated-review"
22394
- });
22395
- if (proposal.kind === EVIDENCE_FINDINGS_KIND)
22396
- throw new CliError("validation_error", "review evidence findings through the dedicated findings command", {
22397
- reason: "evidence-findings.dedicated-review"
22398
- });
22395
+ assertGenericAction(proposal.kind);
22399
22396
  if (proposal.status !== "proposed")
22400
22397
  throw new CliError("validation_error", `a ${proposal.status} action cannot be approved`, {
22401
22398
  reason: "proposal.wrong-state"
22402
22399
  });
22403
- assertMayDecide({ id: proposal.id, proposedBy: proposerOfAction(proposal) }, by, store.decisionPolicy);
22400
+ assertMayDecide({ id: proposal.id, kind: proposal.kind, proposedBy: proposerOfAction(proposal) }, by, store.decisionPolicy);
22404
22401
  if (proposal.account === null)
22405
22402
  throw new CliError("validation_error", "a proposal names the account that would act; this one names none");
22406
22403
  const { task: task2 } = await createTaskService({ store: store.tasks }).add({
@@ -22414,7 +22411,7 @@ var approveAsTask = /* @__PURE__ */ __name(async (store, id2, by) => {
22414
22411
  return { proposal: await store.proposedActions.approve(proposal.id, by, { task: task2.id }), task: task2 };
22415
22412
  }, "approveAsTask");
22416
22413
 
22417
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/ids.js
22414
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/ids.js
22418
22415
  var MAX_IDS = 500;
22419
22416
  var refuse = /* @__PURE__ */ __name((message) => {
22420
22417
  throw new CliError("validation_error", message, { reason: "proposal.ids" });
@@ -22454,7 +22451,7 @@ var parseProposalIds = /* @__PURE__ */ __name((text2) => {
22454
22451
  return ids;
22455
22452
  }, "parseProposalIds");
22456
22453
 
22457
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/shared.js
22454
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/shared.js
22458
22455
  var proposerOfAuthor = /* @__PURE__ */ __name((author) => {
22459
22456
  if (author.type === "person")
22460
22457
  return { type: "person", id: author.id };
@@ -22496,7 +22493,7 @@ var storedStatus = /* @__PURE__ */ __name((filter) => {
22496
22493
  return status === "proposed" || status === "rejected" ? status : void 0;
22497
22494
  }, "storedStatus");
22498
22495
 
22499
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/action.js
22496
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/action.js
22500
22497
  var rowOf = /* @__PURE__ */ __name((action2) => ({
22501
22498
  id: action2.id,
22502
22499
  kind: "action",
@@ -22511,14 +22508,15 @@ var rowOf = /* @__PURE__ */ __name((action2) => ({
22511
22508
  score: null,
22512
22509
  signals: null,
22513
22510
  parts: null,
22514
- createdAt: action2.createdAt
22511
+ createdAt: action2.createdAt,
22512
+ ...isOwnerOnlyKind(action2.kind) ? { ownerOnly: true } : {}
22515
22513
  }), "rowOf");
22516
22514
  var actionKind = /* @__PURE__ */ __name((store, claimed) => ({
22517
22515
  kind: "action",
22518
22516
  list: /* @__PURE__ */ __name(async (filter) => {
22519
22517
  const status = storedStatus(filter);
22520
22518
  const actions = await store.proposedActions.list({
22521
- except: [...claimed(), MEETING_FINDINGS_KIND],
22519
+ except: [...claimed(), MEETING_FINDINGS_KIND, EVIDENCE_FINDINGS_KIND, MAIL_FINDINGS_KIND],
22522
22520
  ...status === void 0 ? {} : { status },
22523
22521
  ...pushed2(filter)
22524
22522
  });
@@ -22535,7 +22533,7 @@ var actionKind = /* @__PURE__ */ __name((store, claimed) => ({
22535
22533
  }, "decide")
22536
22534
  }), "actionKind");
22537
22535
 
22538
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/fact.js
22536
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/fact.js
22539
22537
  var STATUS = {
22540
22538
  proposed: "proposed",
22541
22539
  accepted: "confirmed",
@@ -22578,7 +22576,7 @@ var factKind = /* @__PURE__ */ __name((store) => ({
22578
22576
  }, "decide")
22579
22577
  }), "factKind");
22580
22578
 
22581
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/finance.js
22579
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/finance.js
22582
22580
  var rowOf3 = /* @__PURE__ */ __name((kind, entry) => ({
22583
22581
  id: entry.ref,
22584
22582
  kind,
@@ -22613,7 +22611,7 @@ var financeKind = /* @__PURE__ */ __name((store, kind) => ({
22613
22611
  var invoiceKind = /* @__PURE__ */ __name((store) => financeKind(store, "invoice"), "invoiceKind");
22614
22612
  var paymentKind = /* @__PURE__ */ __name((store) => financeKind(store, "payment"), "paymentKind");
22615
22613
 
22616
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/findings.js
22614
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/findings.js
22617
22615
  var FACT_SUMMARIES = {
22618
22616
  fact: /* @__PURE__ */ __name((finding) => finding.statement, "fact"),
22619
22617
  task: /* @__PURE__ */ __name((finding) => finding.title, "task"),
@@ -22685,7 +22683,7 @@ var findingsKind = /* @__PURE__ */ __name((store) => {
22685
22683
  };
22686
22684
  }, "findingsKind");
22687
22685
 
22688
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/key-document.js
22686
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/key-document.js
22689
22687
  var linkRow = /* @__PURE__ */ __name((link4) => ({
22690
22688
  id: `key:${link4.id}`,
22691
22689
  kind: "key_document",
@@ -22753,7 +22751,7 @@ var keyDocumentKind = /* @__PURE__ */ __name((store) => {
22753
22751
  };
22754
22752
  }, "keyDocumentKind");
22755
22753
 
22756
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/mail-findings.js
22754
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/mail-findings.js
22757
22755
  var summaryOf = /* @__PURE__ */ __name((finding) => {
22758
22756
  switch (finding.kind) {
22759
22757
  case "task":
@@ -22832,7 +22830,7 @@ var mailFindingsKind = /* @__PURE__ */ __name((store) => {
22832
22830
  };
22833
22831
  }, "mailFindingsKind");
22834
22832
 
22835
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/memory.js
22833
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/memory.js
22836
22834
  var STATUS2 = {
22837
22835
  proposed: "proposed",
22838
22836
  confirmed: "confirmed",
@@ -22873,7 +22871,7 @@ var memoryKind = /* @__PURE__ */ __name((store) => ({
22873
22871
  }, "decide")
22874
22872
  }), "memoryKind");
22875
22873
 
22876
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship.js
22874
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship.js
22877
22875
  var linkRow2 = /* @__PURE__ */ __name((link4) => ({
22878
22876
  id: `link:${link4.id}`,
22879
22877
  kind: "relationship",
@@ -22947,7 +22945,7 @@ var relationshipKind = /* @__PURE__ */ __name((store) => {
22947
22945
  };
22948
22946
  }, "relationshipKind");
22949
22947
 
22950
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship-update.js
22948
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/kinds/relationship-update.js
22951
22949
  var KIND = "relationship_update";
22952
22950
  var summaryOf2 = /* @__PURE__ */ __name(({ changes }) => Object.entries(changes).map(([field, value]) => `${field} ${value ?? "cleared"}`).join(", "), "summaryOf");
22953
22951
  var rowOf7 = /* @__PURE__ */ __name((action2) => {
@@ -22997,8 +22995,9 @@ var relationshipUpdateKind = /* @__PURE__ */ __name((store) => ({
22997
22995
  }, "decide")
22998
22996
  }), "relationshipUpdateKind");
22999
22997
 
23000
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/proposals/registry.js
22998
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/proposals/registry.js
23001
22999
  var PREFIX = /^([a-z][a-z_]*):/;
23000
+ var marked = /* @__PURE__ */ __name((kind, row) => kind.ownerOnly ? { ...row, ownerOnly: true } : row, "marked");
23002
23001
  var refusalOf = /* @__PURE__ */ __name((id2, error) => {
23003
23002
  if (!(error instanceof CliError))
23004
23003
  throw error;
@@ -23036,12 +23035,15 @@ var emptyProposalRegistry = /* @__PURE__ */ __name((store) => {
23036
23035
  throw new CliError("validation_error", "a proposal list takes a nonnegative offset");
23037
23036
  const asked = filter.kinds === void 0 ? kinds : kinds.filter((kind) => filter.kinds?.includes(kind.kind));
23038
23037
  const wide = { ...filter, offset: 0, limit: filter.offset + filter.limit + 1 };
23039
- const rows = (await Promise.all(asked.map((kind) => kind.list(wide)))).flat();
23038
+ const rows = (await Promise.all(asked.map(async (kind) => (await kind.list(wide)).map((row) => marked(kind, row))))).flat();
23040
23039
  rows.sort((a, b) => b.createdAt.localeCompare(a.createdAt) || b.id.localeCompare(a.id));
23041
23040
  const page = rows.slice(filter.offset, filter.offset + filter.limit + 1);
23042
23041
  return { items: page.slice(0, filter.limit), hasMore: page.length > filter.limit };
23043
23042
  }, "list"),
23044
- get: /* @__PURE__ */ __name(async (id2) => (await kindOf4(id2)).get(id2), "get"),
23043
+ get: /* @__PURE__ */ __name(async (id2) => {
23044
+ const kind = await kindOf4(id2);
23045
+ return marked(kind, await kind.get(id2));
23046
+ }, "get"),
23045
23047
  decide: /* @__PURE__ */ __name(async (ids, decision) => {
23046
23048
  const parts = /* @__PURE__ */ new Map();
23047
23049
  const whole4 = /* @__PURE__ */ new Set();
@@ -23074,7 +23076,7 @@ var emptyProposalRegistry = /* @__PURE__ */ __name((store) => {
23074
23076
  refuseIds(id2, `a ${kind.kind} proposal has no parts; name ${id2} alone`);
23075
23077
  continue;
23076
23078
  }
23077
- const row = await kind.get(id2);
23079
+ const row = marked(kind, await kind.get(id2));
23078
23080
  if (row.status !== "proposed") {
23079
23081
  refused.push({
23080
23082
  id: id2,
@@ -23084,7 +23086,7 @@ var emptyProposalRegistry = /* @__PURE__ */ __name((store) => {
23084
23086
  });
23085
23087
  continue;
23086
23088
  }
23087
- const refusal2 = mayDecide(kind.ownerOnly ? { ...row, ownerOnly: true } : row, decision.by, policy);
23089
+ const refusal2 = mayDecide(row, decision.by, policy);
23088
23090
  if (refusal2) {
23089
23091
  refused.push(refusal2);
23090
23092
  continue;
@@ -23117,7 +23119,7 @@ var proposalRegistry = /* @__PURE__ */ __name((store) => {
23117
23119
  return registry;
23118
23120
  }, "proposalRegistry");
23119
23121
 
23120
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/mail/owed.js
23122
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/mail/owed.js
23121
23123
  var mailTurn = /* @__PURE__ */ __name((newest) => {
23122
23124
  if (newest === null)
23123
23125
  return null;
@@ -23126,7 +23128,7 @@ var mailTurn = /* @__PURE__ */ __name((newest) => {
23126
23128
  return newest.addressed ? "owed" : null;
23127
23129
  }, "mailTurn");
23128
23130
 
23129
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/agenda-mail.js
23131
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/agenda-mail.js
23130
23132
  var absent = /* @__PURE__ */ __name((error) => {
23131
23133
  if (error instanceof CliError && error.code === "not_found")
23132
23134
  return void 0;
@@ -23184,7 +23186,7 @@ var mailActivity = /* @__PURE__ */ __name(async (store, account, since, chats) =
23184
23186
  };
23185
23187
  }, "mailActivity");
23186
23188
 
23187
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/chat-coverage.js
23189
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/chat-coverage.js
23188
23190
  var chatCoverage = /* @__PURE__ */ __name(async (store, account, chatIds) => {
23189
23191
  const ids = [...new Set(chatIds)];
23190
23192
  if (ids.length === 0)
@@ -23210,7 +23212,7 @@ var chatCoverage = /* @__PURE__ */ __name(async (store, account, chatIds) => {
23210
23212
  }));
23211
23213
  }, "chatCoverage");
23212
23214
 
23213
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/agenda.js
23215
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/agenda.js
23214
23216
  var DAY = 864e5;
23215
23217
  var AGENDA_DEFAULTS = { unanswered: DAY, waiting: 7 * DAY };
23216
23218
  var CLAIMS = ["none", "mine", "others", "any"];
@@ -23457,7 +23459,7 @@ var agendaItem = /* @__PURE__ */ __name((shown) => {
23457
23459
  };
23458
23460
  }, "agendaItem");
23459
23461
 
23460
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/excerpt.js
23462
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/excerpt.js
23461
23463
  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");
23462
23464
  var excerpt = /* @__PURE__ */ __name((text2, query, size4 = 240, options = {}) => {
23463
23465
  const flat = text2.replace(/\s+/g, " ").trim();
@@ -23473,7 +23475,394 @@ var excerpt = /* @__PURE__ */ __name((text2, query, size4 = 240, options = {}) =
23473
23475
  }, "excerpt");
23474
23476
  var withExcerpt = /* @__PURE__ */ __name(({ matchedText, ...hit }, query) => ({ ...hit, excerpt: excerpt(matchedText ?? hit.text, query) }), "withExcerpt");
23475
23477
 
23476
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-gathering-around.js
23478
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/shared.js
23479
+ var escaped = /* @__PURE__ */ __name((text2) => text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escaped");
23480
+ var folded = /* @__PURE__ */ __name((text2) => text2.normalize("NFKC").toLowerCase().replace(/\s+/gu, " "), "folded");
23481
+ var wholeWords = /* @__PURE__ */ __name((term) => new RegExp(`(?<![\\p{L}\\p{N}\\p{M}_])${escaped(normalizeVocabularyName(term))}(?![\\p{L}\\p{N}\\p{M}_])`, "u"), "wholeWords");
23482
+ var projectTerms = /* @__PURE__ */ __name((project2) => {
23483
+ const terms = /* @__PURE__ */ new Map();
23484
+ for (const term of [project2.name, project2.key, ...project2.aliases])
23485
+ if (term?.trim())
23486
+ terms.set(normalizeVocabularyName(term), term);
23487
+ return [...terms.values()];
23488
+ }, "projectTerms");
23489
+ var namesProject = /* @__PURE__ */ __name((project2) => {
23490
+ const patterns = projectTerms(project2).map((term) => ({ term, pattern: wholeWords(term) }));
23491
+ return (text2) => {
23492
+ if (!text2)
23493
+ return void 0;
23494
+ const value = folded(text2);
23495
+ return patterns.find(({ pattern }) => pattern.test(value))?.term;
23496
+ };
23497
+ }, "namesProject");
23498
+ var chatRef2 = /* @__PURE__ */ __name((key, chat) => formatReference({ type: "chat", provider: key.provider, account: String(key.account), chat: String(chat) }), "chatRef");
23499
+ var contactRef2 = /* @__PURE__ */ __name((provider, id2) => formatReference({ type: "contact", provider, id: String(id2) }), "contactRef");
23500
+ var sameAccount = /* @__PURE__ */ __name((a, b) => a.provider === b.provider && String(a.account) === b.account, "sameAccount");
23501
+ var personRefOf = /* @__PURE__ */ __name(async (store, provider, id2) => {
23502
+ const person = await store.people.personOf({ provider, id: id2 });
23503
+ return person ? `person:${person.uid}` : void 0;
23504
+ }, "personRefOf");
23505
+ var projectsOf = /* @__PURE__ */ __name(async (store, person) => new Set((await store.knowledge.relations(null, person)).filter((one2) => one2.confirmed && one2.kind === "member-of" && one2.from === person && one2.to.startsWith("project:")).map((one2) => one2.to)).size, "projectsOf");
23506
+ var identitiesIn = /* @__PURE__ */ __name(async (store, people, provider) => {
23507
+ const found = [];
23508
+ for (const person of people) {
23509
+ const record2 = await store.people.personByUid(person.slice("person:".length));
23510
+ for (const identity of record2?.identities ?? [])
23511
+ if (identity.provider === provider)
23512
+ found.push({ person, id: String(identity.id) });
23513
+ }
23514
+ return found;
23515
+ }, "identitiesIn");
23516
+
23517
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/alias-hits.js
23518
+ var SEARCH_LIMIT = 500;
23519
+ var aliasWeight = /* @__PURE__ */ __name((hits) => hits >= 10 ? 0.55 : hits >= 3 ? 0.35 : 0, "aliasWeight");
23520
+ var aliasHits = {
23521
+ id: "alias-hits",
23522
+ version: 1,
23523
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, sources, since, signal }) => {
23524
+ if (!project2)
23525
+ return [];
23526
+ const terms = projectTerms(project2).filter((term) => [...term.trim()].length >= 3);
23527
+ const found = [];
23528
+ for (const key of sources) {
23529
+ const chats = /* @__PURE__ */ new Map();
23530
+ for (const term of terms) {
23531
+ signal?.throwIfAborted();
23532
+ const pattern = wholeWords(term);
23533
+ const hits = await store.messages.find({ account: key, text: term, limit: SEARCH_LIMIT });
23534
+ for (const hit of hits.items) {
23535
+ if (hit.timestamp < since || !pattern.test(hit.text.normalize("NFKC").toLowerCase()))
23536
+ continue;
23537
+ const messages = chats.get(String(hit.chatId)) ?? /* @__PURE__ */ new Map();
23538
+ messages.set(String(hit.id), formatReference({
23539
+ type: "message",
23540
+ provider: key.provider,
23541
+ account: String(key.account),
23542
+ chat: String(hit.chatId),
23543
+ message: String(hit.id)
23544
+ }));
23545
+ chats.set(String(hit.chatId), messages);
23546
+ }
23547
+ }
23548
+ for (const [chat, messages] of chats) {
23549
+ const weight = aliasWeight(messages.size);
23550
+ if (!weight)
23551
+ continue;
23552
+ found.push({
23553
+ from: chatRef2(key, chat),
23554
+ to: project2.ref,
23555
+ kind: "member-of",
23556
+ weight,
23557
+ why: `${messages.size} messages since ${since.slice(0, 10)} name the project`,
23558
+ evidence: [...messages.values()].slice(0, 3)
23559
+ });
23560
+ }
23561
+ }
23562
+ return found;
23563
+ }, "candidates")
23564
+ };
23565
+
23566
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-senders.js
23567
+ var WEIGHT = 0.5;
23568
+ var LARGE_GROUP_WEIGHT = 0.2;
23569
+ var LARGE_GROUP = 30;
23570
+ var MIN_MESSAGES = 5;
23571
+ var READ_LIMIT = 2e3;
23572
+ var chatSenders = {
23573
+ id: "chat-senders",
23574
+ version: 1,
23575
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, confirmed, sources, since, owner, signal }) => {
23576
+ if (!project2)
23577
+ return [];
23578
+ const found = [];
23579
+ for (const chat of confirmed.chats) {
23580
+ const reference = parseReference(chat);
23581
+ if (reference.type !== "chat")
23582
+ continue;
23583
+ const key = sources.find((source) => sameAccount(source, reference));
23584
+ if (!key)
23585
+ continue;
23586
+ signal?.throwIfAborted();
23587
+ const page = await store.messages.messages(key, reference.chat, { limit: READ_LIMIT, since, outgoing: false });
23588
+ const senders = /* @__PURE__ */ new Map();
23589
+ for (const message of page.items) {
23590
+ if (message.senderId === null || message.senderIsChat)
23591
+ continue;
23592
+ const id2 = String(message.senderId);
23593
+ senders.set(id2, { count: (senders.get(id2)?.count ?? 0) + 1, last: String(message.id) });
23594
+ }
23595
+ const size4 = Math.max((await store.roster.members(key, reference.chat)).length, senders.size);
23596
+ const weight = size4 > LARGE_GROUP ? LARGE_GROUP_WEIGHT : WEIGHT;
23597
+ for (const [id2, { count: count4, last }] of senders) {
23598
+ if (count4 < MIN_MESSAGES)
23599
+ continue;
23600
+ const person = await personRefOf(store, key.provider, id2);
23601
+ if (!person || person === owner)
23602
+ continue;
23603
+ found.push({
23604
+ from: person,
23605
+ to: project2.ref,
23606
+ kind: "member-of",
23607
+ weight,
23608
+ why: `${count4} messages since ${since.slice(0, 10)} in a project chat (${chat})${size4 > LARGE_GROUP ? `, a group of ${size4}` : ""}`,
23609
+ evidence: [formatReference({ ...reference, type: "message", message: last })],
23610
+ identity: contactRef2(key.provider, id2)
23611
+ });
23612
+ }
23613
+ }
23614
+ return found;
23615
+ }, "candidates")
23616
+ };
23617
+
23618
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/chat-title.js
23619
+ var WEIGHT2 = 0.7;
23620
+ var chatTitle = {
23621
+ id: "chat-title",
23622
+ version: 1,
23623
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, sources, purposes, signal }) => {
23624
+ if (!project2)
23625
+ return [];
23626
+ const names2 = namesProject(project2);
23627
+ const purposeOf = purposes.filter((purpose) => purpose !== "work").map((purpose) => ({ purpose, pattern: wholeWords(purpose) }));
23628
+ const found = [];
23629
+ for (const key of sources) {
23630
+ if (key.provider === "email")
23631
+ continue;
23632
+ signal?.throwIfAborted();
23633
+ const chats = await store.chats.chats(key, {});
23634
+ for (const chat of chats.items) {
23635
+ if (chat.kind === "saved")
23636
+ continue;
23637
+ const term = names2(chat.title);
23638
+ if (!term)
23639
+ continue;
23640
+ const title = (chat.title ?? "").normalize("NFKC").toLowerCase();
23641
+ const purpose = purposeOf.find(({ pattern }) => pattern.test(title))?.purpose;
23642
+ found.push({
23643
+ from: chatRef2(key, chat.id),
23644
+ to: project2.ref,
23645
+ kind: "member-of",
23646
+ weight: WEIGHT2,
23647
+ why: `the chat title names the project${term === project2.name ? "" : ` (${term === project2.key ? "key" : "alias"})`}`,
23648
+ evidence: [],
23649
+ ...purpose ? { purpose } : {}
23650
+ });
23651
+ }
23652
+ }
23653
+ return found;
23654
+ }, "candidates")
23655
+ };
23656
+
23657
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/email-domain.js
23658
+ var WEIGHT3 = 0.3;
23659
+ var CONTACTS = 500;
23660
+ var MOST_PAIRS = 200;
23661
+ var FREE = /* @__PURE__ */ new Set([
23662
+ "gmail.com",
23663
+ "outlook.com",
23664
+ "hotmail.com",
23665
+ "yahoo.com",
23666
+ "icloud.com",
23667
+ "proton.me",
23668
+ "protonmail.com"
23669
+ ]);
23670
+ var emailDomain = {
23671
+ id: "email-domain",
23672
+ version: 1,
23673
+ candidates: /* @__PURE__ */ __name(async ({ store, sources, owner, signal }) => {
23674
+ const domains = /* @__PURE__ */ new Map();
23675
+ for (const key of sources) {
23676
+ if (key.provider !== "email")
23677
+ continue;
23678
+ signal?.throwIfAborted();
23679
+ const contacts = await store.people.contacts(key, { order: "name", limit: CONTACTS, offset: 0 });
23680
+ for (const contact of contacts.items) {
23681
+ const address = String(contact.id).toLowerCase();
23682
+ const domain = address.split("@")[1];
23683
+ if (!domain || FREE.has(domain))
23684
+ continue;
23685
+ const person = await store.people.personOf({ provider: key.provider, id: contact.id });
23686
+ if (!person || `person:${person.uid}` === owner)
23687
+ continue;
23688
+ const people = domains.get(domain) ?? /* @__PURE__ */ new Map();
23689
+ if (!people.has(`person:${person.uid}`))
23690
+ people.set(`person:${person.uid}`, contactRef2(key.provider, contact.id));
23691
+ domains.set(domain, people);
23692
+ }
23693
+ }
23694
+ const found = [];
23695
+ for (const [domain, people] of domains) {
23696
+ const sorted = [...people].sort(([a], [b]) => a.localeCompare(b));
23697
+ for (let left = 0; left < sorted.length; left++)
23698
+ for (let right = left + 1; right < sorted.length; right++) {
23699
+ if (found.length >= MOST_PAIRS)
23700
+ return found;
23701
+ const [from, identity] = sorted[left];
23702
+ const [to] = sorted[right];
23703
+ found.push({
23704
+ from,
23705
+ to,
23706
+ kind: "related-to",
23707
+ weight: WEIGHT3,
23708
+ why: `addresses share the domain ${domain}; this does not prove they work together`,
23709
+ evidence: [],
23710
+ identity
23711
+ });
23712
+ }
23713
+ }
23714
+ return found;
23715
+ }, "candidates")
23716
+ };
23717
+
23718
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/mail-thread.js
23719
+ var NAMED = 0.7;
23720
+ var MEMBER_ONLY = 0.3;
23721
+ var READ_LIMIT2 = 500;
23722
+ var mailThread = {
23723
+ id: "mail-thread",
23724
+ version: 1,
23725
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, confirmed, sources, since, owner, signal }) => {
23726
+ if (!project2)
23727
+ return [];
23728
+ const names2 = namesProject(project2);
23729
+ const people = confirmed.people.filter((person) => person !== owner);
23730
+ const found = [];
23731
+ for (const key of sources) {
23732
+ if (key.provider !== "email")
23733
+ continue;
23734
+ const account = await store.accounts.storedAccount(key).catch(() => void 0);
23735
+ if (!account)
23736
+ continue;
23737
+ const threads = /* @__PURE__ */ new Map();
23738
+ for (const { person, id: id2 } of await identitiesIn(store, people, "email")) {
23739
+ signal?.throwIfAborted();
23740
+ const emails = await store.mail.emails({
23741
+ accountId: account.id,
23742
+ participant: id2,
23743
+ since: Date.parse(since),
23744
+ limit: READ_LIMIT2
23745
+ });
23746
+ for (const email of emails) {
23747
+ const held = threads.get(email.emailThreadId) ?? {
23748
+ members: /* @__PURE__ */ new Set(),
23749
+ subject: email.subject,
23750
+ email: email.externalId
23751
+ };
23752
+ held.members.add(person);
23753
+ threads.set(email.emailThreadId, held);
23754
+ }
23755
+ }
23756
+ for (const [id2, { members, subject, email }] of threads) {
23757
+ const thread = (await store.mail.thread(id2))?.thread;
23758
+ if (!thread)
23759
+ continue;
23760
+ const named2 = names2(thread.subject ?? subject) !== void 0;
23761
+ const chat = formatReference({
23762
+ type: "chat",
23763
+ provider: "email",
23764
+ account: String(key.account),
23765
+ chat: thread.externalId
23766
+ });
23767
+ const who2 = [...members].sort();
23768
+ found.push({
23769
+ from: chat,
23770
+ to: project2.ref,
23771
+ kind: "member-of",
23772
+ weight: named2 ? NAMED : MEMBER_ONLY,
23773
+ why: `a thread with ${who2.length > 1 ? `${who2.length} members` : `a member (${who2[0]})`}${named2 ? "; its subject names the project" : ""}`,
23774
+ evidence: [
23775
+ formatReference({
23776
+ type: "message",
23777
+ provider: "email",
23778
+ account: String(key.account),
23779
+ chat: thread.externalId,
23780
+ message: email
23781
+ }),
23782
+ ...who2
23783
+ ].slice(0, 5)
23784
+ });
23785
+ }
23786
+ }
23787
+ return found;
23788
+ }, "candidates")
23789
+ };
23790
+
23791
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-chats.js
23792
+ var WEIGHT4 = 0.5;
23793
+ var memberChats = {
23794
+ id: "member-chats",
23795
+ version: 1,
23796
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, confirmed, sources, owner, signal }) => {
23797
+ if (!project2)
23798
+ return [];
23799
+ const people = confirmed.people.filter((person) => person !== owner);
23800
+ const found = [];
23801
+ for (const key of sources) {
23802
+ const members = /* @__PURE__ */ new Map();
23803
+ for (const { person, id: id2 } of await identitiesIn(store, people, key.provider)) {
23804
+ signal?.throwIfAborted();
23805
+ for (const chat of await store.chats.chatsWith(key, id2)) {
23806
+ if (chat.kind !== "group" && chat.kind !== "channel")
23807
+ continue;
23808
+ const held = members.get(String(chat.id)) ?? /* @__PURE__ */ new Set();
23809
+ held.add(person);
23810
+ members.set(String(chat.id), held);
23811
+ }
23812
+ }
23813
+ for (const [chat, held] of members) {
23814
+ if (held.size < 2)
23815
+ continue;
23816
+ const named2 = [...held].sort();
23817
+ found.push({
23818
+ from: chatRef2(key, chat),
23819
+ to: project2.ref,
23820
+ kind: "member-of",
23821
+ weight: WEIGHT4,
23822
+ why: `a group with ${held.size} confirmed members (${named2.slice(0, 3).join(", ")}${held.size > 3 ? ", \u2026" : ""})`,
23823
+ evidence: named2.slice(0, 5)
23824
+ });
23825
+ }
23826
+ }
23827
+ return found;
23828
+ }, "candidates")
23829
+ };
23830
+
23831
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/member-dialog.js
23832
+ var WEIGHT5 = 0.6;
23833
+ var memberDialog = {
23834
+ id: "member-dialog",
23835
+ version: 1,
23836
+ candidates: /* @__PURE__ */ __name(async ({ store, project: project2, confirmed, sources, owner, signal }) => {
23837
+ if (!project2)
23838
+ return [];
23839
+ const people = confirmed.people.filter((person) => person !== owner);
23840
+ const projects = /* @__PURE__ */ new Map();
23841
+ const found = [];
23842
+ for (const key of sources)
23843
+ for (const { person, id: id2 } of await identitiesIn(store, people, key.provider)) {
23844
+ signal?.throwIfAborted();
23845
+ for (const chat of await store.chats.chatsWith(key, id2)) {
23846
+ if (chat.kind !== "dialog")
23847
+ continue;
23848
+ if (!projects.has(person))
23849
+ projects.set(person, Math.max(1, await projectsOf(store, person)));
23850
+ const shared = projects.get(person) ?? 1;
23851
+ found.push({
23852
+ from: chatRef2(key, chat.id),
23853
+ to: project2.ref,
23854
+ kind: "member-of",
23855
+ weight: WEIGHT5 / shared,
23856
+ why: `a dialog with a member (${person})${shared > 1 ? `, who is in ${shared} projects` : ""}`,
23857
+ evidence: [person]
23858
+ });
23859
+ }
23860
+ }
23861
+ return found;
23862
+ }, "candidates")
23863
+ };
23864
+
23865
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-gathering-around.js
23477
23866
  var storedMessageNeighbours = /* @__PURE__ */ __name((messages) => ({
23478
23867
  async around(ref, window3) {
23479
23868
  const at = parseLocator(ref);
@@ -23569,7 +23958,7 @@ var storedNeighbours = /* @__PURE__ */ __name((store) => {
23569
23958
  };
23570
23959
  }, "storedNeighbours");
23571
23960
 
23572
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-gathering-request.js
23961
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-gathering-request.js
23573
23962
  import { createHash as createHash2 } from "node:crypto";
23574
23963
  var DAY2 = 864e5;
23575
23964
  var MAX_TIME = 864e13;
@@ -23885,7 +24274,7 @@ var decodeCheckpoint = /* @__PURE__ */ __name((text2, plan) => {
23885
24274
  return value;
23886
24275
  }, "decodeCheckpoint");
23887
24276
 
23888
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-gathering.js
24277
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-gathering.js
23889
24278
  var terminal = /* @__PURE__ */ new Set(["done", "unavailable", "failed"]);
23890
24279
  var PAGE2 = 20;
23891
24280
  var PEOPLE = 20;
@@ -24289,7 +24678,7 @@ var peopleOf = /* @__PURE__ */ __name((items, senderOf) => {
24289
24678
  return [...byKey.values()].sort((a, b) => b.items - a.items || a.name.localeCompare(b.name));
24290
24679
  }, "peopleOf");
24291
24680
 
24292
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-project-candidate-matching.js
24681
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-project-candidate-matching.js
24293
24682
  var normalizedText = /* @__PURE__ */ __name((text2) => text2.normalize("NFKC").toLowerCase().replace(/\s+/gu, " "), "normalizedText");
24294
24683
  var termsOf = /* @__PURE__ */ __name((entry) => [
24295
24684
  { name: entry.name, kind: "canonical" },
@@ -24333,7 +24722,7 @@ var matchVocabularyTerms = /* @__PURE__ */ __name((catalog, texts) => {
24333
24722
  return result.sort((a, b) => Number(a.entry.id) - Number(b.entry.id));
24334
24723
  }, "matchVocabularyTerms");
24335
24724
 
24336
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-gathering-mentions.js
24725
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-gathering-mentions.js
24337
24726
  var KINDS = ["project", "tag", "topic"];
24338
24727
  var findEvidenceMentions = /* @__PURE__ */ __name(async (vocabulary, gathering, options = {}) => {
24339
24728
  if (typeof vocabulary?.vocabulary !== "function")
@@ -24388,7 +24777,7 @@ var findEvidenceMentions = /* @__PURE__ */ __name(async (vocabulary, gathering,
24388
24777
  };
24389
24778
  }, "findEvidenceMentions");
24390
24779
 
24391
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/stored-project-gathering.js
24780
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/stored-project-gathering.js
24392
24781
  var storedChatCount = /* @__PURE__ */ __name((store) => async (account, chatId, { since, until }) => {
24393
24782
  const window3 = { since: new Date(since).toISOString(), until: new Date(until - 1).toISOString() };
24394
24783
  const [messages, newest, oldest] = await Promise.all([
@@ -24694,18 +25083,226 @@ var purposeHintOf = /* @__PURE__ */ __name((linked, rows, of) => {
24694
25083
  return { chat: top.ref, relationship: link4.relationship, items, of };
24695
25084
  }, "purposeHintOf");
24696
25085
 
24697
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive.js
25086
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/link-scorers/scan.js
25087
+ var SCORERS = [chatTitle, aliasHits, memberChats, memberDialog, chatSenders, mailThread];
25088
+ var PERSON_SCORERS = [emailDomain];
25089
+ var SCAN_BOT = { bot: "memo-scan", kind: "rule" };
25090
+ var DEFAULT_THRESHOLD = 0.5;
25091
+ var PERSON_THRESHOLD = 0.3;
25092
+ var DEFAULT_LIMIT = 20;
25093
+ var projectOf3 = /* @__PURE__ */ __name(async (store, reference) => {
25094
+ const ref = await canonicalProjectRef(store, reference);
25095
+ const entry = (await store.knowledge.vocabulary({ kind: "project" })).entries.find((one2) => one2.id === ref.slice(8));
25096
+ if (!entry)
25097
+ throw new CliError("not_found", `no project ${reference}`);
25098
+ return { ref, name: entry.name, key: entry.key, aliases: entry.aliases.map((alias) => alias.name) };
25099
+ }, "projectOf");
25100
+ var confirmedOf = /* @__PURE__ */ __name(async (store, project2) => {
25101
+ if (!project2)
25102
+ return { chats: [], people: [] };
25103
+ const members = (await store.knowledge.relations(null, project2.ref)).filter((one2) => one2.confirmed && one2.kind === "member-of" && one2.to === project2.ref);
25104
+ return {
25105
+ chats: [...new Set(members.map((one2) => one2.from).filter((ref) => ref.startsWith("chat:")))].sort(),
25106
+ people: [...new Set(members.map((one2) => one2.from).filter((ref) => ref.startsWith("person:")))].sort()
25107
+ };
25108
+ }, "confirmedOf");
25109
+ var checkedSources = /* @__PURE__ */ __name(async (store, sources) => {
25110
+ const stored = await store.accounts.accounts();
25111
+ const choices = stored.map((one2) => `${one2.provider}:${one2.account}`);
25112
+ if (!Array.isArray(sources) || sources.length === 0)
25113
+ throw new CliError("validation_error", "a scan names the accounts it reads; none is picked for you", {
25114
+ param: "source",
25115
+ choices
25116
+ });
25117
+ for (const source of sources)
25118
+ if (!stored.some((one2) => one2.provider === source.provider && String(one2.account) === String(source.account)))
25119
+ throw new CliError("not_found", `the store holds no account ${source.provider}:${source.account}`, {
25120
+ param: "source",
25121
+ choices
25122
+ });
25123
+ return sources;
25124
+ }, "checkedSources");
25125
+ var pairKey = /* @__PURE__ */ __name(({ from, to, kind }) => `${from}\0${to}\0${kind}`, "pairKey");
25126
+ var combinedScore = /* @__PURE__ */ __name((weights) => Math.round((1 - weights.reduce((left, weight) => left * (1 - weight), 1)) * 1e3) / 1e3, "combinedScore");
25127
+ var scanProjectLinks = /* @__PURE__ */ __name(async (store, input) => {
25128
+ const limit = input.limit ?? DEFAULT_LIMIT;
25129
+ if (!Number.isSafeInteger(limit) || limit < 1 || limit > 50)
25130
+ throw new CliError("validation_error", "a scan proposes 1\u201350 links a run", { param: "limit" });
25131
+ const threshold = input.threshold ?? (input.project === null ? PERSON_THRESHOLD : DEFAULT_THRESHOLD);
25132
+ if (typeof threshold !== "number" || !(threshold > 0 && threshold <= 1))
25133
+ throw new CliError("validation_error", "a scan's threshold is more than 0 and at most 1", { param: "threshold" });
25134
+ const since = Date.parse(input.since);
25135
+ if (Number.isNaN(since))
25136
+ throw new CliError("validation_error", "a scan's window starts at an ISO 8601 time", { param: "since" });
25137
+ const sources = await checkedSources(store, input.sources);
25138
+ const project2 = input.project === null ? null : await projectOf3(store, input.project);
25139
+ const owner = await store.people.owner();
25140
+ const scorerInput = {
25141
+ store,
25142
+ project: project2,
25143
+ confirmed: await confirmedOf(store, project2),
25144
+ sources,
25145
+ since: new Date(since).toISOString(),
25146
+ purposes: input.purposes ?? BUILT_IN_PURPOSES,
25147
+ owner: owner ? `person:${owner.uid}` : null,
25148
+ ...input.signal ? { signal: input.signal } : {}
25149
+ };
25150
+ const scorers = input.scorers ?? (project2 ? SCORERS : PERSON_SCORERS);
25151
+ const skipped = {
25152
+ confirmed: 0,
25153
+ rejected: 0,
25154
+ belowThreshold: 0,
25155
+ overLimit: 0,
25156
+ nameOnly: 0,
25157
+ unresolved: 0
25158
+ };
25159
+ const pairs = /* @__PURE__ */ new Map();
25160
+ const nameOnly = /* @__PURE__ */ new Set();
25161
+ for (const scorer of scorers) {
25162
+ input.signal?.throwIfAborted();
25163
+ for (const candidate of await scorer.candidates(scorerInput)) {
25164
+ const key = pairKey(candidate);
25165
+ const verdict = await admissible(store, scorerInput, candidate);
25166
+ if (verdict === "owner")
25167
+ continue;
25168
+ if (verdict === "name-only") {
25169
+ if (!nameOnly.has(key))
25170
+ skipped.nameOnly++;
25171
+ nameOnly.add(key);
25172
+ continue;
25173
+ }
25174
+ if (verdict !== "ok") {
25175
+ skipped.unresolved++;
25176
+ continue;
25177
+ }
25178
+ const weight = Math.min(1, Math.max(0, candidate.weight));
25179
+ const held = pairs.get(key) ?? { candidate, signals: /* @__PURE__ */ new Map() };
25180
+ const scorerId = `${scorer.id}@${scorer.version}`;
25181
+ const before2 = held.signals.get(scorerId);
25182
+ if (!before2 || before2.weight < weight)
25183
+ held.signals.set(scorerId, {
25184
+ scorer: scorerId,
25185
+ weight,
25186
+ why: candidate.why.slice(0, 500),
25187
+ ...candidate.purpose && scorerInput.purposes.includes(candidate.purpose) ? { purpose: candidate.purpose } : {}
25188
+ });
25189
+ held.candidate = {
25190
+ ...held.candidate,
25191
+ evidence: [.../* @__PURE__ */ new Set([...held.candidate.evidence, ...candidate.evidence])]
25192
+ };
25193
+ pairs.set(key, held);
25194
+ }
25195
+ }
25196
+ const scored = [...pairs.values()].map(({ candidate, signals: signals2 }) => {
25197
+ const list3 = [...signals2.values()].sort((a, b) => b.weight - a.weight || a.scorer.localeCompare(b.scorer));
25198
+ const purpose = list3.find((one2) => one2.purpose)?.purpose;
25199
+ return {
25200
+ candidate,
25201
+ purpose,
25202
+ signals: list3.map(({ scorer, weight, why }) => ({ scorer, weight, why })),
25203
+ score: combinedScore(list3.map((one2) => one2.weight))
25204
+ };
25205
+ }).sort((a, b) => b.score - a.score || a.candidate.from.localeCompare(b.candidate.from));
25206
+ const proposals = [];
25207
+ let fresh = 0;
25208
+ for (const { candidate, purpose, signals: signals2, score } of scored) {
25209
+ const state = await store.knowledge.relationState(null, candidate);
25210
+ if (!state) {
25211
+ skipped.unresolved++;
25212
+ continue;
25213
+ }
25214
+ if (state.linked) {
25215
+ skipped.confirmed++;
25216
+ continue;
25217
+ }
25218
+ if (state.rejected || await rejectedReversed(store, candidate)) {
25219
+ skipped.rejected++;
25220
+ continue;
25221
+ }
25222
+ if (score < threshold) {
25223
+ skipped.belowThreshold++;
25224
+ continue;
25225
+ }
25226
+ if (!state.pending && fresh >= limit) {
25227
+ skipped.overLimit++;
25228
+ continue;
25229
+ }
25230
+ if (!state.pending)
25231
+ fresh++;
25232
+ const { identity: _identity, purpose: _purpose, weight: _weight, why: _why, ...pair } = candidate;
25233
+ const evidence = candidate.evidence.slice(0, 5);
25234
+ const proposal = {
25235
+ ...pair,
25236
+ weight: score,
25237
+ why: signals2.map((one2) => one2.why).join("; "),
25238
+ evidence,
25239
+ ...purpose ? { purpose } : {},
25240
+ score,
25241
+ signals: signals2
25242
+ };
25243
+ if (!input.write) {
25244
+ proposals.push({ ...proposal, id: state.pending?.id ?? null, state: "dry-run" });
25245
+ continue;
25246
+ }
25247
+ const written = await store.knowledge.proposeRelation(null, {
25248
+ from: pair.from,
25249
+ to: pair.to,
25250
+ kind: pair.kind,
25251
+ evidence,
25252
+ reason: proposal.why.slice(0, 2e3),
25253
+ score,
25254
+ signals: signals2,
25255
+ ...purpose ? { purpose } : {}
25256
+ }, SCAN_BOT);
25257
+ proposals.push({
25258
+ ...proposal,
25259
+ id: written.id,
25260
+ state: !state.pending ? "new" : JSON.stringify(written.payload) === JSON.stringify(state.pending.payload) ? "unchanged" : "updated"
25261
+ });
25262
+ }
25263
+ return { project: project2?.ref ?? null, proposals, skipped };
25264
+ }, "scanProjectLinks");
25265
+ var admissible = /* @__PURE__ */ __name(async (store, input, candidate) => {
25266
+ if (candidate.from === candidate.to || !Number.isFinite(candidate.weight))
25267
+ return "unresolved";
25268
+ if (input.project && candidate.to !== input.project.ref && !candidate.to.startsWith("person:"))
25269
+ return "unresolved";
25270
+ if (candidate.from === input.owner || candidate.to === input.owner)
25271
+ return "owner";
25272
+ if (candidate.from.startsWith("person:")) {
25273
+ const identity = candidate.identity === void 0 ? void 0 : referenceOf(candidate.identity);
25274
+ if (identity?.type !== "contact")
25275
+ return "name-only";
25276
+ const person = await store.people.personOf({ provider: identity.provider, id: identity.id });
25277
+ return person !== void 0 && `person:${person.uid}` === candidate.from ? "ok" : "name-only";
25278
+ }
25279
+ if (candidate.from.startsWith("chat:")) {
25280
+ const chat = referenceOf(candidate.from);
25281
+ return chat?.type === "chat" && input.sources.some((source) => sameAccount(source, chat)) ? "ok" : "unresolved";
25282
+ }
25283
+ return "unresolved";
25284
+ }, "admissible");
25285
+ var referenceOf = /* @__PURE__ */ __name((text2) => {
25286
+ try {
25287
+ return parseReference(text2);
25288
+ } catch {
25289
+ return void 0;
25290
+ }
25291
+ }, "referenceOf");
25292
+ 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");
25293
+
25294
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive.js
24698
25295
  import { setTimeout as sleep3 } from "node:timers/promises";
24699
25296
 
24700
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
25297
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
24701
25298
  import { lstat } from "node:fs/promises";
24702
25299
 
24703
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25300
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
24704
25301
  import { createHash as createHash4, randomUUID as randomUUID2 } from "node:crypto";
24705
25302
  import { open as open2, rename as rename2, unlink as unlink2 } from "node:fs/promises";
24706
25303
  import { join as join2 } from "node:path";
24707
25304
 
24708
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-metadata.js
25305
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-metadata.js
24709
25306
  import { createHash as createHash3 } from "node:crypto";
24710
25307
  var metadataLimit = 16384;
24711
25308
  var partialIdentity = /* @__PURE__ */ __name((locator) => JSON.stringify([locator.provider, locator.account, locator.occurrenceId, locator.assetId]), "partialIdentity");
@@ -24765,7 +25362,7 @@ var readPartialMetadata = /* @__PURE__ */ __name(async (path, locator, maxBytes,
24765
25362
  }
24766
25363
  }, "readPartialMetadata");
24767
25364
 
24768
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-writer.js
25365
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-writer.js
24769
25366
  import { randomUUID } from "node:crypto";
24770
25367
  import { open, rename, unlink } from "node:fs/promises";
24771
25368
  import { join } from "node:path";
@@ -24857,7 +25454,7 @@ var partialWriter = /* @__PURE__ */ __name(async (input) => {
24857
25454
  };
24858
25455
  }, "partialWriter");
24859
25456
 
24860
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
25457
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-partial-store.js
24861
25458
  var NativeRecordingPartialStore = class {
24862
25459
  static {
24863
25460
  __name(this, "NativeRecordingPartialStore");
@@ -24964,12 +25561,12 @@ var NativeRecordingPartialStore = class {
24964
25561
  }
24965
25562
  };
24966
25563
 
24967
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
25564
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
24968
25565
  import { createHash as createHash5 } from "node:crypto";
24969
25566
  import { link as link2 } from "node:fs/promises";
24970
25567
  import { basename, dirname, join as join4, resolve } from "node:path";
24971
25568
 
24972
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-files.js
25569
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-files.js
24973
25570
  import { unlink as unlink3 } from "node:fs/promises";
24974
25571
  var verifiedPublicationFile = /* @__PURE__ */ __name(async (path, expected2, signal, writable = false) => {
24975
25572
  signal?.throwIfAborted();
@@ -25004,7 +25601,7 @@ var commitPublication = /* @__PURE__ */ __name(async (root, partialPath, finalPa
25004
25601
  signal?.throwIfAborted();
25005
25602
  }, "commitPublication");
25006
25603
 
25007
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-journal.js
25604
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication-journal.js
25008
25605
  import { randomUUID as randomUUID3 } from "node:crypto";
25009
25606
  import { open as open3, rename as rename3, unlink as unlink4 } from "node:fs/promises";
25010
25607
  import { join as join3 } from "node:path";
@@ -25077,7 +25674,7 @@ var writePublicationJournal = /* @__PURE__ */ __name(async (root, path, prefix,
25077
25674
  }
25078
25675
  }, "writePublicationJournal");
25079
25676
 
25080
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
25677
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/persistence/native/recording-publication.js
25081
25678
  var NativeRecordingPublication = class {
25082
25679
  static {
25083
25680
  __name(this, "NativeRecordingPublication");
@@ -25150,7 +25747,7 @@ var NativeRecordingPublication = class {
25150
25747
  }
25151
25748
  };
25152
25749
 
25153
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive-manifest.js
25750
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive-manifest.js
25154
25751
  import { createHash as createHash6 } from "node:crypto";
25155
25752
  import { readdir } from "node:fs/promises";
25156
25753
  import { isAbsolute, join as join5, resolve as resolve2 } from "node:path";
@@ -25237,7 +25834,7 @@ var commitMediaEntry = /* @__PURE__ */ __name((root, one2, beforePublish) => wri
25237
25834
  beforePublish
25238
25835
  }), "commitMediaEntry");
25239
25836
 
25240
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
25837
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive-files.js
25241
25838
  var validator = '"media-completed-v1"';
25242
25839
  var maximumFileBytes = 64 * 1024 * 1024 * 1024;
25243
25840
  var archiveMediaFile = /* @__PURE__ */ __name(async (root, identity, kind, file2, beforeWrite, signal, metadata = {}) => {
@@ -25338,7 +25935,7 @@ var archiveMediaFile = /* @__PURE__ */ __name(async (root, identity, kind, file2
25338
25935
  return entry;
25339
25936
  }, "archiveMediaFile");
25340
25937
 
25341
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive-locks.js
25938
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive-locks.js
25342
25939
  import { mkdir, realpath } from "node:fs/promises";
25343
25940
  import { join as join6, resolve as resolve3 } from "node:path";
25344
25941
  var archiveLocations = /* @__PURE__ */ __name(async (initial, signal) => {
@@ -25405,7 +26002,7 @@ var withMediaArchiveLocks = /* @__PURE__ */ __name(async (directory2, signal, ru
25405
26002
  throw new CliError("validation_error", "archive locations changed during locking; run the command again");
25406
26003
  }, "withMediaArchiveLocks");
25407
26004
 
25408
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive.js
26005
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive.js
25409
26006
  var validateMediaSince = /* @__PURE__ */ __name((value, flag = "--since-time") => {
25410
26007
  if (value === void 0)
25411
26008
  return void 0;
@@ -25558,7 +26155,7 @@ var archiveMedia = /* @__PURE__ */ __name(async (ports, options) => {
25558
26155
  }, { create: true });
25559
26156
  }, "archiveMedia");
25560
26157
 
25561
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/media-archive-move.js
26158
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/media-archive-move.js
25562
26159
  import { realpath as realpath2, unlink as unlink5 } from "node:fs/promises";
25563
26160
  import { basename as basename2, dirname as dirname2, join as join7, resolve as resolve4 } from "node:path";
25564
26161
  var canonicalDestination = /* @__PURE__ */ __name(async (directory2) => {
@@ -25711,7 +26308,7 @@ var moveMediaArchive = /* @__PURE__ */ __name(async (options) => {
25711
26308
  }, { additional: [target2], createAdditional: !options.dryRun });
25712
26309
  }, "moveMediaArchive");
25713
26310
 
25714
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/model-downloads.js
26311
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/model-downloads.js
25715
26312
  var bytesOf = /* @__PURE__ */ __name((model) => model.files.reduce((sum2, file2) => sum2 + file2.bytes, 0), "bytesOf");
25716
26313
  var nativeRuntime = /* @__PURE__ */ __name(async ({ env, progress = /* @__PURE__ */ __name(() => {
25717
26314
  }, "progress") }) => {
@@ -25734,7 +26331,7 @@ var downloadTextModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
25734
26331
  }
25735
26332
  await nativeRuntime({ env, progress });
25736
26333
  progress(`${model.id}: loading it once to check it works`);
25737
- const { openEmbedder: openEmbedder2 } = await import("./embed-YNH5M6UL.js");
26334
+ const { openEmbedder: openEmbedder2 } = await import("./embed-6KQN523T.js");
25738
26335
  const embedder = await openEmbedder2(model, directory2);
25739
26336
  try {
25740
26337
  const [vector] = await embedder.embed(["check"], "query");
@@ -25755,7 +26352,7 @@ var downloadRerankModel = /* @__PURE__ */ __name(async (id2, { env, progress = /
25755
26352
  }
25756
26353
  await nativeRuntime({ env, progress });
25757
26354
  progress(`${model.id}: loading it once to check it works`);
25758
- const { openReranker } = await import("./rerank-SCBTCBPO.js");
26355
+ const { openReranker } = await import("./rerank-JUH3QHX7.js");
25759
26356
  const reranker = await openReranker(model, directory2);
25760
26357
  try {
25761
26358
  await reranker.score("check", ["check"]);
@@ -25773,7 +26370,7 @@ var downloadImageModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
25773
26370
  await installFiles(placedImage(model, directory2), { progress });
25774
26371
  }
25775
26372
  progress(`${model.id}: loading it once to check it works`);
25776
- const { openPictureEmbedder } = await import("./embedder-LLNK4JF4.js");
26373
+ const { openPictureEmbedder } = await import("./embedder-7SGPMINO.js");
25777
26374
  const embedder = await openPictureEmbedder(model, directory2);
25778
26375
  try {
25779
26376
  const vector = await embedder.embedQuery("check");
@@ -25785,7 +26382,7 @@ var downloadImageModel = /* @__PURE__ */ __name(async (id2, { env, progress = /*
25785
26382
  return { model, directory: directory2 };
25786
26383
  }, "downloadImageModel");
25787
26384
 
25788
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/money-words.js
26385
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/money-words.js
25789
26386
  var MONEY_REQUEST = "money-request";
25790
26387
  var MONEY_DONE = "money-done";
25791
26388
  var PROMISE = "promise";
@@ -25819,10 +26416,10 @@ var MONEY_WORDS = [
25819
26416
  }
25820
26417
  ];
25821
26418
 
25822
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/money-words.js
26419
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/money-words.js
25823
26420
  var moneyClassesOf = /* @__PURE__ */ __name((text2) => listsHit(text2, MONEY_WORDS), "moneyClassesOf");
25824
26421
 
25825
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/status-words.js
26422
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/status-words.js
25826
26423
  var words = /* @__PURE__ */ __name((forms) => new RegExp(`(?<![\\p{L}\\p{N}])(?:${forms.join("|")})(?![\\p{L}\\p{N}])`, "iu"), "words");
25827
26424
  var MONEY_DONE_FORMS = words([
25828
26425
  "\u043E\u043F\u043B\u0430\u0442\u0438\u043B[\u0430\u0438]?",
@@ -25862,7 +26459,7 @@ var PROMISE_FORMS = words([
25862
26459
  "estar\xE1 listo"
25863
26460
  ]);
25864
26461
 
25865
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/items.js
26462
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/items.js
25866
26463
  var EXCERPT_CHARS = 80;
25867
26464
  var excerpt2 = /* @__PURE__ */ __name((text2) => {
25868
26465
  const flat = text2.replace(/\s+/g, " ").trim();
@@ -25884,7 +26481,7 @@ var whoOf = /* @__PURE__ */ __name((message) => ({
25884
26481
  var fromOwner = /* @__PURE__ */ __name((message) => message.outgoing === true, "fromOwner");
25885
26482
  var day = /* @__PURE__ */ __name((at) => new Date(at).toISOString().slice(0, 10), "day");
25886
26483
 
25887
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/amounts.js
26484
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/amounts.js
25888
26485
  var MONEY = DEFAULT_TASK_CATEGORIES.filter((category) => category.name === "money");
25889
26486
  var verbOf = /* @__PURE__ */ __name((text2) => {
25890
26487
  if (MONEY_DONE_FORMS.test(text2))
@@ -25964,7 +26561,7 @@ var amounts = {
25964
26561
  attention: /* @__PURE__ */ __name((items) => items.flatMap((item2) => item2.chat !== null && item2.data.state === "open" ? [{ chat: item2.chat, weight: 2, why: "money open" }] : []), "attention")
25965
26562
  };
25966
26563
 
25967
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/children.js
26564
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/children.js
25968
26565
  var children = {
25969
26566
  id: "children",
25970
26567
  version: 1,
@@ -25993,7 +26590,7 @@ var children = {
25993
26590
  }, "read")
25994
26591
  };
25995
26592
 
25996
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/coverage.js
26593
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/coverage.js
25997
26594
  var coverage = {
25998
26595
  id: "coverage",
25999
26596
  version: 1,
@@ -26022,7 +26619,7 @@ var coverage = {
26022
26619
  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")
26023
26620
  };
26024
26621
 
26025
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/last-message.js
26622
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/last-message.js
26026
26623
  var lastMessage = {
26027
26624
  id: "last-message",
26028
26625
  version: 1,
@@ -26044,7 +26641,7 @@ var lastMessage = {
26044
26641
  }, "read")
26045
26642
  };
26046
26643
 
26047
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/payments.js
26644
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/payments.js
26048
26645
  var holding = /* @__PURE__ */ __name((row) => row.review !== "rejected", "holding");
26049
26646
  var item = /* @__PURE__ */ __name((row, at, data) => ({
26050
26647
  signal: "payments",
@@ -26094,7 +26691,7 @@ var payments = {
26094
26691
  }, "read")
26095
26692
  };
26096
26693
 
26097
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/promises.js
26694
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/promises.js
26098
26695
  var PATTERNS_PER_CHAT = 3;
26099
26696
  var DAY3 = 864e5;
26100
26697
  var KINDS2 = /* @__PURE__ */ new Set(["promise", "request"]);
@@ -26183,7 +26780,7 @@ var promises = {
26183
26780
  }, "read")
26184
26781
  };
26185
26782
 
26186
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/questions.js
26783
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/questions.js
26187
26784
  var PER_SIDE = 5;
26188
26785
  var WEEK = 7 * 864e5;
26189
26786
  var NOBODY = /* @__PURE__ */ new Set();
@@ -26214,7 +26811,7 @@ var questions2 = {
26214
26811
  }, "attention")
26215
26812
  };
26216
26813
 
26217
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/reply-next.js
26814
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/reply-next.js
26218
26815
  var targetOf = /* @__PURE__ */ __name((message, chat, owners) => {
26219
26816
  const byId2 = /* @__PURE__ */ __name((id2) => chat.messages.find((one2) => one2.id === id2), "byId");
26220
26817
  const quoted = message.replyTo ?? (message.replyToId === void 0 ? void 0 : byId2(message.replyToId));
@@ -26282,14 +26879,14 @@ var replyNext = {
26282
26879
  attention: /* @__PURE__ */ __name((items) => items.flatMap((item2) => item2.chat !== null && item2.data.next === "owner" ? [{ chat: item2.chat, weight: 2, why: "your move" }] : []), "attention")
26283
26880
  };
26284
26881
 
26285
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/topics.js
26286
- var escaped = /* @__PURE__ */ __name((text2) => text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escaped");
26287
- var wholeWord = /* @__PURE__ */ __name((word) => new RegExp(`(?<![\\p{L}\\p{N}])${escaped(word)}(?![\\p{L}\\p{N}])`, "u"), "wholeWord");
26882
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/topics.js
26883
+ var escaped2 = /* @__PURE__ */ __name((text2) => text2.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escaped");
26884
+ var wholeWord = /* @__PURE__ */ __name((word) => new RegExp(`(?<![\\p{L}\\p{N}])${escaped2(word)}(?![\\p{L}\\p{N}])`, "u"), "wholeWord");
26288
26885
  var matcherOf = /* @__PURE__ */ __name((query) => {
26289
26886
  const words3 = normalize(query).split(" ").filter(Boolean).map(wholeWord);
26290
26887
  return (text2) => {
26291
- const folded = normalize(text2);
26292
- return words3.length > 0 && words3.every((word) => word.test(folded));
26888
+ const folded2 = normalize(text2);
26889
+ return words3.length > 0 && words3.every((word) => word.test(folded2));
26293
26890
  };
26294
26891
  }, "matcherOf");
26295
26892
  var topics = {
@@ -26328,7 +26925,7 @@ var topics = {
26328
26925
  }, "read")
26329
26926
  };
26330
26927
 
26331
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/signals/index.js
26928
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/signals/index.js
26332
26929
  var STATUS_SIGNALS = [
26333
26930
  lastMessage,
26334
26931
  replyNext,
@@ -26341,7 +26938,7 @@ var STATUS_SIGNALS = [
26341
26938
  children
26342
26939
  ];
26343
26940
 
26344
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/project-status/index.js
26941
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/project-status/index.js
26345
26942
  var DAY4 = 864e5;
26346
26943
  var STATUS_WINDOW = 300;
26347
26944
  var STATUS_CHATS = 16;
@@ -26523,7 +27120,7 @@ var projectStatus = /* @__PURE__ */ __name(async (store, input) => {
26523
27120
  };
26524
27121
  }, "projectStatus");
26525
27122
 
26526
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/account.js
27123
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/account.js
26527
27124
  var accountService = /* @__PURE__ */ __name((deps) => {
26528
27125
  const online = /* @__PURE__ */ __name(async (command) => {
26529
27126
  if (deps.offline)
@@ -26595,7 +27192,7 @@ var accountService = /* @__PURE__ */ __name((deps) => {
26595
27192
  };
26596
27193
  }, "accountService");
26597
27194
 
26598
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/send-time.js
27195
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/send-time.js
26599
27196
  var MINUTE = 6e4;
26600
27197
  var YEAR = 365 * 24 * 60 * MINUTE;
26601
27198
  var DELAY = /^(\d+)(m|h|d)$/;
@@ -26614,7 +27211,7 @@ var sendTime = /* @__PURE__ */ __name((value, now = Date.now(), flag = "--at-tim
26614
27211
  return new Date(at - at % MINUTE).toISOString();
26615
27212
  }, "sendTime");
26616
27213
 
26617
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/admin.js
27214
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/admin.js
26618
27215
  var recordMembership = /* @__PURE__ */ __name(async (deps, operationId, done2, change, fix, write2) => {
26619
27216
  try {
26620
27217
  const held = await accountStoreIfOpen(deps);
@@ -26861,7 +27458,7 @@ var linkLimits = /* @__PURE__ */ __name(({ approval, expires, maxUses }) => {
26861
27458
  return expires === void 0 ? void 0 : sendTime(expires, Date.now(), "--expire-time");
26862
27459
  }, "linkLimits");
26863
27460
 
26864
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/mail-search.js
27461
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/mail-search.js
26865
27462
  var THREADS_PAGE = 500;
26866
27463
  var threadsOf = /* @__PURE__ */ __name(async (store, key) => {
26867
27464
  const account = await store.accounts.storedAccount(key).catch(() => void 0);
@@ -26940,7 +27537,7 @@ var readMail = /* @__PURE__ */ __name(async (store, locator, { before: before2 =
26940
27537
  return thread.slice(Math.max(0, at - before2), at + after + 1).map((hit) => hit.id === message ? { ...hit, anchor: true } : hit);
26941
27538
  }, "readMail");
26942
27539
 
26943
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-kind.js
27540
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-kind.js
26944
27541
  var NO_MAIL = "no_mail";
26945
27542
  var MAIL = "email";
26946
27543
  var listContextOf = /* @__PURE__ */ __name(async (store, account, app, stored) => {
@@ -26987,7 +27584,7 @@ var accountsOfKind = /* @__PURE__ */ __name((kind, chosen, held, explicit, comma
26987
27584
  return chosenMail.map(({ provider, account }) => ({ provider, account }));
26988
27585
  }, "accountsOfKind");
26989
27586
 
26990
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-search.js
27587
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-search.js
26991
27588
  var MAIL_FIELDS = /* @__PURE__ */ new Set(["to", "cc", "bcc", "subject", "mailbox", "label", "is"]);
26992
27589
  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");
26993
27590
  var prepareLucene = /* @__PURE__ */ __name(async (store, account, request, messenger) => {
@@ -27335,7 +27932,7 @@ var statsLucene = /* @__PURE__ */ __name(async (store, account, request, messeng
27335
27932
  };
27336
27933
  }, "statsLucene");
27337
27934
 
27338
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/rankings-selection.js
27935
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/rankings-selection.js
27339
27936
  var RANKING_SELECTION_BYTES = 64 * 1024;
27340
27937
  var object = /* @__PURE__ */ __name((value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0, "object");
27341
27938
  function invalid(message = "ranking selection is invalid \u2014 obtain a new drilldown from stats top") {
@@ -27504,7 +28101,7 @@ var readRankingSelection = /* @__PURE__ */ __name(async (store, input) => {
27504
28101
  };
27505
28102
  }, "readRankingSelection");
27506
28103
 
27507
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-record.js
28104
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-record.js
27508
28105
  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");
27509
28106
  var searchRecordOf = /* @__PURE__ */ __name((command, params) => ({
27510
28107
  command,
@@ -27514,7 +28111,7 @@ var searchRecordOf = /* @__PURE__ */ __name((command, params) => ({
27514
28111
  fieldsVersion: FIELD_VERSION
27515
28112
  }), "searchRecordOf");
27516
28113
 
27517
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/admin-statistics.js
28114
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/admin-statistics.js
27518
28115
  function invalid2(message) {
27519
28116
  throw new CliError("validation_error", message);
27520
28117
  }
@@ -27808,7 +28405,7 @@ var adminStatisticsService = /* @__PURE__ */ __name((deps) => ({
27808
28405
  }, "evidence")
27809
28406
  }), "adminStatisticsService");
27810
28407
 
27811
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/archive-gaps.js
28408
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/archive-gaps.js
27812
28409
  import { createHash as createHash7, randomUUID as randomUUID4 } from "node:crypto";
27813
28410
  var GAP_BOUNDS = { maxGaps: 5, limit: 500, timeMs: 3e4 };
27814
28411
  var validateRepair = /* @__PURE__ */ __name((messenger, options) => {
@@ -27945,16 +28542,16 @@ var gapsService = /* @__PURE__ */ __name((deps) => {
27945
28542
  return { plan, repair };
27946
28543
  }, "gapsService");
27947
28544
 
27948
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/attachments.js
28545
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/attachments.js
27949
28546
  import { createHash as createHash9 } from "node:crypto";
27950
28547
  import { constants as constants2, mkdirSync as mkdirSync2 } from "node:fs";
27951
28548
  import { lstat as lstat4, open as open6, readFile, stat as stat2 } from "node:fs/promises";
27952
28549
 
27953
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/directory.js
28550
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/directory.js
27954
28551
  import { lstat as lstat2, readdir as readdir2, realpath as realpath3 } from "node:fs/promises";
27955
28552
  import { basename as basename4, join as join8, relative as relative2, sep as sep2 } from "node:path";
27956
28553
 
27957
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/sends/upload.js
28554
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/sends/upload.js
27958
28555
  import { openAsBlob, realpathSync } from "node:fs";
27959
28556
  import { open as open4, stat } from "node:fs/promises";
27960
28557
  import { basename as basename3, dirname as dirname3, extname, isAbsolute as isAbsolute2, relative, resolve as resolve5, sep } from "node:path";
@@ -28064,8 +28661,8 @@ var refusedPlace = /* @__PURE__ */ __name((path, app, env, platform = process.pl
28064
28661
  ancestor = parent;
28065
28662
  }
28066
28663
  }
28067
- const folded = platform === "darwin" || platform === "win32";
28068
- const fold2 = /* @__PURE__ */ __name((text2) => folded ? text2.toLowerCase() : text2, "fold");
28664
+ const folded2 = platform === "darwin" || platform === "win32";
28665
+ const fold2 = /* @__PURE__ */ __name((text2) => folded2 ? text2.toLowerCase() : text2, "fold");
28069
28666
  const parts = new Set([...CREDENTIAL_PARTS].map(fold2));
28070
28667
  const runs = CREDENTIAL_RUNS.map((run) => run.map(fold2));
28071
28668
  const named2 = /* @__PURE__ */ __name((candidate) => {
@@ -28156,7 +28753,7 @@ var readStickerFile = /* @__PURE__ */ __name(async (path, maxBytes, read2) => {
28156
28753
  return { name, source };
28157
28754
  }, "readStickerFile");
28158
28755
 
28159
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/directory.js
28756
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/directory.js
28160
28757
  var MAX_FILES = 1e4;
28161
28758
  var directoryPaths = /* @__PURE__ */ __name(async (store, chat, directory2, app, env) => {
28162
28759
  if (refusedPlace(directory2, app, env))
@@ -28225,15 +28822,15 @@ var directoryPaths = /* @__PURE__ */ __name(async (store, chat, directory2, app,
28225
28822
  return choices;
28226
28823
  }, "directoryPaths");
28227
28824
 
28228
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/documents.js
28825
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/documents.js
28229
28826
  import { posix } from "node:path";
28230
28827
 
28231
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/container.js
28828
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/container.js
28232
28829
  import { setImmediate as tick } from "node:timers/promises";
28233
28830
  import { crc32 } from "node:zlib";
28234
28831
  var import_xmldom = __toESM(require_lib(), 1);
28235
28832
 
28236
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/encoding.js
28833
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/encoding.js
28237
28834
  var import_chardet = __toESM(require_lib2(), 1);
28238
28835
  var import_iconv_lite = __toESM(require_lib3(), 1);
28239
28836
  var SAMPLE = 65536;
@@ -28298,11 +28895,11 @@ var sample = /* @__PURE__ */ __name((bytes2) => {
28298
28895
  return result;
28299
28896
  }, "sample");
28300
28897
  var decodeText = /* @__PURE__ */ __name((bytes2) => {
28301
- const marked = bom(bytes2);
28302
- if (marked === "unsupported")
28898
+ const marked2 = bom(bytes2);
28899
+ if (marked2 === "unsupported")
28303
28900
  return { error: "unsupported_encoding" };
28304
- if (marked)
28305
- return decode(bytes2, marked);
28901
+ if (marked2)
28902
+ return decode(bytes2, marked2);
28306
28903
  const utf8 = decode(bytes2, "utf-8");
28307
28904
  if (!("error" in utf8) || utf8.error === "binary")
28308
28905
  return utf8;
@@ -28325,17 +28922,17 @@ var decodeText = /* @__PURE__ */ __name((bytes2) => {
28325
28922
  return decode(bytes2, best[0]);
28326
28923
  }, "decodeText");
28327
28924
  var decodeXml = /* @__PURE__ */ __name((bytes2) => {
28328
- const marked = bom(bytes2);
28329
- if (marked === "unsupported")
28925
+ const marked2 = bom(bytes2);
28926
+ if (marked2 === "unsupported")
28330
28927
  throw new Error("unsupported_encoding");
28331
28928
  const declaration = new TextDecoder("ascii").decode(bytes2.subarray(0, 256)).match(/^\s*<\?xml[^>]*\bencoding=["']([^"']+)["']/i);
28332
- const result = decode(bytes2, marked ?? declaration?.[1] ?? "utf-8");
28929
+ const result = decode(bytes2, marked2 ?? declaration?.[1] ?? "utf-8");
28333
28930
  if ("error" in result)
28334
28931
  throw new Error(result.error);
28335
28932
  return result.text;
28336
28933
  }, "decodeXml");
28337
28934
 
28338
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/container.js
28935
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/container.js
28339
28936
  var MAX_PART = 10 * 1024 * 1024;
28340
28937
  var MAX_ENTRIES = 1e3;
28341
28938
  var decoder = new TextDecoder("utf-8", { fatal: true });
@@ -28550,7 +29147,7 @@ var elements = /* @__PURE__ */ __name((node, name, namespace) => {
28550
29147
  return found;
28551
29148
  }, "elements");
28552
29149
 
28553
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/sheets.js
29150
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/sheets.js
28554
29151
  var columnName = /* @__PURE__ */ __name((column) => {
28555
29152
  let name = "";
28556
29153
  for (let rest = column; rest > 0; rest = Math.floor((rest - 1) / 26))
@@ -28605,7 +29202,7 @@ var sheetText = /* @__PURE__ */ __name((sheets2, maxChars = MAX_TEXT_CHARS) => {
28605
29202
  return { text: parts.join("").trim(), truncated: false };
28606
29203
  }, "sheetText");
28607
29204
 
28608
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/documents.js
29205
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/documents.js
28609
29206
  var OFFICE = "urn:oasis:names:tc:opendocument:xmlns:office:1.0";
28610
29207
  var TEXT = "urn:oasis:names:tc:opendocument:xmlns:text:1.0";
28611
29208
  var TABLE = "urn:oasis:names:tc:opendocument:xmlns:table:1.0";
@@ -29005,10 +29602,10 @@ var readDocument = /* @__PURE__ */ __name(async (bytes2, kind, signal) => {
29005
29602
  }
29006
29603
  }, "readDocument");
29007
29604
 
29008
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/extract.js
29605
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/extract.js
29009
29606
  import { extname as extname3 } from "node:path";
29010
29607
 
29011
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/engine.js
29608
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/engine.js
29012
29609
  import { readFileSync } from "node:fs";
29013
29610
  import { dirname as dirname4, extname as extname2, join as join9 } from "node:path";
29014
29611
  import { fileURLToPath } from "node:url";
@@ -29069,7 +29666,7 @@ var derived = /* @__PURE__ */ __name((bytes2, extractor, read2) => {
29069
29666
  }
29070
29667
  }, "derived");
29071
29668
 
29072
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/image/index.js
29669
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/image/index.js
29073
29670
  var IMAGES = /* @__PURE__ */ new Set([".jpg", ".jpeg", ".png", ".webp", ".gif", ".heic", ".tif", ".tiff", ".bmp"]);
29074
29671
  var image2 = {
29075
29672
  id: "image",
@@ -29078,7 +29675,7 @@ var image2 = {
29078
29675
  read: /* @__PURE__ */ __name(async () => ({ status: "needs-agent" }), "read")
29079
29676
  };
29080
29677
 
29081
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/doc/index.js
29678
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/doc/index.js
29082
29679
  var OLE = "\xD0\xCF\xE0\xA1\xB1\xE1";
29083
29680
  var doc = {
29084
29681
  id: "doc",
@@ -29090,7 +29687,7 @@ var doc = {
29090
29687
  }), "read")
29091
29688
  };
29092
29689
 
29093
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/docx/index.js
29690
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/docx/index.js
29094
29691
  var DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
29095
29692
  var docx = {
29096
29693
  id: "docx",
@@ -29103,7 +29700,7 @@ var docx = {
29103
29700
  }), "read")
29104
29701
  };
29105
29702
 
29106
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/markup.js
29703
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/markup.js
29107
29704
  var import_iconv_lite2 = __toESM(require_lib3(), 1);
29108
29705
  var RTF_SKIPPED = /* @__PURE__ */ new Set([
29109
29706
  "fonttbl",
@@ -29279,7 +29876,7 @@ var htmlText = /* @__PURE__ */ __name((source) => {
29279
29876
  }, "htmlText");
29280
29877
  var safeChar = /* @__PURE__ */ __name((code, fallback) => code > 0 && code <= 1114111 ? String.fromCodePoint(code) : fallback, "safeChar");
29281
29878
 
29282
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/html/page.js
29879
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/html/page.js
29283
29880
  var clean = /* @__PURE__ */ __name((value) => typeof value === "string" ? value.replace(/\s+/g, " ").trim() : "", "clean");
29284
29881
  var namesIn = /* @__PURE__ */ __name((value) => [value].flat().map((entry) => typeof entry === "string" ? clean(entry) : clean(entry?.name)).filter(Boolean).join(", "), "namesIn");
29285
29882
  var jsonLdNodes = /* @__PURE__ */ __name((document) => {
@@ -29335,7 +29932,7 @@ var markdownSections = /* @__PURE__ */ __name((text2) => {
29335
29932
  return found.map((section, index) => ({ ...section, end: found[index + 1]?.start ?? text2.length }));
29336
29933
  }, "markdownSections");
29337
29934
 
29338
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/html/index.js
29935
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/html/index.js
29339
29936
  var HTML = /* @__PURE__ */ new Set([".html", ".htm", ".xhtml"]);
29340
29937
  var first = /* @__PURE__ */ __name((...values) => values.find((value) => typeof value === "string" && value !== ""), "first");
29341
29938
  var loaded = /* @__PURE__ */ __name(async (load, name) => {
@@ -29406,7 +30003,7 @@ var html = {
29406
30003
  }, "read")
29407
30004
  };
29408
30005
 
29409
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/office/index.js
30006
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/office/index.js
29410
30007
  var office = {
29411
30008
  id: "office",
29412
30009
  version: documentExtractor("odt"),
@@ -29417,7 +30014,7 @@ var office = {
29417
30014
  }, "read")
29418
30015
  };
29419
30016
 
29420
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/pdf/index.js
30017
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/pdf/index.js
29421
30018
  var pdf = {
29422
30019
  id: "pdf",
29423
30020
  version: "unpdf",
@@ -29484,7 +30081,7 @@ var pdf = {
29484
30081
  }), "read")
29485
30082
  };
29486
30083
 
29487
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/plain/index.js
30084
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/plain/index.js
29488
30085
  var PLAIN = /* @__PURE__ */ new Set([".txt", ".md", ".markdown", ".csv", ".tsv", ".json", ".log"]);
29489
30086
  var isPlain = /* @__PURE__ */ __name((hint) => PLAIN.has(extensionOf(hint)) || hint.mime?.startsWith("text/") || hint.mime === "application/json", "isPlain");
29490
30087
  var readPlain = /* @__PURE__ */ __name((bytes2) => {
@@ -29504,7 +30101,7 @@ var plain = {
29504
30101
  read: /* @__PURE__ */ __name(async (bytes2) => readPlain(bytes2), "read")
29505
30102
  };
29506
30103
 
29507
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/rtf/index.js
30104
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/rtf/index.js
29508
30105
  var rtf = {
29509
30106
  id: "rtf",
29510
30107
  version: "v1",
@@ -29512,10 +30109,10 @@ var rtf = {
29512
30109
  read: /* @__PURE__ */ __name(async (bytes2) => derived(bytes2, "rtf:v1", rtfText), "read")
29513
30110
  };
29514
30111
 
29515
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30112
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
29516
30113
  import { basename as basename5 } from "node:path";
29517
30114
 
29518
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/csv-spans.js
30115
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/csv-spans.js
29519
30116
  var delimitedSpans = /* @__PURE__ */ __name((text2, delimiter, maxCells = 1e4) => {
29520
30117
  const cells = [];
29521
30118
  let row = 1, column = 1, start = 0, quoted = false, truncated = false;
@@ -29553,7 +30150,7 @@ var delimitedSpans = /* @__PURE__ */ __name((text2, delimiter, maxCells = 1e4) =
29553
30150
  return { cells, truncated };
29554
30151
  }, "delimitedSpans");
29555
30152
 
29556
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
30153
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/sheets/index.js
29557
30154
  var DELIMITED = {
29558
30155
  ".csv": ",",
29559
30156
  ".tsv": " ",
@@ -29592,7 +30189,7 @@ var sheets = {
29592
30189
  }, "read")
29593
30190
  };
29594
30191
 
29595
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/readers/registry.js
30192
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/readers/registry.js
29596
30193
  var BUILT_INS2 = [office, pdf, docx, doc, rtf, html, sheets, plain, image2];
29597
30194
  var HEAD_BYTES = 1024;
29598
30195
  var readers = [...BUILT_INS2];
@@ -29602,7 +30199,7 @@ var readWithRegistry = /* @__PURE__ */ __name(async (bytes2, hint, context2) =>
29602
30199
  return reader ? reader.read(bytes2, hint, context2) : { status: "unsupported" };
29603
30200
  }, "readWithRegistry");
29604
30201
 
29605
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/extract.js
30202
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/extract.js
29606
30203
  var importEngine = /* @__PURE__ */ __name((name) => importFrom(new URL("attachments/extract.js", import.meta.resolve("@wirecat/cli-core")).href, name), "importEngine");
29607
30204
  var extensionOf2 = /* @__PURE__ */ __name(({ name, path }) => extname3(name ?? path).toLowerCase(), "extensionOf");
29608
30205
  var extractText = /* @__PURE__ */ __name(async (bytes2, hint, load, signal, env = process.env) => {
@@ -30681,7 +31278,7 @@ function imageSize(input) {
30681
31278
  }
30682
31279
  __name(imageSize, "imageSize");
30683
31280
 
30684
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/ocr.js
31281
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/ocr.js
30685
31282
  var MAX_PAGES = 20;
30686
31283
  var MAX_PIXELS = 2e7;
30687
31284
  var cancelled2 = /* @__PURE__ */ __name((signal) => {
@@ -30832,7 +31429,7 @@ var ocrPdf = /* @__PURE__ */ __name(async (bytes2, pipeline2, load, signal) => {
30832
31429
  }
30833
31430
  }, "ocrPdf");
30834
31431
 
30835
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/pdf-preview.js
31432
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/pdf-preview.js
30836
31433
  var pdfPreview = /* @__PURE__ */ __name(async (bytes2, page, signal, load = importEngine, env = process.env) => {
30837
31434
  const limits = pdfPreviewLimits(env);
30838
31435
  const cancelled4 = /* @__PURE__ */ __name(() => {
@@ -30909,7 +31506,7 @@ var pdfPreview = /* @__PURE__ */ __name(async (bytes2, page, signal, load = impo
30909
31506
  }
30910
31507
  }, "pdfPreview");
30911
31508
 
30912
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/attachments/transfer.js
31509
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/attachments/transfer.js
30913
31510
  import { createHash as createHash8 } from "node:crypto";
30914
31511
  import { constants } from "node:fs";
30915
31512
  import { lstat as lstat3, open as open5 } from "node:fs/promises";
@@ -31017,7 +31614,7 @@ var transferMime = /* @__PURE__ */ __name((head, hint, name = null) => {
31017
31614
  return hint !== null && /^[a-z0-9.+-]+\/[a-z0-9.+-]+$/i.test(hint) ? hint : "application/octet-stream";
31018
31615
  }, "transferMime");
31019
31616
 
31020
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/file-download.js
31617
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/file-download.js
31021
31618
  import { createWriteStream, mkdirSync } from "node:fs";
31022
31619
  import { link as link3, rm } from "node:fs/promises";
31023
31620
  import { join as join10, resolve as resolve6 } from "node:path";
@@ -31131,7 +31728,7 @@ var save = /* @__PURE__ */ __name(async (file2, directory2, fallbackName, { uniq
31131
31728
  }
31132
31729
  }, "save");
31133
31730
 
31134
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/attachments.js
31731
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/attachments.js
31135
31732
  var ATTACHMENT_QUERY = {
31136
31733
  entity: "attachment",
31137
31734
  backend: "sql",
@@ -31554,7 +32151,7 @@ var attachmentsService = /* @__PURE__ */ __name((deps) => ({
31554
32151
  }, "setText")
31555
32152
  }), "attachmentsService");
31556
32153
 
31557
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/chat-documents.js
32154
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/chat-documents.js
31558
32155
  var chatDocumentsService = /* @__PURE__ */ __name((deps) => ({
31559
32156
  list: /* @__PURE__ */ __name(async (chat, { limit, offset, ref }) => {
31560
32157
  const store = await accountStore(deps);
@@ -31584,7 +32181,7 @@ var chatDocumentsService = /* @__PURE__ */ __name((deps) => ({
31584
32181
  }, "list")
31585
32182
  }), "chatDocumentsService");
31586
32183
 
31587
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/retention.js
32184
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/retention.js
31588
32185
  var observationDuration = /* @__PURE__ */ __name((text2, flag) => {
31589
32186
  const match = /^(\d+(?:\.\d+)?)([smhdw])$/.exec(text2);
31590
32187
  const units2 = { s: 1e3, m: 6e4, h: 36e5, d: 864e5, w: 6048e5 };
@@ -31671,7 +32268,7 @@ var isRetentionSelection = /* @__PURE__ */ __name((selection) => {
31671
32268
  }
31672
32269
  }, "isRetentionSelection");
31673
32270
 
31674
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/counters.js
32271
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/counters.js
31675
32272
  var counterFields = /* @__PURE__ */ __name((text2 = "views,reactions,comments") => {
31676
32273
  const fields = text2.split(",").map((one2) => one2.trim());
31677
32274
  if (!fields.length || fields.some((one2) => !COUNTER_FIELDS.includes(one2)) || new Set(fields).size !== fields.length)
@@ -31878,7 +32475,7 @@ var countersService = /* @__PURE__ */ __name((deps) => {
31878
32475
  };
31879
32476
  }, "countersService");
31880
32477
 
31881
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-refresh.js
32478
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-refresh.js
31882
32479
  var SYNC_KEY = "messages.sync-first";
31883
32480
  var SYNC_BOUNDS = { maxChats: 5, timeMs: 3e4, maxMessages: 500 };
31884
32481
  var keyOf2 = /* @__PURE__ */ __name((chat) => JSON.stringify([chat.account.provider, chat.account.account, chat.chatId]), "keyOf");
@@ -32010,7 +32607,7 @@ var withRefresh = /* @__PURE__ */ __name((found, refreshed) => ({
32010
32607
  ...!refreshed || refreshed.complete ? {} : { coverage: { ...found.coverage, state: "stale" } }
32011
32608
  }), "withRefresh");
32012
32609
 
32013
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/embeddings-search.js
32610
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/embeddings-search.js
32014
32611
  var CANDIDATES = 50;
32015
32612
  var WORD_HITS = 200;
32016
32613
  var RRF_K = 60;
@@ -32128,7 +32725,7 @@ var embeddingsSearch = /* @__PURE__ */ __name((deps) => {
32128
32725
  }, deps.messenger);
32129
32726
  const eligibility = filter === void 0 ? void 0 : await store.queries.conversationEligibility(prepared.execution);
32130
32727
  const selected = prepared.selectedChat;
32131
- const scopeOf3 = /* @__PURE__ */ __name((one2) => selected ? selected.account.provider === one2.provider && selected.account.account === one2.account ? { chatId: selected.chatId } : null : {}, "scopeOf");
32728
+ const scopeOf4 = /* @__PURE__ */ __name((one2) => selected ? selected.account.provider === one2.provider && selected.account.account === one2.account ? { chatId: selected.chatId } : null : {}, "scopeOf");
32132
32729
  const words3 = await byWords(query, prepared, eligibility?.conversations, since);
32133
32730
  const meaning = [];
32134
32731
  const sources = words3.sources;
@@ -32136,7 +32733,7 @@ var embeddingsSearch = /* @__PURE__ */ __name((deps) => {
32136
32733
  await withEmbedder(deps, target2, choice, {}, async (embedder) => {
32137
32734
  const [vector] = await embedder.embed([query], "query");
32138
32735
  for (const one2 of prepared.scopeAccounts) {
32139
- const scope = scopeOf3(one2);
32736
+ const scope = scopeOf4(one2);
32140
32737
  if (scope === null)
32141
32738
  continue;
32142
32739
  const hits = await store.vectors.nearestConversations(one2, {
@@ -32170,7 +32767,7 @@ var embeddingsSearch = /* @__PURE__ */ __name((deps) => {
32170
32767
  const scoped = [];
32171
32768
  const elsewhere = [];
32172
32769
  for (const one2 of prepared.scopeAccounts) {
32173
- const scope = scopeOf3(one2);
32770
+ const scope = scopeOf4(one2);
32174
32771
  if (scope === null)
32175
32772
  continue;
32176
32773
  const eligibleChats = eligibility?.chats.filter(({ account: account2 }) => account2.provider === one2.provider && account2.account === one2.account).map(({ chat: chat2 }) => chat2);
@@ -32285,13 +32882,13 @@ var meanOf = /* @__PURE__ */ __name((vectors) => {
32285
32882
  return mean.map((value) => value / length);
32286
32883
  }, "meanOf");
32287
32884
 
32288
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/embeddings.js
32885
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/embeddings.js
32289
32886
  var embeddingsService = /* @__PURE__ */ __name((deps) => ({
32290
32887
  ...embeddingsMaintenance(deps),
32291
32888
  ...embeddingsSearch(deps)
32292
32889
  }), "embeddingsService");
32293
32890
 
32294
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/folders.js
32891
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/folders.js
32295
32892
  var foldersService = /* @__PURE__ */ __name((deps) => {
32296
32893
  const online = /* @__PURE__ */ __name(async (command) => {
32297
32894
  if (deps.offline)
@@ -32432,7 +33029,7 @@ var foldersService = /* @__PURE__ */ __name((deps) => {
32432
33029
  };
32433
33030
  }, "foldersService");
32434
33031
 
32435
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/mentions.js
33032
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/mentions.js
32436
33033
  var REVIEW_COUNT = 500;
32437
33034
  var mentionsService = /* @__PURE__ */ __name((deps) => {
32438
33035
  const located = /* @__PURE__ */ __name(async () => {
@@ -32511,7 +33108,7 @@ var mentionsService = /* @__PURE__ */ __name((deps) => {
32511
33108
  };
32512
33109
  }, "mentionsService");
32513
33110
 
32514
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/formatting.js
33111
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/formatting.js
32515
33112
  var invalid3 = /* @__PURE__ */ __name(() => new CliError("validation_error", "the messenger formatter returned invalid text spans"), "invalid");
32516
33113
  var validateFormattedText = /* @__PURE__ */ __name((formatted2) => {
32517
33114
  const { text: text2, spans } = formatted2;
@@ -32571,7 +33168,7 @@ var visibleFormattedText = /* @__PURE__ */ __name((formatted2) => {
32571
33168
  };
32572
33169
  }, "visibleFormattedText");
32573
33170
 
32574
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/message-link.js
33171
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/message-link.js
32575
33172
  var fileLinks = /* @__PURE__ */ __name((attachments) => hitFiles(attachments).map(({ position, kind, name }) => ({
32576
33173
  position,
32577
33174
  kind,
@@ -32620,7 +33217,7 @@ var validatePermalink = /* @__PURE__ */ __name((link4) => {
32620
33217
  return { url: link4.url, access: link4.access, reason: link4.reason };
32621
33218
  }, "validatePermalink");
32622
33219
 
32623
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/pin-duration.js
33220
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/pin-duration.js
32624
33221
  var spokenSeconds = /* @__PURE__ */ __name((seconds) => {
32625
33222
  if (seconds % 86400 === 0 && seconds > 86400)
32626
33223
  return `${seconds / 86400}d`;
@@ -32652,7 +33249,7 @@ var pinDurationOf = /* @__PURE__ */ __name((value, allowed, flag = "--expire-tim
32652
33249
  return seconds;
32653
33250
  }, "pinDurationOf");
32654
33251
 
32655
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/sends/send-as.js
33252
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/sends/send-as.js
32656
33253
  var sendAsCheck = /* @__PURE__ */ __name((connection, sendAs) => {
32657
33254
  if (sendAs === void 0) {
32658
33255
  const saved = connection.savedSender?.bind(connection);
@@ -32677,7 +33274,7 @@ var typedSendAs = /* @__PURE__ */ __name((typed) => {
32677
33274
  return sendAs;
32678
33275
  }, "typedSendAs");
32679
33276
 
32680
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/search/total.js
33277
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/search/total.js
32681
33278
  var TOTAL_CAP = 1e4;
32682
33279
  var totalOf = /* @__PURE__ */ __name((count4, shown, hasMore, exact = true) => {
32683
33280
  const least = shown + (hasMore ? 1 : 0);
@@ -32688,7 +33285,7 @@ var totalOf = /* @__PURE__ */ __name((count4, shown, hasMore, exact = true) => {
32688
33285
  return { value: count4, relation: exact ? "eq" : "gte" };
32689
33286
  }, "totalOf");
32690
33287
 
32691
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/search/lucene/meaning-parts.js
33288
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/search/lucene/meaning-parts.js
32692
33289
  var WORD_FIELDS = /* @__PURE__ */ new Set(["text", "exact"]);
32693
33290
  var fieldsOfQuery = /* @__PURE__ */ __name((root, everything) => {
32694
33291
  let narrows = false;
@@ -32717,7 +33314,7 @@ var meaningWords = /* @__PURE__ */ __name((root) => {
32717
33314
  return wanted(root).join(" ").trim();
32718
33315
  }, "meaningWords");
32719
33316
 
32720
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/search/question-plan.js
33317
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/search/question-plan.js
32721
33318
  var words2 = /* @__PURE__ */ __name((text2) => normalize(text2).match(/[\p{L}\p{N}]+/gu) ?? [], "words");
32722
33319
  var scaffolding = new Set(words2("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"));
32723
33320
  var questionWord = /\b(?:what|which|how|who|where|when|can|could|should)\b|(?:^|\s)(?:сколько|какой|какая|какие|какое|кто|кому|кем|где|когда|как|что|можно|может|могут|ли)(?:\s|$)/iu;
@@ -32832,7 +33429,7 @@ function planQuestion(text2, strict = false) {
32832
33429
  }
32833
33430
  __name(planQuestion, "planQuestion");
32834
33431
 
32835
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-combined.js
33432
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-combined.js
32836
33433
  var COMBINED_DEFAULTS = { candidateDepth: 300, rrfK: 60, rerank: "all", chatCap: 0 };
32837
33434
  var tokensOf = /* @__PURE__ */ __name((text2) => normalize(text2).match(/[\p{L}\p{N}\p{Co}\p{M}]+/gu) ?? [], "tokensOf");
32838
33435
  var searchCombined = /* @__PURE__ */ __name(async (store, account, request, messenger = {}, options = COMBINED_DEFAULTS) => {
@@ -33025,7 +33622,7 @@ var signals = /* @__PURE__ */ __name((hit, terms, corrections, execution, mode,
33025
33622
  return mode === "coverage" ? coverage2 * 4 : mode === "proximity" ? proximity : mode === "phrase" ? phrase : coverage2 * 4 + proximity + phrase;
33026
33623
  }, "signals");
33027
33624
 
33028
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-discovery.js
33625
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-discovery.js
33029
33626
  var MEANING_DEPTH = 100;
33030
33627
  var RRF_K2 = 60;
33031
33628
  var RERANK_DEPTH = 50;
@@ -33353,7 +33950,7 @@ var mixedWithReranker = /* @__PURE__ */ __name((head, scores) => {
33353
33950
  })).sort((a, b) => b.mixed - a.mixed).map(({ hit }) => hit);
33354
33951
  }, "mixedWithReranker");
33355
33952
 
33356
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/thread-context.js
33953
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/thread-context.js
33357
33954
  var THREAD_BOUNDS = { maxHops: 8, maxMessages: 50, maxBytes: 65536, withinMs: 864e5 };
33358
33955
  var bytes = /* @__PURE__ */ __name((items, links) => Buffer.byteLength(JSON.stringify({ items, links }), "utf8"), "bytes");
33359
33956
  var threadBounds = /* @__PURE__ */ __name((options = {}) => {
@@ -33552,7 +34149,7 @@ var readThreadContext = /* @__PURE__ */ __name(async (store, account, chat, mess
33552
34149
  return result;
33553
34150
  }, "readThreadContext");
33554
34151
 
33555
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-archive-search.js
34152
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-archive-search.js
33556
34153
  var SEARCH_FILL_MS = 200;
33557
34154
  var statsStore = /* @__PURE__ */ __name(async (store, account, request, messenger = {}) => {
33558
34155
  const stop = Date.now() + SEARCH_FILL_MS;
@@ -33619,12 +34216,12 @@ var accountOf2 = /* @__PURE__ */ __name((hit) => {
33619
34216
  }, "accountOf");
33620
34217
  var keyOf3 = /* @__PURE__ */ __name(({ provider, account }) => `${provider}/${account}`, "keyOf");
33621
34218
 
33622
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/pictures.js
34219
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/pictures.js
33623
34220
  import { createHash as createHash10 } from "node:crypto";
33624
34221
  import { readFile as readFile2, stat as stat3 } from "node:fs/promises";
33625
34222
  import { setTimeout as sleep4 } from "node:timers/promises";
33626
34223
 
33627
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/models.js
34224
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/models.js
33628
34225
  var GROUP_SETTINGS = [
33629
34226
  "allCanPin",
33630
34227
  "onlyAdminsAdd",
@@ -33638,7 +34235,7 @@ var ADMIN_RIGHTS = ["read", "members", "admins", "info", "pin", "link", "post",
33638
34235
  var senderIsMe = /* @__PURE__ */ __name((message, account) => message.outgoing === true || message.senderId !== null && String(message.senderId) === account, "senderIsMe");
33639
34236
  var MEDIA_KINDS = ["photo", "video", "file", "audio", "link"];
33640
34237
 
33641
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/pictures.js
34238
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/pictures.js
33642
34239
  var PICTURE_MAX_BYTES = 25 * 1024 * 1024;
33643
34240
  var PICTURE_FLOOR = 0.25;
33644
34241
  var PAGE4 = 50;
@@ -33655,7 +34252,7 @@ var picturesService = /* @__PURE__ */ __name((deps) => {
33655
34252
  const directory2 = imageModelsDirectory(deps.env);
33656
34253
  if (!isImageModelInstalled(model2, directory2))
33657
34254
  throw new CliError("not_found", missingModel(model2.id), { reason: "model.not-downloaded", model: model2.id });
33658
- const { openPictureEmbedder } = await import("./embedder-LLNK4JF4.js");
34255
+ const { openPictureEmbedder } = await import("./embedder-7SGPMINO.js");
33659
34256
  return openPictureEmbedder(model2, directory2);
33660
34257
  }, "open");
33661
34258
  const embedder = /* @__PURE__ */ __name(() => {
@@ -33852,7 +34449,7 @@ var withPictures = /* @__PURE__ */ __name((messages, pictures) => ({
33852
34449
  }, "search")
33853
34450
  }), "withPictures");
33854
34451
 
33855
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-meaning.js
34452
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-meaning.js
33856
34453
  var meaningLane = /* @__PURE__ */ __name((deps) => async (question, accounts, shared, within) => {
33857
34454
  const target2 = embeddingTarget(deps, DEFAULT_TEXT_MODEL);
33858
34455
  const skipped = /* @__PURE__ */ __name((reason, step) => ({
@@ -33901,7 +34498,7 @@ var meaningLane = /* @__PURE__ */ __name((deps) => async (question, accounts, sh
33901
34498
  }
33902
34499
  }, "meaningLane");
33903
34500
 
33904
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages-rerank.js
34501
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages-rerank.js
33905
34502
  var rerankLane = /* @__PURE__ */ __name((deps) => {
33906
34503
  const choice = deps.reranker ?? DEFAULT_RERANK_MODEL;
33907
34504
  if (choice === "off")
@@ -33913,9 +34510,9 @@ var rerankLane = /* @__PURE__ */ __name((deps) => {
33913
34510
  return { skipped: { reason: `${model.id} is not downloaded`, step: "models.download", model: model.id } };
33914
34511
  try {
33915
34512
  const warm = deps.embedders;
33916
- const reranker = warm ? await warm.reranker(`rerank:${model.id}`, async () => (await import("./process-PI6XUJWP.js")).openRerankerProcess(model, directory2, {
34513
+ const reranker = warm ? await warm.reranker(`rerank:${model.id}`, async () => (await import("./process-PWAGP6YY.js")).openRerankerProcess(model, directory2, {
33917
34514
  threads: defaultThreads()
33918
- })) : await (await import("./rerank-SCBTCBPO.js")).openReranker(model, directory2);
34515
+ })) : await (await import("./rerank-JUH3QHX7.js")).openReranker(model, directory2);
33919
34516
  return {
33920
34517
  model: model.id,
33921
34518
  score: /* @__PURE__ */ __name((question, passages) => reranker.score(plainWords(question), passages), "score"),
@@ -33935,17 +34532,17 @@ var rerankLane = /* @__PURE__ */ __name((deps) => {
33935
34532
  };
33936
34533
  }, "rerankLane");
33937
34534
 
33938
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/document-pictures.js
34535
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/document-pictures.js
33939
34536
  var openPictureEmbedderFor = /* @__PURE__ */ __name(async ({ env, command } = {}) => {
33940
34537
  const model = imageModel(DEFAULT_IMAGE_MODEL);
33941
34538
  const directory2 = imageModelsDirectory(env);
33942
34539
  if (!isImageModelInstalled(model, directory2))
33943
34540
  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 });
33944
- const { openPictureEmbedder } = await import("./embedder-LLNK4JF4.js");
34541
+ const { openPictureEmbedder } = await import("./embedder-7SGPMINO.js");
33945
34542
  return openPictureEmbedder(model, directory2);
33946
34543
  }, "openPictureEmbedderFor");
33947
34544
 
33948
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/document-source.js
34545
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/document-source.js
33949
34546
  var documentSource = /* @__PURE__ */ __name((note2, accounts, profiles, file2) => {
33950
34547
  const metadata = note2.frontMatter;
33951
34548
  const account = accounts.find(({ id: id2 }) => String(id2) === note2.folderId);
@@ -33960,7 +34557,7 @@ var documentSource = /* @__PURE__ */ __name((note2, accounts, profiles, file2) =
33960
34557
  };
33961
34558
  }, "documentSource");
33962
34559
 
33963
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/notes-title-tier.js
34560
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/notes-title-tier.js
33964
34561
  var plainQueryWords = /* @__PURE__ */ __name((query) => {
33965
34562
  let root;
33966
34563
  try {
@@ -33987,7 +34584,7 @@ var titleTiers = /* @__PURE__ */ __name((hits, words3) => {
33987
34584
  return [...hits].sort((a, b) => rank(a) - rank(b));
33988
34585
  }, "titleTiers");
33989
34586
 
33990
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/notes-search.js
34587
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/notes-search.js
33991
34588
  var storeQuery = /* @__PURE__ */ __name(async (store, text2, { exact, timezone } = {}) => resolvedQuery(store, parsedQuery(text2, exact), timezone), "storeQuery");
33992
34589
  var parsedQuery = /* @__PURE__ */ __name((text2, exact) => validateFields(parseLucene(text2, { ...SEARCH_QUERY, defaultField: exact ? "exact" : "text" })).root, "parsedQuery");
33993
34590
  var resolvedQuery = /* @__PURE__ */ __name(async (store, root, timezone) => {
@@ -34422,7 +35019,7 @@ var searchNotesOf = /* @__PURE__ */ __name(async (store, account, text2, { accou
34422
35019
  };
34423
35020
  }, "searchNotesOf");
34424
35021
 
34425
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/events-search.js
35022
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/events-search.js
34426
35023
  var MAX_EVENTS_OFFSET = 1e3;
34427
35024
  var iso3 = /* @__PURE__ */ __name((at) => at === null ? null : new Date(at).toISOString(), "iso");
34428
35025
  var accountIdsOf = /* @__PURE__ */ __name(async (store, accounts) => {
@@ -34534,7 +35131,7 @@ var searchEvents = /* @__PURE__ */ __name(async (store, query, { limit = 20, off
34534
35131
  };
34535
35132
  }, "searchEvents");
34536
35133
 
34537
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-all.js
35134
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-all.js
34538
35135
  var RESOURCES_SEARCHED = ["messages", "mail", "notes", "events"];
34539
35136
  var skippable = /* @__PURE__ */ __name((error) => error instanceof CliError && (error.code === "validation_error" || error.code === "not_found"), "skippable");
34540
35137
  var filtersBeside = /* @__PURE__ */ __name((text2) => {
@@ -34743,7 +35340,7 @@ var searchAll = /* @__PURE__ */ __name(async (store, account, request, messenger
34743
35340
  };
34744
35341
  }, "searchAll");
34745
35342
 
34746
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/search-all-meetings.js
35343
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/search-all-meetings.js
34747
35344
  var RESOURCES_SEARCHED_WITH_MEETINGS = [...RESOURCES_SEARCHED, "meetings"];
34748
35345
  var whole2 = /* @__PURE__ */ __name((value, minimum, maximum, label) => {
34749
35346
  if (!Number.isSafeInteger(value) || value < minimum || value > maximum)
@@ -34996,7 +35593,7 @@ var searchAllOfSource = /* @__PURE__ */ __name(async (store, account, source, re
34996
35593
  return { ...found, skipped: [...skipped, ...empty2, ...unnamed, ...found.skipped] };
34997
35594
  }, "searchAllOfSource");
34998
35595
 
34999
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/server-search.js
35596
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/server-search.js
35000
35597
  var SERVER_SEARCH_KEY = "messages.server-search";
35001
35598
  var SERVER_BOUNDS = { timeMs: 5e3, perCall: 100, maxCalls: 3, textBytes: 262144 };
35002
35599
  var DEFAULT_BACKEND = "both";
@@ -35185,7 +35782,7 @@ var searchServer = /* @__PURE__ */ __name(async (deps, request) => {
35185
35782
  return { report, sources };
35186
35783
  }, "searchServer");
35187
35784
 
35188
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/messages.js
35785
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/messages.js
35189
35786
  var DELETE_AT_ONCE = 10;
35190
35787
  var filesOf = /* @__PURE__ */ __name(({ attachments }) => {
35191
35788
  const files = fileLinks(attachments);
@@ -35626,7 +36223,7 @@ var checkMediaOptions = /* @__PURE__ */ __name((messenger, asked, attachments) =
35626
36223
  throw new CliError("validation_error", `${MEDIA_FLAGS[first2]} needs a --photo or --file`);
35627
36224
  }, "checkMediaOptions");
35628
36225
 
35629
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/domain/channel-tags.js
36226
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/domain/channel-tags.js
35630
36227
  var CHANNEL_TAG_RULES_VERSION = "keywords-v1";
35631
36228
  var RULES = {
35632
36229
  ai: [/\b(ai|gpt|llm|machine learning|artificial intelligence)\b/iu, /нейросет|искусственн/iu],
@@ -35641,7 +36238,7 @@ var classifyChannel = /* @__PURE__ */ __name((metadata) => Object.entries(RULES)
35641
36238
  return fields.length ? [{ tag, score: fields.length / 3, fields }] : [];
35642
36239
  }), "classifyChannel");
35643
36240
 
35644
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/metadata.js
36241
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/metadata.js
35645
36242
  var metadataService = /* @__PURE__ */ __name((deps) => {
35646
36243
  const held = /* @__PURE__ */ __name(async (reference, { includeLeft = false } = {}) => {
35647
36244
  const store = await deps.store();
@@ -35727,7 +36324,7 @@ var metadataService = /* @__PURE__ */ __name((deps) => {
35727
36324
  };
35728
36325
  }, "metadataService");
35729
36326
 
35730
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/moderation/check.js
36327
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/moderation/check.js
35731
36328
  var INVITE = /max\.ru\/join\/|(t|telegram)\.me\/(\+|joinchat\/)|tg:\/\/join/i;
35732
36329
  var LINK2 = /https?:\/\/\S+/i;
35733
36330
  var STRENGTH = { report: 0, delete: 1, remove: 2 };
@@ -35915,7 +36512,7 @@ var nextPoint = /* @__PURE__ */ __name((rows, found) => {
35915
36512
  }, "nextPoint");
35916
36513
  var someUndone = /* @__PURE__ */ __name((rows) => rows.some(undone), "someUndone");
35917
36514
 
35918
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/moderation/rules.js
36515
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/moderation/rules.js
35919
36516
  import { existsSync, readFileSync as readFileSync2 } from "node:fs";
35920
36517
  import { join as join11 } from "node:path";
35921
36518
  var RULE_ACTIONS = ["report", "delete", "remove"];
@@ -36058,7 +36655,7 @@ var assign = /* @__PURE__ */ __name((rules, key, value) => {
36058
36655
  return { ...rules, [head]: { ...rules[head], [tail]: value } };
36059
36656
  }, "assign");
36060
36657
 
36061
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/moderation/run.js
36658
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/moderation/run.js
36062
36659
  var FIRST_LOOK_MS = 24 * 36e5;
36063
36660
  var moderateWith = /* @__PURE__ */ __name(async (run) => {
36064
36661
  const { chatId, title, rules, point, since, dryRun } = run;
@@ -36095,7 +36692,7 @@ var moderateWith = /* @__PURE__ */ __name(async (run) => {
36095
36692
  return { chatId, rows, notes };
36096
36693
  }, "moderateWith");
36097
36694
 
36098
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/moderation.js
36695
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/moderation.js
36099
36696
  var moderationService = /* @__PURE__ */ __name((deps) => {
36100
36697
  const file2 = /* @__PURE__ */ __name(() => new ModerationRules(moderationPathFor(deps.messenger.app, deps.profile ?? "default", deps.env ?? process.env)), "file");
36101
36698
  const group = /* @__PURE__ */ __name(async (chat) => {
@@ -36173,7 +36770,7 @@ var moderatorOf = /* @__PURE__ */ __name((adapter, deps) => ({
36173
36770
  }, "removePerson")
36174
36771
  }), "moderatorOf");
36175
36772
 
36176
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/private-people.js
36773
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/private-people.js
36177
36774
  var noteItem = /* @__PURE__ */ __name((provider, note2) => ({
36178
36775
  id: note2.id,
36179
36776
  contact: formatReference({ type: "contact", provider, id: note2.personId }),
@@ -36217,7 +36814,7 @@ var privatePeopleService = /* @__PURE__ */ __name((deps) => {
36217
36814
  };
36218
36815
  }, "privatePeopleService");
36219
36816
 
36220
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/rankings.js
36817
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/rankings.js
36221
36818
  var empty = /* @__PURE__ */ __name(() => ({
36222
36819
  total: 0,
36223
36820
  population: 0,
@@ -36473,7 +37070,134 @@ var rankingsService = /* @__PURE__ */ __name((deps) => ({
36473
37070
  }, "evidence")
36474
37071
  }), "rankingsService");
36475
37072
 
36476
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/searches.js
37073
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/reply-stats.js
37074
+ var FIELDS = ["date", "chat", "kind"];
37075
+ var WAITING_TAIL = 100;
37076
+ var plainOnly = /* @__PURE__ */ __name((text2, command) => {
37077
+ if (text2 === void 0)
37078
+ return;
37079
+ const refuse2 = /* @__PURE__ */ __name(() => {
37080
+ throw new CliError("validation_error", `${command} reads date:, chat: and kind: terms, AND-ed \u2014 not words, other fields, OR or NOT`, { reason: "query.unsupported-field" });
37081
+ }, "refuse");
37082
+ const visit = /* @__PURE__ */ __name((node) => {
37083
+ if (node.kind === "boolean")
37084
+ for (const clause of node.clauses) {
37085
+ if (clause.occur !== "must")
37086
+ refuse2();
37087
+ visit(clause.node);
37088
+ }
37089
+ else if (!FIELDS.includes(node.field) || !["term", "phrase", "range"].includes(node.operator))
37090
+ refuse2();
37091
+ }, "visit");
37092
+ visit(parseLucene(text2, { ...MESSAGE_PARSING, defaultField: "text" }).root);
37093
+ }, "plainOnly");
37094
+ var scopeOf3 = /* @__PURE__ */ __name((root, accounts) => {
37095
+ const scope = { accounts, chats: [], kinds: [] };
37096
+ const visit = /* @__PURE__ */ __name((node) => {
37097
+ if (node.kind === "boolean") {
37098
+ for (const clause of node.clauses)
37099
+ visit(clause.node);
37100
+ return;
37101
+ }
37102
+ const { chat, date: date2 } = node.resolution ?? {};
37103
+ if (chat)
37104
+ scope.chats.push(chat);
37105
+ else if (node.field === "kind")
37106
+ scope.kinds.push(node.value.toLowerCase());
37107
+ else if (date2) {
37108
+ if (date2.lower !== void 0) {
37109
+ const lower = date2.lower + (date2.lower_inclusive ? 0 : 1);
37110
+ scope.since = Math.max(scope.since ?? lower, lower);
37111
+ }
37112
+ if (date2.upper !== void 0) {
37113
+ const upper = date2.upper - (date2.upper_inclusive ? 0 : 1);
37114
+ scope.until = Math.min(scope.until ?? upper, upper);
37115
+ }
37116
+ }
37117
+ }, "visit");
37118
+ visit(root);
37119
+ return scope;
37120
+ }, "scopeOf");
37121
+ var figuresOf = /* @__PURE__ */ __name((delays) => {
37122
+ const { medianMilliseconds, p90Milliseconds } = delayStats(delays);
37123
+ return {
37124
+ replies: delays.length,
37125
+ medianMs: medianMilliseconds,
37126
+ p90Ms: p90Milliseconds,
37127
+ meanMs: delays.length ? Math.round(delays.reduce((sum2, one2) => sum2 + one2, 0) / delays.length) : null
37128
+ };
37129
+ }, "figuresOf");
37130
+ var MINUTE2 = 6e4;
37131
+ var waitsOnOwner = /* @__PURE__ */ __name((newest) => {
37132
+ if (newest.mine)
37133
+ return false;
37134
+ if (newest.kind === "private")
37135
+ return !newest.quiet && rankingQuestion(newest.text);
37136
+ return newest.addressed || newest.ownerUsername !== null && new RegExp(`(^|[^\\w@])@${newest.ownerUsername.replace(/[^\w]/g, "\\$&")}(?!\\w)`, "i").test(newest.text);
37137
+ }, "waitsOnOwner");
37138
+ var replyStatsService = /* @__PURE__ */ __name((deps) => {
37139
+ const prepared = /* @__PURE__ */ __name(async (query, command) => {
37140
+ plainOnly(query.text, command);
37141
+ const store = await deps.store();
37142
+ const found = await prepareLucene(store, await deps.account(), {
37143
+ ...query.text === void 0 ? {} : { text: query.text },
37144
+ ...query.source === void 0 ? {} : { source: query.source },
37145
+ timezone: timezoneOf(query.timezone),
37146
+ limit: 1
37147
+ }, deps.messenger);
37148
+ return { store, timezone: found.timezone, scope: scopeOf3(found.execution.root, found.scopeAccounts) };
37149
+ }, "prepared");
37150
+ return {
37151
+ responses: /* @__PURE__ */ __name(async ({ who: who2, by, ...query }) => {
37152
+ const { store, timezone, scope } = await prepared(query, "stats messages responses");
37153
+ const delays = scope.accounts.length ? await store.queries.replyDelays(scope, who2) : [];
37154
+ const buckets = { under5m: 0, under1h: 0, under1d: 0, over1d: 0 };
37155
+ for (const { delayMs } of delays) {
37156
+ if (delayMs < 5 * MINUTE2)
37157
+ buckets.under5m++;
37158
+ else if (delayMs < 60 * MINUTE2)
37159
+ buckets.under1h++;
37160
+ else if (delayMs < 24 * 60 * MINUTE2)
37161
+ buckets.under1d++;
37162
+ else
37163
+ buckets.over1d++;
37164
+ }
37165
+ const days = /* @__PURE__ */ new Map();
37166
+ if (by === "day") {
37167
+ const keyOf5 = calendarKey(timezone, "day");
37168
+ for (const { repliedAt, delayMs } of delays) {
37169
+ const key = keyOf5(repliedAt);
37170
+ const list3 = days.get(key) ?? [];
37171
+ list3.push(delayMs);
37172
+ days.set(key, list3);
37173
+ }
37174
+ }
37175
+ return {
37176
+ who: who2,
37177
+ by,
37178
+ ...figuresOf(delays.map(({ delayMs }) => delayMs)),
37179
+ buckets,
37180
+ rows: [...days].sort(([a], [b]) => a.localeCompare(b)).map(([key, list3]) => ({ key, ...figuresOf(list3) }))
37181
+ };
37182
+ }, "responses"),
37183
+ waiting: /* @__PURE__ */ __name(async (query) => {
37184
+ const { store, scope } = await prepared(query, "stats messages waiting");
37185
+ const chats = scope.accounts.length ? await store.queries.waitingChats(scope, waitsOnOwner, WAITING_TAIL) : [];
37186
+ const firsts = chats.flatMap(({ unanswered: unanswered2 }) => unanswered2.at(-1) ?? []);
37187
+ return {
37188
+ chats: chats.length,
37189
+ messages: chats.reduce((sum2, { unanswered: unanswered2 }) => sum2 + unanswered2.length, 0),
37190
+ oldestAt: firsts.length ? new Date(firsts.reduce((low, one2) => Math.min(low, one2))).toISOString() : null,
37191
+ byKind: {
37192
+ private: chats.filter(({ kind }) => kind === "private").length,
37193
+ group: chats.filter(({ kind }) => kind === "group").length
37194
+ }
37195
+ };
37196
+ }, "waiting")
37197
+ };
37198
+ }, "replyStatsService");
37199
+
37200
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/searches.js
36477
37201
  var savedSearchItem = /* @__PURE__ */ __name((one2) => ({
36478
37202
  id: one2.id,
36479
37203
  name: one2.name,
@@ -36602,7 +37326,7 @@ var searchesService = /* @__PURE__ */ __name((deps) => {
36602
37326
  };
36603
37327
  }, "searchesService");
36604
37328
 
36605
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/tags.js
37329
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/tags.js
36606
37330
  var TAGGING_QUERY = {
36607
37331
  entity: "tagging",
36608
37332
  backend: "sql",
@@ -36686,7 +37410,7 @@ var tagsService = /* @__PURE__ */ __name((deps) => {
36686
37410
  };
36687
37411
  }, "tagsService");
36688
37412
 
36689
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/topics.js
37413
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/topics.js
36690
37414
  var actionOf = /* @__PURE__ */ __name(({ title, closed, pinned, hidden, icon }) => {
36691
37415
  const set = [closed, pinned, hidden].filter((one2) => one2 !== void 0).length;
36692
37416
  if (title !== void 0 || icon !== void 0 || set !== 1)
@@ -36885,7 +37609,7 @@ var topicsService = /* @__PURE__ */ __name((deps) => {
36885
37609
  };
36886
37610
  }, "topicsService");
36887
37611
 
36888
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/evidence.js
37612
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/evidence.js
36889
37613
  import { createHash as createHash11, randomUUID as randomUUID5 } from "node:crypto";
36890
37614
  var hash2 = /* @__PURE__ */ __name((value) => createHash11("sha256").update(JSON.stringify(value)).digest("hex"), "hash");
36891
37615
  var positive = /* @__PURE__ */ __name((value, name, minimum = 1) => {
@@ -36959,7 +37683,7 @@ var prepareEvidencePacket = /* @__PURE__ */ __name(({ kind, source, page, limits
36959
37683
  return { ...content, id: randomUUID5(), fingerprint: hash2(content) };
36960
37684
  }, "prepareEvidencePacket");
36961
37685
 
36962
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/evidence-read.js
37686
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/evidence-read.js
36963
37687
  var readEvidencePacket = /* @__PURE__ */ __name(async (store, account, { chat, limit, before: before2 }, messenger = {}) => {
36964
37688
  if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100)
36965
37689
  throw new CliError("validation_error", "evidence message limit must be an integer from 1 to 100");
@@ -36979,7 +37703,7 @@ var readEvidencePacket = /* @__PURE__ */ __name(async (store, account, { chat, l
36979
37703
  return { ...packet, nextBeforeId: older && last ? last.id : null };
36980
37704
  }, "readEvidencePacket");
36981
37705
 
36982
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-hit-search.js
37706
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-hit-search.js
36983
37707
  var refreshMeetingIndex = /* @__PURE__ */ __name(async (meetings, accountId, signal) => {
36984
37708
  let before2 = Number.POSITIVE_INFINITY;
36985
37709
  for (; ; ) {
@@ -37041,7 +37765,7 @@ var searchMeetingHits = /* @__PURE__ */ __name(async (store, query, request, opt
37041
37765
  return { ...result, selection };
37042
37766
  }, "searchMeetingHits");
37043
37767
 
37044
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-project-discovery.js
37768
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-project-discovery.js
37045
37769
  import { createHash as createHash12 } from "node:crypto";
37046
37770
  var scopeKeys = [
37047
37771
  "accountId",
@@ -37176,7 +37900,7 @@ var readMeetingProjectDiscovery = /* @__PURE__ */ __name(async (ports, projectNa
37176
37900
  };
37177
37901
  }, "readMeetingProjectDiscovery");
37178
37902
 
37179
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-hit-context.js
37903
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-hit-context.js
37180
37904
  import { createHash as createHash13 } from "node:crypto";
37181
37905
  var contextCue = /* @__PURE__ */ __name((cue) => ({
37182
37906
  ref: cue.reference,
@@ -37294,7 +38018,7 @@ var readMeetingHitContext = /* @__PURE__ */ __name(async (store, accountId, refe
37294
38018
  return { ...packet, fingerprint: createHash13("sha256").update(JSON.stringify(packet)).digest("hex") };
37295
38019
  }, "readMeetingHitContext");
37296
38020
 
37297
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-passage-format.js
38021
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-passage-format.js
37298
38022
  var visible = /* @__PURE__ */ __name((text2) => text2.replace(/[\p{Cc}\p{Cf}]/gu, (value) => value === "\n" || value === " " ? value : `\\u{${value.codePointAt(0)?.toString(16)}}`), "visible");
37299
38023
  var markdown = /* @__PURE__ */ __name((text2) => visible(text2).replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replace(/[\\`*_[\]#|~]/g, "\\$&"), "markdown");
37300
38024
  var timestamp = /* @__PURE__ */ __name((ms) => {
@@ -37370,7 +38094,7 @@ var readMeetingPassage = /* @__PURE__ */ __name(async (store, accountId, referen
37370
38094
  return { packet, content };
37371
38095
  }, "readMeetingPassage");
37372
38096
 
37373
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/context/communication-selection.js
38097
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/context/communication-selection.js
37374
38098
  var communicationFields = {
37375
38099
  sources: pipe(array(strictObject({
37376
38100
  id: pipe(string(), regex(/^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/)),
@@ -37402,7 +38126,7 @@ var communicationRequest = /* @__PURE__ */ __name((value, preparationAfter) => {
37402
38126
  return { ...input, after, before: before2 };
37403
38127
  }, "communicationRequest");
37404
38128
 
37405
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-preparation-validation.js
38129
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-preparation-validation.js
37406
38130
  var MEETING_PREPARATION_LIMITS = {
37407
38131
  meetings: { min: 1, max: 20, default: 5 },
37408
38132
  cues: { min: 1, max: 100, default: 10 },
@@ -37488,7 +38212,7 @@ var preparationRequest = /* @__PURE__ */ __name((accountId, externalId, original
37488
38212
  return { ...input, history };
37489
38213
  }, "preparationRequest");
37490
38214
 
37491
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-communications-preparation.js
38215
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-communications-preparation.js
37492
38216
  var readPreparationCommunications = /* @__PURE__ */ __name(async (plan, signal) => {
37493
38217
  const section = {
37494
38218
  readUsage: plan.reader.usage(),
@@ -37593,7 +38317,7 @@ var appendPreparationCommunications = /* @__PURE__ */ __name((result, read2) =>
37593
38317
  result.knowledge.coverage.otherSources = "see-communications";
37594
38318
  }, "appendPreparationCommunications");
37595
38319
 
37596
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-communications-selection.js
38320
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-communications-selection.js
37597
38321
  var captureCommunicationSelections = /* @__PURE__ */ __name((port) => {
37598
38322
  if (port === void 0)
37599
38323
  return void 0;
@@ -37698,7 +38422,7 @@ var validatePreparationCommunications = /* @__PURE__ */ __name((section, request
37698
38422
  }
37699
38423
  }, "validatePreparationCommunications");
37700
38424
 
37701
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-knowledge-preparation.js
38425
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-knowledge-preparation.js
37702
38426
  var invalid5 = /* @__PURE__ */ __name(() => {
37703
38427
  throw new CliError("invalid_response", "Preparation knowledge returned an invalid selection");
37704
38428
  }, "invalid");
@@ -37767,7 +38491,7 @@ var appendKnowledgePreparation = /* @__PURE__ */ __name(async (store, result, in
37767
38491
  }
37768
38492
  }, "appendKnowledgePreparation");
37769
38493
 
37770
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-notes-preparation.js
38494
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-notes-preparation.js
37771
38495
  var invalid6 = /* @__PURE__ */ __name(() => {
37772
38496
  throw new CliError("invalid_response", "Preparation notes returned an invalid selection");
37773
38497
  }, "invalid");
@@ -37841,7 +38565,7 @@ var appendNotesPreparation = /* @__PURE__ */ __name(async (store, result, input)
37841
38565
  }
37842
38566
  }, "appendNotesPreparation");
37843
38567
 
37844
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-project-preparation.js
38568
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-project-preparation.js
37845
38569
  var PAGE_LIMIT = 4;
37846
38570
  var size2 = /* @__PURE__ */ __name((value) => Buffer.byteLength(JSON.stringify(value), "utf8"), "size");
37847
38571
  var appendProjectPreparation = /* @__PURE__ */ __name(async (ports, result, input) => {
@@ -37891,7 +38615,7 @@ var appendProjectPreparation = /* @__PURE__ */ __name(async (ports, result, inpu
37891
38615
  }
37892
38616
  }, "appendProjectPreparation");
37893
38617
 
37894
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-related-preparation.js
38618
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-related-preparation.js
37895
38619
  var appendRelatedPreparation = /* @__PURE__ */ __name(async (store, result, input) => {
37896
38620
  if (!result.series || !result.items.length || result.coverage.outputLimited)
37897
38621
  return;
@@ -37963,7 +38687,7 @@ var appendRelatedPreparation = /* @__PURE__ */ __name(async (store, result, inpu
37963
38687
  }
37964
38688
  }, "appendRelatedPreparation");
37965
38689
 
37966
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/meeting-preparation.js
38690
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/meeting-preparation.js
37967
38691
  var size3 = /* @__PURE__ */ __name((value) => Buffer.byteLength(JSON.stringify(value), "utf8"), "size");
37968
38692
  var createMeetingPreparationService = /* @__PURE__ */ __name((scope, accountId, ports) => {
37969
38693
  const fixed = snapshotMeetingScope(scope);
@@ -38101,7 +38825,7 @@ var createMeetingPreparationService = /* @__PURE__ */ __name((scope, accountId,
38101
38825
  };
38102
38826
  }, "createMeetingPreparationService");
38103
38827
 
38104
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/package-upgrade.js
38828
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/package-upgrade.js
38105
38829
  var upgradePackage = /* @__PURE__ */ __name(async ({ current, command, packageName, check: check2 }, ports) => {
38106
38830
  const installer = ports.installer();
38107
38831
  const argv = updateCommand(installer, packageName);
@@ -38166,7 +38890,7 @@ var dayAfter = /* @__PURE__ */ __name((published) => {
38166
38890
  return Number.isNaN(time) ? null : new Date(time + 24 * 60 * 60 * 1e3).toISOString();
38167
38891
  }, "dayAfter");
38168
38892
 
38169
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/services/index.js
38893
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/services/index.js
38170
38894
  var servicesFor = /* @__PURE__ */ __name((deps) => {
38171
38895
  const pictures = picturesService(deps);
38172
38896
  const base = {
@@ -38176,6 +38900,7 @@ var servicesFor = /* @__PURE__ */ __name((deps) => {
38176
38900
  counters: countersService(deps),
38177
38901
  retention: retentionService(deps),
38178
38902
  rankings: rankingsService(deps),
38903
+ replyStats: replyStatsService(deps),
38179
38904
  topics: topicsService(deps),
38180
38905
  messages: withPictures(messagesService(deps), pictures),
38181
38906
  chats: chatsService(deps),
@@ -38202,7 +38927,7 @@ var servicesFor = /* @__PURE__ */ __name((deps) => {
38202
38927
  return deps.messenger.services ? { ...base, ...deps.messenger.services(base, deps) } : base;
38203
38928
  }, "servicesFor");
38204
38929
 
38205
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/background/relay.js
38930
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/background/relay.js
38206
38931
  import { createHash as createHash14 } from "node:crypto";
38207
38932
  import { chmodSync, lstatSync, mkdirSync as mkdirSync3, rmSync } from "node:fs";
38208
38933
  import { createConnection, createServer } from "node:net";
@@ -38350,7 +39075,7 @@ var serve = /* @__PURE__ */ __name(async (socket, request, stdin, signal, run) =
38350
39075
  }
38351
39076
  }, "serve");
38352
39077
 
38353
- // node_modules/.pnpm/@wirecat+cli-core@0.560.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5702f943a9224d209a94753f662cf36c/node_modules/@wirecat/cli-core/dist/cli/messenger/serve-relay.js
39078
+ // node_modules/.pnpm/@wirecat+cli-core@0.563.0_@wirecat+cli-base@0.75.0_commander@15.0.0_esbuild@0.28.2_type_5d65fbd76a6eee16c9e760ce5c7a276b/node_modules/@wirecat/cli-core/dist/cli/messenger/serve-relay.js
38354
39079
  var lentConnection = /* @__PURE__ */ __name((connection, watchers) => throughWrapper(connection, {
38355
39080
  close: /* @__PURE__ */ __name(async () => {
38356
39081
  }, "close"),
@@ -38499,6 +39224,7 @@ export {
38499
39224
  documentPassage,
38500
39225
  storedNeighbours,
38501
39226
  gatherStoredProject,
39227
+ scanProjectLinks,
38502
39228
  validateMediaSince,
38503
39229
  checkMediaArchive,
38504
39230
  archiveMedia,