@wirecat/mail-cli 0.2.0 → 0.4.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/CHANGELOG.md +23 -0
- package/README.md +10 -7
- package/dist/bin/mail.js +2 -2
- package/dist/bundle/{all-profiles-7WILOT5E.js → all-profiles-55XPXQHY.js} +5 -5
- package/dist/bundle/{anthropic-NHWLIMEZ.js → anthropic-K5B6I4LB.js} +3 -3
- package/dist/bundle/{app-server-XDMYCJLV.js → app-server-VWWLQLTZ.js} +39 -39
- package/dist/bundle/{bun-GTG5IYLQ.js → bun-EO7AI6YP.js} +2 -2
- package/dist/bundle/{bun-sqlite-KGH5F33G.js → bun-sqlite-F24A4IOP.js} +2 -2
- package/dist/bundle/{chunk-DDMJ3RVO.js → chunk-2ADB5DSG.js} +2 -2
- package/dist/bundle/{chunk-76IKLP2M.js → chunk-2LP46EUH.js} +96 -91
- package/dist/bundle/{chunk-EKE3R36Y.js → chunk-2NZGUKYK.js} +6 -6
- package/dist/bundle/{chunk-SVNTRF5O.js → chunk-4KLJN3LK.js} +11 -11
- package/dist/bundle/{chunk-7REG25RM.js → chunk-5RUTHKXZ.js} +3 -3
- package/dist/bundle/{chunk-WJ3LUWRN.js → chunk-6BNMEOVS.js} +3 -3
- package/dist/bundle/{chunk-S2GSU4MT.js → chunk-6BR6JMCR.js} +9 -9
- package/dist/bundle/{chunk-5FLW25US.js → chunk-7IYDIU4P.js} +5 -5
- package/dist/bundle/{chunk-D7UZXUSB.js → chunk-7QQ4EMYF.js} +2 -2
- package/dist/bundle/{chunk-UZR3IKS7.js → chunk-7X64JS6S.js} +1 -1
- package/dist/bundle/{chunk-Z6F7EXT2.js → chunk-ANRI6EZY.js} +7 -7
- package/dist/bundle/{chunk-YQAUH3PN.js → chunk-BHKI5OCD.js} +1 -1
- package/dist/bundle/{chunk-H66ZMBDD.js → chunk-CADRRSQK.js} +1 -1
- package/dist/bundle/{chunk-BKZEYTLU.js → chunk-CCNHVZ3G.js} +412 -324
- package/dist/bundle/{chunk-AJIT2T3F.js → chunk-CSI73XJ5.js} +6 -6
- package/dist/bundle/{chunk-7LKJDJNS.js → chunk-EDKV6D6T.js} +1 -1
- package/dist/bundle/{chunk-Y6KUKIQZ.js → chunk-EOEYP7CJ.js} +2 -2
- package/dist/bundle/{chunk-H5BW7454.js → chunk-F6JTOQIK.js} +5 -4
- package/dist/bundle/{chunk-6HIW7IJL.js → chunk-F7KAJNNK.js} +4 -4
- package/dist/bundle/{chunk-ETPT7TPW.js → chunk-FFKNUVVD.js} +1 -1
- package/dist/bundle/{chunk-QUGFBY7O.js → chunk-H7K2DN3R.js} +7 -7
- package/dist/bundle/{chunk-VBLFQJY3.js → chunk-HJEMHZRU.js} +1 -1
- package/dist/bundle/{chunk-R5JD4GMA.js → chunk-HORM6VRV.js} +1 -1
- package/dist/bundle/{chunk-GQKYSGIA.js → chunk-HUB42T2Z.js} +46 -46
- package/dist/bundle/{chunk-QJHCKFFC.js → chunk-ID24SLH3.js} +16 -16
- package/dist/bundle/{chunk-BUOSCMCD.js → chunk-IIO6NXCA.js} +2 -2
- package/dist/bundle/{chunk-AROBJF5P.js → chunk-JKHI3PH7.js} +1 -1
- package/dist/bundle/{chunk-THVLMTH7.js → chunk-JZFIHVRB.js} +26 -26
- package/dist/bundle/{chunk-VWO3XXSF.js → chunk-LKDK5YMI.js} +1 -1
- package/dist/bundle/{chunk-MDVXIPA3.js → chunk-M4NTQ247.js} +10 -10
- package/dist/bundle/{chunk-H7NUGJPV.js → chunk-MGBGE2Y4.js} +2 -2
- package/dist/bundle/{chunk-Y5WA7AOA.js → chunk-NL5LNYGX.js} +21 -21
- package/dist/bundle/{chunk-GPAAQ6LY.js → chunk-OM4ZBLT7.js} +13 -13
- package/dist/bundle/{chunk-QUSZWBZF.js → chunk-ORYYYM5Y.js} +32 -22
- package/dist/bundle/{chunk-VRQRBVKT.js → chunk-QYWDC7NP.js} +43 -43
- package/dist/bundle/{chunk-4I3YT5KK.js → chunk-RLSGMMGC.js} +4 -4
- package/dist/bundle/{chunk-77VHMI3A.js → chunk-SWRNMYDL.js} +1 -1
- package/dist/bundle/{chunk-BPF7IXJT.js → chunk-SY3SP7EI.js} +5 -5
- package/dist/bundle/{chunk-TMVIQJCG.js → chunk-UJYCKCFR.js} +2 -2
- package/dist/bundle/{chunk-HJRUFT5Y.js → chunk-UO7X2VW4.js} +5 -5
- package/dist/bundle/{chunk-5JOKRFWE.js → chunk-UZDHK26H.js} +1 -1
- package/dist/bundle/{chunk-ZKH5CHGI.js → chunk-VP5GCMHM.js} +5 -5
- package/dist/bundle/{chunk-2X4WYZPA.js → chunk-VWHRIGYJ.js} +2 -2
- package/dist/bundle/{chunk-7QEE5I7H.js → chunk-VWXCEEUH.js} +2 -2
- package/dist/bundle/{chunk-CT7NG7BI.js → chunk-WFBTPZK3.js} +3 -3
- package/dist/bundle/{chunk-STC45HZX.js → chunk-X7AXH2IC.js} +196 -196
- package/dist/bundle/{chunk-MABCR67K.js → chunk-XJ5TBPCK.js} +2 -2
- package/dist/bundle/{chunk-H7XOHNRY.js → chunk-YSSMDVT3.js} +1 -1
- package/dist/bundle/{chunk-ZNYJG4AY.js → chunk-YYTWV5GU.js} +42 -42
- package/dist/bundle/{chunk-QLYHLW54.js → chunk-ZAR67WKR.js} +5 -5
- package/dist/bundle/{command-contract-Y42ULKE5.js → command-contract-L65UZ7AF.js} +13 -13
- package/dist/bundle/{decode-L4X542L3.js → decode-ON4KBMEX.js} +2 -2
- package/dist/bundle/{dist-WKIRHOLK.js → dist-FMN7UZ7R.js} +14 -14
- package/dist/bundle/{echarts-G6QLXR4X.js → echarts-XPA226QR.js} +2 -2
- package/dist/bundle/{embed-E33ZBHQR.js → embed-QERDAB73.js} +3 -3
- package/dist/bundle/{embedder-EMBCIVGF.js → embedder-I76YT3E5.js} +6 -6
- package/dist/bundle/{first-run-WF2HF5FI.js → first-run-KZJFR55N.js} +5 -5
- package/dist/bundle/{first-screen-DZFOUUZC.js → first-screen-EORANEAK.js} +14 -14
- package/dist/bundle/{instructions-DUH7265J.js → instructions-NN3BCFIM.js} +1 -1
- package/dist/bundle/mail.js +2 -2
- package/dist/bundle/{node-73PKCCE7.js → node-2S75QJ6B.js} +2 -2
- package/dist/bundle/{node-sqlite-FDD5N6GC.js → node-sqlite-RC7WM3EG.js} +2 -2
- package/dist/bundle/{oauth-ND3K2F7B.js → oauth-FUHLZCKV.js} +4 -4
- package/dist/bundle/{open-FZYY6TKE.js → open-JOKT7LKY.js} +1 -1
- package/dist/bundle/{openai-BXOF6XIM.js → openai-U3IMQ6UI.js} +10 -10
- package/dist/bundle/{process-TXIK4VJP.js → process-LKODK722.js} +1 -1
- package/dist/bundle/{program-2SUR4WOS.js → program-RMLIQXCA.js} +944 -613
- package/dist/bundle/{prompt-I5GCP73M.js → prompt-23VYMNNB.js} +2 -2
- package/dist/bundle/{recognize-ILYEKXVB.js → recognize-TXO3462R.js} +1 -1
- package/dist/bundle/{remote-SSPZEAJ7.js → remote-5F4ZOASM.js} +4 -4
- package/dist/bundle/{rerank-NAO5RMGB.js → rerank-TXSDPEFE.js} +4 -4
- package/dist/bundle/{serve-UDXIEQKC.js → serve-TWYECYWM.js} +6 -6
- package/dist/bundle/server-2GEAXKX2.js +63 -0
- package/dist/bundle/{server-KTPELKAN.js → server-3S3BKE6D.js} +31 -31
- package/dist/bundle/{sqlite-runtime-AONFLND6.js → sqlite-runtime-BEOBGC6K.js} +2 -2
- package/dist/bundle/{state-I4PLX3UB.js → state-ERWIUTQQ.js} +3 -3
- package/dist/bundle/{store-ZPPRXGPY.js → store-2JO4JGQL.js} +11 -9
- package/dist/bundle/{store-OHQH3MGN.js → store-4RY5UMOP.js} +11 -11
- package/dist/bundle/store-maintenance-command-T7D4OTN7.js +52 -0
- package/dist/commands/read.d.ts +3 -0
- package/dist/commands/read.d.ts.map +1 -0
- package/dist/commands/read.js +33 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/identity.js +1 -1
- package/dist/identity.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +10 -1
- package/dist/program.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
- package/skills/mail-cli/SKILL.md +6 -2
- package/dist/bundle/server-UZFSEKNJ.js +0 -63
- package/dist/bundle/store-maintenance-command-QOYXEBT6.js +0 -52
|
@@ -7,14 +7,14 @@ 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.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/store/driver.js
|
|
11
11
|
var PRAGMAS = `
|
|
12
12
|
PRAGMA busy_timeout = 5000;
|
|
13
13
|
PRAGMA journal_mode = WAL;
|
|
14
14
|
PRAGMA foreign_keys = ON;
|
|
15
15
|
`;
|
|
16
16
|
|
|
17
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
17
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/store/sqlite-warning.js
|
|
18
18
|
var SQLITE_WARNING = "SQLite is an experimental feature";
|
|
19
19
|
var quieted = /* @__PURE__ */ new WeakSet();
|
|
20
20
|
var quietSqliteWarning = /* @__PURE__ */ __name((host = process) => {
|
|
@@ -35,7 +35,7 @@ var isSqliteWarning = /* @__PURE__ */ __name((warning, options) => {
|
|
|
35
35
|
return name === "ExperimentalWarning" && message.startsWith(SQLITE_WARNING);
|
|
36
36
|
}, "isSqliteWarning");
|
|
37
37
|
|
|
38
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
38
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/store/open.js
|
|
39
39
|
var openCache = /* @__PURE__ */ __name(async (path) => {
|
|
40
40
|
const database = await openFile(path);
|
|
41
41
|
try {
|
|
@@ -48,12 +48,12 @@ var openCache = /* @__PURE__ */ __name(async (path) => {
|
|
|
48
48
|
}, "openCache");
|
|
49
49
|
var openFile = /* @__PURE__ */ __name((path) => "Bun" in globalThis ? openUnderBun(path) : openUnderNode(path), "openFile");
|
|
50
50
|
var openUnderBun = /* @__PURE__ */ __name(async (path) => {
|
|
51
|
-
const { openWithBunSqlite } = await import("./bun-sqlite-
|
|
51
|
+
const { openWithBunSqlite } = await import("./bun-sqlite-F24A4IOP.js");
|
|
52
52
|
return await openWithBunSqlite(path);
|
|
53
53
|
}, "openUnderBun");
|
|
54
54
|
var openUnderNode = /* @__PURE__ */ __name(async (path) => {
|
|
55
55
|
quietSqliteWarning();
|
|
56
|
-
const { openWithNodeSqlite } = await import("./node-sqlite-
|
|
56
|
+
const { openWithNodeSqlite } = await import("./node-sqlite-RC7WM3EG.js");
|
|
57
57
|
return openWithNodeSqlite(path);
|
|
58
58
|
}, "openUnderNode");
|
|
59
59
|
var runtime = /* @__PURE__ */ __name(() => {
|
|
@@ -7,7 +7,7 @@ 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.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/store/path.js
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
var wirecatDirectory = /* @__PURE__ */ __name((env = process.env, platform) => resolvePaths({ appName: "WireCat", prefix: "WIRECAT", env, ...platform ? { platform } : {} }).state, "wirecatDirectory");
|
|
13
13
|
var storePath = /* @__PURE__ */ __name((env = process.env) => env.MESSAGING_STORE ?? join(wirecatDirectory(env), "wirecat.db"), "storePath");
|
|
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
|
|
|
2
2
|
const require = __bundleRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
LEVELS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-F6JTOQIK.js";
|
|
6
6
|
import {
|
|
7
7
|
resolvePaths,
|
|
8
8
|
writeSecurely
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
__name
|
|
36
36
|
} from "./chunk-ZVVMGPBJ.js";
|
|
37
37
|
|
|
38
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
38
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/resolve.js
|
|
39
39
|
var isId = /* @__PURE__ */ __name((reference) => /^-?\d+$/.test(reference.trim()), "isId");
|
|
40
40
|
var foldName = /* @__PURE__ */ __name((name) => name.normalize("NFC").replace(/[\uFE0E\uFE0F\u200D]/g, "").toLowerCase(), "foldName");
|
|
41
41
|
var pickChat = /* @__PURE__ */ __name((reference, chats) => {
|
|
@@ -73,7 +73,7 @@ ${lines}`, { candidates });
|
|
|
73
73
|
}, "ambiguous");
|
|
74
74
|
var isPresent = /* @__PURE__ */ __name((value) => value !== null && value !== void 0, "isPresent");
|
|
75
75
|
|
|
76
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
76
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/domain/formatting.js
|
|
77
77
|
var invalid = /* @__PURE__ */ __name(() => new CliError("validation_error", "the messenger formatter returned invalid text spans"), "invalid");
|
|
78
78
|
var validateFormattedText = /* @__PURE__ */ __name((formatted) => {
|
|
79
79
|
const { text, spans } = formatted;
|
|
@@ -133,7 +133,7 @@ var visibleFormattedText = /* @__PURE__ */ __name((formatted) => {
|
|
|
133
133
|
};
|
|
134
134
|
}, "visibleFormattedText");
|
|
135
135
|
|
|
136
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
136
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/moderation/check.js
|
|
137
137
|
var INVITE = /max\.ru\/join\/|(t|telegram)\.me\/(\+|joinchat\/)|tg:\/\/join/i;
|
|
138
138
|
var LINK = /https?:\/\/\S+/i;
|
|
139
139
|
var STRENGTH = { report: 0, delete: 1, remove: 2 };
|
|
@@ -321,7 +321,7 @@ var nextPoint = /* @__PURE__ */ __name((rows, found) => {
|
|
|
321
321
|
}, "nextPoint");
|
|
322
322
|
var someUndone = /* @__PURE__ */ __name((rows) => rows.some(undone), "someUndone");
|
|
323
323
|
|
|
324
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
324
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/moderation/rules.js
|
|
325
325
|
import { existsSync, readFileSync } from "node:fs";
|
|
326
326
|
import { join } from "node:path";
|
|
327
327
|
var RULE_ACTIONS = ["report", "delete", "remove"];
|
|
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
|
|
|
2
2
|
const require = __bundleRequire(import.meta.url);
|
|
3
3
|
import {
|
|
4
4
|
QUERY_REASONS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YYTWV5GU.js";
|
|
6
6
|
import {
|
|
7
7
|
defineReasons
|
|
8
8
|
} from "./chunk-LQ37ALDJ.js";
|
|
@@ -10,7 +10,7 @@ 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.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/errors/reasons.js
|
|
14
14
|
var validation = /* @__PURE__ */ __name((reason, message) => [reason, "validation_error", message], "validation");
|
|
15
15
|
var QUERY = [
|
|
16
16
|
["query.aborted", "the search was stopped before it finished"],
|
|
@@ -3,7 +3,7 @@ const require = __bundleRequire(import.meta.url);
|
|
|
3
3
|
import {
|
|
4
4
|
readSharedSection,
|
|
5
5
|
writeSharedSection
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-F7KAJNNK.js";
|
|
7
7
|
import {
|
|
8
8
|
CliError
|
|
9
9
|
} from "./chunk-5BVIWP3S.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
__name
|
|
12
12
|
} from "./chunk-ZVVMGPBJ.js";
|
|
13
13
|
|
|
14
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
14
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/cli/setup-answers.js
|
|
15
15
|
var PERMISSION_ANSWERS = ["readonly", "allow"];
|
|
16
16
|
var QUESTIONS = ["languages", "tools", "permissions"];
|
|
17
17
|
var SECTION = "setup";
|
|
@@ -2,7 +2,7 @@ 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-UZDHK26H.js";
|
|
6
6
|
import {
|
|
7
7
|
CliError
|
|
8
8
|
} from "./chunk-5BVIWP3S.js";
|
|
@@ -10,7 +10,7 @@ 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.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/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");
|
|
@@ -135,7 +135,7 @@ var speechModel = /* @__PURE__ */ __name((id) => {
|
|
|
135
135
|
return model;
|
|
136
136
|
}, "speechModel");
|
|
137
137
|
|
|
138
|
-
// node_modules/.pnpm/@wirecat+cli-core@0.
|
|
138
|
+
// node_modules/.pnpm/@wirecat+cli-core@0.520.0_@wirecat+cli-base@0.68.1_commander@15.0.0_esbuild@0.28.2_type_33ccf8bfbe17590bae2f3fc544520037/node_modules/@wirecat/cli-core/dist/speech/install.js
|
|
139
139
|
import { createHash, randomUUID } from "node:crypto";
|
|
140
140
|
import { createReadStream, createWriteStream, mkdirSync, statSync } from "node:fs";
|
|
141
141
|
import { rename, rm } from "node:fs/promises";
|