@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.
- package/README.md +3 -3
- package/dist/answers.d.ts +16 -0
- package/dist/answers.d.ts.map +1 -1
- package/dist/bin/zm.js +2 -2
- package/dist/bundle/{chunk-3R437ICM.js → all-profiles-CGGNBINU.js} +11 -7
- package/dist/bundle/answer-policy-D46SGQ35.js +96 -0
- package/dist/bundle/{anthropic-CSLAACWX.js → anthropic-KVWPIHFG.js} +4 -4
- package/dist/bundle/{app-server-RYYXX6QV.js → app-server-NKKFBTQN.js} +50 -50
- package/dist/bundle/{bun-JVDJVDHL.js → bun-XRO6XJHQ.js} +2 -2
- package/dist/bundle/{bun-sqlite-B5CZHAV4.js → bun-sqlite-FWNCLOAR.js} +3 -3
- package/dist/bundle/{chunk-HAUAEGGI.js → chunk-2DPMYUWQ.js} +10 -10
- package/dist/bundle/{chunk-HBYE4EP2.js → chunk-2LLNPNMB.js} +1 -1
- package/dist/bundle/{chunk-WB7MQHUI.js → chunk-2NAM2XQG.js} +2 -2
- package/dist/bundle/{chunk-PAEBFJUC.js → chunk-2T7MUSDB.js} +118 -95
- package/dist/bundle/{chunk-LPY2ISJK.js → chunk-3YBDRVOG.js} +6 -6
- package/dist/bundle/{chunk-WEUXLXOZ.js → chunk-4OQVRDTG.js} +31 -21
- package/dist/bundle/{chunk-Q7U627RY.js → chunk-4OTXE6CF.js} +79 -59
- package/dist/bundle/{chunk-LPDYI5GR.js → chunk-4UUQEQ5D.js} +1 -1
- package/dist/bundle/{chunk-FWJ3Q7NO.js → chunk-5LMQTEU5.js} +5 -5
- package/dist/bundle/{chunk-6BJQBVMN.js → chunk-5MYLM6SU.js} +45 -27
- package/dist/bundle/{chunk-Z5H47R4G.js → chunk-5NLFQ644.js} +1034 -870
- package/dist/bundle/{chunk-XS72YFPV.js → chunk-6R3GMSLR.js} +2 -2
- package/dist/bundle/{chunk-AZZPMHP2.js → chunk-6SK5SHCR.js} +2 -2
- package/dist/bundle/{chunk-TY5PBEH2.js → chunk-6SPWQCJF.js} +11 -11
- package/dist/bundle/{chunk-EUHQ5D4K.js → chunk-6URISMGR.js} +26 -26
- package/dist/bundle/{chunk-43BX56ZI.js → chunk-72S5TXFN.js} +9 -9
- package/dist/bundle/{chunk-OBUKZ2ZM.js → chunk-73BAQ7PH.js} +31 -211
- package/dist/bundle/{chunk-3LBA63D5.js → chunk-7AY3ADNV.js} +22 -5
- package/dist/bundle/{chunk-RACSKYNX.js → chunk-7CNRZSAV.js} +7 -5
- package/dist/bundle/{chunk-IQENQXUJ.js → chunk-7LQLJ7LW.js} +2 -2
- package/dist/bundle/{chunk-EN5DBDKW.js → chunk-AMIIU3UZ.js} +4 -4
- package/dist/bundle/{chunk-RUEPZTNA.js → chunk-BJPFWPKH.js} +2 -2
- package/dist/bundle/{chunk-KNAS4VEA.js → chunk-BNTAQADF.js} +2 -2
- package/dist/bundle/{chunk-PEMLI3T7.js → chunk-BPMKLWHV.js} +6 -4
- package/dist/bundle/chunk-CXPHUOJR.js +380 -0
- package/dist/bundle/{chunk-LVHZQCP4.js → chunk-D6FTCPXA.js} +14 -10
- package/dist/bundle/{chunk-IRX2YVAH.js → chunk-DIXC56OU.js} +4 -4
- package/dist/bundle/{chunk-WFT2GGFH.js → chunk-ECXRRW7J.js} +25 -22
- package/dist/bundle/{chunk-KXEC5FVT.js → chunk-EG7HC4EC.js} +2 -2
- package/dist/bundle/{chunk-GEVHI226.js → chunk-EJFSS65P.js} +6 -6
- package/dist/bundle/{chunk-HIAO4MPA.js → chunk-EOEDICIE.js} +1 -1
- package/dist/bundle/{chunk-BO7J5Z3T.js → chunk-FAOLCUKV.js} +17 -17
- package/dist/bundle/{chunk-ZK7Y5K63.js → chunk-FDCGTODC.js} +1 -1
- package/dist/bundle/{chunk-IQSBMAYB.js → chunk-GOESXUJQ.js} +3 -3
- package/dist/bundle/{chunk-AOZGGGUK.js → chunk-HIZQYFY3.js} +3 -3
- package/dist/bundle/{chunk-YLATWUE7.js → chunk-IK2OSV5C.js} +6 -6
- package/dist/bundle/{chunk-46R2JTGO.js → chunk-IOCS5FXW.js} +2 -2
- package/dist/bundle/{chunk-Y3YURIZF.js → chunk-IOUPXUFH.js} +52 -38
- package/dist/bundle/{chunk-ZXQCA3ZW.js → chunk-IR73ZZY6.js} +8 -8
- package/dist/bundle/{chunk-EF2RCQ3L.js → chunk-JBBZCTTF.js} +1 -1
- package/dist/bundle/{chunk-OEEMCNAO.js → chunk-JDJDVYGS.js} +6 -6
- package/dist/bundle/{chunk-PATM7JGR.js → chunk-JYVFFUIX.js} +1 -1
- package/dist/bundle/{chunk-W5EUHV3J.js → chunk-KM7Q67Z3.js} +1 -1
- package/dist/bundle/{chunk-FZMRHNOP.js → chunk-KMQUZ4YM.js} +3 -3
- package/dist/bundle/{chunk-VLE3FWE3.js → chunk-LXYC75D3.js} +120 -32
- package/dist/bundle/{chunk-V53IB5AU.js → chunk-M2WQWF3I.js} +47 -47
- package/dist/bundle/{chunk-X7YPTYM4.js → chunk-M6FCCVYZ.js} +16 -3
- package/dist/bundle/{chunk-4TCQT57W.js → chunk-M7YNOK4D.js} +408 -420
- package/dist/bundle/chunk-MI3JK6MW.js +335 -0
- package/dist/bundle/{chunk-ES6UWVTM.js → chunk-MIUPH3WA.js} +6 -6
- package/dist/bundle/{chunk-VJBVNDFR.js → chunk-MLNC5N7H.js} +3 -3
- package/dist/bundle/{chunk-UWVNY5CA.js → chunk-N3KQ7XND.js} +2 -2
- package/dist/bundle/{chunk-VKUS2V4L.js → chunk-NQCFUYC2.js} +8 -8
- package/dist/bundle/{chunk-KYUIU5UR.js → chunk-Q4ZE2LXE.js} +2 -2
- package/dist/bundle/{chunk-VVKHF6VJ.js → chunk-QLQ7VVLK.js} +49 -24
- package/dist/bundle/{chunk-K6NPOZUP.js → chunk-QUWMFBMS.js} +7 -7
- package/dist/bundle/{chunk-WWNZS7ZY.js → chunk-RWG44LQD.js} +16 -4
- package/dist/bundle/{chunk-R4SRXI7M.js → chunk-SB47UAW2.js} +187 -113
- package/dist/bundle/{chunk-N27LOY3D.js → chunk-SEH7DBAM.js} +7 -7
- package/dist/bundle/{chunk-YEZQ7SD7.js → chunk-SPJJCD2A.js} +13 -13
- package/dist/bundle/{chunk-CGCJ6P3A.js → chunk-TILW3EJY.js} +696 -418
- package/dist/bundle/{chunk-XLJV3ZOH.js → chunk-TQFCPUIM.js} +1 -1
- package/dist/bundle/{chunk-ZDRDCANC.js → chunk-TZE6WXID.js} +693 -336
- package/dist/bundle/{chunk-XX7KVQIG.js → chunk-UD4FKICZ.js} +4 -4
- package/dist/bundle/{chunk-MFS52LTZ.js → chunk-UIPT6IAU.js} +1 -1
- package/dist/bundle/{chunk-QKSCDALS.js → chunk-URJZK4GX.js} +1 -1
- package/dist/bundle/{decode-CTQJQYNU.js → chunk-VFJ3MOIR.js} +21 -18
- package/dist/bundle/{chunk-REC3AZP6.js → chunk-XAXXEZZ5.js} +2 -2
- package/dist/bundle/{chunk-Z4D6M62I.js → chunk-YBMOFCY5.js} +2 -2
- package/dist/bundle/{chunk-PPHUBORC.js → chunk-YF2PT5KA.js} +32 -34
- package/dist/bundle/chunk-YFIUXE25.js +217 -0
- package/dist/bundle/{chunk-7IDNHVJS.js → chunk-YI6ZNDPC.js} +22 -12
- package/dist/bundle/{chunk-HYZ545ON.js → chunk-YJN4XYNA.js} +2 -2
- package/dist/bundle/{cli-CYKEKT5P.js → cli-AHPIESAC.js} +70 -54
- package/dist/bundle/command-contract-HVLI3OKU.js +38 -0
- package/dist/bundle/config-UW6W34I2.js +78 -0
- package/dist/bundle/decode-ZU7WLMMV.js +20 -0
- package/dist/bundle/{dist-YLSQKPPY.js → dist-LTS7VI3S.js} +14 -14
- package/dist/bundle/{echarts-4OQHS575.js → echarts-YNGCOYHW.js} +2 -2
- package/dist/bundle/{embed-P2BKRRJD.js → embed-VWWOW7PP.js} +4 -4
- package/dist/bundle/{embedder-HC6ZARP5.js → embedder-T5GJC7M2.js} +7 -7
- package/dist/bundle/{first-run-UERFFXBV.js → first-run-PX3SHPUU.js} +8 -8
- package/dist/bundle/first-screen-RAPEZG57.js +36 -0
- package/dist/bundle/{folders-RSLPTZLJ.js → folders-VXMDFC2D.js} +2 -2
- package/dist/bundle/{instructions-3QZBKKPF.js → instructions-GJHHFV64.js} +1 -1
- package/dist/bundle/{main-2T6D77JC.js → main-IYCD6MBH.js} +16 -16
- package/dist/bundle/{mcp-OQBZXELQ.js → mcp-EMNFFY4N.js} +2 -2
- package/dist/bundle/{meetings-ZIDSQZBJ.js → meetings-GHYNIOHG.js} +4 -4
- package/dist/bundle/{node-R2BLYUSB.js → node-GFOH6FKP.js} +2 -2
- package/dist/bundle/{node-sqlite-7CGHAHIS.js → node-sqlite-QXKSPHTP.js} +3 -3
- package/dist/bundle/{oauth-UBCYXTWV.js → oauth-A6I2OMDD.js} +5 -5
- package/dist/bundle/{open-AWUB4Q7Z.js → open-TQKCU447.js} +2 -2
- package/dist/bundle/openai-XE3BJXOI.js +22 -0
- package/dist/bundle/{output-file-SN22HAVL.js → output-file-FQNFCUKE.js} +3 -3
- package/dist/bundle/{process-IX5YWGDP.js → process-XVDX4SPD.js} +1 -1
- package/dist/bundle/{program-STYPTNT3.js → program-UYK4AD2W.js} +415 -428
- package/dist/bundle/{prompt-MAYUHEGN.js → prompt-ISYG5RWM.js} +3 -3
- package/dist/bundle/{recognize-FVTNXRTF.js → recognize-KENPECLZ.js} +4 -2
- package/dist/bundle/{remote-WCPRU73L.js → remote-ZP5XTDCC.js} +5 -5
- package/dist/bundle/{rerank-6CBLZBCV.js → rerank-SG653RHT.js} +5 -5
- package/dist/bundle/{run-log-G4WZTOBW.js → run-log-HYKGQ42E.js} +53 -53
- package/dist/bundle/{chunk-XNUFDYR6.js → serve-6UJCZD7Z.js} +8 -6
- package/dist/bundle/server-AXE37E6Q.js +66 -0
- package/dist/bundle/{chunk-INARC5O7.js → server-ZAYEDPFR.js} +43 -10
- package/dist/bundle/{services-326Z3TNE.js → services-KMH7XZPY.js} +37 -26
- package/dist/bundle/{speech-KSZ7RKM3.js → speech-LINBLG5E.js} +28 -5
- package/dist/bundle/{state-EPB3L2JM.js → state-4RKZNHE7.js} +4 -4
- package/dist/bundle/{store-7WX7SW2R.js → store-253N7NUC.js} +15 -15
- package/dist/bundle/{store-KO242JBK.js → store-JTBHRQZK.js} +13 -13
- package/dist/bundle/store-connection-PWLUMCP7.js +76 -0
- package/dist/bundle/store-maintenance-command-XRNECVDU.js +55 -0
- package/dist/bundle/{streaming-M6VDKBBH.js → streaming-YW64OKKQ.js} +4 -4
- package/dist/bundle/{tokens-BTNXHR7T.js → tokens-DPBC2P3I.js} +4 -4
- package/dist/bundle/zm.js +1 -1
- package/dist/commands.d.ts +1 -2
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +3 -16
- package/dist/commands.js.map +1 -1
- package/dist/contract-overrides.d.ts +0 -2
- package/dist/contract-overrides.d.ts.map +1 -1
- package/dist/contract-overrides.js +0 -158
- package/dist/contract-overrides.js.map +1 -1
- package/dist/program-bindings.d.ts +1 -1
- package/dist/program-bindings.d.ts.map +1 -1
- package/dist/program-bindings.js +16 -18
- package/dist/program-bindings.js.map +1 -1
- package/dist/program.d.ts +2 -4
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js.map +1 -1
- package/dist/read-only.d.ts.map +1 -1
- package/dist/read-only.js +3 -0
- package/dist/read-only.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +82 -32
- package/dist/run.js.map +1 -1
- package/dist/setup-commands.d.ts.map +1 -1
- package/dist/setup-commands.js +8 -46
- package/dist/setup-commands.js.map +1 -1
- package/dist/store-commands.d.ts.map +1 -1
- package/dist/store-commands.js +4 -1
- package/dist/store-commands.js.map +1 -1
- package/dist/tokens.d.ts +6 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +21 -10
- package/dist/tokens.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/dist/bundle/all-profiles-E6KXASLY.js +0 -25
- package/dist/bundle/answer-policy-YWCC55NB.js +0 -96
- package/dist/bundle/chunk-DBSWVZES.js +0 -48
- package/dist/bundle/chunk-WYRYLBST.js +0 -390
- package/dist/bundle/chunk-YLBNPI7H.js +0 -2
- package/dist/bundle/command-contract-P45QCCXM.js +0 -38
- package/dist/bundle/config-JYKTLEA3.js +0 -79
- package/dist/bundle/first-screen-VFIS7FX3.js +0 -36
- package/dist/bundle/mcp-4VHVUMCR.js +0 -92
- package/dist/bundle/mcp-6CLW2IZM.js +0 -189
- package/dist/bundle/serve-3IDUVTZL.js +0 -19
- package/dist/bundle/server-7GU36TER.js +0 -66
- package/dist/bundle/server-VHRS5UAL.js +0 -53
- package/dist/bundle/store-connection-K3MNDCQQ.js +0 -76
- package/dist/bundle/store-maintenance-command-GJDJYI2U.js +0 -54
- package/dist/mcp-command.d.ts +0 -33
- package/dist/mcp-command.d.ts.map +0 -1
- package/dist/mcp-command.js +0 -143
- package/dist/mcp-command.js.map +0 -1
- package/dist/mcp.d.ts +0 -30
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js +0 -110
- package/dist/mcp.js.map +0 -1
- /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-
|
|
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-
|
|
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-
|
|
32
|
+
} from "./chunk-IOUPXUFH.js";
|
|
32
33
|
import {
|
|
33
34
|
parseDuration
|
|
34
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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((
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
10
|
+
} from "./chunk-BPMKLWHV.js";
|
|
11
11
|
import {
|
|
12
12
|
CliError
|
|
13
|
-
} from "./chunk-
|
|
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.
|
|
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
|
|
51
|
-
const { openRecognizer, toModelRate } = await import("./recognize-
|
|
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-
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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-
|
|
5
|
+
} from "./chunk-IOCS5FXW.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError,
|
|
8
8
|
createOutputBuffer
|
|
9
|
-
} from "./chunk-
|
|
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-
|
|
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.
|
|
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-
|
|
5
|
+
} from "./chunk-EG7HC4EC.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError
|
|
8
|
-
} from "./chunk-
|
|
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.
|
|
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.
|
|
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,
|