@wirecat/cli-memo 0.131.52 → 0.131.54

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 (112) hide show
  1. package/dist/bin/memo.js +2 -2
  2. package/dist/bundle/{all-profiles-ZFVBLT2D.js → all-profiles-PJR2VHDP.js} +5 -5
  3. package/dist/bundle/{anthropic-UG2YHOT7.js → anthropic-ZUDIWREK.js} +3 -3
  4. package/dist/bundle/{app-server-AQYA4TB6.js → app-server-EYNQ4L2V.js} +35 -35
  5. package/dist/bundle/auto-3IGKVB3G.js +86 -0
  6. package/dist/bundle/{bun-QJUFWKEZ.js → bun-W2ZP6I6Z.js} +2 -2
  7. package/dist/bundle/{bun-sqlite-GWVRHYF4.js → bun-sqlite-T2CTJ6AR.js} +2 -2
  8. package/dist/bundle/{chunk-RYY4YRKQ.js → chunk-26QKDK5P.js} +5 -5
  9. package/dist/bundle/{chunk-EEEZGK2J.js → chunk-2NVP4FZH.js} +1 -1
  10. package/dist/bundle/{chunk-NNUP36UQ.js → chunk-34GJQ4ZR.js} +1 -1
  11. package/dist/bundle/{chunk-6PQIXQFD.js → chunk-3MWNNJII.js} +8 -8
  12. package/dist/bundle/{chunk-AU5GAMGM.js → chunk-4335SGVD.js} +2170 -1265
  13. package/dist/bundle/{chunk-M64NVDB4.js → chunk-4VQ7FPNW.js} +3 -3
  14. package/dist/bundle/{chunk-6BVWU2UM.js → chunk-5UM2OEOR.js} +2 -2
  15. package/dist/bundle/{chunk-S7X5ZMQN.js → chunk-643B3X4D.js} +2 -2
  16. package/dist/bundle/{chunk-G52Y3KOO.js → chunk-6NJ5OI2S.js} +1 -1
  17. package/dist/bundle/{chunk-X6XIW76O.js → chunk-7ZO2LAFF.js} +5 -5
  18. package/dist/bundle/{chunk-4ISZPK6D.js → chunk-AF2ZDP3M.js} +1 -1
  19. package/dist/bundle/{chunk-6GF4TIVM.js → chunk-AYY5CYJJ.js} +1 -1
  20. package/dist/bundle/{chunk-2CBOPOC7.js → chunk-B5VQSSL2.js} +12 -12
  21. package/dist/bundle/{chunk-G4Z4WSIG.js → chunk-BC7N6IQ6.js} +1 -1
  22. package/dist/bundle/{chunk-3O46NA2H.js → chunk-BEO6VJ2E.js} +47 -47
  23. package/dist/bundle/{chunk-NIUWQP7F.js → chunk-CADGAURO.js} +28 -28
  24. package/dist/bundle/{chunk-ETYAJPIT.js → chunk-DDD3CXHR.js} +20 -20
  25. package/dist/bundle/{chunk-ERZBEQAY.js → chunk-DIFRVXKQ.js} +297 -261
  26. package/dist/bundle/{chunk-U4ZD5SYO.js → chunk-FUINFNUC.js} +1 -1
  27. package/dist/bundle/{chunk-IALGFO44.js → chunk-GESLAB4N.js} +2 -2
  28. package/dist/bundle/{chunk-LUHMRW3P.js → chunk-HIF4YBD7.js} +4 -4
  29. package/dist/bundle/{chunk-FWCFEJWD.js → chunk-IRFHHNSX.js} +159 -151
  30. package/dist/bundle/{chunk-VOWEZBOJ.js → chunk-IVDBHH3N.js} +1 -1
  31. package/dist/bundle/{chunk-7SVHEGRO.js → chunk-JB43Q2QL.js} +1 -1
  32. package/dist/bundle/{chunk-ZVR6S4XB.js → chunk-JBQP2M7J.js} +7 -7
  33. package/dist/bundle/{chunk-MICF3K6S.js → chunk-JGY2PJ3N.js} +12 -12
  34. package/dist/bundle/{chunk-55GFDV24.js → chunk-JI4LJ563.js} +5 -5
  35. package/dist/bundle/{chunk-N5J6GT7C.js → chunk-K236JZLF.js} +4 -4
  36. package/dist/bundle/{chunk-NZKDNBYE.js → chunk-KK2ATSEC.js} +6 -6
  37. package/dist/bundle/{chunk-XIHQOSCT.js → chunk-KTVYCPJW.js} +1 -1
  38. package/dist/bundle/{chunk-ZKXIZD4C.js → chunk-LCE5LBZC.js} +4 -4
  39. package/dist/bundle/{chunk-EQUPZVV6.js → chunk-ME5RFKKD.js} +5 -5
  40. package/dist/bundle/{chunk-EKQNL6VJ.js → chunk-MFVZXEQN.js} +21 -21
  41. package/dist/bundle/{chunk-IKG2OPHU.js → chunk-MGDBKE7E.js} +6 -6
  42. package/dist/bundle/{chunk-6ZQK3L35.js → chunk-MU4MPJCU.js} +2 -2
  43. package/dist/bundle/{chunk-A36ASW3I.js → chunk-MV5W4FLV.js} +1 -1
  44. package/dist/bundle/{chunk-AGOUP5AH.js → chunk-O7CBAY6J.js} +4 -4
  45. package/dist/bundle/{chunk-I4LXP4HQ.js → chunk-OKERVM3M.js} +4 -4
  46. package/dist/bundle/{chunk-LX65W7IK.js → chunk-OQVLH2BS.js} +4 -4
  47. package/dist/bundle/{chunk-G7K4J3NS.js → chunk-OSPAMIIY.js} +3 -3
  48. package/dist/bundle/{chunk-5WT6SEXS.js → chunk-P3MKPY7D.js} +21 -9
  49. package/dist/bundle/{chunk-PKVXZZTM.js → chunk-P5UTNYA7.js} +2 -2
  50. package/dist/bundle/{chunk-2GEV2TXW.js → chunk-PHP3T567.js} +3 -3
  51. package/dist/bundle/{chunk-OIPJYDLZ.js → chunk-PSJB456T.js} +1 -1
  52. package/dist/bundle/{chunk-65576OCE.js → chunk-RSBROHX4.js} +1 -1
  53. package/dist/bundle/{chunk-NUQ3N3V3.js → chunk-RX6JTLKD.js} +7 -7
  54. package/dist/bundle/{chunk-KGPD3OCD.js → chunk-SR3ZNX24.js} +259 -154
  55. package/dist/bundle/{chunk-NOEXRGYH.js → chunk-T5WGWLY2.js} +10 -10
  56. package/dist/bundle/{chunk-ZVJAZXME.js → chunk-UBZN4EWJ.js} +4 -4
  57. package/dist/bundle/{chunk-OWS67HTV.js → chunk-VBYV6XQI.js} +2 -2
  58. package/dist/bundle/{chunk-ZYQEWB6P.js → chunk-VPCNLTME.js} +2 -2
  59. package/dist/bundle/{chunk-TM6R3Z45.js → chunk-VQTU4ILC.js} +1 -1
  60. package/dist/bundle/{chunk-PBM5GH7S.js → chunk-VXZ7FWKU.js} +2 -2
  61. package/dist/bundle/{chunk-TQS6ZKC3.js → chunk-WYZDNDQ5.js} +266 -265
  62. package/dist/bundle/{chunk-GJWNHWG7.js → chunk-YHHR7NQ3.js} +51 -36
  63. package/dist/bundle/{chunk-A7DXLOMS.js → chunk-ZRBXOHNH.js} +1 -1
  64. package/dist/bundle/{chunk-U6E3BGHO.js → chunk-ZTM4UUCP.js} +9 -9
  65. package/dist/bundle/{command-contract-7AADJ3UC.js → command-contract-EWPKHGAZ.js} +11 -11
  66. package/dist/bundle/{decode-XMIBTI5O.js → decode-UWT3Y66W.js} +2 -2
  67. package/dist/bundle/{echarts-W7DPDJA5.js → echarts-7VGTR45R.js} +2 -2
  68. package/dist/bundle/{embed-EP3KKO6Y.js → embed-CM2QSTNK.js} +3 -3
  69. package/dist/bundle/{embedder-ENGCALJ7.js → embedder-CDCAMVV7.js} +6 -6
  70. package/dist/bundle/{entry-BGSKREOS.js → entry-WHEWBNJL.js} +4 -4
  71. package/dist/bundle/failure-LGDSH47N.js +66 -0
  72. package/dist/bundle/{first-run-4EBMV2EM.js → first-run-ZBIQO5RZ.js} +5 -5
  73. package/dist/bundle/{first-screen-2TM3BF2Y.js → first-screen-CUAY5N6E.js} +12 -12
  74. package/dist/bundle/{instructions-A42XETMK.js → instructions-LYKSTUGQ.js} +1 -1
  75. package/dist/bundle/{mcp-5LAWRSJK.js → mcp-I72UY3QP.js} +35 -35
  76. package/dist/bundle/memo.js +6 -6
  77. package/dist/bundle/{node-IRL66JK2.js → node-LFRTSZBZ.js} +2 -2
  78. package/dist/bundle/{node-sqlite-SOGTH72B.js → node-sqlite-Y47T5FTT.js} +3 -3
  79. package/dist/bundle/{oauth-RB5W3AC7.js → oauth-YM5C6VS3.js} +4 -4
  80. package/dist/bundle/{open-552EJ4JC.js → open-WPA4DW5G.js} +2 -2
  81. package/dist/bundle/{openai-ZLOHEEDH.js → openai-RCPT23DA.js} +7 -7
  82. package/dist/bundle/{process-46SUXGWW.js → process-P2X2KFMR.js} +1 -1
  83. package/dist/bundle/{program-ZLWKMT65.js → program-AJPT7C4I.js} +190 -106
  84. package/dist/bundle/{prompt-2NHJSYKX.js → prompt-65WPTVYC.js} +2 -2
  85. package/dist/bundle/{recognize-2LDM6KHL.js → recognize-MEFMK7HT.js} +1 -1
  86. package/dist/bundle/{remote-DBYHHENF.js → remote-4XIR3ZYK.js} +4 -4
  87. package/dist/bundle/{rerank-N5T2TIIY.js → rerank-YRLAXFFL.js} +4 -4
  88. package/dist/bundle/{serve-S6B54R2F.js → serve-6SPZH6CY.js} +6 -6
  89. package/dist/bundle/server-FB75UHSF.js +48 -0
  90. package/dist/bundle/server-IELXA6S2.js +61 -0
  91. package/dist/bundle/{server-QH6AKPRV.js → server-ISFSZGGI.js} +50 -50
  92. package/dist/bundle/{state-ZXZGIIJW.js → state-G34NVZ7F.js} +3 -3
  93. package/dist/bundle/{store-PNJNDMQ4.js → store-6U4SYK4Q.js} +17 -9
  94. package/dist/bundle/store-maintenance-command-ONVPBZLT.js +48 -0
  95. package/dist/bundle/update-SAJHFRB2.js +69 -0
  96. package/dist/knowledge/relationships.d.ts +5 -1
  97. package/dist/knowledge/relationships.d.ts.map +1 -1
  98. package/dist/schedule/mail-triage-input.d.ts +21 -5
  99. package/dist/schedule/mail-triage-input.d.ts.map +1 -1
  100. package/dist/schedule/mail-triage-input.js +111 -12
  101. package/dist/schedule/mail-triage-input.js.map +1 -1
  102. package/dist/version.d.ts +1 -1
  103. package/dist/version.js +1 -1
  104. package/package.json +2 -2
  105. package/skills/morning-digest/SKILL.md +38 -13
  106. package/dist/bundle/auto-2AY6K6DI.js +0 -86
  107. package/dist/bundle/failure-ZKQVXWAB.js +0 -66
  108. package/dist/bundle/server-KZZHFPTZ.js +0 -61
  109. package/dist/bundle/server-WAIPBBM7.js +0 -48
  110. package/dist/bundle/store-maintenance-command-2ZVV3DGA.js +0 -48
  111. package/dist/bundle/update-6HXLLGTQ.js +0 -69
  112. /package/dist/bundle/{chunk-DPRGC5YX.js → chunk-2H36DXV7.js} +0 -0
@@ -3,10 +3,10 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  isCliFailure,
5
5
  isStoreDamage
6
- } from "./chunk-PKVXZZTM.js";
6
+ } from "./chunk-P5UTNYA7.js";
7
7
  import {
8
8
  refuseOwnerStoreInTests
9
- } from "./chunk-65576OCE.js";
9
+ } from "./chunk-RSBROHX4.js";
10
10
  import {
11
11
  RegistryError,
12
12
  SNAKE_CASE,
@@ -51,7 +51,7 @@ import {
51
51
  __name
52
52
  } from "./chunk-ZVVMGPBJ.js";
53
53
 
54
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/store/marks.js
54
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/store/marks.js
55
55
  import { readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
56
56
  var damageMarkPath = /* @__PURE__ */ __name((store) => `${store}.damaged.json`, "damageMarkPath");
57
57
  var healthMarkPath = /* @__PURE__ */ __name((store) => `${store}.health.json`, "healthMarkPath");
@@ -967,7 +967,7 @@ var matches = /* @__PURE__ */ __name((node, item, byName, options) => {
967
967
  }, "matches");
968
968
  var evaluate = /* @__PURE__ */ __name((ast, fields, item, options = {}) => matches(ast.root, item, new Map(fields.map((field) => [field.name, field])), options), "evaluate");
969
969
 
970
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/reference.js
970
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/reference.js
971
971
  var invalid = /* @__PURE__ */ __name(() => new CliError("validation_error", "expected meeting:<accountId>/<meetingId>[/<transcriptId>[/<cuePosition>]] with safe integer IDs"), "invalid");
972
972
  var integer2 = /* @__PURE__ */ __name((value, minimum = 1) => {
973
973
  if (!Number.isSafeInteger(value) || value < minimum)
@@ -1004,7 +1004,7 @@ var parseMeetingReference = /* @__PURE__ */ __name((text6) => {
1004
1004
  }, "parseMeetingReference");
1005
1005
  var canonicalMeetingReference = /* @__PURE__ */ __name((text6) => formatMeetingReference(parseMeetingReference(text6)), "canonicalMeetingReference");
1006
1006
 
1007
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/item.js
1007
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/item.js
1008
1008
  var text = string();
1009
1009
  var count = pipe(number(), integer(), minValue(0));
1010
1010
  var MEETING_ISSUES = ["time_without_zone"];
@@ -1069,7 +1069,7 @@ var MEETING_QUERY = {
1069
1069
  })
1070
1070
  };
1071
1071
 
1072
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/join-key.js
1072
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/join-key.js
1073
1073
  var joinKeyOf = /* @__PURE__ */ __name((url) => {
1074
1074
  const parsed = urlOf(url);
1075
1075
  if (!parsed)
@@ -1103,7 +1103,7 @@ var urlOf = /* @__PURE__ */ __name((url) => {
1103
1103
  }
1104
1104
  }, "urlOf");
1105
1105
 
1106
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/calendar-text.js
1106
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/calendar-text.js
1107
1107
  var ENTITIES = { amp: "&", lt: "<", gt: ">", quot: '"', "#39": "'", apos: "'", nbsp: " " };
1108
1108
  var SECRET_LINE = /(?<![\p{L}\p{N}])(pass ?codes?|passwords?|pwd|pins?|access ?codes?|meeting ?codes?|kennwort|пароль|пин-?код|код доступа)(?![\p{L}\p{N}])|pwd=/iu;
1109
1109
  var htmlToText = /* @__PURE__ */ __name((html) => html.replace(/<\s*br\s*\/?>/giu, "\n").replace(/<\/\s*(p|div|li|tr|h[1-6])\s*>/giu, "\n").replace(/<a\s[^>]*href\s*=\s*"([^"]*)"[^>]*>/giu, " $1 ").replace(/<[^>]+>/gu, "").replace(/&(amp|lt|gt|quot|#39|apos|nbsp);/gu, (_, name) => ENTITIES[name] ?? ""), "htmlToText");
@@ -1136,7 +1136,7 @@ var entryMetadata = /* @__PURE__ */ __name((metadata) => {
1136
1136
  return kept;
1137
1137
  }, "entryMetadata");
1138
1138
 
1139
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/cue-fingerprint.js
1139
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/cue-fingerprint.js
1140
1140
  import { createHash } from "node:crypto";
1141
1141
  var meetingCueFingerprint = /* @__PURE__ */ __name((cue2) => createHash("sha256").update(JSON.stringify({
1142
1142
  reference: cue2.reference,
@@ -1150,7 +1150,7 @@ var meetingCueFingerprint = /* @__PURE__ */ __name((cue2) => createHash("sha256"
1150
1150
  text: cue2.text
1151
1151
  })).digest("hex"), "meetingCueFingerprint");
1152
1152
 
1153
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/event-store.js
1153
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/event-store.js
1154
1154
  var UNTIL = /(?:^|;)UNTIL=(\d{4})(\d{2})(\d{2})(?:T(\d{2})(\d{2})(\d{2})Z?)?(?:;|$)/iu;
1155
1155
  var seriesEnd = /* @__PURE__ */ __name((entry) => {
1156
1156
  if (entry.recurrenceEndsAt !== null)
@@ -1173,7 +1173,7 @@ var entryInWindow = /* @__PURE__ */ __name((entry, window) => {
1173
1173
  return Math.max(entry.endsAt ?? start, start + 1) > window.from;
1174
1174
  }, "entryInWindow");
1175
1175
 
1176
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/answers.js
1176
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/answers.js
1177
1177
  var text2 = string();
1178
1178
  var count2 = pipe(number(), integer(), minValue(0));
1179
1179
  var iso2 = /* @__PURE__ */ __name((ms) => ms === null ? null : new Date(ms).toISOString(), "iso");
@@ -1408,7 +1408,7 @@ var meetingHitsList = /* @__PURE__ */ __name((found, limit, command = "search me
1408
1408
  };
1409
1409
  }, "meetingHitsList");
1410
1410
 
1411
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/participant-search.js
1411
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/participant-search.js
1412
1412
  var normalizeMeetingParticipantQuery = /* @__PURE__ */ __name((text6) => text6.normalize("NFKC").toLowerCase(), "normalizeMeetingParticipantQuery");
1413
1413
  var validateMeetingParticipantQuery = /* @__PURE__ */ __name((query) => {
1414
1414
  if (typeof query !== "string" || !query.trim() || query.length > 500 || query.includes("\0"))
@@ -1432,7 +1432,7 @@ var validateMeetingParticipantSearch = /* @__PURE__ */ __name((query, input) =>
1432
1432
  };
1433
1433
  }, "validateMeetingParticipantSearch");
1434
1434
 
1435
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/reads.js
1435
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/reads.js
1436
1436
  var MeetingError = class extends CliError {
1437
1437
  static {
1438
1438
  __name(this, "MeetingError");
@@ -1564,7 +1564,7 @@ var meetingSummaryAnswer = /* @__PURE__ */ __name(async (store, id4, accountId)
1564
1564
  return wholeList(details.summaries.map((one) => meetingSummaryItem(details.meeting.accountId, one)));
1565
1565
  }, "meetingSummaryAnswer");
1566
1566
 
1567
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/export.js
1567
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/export.js
1568
1568
  var timestamp = /* @__PURE__ */ __name((milliseconds) => {
1569
1569
  if (!Number.isSafeInteger(milliseconds) || milliseconds < 0)
1570
1570
  throw new MeetingError("validation_error", "transcript times must be nonnegative integer milliseconds");
@@ -1660,7 +1660,7 @@ var exportMeeting = /* @__PURE__ */ __name(async (store, id4, options) => {
1660
1660
  };
1661
1661
  }, "exportMeeting");
1662
1662
 
1663
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/payment.js
1663
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/payment.js
1664
1664
  var FACT_TYPES = ["fact", "statement", "question", "decision", "promise"];
1665
1665
  var PAYMENT_DIRECTIONS = ["to_us", "from_us"];
1666
1666
  var PAYMENT_STATES = ["expected", "paid", "cancelled"];
@@ -1754,10 +1754,10 @@ var paymentTitle = /* @__PURE__ */ __name((fact) => {
1754
1754
  return `${grouped(payment.amount)} ${payment.currency} ${way}${party}${item}${due} (${payment.state})`;
1755
1755
  }, "paymentTitle");
1756
1756
 
1757
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
1757
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
1758
1758
  import { createHash as createHash2 } from "node:crypto";
1759
1759
 
1760
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/timestamp.js
1760
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/timestamp.js
1761
1761
  var meetingTimestamp = /* @__PURE__ */ __name((value, name) => {
1762
1762
  if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T.+(?:Z|[+-]\d{2}:\d{2})$/i.test(value) || !Number.isFinite(Date.parse(value)))
1763
1763
  throw new CliError("validation_error", `${name} must be an ISO timestamp with a timezone, such as 2026-11-09T09:00:00Z`);
@@ -1768,7 +1768,7 @@ var meetingTimestamp = /* @__PURE__ */ __name((value, name) => {
1768
1768
  return new Date(value).toISOString();
1769
1769
  }, "meetingTimestamp");
1770
1770
 
1771
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
1771
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/findings-rules.js
1772
1772
  var TASK_TYPES = ["bug", "feature", "chore"];
1773
1773
  var invalid3 = /* @__PURE__ */ __name((message) => {
1774
1774
  throw new CliError("validation_error", message);
@@ -1941,7 +1941,7 @@ var validateBatch = /* @__PURE__ */ __name((input, rules, most, one) => {
1941
1941
  var validateFindings = /* @__PURE__ */ __name((input, rules) => validateBatch(input, rules, 16, (finding, ids2) => validateFinding(finding, rules, ids2)), "validateFindings");
1942
1942
  var findingFingerprint = /* @__PURE__ */ __name(({ id: _id, ...finding }) => findingHash(finding), "findingFingerprint");
1943
1943
 
1944
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/findings.js
1944
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/findings.js
1945
1945
  var MEETING_FINDINGS_KIND = "meeting_findings";
1946
1946
  var cue = /* @__PURE__ */ __name((raw) => {
1947
1947
  const reference2 = canonicalMeetingReference(raw);
@@ -1952,7 +1952,7 @@ var cue = /* @__PURE__ */ __name((raw) => {
1952
1952
  var validateMeetingFindings = /* @__PURE__ */ __name((input) => validateFindings(input, { plural: "meeting findings", singular: "meeting finding", cited: "cue", reference: cue }), "validateMeetingFindings");
1953
1953
  var meetingFindingFingerprint = findingFingerprint;
1954
1954
 
1955
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/result-items.js
1955
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/result-items.js
1956
1956
  var text3 = string();
1957
1957
  var identifier = pipe(text3, minLength(1));
1958
1958
  var nullableText = nullable(text3);
@@ -2085,7 +2085,7 @@ var MEETING_RESULT_ENTITIES = {
2085
2085
  meeting_repair: repair
2086
2086
  };
2087
2087
 
2088
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/event-query.js
2088
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/event-query.js
2089
2089
  var EVENT_QUERY = defineQuery({
2090
2090
  entity: "event",
2091
2091
  backend: "sql",
@@ -2101,7 +2101,7 @@ var EVENT_QUERY = defineQuery({
2101
2101
  ]
2102
2102
  });
2103
2103
 
2104
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/events.js
2104
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/events.js
2105
2105
  var linkEvent = /* @__PURE__ */ __name(async (store, details, now = Date.now()) => {
2106
2106
  const current = await store.meeting(details.meeting.id);
2107
2107
  if (!current)
@@ -2144,7 +2144,7 @@ var linkEvent = /* @__PURE__ */ __name(async (store, details, now = Date.now())
2144
2144
  return (await store.events()).find((e) => e.id === linked?.meeting.eventId) ?? null;
2145
2145
  }, "linkEvent");
2146
2146
 
2147
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/hit-query.js
2147
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/hit-query.js
2148
2148
  var context = {
2149
2149
  command: "search meetings",
2150
2150
  guide: "https://github.com/WireCatLabs/cli-core/blob/main/docs/search/query-language.md#\u0432\u0441\u0442\u0440\u0435\u0447\u0438"
@@ -2264,7 +2264,7 @@ var meetingWordsQuery = /* @__PURE__ */ __name((text6) => {
2264
2264
  return { version: 1, language: "lucene-v1", root };
2265
2265
  }, "meetingWordsQuery");
2266
2266
 
2267
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/language.js
2267
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/language.js
2268
2268
  var LATIN_WORDS = {
2269
2269
  en: ["the", "and", "is", "that", "you", "this", "what", "have", "with", "are"],
2270
2270
  es: ["el", "los", "las", "por", "pero", "para", "est\xE1", "muy", "tambi\xE9n", "hay"],
@@ -2313,7 +2313,7 @@ var transcriptLanguage = /* @__PURE__ */ __name((texts) => {
2313
2313
  return null;
2314
2314
  }, "transcriptLanguage");
2315
2315
 
2316
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/ingest.js
2316
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/ingest.js
2317
2317
  var contentHash = /* @__PURE__ */ __name(async (text6) => {
2318
2318
  const bytes = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(text6));
2319
2319
  return Array.from(new Uint8Array(bytes), (byte) => byte.toString(16).padStart(2, "0")).join("");
@@ -2350,7 +2350,7 @@ var timestamp2 = /* @__PURE__ */ __name((value) => {
2350
2350
  return time2;
2351
2351
  }, "timestamp");
2352
2352
 
2353
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/transcript-text.js
2353
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/transcript-text.js
2354
2354
  var TranscriptTextError = class extends Error {
2355
2355
  static {
2356
2356
  __name(this, "TranscriptTextError");
@@ -2405,7 +2405,7 @@ var parseTranscriptText = /* @__PURE__ */ __name((input) => {
2405
2405
  return { header, lines };
2406
2406
  }, "parseTranscriptText");
2407
2407
 
2408
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/vtt.js
2408
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/vtt.js
2409
2409
  var VttError = class extends Error {
2410
2410
  static {
2411
2411
  __name(this, "VttError");
@@ -2457,7 +2457,7 @@ var parseVtt = /* @__PURE__ */ __name((input) => {
2457
2457
  return cues;
2458
2458
  }, "parseVtt");
2459
2459
 
2460
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/import.js
2460
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/import.js
2461
2461
  var importFiles = /* @__PURE__ */ __name(async (files, store, now = Date.now()) => {
2462
2462
  const report = { meetings: 0, participants: 0, transcriptRows: 0, summaries: 0, warnings: [] };
2463
2463
  for (const file of files) {
@@ -2490,10 +2490,10 @@ var importFiles = /* @__PURE__ */ __name(async (files, store, now = Date.now())
2490
2490
  return report;
2491
2491
  }, "importFiles");
2492
2492
 
2493
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/links.js
2493
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/links.js
2494
2494
  var CHAT_MESSAGES_READ = 1e5;
2495
2495
 
2496
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/provider.js
2496
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/provider.js
2497
2497
  var snapshotMeetingScope = /* @__PURE__ */ __name((scope2) => {
2498
2498
  const provider = scope2?.provider;
2499
2499
  const account = scope2?.account;
@@ -2502,7 +2502,7 @@ var snapshotMeetingScope = /* @__PURE__ */ __name((scope2) => {
2502
2502
  return Object.freeze({ provider, account });
2503
2503
  }, "snapshotMeetingScope");
2504
2504
 
2505
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/meeting-management.js
2505
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/meeting-management.js
2506
2506
  var nonempty = /* @__PURE__ */ __name((value, name) => {
2507
2507
  if (typeof value !== "string" || !value.trim())
2508
2508
  throw new CliError("validation_error", `${name} must be nonempty`);
@@ -2553,7 +2553,7 @@ var validateMeetingChange = /* @__PURE__ */ __name((change, create) => {
2553
2553
  return Object.freeze(result);
2554
2554
  }, "validateMeetingChange");
2555
2555
 
2556
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/passage.js
2556
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/passage.js
2557
2557
  var meetingHitContextLimits = /* @__PURE__ */ __name((options = {}) => {
2558
2558
  const { before = 3, after = 3, bytes = 65536, max_read_bytes = 4194304, expected_fingerprint } = options;
2559
2559
  if (![before, after].every((value) => Number.isSafeInteger(value) && value >= 0) || before + after > 999 || !Number.isSafeInteger(bytes) || bytes < 2 || bytes > 4194304 || !Number.isSafeInteger(max_read_bytes) || max_read_bytes < 1 || max_read_bytes > 67108864 || expected_fingerprint !== void 0 && (typeof expected_fingerprint !== "string" || !/^[a-f0-9]{64}$/.test(expected_fingerprint)))
@@ -2566,7 +2566,7 @@ var validateMeetingPassage = /* @__PURE__ */ __name((reference2, options) => {
2566
2566
  throw new CliError("validation_error", "choose a cue reference and json, text or markdown output");
2567
2567
  }, "validateMeetingPassage");
2568
2568
 
2569
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/preparation-context.js
2569
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/preparation-context.js
2570
2570
  var validateMeetingPreparationContext = /* @__PURE__ */ __name((original) => {
2571
2571
  if (!original || typeof original !== "object" || Array.isArray(original))
2572
2572
  throw new CliError("validation_error", "meeting preparation context is required");
@@ -2591,7 +2591,7 @@ var validateMeetingPreparationContext = /* @__PURE__ */ __name((original) => {
2591
2591
  return { ...input, limit, maxReadBytes };
2592
2592
  }, "validateMeetingPreparationContext");
2593
2593
 
2594
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-answer.js
2594
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-answer.js
2595
2595
  var count4 = pipe(number(), integer(), minValue(0));
2596
2596
  var id = pipe(string(), minLength(1));
2597
2597
  var meetingProjectEvidence = strictObject({
@@ -2712,7 +2712,7 @@ var meetingProjectEvidenceAnswer = /* @__PURE__ */ __name((page, prepared, comma
2712
2712
  };
2713
2713
  }, "meetingProjectEvidenceAnswer");
2714
2714
 
2715
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/search-validation.js
2715
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/search-validation.js
2716
2716
  var validateMeetingHitSearch = /* @__PURE__ */ __name((query, options = {}) => {
2717
2717
  const integer3 = /* @__PURE__ */ __name((value, low, high) => Number.isSafeInteger(value) && value >= low && value <= high, "integer");
2718
2718
  if (typeof query !== "string" || !query.trim() || query.includes("\0") || new TextEncoder().encode(query).byteLength > 65536 || !integer3(options.limit ?? 100, 1, 1e3) || !integer3(options.maxReadBytes ?? 4194304, 1, 67108864) || [
@@ -2732,7 +2732,7 @@ var validateMeetingHitSearch = /* @__PURE__ */ __name((query, options = {}) => {
2732
2732
  throw new CliError("validation_error", "choose one project selector and one tag or topic selector");
2733
2733
  }, "validateMeetingHitSearch");
2734
2734
 
2735
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-query.js
2735
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/project-evidence-query.js
2736
2736
  var ids = {
2737
2737
  meeting_id: "meetingId",
2738
2738
  identity_id: "participantIdentityId",
@@ -2823,7 +2823,7 @@ var prepareMeetingProjectEvidence = /* @__PURE__ */ __name((project2, request =
2823
2823
  return { project: project2.trim(), options, query: frozen.join(" AND ") };
2824
2824
  }, "prepareMeetingProjectEvidence");
2825
2825
 
2826
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/project-evidence.js
2826
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/project-evidence.js
2827
2827
  var readMeetingProjectEvidence = /* @__PURE__ */ __name(async (read, project2, request = {}, now = Date.now()) => {
2828
2828
  const prepared = prepareMeetingProjectEvidence(project2, request, now);
2829
2829
  const page = await read(prepared.project, prepared.options);
@@ -2831,7 +2831,7 @@ var readMeetingProjectEvidence = /* @__PURE__ */ __name(async (read, project2, r
2831
2831
  return meetingProjectEvidenceAnswer(page, prepared);
2832
2832
  }, "readMeetingProjectEvidence");
2833
2833
 
2834
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/pull.js
2834
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/pull.js
2835
2835
  var participantInput = /* @__PURE__ */ __name((p, provider, occurrenceId2, position, accountId) => {
2836
2836
  const { identityExternalId, ...fields } = p;
2837
2837
  const externalId = identityExternalId ?? (p.email ? `email:${p.email.toLowerCase()}` : p.externalId) ?? `name:${p.displayName ?? "unknown"}@${accountId}/${occurrenceId2}:${position}`;
@@ -2993,7 +2993,7 @@ unlinked`, format)],
2993
2993
  return report;
2994
2994
  }, "pull");
2995
2995
 
2996
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/read-answers.js
2996
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/read-answers.js
2997
2997
  var text4 = string();
2998
2998
  var count5 = pipe(number(), integer(), minValue(0));
2999
2999
  var id2 = pipe(number(), integer(), minValue(1));
@@ -3187,10 +3187,10 @@ var eventItem = /* @__PURE__ */ __name((one) => ({
3187
3187
  updated_at: new Date(one.updatedAt).toISOString()
3188
3188
  }), "eventItem");
3189
3189
 
3190
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/recording-transfer.js
3190
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/recording-transfer.js
3191
3191
  var strongRecordingValidator = /* @__PURE__ */ __name((value) => typeof value === "string" && value.length <= 1024 && /^"[\x21\x23-\x7e\x80-\xff]*"$/.test(value), "strongRecordingValidator");
3192
3192
 
3193
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/related-history.js
3193
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/related-history.js
3194
3194
  var validateMeetingRelatedHistory = /* @__PURE__ */ __name((original) => {
3195
3195
  if (!original || typeof original !== "object" || Array.isArray(original))
3196
3196
  throw new CliError("validation_error", "related history request is required");
@@ -3220,14 +3220,14 @@ var validateMeetingRelatedHistory = /* @__PURE__ */ __name((original) => {
3220
3220
  return { ...input, anchorIds: [...new Set(input.anchorIds)], limit, maxReadBytes };
3221
3221
  }, "validateMeetingRelatedHistory");
3222
3222
 
3223
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/review.js
3223
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/review.js
3224
3224
  var REVIEW_LIMIT = { default: 50, most: 200 };
3225
3225
 
3226
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/save-hints.js
3226
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/save-hints.js
3227
3227
  var SAVE_HELP = `Worth keeping \u2014 a decision, a promise, a preference? Record it with \`memo facts add\` or
3228
3228
  \`memo memories add\`, citing the msg: locator or meeting: reference as --evidence.`;
3229
3229
 
3230
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/series-history.js
3230
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/series-history.js
3231
3231
  var validateMeetingSeriesHistory = /* @__PURE__ */ __name((input) => {
3232
3232
  input.signal?.throwIfAborted();
3233
3233
  if (!Number.isSafeInteger(input.accountId) || input.accountId <= 0)
@@ -3248,7 +3248,7 @@ var validateMeetingSeriesHistory = /* @__PURE__ */ __name((input) => {
3248
3248
  return { ...input, limit, maxReadBytes };
3249
3249
  }, "validateMeetingSeriesHistory");
3250
3250
 
3251
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/upcoming-validation.js
3251
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/upcoming-validation.js
3252
3252
  var invalid4 = /* @__PURE__ */ __name((field) => {
3253
3253
  throw new CliError("invalid_response", `meeting occurrence ${field} is invalid`);
3254
3254
  }, "invalid");
@@ -3317,7 +3317,7 @@ var readOccurrenceSchedule = /* @__PURE__ */ __name((input, meetingId, limit, ma
3317
3317
  return result;
3318
3318
  }, "readOccurrenceSchedule");
3319
3319
 
3320
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/series-inventory-validation.js
3320
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/series-inventory-validation.js
3321
3321
  function invalid5(field, response = false) {
3322
3322
  throw new CliError(response ? "invalid_response" : "validation_error", `invalid meeting inventory ${field}`);
3323
3323
  }
@@ -3346,7 +3346,7 @@ var validateMeetingSeriesInventoryCursor = /* @__PURE__ */ __name((value) => {
3346
3346
  cursorDetails(value);
3347
3347
  }, "validateMeetingSeriesInventoryCursor");
3348
3348
 
3349
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/stats.js
3349
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/stats.js
3350
3350
  var MEETING_COUNTS_GROUPINGS = ["day", "week", "series"];
3351
3351
  var zoneOf = /* @__PURE__ */ __name((timeZone) => {
3352
3352
  const zone = timeZone ?? "UTC";
@@ -3481,7 +3481,7 @@ var aggregateMeetingStats = /* @__PURE__ */ __name((rows, timeZone) => {
3481
3481
  };
3482
3482
  }, "aggregateMeetingStats");
3483
3483
 
3484
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/meetings/upcoming.js
3484
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/meetings/upcoming.js
3485
3485
  var cancelled = /* @__PURE__ */ __name((signal) => {
3486
3486
  if (!signal?.aborted)
3487
3487
  return;
@@ -3551,7 +3551,177 @@ var createUpcomingMeetingReader = /* @__PURE__ */ __name((scope2, port) => {
3551
3551
  };
3552
3552
  }, "createUpcomingMeetingReader");
3553
3553
 
3554
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/domain/tags.js
3554
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/money.js
3555
+ var CURRENCY_SCALES = {
3556
+ AED: 2,
3557
+ AMD: 2,
3558
+ AUD: 2,
3559
+ BHD: 3,
3560
+ BYN: 2,
3561
+ CAD: 2,
3562
+ CHF: 2,
3563
+ CLP: 0,
3564
+ CNY: 2,
3565
+ CZK: 2,
3566
+ DKK: 2,
3567
+ EUR: 2,
3568
+ GBP: 2,
3569
+ GEL: 2,
3570
+ HUF: 2,
3571
+ ILS: 2,
3572
+ INR: 2,
3573
+ ISK: 0,
3574
+ JPY: 0,
3575
+ KGS: 2,
3576
+ KRW: 0,
3577
+ KWD: 3,
3578
+ KZT: 2,
3579
+ NOK: 2,
3580
+ PLN: 2,
3581
+ RSD: 2,
3582
+ RUB: 2,
3583
+ SEK: 2,
3584
+ THB: 2,
3585
+ TRY: 2,
3586
+ UAH: 2,
3587
+ USD: 2,
3588
+ UZS: 2,
3589
+ VND: 0
3590
+ };
3591
+ var refuse = /* @__PURE__ */ __name((message, reason) => {
3592
+ throw new CliError("validation_error", message, { reason });
3593
+ }, "refuse");
3594
+ var DECIMAL = /^(\d{1,15})(?:\.(\d+))?$/;
3595
+ var parseDecimal = /* @__PURE__ */ __name((text6, scale) => {
3596
+ const match = DECIMAL.exec(text6.trim());
3597
+ if (!match || (match[2] ?? "").length > scale)
3598
+ return void 0;
3599
+ return BigInt(`${match[1]}${(match[2] ?? "").padEnd(scale, "0")}`);
3600
+ }, "parseDecimal");
3601
+ var formatDecimal = /* @__PURE__ */ __name((units, scale) => {
3602
+ const digits = BigInt(units).toString().padStart(scale + 1, "0");
3603
+ return scale === 0 ? digits : `${digits.slice(0, -scale)}.${digits.slice(-scale)}`;
3604
+ }, "formatDecimal");
3605
+ var groupDigits = /* @__PURE__ */ __name((decimal) => {
3606
+ const [whole = "0", fraction] = decimal.split(".");
3607
+ const grouped2 = whole.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
3608
+ return fraction === void 0 ? grouped2 : `${grouped2}.${fraction}`;
3609
+ }, "groupDigits");
3610
+ var currencyOf = /* @__PURE__ */ __name((text6) => {
3611
+ const code = typeof text6 === "string" ? text6.trim().toUpperCase() : "";
3612
+ if (CURRENCY_SCALES[code] === void 0)
3613
+ return refuse(`${typeof text6 === "string" && text6.trim() ? text6.trim() : "an empty currency"} is not a currency the store keeps; use one of ${Object.keys(CURRENCY_SCALES).join(", ")}`, "money.currency");
3614
+ return code;
3615
+ }, "currencyOf");
3616
+ var scaleOf = /* @__PURE__ */ __name((currency) => CURRENCY_SCALES[currencyOf(currency)], "scaleOf");
3617
+ var minorUnits = /* @__PURE__ */ __name((amount, currency, what = "an amount") => {
3618
+ const scale = scaleOf(currency);
3619
+ const units = typeof amount === "string" ? parseDecimal(amount, scale) : void 0;
3620
+ if (units === void 0 || units > BigInt(Number.MAX_SAFE_INTEGER))
3621
+ return refuse(`${what} is a decimal string with at most ${scale} decimal${scale === 1 ? "" : "s"} for ${currency}, such as "${formatDecimal(5e3 * 10 ** scale, scale)}"`, "money.amount");
3622
+ return Number(units);
3623
+ }, "minorUnits");
3624
+ var moneyOf = /* @__PURE__ */ __name((units, currency) => ({
3625
+ amount: formatDecimal(units, scaleOf(currency)),
3626
+ currency
3627
+ }), "moneyOf");
3628
+ var moneyLabel = /* @__PURE__ */ __name((units, currency) => `${groupDigits(formatDecimal(units, scaleOf(currency)))} ${currency}`, "moneyLabel");
3629
+ var QUANTITY_SCALE = 3;
3630
+ var quantityOf = /* @__PURE__ */ __name((text6) => {
3631
+ const thousandths = typeof text6 === "string" ? parseDecimal(text6, QUANTITY_SCALE) : void 0;
3632
+ if (thousandths === void 0 || thousandths === 0n)
3633
+ return refuse('a quantity is a decimal string above 0 with at most 3 decimals, such as "1.5"', "money.quantity");
3634
+ const plain = formatDecimal(thousandths, QUANTITY_SCALE).replace(/\.?0+$/, "");
3635
+ return { text: plain, thousandths };
3636
+ }, "quantityOf");
3637
+ var lineUnits = /* @__PURE__ */ __name((thousandths, unitPrice) => Number((thousandths * BigInt(unitPrice) + 500n) / 1000n), "lineUnits");
3638
+
3639
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/deals.js
3640
+ var DEAL_KINDS = ["deal", "lead"];
3641
+ var DEAL_STATUSES = ["open", "won", "lost"];
3642
+ var STAGE_OUTCOMES = DEAL_STATUSES;
3643
+ var DEAL_ROLES = ["owner", "contact", "decision-maker", "influencer"];
3644
+ var dealLine = /* @__PURE__ */ __name((deal) => {
3645
+ const money = deal.amount === null || deal.currency === null ? "" : `, ${moneyLabel(deal.amount, deal.currency)}`;
3646
+ return `${deal.title} \xB7 ${deal.stage}${money}${deal.status === "open" ? "" : ` (${deal.status})`}`;
3647
+ }, "dealLine");
3648
+
3649
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/relations.js
3650
+ var ORGANIZATION_ROLES = [
3651
+ "employee",
3652
+ "contractor",
3653
+ "founder",
3654
+ "owner",
3655
+ "manager",
3656
+ "adviser",
3657
+ "contact"
3658
+ ];
3659
+ var PROJECT_ROLES = ["owner", "manager", "contributor", "client-contact", "approver"];
3660
+ var RELATIONS = {
3661
+ "member-of": {
3662
+ from: ["person", "organization", "project", "chat", "email_thread"],
3663
+ to: ["organization", "project"],
3664
+ roles: { to: { organization: ORGANIZATION_ROLES, project: PROJECT_ROLES } }
3665
+ },
3666
+ "reports-to": { from: ["person"], to: ["person"], inverse: "manages" },
3667
+ "customer-of": { from: ["person", "organization"], to: ["organization"], inverse: "supplier of" },
3668
+ "partner-of": { from: ["organization"], to: ["organization"], symmetric: true },
3669
+ "related-to": {
3670
+ from: ["person", "organization", "project", "task", "deal", "lead"],
3671
+ to: ["person", "organization", "project", "task"],
3672
+ roles: { from: { deal: DEAL_ROLES, lead: DEAL_ROLES } }
3673
+ }
3674
+ };
3675
+ var RELATION_KINDS = Object.keys(RELATIONS);
3676
+ var specOf = /* @__PURE__ */ __name((kind) => Object.hasOwn(RELATIONS, kind) ? RELATIONS[kind] : void 0, "specOf");
3677
+ var isRelationKind = /* @__PURE__ */ __name((kind) => specOf(kind) !== void 0, "isRelationKind");
3678
+ var memberOnly = /* @__PURE__ */ __name((type) => type === "chat" || type === "email_thread", "memberOnly");
3679
+ var checkEnds = /* @__PURE__ */ __name((kind, from, to) => {
3680
+ const spec = specOf(kind);
3681
+ if (!spec)
3682
+ throw new CliError("validation_error", `a relationship's kind is one of ${RELATION_KINDS.join(", ")}`);
3683
+ if (memberOnly(from) && (kind !== "member-of" || to !== "project"))
3684
+ throw new CliError("validation_error", `a ${from === "chat" ? "chat" : "mail thread"} is related only as member-of a project`);
3685
+ if (!spec.from.includes(from) || !spec.to.includes(to))
3686
+ throw new CliError("validation_error", `${kind} joins ${spec.from.join(", ")} to ${spec.to.join(", ")}, not ${from} to ${to}`);
3687
+ return spec;
3688
+ }, "checkEnds");
3689
+ var rolesOf = /* @__PURE__ */ __name((kind, from, to) => {
3690
+ const spec = specOf(kind);
3691
+ if (kind === "member-of" && from !== "person")
3692
+ return void 0;
3693
+ return spec?.roles?.from?.[from] ?? spec?.roles?.to?.[to];
3694
+ }, "rolesOf");
3695
+ var ROLE_LISTS = { organization: ORGANIZATION_ROLES, project: PROJECT_ROLES, deal: DEAL_ROLES };
3696
+ var roleListOf = /* @__PURE__ */ __name((kind, from, to) => {
3697
+ const roles = rolesOf(kind, from, to);
3698
+ return Object.keys(ROLE_LISTS).find((list) => ROLE_LISTS[list] === roles);
3699
+ }, "roleListOf");
3700
+ var checkRole = /* @__PURE__ */ __name((kind, from, to, role, extra = []) => {
3701
+ const roles = rolesOf(kind, from, to)?.concat(extra);
3702
+ if (roles && !roles.includes(role))
3703
+ throw new CliError("validation_error", `a ${from}'s role on ${kind} ${to} is one of ${roles.join(", ")}`, {
3704
+ reason: "relationship.role-unknown"
3705
+ });
3706
+ return role;
3707
+ }, "checkRole");
3708
+ var isSymmetric = /* @__PURE__ */ __name((kind) => specOf(kind)?.symmetric === true, "isSymmetric");
3709
+ var inverseOf = /* @__PURE__ */ __name((kind) => specOf(kind)?.symmetric ? kind : specOf(kind)?.inverse ?? null, "inverseOf");
3710
+ var STANDINGS = ["confirmed", "reported", "proposed", "ended"];
3711
+ var standingOf = /* @__PURE__ */ __name((link, now) => {
3712
+ if (link.endsAt != null && link.endsAt <= now)
3713
+ return "ended";
3714
+ if (link.confirmed)
3715
+ return "confirmed";
3716
+ if (link.deletedAt != null)
3717
+ return "ended";
3718
+ return link.accountId != null ? "reported" : "proposed";
3719
+ }, "standingOf");
3720
+ var isUsable = /* @__PURE__ */ __name((standing) => standing === "confirmed" || standing === "reported", "isUsable");
3721
+ var notOverriddenSql = /* @__PURE__ */ __name((alias) => `NOT EXISTS (SELECT 1 FROM links override WHERE override.kind = ${alias}.kind AND override.from_type = ${alias}.from_type AND override.from_id = ${alias}.from_id AND override.to_type = ${alias}.to_type AND override.to_id = ${alias}.to_id AND json_extract(override.metadata, '$.overrides') = ${alias}.id)`, "notOverriddenSql");
3722
+ var usableLinkSql = /* @__PURE__ */ __name((alias, now) => `(${alias}.confirmed = 1 OR (${alias}.account_id IS NOT NULL AND ${alias}.deleted_at IS NULL))` + (now === void 0 ? "" : ` AND (${alias}.ends_at IS NULL OR ${alias}.ends_at > ${Math.trunc(now)})`), "usableLinkSql");
3723
+
3724
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/tags.js
3555
3725
  var TAG_TYPES = ["chat", "contact", "message", "task"];
3556
3726
  var TAG = /^[a-z0-9-]{1,32}$/;
3557
3727
  var tagOf = /* @__PURE__ */ __name((value) => {
@@ -3565,7 +3735,7 @@ var normalizeTag = /* @__PURE__ */ __name((value) => {
3565
3735
  return tag;
3566
3736
  }, "normalizeTag");
3567
3737
 
3568
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/store/sqlite/link-kinds.js
3738
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/store/sqlite/link-kinds.js
3569
3739
  var LINK_KINDS = [
3570
3740
  "links-to",
3571
3741
  "blocked-by",
@@ -3578,15 +3748,17 @@ var LINK_KINDS = [
3578
3748
  "created-from",
3579
3749
  "duplicate-of",
3580
3750
  "related-to",
3751
+ "reports-to",
3752
+ "customer-of",
3753
+ "partner-of",
3581
3754
  "assigned-to",
3582
3755
  "attached"
3583
3756
  ];
3584
3757
  var LINK_ORIGINS = ["file", "owner", "suggested", "message"];
3585
3758
  var LINK_SOURCES = [...LINK_ORIGINS, "calendar"];
3586
- var RELATION_KINDS = ["member-of", "related-to"];
3587
3759
  var linkKind = /* @__PURE__ */ __name((kind) => `'${kind}'`, "linkKind");
3588
3760
 
3589
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/tasks/model.js
3761
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/tasks/model.js
3590
3762
  var TASK_KINDS = ["question", "request", "mention", "promise"];
3591
3763
  var TASK_STATES = ["open", "todo", "in_progress", "done", "dismissed"];
3592
3764
  var CLOSED_STATES = ["done", "dismissed"];
@@ -3601,7 +3773,7 @@ function closeTask(task, state, by, at, reason) {
3601
3773
  }
3602
3774
  __name(closeTask, "closeTask");
3603
3775
 
3604
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/tasks/priority.js
3776
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/tasks/priority.js
3605
3777
  var PRIORITY_LABELS = ["low", "medium", "high", "critical"];
3606
3778
  var MIDDLE = { low: 0.125, medium: 0.375, high: 0.625, critical: 0.875 };
3607
3779
  var LEGACY_PRIORITY_SCORES = [0.875, 0.625, 0.375, 0.1875, 0.0625];
@@ -3630,13 +3802,13 @@ var priorityOf = /* @__PURE__ */ __name((value) => {
3630
3802
  }, "priorityOf");
3631
3803
  var priorityOption = /* @__PURE__ */ __name((value) => priorityOf(value) ?? "none", "priorityOption");
3632
3804
 
3633
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/tasks/store.js
3805
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/tasks/store.js
3634
3806
  function matches2(task, filter) {
3635
3807
  return (filter.account === void 0 || task.account === filter.account) && (filter.state === void 0 || task.state === filter.state) && (filter.group === void 0 || task.group === filter.group) && (filter.kind === void 0 || task.kind === filter.kind) && (filter.createdBefore === void 0 || task.createdAt < filter.createdBefore);
3636
3808
  }
3637
3809
  __name(matches2, "matches");
3638
3810
 
3639
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/tasks/service.js
3811
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/tasks/service.js
3640
3812
  function createTaskService({ store, now = /* @__PURE__ */ __name(() => /* @__PURE__ */ new Date(), "now"), newId = /* @__PURE__ */ __name(() => crypto.randomUUID(), "newId") }) {
3641
3813
  async function find(id4) {
3642
3814
  const task = await store.get(id4);
@@ -3696,7 +3868,7 @@ function median(values) {
3696
3868
  }
3697
3869
  __name(median, "median");
3698
3870
 
3699
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/domain/knowledge.js
3871
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/knowledge.js
3700
3872
  var FACT_STATUSES = ["proposed", "accepted", "superseded", "reversed", "rejected"];
3701
3873
  var MEMORY_KINDS = ["summary", "digest", "preference"];
3702
3874
  var MEMORY_STATUSES = ["proposed", "confirmed", "stale", "superseded"];
@@ -3704,92 +3876,7 @@ var MEMORY_SCOPES = ["personal", "work"];
3704
3876
  var WORK_TASK_TYPES = ["bug", "feature", "chore"];
3705
3877
  var TASK_TYPES2 = [...WORK_TASK_TYPES, ...TASK_KINDS];
3706
3878
 
3707
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/domain/money.js
3708
- var CURRENCY_SCALES = {
3709
- AED: 2,
3710
- AMD: 2,
3711
- AUD: 2,
3712
- BHD: 3,
3713
- BYN: 2,
3714
- CAD: 2,
3715
- CHF: 2,
3716
- CLP: 0,
3717
- CNY: 2,
3718
- CZK: 2,
3719
- DKK: 2,
3720
- EUR: 2,
3721
- GBP: 2,
3722
- GEL: 2,
3723
- HUF: 2,
3724
- ILS: 2,
3725
- INR: 2,
3726
- ISK: 0,
3727
- JPY: 0,
3728
- KGS: 2,
3729
- KRW: 0,
3730
- KWD: 3,
3731
- KZT: 2,
3732
- NOK: 2,
3733
- PLN: 2,
3734
- RSD: 2,
3735
- RUB: 2,
3736
- SEK: 2,
3737
- THB: 2,
3738
- TRY: 2,
3739
- UAH: 2,
3740
- USD: 2,
3741
- UZS: 2,
3742
- VND: 0
3743
- };
3744
- var refuse = /* @__PURE__ */ __name((message, reason) => {
3745
- throw new CliError("validation_error", message, { reason });
3746
- }, "refuse");
3747
- var DECIMAL = /^(\d{1,15})(?:\.(\d+))?$/;
3748
- var parseDecimal = /* @__PURE__ */ __name((text6, scale) => {
3749
- const match = DECIMAL.exec(text6.trim());
3750
- if (!match || (match[2] ?? "").length > scale)
3751
- return void 0;
3752
- return BigInt(`${match[1]}${(match[2] ?? "").padEnd(scale, "0")}`);
3753
- }, "parseDecimal");
3754
- var formatDecimal = /* @__PURE__ */ __name((units, scale) => {
3755
- const digits = BigInt(units).toString().padStart(scale + 1, "0");
3756
- return scale === 0 ? digits : `${digits.slice(0, -scale)}.${digits.slice(-scale)}`;
3757
- }, "formatDecimal");
3758
- var groupDigits = /* @__PURE__ */ __name((decimal) => {
3759
- const [whole = "0", fraction] = decimal.split(".");
3760
- const grouped2 = whole.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
3761
- return fraction === void 0 ? grouped2 : `${grouped2}.${fraction}`;
3762
- }, "groupDigits");
3763
- var currencyOf = /* @__PURE__ */ __name((text6) => {
3764
- const code = typeof text6 === "string" ? text6.trim().toUpperCase() : "";
3765
- if (CURRENCY_SCALES[code] === void 0)
3766
- return refuse(`${typeof text6 === "string" && text6.trim() ? text6.trim() : "an empty currency"} is not a currency the store keeps; use one of ${Object.keys(CURRENCY_SCALES).join(", ")}`, "money.currency");
3767
- return code;
3768
- }, "currencyOf");
3769
- var scaleOf = /* @__PURE__ */ __name((currency) => CURRENCY_SCALES[currencyOf(currency)], "scaleOf");
3770
- var minorUnits = /* @__PURE__ */ __name((amount, currency, what = "an amount") => {
3771
- const scale = scaleOf(currency);
3772
- const units = typeof amount === "string" ? parseDecimal(amount, scale) : void 0;
3773
- if (units === void 0 || units > BigInt(Number.MAX_SAFE_INTEGER))
3774
- return refuse(`${what} is a decimal string with at most ${scale} decimal${scale === 1 ? "" : "s"} for ${currency}, such as "${formatDecimal(5e3 * 10 ** scale, scale)}"`, "money.amount");
3775
- return Number(units);
3776
- }, "minorUnits");
3777
- var moneyOf = /* @__PURE__ */ __name((units, currency) => ({
3778
- amount: formatDecimal(units, scaleOf(currency)),
3779
- currency
3780
- }), "moneyOf");
3781
- var moneyLabel = /* @__PURE__ */ __name((units, currency) => `${groupDigits(formatDecimal(units, scaleOf(currency)))} ${currency}`, "moneyLabel");
3782
- var QUANTITY_SCALE = 3;
3783
- var quantityOf = /* @__PURE__ */ __name((text6) => {
3784
- const thousandths = typeof text6 === "string" ? parseDecimal(text6, QUANTITY_SCALE) : void 0;
3785
- if (thousandths === void 0 || thousandths === 0n)
3786
- return refuse('a quantity is a decimal string above 0 with at most 3 decimals, such as "1.5"', "money.quantity");
3787
- const plain = formatDecimal(thousandths, QUANTITY_SCALE).replace(/\.?0+$/, "");
3788
- return { text: plain, thousandths };
3789
- }, "quantityOf");
3790
- var lineUnits = /* @__PURE__ */ __name((thousandths, unitPrice) => Number((thousandths * BigInt(unitPrice) + 500n) / 1000n), "lineUnits");
3791
-
3792
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/domain/finance.js
3879
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/finance.js
3793
3880
  var INVOICE_DIRECTIONS = ["receivable", "payable"];
3794
3881
  var INVOICE_STATUSES = ["draft", "issued", "partly_paid", "paid", "void"];
3795
3882
  var MONEY_DIRECTIONS = ["in", "out"];
@@ -3818,7 +3905,7 @@ var paymentLine = /* @__PURE__ */ __name((payment) => {
3818
3905
  var invoiceTitle = /* @__PURE__ */ __name((invoice) => `Invoice ${invoiceLine(invoice)}`, "invoiceTitle");
3819
3906
  var paymentEntryTitle = /* @__PURE__ */ __name((payment) => `Payment \xB7 ${paymentLine(payment)}`, "paymentEntryTitle");
3820
3907
 
3821
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/domain/orders.js
3908
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/domain/orders.js
3822
3909
  var ORDER_STATUSES = ["placed", "shipped", "delivered", "cancelled", "returned"];
3823
3910
  var ORDER_PURPOSES = ["personal", "business", "client", "other"];
3824
3911
  var orderLine = /* @__PURE__ */ __name((order) => {
@@ -3828,7 +3915,7 @@ var orderLine = /* @__PURE__ */ __name((order) => {
3828
3915
  }, "orderLine");
3829
3916
  var orderTitle = /* @__PURE__ */ __name((order) => `Order ${orderLine(order)}`, "orderTitle");
3830
3917
 
3831
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/entities/fields.js
3918
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/entities/fields.js
3832
3919
  var text5 = string();
3833
3920
  var id3 = pipe(string(), minLength(1));
3834
3921
  var time = isoTime;
@@ -3852,7 +3939,7 @@ var author = strictObject({
3852
3939
  name: nullable(text5)
3853
3940
  });
3854
3941
 
3855
- // node_modules/.pnpm/@wirecat+cli-core@0.605.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_eae6fabbffc2c6fec7070a9f7231a4be/node_modules/@wirecat/cli-core/dist/entities/knowledge-lists.js
3942
+ // node_modules/.pnpm/@wirecat+cli-core@0.606.0_@wirecat+cli-base@0.82.0_commander@15.0.0_esbuild@0.28.2_type_66b8ac22c245eeaba8c329faa5b17078/node_modules/@wirecat/cli-core/dist/entities/knowledge-lists.js
3856
3943
  var organization = strictObject({
3857
3944
  id: id3,
3858
3945
  ref: reference,
@@ -3990,13 +4077,40 @@ export {
3990
4077
  aggregateMeetingCounts,
3991
4078
  aggregateMeetingStats,
3992
4079
  createUpcomingMeetingReader,
4080
+ parseDecimal,
4081
+ formatDecimal,
4082
+ currencyOf,
4083
+ scaleOf,
4084
+ minorUnits,
4085
+ moneyOf,
4086
+ moneyLabel,
4087
+ quantityOf,
4088
+ lineUnits,
4089
+ DEAL_KINDS,
4090
+ DEAL_STATUSES,
4091
+ STAGE_OUTCOMES,
4092
+ DEAL_ROLES,
4093
+ dealLine,
4094
+ RELATION_KINDS,
4095
+ isRelationKind,
4096
+ checkEnds,
4097
+ rolesOf,
4098
+ ROLE_LISTS,
4099
+ roleListOf,
4100
+ checkRole,
4101
+ isSymmetric,
4102
+ inverseOf,
4103
+ STANDINGS,
4104
+ standingOf,
4105
+ isUsable,
4106
+ notOverriddenSql,
4107
+ usableLinkSql,
3993
4108
  TAG_TYPES,
3994
4109
  tagOf,
3995
4110
  normalizeTag,
3996
4111
  LINK_KINDS,
3997
4112
  LINK_ORIGINS,
3998
4113
  LINK_SOURCES,
3999
- RELATION_KINDS,
4000
4114
  linkKind,
4001
4115
  TASK_KINDS,
4002
4116
  TASK_STATES,
@@ -4018,15 +4132,6 @@ export {
4018
4132
  MEMORY_SCOPES,
4019
4133
  WORK_TASK_TYPES,
4020
4134
  TASK_TYPES2 as TASK_TYPES,
4021
- parseDecimal,
4022
- formatDecimal,
4023
- currencyOf,
4024
- scaleOf,
4025
- minorUnits,
4026
- moneyOf,
4027
- moneyLabel,
4028
- quantityOf,
4029
- lineUnits,
4030
4135
  INVOICE_DIRECTIONS,
4031
4136
  INVOICE_STATUSES,
4032
4137
  MONEY_DIRECTIONS,