@atmaticai/agent-tools 1.0.3 → 1.1.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/dist/a2a/index.d.mts +169 -0
- package/dist/a2a/index.d.ts +169 -0
- package/dist/a2a/index.js +6012 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/index.mjs +5934 -0
- package/dist/a2a/index.mjs.map +1 -0
- package/dist/archive/index.d.mts +1 -0
- package/dist/archive/index.d.ts +1 -0
- package/dist/archive/index.js +90 -0
- package/dist/archive/index.js.map +1 -0
- package/dist/archive/index.mjs +80 -0
- package/dist/archive/index.mjs.map +1 -0
- package/dist/cli.js +4441 -164
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +4408 -161
- package/dist/cli.mjs.map +1 -1
- package/dist/color/index.d.mts +1 -0
- package/dist/color/index.d.ts +1 -0
- package/dist/color/index.js +347 -0
- package/dist/color/index.js.map +1 -0
- package/dist/color/index.mjs +336 -0
- package/dist/color/index.mjs.map +1 -0
- package/dist/crypto/index.d.mts +1 -0
- package/dist/crypto/index.d.ts +1 -0
- package/dist/crypto/index.js +116 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/index.mjs +108 -0
- package/dist/crypto/index.mjs.map +1 -0
- package/dist/csv/index.d.mts +1 -0
- package/dist/csv/index.d.ts +1 -0
- package/dist/csv/index.js +371 -0
- package/dist/csv/index.js.map +1 -0
- package/dist/csv/index.mjs +348 -0
- package/dist/csv/index.mjs.map +1 -0
- package/dist/datetime/index.d.mts +1 -0
- package/dist/datetime/index.d.ts +1 -0
- package/dist/datetime/index.js +234 -0
- package/dist/datetime/index.js.map +1 -0
- package/dist/datetime/index.mjs +224 -0
- package/dist/datetime/index.mjs.map +1 -0
- package/dist/diff/index.d.mts +2 -0
- package/dist/diff/index.d.ts +2 -0
- package/dist/diff/index.js +84 -0
- package/dist/diff/index.js.map +1 -0
- package/dist/diff/index.mjs +78 -0
- package/dist/diff/index.mjs.map +1 -0
- package/dist/excel/index.d.mts +1 -0
- package/dist/excel/index.d.ts +1 -0
- package/dist/excel/index.js +163 -0
- package/dist/excel/index.js.map +1 -0
- package/dist/excel/index.mjs +153 -0
- package/dist/excel/index.mjs.map +1 -0
- package/dist/image/index.d.mts +1 -0
- package/dist/image/index.d.ts +1 -0
- package/dist/image/index.js +123 -0
- package/dist/image/index.js.map +1 -0
- package/dist/image/index.mjs +107 -0
- package/dist/image/index.mjs.map +1 -0
- package/dist/index--vbnYfdE.d.mts +142 -0
- package/dist/index--vbnYfdE.d.ts +142 -0
- package/dist/index-7FZQloN-.d.mts +62 -0
- package/dist/index-7FZQloN-.d.ts +62 -0
- package/dist/index-7XgaTVH5.d.mts +93 -0
- package/dist/index-7XgaTVH5.d.ts +93 -0
- package/dist/index-7bvFmh45.d.mts +87 -0
- package/dist/index-7bvFmh45.d.ts +87 -0
- package/dist/index-BDZcIVCU.d.mts +53 -0
- package/dist/index-BDZcIVCU.d.ts +53 -0
- package/dist/index-BKeYao0B.d.mts +320 -0
- package/dist/index-BKeYao0B.d.ts +320 -0
- package/dist/index-BN00EnUU.d.mts +55 -0
- package/dist/index-BN00EnUU.d.ts +55 -0
- package/dist/index-BZDcrPs-.d.mts +316 -0
- package/dist/index-BZDcrPs-.d.ts +316 -0
- package/dist/index-CQ1EukC4.d.mts +59 -0
- package/dist/index-CQ1EukC4.d.ts +59 -0
- package/dist/index-CgRVnFOt.d.mts +91 -0
- package/dist/index-CgRVnFOt.d.ts +91 -0
- package/dist/index-Dh47fgVS.d.mts +216 -0
- package/dist/index-Dh47fgVS.d.ts +216 -0
- package/dist/index-DjBDZzuj.d.mts +54 -0
- package/dist/index-DjBDZzuj.d.ts +54 -0
- package/dist/index-FFrvmr-n.d.mts +50 -0
- package/dist/index-FFrvmr-n.d.ts +50 -0
- package/dist/index-QWC8yIgW.d.mts +106 -0
- package/dist/index-QWC8yIgW.d.ts +106 -0
- package/dist/index-fJD8SORm.d.mts +61 -0
- package/dist/index-fJD8SORm.d.ts +61 -0
- package/dist/index-pPy_XDQU.d.mts +56 -0
- package/dist/index-pPy_XDQU.d.ts +56 -0
- package/dist/index-rwh9hdD9.d.mts +68 -0
- package/dist/index-rwh9hdD9.d.ts +68 -0
- package/dist/index-uXdkAfea.d.mts +93 -0
- package/dist/index-uXdkAfea.d.ts +93 -0
- package/dist/index.d.mts +25 -5
- package/dist/index.d.ts +25 -5
- package/dist/index.js +5195 -147
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5145 -145
- package/dist/index.mjs.map +1 -1
- package/dist/json/index.d.mts +1 -0
- package/dist/json/index.d.ts +1 -0
- package/dist/json/index.js +599 -0
- package/dist/json/index.js.map +1 -0
- package/dist/json/index.mjs +552 -0
- package/dist/json/index.mjs.map +1 -0
- package/dist/markdown/index.d.mts +1 -0
- package/dist/markdown/index.d.ts +1 -0
- package/dist/markdown/index.js +151 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/index.mjs +139 -0
- package/dist/markdown/index.mjs.map +1 -0
- package/dist/math/index.d.mts +1 -0
- package/dist/math/index.d.ts +1 -0
- package/dist/math/index.js +247 -0
- package/dist/math/index.js.map +1 -0
- package/dist/math/index.mjs +240 -0
- package/dist/math/index.mjs.map +1 -0
- package/dist/pdf/index.d.mts +1 -0
- package/dist/pdf/index.d.ts +1 -0
- package/dist/pdf/index.js +628 -0
- package/dist/pdf/index.js.map +1 -0
- package/dist/pdf/index.mjs +598 -0
- package/dist/pdf/index.mjs.map +1 -0
- package/dist/physics/index.d.mts +1 -0
- package/dist/physics/index.d.ts +1 -0
- package/dist/physics/index.js +467 -0
- package/dist/physics/index.js.map +1 -0
- package/dist/physics/index.mjs +435 -0
- package/dist/physics/index.mjs.map +1 -0
- package/dist/regex/index.d.mts +1 -0
- package/dist/regex/index.d.ts +1 -0
- package/dist/regex/index.js +93 -0
- package/dist/regex/index.js.map +1 -0
- package/dist/regex/index.mjs +88 -0
- package/dist/regex/index.mjs.map +1 -0
- package/dist/settings/index.d.mts +41 -0
- package/dist/settings/index.d.ts +41 -0
- package/dist/settings/index.js +150 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/index.mjs +143 -0
- package/dist/settings/index.mjs.map +1 -0
- package/dist/sql/index.d.mts +1 -0
- package/dist/sql/index.d.ts +1 -0
- package/dist/sql/index.js +146 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/sql/index.mjs +139 -0
- package/dist/sql/index.mjs.map +1 -0
- package/dist/structural/index.d.mts +1 -0
- package/dist/structural/index.d.ts +1 -0
- package/dist/structural/index.js +608 -0
- package/dist/structural/index.js.map +1 -0
- package/dist/structural/index.mjs +588 -0
- package/dist/structural/index.mjs.map +1 -0
- package/dist/text/index.d.mts +1 -0
- package/dist/text/index.d.ts +1 -0
- package/dist/text/index.js +250 -0
- package/dist/text/index.js.map +1 -0
- package/dist/text/index.mjs +242 -0
- package/dist/text/index.mjs.map +1 -0
- package/dist/xml/index.d.mts +1 -0
- package/dist/xml/index.d.ts +1 -0
- package/dist/xml/index.js +188 -0
- package/dist/xml/index.js.map +1 -0
- package/dist/xml/index.mjs +180 -0
- package/dist/xml/index.mjs.map +1 -0
- package/package.json +138 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { A as ArchiveCreateOptions, a as ArchiveEntry, b as ArchiveExtractOptions, c as ArchiveFile, d as ArchiveFormat, e as ArchiveStats, f as create, g as extract, h as getStats, l as list } from '../index-FFrvmr-n.mjs';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { A as ArchiveCreateOptions, a as ArchiveEntry, b as ArchiveExtractOptions, c as ArchiveFile, d as ArchiveFormat, e as ArchiveStats, f as create, g as extract, h as getStats, l as list } from '../index-FFrvmr-n.js';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var archiver = require('archiver');
|
|
4
|
+
var stream = require('stream');
|
|
5
|
+
var AdmZip = require('adm-zip');
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var archiver__default = /*#__PURE__*/_interopDefault(archiver);
|
|
10
|
+
var AdmZip__default = /*#__PURE__*/_interopDefault(AdmZip);
|
|
11
|
+
|
|
12
|
+
// src/archive/create.ts
|
|
13
|
+
async function create(files, options = {}) {
|
|
14
|
+
const format = options.format ?? "zip";
|
|
15
|
+
const level = options.compressionLevel ?? 6;
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const chunks = [];
|
|
18
|
+
const output = new stream.PassThrough();
|
|
19
|
+
output.on("data", (chunk) => chunks.push(chunk));
|
|
20
|
+
output.on("end", () => resolve(new Uint8Array(Buffer.concat(chunks))));
|
|
21
|
+
output.on("error", reject);
|
|
22
|
+
const archiverFormat = format === "tar.gz" ? "tar" : format;
|
|
23
|
+
const archiverOptions = format === "tar.gz" ? { gzip: true, gzipOptions: { level } } : format === "zip" ? { zlib: { level } } : {};
|
|
24
|
+
const archive = archiver__default.default(archiverFormat, archiverOptions);
|
|
25
|
+
archive.on("error", reject);
|
|
26
|
+
archive.pipe(output);
|
|
27
|
+
for (const file of files) {
|
|
28
|
+
archive.append(file.content, { name: file.path });
|
|
29
|
+
}
|
|
30
|
+
archive.finalize();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
async function extract(file, options = {}) {
|
|
34
|
+
const zip = new AdmZip__default.default(Buffer.from(file));
|
|
35
|
+
const entries = zip.getEntries();
|
|
36
|
+
const results = [];
|
|
37
|
+
for (const entry of entries) {
|
|
38
|
+
if (entry.isDirectory) continue;
|
|
39
|
+
if (options.files && !options.files.includes(entry.entryName)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
results.push({
|
|
43
|
+
path: entry.entryName,
|
|
44
|
+
content: entry.getData()
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return results;
|
|
48
|
+
}
|
|
49
|
+
async function list(file) {
|
|
50
|
+
const zip = new AdmZip__default.default(Buffer.from(file));
|
|
51
|
+
const entries = zip.getEntries();
|
|
52
|
+
return entries.map((entry) => ({
|
|
53
|
+
path: entry.entryName,
|
|
54
|
+
size: entry.header.size,
|
|
55
|
+
compressedSize: entry.header.compressedSize,
|
|
56
|
+
isDirectory: entry.isDirectory,
|
|
57
|
+
modified: entry.header.time ? new Date(entry.header.time).toISOString() : void 0
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
async function getStats(file) {
|
|
61
|
+
const entries = await list(file);
|
|
62
|
+
let totalSize = 0;
|
|
63
|
+
let compressedSize = 0;
|
|
64
|
+
let fileCount = 0;
|
|
65
|
+
let directoryCount = 0;
|
|
66
|
+
for (const entry of entries) {
|
|
67
|
+
if (entry.isDirectory) {
|
|
68
|
+
directoryCount++;
|
|
69
|
+
} else {
|
|
70
|
+
fileCount++;
|
|
71
|
+
totalSize += entry.size;
|
|
72
|
+
compressedSize += entry.compressedSize ?? entry.size;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
format: "zip",
|
|
77
|
+
fileCount,
|
|
78
|
+
directoryCount,
|
|
79
|
+
totalSize,
|
|
80
|
+
compressedSize,
|
|
81
|
+
entries
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
exports.create = create;
|
|
86
|
+
exports.extract = extract;
|
|
87
|
+
exports.getStats = getStats;
|
|
88
|
+
exports.list = list;
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/archive/create.ts","../../src/archive/extract.ts","../../src/archive/list.ts"],"names":["PassThrough","archiver","AdmZip"],"mappings":"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","file":"index.js","sourcesContent":["import archiver from 'archiver';\nimport { PassThrough } from 'stream';\nimport type { ArchiveCreateOptions, ArchiveFile } from './types';\n\nexport async function create(\n files: ArchiveFile[],\n options: ArchiveCreateOptions = {}\n): Promise<Uint8Array> {\n const format = options.format ?? 'zip';\n const level = options.compressionLevel ?? 6;\n\n return new Promise((resolve, reject) => {\n const chunks: Buffer[] = [];\n const output = new PassThrough();\n\n output.on('data', (chunk: Buffer) => chunks.push(chunk));\n output.on('end', () => resolve(new Uint8Array(Buffer.concat(chunks))));\n output.on('error', reject);\n\n const archiverFormat = format === 'tar.gz' ? 'tar' : format;\n const archiverOptions =\n format === 'tar.gz'\n ? { gzip: true, gzipOptions: { level } }\n : format === 'zip'\n ? { zlib: { level } }\n : {};\n\n const archive = archiver(archiverFormat as 'zip' | 'tar', archiverOptions);\n archive.on('error', reject);\n archive.pipe(output);\n\n for (const file of files) {\n archive.append(file.content, { name: file.path });\n }\n\n archive.finalize();\n });\n}\n","import AdmZip from 'adm-zip';\nimport type { ArchiveFile, ArchiveExtractOptions } from './types';\n\nexport async function extract(\n file: Buffer | Uint8Array,\n options: ArchiveExtractOptions = {}\n): Promise<ArchiveFile[]> {\n const zip = new AdmZip(Buffer.from(file));\n const entries = zip.getEntries();\n const results: ArchiveFile[] = [];\n\n for (const entry of entries) {\n if (entry.isDirectory) continue;\n\n if (options.files && !options.files.includes(entry.entryName)) {\n continue;\n }\n\n results.push({\n path: entry.entryName,\n content: entry.getData(),\n });\n }\n\n return results;\n}\n","import AdmZip from 'adm-zip';\nimport type { ArchiveEntry, ArchiveStats } from './types';\n\nexport async function list(\n file: Buffer | Uint8Array\n): Promise<ArchiveEntry[]> {\n const zip = new AdmZip(Buffer.from(file));\n const entries = zip.getEntries();\n\n return entries.map((entry) => ({\n path: entry.entryName,\n size: entry.header.size,\n compressedSize: entry.header.compressedSize,\n isDirectory: entry.isDirectory,\n modified: entry.header.time ? new Date(entry.header.time).toISOString() : undefined,\n }));\n}\n\nexport async function getStats(\n file: Buffer | Uint8Array\n): Promise<ArchiveStats> {\n const entries = await list(file);\n\n let totalSize = 0;\n let compressedSize = 0;\n let fileCount = 0;\n let directoryCount = 0;\n\n for (const entry of entries) {\n if (entry.isDirectory) {\n directoryCount++;\n } else {\n fileCount++;\n totalSize += entry.size;\n compressedSize += entry.compressedSize ?? entry.size;\n }\n }\n\n return {\n format: 'zip',\n fileCount,\n directoryCount,\n totalSize,\n compressedSize,\n entries,\n };\n}\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import archiver from 'archiver';
|
|
2
|
+
import { PassThrough } from 'stream';
|
|
3
|
+
import AdmZip from 'adm-zip';
|
|
4
|
+
|
|
5
|
+
// src/archive/create.ts
|
|
6
|
+
async function create(files, options = {}) {
|
|
7
|
+
const format = options.format ?? "zip";
|
|
8
|
+
const level = options.compressionLevel ?? 6;
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
const chunks = [];
|
|
11
|
+
const output = new PassThrough();
|
|
12
|
+
output.on("data", (chunk) => chunks.push(chunk));
|
|
13
|
+
output.on("end", () => resolve(new Uint8Array(Buffer.concat(chunks))));
|
|
14
|
+
output.on("error", reject);
|
|
15
|
+
const archiverFormat = format === "tar.gz" ? "tar" : format;
|
|
16
|
+
const archiverOptions = format === "tar.gz" ? { gzip: true, gzipOptions: { level } } : format === "zip" ? { zlib: { level } } : {};
|
|
17
|
+
const archive = archiver(archiverFormat, archiverOptions);
|
|
18
|
+
archive.on("error", reject);
|
|
19
|
+
archive.pipe(output);
|
|
20
|
+
for (const file of files) {
|
|
21
|
+
archive.append(file.content, { name: file.path });
|
|
22
|
+
}
|
|
23
|
+
archive.finalize();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async function extract(file, options = {}) {
|
|
27
|
+
const zip = new AdmZip(Buffer.from(file));
|
|
28
|
+
const entries = zip.getEntries();
|
|
29
|
+
const results = [];
|
|
30
|
+
for (const entry of entries) {
|
|
31
|
+
if (entry.isDirectory) continue;
|
|
32
|
+
if (options.files && !options.files.includes(entry.entryName)) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
results.push({
|
|
36
|
+
path: entry.entryName,
|
|
37
|
+
content: entry.getData()
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return results;
|
|
41
|
+
}
|
|
42
|
+
async function list(file) {
|
|
43
|
+
const zip = new AdmZip(Buffer.from(file));
|
|
44
|
+
const entries = zip.getEntries();
|
|
45
|
+
return entries.map((entry) => ({
|
|
46
|
+
path: entry.entryName,
|
|
47
|
+
size: entry.header.size,
|
|
48
|
+
compressedSize: entry.header.compressedSize,
|
|
49
|
+
isDirectory: entry.isDirectory,
|
|
50
|
+
modified: entry.header.time ? new Date(entry.header.time).toISOString() : void 0
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
async function getStats(file) {
|
|
54
|
+
const entries = await list(file);
|
|
55
|
+
let totalSize = 0;
|
|
56
|
+
let compressedSize = 0;
|
|
57
|
+
let fileCount = 0;
|
|
58
|
+
let directoryCount = 0;
|
|
59
|
+
for (const entry of entries) {
|
|
60
|
+
if (entry.isDirectory) {
|
|
61
|
+
directoryCount++;
|
|
62
|
+
} else {
|
|
63
|
+
fileCount++;
|
|
64
|
+
totalSize += entry.size;
|
|
65
|
+
compressedSize += entry.compressedSize ?? entry.size;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
format: "zip",
|
|
70
|
+
fileCount,
|
|
71
|
+
directoryCount,
|
|
72
|
+
totalSize,
|
|
73
|
+
compressedSize,
|
|
74
|
+
entries
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { create, extract, getStats, list };
|
|
79
|
+
//# sourceMappingURL=index.mjs.map
|
|
80
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/archive/create.ts","../../src/archive/extract.ts","../../src/archive/list.ts"],"names":["AdmZip"],"mappings":"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","file":"index.mjs","sourcesContent":["import archiver from 'archiver';\nimport { PassThrough } from 'stream';\nimport type { ArchiveCreateOptions, ArchiveFile } from './types';\n\nexport async function create(\n files: ArchiveFile[],\n options: ArchiveCreateOptions = {}\n): Promise<Uint8Array> {\n const format = options.format ?? 'zip';\n const level = options.compressionLevel ?? 6;\n\n return new Promise((resolve, reject) => {\n const chunks: Buffer[] = [];\n const output = new PassThrough();\n\n output.on('data', (chunk: Buffer) => chunks.push(chunk));\n output.on('end', () => resolve(new Uint8Array(Buffer.concat(chunks))));\n output.on('error', reject);\n\n const archiverFormat = format === 'tar.gz' ? 'tar' : format;\n const archiverOptions =\n format === 'tar.gz'\n ? { gzip: true, gzipOptions: { level } }\n : format === 'zip'\n ? { zlib: { level } }\n : {};\n\n const archive = archiver(archiverFormat as 'zip' | 'tar', archiverOptions);\n archive.on('error', reject);\n archive.pipe(output);\n\n for (const file of files) {\n archive.append(file.content, { name: file.path });\n }\n\n archive.finalize();\n });\n}\n","import AdmZip from 'adm-zip';\nimport type { ArchiveFile, ArchiveExtractOptions } from './types';\n\nexport async function extract(\n file: Buffer | Uint8Array,\n options: ArchiveExtractOptions = {}\n): Promise<ArchiveFile[]> {\n const zip = new AdmZip(Buffer.from(file));\n const entries = zip.getEntries();\n const results: ArchiveFile[] = [];\n\n for (const entry of entries) {\n if (entry.isDirectory) continue;\n\n if (options.files && !options.files.includes(entry.entryName)) {\n continue;\n }\n\n results.push({\n path: entry.entryName,\n content: entry.getData(),\n });\n }\n\n return results;\n}\n","import AdmZip from 'adm-zip';\nimport type { ArchiveEntry, ArchiveStats } from './types';\n\nexport async function list(\n file: Buffer | Uint8Array\n): Promise<ArchiveEntry[]> {\n const zip = new AdmZip(Buffer.from(file));\n const entries = zip.getEntries();\n\n return entries.map((entry) => ({\n path: entry.entryName,\n size: entry.header.size,\n compressedSize: entry.header.compressedSize,\n isDirectory: entry.isDirectory,\n modified: entry.header.time ? new Date(entry.header.time).toISOString() : undefined,\n }));\n}\n\nexport async function getStats(\n file: Buffer | Uint8Array\n): Promise<ArchiveStats> {\n const entries = await list(file);\n\n let totalSize = 0;\n let compressedSize = 0;\n let fileCount = 0;\n let directoryCount = 0;\n\n for (const entry of entries) {\n if (entry.isDirectory) {\n directoryCount++;\n } else {\n fileCount++;\n totalSize += entry.size;\n compressedSize += entry.compressedSize ?? entry.size;\n }\n }\n\n return {\n format: 'zip',\n fileCount,\n directoryCount,\n totalSize,\n compressedSize,\n entries,\n };\n}\n"]}
|