@wirecat/zoom-cli 0.60.1 → 0.62.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 (182) hide show
  1. package/README.md +3 -3
  2. package/dist/answers.d.ts +16 -0
  3. package/dist/answers.d.ts.map +1 -1
  4. package/dist/bin/zm.js +2 -2
  5. package/dist/bundle/{chunk-3R437ICM.js → all-profiles-CGGNBINU.js} +11 -7
  6. package/dist/bundle/answer-policy-D46SGQ35.js +96 -0
  7. package/dist/bundle/{anthropic-CSLAACWX.js → anthropic-KVWPIHFG.js} +4 -4
  8. package/dist/bundle/{app-server-RYYXX6QV.js → app-server-NKKFBTQN.js} +50 -50
  9. package/dist/bundle/{bun-JVDJVDHL.js → bun-XRO6XJHQ.js} +2 -2
  10. package/dist/bundle/{bun-sqlite-B5CZHAV4.js → bun-sqlite-FWNCLOAR.js} +3 -3
  11. package/dist/bundle/{chunk-HAUAEGGI.js → chunk-2DPMYUWQ.js} +10 -10
  12. package/dist/bundle/{chunk-HBYE4EP2.js → chunk-2LLNPNMB.js} +1 -1
  13. package/dist/bundle/{chunk-WB7MQHUI.js → chunk-2NAM2XQG.js} +2 -2
  14. package/dist/bundle/{chunk-PAEBFJUC.js → chunk-2T7MUSDB.js} +118 -95
  15. package/dist/bundle/{chunk-LPY2ISJK.js → chunk-3YBDRVOG.js} +6 -6
  16. package/dist/bundle/{chunk-WEUXLXOZ.js → chunk-4OQVRDTG.js} +31 -21
  17. package/dist/bundle/{chunk-Q7U627RY.js → chunk-4OTXE6CF.js} +79 -59
  18. package/dist/bundle/{chunk-LPDYI5GR.js → chunk-4UUQEQ5D.js} +1 -1
  19. package/dist/bundle/{chunk-FWJ3Q7NO.js → chunk-5LMQTEU5.js} +5 -5
  20. package/dist/bundle/{chunk-6BJQBVMN.js → chunk-5MYLM6SU.js} +45 -27
  21. package/dist/bundle/{chunk-Z5H47R4G.js → chunk-5NLFQ644.js} +1034 -870
  22. package/dist/bundle/{chunk-XS72YFPV.js → chunk-6R3GMSLR.js} +2 -2
  23. package/dist/bundle/{chunk-AZZPMHP2.js → chunk-6SK5SHCR.js} +2 -2
  24. package/dist/bundle/{chunk-TY5PBEH2.js → chunk-6SPWQCJF.js} +11 -11
  25. package/dist/bundle/{chunk-EUHQ5D4K.js → chunk-6URISMGR.js} +26 -26
  26. package/dist/bundle/{chunk-43BX56ZI.js → chunk-72S5TXFN.js} +9 -9
  27. package/dist/bundle/{chunk-OBUKZ2ZM.js → chunk-73BAQ7PH.js} +31 -211
  28. package/dist/bundle/{chunk-3LBA63D5.js → chunk-7AY3ADNV.js} +22 -5
  29. package/dist/bundle/{chunk-RACSKYNX.js → chunk-7CNRZSAV.js} +7 -5
  30. package/dist/bundle/{chunk-IQENQXUJ.js → chunk-7LQLJ7LW.js} +2 -2
  31. package/dist/bundle/{chunk-EN5DBDKW.js → chunk-AMIIU3UZ.js} +4 -4
  32. package/dist/bundle/{chunk-RUEPZTNA.js → chunk-BJPFWPKH.js} +2 -2
  33. package/dist/bundle/{chunk-KNAS4VEA.js → chunk-BNTAQADF.js} +2 -2
  34. package/dist/bundle/{chunk-PEMLI3T7.js → chunk-BPMKLWHV.js} +6 -4
  35. package/dist/bundle/chunk-CXPHUOJR.js +380 -0
  36. package/dist/bundle/{chunk-LVHZQCP4.js → chunk-D6FTCPXA.js} +14 -10
  37. package/dist/bundle/{chunk-IRX2YVAH.js → chunk-DIXC56OU.js} +4 -4
  38. package/dist/bundle/{chunk-WFT2GGFH.js → chunk-ECXRRW7J.js} +25 -22
  39. package/dist/bundle/{chunk-KXEC5FVT.js → chunk-EG7HC4EC.js} +2 -2
  40. package/dist/bundle/{chunk-GEVHI226.js → chunk-EJFSS65P.js} +6 -6
  41. package/dist/bundle/{chunk-HIAO4MPA.js → chunk-EOEDICIE.js} +1 -1
  42. package/dist/bundle/{chunk-BO7J5Z3T.js → chunk-FAOLCUKV.js} +17 -17
  43. package/dist/bundle/{chunk-ZK7Y5K63.js → chunk-FDCGTODC.js} +1 -1
  44. package/dist/bundle/{chunk-IQSBMAYB.js → chunk-GOESXUJQ.js} +3 -3
  45. package/dist/bundle/{chunk-AOZGGGUK.js → chunk-HIZQYFY3.js} +3 -3
  46. package/dist/bundle/{chunk-YLATWUE7.js → chunk-IK2OSV5C.js} +6 -6
  47. package/dist/bundle/{chunk-46R2JTGO.js → chunk-IOCS5FXW.js} +2 -2
  48. package/dist/bundle/{chunk-Y3YURIZF.js → chunk-IOUPXUFH.js} +52 -38
  49. package/dist/bundle/{chunk-ZXQCA3ZW.js → chunk-IR73ZZY6.js} +8 -8
  50. package/dist/bundle/{chunk-EF2RCQ3L.js → chunk-JBBZCTTF.js} +1 -1
  51. package/dist/bundle/{chunk-OEEMCNAO.js → chunk-JDJDVYGS.js} +6 -6
  52. package/dist/bundle/{chunk-PATM7JGR.js → chunk-JYVFFUIX.js} +1 -1
  53. package/dist/bundle/{chunk-W5EUHV3J.js → chunk-KM7Q67Z3.js} +1 -1
  54. package/dist/bundle/{chunk-FZMRHNOP.js → chunk-KMQUZ4YM.js} +3 -3
  55. package/dist/bundle/{chunk-VLE3FWE3.js → chunk-LXYC75D3.js} +120 -32
  56. package/dist/bundle/{chunk-V53IB5AU.js → chunk-M2WQWF3I.js} +47 -47
  57. package/dist/bundle/{chunk-X7YPTYM4.js → chunk-M6FCCVYZ.js} +16 -3
  58. package/dist/bundle/{chunk-4TCQT57W.js → chunk-M7YNOK4D.js} +408 -420
  59. package/dist/bundle/chunk-MI3JK6MW.js +335 -0
  60. package/dist/bundle/{chunk-ES6UWVTM.js → chunk-MIUPH3WA.js} +6 -6
  61. package/dist/bundle/{chunk-VJBVNDFR.js → chunk-MLNC5N7H.js} +3 -3
  62. package/dist/bundle/{chunk-UWVNY5CA.js → chunk-N3KQ7XND.js} +2 -2
  63. package/dist/bundle/{chunk-VKUS2V4L.js → chunk-NQCFUYC2.js} +8 -8
  64. package/dist/bundle/{chunk-KYUIU5UR.js → chunk-Q4ZE2LXE.js} +2 -2
  65. package/dist/bundle/{chunk-VVKHF6VJ.js → chunk-QLQ7VVLK.js} +49 -24
  66. package/dist/bundle/{chunk-K6NPOZUP.js → chunk-QUWMFBMS.js} +7 -7
  67. package/dist/bundle/{chunk-WWNZS7ZY.js → chunk-RWG44LQD.js} +16 -4
  68. package/dist/bundle/{chunk-R4SRXI7M.js → chunk-SB47UAW2.js} +187 -113
  69. package/dist/bundle/{chunk-N27LOY3D.js → chunk-SEH7DBAM.js} +7 -7
  70. package/dist/bundle/{chunk-YEZQ7SD7.js → chunk-SPJJCD2A.js} +13 -13
  71. package/dist/bundle/{chunk-CGCJ6P3A.js → chunk-TILW3EJY.js} +696 -418
  72. package/dist/bundle/{chunk-XLJV3ZOH.js → chunk-TQFCPUIM.js} +1 -1
  73. package/dist/bundle/{chunk-ZDRDCANC.js → chunk-TZE6WXID.js} +693 -336
  74. package/dist/bundle/{chunk-XX7KVQIG.js → chunk-UD4FKICZ.js} +4 -4
  75. package/dist/bundle/{chunk-MFS52LTZ.js → chunk-UIPT6IAU.js} +1 -1
  76. package/dist/bundle/{chunk-QKSCDALS.js → chunk-URJZK4GX.js} +1 -1
  77. package/dist/bundle/{decode-CTQJQYNU.js → chunk-VFJ3MOIR.js} +21 -18
  78. package/dist/bundle/{chunk-REC3AZP6.js → chunk-XAXXEZZ5.js} +2 -2
  79. package/dist/bundle/{chunk-Z4D6M62I.js → chunk-YBMOFCY5.js} +2 -2
  80. package/dist/bundle/{chunk-PPHUBORC.js → chunk-YF2PT5KA.js} +32 -34
  81. package/dist/bundle/chunk-YFIUXE25.js +217 -0
  82. package/dist/bundle/{chunk-7IDNHVJS.js → chunk-YI6ZNDPC.js} +22 -12
  83. package/dist/bundle/{chunk-HYZ545ON.js → chunk-YJN4XYNA.js} +2 -2
  84. package/dist/bundle/{cli-CYKEKT5P.js → cli-AHPIESAC.js} +70 -54
  85. package/dist/bundle/command-contract-HVLI3OKU.js +38 -0
  86. package/dist/bundle/config-UW6W34I2.js +78 -0
  87. package/dist/bundle/decode-ZU7WLMMV.js +20 -0
  88. package/dist/bundle/{dist-YLSQKPPY.js → dist-LTS7VI3S.js} +14 -14
  89. package/dist/bundle/{echarts-4OQHS575.js → echarts-YNGCOYHW.js} +2 -2
  90. package/dist/bundle/{embed-P2BKRRJD.js → embed-VWWOW7PP.js} +4 -4
  91. package/dist/bundle/{embedder-HC6ZARP5.js → embedder-T5GJC7M2.js} +7 -7
  92. package/dist/bundle/{first-run-UERFFXBV.js → first-run-PX3SHPUU.js} +8 -8
  93. package/dist/bundle/first-screen-RAPEZG57.js +36 -0
  94. package/dist/bundle/{folders-RSLPTZLJ.js → folders-VXMDFC2D.js} +2 -2
  95. package/dist/bundle/{instructions-3QZBKKPF.js → instructions-GJHHFV64.js} +1 -1
  96. package/dist/bundle/{main-2T6D77JC.js → main-IYCD6MBH.js} +16 -16
  97. package/dist/bundle/{mcp-OQBZXELQ.js → mcp-EMNFFY4N.js} +2 -2
  98. package/dist/bundle/{meetings-ZIDSQZBJ.js → meetings-GHYNIOHG.js} +4 -4
  99. package/dist/bundle/{node-R2BLYUSB.js → node-GFOH6FKP.js} +2 -2
  100. package/dist/bundle/{node-sqlite-7CGHAHIS.js → node-sqlite-QXKSPHTP.js} +3 -3
  101. package/dist/bundle/{oauth-UBCYXTWV.js → oauth-A6I2OMDD.js} +5 -5
  102. package/dist/bundle/{open-AWUB4Q7Z.js → open-TQKCU447.js} +2 -2
  103. package/dist/bundle/openai-XE3BJXOI.js +22 -0
  104. package/dist/bundle/{output-file-SN22HAVL.js → output-file-FQNFCUKE.js} +3 -3
  105. package/dist/bundle/{process-IX5YWGDP.js → process-XVDX4SPD.js} +1 -1
  106. package/dist/bundle/{program-STYPTNT3.js → program-UYK4AD2W.js} +415 -428
  107. package/dist/bundle/{prompt-MAYUHEGN.js → prompt-ISYG5RWM.js} +3 -3
  108. package/dist/bundle/{recognize-FVTNXRTF.js → recognize-KENPECLZ.js} +4 -2
  109. package/dist/bundle/{remote-WCPRU73L.js → remote-ZP5XTDCC.js} +5 -5
  110. package/dist/bundle/{rerank-6CBLZBCV.js → rerank-SG653RHT.js} +5 -5
  111. package/dist/bundle/{run-log-G4WZTOBW.js → run-log-HYKGQ42E.js} +53 -53
  112. package/dist/bundle/{chunk-XNUFDYR6.js → serve-6UJCZD7Z.js} +8 -6
  113. package/dist/bundle/server-AXE37E6Q.js +66 -0
  114. package/dist/bundle/{chunk-INARC5O7.js → server-ZAYEDPFR.js} +43 -10
  115. package/dist/bundle/{services-326Z3TNE.js → services-KMH7XZPY.js} +37 -26
  116. package/dist/bundle/{speech-KSZ7RKM3.js → speech-LINBLG5E.js} +28 -5
  117. package/dist/bundle/{state-EPB3L2JM.js → state-4RKZNHE7.js} +4 -4
  118. package/dist/bundle/{store-7WX7SW2R.js → store-253N7NUC.js} +15 -15
  119. package/dist/bundle/{store-KO242JBK.js → store-JTBHRQZK.js} +13 -13
  120. package/dist/bundle/store-connection-PWLUMCP7.js +76 -0
  121. package/dist/bundle/store-maintenance-command-XRNECVDU.js +55 -0
  122. package/dist/bundle/{streaming-M6VDKBBH.js → streaming-YW64OKKQ.js} +4 -4
  123. package/dist/bundle/{tokens-BTNXHR7T.js → tokens-DPBC2P3I.js} +4 -4
  124. package/dist/bundle/zm.js +1 -1
  125. package/dist/commands.d.ts +1 -2
  126. package/dist/commands.d.ts.map +1 -1
  127. package/dist/commands.js +3 -16
  128. package/dist/commands.js.map +1 -1
  129. package/dist/contract-overrides.d.ts +0 -2
  130. package/dist/contract-overrides.d.ts.map +1 -1
  131. package/dist/contract-overrides.js +0 -158
  132. package/dist/contract-overrides.js.map +1 -1
  133. package/dist/program-bindings.d.ts +1 -1
  134. package/dist/program-bindings.d.ts.map +1 -1
  135. package/dist/program-bindings.js +16 -18
  136. package/dist/program-bindings.js.map +1 -1
  137. package/dist/program.d.ts +2 -4
  138. package/dist/program.d.ts.map +1 -1
  139. package/dist/program.js.map +1 -1
  140. package/dist/read-only.d.ts.map +1 -1
  141. package/dist/read-only.js +3 -0
  142. package/dist/read-only.js.map +1 -1
  143. package/dist/run.d.ts.map +1 -1
  144. package/dist/run.js +82 -32
  145. package/dist/run.js.map +1 -1
  146. package/dist/setup-commands.d.ts.map +1 -1
  147. package/dist/setup-commands.js +8 -46
  148. package/dist/setup-commands.js.map +1 -1
  149. package/dist/store-commands.d.ts.map +1 -1
  150. package/dist/store-commands.js +4 -1
  151. package/dist/store-commands.js.map +1 -1
  152. package/dist/tokens.d.ts +6 -1
  153. package/dist/tokens.d.ts.map +1 -1
  154. package/dist/tokens.js +21 -10
  155. package/dist/tokens.js.map +1 -1
  156. package/dist/version.d.ts +1 -1
  157. package/dist/version.js +1 -1
  158. package/package.json +3 -3
  159. package/dist/bundle/all-profiles-E6KXASLY.js +0 -25
  160. package/dist/bundle/answer-policy-YWCC55NB.js +0 -96
  161. package/dist/bundle/chunk-DBSWVZES.js +0 -48
  162. package/dist/bundle/chunk-WYRYLBST.js +0 -390
  163. package/dist/bundle/chunk-YLBNPI7H.js +0 -2
  164. package/dist/bundle/command-contract-P45QCCXM.js +0 -38
  165. package/dist/bundle/config-JYKTLEA3.js +0 -79
  166. package/dist/bundle/first-screen-VFIS7FX3.js +0 -36
  167. package/dist/bundle/mcp-4VHVUMCR.js +0 -92
  168. package/dist/bundle/mcp-6CLW2IZM.js +0 -189
  169. package/dist/bundle/serve-3IDUVTZL.js +0 -19
  170. package/dist/bundle/server-7GU36TER.js +0 -66
  171. package/dist/bundle/server-VHRS5UAL.js +0 -53
  172. package/dist/bundle/store-connection-K3MNDCQQ.js +0 -76
  173. package/dist/bundle/store-maintenance-command-GJDJYI2U.js +0 -54
  174. package/dist/mcp-command.d.ts +0 -33
  175. package/dist/mcp-command.d.ts.map +0 -1
  176. package/dist/mcp-command.js +0 -143
  177. package/dist/mcp-command.js.map +0 -1
  178. package/dist/mcp.d.ts +0 -30
  179. package/dist/mcp.d.ts.map +0 -1
  180. package/dist/mcp.js +0 -110
  181. package/dist/mcp.js.map +0 -1
  182. /package/dist/bundle/{chunk-O5EHUB2V.js → chunk-NPGVOZVK.js} +0 -0
@@ -1,21 +1,22 @@
1
1
  import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
- import {
4
- checkCancelled
5
- } from "./chunk-46R2JTGO.js";
6
3
  import {
7
4
  profileAccountKey,
8
5
  profilePattern
9
- } from "./chunk-WYRYLBST.js";
6
+ } from "./chunk-M7YNOK4D.js";
7
+ import {
8
+ checkCancelled
9
+ } from "./chunk-IOCS5FXW.js";
10
+ import {
11
+ openWavAudio,
12
+ preflightWavAudio
13
+ } from "./chunk-YFIUXE25.js";
10
14
  import {
11
15
  createMeetingSearchCommand,
12
16
  meetingHitSearchRequest,
13
17
  meetingSearchArguments,
14
18
  meetingSearchMeta
15
- } from "./chunk-WFT2GGFH.js";
16
- import {
17
- openOrdinaryFile
18
- } from "./chunk-Z5H47R4G.js";
19
+ } from "./chunk-ECXRRW7J.js";
19
20
  import {
20
21
  Command,
21
22
  FETCH,
@@ -28,17 +29,17 @@ import {
28
29
  metaNow,
29
30
  metaOf,
30
31
  overrideSharedContract
31
- } from "./chunk-Y3YURIZF.js";
32
+ } from "./chunk-IOUPXUFH.js";
32
33
  import {
33
34
  parseDuration
34
- } from "./chunk-WEUXLXOZ.js";
35
+ } from "./chunk-4OQVRDTG.js";
35
36
  import {
36
37
  canonicalMeetingReference,
37
38
  meetingHitsList,
38
39
  parseMeetingReference,
39
40
  validateMeetingContextChange,
40
41
  validateMeetingHitSearch
41
- } from "./chunk-Q7U627RY.js";
42
+ } from "./chunk-4OTXE6CF.js";
42
43
  import {
43
44
  CliError,
44
45
  createOutputBuffer,
@@ -46,7 +47,7 @@ import {
46
47
  isCliError,
47
48
  jsonSchemaOf,
48
49
  union
49
- } from "./chunk-R4SRXI7M.js";
50
+ } from "./chunk-SB47UAW2.js";
50
51
  import {
51
52
  __name
52
53
  } from "./chunk-ZVVMGPBJ.js";
@@ -54,187 +55,6 @@ import {
54
55
  // dist/local-transcription.js
55
56
  import { isAbsolute } from "node:path";
56
57
 
57
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/speech/wav.js
58
- import { createHash } from "node:crypto";
59
- import { basename, resolve } from "node:path";
60
- var prepared = /* @__PURE__ */ new WeakMap();
61
- var checkCancelled2 = /* @__PURE__ */ __name((signal) => {
62
- if (!signal?.aborted)
63
- return;
64
- if (signal.reason instanceof CliError)
65
- throw signal.reason;
66
- const timedOut = signal.reason instanceof Error && signal.reason.name === "TimeoutError";
67
- throw new CliError(timedOut ? "timeout" : "cancelled", timedOut ? "command timed out" : "command cancelled");
68
- }, "checkCancelled");
69
- var invalid = /* @__PURE__ */ __name(() => {
70
- throw new CliError("validation_error", "local transcription requires PCM16 mono/stereo WAV at 16 or 48 kHz; convert the media locally to PCM WAV first");
71
- }, "invalid");
72
- var validate = /* @__PURE__ */ __name((options) => {
73
- if (!Number.isSafeInteger(options.maxBytes) || options.maxBytes < 1 || options.maxBytes > 4 * 1024 ** 3 || !Number.isSafeInteger(options.maxDurationMs) || options.maxDurationMs < 1 || options.maxDurationMs > 24 * 36e5)
74
- throw new CliError("validation_error", "audio byte and duration budgets must be positive bounded integers");
75
- checkCancelled2(options.signal);
76
- }, "validate");
77
- var exact = /* @__PURE__ */ __name(async (file, offset, size, signal) => {
78
- const bytes2 = Buffer.alloc(size);
79
- let read = 0;
80
- while (read < size) {
81
- checkCancelled2(signal);
82
- const result = await file.read(bytes2, read, size - read, offset + read);
83
- if (!result.bytesRead)
84
- throw new CliError("validation_error", "WAV changed or was truncated while reading");
85
- read += result.bytesRead;
86
- }
87
- return bytes2;
88
- }, "exact");
89
- var layoutOf = /* @__PURE__ */ __name(async (file, size, options) => {
90
- if (size < 44 || size > options.maxBytes)
91
- invalid();
92
- const header = await exact(file, 0, 12, options.signal);
93
- if (header.toString("ascii", 0, 4) !== "RIFF" || header.toString("ascii", 8, 12) !== "WAVE" || header.readUInt32LE(4) + 8 !== size)
94
- invalid();
95
- let format;
96
- let data;
97
- let at = 12;
98
- let chunks = 0;
99
- while (at < size) {
100
- checkCancelled2(options.signal);
101
- if (++chunks > 1024 || size - at < 8)
102
- invalid();
103
- const chunk = await exact(file, at, 8, options.signal);
104
- const kind = chunk.toString("ascii", 0, 4);
105
- const length = chunk.readUInt32LE(4);
106
- const start = at + 8;
107
- const next = start + length + length % 2;
108
- if (next > size)
109
- invalid();
110
- if (kind === "fmt ") {
111
- if (format || ![16, 18].includes(length))
112
- invalid();
113
- const bytes2 = await exact(file, start, length, options.signal);
114
- const channels = bytes2.readUInt16LE(2);
115
- const sampleRate = bytes2.readUInt32LE(4);
116
- if (bytes2.readUInt16LE(0) !== 1 || ![1, 2].includes(channels) || ![16e3, 48e3].includes(sampleRate) || bytes2.readUInt16LE(14) !== 16 || bytes2.readUInt16LE(12) !== channels * 2 || bytes2.readUInt32LE(8) !== sampleRate * channels * 2 || length === 18 && bytes2.readUInt16LE(16) !== 0)
117
- invalid();
118
- format = { sampleRate, channels };
119
- } else if (kind === "data") {
120
- if (data || !length)
121
- invalid();
122
- data = { offset: start, size: length };
123
- }
124
- at = next;
125
- }
126
- if (!format || !data || data.size % (format.channels * 2) !== 0)
127
- return invalid();
128
- const frames = data.size / (format.channels * 2);
129
- if (Math.ceil(frames * 1e3 / format.sampleRate) > options.maxDurationMs)
130
- throw new CliError("validation_error", "WAV exceeds the configured duration limit");
131
- return { ...format, dataOffset: data.offset, dataSize: data.size, frames };
132
- }, "layoutOf");
133
- var hashRange = /* @__PURE__ */ __name(async (file, hash, start, end, signal) => {
134
- let at = start;
135
- while (at < end) {
136
- const bytes2 = await exact(file, at, Math.min(65536, end - at), signal);
137
- hash.update(bytes2);
138
- at += bytes2.length;
139
- }
140
- }, "hashRange");
141
- var hashFile = /* @__PURE__ */ __name(async (file, size, signal) => {
142
- const hash = createHash("sha256");
143
- await hashRange(file, hash, 0, size, signal);
144
- if ((await file.stat()).size !== size)
145
- throw new CliError("validation_error", "WAV changed while verifying its content");
146
- return hash.digest("hex");
147
- }, "hashFile");
148
- var preflightWavAudio = /* @__PURE__ */ __name(async (path, input) => {
149
- const options = { ...input };
150
- validate(options);
151
- if (typeof path !== "string" || !path.trim() || /\0/.test(path))
152
- throw new CliError("validation_error", "local audio file is required");
153
- const absolute = resolve(path);
154
- const file = await openOrdinaryFile(absolute);
155
- try {
156
- const stat = await file.stat({ bigint: true });
157
- const size = Number(stat.size);
158
- const layout = await layoutOf(file, size, options);
159
- const contentHash = await hashFile(file, size, options.signal);
160
- const after = await file.stat({ bigint: true });
161
- if (stat.size !== after.size || stat.mtimeNs !== after.mtimeNs)
162
- throw new CliError("validation_error", "WAV changed while preparing the transcription");
163
- const media = Object.freeze({
164
- id: createHash("sha256").update(basename(absolute)).digest("hex"),
165
- contentHash,
166
- size,
167
- durationMs: Math.ceil(layout.frames * 1e3 / layout.sampleRate),
168
- format: "wav",
169
- sampleRate: layout.sampleRate,
170
- channels: layout.channels
171
- });
172
- const plan = Object.freeze({ media });
173
- prepared.set(plan, { path: absolute, dev: stat.dev, ino: stat.ino, layout });
174
- return plan;
175
- } finally {
176
- await file.close();
177
- }
178
- }, "preflightWavAudio");
179
- var openWavAudio = /* @__PURE__ */ __name(async (plan, input) => {
180
- const options = { ...input };
181
- validate(options);
182
- const known = prepared.get(plan);
183
- if (!known)
184
- throw new CliError("validation_error", "audio plan was not prepared by this adapter");
185
- const file = await openOrdinaryFile(known.path);
186
- try {
187
- const stat = await file.stat({ bigint: true });
188
- if (stat.dev !== known.dev || stat.ino !== known.ino || Number(stat.size) !== plan.media.size)
189
- throw new CliError("validation_error", "WAV identity changed before transcription");
190
- const layout = await layoutOf(file, plan.media.size, options);
191
- if (JSON.stringify(layout) !== JSON.stringify(known.layout) || await hashFile(file, plan.media.size, options.signal) !== plan.media.contentHash)
192
- throw new CliError("validation_error", "WAV content changed before transcription");
193
- let closed = false;
194
- let consumed = false;
195
- return {
196
- async *windows() {
197
- if (closed || consumed)
198
- throw new CliError("configuration_error", "audio source can be consumed once before closing");
199
- consumed = true;
200
- const hash = createHash("sha256");
201
- await hashRange(file, hash, 0, layout.dataOffset, options.signal);
202
- const step = layout.sampleRate / 16e3;
203
- for (let frame = 0; frame < layout.frames; ) {
204
- checkCancelled2(options.signal);
205
- const count = Math.min(layout.sampleRate * 30, layout.frames - frame);
206
- const bytes2 = await exact(file, layout.dataOffset + frame * layout.channels * 2, count * layout.channels * 2, options.signal);
207
- hash.update(bytes2);
208
- const samples = new Float32Array(Math.floor(count / step));
209
- for (let index = 0; index < samples.length; index++) {
210
- let sum = 0;
211
- for (let offset = 0; offset < step; offset++)
212
- for (let channel = 0; channel < layout.channels; channel++)
213
- sum += bytes2.readInt16LE(((index * step + offset) * layout.channels + channel) * 2);
214
- samples[index] = sum / (32768 * step * layout.channels);
215
- }
216
- const startMs = Math.floor(frame * 1e3 / layout.sampleRate);
217
- frame += count;
218
- if (samples.length)
219
- yield { startMs, endMs: Math.ceil(frame * 1e3 / layout.sampleRate), samples };
220
- }
221
- await hashRange(file, hash, layout.dataOffset + layout.dataSize, plan.media.size, options.signal);
222
- if (hash.digest("hex") !== plan.media.contentHash || (await file.stat()).size !== plan.media.size)
223
- throw new CliError("validation_error", "WAV changed during recognition; no transcript may be stored");
224
- },
225
- async close() {
226
- if (!closed) {
227
- closed = true;
228
- await file.close();
229
- }
230
- }
231
- };
232
- } catch (error) {
233
- await file.close();
234
- throw error;
235
- }
236
- }, "openWavAudio");
237
-
238
58
  // dist/media-decode.js
239
59
  import { execFile } from "node:child_process";
240
60
  import { mkdtemp, open, rm } from "node:fs/promises";
@@ -273,9 +93,9 @@ var wavFor = /* @__PURE__ */ __name(async (file, options = {}) => {
273
93
  const args = ["-nostdin", "-hide_banner", "-loglevel", "error", "-i", file, "-vn", "-ac", "1", "-ar", "16000"];
274
94
  args.push("-c:a", "pcm_s16le", "-fflags", "+bitexact", "-flags:a", "+bitexact", "-map_metadata", "-1", path);
275
95
  try {
276
- await new Promise((resolve2, reject) => execFile(options.ffmpeg ?? "ffmpeg", args, { signal: options.signal, maxBuffer: 1024 * 1024 }, (error, _out, err) => {
96
+ await new Promise((resolve, reject) => execFile(options.ffmpeg ?? "ffmpeg", args, { signal: options.signal, maxBuffer: 1024 * 1024 }, (error, _out, err) => {
277
97
  if (!error)
278
- return resolve2();
98
+ return resolve();
279
99
  if (error.code === "ENOENT")
280
100
  return reject(new CliError("configuration_error", "decoding a recording that is not WAV needs ffmpeg on PATH; zm does not install it"));
281
101
  if (options.signal?.aborted)
@@ -340,7 +160,7 @@ var engineFailure = /* @__PURE__ */ __name(async (model, work) => {
340
160
  }
341
161
  }, "engineFailure");
342
162
  var loadSpeech = /* @__PURE__ */ __name(async () => {
343
- const speech = await import("./speech-KSZ7RKM3.js");
163
+ const speech = await import("./speech-LINBLG5E.js");
344
164
  return { describe: speech.localSpeechRecognitionModel, open: speech.openLocalSpeechRecognizer };
345
165
  }, "loadSpeech");
346
166
  var createWavTranscriptionSource = /* @__PURE__ */ __name((file, options) => {
@@ -425,7 +245,7 @@ var createLocalTranscriptionCapabilities = /* @__PURE__ */ __name((store, input
425
245
  env: options.env,
426
246
  speech: options.speech
427
247
  });
428
- const { transcribeMeeting } = await import("./meetings-ZIDSQZBJ.js");
248
+ const { transcribeMeeting } = await import("./meetings-GHYNIOHG.js");
429
249
  return await transcribeMeeting(source, {
430
250
  appendTranscriptsWithReceipt(value) {
431
251
  if (value.accountId !== accountId || value.externalId !== target.externalId)
@@ -461,7 +281,7 @@ var validateTaskProposal = /* @__PURE__ */ __name((value) => {
461
281
  throw new CliError("invalid_response", "task proposal must be unapplied and proposal-only");
462
282
  }, "validateTaskProposal");
463
283
  var loadProducer = /* @__PURE__ */ __name(async () => {
464
- const [domain, services] = await Promise.all([import("./dist-YLSQKPPY.js"), import("./services-326Z3TNE.js")]);
284
+ const [domain, services] = await Promise.all([import("./dist-LTS7VI3S.js"), import("./services-KMH7XZPY.js")]);
465
285
  return { ...services, ...domain };
466
286
  }, "loadProducer");
467
287
  var createMeetingContextCapabilities = /* @__PURE__ */ __name((store, meetings, accountId, load = loadProducer) => {
@@ -773,7 +593,7 @@ var addMeetingSearchCommands = /* @__PURE__ */ __name((program, deps) => {
773
593
  }, "addMeetingSearchCommands");
774
594
 
775
595
  // dist/meeting-semantic.js
776
- var loadProducer2 = /* @__PURE__ */ __name(async () => import("./services-326Z3TNE.js"), "loadProducer");
596
+ var loadProducer2 = /* @__PURE__ */ __name(async () => import("./services-KMH7XZPY.js"), "loadProducer");
777
597
  var createMeetingSemanticCapabilities = /* @__PURE__ */ __name((store, accountId, options = {}) => {
778
598
  if (!Number.isSafeInteger(accountId) || accountId < 1)
779
599
  throw new CliError("validation_error", "meeting vectors require a selected positive account ID");
@@ -930,7 +750,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
930
750
  throw new CliError("validation_error", "expected a selected Zoom profile and read or ingestion intent");
931
751
  let store;
932
752
  try {
933
- const open2 = options.openStore ?? (await import("./store-7WX7SW2R.js")).openStore;
753
+ const open2 = options.openStore ?? (await import("./store-253N7NUC.js")).openStore;
934
754
  store = await open2({
935
755
  path: options.path,
936
756
  env: options.env,
@@ -951,7 +771,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
951
771
  let cachedBatchReader;
952
772
  const batchReader = /* @__PURE__ */ __name(async () => {
953
773
  if (!cachedBatchReader) {
954
- const { createMeetingBatchReader } = await import("./services-326Z3TNE.js");
774
+ const { createMeetingBatchReader } = await import("./services-KMH7XZPY.js");
955
775
  cachedBatchReader = createMeetingBatchReader(connected, accountId);
956
776
  }
957
777
  return cachedBatchReader;
@@ -960,7 +780,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
960
780
  meetingPreparation: {
961
781
  scope: key,
962
782
  create: /* @__PURE__ */ __name(async (upcoming) => {
963
- const { createMeetingPreparationService } = await import("./services-326Z3TNE.js");
783
+ const { createMeetingPreparationService } = await import("./services-KMH7XZPY.js");
964
784
  const reader = connected.contextEvidence;
965
785
  if (context && !reader)
966
786
  throw new CliError("configuration_error", "the installed store does not support bounded communications");
@@ -985,7 +805,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
985
805
  close: /* @__PURE__ */ __name(() => connected.close(), "close"),
986
806
  appendTranscriptsWithReceipt: /* @__PURE__ */ __name((input) => meetings.appendTranscriptsWithReceipt(ownAccount(input, "append")), "appendTranscriptsWithReceipt"),
987
807
  meetingProjectCandidates: /* @__PURE__ */ __name(async (reference, request2) => {
988
- const { createStoredMeetingProjectCandidateReader } = await import("./services-326Z3TNE.js");
808
+ const { createStoredMeetingProjectCandidateReader } = await import("./services-KMH7XZPY.js");
989
809
  const read = createStoredMeetingProjectCandidateReader(key, accountId, {
990
810
  meetings,
991
811
  vocabulary: connected.knowledge
@@ -993,7 +813,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
993
813
  return read(reference, request2);
994
814
  }, "meetingProjectCandidates"),
995
815
  meetingProjectEvidence: /* @__PURE__ */ __name(async (project, request2) => {
996
- const { readMeetingProjectDiscovery } = await import("./services-326Z3TNE.js");
816
+ const { readMeetingProjectDiscovery } = await import("./services-KMH7XZPY.js");
997
817
  return readMeetingProjectDiscovery({
998
818
  vocabulary: connected.knowledge,
999
819
  search: { searchHits: /* @__PURE__ */ __name((query, hits) => meetings.searchHits(query, hits), "searchHits") }
@@ -1020,7 +840,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
1020
840
  },
1021
841
  meetingSearch: /* @__PURE__ */ __name(async (query, request2) => {
1022
842
  validateMeetingHitSearch(query, request2);
1023
- const { searchMeetingHits } = await import("./services-326Z3TNE.js");
843
+ const { searchMeetingHits } = await import("./services-KMH7XZPY.js");
1024
844
  return searchMeetingHits({ meetings, knowledge: connected.knowledge }, query, { ...request2, accountId });
1025
845
  }, "meetingSearch"),
1026
846
  meetingIntegration: {
@@ -1031,7 +851,7 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
1031
851
  const change = validateMeetingContextChange(input);
1032
852
  if (change.action !== "event.link" && change.action !== "person.link")
1033
853
  throw new CliError("validation_error", "meeting linking supports only explicit event or person changes");
1034
- const api = await import("./services-326Z3TNE.js");
854
+ const api = await import("./services-KMH7XZPY.js");
1035
855
  await api.resolveMeetingReference(meetings, accountId, source.reference, { signal: mutation.signal });
1036
856
  const service = await api.createMeetingContextService({
1037
857
  accounts: connected.accounts,
@@ -1052,25 +872,25 @@ var createStoreConnector = /* @__PURE__ */ __name((options = {}) => async (reque
1052
872
  },
1053
873
  unifiedSearch: /* @__PURE__ */ __name(async (input) => {
1054
874
  const request2 = validateUnifiedSearch(input);
1055
- const { searchAllIncludingMeetings } = await import("./services-326Z3TNE.js");
875
+ const { searchAllIncludingMeetings } = await import("./services-KMH7XZPY.js");
1056
876
  return searchAllIncludingMeetings(connected, key, { ...request2, meetingAccount: key, env: options.env });
1057
877
  }, "unifiedSearch"),
1058
878
  meetingContext: createMeetingContextCapabilities(connected, meetings, accountId),
1059
879
  meetingSemantic: createMeetingSemanticCapabilities(connected, accountId, { env: options.env }),
1060
880
  meetingSearches: await (async () => {
1061
- const { meetingSearchesService } = await import("./services-326Z3TNE.js");
881
+ const { meetingSearchesService } = await import("./services-KMH7XZPY.js");
1062
882
  return meetingSearchesService(async () => connected.searches);
1063
883
  })(),
1064
884
  meetingStats: /* @__PURE__ */ __name(async (request2) => {
1065
- const { readMeetingStats } = await import("./services-326Z3TNE.js");
885
+ const { readMeetingStats } = await import("./services-KMH7XZPY.js");
1066
886
  return readMeetingStats(connected, { ...request2, accountId });
1067
887
  }, "meetingStats"),
1068
888
  meetingReview: /* @__PURE__ */ __name(async (request2) => {
1069
- const { readMeetingReview } = await import("./services-326Z3TNE.js");
889
+ const { readMeetingReview } = await import("./services-KMH7XZPY.js");
1070
890
  return readMeetingReview(connected, { ...request2, accountId });
1071
891
  }, "meetingReview"),
1072
892
  meetingLinks: /* @__PURE__ */ __name(async (request2) => {
1073
- const { readMeetingLinks } = await import("./services-326Z3TNE.js");
893
+ const { readMeetingLinks } = await import("./services-KMH7XZPY.js");
1074
894
  return readMeetingLinks(connected, { ...request2, accountId });
1075
895
  }, "meetingLinks")
1076
896
  };
@@ -7,15 +7,15 @@ import {
7
7
  modelsDirectory,
8
8
  speechModel,
9
9
  vadPath
10
- } from "./chunk-PEMLI3T7.js";
10
+ } from "./chunk-BPMKLWHV.js";
11
11
  import {
12
12
  CliError
13
- } from "./chunk-R4SRXI7M.js";
13
+ } from "./chunk-SB47UAW2.js";
14
14
  import {
15
15
  __name
16
16
  } from "./chunk-ZVVMGPBJ.js";
17
17
 
18
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/speech/local.js
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/speech/local.js
19
19
  import { createHash } from "node:crypto";
20
20
  import { isAbsolute } from "node:path";
21
21
  import { setImmediate } from "node:timers/promises";
@@ -37,6 +37,22 @@ var localSpeechRecognitionModel = /* @__PURE__ */ __name((id) => {
37
37
  })).digest("hex");
38
38
  return Object.freeze({ engine: "sherpa-onnx", model: model.id, version, sampleRate: 16e3, maxChunkSamples: 48e4 });
39
39
  }, "localSpeechRecognitionModel");
40
+ var notInstalled = /* @__PURE__ */ __name((id) => new CliError("not_found", `speech model ${id} is not installed; download it explicitly with a WireCat messenger's models download command`, { reason: "model.not-downloaded", model: id }), "notInstalled");
41
+ var recognizeLocalPieces = /* @__PURE__ */ __name(async (id, audio, options = {}) => {
42
+ const model = speechModel(id);
43
+ const directory = options.directory ?? modelsDirectory(options.env);
44
+ if (!isInstalled(model, directory))
45
+ throw notInstalled(model.id);
46
+ const { openRecognizer, toModelRate } = await import("./recognize-KENPECLZ.js");
47
+ const engine = (options.open ?? openRecognizer)(model, modelPath(directory, model), vadPath(directory));
48
+ try {
49
+ if (!engine.pieces)
50
+ throw new CliError("configuration_error", "this speech backend gives no timed pieces");
51
+ return engine.pieces(toModelRate(audio.samples, audio.rate));
52
+ } finally {
53
+ engine.free();
54
+ }
55
+ }, "recognizeLocalPieces");
40
56
  var openLocalSpeechRecognizer = /* @__PURE__ */ __name(async (id, input = {}) => {
41
57
  const options = { ...input };
42
58
  const description = localSpeechRecognitionModel(id);
@@ -47,8 +63,8 @@ var openLocalSpeechRecognizer = /* @__PURE__ */ __name(async (id, input = {}) =>
47
63
  throw new CliError("validation_error", "local speech requires an absolute model directory and bounded output bytes");
48
64
  cancelled(options.signal);
49
65
  if (!isInstalled(model, directory))
50
- throw new CliError("not_found", `speech model ${description.model} is not installed; download it explicitly with a WireCat messenger's models download command`, { reason: "model.not-downloaded", model: description.model });
51
- const { openRecognizer, toModelRate } = await import("./recognize-FVTNXRTF.js");
66
+ throw notInstalled(description.model);
67
+ const { openRecognizer, toModelRate } = await import("./recognize-KENPECLZ.js");
52
68
  cancelled(options.signal);
53
69
  const engine = (options.open ?? openRecognizer)(model, modelPath(directory, model), vadPath(directory));
54
70
  let closing = false;
@@ -96,5 +112,6 @@ var openLocalSpeechRecognizer = /* @__PURE__ */ __name(async (id, input = {}) =>
96
112
 
97
113
  export {
98
114
  localSpeechRecognitionModel,
115
+ recognizeLocalPieces,
99
116
  openLocalSpeechRecognizer
100
117
  };
@@ -4,7 +4,7 @@ import {
4
4
  executableEnvironment,
5
5
  executableOnPath,
6
6
  require_cross_spawn
7
- } from "./chunk-MFS52LTZ.js";
7
+ } from "./chunk-UIPT6IAU.js";
8
8
  import {
9
9
  loadConfigFile,
10
10
  number,
@@ -12,15 +12,13 @@ import {
12
12
  optional,
13
13
  saveConfigFile,
14
14
  string
15
- } from "./chunk-R4SRXI7M.js";
15
+ } from "./chunk-SB47UAW2.js";
16
16
  import {
17
17
  __name,
18
18
  __toESM
19
19
  } from "./chunk-ZVVMGPBJ.js";
20
20
 
21
- // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/update/index.js
22
- var import_cross_spawn = __toESM(require_cross_spawn(), 1);
23
- import { existsSync } from "node:fs";
21
+ // 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/installer.js
24
22
  var installerOf = /* @__PURE__ */ __name((scriptPath) => {
25
23
  const path = scriptPath.replaceAll("\\", "/");
26
24
  if (path.includes("/_npx/"))
@@ -33,6 +31,10 @@ var installerOf = /* @__PURE__ */ __name((scriptPath) => {
33
31
  return "npm";
34
32
  return path.includes("/dist/") ? "checkout" : "unknown";
35
33
  }, "installerOf");
34
+
35
+ // 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/update/index.js
36
+ var import_cross_spawn = __toESM(require_cross_spawn(), 1);
37
+ import { existsSync } from "node:fs";
36
38
  var updateCommand = /* @__PURE__ */ __name((installer, packageName) => {
37
39
  const target = `${packageName}@latest`;
38
40
  switch (installer) {
@@ -2,12 +2,12 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  errorCodes
5
- } from "./chunk-R4SRXI7M.js";
5
+ } from "./chunk-SB47UAW2.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-ZVVMGPBJ.js";
9
9
 
10
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/errors/failures.js
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/errors/failures.js
11
11
  var isCliFailure = /* @__PURE__ */ __name((value) => value instanceof Error && value.name === "CliError" && errorCodes.includes(value.code), "isCliFailure");
12
12
  var isCommanderFailure = /* @__PURE__ */ __name((value) => {
13
13
  const { code, exitCode } = value ?? {};
@@ -7,12 +7,12 @@ import {
7
7
  processStreams,
8
8
  projectFields,
9
9
  singleLine
10
- } from "./chunk-R4SRXI7M.js";
10
+ } from "./chunk-SB47UAW2.js";
11
11
  import {
12
12
  __name
13
13
  } from "./chunk-ZVVMGPBJ.js";
14
14
 
15
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/cli/result-fields.js
15
+ // 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/cli/result-fields.js
16
16
  var named = /* @__PURE__ */ __name((work) => {
17
17
  try {
18
18
  return work();
@@ -39,7 +39,7 @@ var projectFields2 = /* @__PURE__ */ __name((value, fields) => named(() => {
39
39
  return projectFields(value, fields);
40
40
  }), "projectFields");
41
41
 
42
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/output-detail.js
42
+ // 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/output-detail.js
43
43
  var RARELY_SET = ["editedAt", "replyTo", "forwardedFrom", "reactions"];
44
44
  var BRIEF = ["locator", "chatTitle", "timestamp", "senderName", "excerpt", "score"];
45
45
  var isHit = /* @__PURE__ */ __name((value) => typeof value === "object" && value !== null && typeof value.locator === "string" && typeof value.text === "string", "isHit");
@@ -69,7 +69,7 @@ var atDetail = /* @__PURE__ */ __name((value, detail = "default") => {
69
69
  return value;
70
70
  }, "atDetail");
71
71
 
72
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/output.js
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/output.js
73
73
  var resolveOutput = /* @__PURE__ */ __name(({ json, jsonl, quiet, streams = processStreams, tty, color, fields, hitDetail, env = process.env, capture } = {}) => {
74
74
  const interactive = tty ?? process.stdout.isTTY === true;
75
75
  const format = jsonl ? "jsonl" : json || !interactive ? "json" : "pretty";
@@ -2,11 +2,11 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  checkCancelled
5
- } from "./chunk-46R2JTGO.js";
5
+ } from "./chunk-IOCS5FXW.js";
6
6
  import {
7
7
  CliError,
8
8
  createOutputBuffer
9
- } from "./chunk-R4SRXI7M.js";
9
+ } from "./chunk-SB47UAW2.js";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-ZVVMGPBJ.js";
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  agentOf,
30
30
  clientHash
31
- } from "./chunk-VKUS2V4L.js";
31
+ } from "./chunk-NQCFUYC2.js";
32
32
  import {
33
33
  __name
34
34
  } from "./chunk-ZVVMGPBJ.js";
@@ -540,7 +540,7 @@ function toError(value) {
540
540
  }
541
541
  __name(toError, "toError");
542
542
 
543
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/mcp/caller.js
543
+ // 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/caller.js
544
544
  var CALLER_META_KEY = "wirecat.dev/caller";
545
545
  var PROXY_CLIENT_NAME = "all-profiles";
546
546
  var NAME = /^[\w .@()/+-]{1,64}$/;
@@ -2,15 +2,15 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  wirecatDirectory
5
- } from "./chunk-KXEC5FVT.js";
5
+ } from "./chunk-EG7HC4EC.js";
6
6
  import {
7
7
  CliError
8
- } from "./chunk-R4SRXI7M.js";
8
+ } from "./chunk-SB47UAW2.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-ZVVMGPBJ.js";
12
12
 
13
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/speech/models.js
13
+ // 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/speech/models.js
14
14
  var huggingFace = /* @__PURE__ */ __name((repository, commit) => (name) => `https://huggingface.co/csukuangfj/${repository}/resolve/${commit}/${name}`, "huggingFace");
15
15
  var gigaam = huggingFace("sherpa-onnx-nemo-transducer-punct-giga-am-v3-russian-2025-12-16", "a6039be7cee829a9044a69ac0ebaf1c191217c97");
16
16
  var gigaamCtc = huggingFace("sherpa-onnx-nemo-ctc-punct-giga-am-v3-russian-2025-12-16", "4fb5407ff028a69fec516cdf4c10fac9ddea7c16");
@@ -117,6 +117,7 @@ var MODELS = [
117
117
  }), "config")
118
118
  }
119
119
  ];
120
+ var OPENAI_TRANSCRIBE_MODEL = "gpt-transcribe";
120
121
  var VAD = {
121
122
  name: "silero_vad.onnx",
122
123
  url: "https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/silero_vad.onnx",
@@ -134,7 +135,7 @@ var speechModel = /* @__PURE__ */ __name((id) => {
134
135
  return model;
135
136
  }, "speechModel");
136
137
 
137
- // node_modules/.pnpm/@wirecat+cli-core@0.491.0_@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_type_1193098e908042dfe6f4070222ac0245/node_modules/@wirecat/cli-core/dist/speech/install.js
138
+ // 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/speech/install.js
138
139
  import { createHash, randomUUID } from "node:crypto";
139
140
  import { createReadStream, createWriteStream, mkdirSync, statSync } from "node:fs";
140
141
  import { rename, rm } from "node:fs/promises";
@@ -246,6 +247,7 @@ var megabytes = /* @__PURE__ */ __name((bytes) => bytes < 1e6 ? "under 1 MB" : `
246
247
 
247
248
  export {
248
249
  MODELS,
250
+ OPENAI_TRANSCRIBE_MODEL,
249
251
  VAD,
250
252
  DEFAULT_ORDER,
251
253
  orderedModels,