openfox 2.0.133 → 2.0.134
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/CHANGELOG.md +12 -0
- package/dist/CHANGELOG.md +12 -0
- package/dist/{chat-handler-T47GATL5.js → chat-handler-YCZE2XEJ.js} +23 -22
- package/dist/chunk-24YKXKCG.js +35 -0
- package/dist/chunk-2OMGR7LN.js +45 -0
- package/dist/{chunk-OUQZZEIQ.js → chunk-5IXCCMFU.js} +335 -187
- package/dist/{chunk-MQMPIXON.js → chunk-5UMXFLET.js} +3 -3
- package/dist/{chunk-5JWJEZJ3.js → chunk-5UQ4CKOA.js} +2 -2
- package/dist/{chunk-P5MSY7ZI.js → chunk-7HGBJFIJ.js} +22 -17
- package/dist/{chunk-7JVBDBXE.js → chunk-7QMWYNVF.js} +2 -2
- package/dist/{chunk-P57IBMK4.js → chunk-AATMPL7S.js} +4 -4
- package/dist/{chunk-ZL4IAFF3.js → chunk-BZND27IB.js} +3 -3
- package/dist/{chunk-FGNJMKDV.js → chunk-CSYOWFPU.js} +5 -5
- package/dist/{chunk-LQKXJPKP.js → chunk-CTWZPN7G.js} +5 -1
- package/dist/{chunk-BKMWZTNO.js → chunk-DWA4IE65.js} +14 -2
- package/dist/{chunk-RRUSYVQD.js → chunk-FAQDLL2X.js} +8 -8
- package/dist/{chunk-HCYSGLY2.js → chunk-HF3NDXB4.js} +1 -1
- package/dist/{chunk-6EZDW4JS.js → chunk-J3NMNYGM.js} +2 -2
- package/dist/{chunk-HXHPKGJE.js → chunk-J5HOUEPE.js} +614 -157
- package/dist/{chunk-A7CB4USC.js → chunk-M4J2L4VH.js} +132 -45
- package/dist/{chunk-M5T4RDPJ.js → chunk-MEEUXRFL.js} +2 -2
- package/dist/{chunk-OMMPTN6X.js → chunk-MRE4OYKI.js} +69 -27
- package/dist/{chunk-MGEYAYGU.js → chunk-O3RCSKUH.js} +2 -2
- package/dist/{chunk-ELYHHEYL.js → chunk-ORCQ3EXQ.js} +2 -2
- package/dist/{chunk-FEIRWXLX.js → chunk-OZWHRBDY.js} +64 -17
- package/dist/{chunk-TACWRDDC.js → chunk-QDARWVQ2.js} +2 -2
- package/dist/{chunk-VXG3AFFY.js → chunk-QICVOQNX.js} +8 -8
- package/dist/chunk-QTLYD2FF.js +7 -0
- package/dist/{chunk-Y6ZGHOKM.js → chunk-YLVOU7T7.js} +4 -4
- package/dist/{chunk-GFW2HWJ6.js → chunk-YOPXAI2W.js} +37 -16
- package/dist/{chunk-CLDCHOEA.js → chunk-ZMK4VX7V.js} +2 -2
- package/dist/{chunk-KWAHD2JA.js → chunk-ZTBKMVV6.js} +2 -2
- package/dist/cli/dev.js +4 -1
- package/dist/cli/index.js +4 -1
- package/dist/{client-2K6PPPJJ.js → client-VVYOWXRR.js} +4 -4
- package/dist/{compactor-OEJAA2YP.js → compactor-PD6DQ4NY.js} +9 -9
- package/dist/{dynamic-context-NJZKAZE3.js → dynamic-context-WKEXQCTK.js} +10 -10
- package/dist/{events-ZJPRGVL2.js → events-3WSNI7XC.js} +6 -6
- package/dist/{folding-QRZOHY2I.js → folding-H7JTX6KI.js} +4 -4
- package/dist/{http-client-P4XTKAZA.js → http-client-A445WYZU.js} +3 -3
- package/dist/{install-VA2F6X6Z.js → install-AVTFA344.js} +64 -15
- package/dist/{launch-UKXVO37B.js → launch-FJ65HRV4.js} +23 -22
- package/dist/{manager-TMBFBCQL.js → manager-ZACEUL5P.js} +4 -4
- package/dist/{mcp-YU7AM3UV.js → mcp-SQ4DOGPT.js} +22 -9
- package/dist/{orchestrator-GX22Y5EM.js → orchestrator-OT66EDXO.js} +22 -21
- package/dist/package.json +3 -1
- package/dist/{path-security-CBACXAMS.js → path-security-5CFMMULR.js} +10 -10
- package/dist/{platform-5LQXOZO3.js → platform-XPMZKAUB.js} +3 -3
- package/dist/{processor-V35OLKRV.js → processor-CHMHMMIE.js} +22 -21
- package/dist/{project-creator-6AGQTNXB.js → project-creator-T3A4H3YV.js} +42 -29
- package/dist/{protocol-BMUoqwYH.d.ts → protocol-Nr_H1_oC.d.ts} +3 -1
- package/dist/{protocol-Y7MRKRUO.js → protocol-XO4ZROAU.js} +3 -3
- package/dist/provider/index.d.ts +4 -4
- package/dist/provider-JWUNG2TD.js +507 -0
- package/dist/{provider-manager-BO5ZBG3T.js → provider-manager-2KKZ37XJ.js} +5 -5
- package/dist/pwa-V5PFB4OQ.js +502 -0
- package/dist/{registry-CMSSZHDC.js → registry-BEIR7Y5G.js} +3 -3
- package/dist/{serve-XRVT3D7Z.js → serve-HSDVY37K.js} +47 -36
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +27 -26
- package/dist/{server-GXMZMPXI.js → server-3UVLECD5.js} +26 -25
- package/dist/{service-WKABQHKL.js → service-M77VWL2M.js} +97 -32
- package/dist/{service-O3LCO3TQ.js → service-XIUNS5XV.js} +7 -6
- package/dist/{session-overrides-OECQYRDK.js → session-overrides-Y5B4XQPU.js} +5 -5
- package/dist/{sessions-NMPX5ICI.js → sessions-IGINPPBP.js} +4 -4
- package/dist/{settings-MDCRNQBY.js → settings-ZJPM6PQV.js} +2 -2
- package/dist/shared/index.d.ts +31 -4
- package/dist/shared/index.js +16 -2
- package/dist/{tasks-WOC3QUFA.js → tasks-3JJWJJ3X.js} +34 -18
- package/dist/{tools-CW6POKUL.js → tools-WWIWD3O7.js} +20 -19
- package/dist/{types-CoY8Ka1C.d.ts → types-BlQjLBui.d.ts} +1 -1
- package/dist/{types-BIkpxjaj.d.ts → types-G10ho8PT.d.ts} +1 -1
- package/dist/update-Q6SH7UP2.js +76 -0
- package/dist/web/assets/index-C48qmBAI.js +313 -0
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +3 -1
- package/dist/chunk-JKGHTBEV.js +0 -7
- package/dist/provider-NWRGNGS3.js +0 -403
- package/dist/pwa-2GRFSXD7.js +0 -363
- package/dist/update-VC3Y3EOP.js +0 -49
- package/dist/web/assets/index-ATAQvBwl.js +0 -312
package/dist/server/index.js
CHANGED
|
@@ -1,58 +1,59 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createServer,
|
|
3
3
|
createServerHandle
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-5IXCCMFU.js";
|
|
5
5
|
import "../chunk-T3S5MTMD.js";
|
|
6
6
|
import "../chunk-WLJJRX22.js";
|
|
7
7
|
import "../chunk-DQTN4B33.js";
|
|
8
8
|
import "../chunk-IJ53Y77N.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-M4J2L4VH.js";
|
|
10
|
+
import "../chunk-FAQDLL2X.js";
|
|
11
|
+
import "../chunk-7HGBJFIJ.js";
|
|
12
|
+
import "../chunk-YOPXAI2W.js";
|
|
13
|
+
import "../chunk-J5HOUEPE.js";
|
|
14
14
|
import "../chunk-XE6UC5Z3.js";
|
|
15
15
|
import "../chunk-J7GAZGZT.js";
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-OZWHRBDY.js";
|
|
17
|
+
import "../chunk-QDARWVQ2.js";
|
|
18
|
+
import "../chunk-BZND27IB.js";
|
|
19
19
|
import "../chunk-7ET46SNE.js";
|
|
20
20
|
import "../chunk-LW6MMSTD.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-5UMXFLET.js";
|
|
22
22
|
import "../chunk-I72ACQ6R.js";
|
|
23
23
|
import "../chunk-JE7LW7Y6.js";
|
|
24
24
|
import "../chunk-OAN4BXEW.js";
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
25
|
+
import "../chunk-QICVOQNX.js";
|
|
26
|
+
import "../chunk-DWA4IE65.js";
|
|
27
|
+
import "../chunk-7QMWYNVF.js";
|
|
28
28
|
import "../chunk-JURM3RPZ.js";
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-YLVOU7T7.js";
|
|
30
|
+
import "../chunk-CSYOWFPU.js";
|
|
31
|
+
import "../chunk-MEEUXRFL.js";
|
|
32
|
+
import "../chunk-ZTBKMVV6.js";
|
|
33
|
+
import "../chunk-ORCQ3EXQ.js";
|
|
34
34
|
import "../chunk-OSXPQSLW.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-AATMPL7S.js";
|
|
36
36
|
import "../chunk-LCLH6ZUL.js";
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-O3RCSKUH.js";
|
|
38
|
+
import "../chunk-5UQ4CKOA.js";
|
|
39
39
|
import "../chunk-OA2FURC3.js";
|
|
40
40
|
import "../chunk-J2GP3J3X.js";
|
|
41
41
|
import "../chunk-YNMP647F.js";
|
|
42
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-QTLYD2FF.js";
|
|
43
43
|
import "../chunk-DPFET73G.js";
|
|
44
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-ZMK4VX7V.js";
|
|
45
45
|
import "../chunk-TS5WKTFB.js";
|
|
46
46
|
import "../chunk-UV6IH6HK.js";
|
|
47
47
|
import "../chunk-HNCM3D7Y.js";
|
|
48
48
|
import "../chunk-EUOWCVU6.js";
|
|
49
|
-
import "../chunk-
|
|
50
|
-
import "../chunk-
|
|
49
|
+
import "../chunk-J3NMNYGM.js";
|
|
50
|
+
import "../chunk-CTWZPN7G.js";
|
|
51
51
|
import "../chunk-JU757HVI.js";
|
|
52
52
|
import "../chunk-2AI7VYPN.js";
|
|
53
53
|
import "../chunk-K44MW7JJ.js";
|
|
54
54
|
import "../chunk-7OHXF5GW.js";
|
|
55
|
-
import "../chunk-
|
|
55
|
+
import "../chunk-HF3NDXB4.js";
|
|
56
|
+
import "../chunk-24YKXKCG.js";
|
|
56
57
|
import "../chunk-R5FAEKXQ.js";
|
|
57
58
|
import "../chunk-CQGTEGKL.js";
|
|
58
59
|
import "../chunk-YLJ4XMA6.js";
|
|
@@ -1,51 +1,52 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createWebSocketServer,
|
|
3
3
|
signalMcpReady
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-M4J2L4VH.js";
|
|
5
|
+
import "./chunk-FAQDLL2X.js";
|
|
6
|
+
import "./chunk-7HGBJFIJ.js";
|
|
7
|
+
import "./chunk-YOPXAI2W.js";
|
|
8
|
+
import "./chunk-J5HOUEPE.js";
|
|
9
9
|
import "./chunk-XE6UC5Z3.js";
|
|
10
10
|
import "./chunk-J7GAZGZT.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-OZWHRBDY.js";
|
|
12
|
+
import "./chunk-QDARWVQ2.js";
|
|
13
|
+
import "./chunk-BZND27IB.js";
|
|
14
14
|
import "./chunk-7ET46SNE.js";
|
|
15
15
|
import "./chunk-LW6MMSTD.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-5UMXFLET.js";
|
|
17
17
|
import "./chunk-I72ACQ6R.js";
|
|
18
18
|
import "./chunk-JE7LW7Y6.js";
|
|
19
19
|
import "./chunk-OAN4BXEW.js";
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-QICVOQNX.js";
|
|
21
|
+
import "./chunk-DWA4IE65.js";
|
|
22
|
+
import "./chunk-7QMWYNVF.js";
|
|
23
23
|
import "./chunk-JURM3RPZ.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-YLVOU7T7.js";
|
|
25
|
+
import "./chunk-CSYOWFPU.js";
|
|
26
|
+
import "./chunk-MEEUXRFL.js";
|
|
27
|
+
import "./chunk-ZTBKMVV6.js";
|
|
28
|
+
import "./chunk-ORCQ3EXQ.js";
|
|
29
29
|
import "./chunk-OSXPQSLW.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-AATMPL7S.js";
|
|
31
31
|
import "./chunk-LCLH6ZUL.js";
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
32
|
+
import "./chunk-O3RCSKUH.js";
|
|
33
|
+
import "./chunk-5UQ4CKOA.js";
|
|
34
34
|
import "./chunk-OA2FURC3.js";
|
|
35
35
|
import "./chunk-J2GP3J3X.js";
|
|
36
36
|
import "./chunk-DPFET73G.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-ZMK4VX7V.js";
|
|
38
38
|
import "./chunk-TS5WKTFB.js";
|
|
39
39
|
import "./chunk-UV6IH6HK.js";
|
|
40
40
|
import "./chunk-HNCM3D7Y.js";
|
|
41
41
|
import "./chunk-EUOWCVU6.js";
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-J3NMNYGM.js";
|
|
43
|
+
import "./chunk-CTWZPN7G.js";
|
|
44
44
|
import "./chunk-JU757HVI.js";
|
|
45
45
|
import "./chunk-2AI7VYPN.js";
|
|
46
46
|
import "./chunk-K44MW7JJ.js";
|
|
47
47
|
import "./chunk-7OHXF5GW.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-HF3NDXB4.js";
|
|
49
|
+
import "./chunk-24YKXKCG.js";
|
|
49
50
|
import "./chunk-R5FAEKXQ.js";
|
|
50
51
|
import "./chunk-CQGTEGKL.js";
|
|
51
52
|
import "./chunk-YLJ4XMA6.js";
|
|
@@ -53,4 +54,4 @@ export {
|
|
|
53
54
|
createWebSocketServer,
|
|
54
55
|
signalMcpReady
|
|
55
56
|
};
|
|
56
|
-
//# sourceMappingURL=server-
|
|
57
|
+
//# sourceMappingURL=server-3UVLECD5.js.map
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import {
|
|
2
|
+
cliT
|
|
3
|
+
} from "./chunk-2OMGR7LN.js";
|
|
4
|
+
import "./chunk-24YKXKCG.js";
|
|
5
|
+
import "./chunk-CQGTEGKL.js";
|
|
1
6
|
import "./chunk-YLJ4XMA6.js";
|
|
2
7
|
|
|
3
8
|
// src/cli/service.ts
|
|
@@ -120,7 +125,7 @@ exec "$openfox_bin" "$@"
|
|
|
120
125
|
`;
|
|
121
126
|
await writeFile(scriptPath, scriptContent, { encoding: "utf-8" });
|
|
122
127
|
await exec("chmod", ["+x", scriptPath]);
|
|
123
|
-
console.log(`Created: ${scriptPath}`);
|
|
128
|
+
console.log(cliT({ en: `Created: ${scriptPath}`, fr: `Cr\xE9\xE9 : ${scriptPath}` }));
|
|
124
129
|
}
|
|
125
130
|
async function createSystemdService(headless) {
|
|
126
131
|
const serviceDir = expandPath("~/.config/systemd/user");
|
|
@@ -144,11 +149,16 @@ Environment=OPENFOX_SERVICE=true
|
|
|
144
149
|
WantedBy=${target}
|
|
145
150
|
`;
|
|
146
151
|
await writeFile(servicePath, serviceContent, "utf-8");
|
|
147
|
-
console.log(`Created: ${servicePath}`);
|
|
152
|
+
console.log(cliT({ en: `Created: ${servicePath}`, fr: `Cr\xE9\xE9 : ${servicePath}` }));
|
|
148
153
|
}
|
|
149
154
|
async function runServiceCommand(_mode, subcommand, ...args) {
|
|
150
155
|
if (process.platform === "win32") {
|
|
151
|
-
console.log(
|
|
156
|
+
console.log(
|
|
157
|
+
cliT({
|
|
158
|
+
en: "openfox service is not supported on Windows (it relies on systemd). Run `openfox` directly instead.",
|
|
159
|
+
fr: "openfox service n\u2019est pas pris en charge sur Windows (il repose sur systemd). Lancez `openfox` directement \xE0 la place."
|
|
160
|
+
})
|
|
161
|
+
);
|
|
152
162
|
process.exitCode = 1;
|
|
153
163
|
return;
|
|
154
164
|
}
|
|
@@ -162,7 +172,12 @@ async function runServiceCommand(_mode, subcommand, ...args) {
|
|
|
162
172
|
case "install": {
|
|
163
173
|
let headlessOverride;
|
|
164
174
|
if (headlessFlag && desktopFlag) {
|
|
165
|
-
console.error(
|
|
175
|
+
console.error(
|
|
176
|
+
cliT({
|
|
177
|
+
en: "Cannot use both --headless and --desktop",
|
|
178
|
+
fr: "Impossible d\u2019utiliser \xE0 la fois --headless et --desktop"
|
|
179
|
+
})
|
|
180
|
+
);
|
|
166
181
|
process.exit(1);
|
|
167
182
|
} else if (headlessFlag) {
|
|
168
183
|
headlessOverride = true;
|
|
@@ -191,13 +206,15 @@ async function runServiceCommand(_mode, subcommand, ...args) {
|
|
|
191
206
|
await serviceUninstall();
|
|
192
207
|
break;
|
|
193
208
|
default:
|
|
194
|
-
console.error(`Unknown subcommand: ${subcommand}`);
|
|
209
|
+
console.error(cliT({ en: `Unknown subcommand: ${subcommand}`, fr: `Sous-commande inconnue : ${subcommand}` }));
|
|
195
210
|
printServiceHelp();
|
|
196
211
|
process.exit(1);
|
|
197
212
|
}
|
|
198
213
|
}
|
|
199
214
|
function printServiceHelp() {
|
|
200
|
-
console.log(
|
|
215
|
+
console.log(
|
|
216
|
+
cliT({
|
|
217
|
+
en: `
|
|
201
218
|
OpenFox Service Management
|
|
202
219
|
|
|
203
220
|
Usage:
|
|
@@ -213,24 +230,65 @@ Commands:
|
|
|
213
230
|
status Show service status
|
|
214
231
|
logs [-f] Show recent service logs (use -f or --follow to tail)
|
|
215
232
|
uninstall Disable and remove the service files
|
|
216
|
-
|
|
233
|
+
`,
|
|
234
|
+
fr: `
|
|
235
|
+
Gestion du service OpenFox
|
|
236
|
+
|
|
237
|
+
Utilisation :
|
|
238
|
+
openfox service <commande>
|
|
239
|
+
|
|
240
|
+
Commandes :
|
|
241
|
+
install Installer et activer le service systemd
|
|
242
|
+
Utiliser --headless pour les serveurs sans affichage / CLI uniquement
|
|
243
|
+
Utiliser --desktop pour forcer le mode bureau (d\xE9faut quand un affichage est d\xE9tect\xE9)
|
|
244
|
+
start D\xE9marrer le service (s\u2019il est install\xE9)
|
|
245
|
+
stop Arr\xEAter le service (s\u2019il est install\xE9)
|
|
246
|
+
restart Red\xE9marrer le service (s\u2019il est install\xE9)
|
|
247
|
+
status Afficher l\u2019\xE9tat du service
|
|
248
|
+
logs [-f] Afficher les journaux r\xE9cents du service (utiliser -f ou --follow pour suivre)
|
|
249
|
+
uninstall D\xE9sactiver et supprimer les fichiers du service
|
|
250
|
+
`
|
|
251
|
+
})
|
|
252
|
+
);
|
|
217
253
|
}
|
|
218
254
|
async function serviceInstall(headlessOverride) {
|
|
219
255
|
const headless = headlessOverride ?? await detectHeadless();
|
|
220
256
|
if (headless) {
|
|
221
|
-
console.log(
|
|
257
|
+
console.log(
|
|
258
|
+
cliT({
|
|
259
|
+
en: "Installing OpenFox service (headless mode)...\n",
|
|
260
|
+
fr: "Installation du service OpenFox (mode sans affichage)...\n"
|
|
261
|
+
})
|
|
262
|
+
);
|
|
222
263
|
} else {
|
|
223
|
-
console.log(
|
|
224
|
-
|
|
264
|
+
console.log(
|
|
265
|
+
cliT({
|
|
266
|
+
en: "Installing OpenFox service (desktop mode)...\n",
|
|
267
|
+
fr: "Installation du service OpenFox (mode bureau)...\n"
|
|
268
|
+
})
|
|
269
|
+
);
|
|
270
|
+
console.log(
|
|
271
|
+
cliT({
|
|
272
|
+
en: " Tip: Use --headless for headless/CLI-only servers",
|
|
273
|
+
fr: " Astuce : utilisez --headless pour les serveurs sans affichage / CLI uniquement"
|
|
274
|
+
})
|
|
275
|
+
);
|
|
225
276
|
}
|
|
226
277
|
const installed = await pathExists(SERVICE_PATH);
|
|
227
278
|
if (installed) {
|
|
228
279
|
const { success } = systemctl(["is-active", SERVICE_NAME], true);
|
|
229
280
|
if (success) {
|
|
230
|
-
console.log(
|
|
281
|
+
console.log(
|
|
282
|
+
cliT({
|
|
283
|
+
en: "Service is already installed and running.",
|
|
284
|
+
fr: "Le service est d\xE9j\xE0 install\xE9 et en cours d\u2019ex\xE9cution."
|
|
285
|
+
})
|
|
286
|
+
);
|
|
231
287
|
return;
|
|
232
288
|
}
|
|
233
|
-
console.log(
|
|
289
|
+
console.log(
|
|
290
|
+
cliT({ en: "Service files exist. Reinstalling...", fr: "Les fichiers du service existent. R\xE9installation..." })
|
|
291
|
+
);
|
|
234
292
|
await serviceUninstall();
|
|
235
293
|
}
|
|
236
294
|
await createWrapperScript(headless);
|
|
@@ -238,64 +296,69 @@ async function serviceInstall(headlessOverride) {
|
|
|
238
296
|
systemctl(["daemon-reload"]);
|
|
239
297
|
systemctl(["enable", SERVICE_NAME]);
|
|
240
298
|
systemctl(["start", SERVICE_NAME]);
|
|
241
|
-
console.log("\n\u2713 Service installed and started");
|
|
299
|
+
console.log(cliT({ en: "\n\u2713 Service installed and started", fr: "\n\u2713 Service install\xE9 et d\xE9marr\xE9" }));
|
|
242
300
|
}
|
|
243
301
|
async function serviceStart() {
|
|
244
302
|
const installed = await pathExists(SERVICE_PATH);
|
|
245
303
|
if (!installed) {
|
|
246
|
-
console.log(
|
|
304
|
+
console.log(
|
|
305
|
+
cliT({
|
|
306
|
+
en: 'Service not installed. Run "openfox service install" first.',
|
|
307
|
+
fr: "Service non install\xE9. Lancez d\u2019abord \xAB openfox service install \xBB."
|
|
308
|
+
})
|
|
309
|
+
);
|
|
247
310
|
return;
|
|
248
311
|
}
|
|
249
312
|
const { success } = systemctl(["is-active", SERVICE_NAME], true);
|
|
250
313
|
if (success) {
|
|
251
|
-
console.log("Service is already running.");
|
|
314
|
+
console.log(cliT({ en: "Service is already running.", fr: "Le service est d\xE9j\xE0 en cours d\u2019ex\xE9cution." }));
|
|
252
315
|
return;
|
|
253
316
|
}
|
|
254
317
|
systemctl(["start", SERVICE_NAME]);
|
|
255
|
-
console.log("\u2713 Service started");
|
|
318
|
+
console.log(cliT({ en: "\u2713 Service started", fr: "\u2713 Service d\xE9marr\xE9" }));
|
|
256
319
|
}
|
|
257
320
|
async function serviceStop() {
|
|
258
321
|
const installed = await pathExists(SERVICE_PATH);
|
|
259
322
|
if (!installed) {
|
|
260
|
-
console.log("Service not installed.");
|
|
323
|
+
console.log(cliT({ en: "Service not installed.", fr: "Service non install\xE9." }));
|
|
261
324
|
return;
|
|
262
325
|
}
|
|
263
326
|
const { success } = systemctl(["is-active", SERVICE_NAME], true);
|
|
264
327
|
if (!success) {
|
|
265
|
-
console.log("Service is not running.");
|
|
328
|
+
console.log(cliT({ en: "Service is not running.", fr: "Le service n\u2019est pas en cours d\u2019ex\xE9cution." }));
|
|
266
329
|
return;
|
|
267
330
|
}
|
|
268
331
|
const { success: stopped } = systemctl(["stop", SERVICE_NAME]);
|
|
269
332
|
if (stopped) {
|
|
270
|
-
console.log("\u2713 Service stopped");
|
|
333
|
+
console.log(cliT({ en: "\u2713 Service stopped", fr: "\u2713 Service arr\xEAt\xE9" }));
|
|
271
334
|
} else {
|
|
272
|
-
console.error("\u2717 Failed to stop service");
|
|
335
|
+
console.error(cliT({ en: "\u2717 Failed to stop service", fr: "\u2717 \xC9chec de l\u2019arr\xEAt du service" }));
|
|
273
336
|
process.exit(1);
|
|
274
337
|
}
|
|
275
338
|
}
|
|
276
339
|
async function serviceRestart() {
|
|
277
340
|
const installed = await pathExists(SERVICE_PATH);
|
|
278
341
|
if (!installed) {
|
|
279
|
-
console.log("Service not installed.");
|
|
342
|
+
console.log(cliT({ en: "Service not installed.", fr: "Service non install\xE9." }));
|
|
280
343
|
return;
|
|
281
344
|
}
|
|
282
345
|
systemctl(["restart", SERVICE_NAME]);
|
|
283
|
-
console.log("\u2713 Service restarted");
|
|
346
|
+
console.log(cliT({ en: "\u2713 Service restarted", fr: "\u2713 Service red\xE9marr\xE9" }));
|
|
284
347
|
}
|
|
285
348
|
async function serviceStatus() {
|
|
286
349
|
const installed = await pathExists(SERVICE_PATH);
|
|
287
350
|
if (!installed) {
|
|
288
|
-
console.log("Service: not installed");
|
|
351
|
+
console.log(cliT({ en: "Service: not installed", fr: "Service : non install\xE9" }));
|
|
289
352
|
return;
|
|
290
353
|
}
|
|
291
|
-
console.log("Service: installed");
|
|
354
|
+
console.log(cliT({ en: "Service: installed", fr: "Service : install\xE9" }));
|
|
292
355
|
systemctl(["is-active", SERVICE_NAME], false);
|
|
293
356
|
systemctl(["is-enabled", SERVICE_NAME], false);
|
|
294
357
|
}
|
|
295
358
|
async function serviceLogs(args) {
|
|
296
359
|
const installed = await pathExists(SERVICE_PATH);
|
|
297
360
|
if (!installed) {
|
|
298
|
-
console.log("Service not installed.");
|
|
361
|
+
console.log(cliT({ en: "Service not installed.", fr: "Service non install\xE9." }));
|
|
299
362
|
return;
|
|
300
363
|
}
|
|
301
364
|
const follow = args.includes("-f") || args.includes("--follow");
|
|
@@ -306,14 +369,14 @@ async function serviceLogs(args) {
|
|
|
306
369
|
encoding: "utf-8",
|
|
307
370
|
windowsHide: true
|
|
308
371
|
});
|
|
309
|
-
console.log(result.stdout || result.stderr || "No logs");
|
|
372
|
+
console.log(result.stdout || result.stderr || cliT({ en: "No logs", fr: "Aucun journal" }));
|
|
310
373
|
}
|
|
311
374
|
}
|
|
312
375
|
async function serviceUninstall() {
|
|
313
|
-
console.log("Uninstalling OpenFox service...\n");
|
|
376
|
+
console.log(cliT({ en: "Uninstalling OpenFox service...\n", fr: "D\xE9sinstallation du service OpenFox...\n" }));
|
|
314
377
|
const installed = await pathExists(SERVICE_PATH);
|
|
315
378
|
if (!installed) {
|
|
316
|
-
console.log("Service not installed.");
|
|
379
|
+
console.log(cliT({ en: "Service not installed.", fr: "Service non install\xE9." }));
|
|
317
380
|
return;
|
|
318
381
|
}
|
|
319
382
|
const { success } = systemctl(["is-active", SERVICE_NAME], true);
|
|
@@ -323,19 +386,21 @@ async function serviceUninstall() {
|
|
|
323
386
|
systemctl(["disable", SERVICE_NAME]);
|
|
324
387
|
try {
|
|
325
388
|
await rm(expandPath(SERVICE_PATH));
|
|
326
|
-
console.log(`Removed: ${expandPath(SERVICE_PATH)}`);
|
|
389
|
+
console.log(cliT({ en: `Removed: ${expandPath(SERVICE_PATH)}`, fr: `Supprim\xE9 : ${expandPath(SERVICE_PATH)}` }));
|
|
327
390
|
} catch {
|
|
328
391
|
}
|
|
329
392
|
try {
|
|
330
393
|
await rm(expandPath(RUN_SCRIPT_PATH));
|
|
331
|
-
console.log(
|
|
394
|
+
console.log(
|
|
395
|
+
cliT({ en: `Removed: ${expandPath(RUN_SCRIPT_PATH)}`, fr: `Supprim\xE9 : ${expandPath(RUN_SCRIPT_PATH)}` })
|
|
396
|
+
);
|
|
332
397
|
} catch {
|
|
333
398
|
}
|
|
334
399
|
systemctl(["daemon-reload"]);
|
|
335
|
-
console.log("\n\u2713 Service uninstalled");
|
|
400
|
+
console.log(cliT({ en: "\n\u2713 Service uninstalled", fr: "\n\u2713 Service d\xE9sinstall\xE9" }));
|
|
336
401
|
}
|
|
337
402
|
export {
|
|
338
403
|
detectHeadless,
|
|
339
404
|
runServiceCommand
|
|
340
405
|
};
|
|
341
|
-
//# sourceMappingURL=service-
|
|
406
|
+
//# sourceMappingURL=service-M77VWL2M.js.map
|
|
@@ -2,26 +2,27 @@ import {
|
|
|
2
2
|
createTasksService,
|
|
3
3
|
isTaskConflictError,
|
|
4
4
|
isTaskGateError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OZWHRBDY.js";
|
|
6
6
|
import "./chunk-OSXPQSLW.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-5UQ4CKOA.js";
|
|
8
8
|
import "./chunk-OA2FURC3.js";
|
|
9
9
|
import "./chunk-J2GP3J3X.js";
|
|
10
10
|
import "./chunk-DPFET73G.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-ZMK4VX7V.js";
|
|
12
12
|
import "./chunk-TS5WKTFB.js";
|
|
13
13
|
import "./chunk-UV6IH6HK.js";
|
|
14
14
|
import "./chunk-HNCM3D7Y.js";
|
|
15
15
|
import "./chunk-EUOWCVU6.js";
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-J3NMNYGM.js";
|
|
17
|
+
import "./chunk-CTWZPN7G.js";
|
|
18
18
|
import "./chunk-JU757HVI.js";
|
|
19
19
|
import "./chunk-2AI7VYPN.js";
|
|
20
20
|
import "./chunk-K44MW7JJ.js";
|
|
21
|
+
import "./chunk-24YKXKCG.js";
|
|
21
22
|
import "./chunk-YLJ4XMA6.js";
|
|
22
23
|
export {
|
|
23
24
|
createTasksService,
|
|
24
25
|
isTaskConflictError,
|
|
25
26
|
isTaskGateError
|
|
26
27
|
};
|
|
27
|
-
//# sourceMappingURL=service-
|
|
28
|
+
//# sourceMappingURL=service-XIUNS5XV.js.map
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
getAllSessionOverrides,
|
|
4
4
|
getSessionDisabledServers,
|
|
5
5
|
setSessionDisabledServers
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-QDARWVQ2.js";
|
|
7
|
+
import "./chunk-ZTBKMVV6.js";
|
|
8
|
+
import "./chunk-ORCQ3EXQ.js";
|
|
9
9
|
import "./chunk-OSXPQSLW.js";
|
|
10
10
|
import "./chunk-DPFET73G.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-CTWZPN7G.js";
|
|
12
12
|
import "./chunk-JU757HVI.js";
|
|
13
13
|
import "./chunk-K44MW7JJ.js";
|
|
14
14
|
import "./chunk-CQGTEGKL.js";
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
getSessionDisabledServers,
|
|
20
20
|
setSessionDisabledServers
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=session-overrides-
|
|
22
|
+
//# sourceMappingURL=session-overrides-Y5B4XQPU.js.map
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
updateSessionRunning,
|
|
28
28
|
updateSessionWorkdir,
|
|
29
29
|
updateWorkflowExecutionStatus
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
30
|
+
} from "./chunk-ZTBKMVV6.js";
|
|
31
|
+
import "./chunk-ORCQ3EXQ.js";
|
|
32
32
|
import "./chunk-OSXPQSLW.js";
|
|
33
33
|
import "./chunk-DPFET73G.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-CTWZPN7G.js";
|
|
35
35
|
import "./chunk-JU757HVI.js";
|
|
36
36
|
import "./chunk-K44MW7JJ.js";
|
|
37
37
|
import "./chunk-CQGTEGKL.js";
|
|
@@ -66,4 +66,4 @@ export {
|
|
|
66
66
|
updateSessionWorkdir,
|
|
67
67
|
updateWorkflowExecutionStatus
|
|
68
68
|
};
|
|
69
|
-
//# sourceMappingURL=sessions-
|
|
69
|
+
//# sourceMappingURL=sessions-IGINPPBP.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
getMaxVisibleItems,
|
|
7
7
|
getSetting,
|
|
8
8
|
setSetting
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CTWZPN7G.js";
|
|
10
10
|
import "./chunk-JU757HVI.js";
|
|
11
11
|
import "./chunk-K44MW7JJ.js";
|
|
12
12
|
import "./chunk-YLJ4XMA6.js";
|
|
@@ -19,4 +19,4 @@ export {
|
|
|
19
19
|
getSetting,
|
|
20
20
|
setSetting
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=settings-
|
|
22
|
+
//# sourceMappingURL=settings-ZJPM6PQV.js.map
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { A as Attachment,
|
|
3
|
-
export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionRunningPayload, ag as SessionStatePayload, ah as TaskCompletedPayload, ai as TasksUpdatePayload, aj as WorkflowWaitingPayload, ak as createClientMessage, al as createServerMessage, am as isClientMessage, an as isServerMessage } from '../protocol-
|
|
1
|
+
import { c as Message, o as SessionStats } from '../types-G10ho8PT.js';
|
|
2
|
+
export { A as Attachment, p as CallStatsDataPoint, q as Config, C as ContextState, r as ContextWindow, f as Criterion, s as CriterionAttempt, t as CriterionStatus, u as CriterionValidation, v as DangerLevel, D as Diagnostic, E as EditContextEdit, w as EditContextLine, x as EditContextRegion, y as ElementData, z as ExecutionState, F as FileReadEntry, I as InjectedFile, L as LLMCallStats, B as LlmBackend, G as MessageRole, H as MessageSegment, d as MessageStats, g as MetadataEntry, M as ModelConfig, J as ModelSessionStats, K as PreparingToolCall, P as Project, k as ProjectTask, m as ProjectTaskCounts, l as ProjectTaskSettings, N as Provider, O as ProviderBackend, R as RecentUserPrompt, j as Session, Q as SessionMetadata, S as SessionMode, h as SessionPhase, i as SessionSummary, U as StatsDataPoint, V as StatsIdentity, X as TaskActor, Y as TaskAuditEntry, n as TaskGateConfig, Z as TaskGateValue, _ as TaskRunState, $ as TaskStatus, e as Todo, T as ToolCall, a as ToolMode, a0 as ToolName, b as ToolResult, a1 as UserStepChoice, a2 as ValidationResult, W as WorkflowExecution, a3 as WorkflowExecutionStatus, a4 as WorkflowLaunchScope, a5 as WorkflowParameter, a6 as WorkflowScope } from '../types-G10ho8PT.js';
|
|
3
|
+
export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as BackgroundProcess, c as BackgroundProcessExitedPayload, d as BackgroundProcessOutputPayload, e as BackgroundProcessRemovedPayload, f as BackgroundProcessStartedPayload, g as BackgroundProcessStatus, C as ChatAskUserPayload, h as ChatDeltaPayload, i as ChatDonePayload, j as ChatErrorPayload, k as ChatFormatRetryPayload, l as ChatLLMRetryFailedPayload, m as ChatLLMRetryNowPayload, n as ChatLLMRetryPayload, o as ChatMessagePayload, p as ChatMessageUpdatedPayload, q as ChatPathConfirmationPayload, r as ChatProgressPayload, s as ChatRetryPayload, t as ChatStatsPayload, u as ChatThinkingPayload, v as ChatTodoPayload, w as ChatToolCallPayload, x as ChatToolOutputPayload, y as ChatToolPreparingPayload, z as ChatToolResultPayload, D as ChatVisionFallbackPayload, E as ChoiceOption, F as ClientMessage, G as ClientMessageType, H as ContextCompactionEvent, I as ContextPreviewPayload, J as ContextStatePayload, K as CriteriaUpdatedPayload, L as DevServerOutputPayload, M as DevServerStatePayload, N as DiffLine, O as ErrorPayload, P as GitDiffFile, Q as GitStatusPayload, R as LogLine, S as LspDiagnosticsPayload, T as MetadataUpdatedPayload, U as ModeChangedPayload, V as PathConfirmPayload, W as PathConfirmationReason, X as PendingPathConfirmationPayload, Y as PendingQuestionPayload, Z as PhaseChangedPayload, _ as ProjectDeletedPayload, $ as ProjectListPayload, a0 as ProjectStatePayload, a1 as ProviderChangedPayload, a2 as QueueAddedEvent, a3 as QueueCancelledEvent, a4 as QueueDrainedEvent, a5 as QueueEvent, a6 as QueueEventType, a7 as QueueStatePayload, a8 as QueuedMessage, a9 as ServerMessage, aa as ServerMessageType, ab as SessionCreatedPayload, ac as SessionListPayload, ad as SessionLoadPayload, ae as SessionNameGeneratedPayload, af as SessionRunningPayload, ag as SessionStatePayload, ah as TaskCompletedPayload, ai as TasksUpdatePayload, aj as WorkflowWaitingPayload, ak as createClientMessage, al as createServerMessage, am as isClientMessage, an as isServerMessage } from '../protocol-Nr_H1_oC.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Session stats computation - aggregates response-level MessageStats from
|
|
@@ -18,4 +18,31 @@ export { A as AgentEvent, a as AskAnswerPayload, b as AskUserEvent, B as Backgro
|
|
|
18
18
|
*/
|
|
19
19
|
declare function computeSessionStats(messages: Message[]): SessionStats | null;
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
declare const locales: readonly ["en", "fr"];
|
|
22
|
+
type Locale = (typeof locales)[number];
|
|
23
|
+
declare const pluralForms: readonly ["one", "other"];
|
|
24
|
+
type PluralForm = (typeof pluralForms)[number];
|
|
25
|
+
type Translation = {
|
|
26
|
+
[L in Locale]: string | Record<PluralForm, string>;
|
|
27
|
+
};
|
|
28
|
+
declare function getLocale(): Locale;
|
|
29
|
+
declare function setLocale(locale: Locale): void;
|
|
30
|
+
/**
|
|
31
|
+
* Replace `{{name}}` placeholders with the matching variable. Unknown
|
|
32
|
+
* placeholders are left untouched so a missing variable can never silently
|
|
33
|
+
* hide a broken translation.
|
|
34
|
+
*/
|
|
35
|
+
declare function interpolate(msg: string, vars: Record<string, string | number>): string;
|
|
36
|
+
/**
|
|
37
|
+
* Resolve a translation for the active locale.
|
|
38
|
+
*
|
|
39
|
+
* - string entries are interpolated as-is
|
|
40
|
+
* - plural entries pick the category via `Intl.PluralRules` for the active
|
|
41
|
+
* locale, using `vars.count` (defaults to 1)
|
|
42
|
+
*
|
|
43
|
+
* Both locales are mandatory at the type level, so there is deliberately no
|
|
44
|
+
* fallback: a missing `fr` entry is a compile error, never a runtime gap.
|
|
45
|
+
*/
|
|
46
|
+
declare function t(tx: Translation, vars?: Record<string, string | number>): string;
|
|
47
|
+
|
|
48
|
+
export { type Locale, Message, type PluralForm, SessionStats, type Translation, computeSessionStats, getLocale, interpolate, locales, pluralForms, setLocale, t };
|
package/dist/shared/index.js
CHANGED
|
@@ -6,13 +6,27 @@ import {
|
|
|
6
6
|
createServerMessage,
|
|
7
7
|
isClientMessage,
|
|
8
8
|
isServerMessage
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-HF3NDXB4.js";
|
|
10
|
+
import {
|
|
11
|
+
getLocale,
|
|
12
|
+
interpolate,
|
|
13
|
+
locales,
|
|
14
|
+
pluralForms,
|
|
15
|
+
setLocale,
|
|
16
|
+
t
|
|
17
|
+
} from "../chunk-24YKXKCG.js";
|
|
10
18
|
import "../chunk-YLJ4XMA6.js";
|
|
11
19
|
export {
|
|
12
20
|
computeSessionStats,
|
|
13
21
|
createClientMessage,
|
|
14
22
|
createServerMessage,
|
|
23
|
+
getLocale,
|
|
24
|
+
interpolate,
|
|
15
25
|
isClientMessage,
|
|
16
|
-
isServerMessage
|
|
26
|
+
isServerMessage,
|
|
27
|
+
locales,
|
|
28
|
+
pluralForms,
|
|
29
|
+
setLocale,
|
|
30
|
+
t
|
|
17
31
|
};
|
|
18
32
|
//# sourceMappingURL=index.js.map
|