@wirecat/zoom-cli 0.63.0 → 0.64.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/README.md +3 -0
  2. package/dist/bin/zm.js +2 -2
  3. package/dist/bundle/{all-profiles-CGGNBINU.js → all-profiles-W2OVBZ7S.js} +8 -8
  4. package/dist/bundle/answer-policy-HOA43GNA.js +96 -0
  5. package/dist/bundle/{anthropic-KVWPIHFG.js → anthropic-P4BKQNBO.js} +4 -4
  6. package/dist/bundle/{app-server-NKKFBTQN.js → app-server-AYUW45ND.js} +50 -50
  7. package/dist/bundle/{bun-XRO6XJHQ.js → bun-MNGPTYDQ.js} +2 -2
  8. package/dist/bundle/{bun-sqlite-FWNCLOAR.js → bun-sqlite-PTPUSXAO.js} +3 -3
  9. package/dist/bundle/{chunk-ECXRRW7J.js → chunk-23LOMA2I.js} +30 -20
  10. package/dist/bundle/{chunk-YI6ZNDPC.js → chunk-24WCZURP.js} +2 -2
  11. package/dist/bundle/{chunk-Q4ZE2LXE.js → chunk-2UONVSJQ.js} +2 -2
  12. package/dist/bundle/{chunk-7LQLJ7LW.js → chunk-3AAO5N4L.js} +2 -2
  13. package/dist/bundle/{chunk-TQFCPUIM.js → chunk-3DGQJASQ.js} +1 -1
  14. package/dist/bundle/{chunk-7CNRZSAV.js → chunk-3IMEAZIM.js} +4 -4
  15. package/dist/bundle/{chunk-EOEDICIE.js → chunk-4XVRA6P5.js} +1 -1
  16. package/dist/bundle/{chunk-MLNC5N7H.js → chunk-54UEJGYB.js} +3 -3
  17. package/dist/bundle/{chunk-4OTXE6CF.js → chunk-5BCNJB2A.js} +72 -57
  18. package/dist/bundle/{chunk-IK2OSV5C.js → chunk-5FN4Q5H5.js} +6 -6
  19. package/dist/bundle/{chunk-7AY3ADNV.js → chunk-5YLR24D5.js} +5 -5
  20. package/dist/bundle/{chunk-EJFSS65P.js → chunk-63MRRNDL.js} +6 -6
  21. package/dist/bundle/{chunk-SEH7DBAM.js → chunk-6NBQJJT6.js} +7 -7
  22. package/dist/bundle/{chunk-HIZQYFY3.js → chunk-7D56BQZL.js} +8 -2
  23. package/dist/bundle/{chunk-UD4FKICZ.js → chunk-7EOW47PV.js} +4 -4
  24. package/dist/bundle/{chunk-SB47UAW2.js → chunk-7NDSBTKR.js} +26 -26
  25. package/dist/bundle/{chunk-6R3GMSLR.js → chunk-7SWNZ44U.js} +2 -2
  26. package/dist/bundle/{chunk-IR73ZZY6.js → chunk-7VJIKJNW.js} +8 -8
  27. package/dist/bundle/{chunk-4OQVRDTG.js → chunk-A2FOW3ZC.js} +39 -20
  28. package/dist/bundle/{chunk-YFIUXE25.js → chunk-AAC6VNSL.js} +3 -3
  29. package/dist/bundle/{chunk-5NLFQ644.js → chunk-AF4HONAZ.js} +443 -370
  30. package/dist/bundle/{chunk-QLQ7VVLK.js → chunk-BMYZWBAX.js} +4 -4
  31. package/dist/bundle/{chunk-6URISMGR.js → chunk-BO5YVG3X.js} +26 -26
  32. package/dist/bundle/{chunk-IOUPXUFH.js → chunk-BWPKSUXW.js} +37 -37
  33. package/dist/bundle/{chunk-JDJDVYGS.js → chunk-C3RRIJ5C.js} +6 -6
  34. package/dist/bundle/{chunk-UIPT6IAU.js → chunk-COTC7HF3.js} +1 -1
  35. package/dist/bundle/{chunk-KMQUZ4YM.js → chunk-CZFV6XTW.js} +3 -3
  36. package/dist/bundle/{chunk-M6FCCVYZ.js → chunk-CZKV4USJ.js} +16 -3
  37. package/dist/bundle/{chunk-BPMKLWHV.js → chunk-EQYPTGCT.js} +4 -4
  38. package/dist/bundle/{chunk-YJN4XYNA.js → chunk-FSYO3PUW.js} +2 -2
  39. package/dist/bundle/{chunk-N3KQ7XND.js → chunk-H3DMYF3W.js} +2 -2
  40. package/dist/bundle/{chunk-JBBZCTTF.js → chunk-H5LLZ5XA.js} +1 -1
  41. package/dist/bundle/{chunk-NQCFUYC2.js → chunk-H65B6A7Y.js} +10 -9
  42. package/dist/bundle/{chunk-BNTAQADF.js → chunk-HIGFBTEI.js} +12 -3
  43. package/dist/bundle/{chunk-TZE6WXID.js → chunk-HQHUPTZR.js} +9744 -9580
  44. package/dist/bundle/{chunk-5MYLM6SU.js → chunk-HQHYPKSU.js} +89 -35
  45. package/dist/bundle/{chunk-MIUPH3WA.js → chunk-I5QX2HAT.js} +6 -6
  46. package/dist/bundle/{chunk-CXPHUOJR.js → chunk-IIGXCYEL.js} +26 -13
  47. package/dist/bundle/{chunk-3YBDRVOG.js → chunk-IIP4J3PD.js} +6 -6
  48. package/dist/bundle/{chunk-72S5TXFN.js → chunk-J25UNZIL.js} +9 -9
  49. package/dist/bundle/{chunk-XAXXEZZ5.js → chunk-JJZAGKUK.js} +2 -2
  50. package/dist/bundle/{chunk-TILW3EJY.js → chunk-JM43EKTY.js} +1258 -562
  51. package/dist/bundle/{chunk-BJPFWPKH.js → chunk-JMSKDW5G.js} +2 -2
  52. package/dist/bundle/{chunk-2T7MUSDB.js → chunk-JRPAZ2WD.js} +126 -96
  53. package/dist/bundle/{chunk-DIXC56OU.js → chunk-JRPYHDCO.js} +4 -4
  54. package/dist/bundle/{chunk-KM7Q67Z3.js → chunk-JZKNHA44.js} +1 -1
  55. package/dist/bundle/{chunk-LXYC75D3.js → chunk-K6OSD6DG.js} +150 -134
  56. package/dist/bundle/{chunk-2DPMYUWQ.js → chunk-KJCCT3QY.js} +10 -10
  57. package/dist/bundle/{chunk-LTE6WH22.js → chunk-L4JGVSBN.js} +24 -24
  58. package/dist/bundle/{chunk-FDCGTODC.js → chunk-LEQCRVPD.js} +1 -1
  59. package/dist/bundle/{chunk-YF2PT5KA.js → chunk-OPP5CWAX.js} +35 -34
  60. package/dist/bundle/{chunk-NVC4VQ2B.js → chunk-OWXMQVVN.js} +1 -1
  61. package/dist/bundle/{chunk-RUJBN7ZP.js → chunk-PBJY5VR6.js} +1 -1
  62. package/dist/bundle/{chunk-SLBMXXOW.js → chunk-Q3EDUZ5R.js} +10 -10
  63. package/dist/bundle/{chunk-QUWMFBMS.js → chunk-QK54GOGE.js} +49 -9
  64. package/dist/bundle/{chunk-6SK5SHCR.js → chunk-R4NTPYXZ.js} +2 -2
  65. package/dist/bundle/{chunk-GOESXUJQ.js → chunk-RJLNVHIU.js} +3 -3
  66. package/dist/bundle/{chunk-EG7HC4EC.js → chunk-RK3JBC4U.js} +2 -2
  67. package/dist/bundle/{chunk-D6FTCPXA.js → chunk-SJIBJQJN.js} +10 -9
  68. package/dist/bundle/{chunk-2NAM2XQG.js → chunk-SMT6SFBK.js} +2 -2
  69. package/dist/bundle/{chunk-2LLNPNMB.js → chunk-TJH5IQVZ.js} +1 -1
  70. package/dist/bundle/{chunk-SPJJCD2A.js → chunk-TJODNJKE.js} +13 -13
  71. package/dist/bundle/{chunk-RWG44LQD.js → chunk-TYKZCJD7.js} +4 -4
  72. package/dist/bundle/{chunk-IOCS5FXW.js → chunk-UABUBDYB.js} +2 -2
  73. package/dist/bundle/{chunk-FAOLCUKV.js → chunk-UCPL55YP.js} +17 -17
  74. package/dist/bundle/{chunk-6SPWQCJF.js → chunk-UFI5SX3F.js} +11 -11
  75. package/dist/bundle/{chunk-5LMQTEU5.js → chunk-UNO4G5NX.js} +5 -5
  76. package/dist/bundle/{chunk-URJZK4GX.js → chunk-WFIJOFS5.js} +1 -1
  77. package/dist/bundle/{chunk-MI3JK6MW.js → chunk-X6M5DK66.js} +10 -10
  78. package/dist/bundle/{chunk-YBMOFCY5.js → chunk-XZSQLVED.js} +2 -2
  79. package/dist/bundle/{chunk-M2WQWF3I.js → chunk-Y7TWNMTW.js} +48 -48
  80. package/dist/bundle/{chunk-AMIIU3UZ.js → chunk-YNYMWXXH.js} +4 -4
  81. package/dist/bundle/{chunk-VFJ3MOIR.js → chunk-ZW4N73FO.js} +3 -3
  82. package/dist/bundle/{cli-AHPIESAC.js → cli-Y2ZO3D5U.js} +73 -55
  83. package/dist/bundle/command-contract-DGTZIH2F.js +38 -0
  84. package/dist/bundle/config-N2UHDKGG.js +78 -0
  85. package/dist/bundle/{decode-ZU7WLMMV.js → decode-GO6GAYH2.js} +3 -3
  86. package/dist/bundle/{dist-LTS7VI3S.js → dist-MIJKAGXW.js} +14 -14
  87. package/dist/bundle/{echarts-YNGCOYHW.js → echarts-NWK7LALR.js} +2 -2
  88. package/dist/bundle/{embed-VWWOW7PP.js → embed-2DOSN4DV.js} +4 -4
  89. package/dist/bundle/{embedder-T5GJC7M2.js → embedder-3Q3C2WKC.js} +7 -7
  90. package/dist/bundle/{first-run-PX3SHPUU.js → first-run-S75VKIT3.js} +8 -8
  91. package/dist/bundle/first-screen-DQNRT6GH.js +36 -0
  92. package/dist/bundle/{folders-VXMDFC2D.js → folders-RSWEBHDZ.js} +2 -2
  93. package/dist/bundle/{instructions-GJHHFV64.js → instructions-M3FZPQVI.js} +1 -1
  94. package/dist/bundle/{main-APVJXUJE.js → main-R77BPRRS.js} +16 -16
  95. package/dist/bundle/{mcp-EMNFFY4N.js → mcp-YJEQYYTR.js} +2 -2
  96. package/dist/bundle/{meetings-GHYNIOHG.js → meetings-IV4Y4WRH.js} +4 -4
  97. package/dist/bundle/{node-GFOH6FKP.js → node-I3GEHYGL.js} +2 -2
  98. package/dist/bundle/{node-sqlite-QXKSPHTP.js → node-sqlite-W6MR2TVQ.js} +3 -3
  99. package/dist/bundle/{oauth-A6I2OMDD.js → oauth-M6YL4QXP.js} +5 -5
  100. package/dist/bundle/{open-TQKCU447.js → open-2VITLJAN.js} +2 -2
  101. package/dist/bundle/{openai-XE3BJXOI.js → openai-OG6B3JCU.js} +9 -9
  102. package/dist/bundle/{output-file-FQNFCUKE.js → output-file-XJJ3XMLQ.js} +3 -3
  103. package/dist/bundle/{process-XVDX4SPD.js → process-UBA4L4B2.js} +1 -1
  104. package/dist/bundle/{program-QRKEXYDG.js → program-5R5MRXUM.js} +69 -69
  105. package/dist/bundle/{prompt-ISYG5RWM.js → prompt-AVIXIM7Z.js} +3 -3
  106. package/dist/bundle/{recognize-KENPECLZ.js → recognize-DJKTJOYU.js} +2 -2
  107. package/dist/bundle/{remote-ZP5XTDCC.js → remote-S3DTNYRP.js} +5 -5
  108. package/dist/bundle/{rerank-SG653RHT.js → rerank-FMCDP6VF.js} +5 -5
  109. package/dist/bundle/{run-log-HYKGQ42E.js → run-log-T4MV2VEH.js} +53 -53
  110. package/dist/bundle/{serve-6UJCZD7Z.js → serve-5SGFJFMC.js} +7 -7
  111. package/dist/bundle/server-EYGZLKKQ.js +66 -0
  112. package/dist/bundle/{server-ZAYEDPFR.js → server-PCMCY7WK.js} +42 -42
  113. package/dist/bundle/{services-KMH7XZPY.js → services-SKRQ2POT.js} +27 -27
  114. package/dist/bundle/{speech-LINBLG5E.js → speech-FSDICIKO.js} +11 -11
  115. package/dist/bundle/{state-4RKZNHE7.js → state-KPUSPWO6.js} +4 -4
  116. package/dist/bundle/{store-253N7NUC.js → store-7MP2ZGQ7.js} +34 -16
  117. package/dist/bundle/{store-JTBHRQZK.js → store-W7LFPKG2.js} +15 -13
  118. package/dist/bundle/store-connection-3HNZFJC4.js +76 -0
  119. package/dist/bundle/store-maintenance-command-6WBLTUZP.js +55 -0
  120. package/dist/bundle/{streaming-YW64OKKQ.js → streaming-Q44ESD3E.js} +4 -4
  121. package/dist/bundle/{tokens-DPBC2P3I.js → tokens-TAFCHANI.js} +4 -4
  122. package/dist/bundle/zm.js +1 -1
  123. package/dist/version.d.ts +1 -1
  124. package/dist/version.js +1 -1
  125. package/package.json +3 -3
  126. package/dist/bundle/answer-policy-V2KDPLDO.js +0 -96
  127. package/dist/bundle/command-contract-HVLI3OKU.js +0 -38
  128. package/dist/bundle/config-3SFEGYZO.js +0 -78
  129. package/dist/bundle/first-screen-RAPEZG57.js +0 -36
  130. package/dist/bundle/server-AXE37E6Q.js +0 -66
  131. package/dist/bundle/store-connection-ID2ETC7F.js +0 -76
  132. package/dist/bundle/store-maintenance-command-XRNECVDU.js +0 -55
  133. /package/dist/bundle/{chunk-NPGVOZVK.js → chunk-WJWLHLQ7.js} +0 -0
@@ -6,22 +6,22 @@ import {
6
6
  agentArguments,
7
7
  agentJson,
8
8
  commandAvailability
9
- } from "./chunk-SPJJCD2A.js";
9
+ } from "./chunk-TJODNJKE.js";
10
10
  import {
11
11
  callerOf
12
- } from "./chunk-BNTAQADF.js";
12
+ } from "./chunk-HIGFBTEI.js";
13
13
  import {
14
14
  lentConnection,
15
15
  refuseLacking
16
- } from "./chunk-ECXRRW7J.js";
16
+ } from "./chunk-23LOMA2I.js";
17
17
  import {
18
18
  onlineDeps,
19
19
  servicesFor,
20
20
  storeModeDeps
21
- } from "./chunk-5NLFQ644.js";
21
+ } from "./chunk-AF4HONAZ.js";
22
22
  import {
23
23
  ENTITIES
24
- } from "./chunk-2T7MUSDB.js";
24
+ } from "./chunk-JRPAZ2WD.js";
25
25
  import {
26
26
  DEFAULT_OUTPUT_BYTES,
27
27
  LOCAL_WRITE,
@@ -35,32 +35,32 @@ import {
35
35
  refuseStoreChange,
36
36
  sealed,
37
37
  startRecording
38
- } from "./chunk-IOUPXUFH.js";
38
+ } from "./chunk-BWPKSUXW.js";
39
39
  import {
40
40
  currentCaller,
41
41
  keepsSuccess,
42
42
  runContextOf,
43
43
  withCaller
44
- } from "./chunk-NQCFUYC2.js";
44
+ } from "./chunk-H65B6A7Y.js";
45
45
  import {
46
46
  enclosingTraceId,
47
47
  inRun,
48
48
  newRunId,
49
49
  traceOf
50
- } from "./chunk-4OQVRDTG.js";
50
+ } from "./chunk-A2FOW3ZC.js";
51
51
  import {
52
52
  failureContext
53
- } from "./chunk-M6FCCVYZ.js";
53
+ } from "./chunk-CZKV4USJ.js";
54
54
  import {
55
55
  authorityAllowed,
56
56
  botApiAllowed,
57
57
  keyForCommand,
58
58
  levelFor,
59
59
  readKeysForCommand
60
- } from "./chunk-HIZQYFY3.js";
60
+ } from "./chunk-7D56BQZL.js";
61
61
  import {
62
62
  MAX_BUFFERED_INPUT
63
- } from "./chunk-6SK5SHCR.js";
63
+ } from "./chunk-R4NTPYXZ.js";
64
64
  import {
65
65
  CliError,
66
66
  SNAKE_CASE,
@@ -102,15 +102,15 @@ import {
102
102
  unknown,
103
103
  word,
104
104
  writes
105
- } from "./chunk-SB47UAW2.js";
105
+ } from "./chunk-7NDSBTKR.js";
106
106
  import {
107
107
  __name
108
108
  } from "./chunk-ZVVMGPBJ.js";
109
109
 
110
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/mcp/agent.js
110
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/mcp/agent.js
111
111
  import { Readable } from "node:stream";
112
112
 
113
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/lint.js
113
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/lint.js
114
114
  var LINT_SEVERITIES = ["high", "medium", "low"];
115
115
  var lintRuleSchema = strictObject({
116
116
  id: word,
@@ -237,7 +237,7 @@ var overridesSchema = array(strictObject({
237
237
  review_after: pipe(string(), isoDate("a date, YYYY-MM-DD"))
238
238
  }));
239
239
 
240
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/audit.js
240
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/audit.js
241
241
  var auditRuleSchema = strictObject({ id: word, severity: picklist(LINT_SEVERITIES), summary: text });
242
242
  var defineAuditRules = /* @__PURE__ */ __name((input) => parseRegistry("audit rules", array(auditRuleSchema), input, (rules) => duplicates(rules.map((rule) => rule.id)).map((id) => `"${id}" is listed twice`)), "defineAuditRules");
243
243
  var AUDIT_RULES = defineAuditRules([
@@ -297,18 +297,34 @@ var defineParityGroups = /* @__PURE__ */ __name((input) => parseRegistry("parity
297
297
  ...group.differences.filter((entry) => entry.absent && entry.expected).map((entry) => `${group.name}: "${entry.target}" has \`absent\`, which measures the values itself; drop \`expected\``)
298
298
  ])
299
299
  ]), "defineParityGroups");
300
+ var MEMO_HAS_NO_PROFILES = [
301
+ "mcp serve",
302
+ "mcp revoke",
303
+ "mcp server start",
304
+ "mcp server status",
305
+ "mcp server stop"
306
+ ].map((path) => ({
307
+ rule: "same-path-contract",
308
+ target: `${path} --profiles`,
309
+ absent: "memo",
310
+ reason: "memo has no profiles: it reads other CLIs' stores and selects their accounts with --source and --account (https://github.com/WireCatLabs/cli-base/issues/390)"
311
+ }));
300
312
  var PARITY_GROUPS = defineParityGroups([
301
313
  { name: "messengers", members: ["tg", "max"], covers: "tree", differences: [] },
302
314
  {
303
315
  name: "all",
304
- members: ["tg", "max", "memo", "drive", "zm", "wa", "mail"],
316
+ members: ["tg", "max", "memo", "drive", "zm", "wa"],
305
317
  covers: ["commands", "doctor", "skill", "mcp", "upgrade", "search", "notes", "meetings"],
306
- differences: ["mcp serve", "mcp revoke", "mcp server start", "mcp server status", "mcp server stop"].map((path) => ({
307
- rule: "same-path-contract",
308
- target: `${path} --profiles`,
309
- absent: "memo",
310
- reason: "memo has no profiles: it reads other CLIs' stores and selects their accounts with --source and --account (https://github.com/WireCatLabs/cli-base/issues/390)"
311
- }))
318
+ differences: MEMO_HAS_NO_PROFILES
319
+ },
320
+ // mail's `search messages` is cli-core's mail search, not the messengers' command: --complete took their 20-odd
321
+ // differences as inherited (https://github.com/WireCatLabs/cli-base/issues/390). mail is compared everywhere else
322
+ // and moves back into "all" once its search is aligned with the messengers' or renamed.
323
+ {
324
+ name: "mail-shared",
325
+ members: ["tg", "max", "memo", "drive", "zm", "wa", "mail"],
326
+ covers: ["commands", "doctor", "skill", "mcp", "upgrade", "notes", "meetings"],
327
+ differences: MEMO_HAS_NO_PROFILES
312
328
  },
313
329
  // gcal is compared on what it already shares with every CLI; doctor, mcp, search and skill wait until the published
314
330
  // CLIs agree there (https://github.com/WireCatLabs/cli-base/issues/390), then gcal moves back into "all".
@@ -330,7 +346,7 @@ var REQUIRED_ROOTS = defineRequiredRoots([
330
346
  { path: ["upgrade"], meaning: "updates the CLI" }
331
347
  ]);
332
348
 
333
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/fields.js
349
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/fields.js
334
350
  var fieldRuleSchema = strictObject({ id: word, rule: text });
335
351
  var defineFieldRules = /* @__PURE__ */ __name((input) => parseRegistry("output field rules", array(fieldRuleSchema), input, (rules) => duplicates(rules.map((rule) => rule.id)).map((id) => `"${id}" is listed twice`)), "defineFieldRules");
336
352
  var FIELD_RULES = defineFieldRules([
@@ -346,7 +362,7 @@ var FIELD_RULES = defineFieldRules([
346
362
  }
347
363
  ]);
348
364
 
349
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/identifiers.js
365
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/identifiers.js
350
366
  var key = pipe(string(), regex(SNAKE_CASE, "a snake_case key"));
351
367
  var identifierSchema = strictObject({ key, meaning: text, replaces: optional(array(key)) });
352
368
  var defineIdentifiers = /* @__PURE__ */ __name((input) => parseRegistry("identifiers", array(identifierSchema), input, (identifiers) => {
@@ -368,7 +384,7 @@ var IDENTIFIERS = defineIdentifiers([
368
384
  { key: "trace_id", meaning: "the distributed trace a run belongs to, from `traceparent`" }
369
385
  ]);
370
386
 
371
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-calendar.js
387
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-calendar.js
372
388
  var CALENDAR_FLAGS = [
373
389
  { name: "--end-time", value: "<time>", role: "value", type: "time", meaning: "when it ends" },
374
390
  {
@@ -442,7 +458,7 @@ var CALENDAR_FLAGS = [
442
458
  }
443
459
  ];
444
460
 
445
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-how.js
461
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-how.js
446
462
  var HOW_FLAGS = [
447
463
  {
448
464
  name: "--limit",
@@ -1429,7 +1445,31 @@ var HOW_FLAGS = [
1429
1445
  }
1430
1446
  ];
1431
1447
 
1432
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-what.js
1448
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-mail.js
1449
+ var MAIL_FLAGS = [
1450
+ {
1451
+ name: "--cc",
1452
+ value: "<address>",
1453
+ role: "value",
1454
+ type: "string",
1455
+ meaning: "an e-mail address that gets a copy; repeat it for more"
1456
+ },
1457
+ {
1458
+ name: "--bcc",
1459
+ value: "<address>",
1460
+ role: "value",
1461
+ type: "string",
1462
+ meaning: "an e-mail address that gets a blind copy; repeat it for more"
1463
+ },
1464
+ {
1465
+ name: "--reply-all",
1466
+ role: "value",
1467
+ type: "switch",
1468
+ meaning: "with --reply-to, an e-mail reply also goes to everyone the message went to"
1469
+ }
1470
+ ];
1471
+
1472
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/flags-what.js
1433
1473
  var WHAT_FLAGS = [
1434
1474
  {
1435
1475
  name: "--analysis-provider",
@@ -1874,7 +1914,14 @@ var WHAT_FLAGS = [
1874
1914
  meaning: "keep a token an operation returns only in this bot profile's keyring; never print it"
1875
1915
  },
1876
1916
  { name: "--task", value: "<id>", role: "target", type: "id", meaning: "a task, by id" },
1877
- { name: "--to", value: "<chat>", role: "target", type: "id", meaning: "the chat it goes to" },
1917
+ {
1918
+ name: "--to",
1919
+ value: "<chat>",
1920
+ role: "target",
1921
+ type: "id",
1922
+ otherValues: ["address"],
1923
+ meaning: "who it goes to: a chat in a messenger (<chat>), an e-mail address in mail (<address>, repeated for more)"
1924
+ },
1878
1925
  {
1879
1926
  name: "--topic-name",
1880
1927
  value: "<name>",
@@ -2324,7 +2371,8 @@ var WHAT_FLAGS = [
2324
2371
  value: "<ref>",
2325
2372
  role: "value",
2326
2373
  type: "string",
2327
- meaning: "what it is about, as a reference",
2374
+ otherValues: ["text"],
2375
+ meaning: "what it is about: a reference in a note or task (<ref>), the subject line in mail (<text>)",
2328
2376
  replaces: ["--about"]
2329
2377
  },
2330
2378
  {
@@ -2419,7 +2467,7 @@ var WHAT_FLAGS = [
2419
2467
  }
2420
2468
  ];
2421
2469
 
2422
- // node_modules/.pnpm/@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/vocabulary.js
2470
+ // node_modules/.pnpm/@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/standards/vocabulary.js
2423
2471
  var FLAG_TYPES = [
2424
2472
  "switch",
2425
2473
  "count",
@@ -2461,6 +2509,11 @@ var flagSchema = strictObject({
2461
2509
  type: picklist(FLAG_TYPES),
2462
2510
  role: picklist(Object.keys(FLAG_ROLES)),
2463
2511
  meaning: text,
2512
+ /**
2513
+ * Value names a domain other than the main one gives the flag, such as mail's `--to <address>` beside the
2514
+ * messengers' `<chat>`. The meaning for each says which is which. `flag-two-meanings` accepts these and no others.
2515
+ */
2516
+ otherValues: optional(array(pipe(string(), regex(/^[a-z][a-z0-9-]*$/, "a value name such as address")))),
2464
2517
  unit: optional(text),
2465
2518
  /** Other names for the same flag, which `flag-synonym` refuses. */
2466
2519
  replaces: optional(array(pipe(string(), regex(/^--[a-z][a-z0-9]*(-[a-z0-9]+)*$/, "a long flag"))))
@@ -2624,6 +2677,7 @@ var collections = [
2624
2677
  ["chats", "conversations in a messenger"],
2625
2678
  ["contacts", "identities in a messenger's contact list"],
2626
2679
  ["messages", "posts in a messenger chat, or emails"],
2680
+ ["drafts", "e-mails saved in a mailbox's Drafts folder, written and not sent"],
2627
2681
  ["polls", "polls in a chat"],
2628
2682
  ["reactions", "reactions to a message"],
2629
2683
  ["recipients", "who a message goes to"],
@@ -2770,10 +2824,10 @@ var VOCABULARY = defineVocabulary({
2770
2824
  ],
2771
2825
  views: views.map(([entry, meaning]) => ({ word: entry, meaning })),
2772
2826
  roots: roots.map(([entry, meaning]) => ({ word: entry, meaning })),
2773
- flags: [...HOW_FLAGS, ...WHAT_FLAGS, ...CALENDAR_FLAGS]
2827
+ flags: [...HOW_FLAGS, ...WHAT_FLAGS, ...CALENDAR_FLAGS, ...MAIL_FLAGS]
2774
2828
  });
2775
2829
 
2776
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/mcp/agent.js
2830
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/mcp/agent.js
2777
2831
  var TYPES = new Map(VOCABULARY.flags.map((flag) => [flag.name, flag.type]));
2778
2832
  var snake = /* @__PURE__ */ __name((name) => name.replaceAll("|", "_or_").replace(/[^a-z0-9]+/gi, "_"), "snake");
2779
2833
  var longOf = /* @__PURE__ */ __name((option) => option.flags.match(/--[a-z0-9][a-z0-9-]*/)?.[0], "longOf");
@@ -2994,7 +3048,7 @@ var runCommandForAgent = /* @__PURE__ */ __name(async (program, path, input, ctx
2994
3048
  }
2995
3049
  }, "runCommandForAgent");
2996
3050
 
2997
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/mcp/tool.js
3051
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/mcp/tool.js
2998
3052
  var limit = optional(pipe(number(), integer(), minValue(1), maxValue(100), description("how many")));
2999
3053
  var page = optional(pipe(number(), integer(), minValue(1), description("which page, from 1")));
3000
3054
  var message = pipe(
@@ -3108,7 +3162,7 @@ var entryRunner = /* @__PURE__ */ __name((registration) => {
3108
3162
  ...outcomeOf(result),
3109
3163
  startedAt,
3110
3164
  finishedAt: Date.now()
3111
- })?.catch(() => void 0);
3165
+ }, caller)?.catch(() => void 0);
3112
3166
  return result;
3113
3167
  };
3114
3168
  }, "entryRunner");
@@ -3253,7 +3307,7 @@ var failed = /* @__PURE__ */ __name((error, errors, effects) => {
3253
3307
  return mcpErrorResult(JSON.parse(agentJson(errorObjectOf(error, context))));
3254
3308
  }, "failed");
3255
3309
 
3256
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/mcp/surface.js
3310
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/mcp/surface.js
3257
3311
  import { randomUUID } from "node:crypto";
3258
3312
  var MATCHES = 8;
3259
3313
  var ANSWER = answerSchema();
@@ -3,12 +3,12 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError,
5
5
  singleLine
6
- } from "./chunk-SB47UAW2.js";
6
+ } from "./chunk-7NDSBTKR.js";
7
7
  import {
8
8
  __name
9
9
  } from "./chunk-ZVVMGPBJ.js";
10
10
 
11
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/providers.js
11
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/providers.js
12
12
  var KINDS = ["messages", "mail", "notes", "documents", "meetings", "events"];
13
13
  var PROVIDERS = [
14
14
  { name: "telegram", kind: "messages", aliases: ["tg"] },
@@ -102,7 +102,7 @@ var providerNamed = /* @__PURE__ */ __name((word) => {
102
102
  var kindIn = /* @__PURE__ */ __name((provider) => isFolderProvider(provider) ? "notes" : registry.find(({ name }) => name === provider)?.kind, "kindIn");
103
103
  var kindOf = /* @__PURE__ */ __name((provider) => kindIn(provider) ?? "messages", "kindOf");
104
104
 
105
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/locator.js
105
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/locator.js
106
106
  var SCHEME = "msg:";
107
107
  var formatLocator = /* @__PURE__ */ __name(({ provider, account, chat, message }) => SCHEME + [provider, account, chat, message].map(encodeURIComponent).join("/"), "formatLocator");
108
108
  var isLocator = /* @__PURE__ */ __name((reference) => reference.trim().startsWith(SCHEME), "isLocator");
@@ -116,7 +116,7 @@ var parseLocator = /* @__PURE__ */ __name((reference) => {
116
116
  return { provider, account, chat, message };
117
117
  }, "parseLocator");
118
118
 
119
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/references.js
119
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/references.js
120
120
  var SIMPLE_REFERENCES = [
121
121
  "note",
122
122
  "document",
@@ -188,7 +188,7 @@ var folderPath = /* @__PURE__ */ __name((path) => {
188
188
  }, "folderPath");
189
189
  var canonicalReference = /* @__PURE__ */ __name((text) => formatReference(parseReference(text)), "canonicalReference");
190
190
 
191
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/counters.js
191
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/counters.js
192
192
  var COUNTER_FIELDS = ["views", "reactions", "comments"];
193
193
  var validCounter = /* @__PURE__ */ __name((value) => typeof value === "number" && Number.isFinite(value) && value >= 0, "validCounter");
194
194
  var counterValue = /* @__PURE__ */ __name((message, field) => {
@@ -225,7 +225,7 @@ var counterFreshness = /* @__PURE__ */ __name((states) => {
225
225
  return states.some((one) => one.freshness === "stale") ? "stale" : "fresh";
226
226
  }, "counterFreshness");
227
227
 
228
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/rankings-options.js
228
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/rankings-options.js
229
229
  var MESSAGE_MEASURES = ["views", "reactions", "forwards", "comments", "replies", "thread-size"];
230
230
  var AUTHOR_MEASURES = [
231
231
  "messages",
@@ -2,12 +2,12 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-SB47UAW2.js";
5
+ } from "./chunk-7NDSBTKR.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-ZVVMGPBJ.js";
9
9
 
10
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/atomic-write.js
10
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/atomic-write.js
11
11
  import { randomUUID } from "node:crypto";
12
12
  import { constants } from "node:fs";
13
13
  import { link, open, realpath, rename, unlink } from "node:fs/promises";
@@ -45,7 +45,7 @@ var writeFileAtomic = /* @__PURE__ */ __name(async (path, content, { mode = 384,
45
45
  }
46
46
  }, "writeFileAtomic");
47
47
 
48
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/ordinary-file.js
48
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/ordinary-file.js
49
49
  import { constants as constants2 } from "node:fs";
50
50
  import { lstat, open as open2 } from "node:fs/promises";
51
51
  var deviceOf = /* @__PURE__ */ __name((dev) => process.platform === "win32" ? BigInt.asUintN(32, dev) : dev, "deviceOf");
@@ -111,7 +111,7 @@ var syncDirectory = /* @__PURE__ */ __name(async (path) => {
111
111
  }
112
112
  }, "syncDirectory");
113
113
 
114
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/bounded-utf8.js
114
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/bounded-utf8.js
115
115
  var readBoundedUtf8File = /* @__PURE__ */ __name(async (path, { maxBytes }) => {
116
116
  if (!Number.isSafeInteger(maxBytes) || maxBytes < 1 || maxBytes > 16 * 1024 * 1024)
117
117
  throw new CliError("validation_error", "file maxBytes takes 1\u201316777216 bytes");
@@ -140,21 +140,21 @@ var readBoundedUtf8File = /* @__PURE__ */ __name(async (path, { maxBytes }) => {
140
140
  }
141
141
  }, "readBoundedUtf8File");
142
142
 
143
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/lock.js
143
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/lock.js
144
144
  import { mkdir as mkdir2 } from "node:fs/promises";
145
145
  import { basename as basename2, dirname as dirname2 } from "node:path";
146
146
 
147
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-writer-lease.js
147
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-writer-lease.js
148
148
  import { randomUUID as randomUUID2 } from "node:crypto";
149
149
  import { lstat as lstat3, mkdir, open as open3, realpath as realpath3, rmdir as rmdir2, unlink as unlink4 } from "node:fs/promises";
150
150
  import { hostname as hostname2 } from "node:os";
151
151
  import { join as join3 } from "node:path";
152
152
 
153
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-lease-inspection.js
153
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-lease-inspection.js
154
154
  import { lstat as lstat2, readdir, realpath as realpath2, unlink as unlink2 } from "node:fs/promises";
155
155
  import { join as join2 } from "node:path";
156
156
 
157
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-lease-owner.js
157
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-lease-owner.js
158
158
  import { hostname } from "node:os";
159
159
  var missingLeaseFile = /* @__PURE__ */ __name((error) => typeof error === "object" && error !== null && "code" in error && error.code === "ENOENT", "missingLeaseFile");
160
160
  var readLeaseOwner = /* @__PURE__ */ __name(async (path, name, signal) => {
@@ -199,7 +199,7 @@ var leaseOwnerStatus = /* @__PURE__ */ __name((owner) => {
199
199
  }
200
200
  }, "leaseOwnerStatus");
201
201
 
202
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-lease-inspection.js
202
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-lease-inspection.js
203
203
  var leaseInspection = /* @__PURE__ */ __name((markerDirectory) => {
204
204
  const inspect = /* @__PURE__ */ __name(async (destination, options = {}) => {
205
205
  options.signal?.throwIfAborted();
@@ -258,7 +258,7 @@ var leaseInspection = /* @__PURE__ */ __name((markerDirectory) => {
258
258
  return { inspect, recover };
259
259
  }, "leaseInspection");
260
260
 
261
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-lease-release.js
261
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-lease-release.js
262
262
  import { rmdir, unlink as unlink3 } from "node:fs/promises";
263
263
  var ownedNativeLease = /* @__PURE__ */ __name((path, name, owner, folder, identity) => {
264
264
  let releasing;
@@ -283,7 +283,7 @@ var ownedNativeLease = /* @__PURE__ */ __name((path, name, owner, folder, identi
283
283
  };
284
284
  }, "ownedNativeLease");
285
285
 
286
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/native-writer-lease.js
286
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/native-writer-lease.js
287
287
  var validName = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length > 0 && value !== "." && value !== ".." && !/[\\/\0:]/.test(value), "validName");
288
288
  var nativeWriterLeaseStore = /* @__PURE__ */ __name((layout) => {
289
289
  const { markerDirectory, legacyMarker } = layout;
@@ -354,7 +354,7 @@ var nativeWriterLeaseStore = /* @__PURE__ */ __name((layout) => {
354
354
  };
355
355
  }, "nativeWriterLeaseStore");
356
356
 
357
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/files/lock.js
357
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/lock.js
358
358
  var acquireLock = /* @__PURE__ */ __name(async (path, { signal } = {}) => {
359
359
  const folder = dirname2(path);
360
360
  await mkdir2(folder, { recursive: true, mode: 448 });
@@ -369,6 +369,18 @@ var acquireLock = /* @__PURE__ */ __name(async (path, { signal } = {}) => {
369
369
  });
370
370
  }, "acquireLock");
371
371
 
372
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/files/safe-name.js
373
+ import { basename as basename3 } from "node:path";
374
+ var safeName = /* @__PURE__ */ __name((name, platform = process.platform) => {
375
+ let plain = name === void 0 ? "" : basename3(name.replaceAll("\\", "/")).replace(/[\p{Cc}​-‏‪-‮⁦-⁩]/gu, "").replace(/^\.+/, "");
376
+ if (platform === "win32") {
377
+ plain = plain.replace(/[<>:"|?*]/g, "_").replace(/[. ]+$/, "");
378
+ if (/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i.test(plain))
379
+ return void 0;
380
+ }
381
+ return plain === "" ? void 0 : plain;
382
+ }, "safeName");
383
+
372
384
  export {
373
385
  writeFileAtomic,
374
386
  openOrdinaryFile,
@@ -376,5 +388,6 @@ export {
376
388
  syncDirectory,
377
389
  readBoundedUtf8File,
378
390
  nativeWriterLeaseStore,
379
- acquireLock
391
+ acquireLock,
392
+ safeName
380
393
  };
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  LEVELS
5
- } from "./chunk-HIZQYFY3.js";
5
+ } from "./chunk-7D56BQZL.js";
6
6
  import {
7
7
  CliError,
8
8
  array,
@@ -26,12 +26,12 @@ import {
26
26
  unknown,
27
27
  visibleControls,
28
28
  writeSecurely
29
- } from "./chunk-SB47UAW2.js";
29
+ } from "./chunk-7NDSBTKR.js";
30
30
  import {
31
31
  __name
32
32
  } from "./chunk-ZVVMGPBJ.js";
33
33
 
34
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/resolve.js
34
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/resolve.js
35
35
  var isId = /* @__PURE__ */ __name((reference) => /^-?\d+$/.test(reference.trim()), "isId");
36
36
  var foldName = /* @__PURE__ */ __name((name) => name.normalize("NFC").replace(/[\uFE0E\uFE0F\u200D]/g, "").toLowerCase(), "foldName");
37
37
  var pickChat = /* @__PURE__ */ __name((reference, chats) => {
@@ -69,7 +69,7 @@ ${lines}`, { candidates });
69
69
  }, "ambiguous");
70
70
  var isPresent = /* @__PURE__ */ __name((value) => value !== null && value !== void 0, "isPresent");
71
71
 
72
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/formatting.js
72
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/formatting.js
73
73
  var invalid = /* @__PURE__ */ __name(() => new CliError("validation_error", "the messenger formatter returned invalid text spans"), "invalid");
74
74
  var validateFormattedText = /* @__PURE__ */ __name((formatted) => {
75
75
  const { text, spans } = formatted;
@@ -129,7 +129,7 @@ var visibleFormattedText = /* @__PURE__ */ __name((formatted) => {
129
129
  };
130
130
  }, "visibleFormattedText");
131
131
 
132
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/moderation/check.js
132
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/moderation/check.js
133
133
  var INVITE = /max\.ru\/join\/|(t|telegram)\.me\/(\+|joinchat\/)|tg:\/\/join/i;
134
134
  var LINK = /https?:\/\/\S+/i;
135
135
  var STRENGTH = { report: 0, delete: 1, remove: 2 };
@@ -317,7 +317,7 @@ var nextPoint = /* @__PURE__ */ __name((rows, found) => {
317
317
  }, "nextPoint");
318
318
  var someUndone = /* @__PURE__ */ __name((rows) => rows.some(undone), "someUndone");
319
319
 
320
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/moderation/rules.js
320
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/moderation/rules.js
321
321
  import { existsSync, readFileSync } from "node:fs";
322
322
  import { join } from "node:path";
323
323
  var RULE_ACTIONS = ["report", "delete", "remove"];
@@ -2,24 +2,24 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  validateFormattedText
5
- } from "./chunk-3YBDRVOG.js";
5
+ } from "./chunk-IIP4J3PD.js";
6
6
  import {
7
7
  inputPolicy
8
- } from "./chunk-6SK5SHCR.js";
8
+ } from "./chunk-R4NTPYXZ.js";
9
9
  import {
10
10
  CliError,
11
11
  indent
12
- } from "./chunk-SB47UAW2.js";
12
+ } from "./chunk-7NDSBTKR.js";
13
13
  import {
14
14
  __name
15
15
  } from "./chunk-ZVVMGPBJ.js";
16
16
 
17
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/checks.js
17
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/checks.js
18
18
  var spelled = /* @__PURE__ */ __name((check, args) => `${check.replaceAll(".", " ")}${args === void 0 ? "" : ` ${args}`}`, "spelled");
19
19
  var bareCheck = /* @__PURE__ */ __name((check, args) => `\`${spelled(check, args)}\``, "bareCheck");
20
20
  var checkWords = /* @__PURE__ */ __name((command, profile) => (check, args) => `\`${command} ${profile === void 0 ? "" : `${profile} `}${spelled(check, args)}\``, "checkWords");
21
21
 
22
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/markdown.js
22
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/markdown.js
23
23
  var MARKERS = [
24
24
  ["**", "bold"],
25
25
  ["~~", "strike"],
@@ -65,7 +65,7 @@ var closing = /* @__PURE__ */ __name((input, open, marker) => {
65
65
  return end;
66
66
  }, "closing");
67
67
 
68
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/markdown-spans.js
68
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/markdown-spans.js
69
69
  var STYLES = [
70
70
  ["**", "bold"],
71
71
  ["__", "underline"],
@@ -225,7 +225,7 @@ var parseMarkdownSpans = /* @__PURE__ */ __name((input) => {
225
225
  return validateFormattedText(result);
226
226
  }, "parseMarkdownSpans");
227
227
 
228
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/domain/polls.js
228
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/domain/polls.js
229
229
  var countedPoll = /* @__PURE__ */ __name((poll, votes, self) => {
230
230
  const cast = votes.filter((vote) => vote.answers.length > 0);
231
231
  const mine = self === null ? void 0 : votes.find((vote) => vote.person.id === self);
@@ -1874,7 +1874,7 @@ var createDataURL = /* @__PURE__ */ __name(function(width, height, getPixel) {
1874
1874
  var qrcode_default = qrcode;
1875
1875
  var stringToBytes = qrcode.stringToBytes;
1876
1876
 
1877
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/terminal/qr.js
1877
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/terminal/qr.js
1878
1878
  var QUIET_ZONE = 4;
1879
1879
  var BLACK_ON_WHITE = "\x1B[30;107m";
1880
1880
  var RESET = "\x1B[0m";
@@ -1921,7 +1921,7 @@ var plainQr = /* @__PURE__ */ __name((link) => {
1921
1921
  return lines.join("\n");
1922
1922
  }, "plainQr");
1923
1923
 
1924
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/terminal/login-qr.js
1924
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/terminal/login-qr.js
1925
1925
  var MARGIN = 2;
1926
1926
  var atTerminal = /* @__PURE__ */ __name((input) => input.isTTY === true && !inputPolicy(input).noInput, "atTerminal");
1927
1927
  var PASTE_QR = "agents: paste the QR code above into the chat as a code block, exactly as printed; when a new one is printed, paste it and say the old one expired";
@@ -10,12 +10,12 @@ import {
10
10
  optional,
11
11
  pipe,
12
12
  safeParse
13
- } from "./chunk-SB47UAW2.js";
13
+ } from "./chunk-7NDSBTKR.js";
14
14
  import {
15
15
  __name
16
16
  } from "./chunk-ZVVMGPBJ.js";
17
17
 
18
- // node_modules/.pnpm/@wirecat+cli-core@0.507.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_d5beb0101c7a90701cc33879a5be8d28/node_modules/@wirecat/cli-core/dist/models/options.js
18
+ // node_modules/.pnpm/@wirecat+cli-core@0.533.0_@wirecat+cli-base@0.71.0_commander@15.0.0_esbuild@0.28.2_type_d95b0b392230247c519664df7aaeaaab/node_modules/@wirecat/cli-core/dist/models/options.js
19
19
  var checkedOptions = /* @__PURE__ */ __name((provider, schema, options) => {
20
20
  const parsed = safeParse(schema, options);
21
21
  if (!parsed.success) {