@wirecat/zoom-cli 0.55.0 → 0.57.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 (170) hide show
  1. package/README.md +4 -4
  2. package/dist/bin/zm.js +35 -5
  3. package/dist/bundle/all-profiles-EKHWTGOY.js +25 -0
  4. package/dist/bundle/answer-policy-KH2IFXPN.js +96 -0
  5. package/dist/bundle/anthropic-VL54IUGF.js +70 -0
  6. package/dist/bundle/bun-ADJVI4HY.js +169 -0
  7. package/dist/bundle/bun-sqlite-2SDA3YOT.js +69 -0
  8. package/dist/bundle/chunk-2IKY7VBH.js +9 -0
  9. package/dist/bundle/chunk-2WOGZDZG.js +431 -0
  10. package/dist/bundle/chunk-4R7HYNZS.js +73 -0
  11. package/dist/bundle/chunk-4VCA7QU3.js +538 -0
  12. package/dist/bundle/chunk-4YLS4YLS.js +29 -0
  13. package/dist/bundle/chunk-5D4AEUVA.js +24783 -0
  14. package/dist/bundle/chunk-5F7IOESV.js +281 -0
  15. package/dist/bundle/chunk-5QESMCQK.js +122 -0
  16. package/dist/bundle/chunk-6M6FJV5D.js +138 -0
  17. package/dist/bundle/chunk-6MX5T6AQ.js +17 -0
  18. package/dist/bundle/chunk-6P3YHT54.js +385 -0
  19. package/dist/bundle/chunk-7A6PZUDR.js +938 -0
  20. package/dist/bundle/chunk-7GUG6UZS.js +884 -0
  21. package/dist/bundle/chunk-7JZJMHQY.js +487 -0
  22. package/dist/bundle/chunk-A4ETXPMZ.js +98 -0
  23. package/dist/bundle/chunk-ADLS6FVG.js +24600 -0
  24. package/dist/bundle/chunk-AE4BOXH7.js +5292 -0
  25. package/dist/bundle/chunk-AN3GVZTU.js +76 -0
  26. package/dist/bundle/chunk-BAYNCCNM.js +215 -0
  27. package/dist/bundle/chunk-BW2WPOXP.js +166 -0
  28. package/dist/bundle/chunk-BW52AJ4R.js +3387 -0
  29. package/dist/bundle/chunk-CB5UTASG.js +18 -0
  30. package/dist/bundle/chunk-CLMXBW53.js +1028 -0
  31. package/dist/bundle/chunk-DCTXOMOR.js +35 -0
  32. package/dist/bundle/chunk-DFDN6AUB.js +21 -0
  33. package/dist/bundle/chunk-EOQFWJJD.js +1095 -0
  34. package/dist/bundle/chunk-G4R4ZIGD.js +3569 -0
  35. package/dist/bundle/chunk-G4VZDINN.js +161 -0
  36. package/dist/bundle/chunk-GARCOIB6.js +409 -0
  37. package/dist/bundle/chunk-GKMGS7G5.js +1938 -0
  38. package/dist/bundle/chunk-HCNMFFG3.js +82 -0
  39. package/dist/bundle/chunk-HG5KRV55.js +1970 -0
  40. package/dist/bundle/chunk-HKYLSIZ2.js +82 -0
  41. package/dist/bundle/chunk-HTQTIKWP.js +928 -0
  42. package/dist/bundle/chunk-I4VQDXFR.js +100 -0
  43. package/dist/bundle/chunk-ICSKEDPI.js +36139 -0
  44. package/dist/bundle/chunk-IP4OK7RQ.js +24 -0
  45. package/dist/bundle/chunk-IVQ6342B.js +2 -0
  46. package/dist/bundle/chunk-K72SEMYI.js +160 -0
  47. package/dist/bundle/chunk-LHRCJYFC.js +19 -0
  48. package/dist/bundle/chunk-LPTIQLDW.js +192 -0
  49. package/dist/bundle/chunk-LQ3T2ZIX.js +124 -0
  50. package/dist/bundle/chunk-LSVI3A5X.js +836 -0
  51. package/dist/bundle/chunk-LW2G4U6W.js +570 -0
  52. package/dist/bundle/chunk-LXB6ONWC.js +3517 -0
  53. package/dist/bundle/chunk-LY26NW3I.js +6848 -0
  54. package/dist/bundle/chunk-MAEFLDHG.js +6092 -0
  55. package/dist/bundle/chunk-MZH4GDR4.js +45 -0
  56. package/dist/bundle/chunk-NN5B24KP.js +1109 -0
  57. package/dist/bundle/chunk-NO7CJEYV.js +22 -0
  58. package/dist/bundle/chunk-NTDWAAGL.js +18435 -0
  59. package/dist/bundle/chunk-NW3X3G5X.js +264 -0
  60. package/dist/bundle/chunk-O66V2WHK.js +48 -0
  61. package/dist/bundle/chunk-OCGPZHXW.js +25 -0
  62. package/dist/bundle/chunk-OIHDCGV4.js +151 -0
  63. package/dist/bundle/chunk-OVSWVPXL.js +8190 -0
  64. package/dist/bundle/chunk-PIN5RZ3D.js +63 -0
  65. package/dist/bundle/chunk-QLIB3PEC.js +1146 -0
  66. package/dist/bundle/chunk-QTR6D5HT.js +58 -0
  67. package/dist/bundle/chunk-QUJPQMHJ.js +2315 -0
  68. package/dist/bundle/chunk-R3HPOCZD.js +188 -0
  69. package/dist/bundle/chunk-RMV4C2YL.js +482 -0
  70. package/dist/bundle/chunk-RRRBMQ2E.js +844 -0
  71. package/dist/bundle/chunk-S4S7E54J.js +60 -0
  72. package/dist/bundle/chunk-SB6WOSHG.js +1109 -0
  73. package/dist/bundle/chunk-SE75DPBY.js +31 -0
  74. package/dist/bundle/chunk-SQJ7EH2D.js +97 -0
  75. package/dist/bundle/chunk-TKCHUT2H.js +422 -0
  76. package/dist/bundle/chunk-TLQUKHEM.js +193 -0
  77. package/dist/bundle/chunk-TZ2MKETI.js +100 -0
  78. package/dist/bundle/chunk-UC44ZMQV.js +78 -0
  79. package/dist/bundle/chunk-UI5UTMSZ.js +275 -0
  80. package/dist/bundle/chunk-VPPYYWOH.js +630 -0
  81. package/dist/bundle/chunk-WJHK5D7Z.js +35612 -0
  82. package/dist/bundle/chunk-WQ24UC44.js +239 -0
  83. package/dist/bundle/chunk-X5DFDGWS.js +2 -0
  84. package/dist/bundle/chunk-Y5E2WNWB.js +35 -0
  85. package/dist/bundle/chunk-YB4DMKYX.js +119 -0
  86. package/dist/bundle/chunk-Z4TZ6TAF.js +288 -0
  87. package/dist/bundle/chunk-ZVVMGPBJ.js +50 -0
  88. package/dist/bundle/cli-72EQATJF.js +825 -0
  89. package/dist/bundle/command-contract-4MHSZUN3.js +38 -0
  90. package/dist/bundle/config-GFIJK6G2.js +79 -0
  91. package/dist/bundle/dist-IBNHCQXT.js +136 -0
  92. package/dist/bundle/dist-XUFQCJXW.js +7577 -0
  93. package/dist/bundle/echarts-RFTK737T.js +42501 -0
  94. package/dist/bundle/embed-7QYA2ZZE.js +35 -0
  95. package/dist/bundle/embedder-YNN6PCHG.js +108 -0
  96. package/dist/bundle/first-run-EVSRQKZJ.js +23 -0
  97. package/dist/bundle/first-screen-RG4GUKW7.js +36 -0
  98. package/dist/bundle/folders-JEPOMYM4.js +13 -0
  99. package/dist/bundle/instructions-FHNL7CMW.js +9 -0
  100. package/dist/bundle/main-NYGJXPH7.js +130 -0
  101. package/dist/bundle/mcp-IXFC2VVR.js +165 -0
  102. package/dist/bundle/mcp-VGSZDCKK.js +189 -0
  103. package/dist/bundle/mcp-XKP2PXLS.js +92 -0
  104. package/dist/bundle/meetings-IBPI4MM4.js +215 -0
  105. package/dist/bundle/node-P4E63KXA.js +2340 -0
  106. package/dist/bundle/node-TLZSIHIJ.js +21 -0
  107. package/dist/bundle/node-ZMCACJVS.js +176 -0
  108. package/dist/bundle/node-sqlite-ZNGOBA5Q.js +45 -0
  109. package/dist/bundle/oauth-Q6LKF7DB.js +17 -0
  110. package/dist/bundle/open-LJ332Y5O.js +19 -0
  111. package/dist/bundle/output-file-RYQZ3RTE.js +63 -0
  112. package/dist/bundle/process-ZPTLNVQS.js +91 -0
  113. package/dist/bundle/program-IBRQBQ6W.js +5845 -0
  114. package/dist/bundle/prompt-RT7GUUXH.js +12 -0
  115. package/dist/bundle/recognize-QXGE7YJH.js +190 -0
  116. package/dist/bundle/remote-FD4MZQV3.js +26 -0
  117. package/dist/bundle/rerank-V6AVV755.js +49 -0
  118. package/dist/bundle/run-log-RE2EI3UU.js +111 -0
  119. package/dist/bundle/serve-HIJTFAW7.js +19 -0
  120. package/dist/bundle/server-3QOXOYYL.js +53 -0
  121. package/dist/bundle/server-WLJCU7KK.js +812 -0
  122. package/dist/bundle/services-KC5KQFBS.js +330 -0
  123. package/dist/bundle/speech-5JOXLYDA.js +44 -0
  124. package/dist/bundle/state-PPGRB3T6.js +33 -0
  125. package/dist/bundle/store-LODVDPK3.js +141 -0
  126. package/dist/bundle/store-WB5BICTG.js +124 -0
  127. package/dist/bundle/store-connection-EG6Z5ITP.js +76 -0
  128. package/dist/bundle/store-maintenance-command-Q5WMFUZ2.js +54 -0
  129. package/dist/bundle/streaming-UGFFNOXL.js +15 -0
  130. package/dist/bundle/tokens-AF5CPY2F.js +17 -0
  131. package/dist/bundle/zm.js +8 -0
  132. package/dist/commands.js +2 -2
  133. package/dist/commands.js.map +1 -1
  134. package/dist/config-issues.d.ts.map +1 -1
  135. package/dist/config-issues.js +3 -0
  136. package/dist/config-issues.js.map +1 -1
  137. package/dist/config.d.ts +3 -0
  138. package/dist/config.d.ts.map +1 -1
  139. package/dist/config.js +23 -0
  140. package/dist/config.js.map +1 -1
  141. package/dist/contract-overrides.d.ts.map +1 -1
  142. package/dist/contract-overrides.js +34 -45
  143. package/dist/contract-overrides.js.map +1 -1
  144. package/dist/first-screen.js +1 -1
  145. package/dist/first-screen.js.map +1 -1
  146. package/dist/mcp-command.d.ts +5 -3
  147. package/dist/mcp-command.d.ts.map +1 -1
  148. package/dist/mcp-command.js +73 -15
  149. package/dist/mcp-command.js.map +1 -1
  150. package/dist/program-bindings.d.ts.map +1 -1
  151. package/dist/program-bindings.js +1 -0
  152. package/dist/program-bindings.js.map +1 -1
  153. package/dist/recording-archive.d.ts.map +1 -1
  154. package/dist/recording-archive.js +9 -4
  155. package/dist/recording-archive.js.map +1 -1
  156. package/dist/remote-http.d.ts +2 -0
  157. package/dist/remote-http.d.ts.map +1 -1
  158. package/dist/remote-http.js +21 -11
  159. package/dist/remote-http.js.map +1 -1
  160. package/dist/request-events.d.ts +12 -0
  161. package/dist/request-events.d.ts.map +1 -1
  162. package/dist/request-events.js +56 -4
  163. package/dist/request-events.js.map +1 -1
  164. package/dist/run.d.ts.map +1 -1
  165. package/dist/run.js +4 -1
  166. package/dist/run.js.map +1 -1
  167. package/dist/version.d.ts +1 -1
  168. package/dist/version.js +1 -1
  169. package/package.json +7 -5
  170. package/skills/zoom-cli/SKILL.md +3 -1
@@ -0,0 +1,1028 @@
1
+ import { createRequire as __bundleRequire } from "node:module";
2
+ const require = __bundleRequire(import.meta.url);
3
+ import {
4
+ filesPresent,
5
+ installFiles,
6
+ megabytes,
7
+ sharedModelsDirectory
8
+ } from "./chunk-NW3X3G5X.js";
9
+ import {
10
+ CliError
11
+ } from "./chunk-AE4BOXH7.js";
12
+ import {
13
+ importFrom
14
+ } from "./chunk-Y5E2WNWB.js";
15
+ import {
16
+ __name
17
+ } from "./chunk-ZVVMGPBJ.js";
18
+
19
+ // node_modules/.pnpm/@wirecat+cli-core@0.469.0_@wirecat+cli-base@0.65.0_commander@15.0.0_typescript@7.0.2_vi_80b586dbc8b099637a6e461856c2ee6b/node_modules/@wirecat/cli-core/dist/embeddings/embed.js
20
+ import { readFileSync as readFileSync2 } from "node:fs";
21
+ import { availableParallelism } from "node:os";
22
+ import { basename, join as join2 } from "node:path";
23
+
24
+ // node_modules/.pnpm/@wirecat+cli-core@0.469.0_@wirecat+cli-base@0.65.0_commander@15.0.0_typescript@7.0.2_vi_80b586dbc8b099637a6e461856c2ee6b/node_modules/@wirecat/cli-core/dist/embeddings/onnx-runtime.js
25
+ import { createHash } from "node:crypto";
26
+ import { copyFileSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
27
+ import { join } from "node:path";
28
+
29
+ // node_modules/.pnpm/fflate@0.8.3/node_modules/fflate/esm/index.mjs
30
+ import { createRequire } from "module";
31
+ var require2 = createRequire("/");
32
+ var _a;
33
+ var Worker;
34
+ var isMarkedAsUntransferable;
35
+ try {
36
+ _a = require2("worker_threads"), Worker = _a.Worker, isMarkedAsUntransferable = _a.isMarkedAsUntransferable;
37
+ } catch (e) {
38
+ }
39
+ var u8 = Uint8Array;
40
+ var u16 = Uint16Array;
41
+ var i32 = Int32Array;
42
+ var fleb = new u8([
43
+ 0,
44
+ 0,
45
+ 0,
46
+ 0,
47
+ 0,
48
+ 0,
49
+ 0,
50
+ 0,
51
+ 1,
52
+ 1,
53
+ 1,
54
+ 1,
55
+ 2,
56
+ 2,
57
+ 2,
58
+ 2,
59
+ 3,
60
+ 3,
61
+ 3,
62
+ 3,
63
+ 4,
64
+ 4,
65
+ 4,
66
+ 4,
67
+ 5,
68
+ 5,
69
+ 5,
70
+ 5,
71
+ 0,
72
+ /* unused */
73
+ 0,
74
+ 0,
75
+ /* impossible */
76
+ 0
77
+ ]);
78
+ var fdeb = new u8([
79
+ 0,
80
+ 0,
81
+ 0,
82
+ 0,
83
+ 1,
84
+ 1,
85
+ 2,
86
+ 2,
87
+ 3,
88
+ 3,
89
+ 4,
90
+ 4,
91
+ 5,
92
+ 5,
93
+ 6,
94
+ 6,
95
+ 7,
96
+ 7,
97
+ 8,
98
+ 8,
99
+ 9,
100
+ 9,
101
+ 10,
102
+ 10,
103
+ 11,
104
+ 11,
105
+ 12,
106
+ 12,
107
+ 13,
108
+ 13,
109
+ /* unused */
110
+ 0,
111
+ 0
112
+ ]);
113
+ var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
114
+ var freb = /* @__PURE__ */ __name(function(eb, start) {
115
+ var b = new u16(31);
116
+ for (var i2 = 0; i2 < 31; ++i2) {
117
+ b[i2] = start += 1 << eb[i2 - 1];
118
+ }
119
+ var r = new i32(b[30]);
120
+ for (var i2 = 1; i2 < 30; ++i2) {
121
+ for (var j = b[i2]; j < b[i2 + 1]; ++j) {
122
+ r[j] = j - b[i2] << 5 | i2;
123
+ }
124
+ }
125
+ return { b, r };
126
+ }, "freb");
127
+ var _a = freb(fleb, 2);
128
+ var fl = _a.b;
129
+ var revfl = _a.r;
130
+ fl[28] = 258, revfl[258] = 28;
131
+ var _b = freb(fdeb, 0);
132
+ var fd = _b.b;
133
+ var revfd = _b.r;
134
+ var rev = new u16(32768);
135
+ for (i = 0; i < 32768; ++i) {
136
+ x = (i & 43690) >> 1 | (i & 21845) << 1;
137
+ x = (x & 52428) >> 2 | (x & 13107) << 2;
138
+ x = (x & 61680) >> 4 | (x & 3855) << 4;
139
+ rev[i] = ((x & 65280) >> 8 | (x & 255) << 8) >> 1;
140
+ }
141
+ var x;
142
+ var i;
143
+ var hMap = /* @__PURE__ */ __name((function(cd, mb, r) {
144
+ var s = cd.length;
145
+ var i2 = 0;
146
+ var l = new u16(mb);
147
+ for (; i2 < s; ++i2) {
148
+ if (cd[i2])
149
+ ++l[cd[i2] - 1];
150
+ }
151
+ var le = new u16(mb);
152
+ for (i2 = 1; i2 < mb; ++i2) {
153
+ le[i2] = le[i2 - 1] + l[i2 - 1] << 1;
154
+ }
155
+ var co;
156
+ if (r) {
157
+ co = new u16(1 << mb);
158
+ var rvb = 15 - mb;
159
+ for (i2 = 0; i2 < s; ++i2) {
160
+ if (cd[i2]) {
161
+ var sv = i2 << 4 | cd[i2];
162
+ var r_1 = mb - cd[i2];
163
+ var v = le[cd[i2] - 1]++ << r_1;
164
+ for (var m = v | (1 << r_1) - 1; v <= m; ++v) {
165
+ co[rev[v] >> rvb] = sv;
166
+ }
167
+ }
168
+ }
169
+ } else {
170
+ co = new u16(s);
171
+ for (i2 = 0; i2 < s; ++i2) {
172
+ if (cd[i2]) {
173
+ co[i2] = rev[le[cd[i2] - 1]++] >> 15 - cd[i2];
174
+ }
175
+ }
176
+ }
177
+ return co;
178
+ }), "hMap");
179
+ var flt = new u8(288);
180
+ for (i = 0; i < 144; ++i)
181
+ flt[i] = 8;
182
+ var i;
183
+ for (i = 144; i < 256; ++i)
184
+ flt[i] = 9;
185
+ var i;
186
+ for (i = 256; i < 280; ++i)
187
+ flt[i] = 7;
188
+ var i;
189
+ for (i = 280; i < 288; ++i)
190
+ flt[i] = 8;
191
+ var i;
192
+ var fdt = new u8(32);
193
+ for (i = 0; i < 32; ++i)
194
+ fdt[i] = 5;
195
+ var i;
196
+ var flrm = /* @__PURE__ */ hMap(flt, 9, 1);
197
+ var fdrm = /* @__PURE__ */ hMap(fdt, 5, 1);
198
+ var max = /* @__PURE__ */ __name(function(a) {
199
+ var m = a[0];
200
+ for (var i2 = 1; i2 < a.length; ++i2) {
201
+ if (a[i2] > m)
202
+ m = a[i2];
203
+ }
204
+ return m;
205
+ }, "max");
206
+ var bits = /* @__PURE__ */ __name(function(d, p, m) {
207
+ var o = p / 8 | 0;
208
+ return (d[o] | d[o + 1] << 8) >> (p & 7) & m;
209
+ }, "bits");
210
+ var bits16 = /* @__PURE__ */ __name(function(d, p) {
211
+ var o = p / 8 | 0;
212
+ return (d[o] | d[o + 1] << 8 | d[o + 2] << 16) >> (p & 7);
213
+ }, "bits16");
214
+ var shft = /* @__PURE__ */ __name(function(p) {
215
+ return (p + 7) / 8 | 0;
216
+ }, "shft");
217
+ var slc = /* @__PURE__ */ __name(function(v, s, e) {
218
+ if (s == null || s < 0)
219
+ s = 0;
220
+ if (e == null || e > v.length)
221
+ e = v.length;
222
+ return new u8(v.subarray(s, e));
223
+ }, "slc");
224
+ var ec = [
225
+ "unexpected EOF",
226
+ "invalid block type",
227
+ "invalid length/literal",
228
+ "invalid distance",
229
+ "stream finished",
230
+ "no stream handler",
231
+ ,
232
+ // determined by compression function
233
+ "no callback",
234
+ "invalid UTF-8 data",
235
+ "extra field too long",
236
+ "date not in range 1980-2099",
237
+ "filename too long",
238
+ "stream finishing",
239
+ "invalid zip data"
240
+ // determined by unknown compression method
241
+ ];
242
+ var err = /* @__PURE__ */ __name(function(ind, msg, nt) {
243
+ var e = new Error(msg || ec[ind]);
244
+ e.code = ind;
245
+ if (Error.captureStackTrace)
246
+ Error.captureStackTrace(e, err);
247
+ if (!nt)
248
+ throw e;
249
+ return e;
250
+ }, "err");
251
+ var inflt = /* @__PURE__ */ __name(function(dat, st, buf, dict) {
252
+ var sl = dat.length, dl = dict ? dict.length : 0;
253
+ if (!sl || st.f && !st.l)
254
+ return buf || new u8(0);
255
+ var noBuf = !buf;
256
+ var resize = noBuf || st.i != 2;
257
+ var noSt = st.i;
258
+ if (noBuf)
259
+ buf = new u8(sl * 3);
260
+ var cbuf = /* @__PURE__ */ __name(function(l2) {
261
+ var bl = buf.length;
262
+ if (l2 > bl) {
263
+ var nbuf = new u8(Math.max(bl * 2, l2));
264
+ nbuf.set(buf);
265
+ buf = nbuf;
266
+ }
267
+ }, "cbuf");
268
+ var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;
269
+ var tbts = sl * 8;
270
+ do {
271
+ if (!lm) {
272
+ final = bits(dat, pos, 1);
273
+ var type = bits(dat, pos + 1, 3);
274
+ pos += 3;
275
+ if (!type) {
276
+ var s = shft(pos) + 4, l = dat[s - 4] | dat[s - 3] << 8, t = s + l;
277
+ if (t > sl) {
278
+ if (noSt)
279
+ err(0);
280
+ break;
281
+ }
282
+ if (resize)
283
+ cbuf(bt + l);
284
+ buf.set(dat.subarray(s, t), bt);
285
+ st.b = bt += l, st.p = pos = t * 8, st.f = final;
286
+ continue;
287
+ } else if (type == 1)
288
+ lm = flrm, dm = fdrm, lbt = 9, dbt = 5;
289
+ else if (type == 2) {
290
+ var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;
291
+ var tl = hLit + bits(dat, pos + 5, 31) + 1;
292
+ pos += 14;
293
+ var ldt = new u8(tl);
294
+ var clt = new u8(19);
295
+ for (var i2 = 0; i2 < hcLen; ++i2) {
296
+ clt[clim[i2]] = bits(dat, pos + i2 * 3, 7);
297
+ }
298
+ pos += hcLen * 3;
299
+ var clb = max(clt), clbmsk = (1 << clb) - 1;
300
+ var clm = hMap(clt, clb, 1);
301
+ for (var i2 = 0; i2 < tl; ) {
302
+ var r = clm[bits(dat, pos, clbmsk)];
303
+ pos += r & 15;
304
+ var s = r >> 4;
305
+ if (s < 16) {
306
+ ldt[i2++] = s;
307
+ } else {
308
+ var c = 0, n = 0;
309
+ if (s == 16)
310
+ n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i2 - 1];
311
+ else if (s == 17)
312
+ n = 3 + bits(dat, pos, 7), pos += 3;
313
+ else if (s == 18)
314
+ n = 11 + bits(dat, pos, 127), pos += 7;
315
+ while (n--)
316
+ ldt[i2++] = c;
317
+ }
318
+ }
319
+ var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);
320
+ lbt = max(lt);
321
+ dbt = max(dt);
322
+ lm = hMap(lt, lbt, 1);
323
+ dm = hMap(dt, dbt, 1);
324
+ } else
325
+ err(1);
326
+ if (pos > tbts) {
327
+ if (noSt)
328
+ err(0);
329
+ break;
330
+ }
331
+ }
332
+ if (resize)
333
+ cbuf(bt + 131072);
334
+ var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;
335
+ var lpos = pos;
336
+ for (; ; lpos = pos) {
337
+ var c = lm[bits16(dat, pos) & lms], sym = c >> 4;
338
+ pos += c & 15;
339
+ if (pos > tbts) {
340
+ if (noSt)
341
+ err(0);
342
+ break;
343
+ }
344
+ if (!c)
345
+ err(2);
346
+ if (sym < 256)
347
+ buf[bt++] = sym;
348
+ else if (sym == 256) {
349
+ lpos = pos, lm = null;
350
+ break;
351
+ } else {
352
+ var add = sym - 254;
353
+ if (sym > 264) {
354
+ var i2 = sym - 257, b = fleb[i2];
355
+ add = bits(dat, pos, (1 << b) - 1) + fl[i2];
356
+ pos += b;
357
+ }
358
+ var d = dm[bits16(dat, pos) & dms], dsym = d >> 4;
359
+ if (!d)
360
+ err(3);
361
+ pos += d & 15;
362
+ var dt = fd[dsym];
363
+ if (dsym > 3) {
364
+ var b = fdeb[dsym];
365
+ dt += bits16(dat, pos) & (1 << b) - 1, pos += b;
366
+ }
367
+ if (pos > tbts) {
368
+ if (noSt)
369
+ err(0);
370
+ break;
371
+ }
372
+ if (resize)
373
+ cbuf(bt + 131072);
374
+ var end = bt + add;
375
+ if (bt < dt) {
376
+ var shift = dl - dt, dend = Math.min(dt, end);
377
+ if (shift + bt < 0)
378
+ err(3);
379
+ for (; bt < dend; ++bt)
380
+ buf[bt] = dict[shift + bt];
381
+ }
382
+ for (; bt < end; ++bt)
383
+ buf[bt] = buf[bt - dt];
384
+ }
385
+ }
386
+ st.l = lm, st.p = lpos, st.b = bt, st.f = final;
387
+ if (lm)
388
+ final = 1, st.m = lbt, st.d = dm, st.n = dbt;
389
+ } while (!final);
390
+ return bt != buf.length && noBuf ? slc(buf, 0, bt) : buf.subarray(0, bt);
391
+ }, "inflt");
392
+ var et = /* @__PURE__ */ new u8(0);
393
+ var b2 = /* @__PURE__ */ __name(function(d, b) {
394
+ return d[b] | d[b + 1] << 8;
395
+ }, "b2");
396
+ var b4 = /* @__PURE__ */ __name(function(d, b) {
397
+ return (d[b] | d[b + 1] << 8 | d[b + 2] << 16 | d[b + 3] << 24) >>> 0;
398
+ }, "b4");
399
+ var b8 = /* @__PURE__ */ __name(function(d, b) {
400
+ return b4(d, b) + b4(d, b + 4) * 4294967296;
401
+ }, "b8");
402
+ var gzs = /* @__PURE__ */ __name(function(d) {
403
+ if (d[0] != 31 || d[1] != 139 || d[2] != 8)
404
+ err(6, "invalid gzip data");
405
+ var flg = d[3];
406
+ var st = 10;
407
+ if (flg & 4)
408
+ st += (d[10] | d[11] << 8) + 2;
409
+ for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])
410
+ ;
411
+ return st + (flg & 2);
412
+ }, "gzs");
413
+ var gzl = /* @__PURE__ */ __name(function(d) {
414
+ var l = d.length;
415
+ return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16 | d[l - 1] << 24) >>> 0;
416
+ }, "gzl");
417
+ var Inflate = /* @__PURE__ */ (function() {
418
+ function Inflate2(opts, cb) {
419
+ if (typeof opts == "function")
420
+ cb = opts, opts = {};
421
+ this.ondata = cb;
422
+ var dict = opts && opts.dictionary && opts.dictionary.subarray(-32768);
423
+ this.s = { i: 0, b: dict ? dict.length : 0 };
424
+ this.o = new u8(32768);
425
+ this.p = new u8(0);
426
+ if (dict)
427
+ this.o.set(dict);
428
+ }
429
+ __name(Inflate2, "Inflate");
430
+ Inflate2.prototype.e = function(c) {
431
+ if (!this.ondata)
432
+ err(5);
433
+ if (this.d)
434
+ err(4);
435
+ if (!this.p.length)
436
+ this.p = c;
437
+ else if (c.length) {
438
+ var n = new u8(this.p.length + c.length);
439
+ n.set(this.p), n.set(c, this.p.length), this.p = n;
440
+ }
441
+ };
442
+ Inflate2.prototype.c = function(final) {
443
+ this.s.i = +(this.d = final || false);
444
+ var bts = this.s.b;
445
+ var dt = inflt(this.p, this.s, this.o);
446
+ this.ondata(slc(dt, bts, this.s.b), this.d);
447
+ this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;
448
+ this.p = slc(this.p, this.s.p / 8 | 0), this.s.p &= 7;
449
+ };
450
+ Inflate2.prototype.push = function(chunk, final) {
451
+ this.e(chunk), this.c(final);
452
+ };
453
+ return Inflate2;
454
+ })();
455
+ function gunzipSync(data, opts) {
456
+ var st = gzs(data);
457
+ if (st + 8 > data.length)
458
+ err(6, "invalid gzip data");
459
+ return inflt(data.subarray(st, -8), { i: 2 }, opts && opts.out || new u8(gzl(data)), opts && opts.dictionary);
460
+ }
461
+ __name(gunzipSync, "gunzipSync");
462
+ var td = typeof TextDecoder != "undefined" && /* @__PURE__ */ new TextDecoder();
463
+ var tds = 0;
464
+ try {
465
+ td.decode(et, { stream: true });
466
+ tds = 1;
467
+ } catch (e) {
468
+ }
469
+ var dutf8 = /* @__PURE__ */ __name(function(d) {
470
+ for (var r = "", i2 = 0; ; ) {
471
+ var c = d[i2++];
472
+ var eb = (c > 127) + (c > 223) + (c > 239);
473
+ if (i2 + eb > d.length)
474
+ return { s: r, r: slc(d, i2 - 1) };
475
+ if (!eb)
476
+ r += String.fromCharCode(c);
477
+ else if (eb == 3) {
478
+ c = ((c & 15) << 18 | (d[i2++] & 63) << 12 | (d[i2++] & 63) << 6 | d[i2++] & 63) - 65536, r += String.fromCharCode(55296 | c >> 10, 56320 | c & 1023);
479
+ } else if (eb & 1)
480
+ r += String.fromCharCode((c & 31) << 6 | d[i2++] & 63);
481
+ else
482
+ r += String.fromCharCode((c & 15) << 12 | (d[i2++] & 63) << 6 | d[i2++] & 63);
483
+ }
484
+ }, "dutf8");
485
+ function strFromU8(dat, latin1) {
486
+ if (latin1) {
487
+ var r = "";
488
+ for (var i2 = 0; i2 < dat.length; i2 += 16384)
489
+ r += String.fromCharCode.apply(null, dat.subarray(i2, i2 + 16384));
490
+ return r;
491
+ } else if (td) {
492
+ return td.decode(dat);
493
+ } else {
494
+ var _a2 = dutf8(dat), s = _a2.s, r = _a2.r;
495
+ if (r.length)
496
+ err(8);
497
+ return s;
498
+ }
499
+ }
500
+ __name(strFromU8, "strFromU8");
501
+ var z64hs = /* @__PURE__ */ __name(function(d, b, l, z, sc, su, off) {
502
+ var nsc = sc == 4294967295, nsu = su == 4294967295, noff = off == 4294967295, e = b + l;
503
+ var nf = nsc + nsu + noff;
504
+ if (z && nf) {
505
+ for (; b + 4 < e; b += 4 + b2(d, b + 2)) {
506
+ if (b2(d, b) == 1) {
507
+ return [
508
+ nsc ? b8(d, b + 4 + 8 * nsu) : sc,
509
+ nsu ? b8(d, b + 4) : su,
510
+ noff ? b8(d, b + 4 + 8 * (nsu + nsc)) : off,
511
+ 1
512
+ ];
513
+ }
514
+ }
515
+ if (z < 2)
516
+ err(13);
517
+ }
518
+ return [sc, su, off, 0];
519
+ }, "z64hs");
520
+ var UnzipPassThrough = /* @__PURE__ */ (function() {
521
+ function UnzipPassThrough2() {
522
+ }
523
+ __name(UnzipPassThrough2, "UnzipPassThrough");
524
+ UnzipPassThrough2.prototype.push = function(chunk, final) {
525
+ this.ondata(null, chunk, final);
526
+ };
527
+ UnzipPassThrough2.compression = 0;
528
+ return UnzipPassThrough2;
529
+ })();
530
+ var UnzipInflate = /* @__PURE__ */ (function() {
531
+ function UnzipInflate2() {
532
+ var _this = this;
533
+ this.i = new Inflate(function(dat, final) {
534
+ _this.ondata(null, dat, final);
535
+ });
536
+ }
537
+ __name(UnzipInflate2, "UnzipInflate");
538
+ UnzipInflate2.prototype.push = function(chunk, final) {
539
+ try {
540
+ this.i.push(chunk, final);
541
+ } catch (e) {
542
+ this.ondata(e, null, final);
543
+ }
544
+ };
545
+ UnzipInflate2.compression = 8;
546
+ return UnzipInflate2;
547
+ })();
548
+ var Unzip = /* @__PURE__ */ (function() {
549
+ function Unzip2(cb) {
550
+ this.onfile = cb;
551
+ this.k = [];
552
+ this.o = {
553
+ 0: UnzipPassThrough
554
+ };
555
+ this.p = et;
556
+ }
557
+ __name(Unzip2, "Unzip");
558
+ Unzip2.prototype.push = function(chunk, final) {
559
+ var _this = this;
560
+ if (!this.onfile)
561
+ err(5);
562
+ if (!this.p)
563
+ err(4);
564
+ if (this.c > 0) {
565
+ var len = Math.min(this.c, chunk.length);
566
+ var toAdd = chunk.subarray(0, len);
567
+ this.c -= len;
568
+ if (this.d)
569
+ this.d.push(toAdd, !this.c);
570
+ else
571
+ this.k[0].push(toAdd);
572
+ chunk = chunk.subarray(len);
573
+ if (chunk.length)
574
+ return this.push(chunk, final);
575
+ } else {
576
+ var f = 0, i2 = 0, is = void 0, buf = void 0;
577
+ if (!this.p.length)
578
+ buf = chunk;
579
+ else if (!chunk.length)
580
+ buf = this.p;
581
+ else {
582
+ buf = new u8(this.p.length + chunk.length);
583
+ buf.set(this.p), buf.set(chunk, this.p.length);
584
+ }
585
+ var l = buf.length, oc = this.c, add = oc && this.d;
586
+ var _loop_2 = /* @__PURE__ */ __name(function() {
587
+ var sig = b4(buf, i2);
588
+ if (sig == 67324752) {
589
+ f = 1, is = i2;
590
+ this_1.d = null;
591
+ this_1.c = 0;
592
+ var bf = b2(buf, i2 + 6), cmp_1 = b2(buf, i2 + 8), u = bf & 2048, dd = bf & 8, fnl = b2(buf, i2 + 26), es = b2(buf, i2 + 28);
593
+ if (l > i2 + 30 + fnl + es) {
594
+ var chks_3 = [];
595
+ this_1.k.unshift(chks_3);
596
+ f = 2;
597
+ var lsc = b4(buf, i2 + 18), lsu = b4(buf, i2 + 22);
598
+ var fn_1 = strFromU8(buf.subarray(i2 + 30, i2 += 30 + fnl), !u);
599
+ var _a2 = z64hs(buf, i2, es, 2, lsc, lsu, 0), sc_1 = _a2[0], su_1 = _a2[1], z64 = _a2[3];
600
+ if (dd)
601
+ sc_1 = -1 - z64;
602
+ i2 += es;
603
+ this_1.c = sc_1;
604
+ var d_1;
605
+ var file_1 = {
606
+ name: fn_1,
607
+ compression: cmp_1,
608
+ start: /* @__PURE__ */ __name(function() {
609
+ if (!file_1.ondata)
610
+ err(5);
611
+ if (!sc_1)
612
+ file_1.ondata(null, et, true);
613
+ else {
614
+ var ctr = _this.o[cmp_1];
615
+ if (!ctr)
616
+ file_1.ondata(err(14, "unknown compression type " + cmp_1, 1), null, false);
617
+ d_1 = sc_1 < 0 ? new ctr(fn_1) : new ctr(fn_1, sc_1, su_1);
618
+ d_1.ondata = function(err2, dat3, final2) {
619
+ file_1.ondata(err2, dat3, final2);
620
+ };
621
+ for (var _i = 0, chks_4 = chks_3; _i < chks_4.length; _i++) {
622
+ var dat2 = chks_4[_i];
623
+ d_1.push(dat2, false);
624
+ }
625
+ if (_this.k[0] == chks_3 && _this.c)
626
+ _this.d = d_1;
627
+ else
628
+ d_1.push(et, true);
629
+ }
630
+ }, "start"),
631
+ terminate: /* @__PURE__ */ __name(function() {
632
+ if (d_1 && d_1.terminate)
633
+ d_1.terminate();
634
+ }, "terminate")
635
+ };
636
+ if (sc_1 >= 0)
637
+ file_1.size = sc_1, file_1.originalSize = su_1;
638
+ this_1.onfile(file_1);
639
+ }
640
+ return "break";
641
+ } else if (oc) {
642
+ if (sig == 134695760) {
643
+ is = i2 += 12 + (oc == -2 && 8), f = 3, this_1.c = 0;
644
+ return "break";
645
+ } else if (sig == 33639248) {
646
+ is = i2 -= 4, f = 3, this_1.c = 0;
647
+ return "break";
648
+ }
649
+ }
650
+ }, "_loop_2");
651
+ var this_1 = this;
652
+ for (; i2 < l - 4; ++i2) {
653
+ var state_1 = _loop_2();
654
+ if (state_1 === "break")
655
+ break;
656
+ }
657
+ this.p = et;
658
+ if (oc < 0) {
659
+ var dat = f ? buf.subarray(0, is - 12 - (oc == -2 && 8) - (b4(buf, is - 16) == 134695760 && 4)) : buf.subarray(0, i2);
660
+ if (add)
661
+ add.push(dat, !!f);
662
+ else
663
+ this.k[+(f == 2)].push(dat);
664
+ }
665
+ if (f & 2)
666
+ return this.push(buf.subarray(i2), final);
667
+ this.p = buf.subarray(i2);
668
+ }
669
+ if (final) {
670
+ if (this.c)
671
+ err(13);
672
+ this.p = null;
673
+ }
674
+ };
675
+ Unzip2.prototype.register = function(decoder) {
676
+ this.o[decoder.compression] = decoder;
677
+ };
678
+ return Unzip2;
679
+ })();
680
+
681
+ // node_modules/.pnpm/@wirecat+cli-core@0.469.0_@wirecat+cli-base@0.65.0_commander@15.0.0_typescript@7.0.2_vi_80b586dbc8b099637a6e461856c2ee6b/node_modules/@wirecat/cli-core/dist/embeddings/onnx-runtime.js
682
+ var ONNX_RUNTIME_VERSION = "1.30.0";
683
+ var release = /* @__PURE__ */ __name((name, sha256, bytes) => ({
684
+ name,
685
+ url: `https://github.com/microsoft/onnxruntime/releases/download/v${ONNX_RUNTIME_VERSION}/${name}`,
686
+ sha256,
687
+ bytes
688
+ }), "release");
689
+ var npmTarball = {
690
+ name: `onnxruntime-node-${ONNX_RUNTIME_VERSION}.tgz`,
691
+ url: `https://registry.npmjs.org/onnxruntime-node/-/onnxruntime-node-${ONNX_RUNTIME_VERSION}.tgz`,
692
+ sha256: "6e3390d6b783e7be946fad629292799da28d0b42f84856e50d2c1b0383291e75",
693
+ bytes: 113507888
694
+ };
695
+ var NATIVE = {
696
+ "linux-x64": {
697
+ archive: release("onnxruntime-linux-x64-1.30.0.tgz", "a5ed5a3cac51fbb2e90da632ae43d19212faaa20e76484e62bcb7c23ddb3b3fd", 11306877),
698
+ member: "onnxruntime-linux-x64-1.30.0/lib/libonnxruntime.so.1.30.0",
699
+ library: {
700
+ name: "libonnxruntime.so.1",
701
+ sha256: "245a6f8c38127551057a1cd1ffd59f0a186a227ade4f3492dea2494eb565542e",
702
+ bytes: 28985152
703
+ }
704
+ },
705
+ "linux-arm64": {
706
+ archive: release("onnxruntime-linux-aarch64-1.30.0.tgz", "e16a27a8ed330bbc698df7330b0cf56e722f354e3bcc92118682c74ef3c3e3da", 10269495),
707
+ member: "onnxruntime-linux-aarch64-1.30.0/lib/libonnxruntime.so.1.30.0",
708
+ library: {
709
+ name: "libonnxruntime.so.1",
710
+ sha256: "64e903a43a041240fd6bcffe0ac6d4fea47ef87bf24b9d097801bd00a9612a4b",
711
+ bytes: 25135496
712
+ }
713
+ },
714
+ "darwin-arm64": {
715
+ archive: release("onnxruntime-osx-arm64-1.30.0.tgz", "6ebb5062a934537c352937821f9fe9718e7de1a2db1122a93dd363ffd53a7012", 42373116),
716
+ member: "onnxruntime-osx-arm64-1.30.0/lib/libonnxruntime.1.30.0.dylib",
717
+ library: {
718
+ name: "libonnxruntime.1.dylib",
719
+ sha256: "bcc9110f9d638a119de2db7afb3ba9a1da8085f0cb3401e1c48ae1caf450b6fa",
720
+ bytes: 43879424
721
+ }
722
+ },
723
+ "win32-x64": {
724
+ archive: npmTarball,
725
+ member: "package/bin/napi-v6/win32/x64/onnxruntime.dll",
726
+ library: {
727
+ name: "onnxruntime.dll",
728
+ sha256: "508c362f5673483dd3a086379c392795b2e42d10d5e6f3f90ebd7ac21c97af67",
729
+ bytes: 28754232
730
+ }
731
+ },
732
+ "win32-arm64": {
733
+ archive: npmTarball,
734
+ member: "package/bin/napi-v6/win32/arm64/onnxruntime.dll",
735
+ library: {
736
+ name: "onnxruntime.dll",
737
+ sha256: "6c3a2abf5c6aca11c48a0d338a91af309f2266f25ce2e4084e6a87bbcb0fbfd0",
738
+ bytes: 29815136
739
+ }
740
+ }
741
+ };
742
+ var onMusl = /* @__PURE__ */ __name(() => {
743
+ try {
744
+ return readFileSync("/proc/self/maps", "utf8").includes("ld-musl");
745
+ } catch {
746
+ return false;
747
+ }
748
+ }, "onMusl");
749
+ var nativeRuntimeFor = /* @__PURE__ */ __name(({ platform = process.platform, arch = process.arch, musl = platform === "linux" && onMusl() } = {}) => {
750
+ const target = `${platform}-${arch}`;
751
+ const runtime = NATIVE[target];
752
+ return runtime && !musl ? { target, ...runtime } : void 0;
753
+ }, "nativeRuntimeFor");
754
+ var runtimeFolder = /* @__PURE__ */ __name((runtime, env = process.env) => join(sharedModelsDirectory("runtime", env), `onnxruntime-${ONNX_RUNTIME_VERSION}-${runtime.target}`), "runtimeFolder");
755
+ var BINDING = "onnxruntime_binding.node";
756
+ var sizeOf = /* @__PURE__ */ __name((path) => {
757
+ try {
758
+ return statSync(path).size;
759
+ } catch {
760
+ return void 0;
761
+ }
762
+ }, "sizeOf");
763
+ var isInstalled = /* @__PURE__ */ __name((runtime, folder) => sizeOf(join(folder, runtime.library.name)) === runtime.library.bytes && sizeOf(join(folder, BINDING)) !== void 0, "isInstalled");
764
+ var installNativeRuntime = /* @__PURE__ */ __name(async ({ env = process.env, progress = /* @__PURE__ */ __name(() => {
765
+ }, "progress"), fetch, runtime = nativeRuntimeFor(), binding } = {}) => {
766
+ if (!runtime)
767
+ return void 0;
768
+ const source = binding ?? (await importFrom(new URL("embeddings/onnx-runtime.js", import.meta.resolve("@wirecat/cli-core")).href, "@wirecat/cli-core-onnx")).nativeBindingFor();
769
+ if (!source)
770
+ return void 0;
771
+ const folder = runtimeFolder(runtime, env);
772
+ if (isInstalled(runtime, folder))
773
+ return folder;
774
+ progress(`ONNX Runtime ${ONNX_RUNTIME_VERSION} for ${runtime.target}: ${megabytes(runtime.archive.bytes)} from Microsoft`);
775
+ const parent = sharedModelsDirectory("runtime", env);
776
+ mkdirSync(parent, { recursive: true, mode: 448 });
777
+ const staging = mkdtempSync(join(parent, ".onnxruntime-"));
778
+ try {
779
+ const archive = join(staging, runtime.archive.name);
780
+ await installFiles([[runtime.archive, archive]], { ...fetch ? { fetch } : {}, progress });
781
+ const library = tarMember(gunzipSync(readFileSync(archive)), runtime.member);
782
+ rmSync(archive);
783
+ const sha256 = library && createHash("sha256").update(library).digest("hex");
784
+ if (!library || library.length !== runtime.library.bytes || sha256 !== runtime.library.sha256)
785
+ throw new CliError("invalid_response", `${runtime.archive.name} does not hold the ${runtime.library.name} this version expects \u2014 nothing was installed`);
786
+ writeFileSync(join(staging, runtime.library.name), library, { mode: 493 });
787
+ copyFileSync(source, join(staging, BINDING));
788
+ rmSync(folder, { recursive: true, force: true });
789
+ renameSync(staging, folder);
790
+ return folder;
791
+ } finally {
792
+ rmSync(staging, { recursive: true, force: true });
793
+ }
794
+ }, "installNativeRuntime");
795
+ var tarMember = /* @__PURE__ */ __name((tar, member) => {
796
+ const text = /* @__PURE__ */ __name((from, length) => new TextDecoder().decode(tar.subarray(from, from + length)).replace(/\0.*$/s, ""), "text");
797
+ const plain = /* @__PURE__ */ __name((path) => path.replace(/^\.\//, ""), "plain");
798
+ let longName;
799
+ for (let offset = 0; offset + 512 <= tar.length; ) {
800
+ const name = text(offset, 100);
801
+ if (!name)
802
+ return void 0;
803
+ const size = Number.parseInt(text(offset + 124, 12).trim() || "0", 8);
804
+ const type = text(offset + 156, 1);
805
+ const prefix = text(offset + 345, 155);
806
+ const data = tar.subarray(offset + 512, offset + 512 + size);
807
+ offset += 512 + Math.ceil(size / 512) * 512;
808
+ if (type === "x") {
809
+ longName = /(?:^|\n)\d+ path=([^\n]*)\n/.exec(new TextDecoder().decode(data))?.[1] ?? longName;
810
+ continue;
811
+ }
812
+ if (type === "L") {
813
+ longName = new TextDecoder().decode(data).replace(/\0.*$/s, "");
814
+ continue;
815
+ }
816
+ const path = plain(longName ?? (prefix ? `${prefix}/${name}` : name));
817
+ longName = void 0;
818
+ if (path === plain(member) && (type === "0" || type === ""))
819
+ return data;
820
+ }
821
+ return void 0;
822
+ }, "tarMember");
823
+ var opened = /* @__PURE__ */ new Map();
824
+ var onnxRuntime = /* @__PURE__ */ __name((env = process.env) => {
825
+ const runtime = nativeRuntimeFor();
826
+ const folder = runtime ? runtimeFolder(runtime, env) : "";
827
+ let found = opened.get(folder);
828
+ if (!found) {
829
+ found = (async () => {
830
+ const wasm = await importFrom(new URL("embeddings/onnx-runtime.js", import.meta.resolve("@wirecat/cli-core")).href, "@wirecat/cli-core-onnx");
831
+ if (runtime && isInstalled(runtime, folder)) {
832
+ try {
833
+ return { ort: wasm.openNative(join(folder, BINDING)), native: true };
834
+ } catch {
835
+ }
836
+ }
837
+ return { ort: wasm, native: false };
838
+ })();
839
+ opened.set(folder, found);
840
+ }
841
+ return found;
842
+ }, "onnxRuntime");
843
+ var openSession = /* @__PURE__ */ __name(async (bytes, threads, options = {}) => {
844
+ const runtime = await onnxRuntime();
845
+ if (runtime.native) {
846
+ try {
847
+ const session = await runtime.ort.InferenceSession.create(bytes, {
848
+ ...options,
849
+ intraOpNumThreads: threads,
850
+ interOpNumThreads: 1
851
+ });
852
+ return { ort: runtime.ort, session };
853
+ } catch {
854
+ }
855
+ }
856
+ const ort = await importFrom(new URL("embeddings/onnx-runtime.js", import.meta.resolve("@wirecat/cli-core")).href, "@wirecat/cli-core-onnx");
857
+ ort.env.wasm.numThreads = threads;
858
+ return { ort, session: await ort.InferenceSession.create(bytes, options) };
859
+ }, "openSession");
860
+
861
+ // node_modules/.pnpm/@wirecat+cli-core@0.469.0_@wirecat+cli-base@0.65.0_commander@15.0.0_typescript@7.0.2_vi_80b586dbc8b099637a6e461856c2ee6b/node_modules/@wirecat/cli-core/dist/embeddings/embed.js
862
+ var textModelsDirectory = /* @__PURE__ */ __name((env = process.env) => sharedModelsDirectory("text", env), "textModelsDirectory");
863
+ var placedText = /* @__PURE__ */ __name((model, directory) => model.files.map((file) => [file, join2(directory, model.id, file.name)]), "placedText");
864
+ var isTextModelInstalled = /* @__PURE__ */ __name((model, directory) => filesPresent(placedText(model, directory)), "isTextModelInstalled");
865
+ var defaultThreads = /* @__PURE__ */ __name(() => Math.min(8, availableParallelism()), "defaultThreads");
866
+ var WARM_IDLE_MS = 10 * 6e4;
867
+ var runEmbedders = /* @__PURE__ */ __name(() => {
868
+ const held = /* @__PURE__ */ new Map();
869
+ return {
870
+ get: /* @__PURE__ */ __name((key, open) => {
871
+ const one = held.get(key) ?? open();
872
+ held.set(key, one);
873
+ return one;
874
+ }, "get"),
875
+ close: /* @__PURE__ */ __name(async () => {
876
+ await Promise.allSettled([...held.values()].map(async (one) => (await one).close()));
877
+ }, "close")
878
+ };
879
+ }, "runEmbedders");
880
+ var warmEmbedders = /* @__PURE__ */ __name(({ idleMs = WARM_IDLE_MS } = {}) => {
881
+ const held = /* @__PURE__ */ new Map();
882
+ const timers = /* @__PURE__ */ new Map();
883
+ const running = /* @__PURE__ */ new Map();
884
+ const drop = /* @__PURE__ */ __name((key) => {
885
+ const one = held.get(key);
886
+ held.delete(key);
887
+ clearTimeout(timers.get(key));
888
+ timers.delete(key);
889
+ return one;
890
+ }, "drop");
891
+ const rearm = /* @__PURE__ */ __name((key) => {
892
+ clearTimeout(timers.get(key));
893
+ const timer = setTimeout(() => {
894
+ if (running.get(key))
895
+ return;
896
+ drop(key)?.then((one) => one.close()).catch(() => {
897
+ });
898
+ }, idleMs);
899
+ timer.unref?.();
900
+ timers.set(key, timer);
901
+ }, "rearm");
902
+ const hold = /* @__PURE__ */ __name((key, open, serial) => {
903
+ let opening = held.get(key);
904
+ if (!opening) {
905
+ const started = open().then((one) => serial(one, queue({
906
+ starts: /* @__PURE__ */ __name(() => running.set(key, (running.get(key) ?? 0) + 1), "starts"),
907
+ ends: /* @__PURE__ */ __name(() => {
908
+ running.set(key, (running.get(key) ?? 1) - 1);
909
+ rearm(key);
910
+ }, "ends")
911
+ })));
912
+ held.set(key, started);
913
+ started.catch(() => {
914
+ if (held.get(key) === started)
915
+ drop(key);
916
+ });
917
+ opening = started;
918
+ }
919
+ rearm(key);
920
+ return opening;
921
+ }, "hold");
922
+ return {
923
+ get: /* @__PURE__ */ __name((key, open) => hold(key, open, (embedder, run) => ({
924
+ model: embedder.model,
925
+ embed: /* @__PURE__ */ __name((texts, kind) => run.next(() => embedder.embed(texts, kind)), "embed"),
926
+ close: run.closing(() => embedder.close())
927
+ })), "get"),
928
+ reranker: /* @__PURE__ */ __name((key, open) => hold(key, open, (reranker, run) => ({
929
+ model: reranker.model,
930
+ score: /* @__PURE__ */ __name((question, passages) => run.next(() => reranker.score(question, passages)), "score"),
931
+ close: run.closing(() => reranker.close())
932
+ })), "reranker"),
933
+ close: /* @__PURE__ */ __name(async () => {
934
+ const all = [...held.keys()].map(drop);
935
+ await Promise.allSettled(all.map(async (one) => (await one)?.close()));
936
+ }, "close")
937
+ };
938
+ }, "warmEmbedders");
939
+ var queue = /* @__PURE__ */ __name(({ starts, ends }) => {
940
+ let last = Promise.resolve();
941
+ return {
942
+ next: /* @__PURE__ */ __name((work) => {
943
+ starts();
944
+ const next = last.then(work);
945
+ last = next.then(ends, ends);
946
+ return next;
947
+ }, "next"),
948
+ /** Closing waits for the run in progress. */
949
+ closing: /* @__PURE__ */ __name((close) => async () => {
950
+ await last;
951
+ await close();
952
+ }, "closing")
953
+ };
954
+ }, "queue");
955
+ var truncated = /* @__PURE__ */ __name((ids, max2) => ids.length <= max2 ? ids : [...ids.slice(0, max2 - 1), ids.at(-1)], "truncated");
956
+ var unit = /* @__PURE__ */ __name((vector) => {
957
+ let sum = 0;
958
+ for (const value of vector)
959
+ sum += value * value;
960
+ const length = Math.sqrt(sum);
961
+ return length === 0 ? vector : vector.map((value) => value / length);
962
+ }, "unit");
963
+ var meanOf = /* @__PURE__ */ __name((data, tokens, dims) => {
964
+ const mean = new Float32Array(dims);
965
+ for (let token = 0; token < tokens; token++) {
966
+ for (let dim = 0; dim < dims; dim++)
967
+ mean[dim] = mean[dim] + data[token * dims + dim] / tokens;
968
+ }
969
+ return mean;
970
+ }, "meanOf");
971
+ var loadModel = /* @__PURE__ */ __name(async (model, directory, threads) => {
972
+ const { Tokenizer } = await importFrom(new URL("embeddings/embed.js", import.meta.resolve("@wirecat/cli-core")).href, "@huggingface/tokenizers");
973
+ const path = /* @__PURE__ */ __name((name) => join2(directory, model.id, name), "path");
974
+ const tokenizer = new Tokenizer(JSON.parse(readFileSync2(path("tokenizer.json"), "utf8")), JSON.parse(readFileSync2(path("tokenizer_config.json"), "utf8")));
975
+ const { ort, session } = await openSession(readFileSync2(path(model.onnx)), threads, model.externalData ? { externalData: [{ path: basename(model.externalData), data: readFileSync2(path(model.externalData)) }] } : {});
976
+ return { ort, tokenizer, session };
977
+ }, "loadModel");
978
+ var openEmbedder = /* @__PURE__ */ __name(async (model, directory, { threads = defaultThreads() } = {}) => {
979
+ const { ort, tokenizer, session } = await loadModel(model, directory, threads);
980
+ const typeIds = session.inputNames.includes("token_type_ids");
981
+ const one = /* @__PURE__ */ __name(async (text) => {
982
+ const ids = truncated(tokenizer.encode(text).ids, model.maxTokens);
983
+ const shape = [1, ids.length];
984
+ const feeds = {
985
+ input_ids: new ort.Tensor("int64", BigInt64Array.from(ids, BigInt), shape),
986
+ attention_mask: new ort.Tensor("int64", new BigInt64Array(ids.length).fill(1n), shape)
987
+ };
988
+ if (typeIds)
989
+ feeds.token_type_ids = new ort.Tensor("int64", new BigInt64Array(ids.length), shape);
990
+ const output = await session.run(feeds);
991
+ if (model.pooling === "sentence_embedding") {
992
+ return unit(Float32Array.from(output.sentence_embedding?.data));
993
+ }
994
+ const hidden = output.last_hidden_state;
995
+ if (!hidden)
996
+ throw new Error(`${model.id} gave no last_hidden_state`);
997
+ return unit(meanOf(hidden.data, ids.length, hidden.dims.at(-1)));
998
+ }, "one");
999
+ return {
1000
+ model,
1001
+ embed: /* @__PURE__ */ __name(async (texts, kind) => {
1002
+ const vectors = [];
1003
+ for (const text of texts)
1004
+ vectors.push(await one(`${model.prefix[kind]}${text}`));
1005
+ return vectors;
1006
+ }, "embed"),
1007
+ close: /* @__PURE__ */ __name(() => session.release(), "close")
1008
+ };
1009
+ }, "openEmbedder");
1010
+
1011
+ export {
1012
+ UnzipInflate,
1013
+ Unzip,
1014
+ installNativeRuntime,
1015
+ openSession,
1016
+ textModelsDirectory,
1017
+ placedText,
1018
+ isTextModelInstalled,
1019
+ defaultThreads,
1020
+ WARM_IDLE_MS,
1021
+ runEmbedders,
1022
+ warmEmbedders,
1023
+ truncated,
1024
+ unit,
1025
+ meanOf,
1026
+ loadModel,
1027
+ openEmbedder
1028
+ };