@paretools/docker 0.8.1 → 0.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +47 -1
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +125 -15
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +11 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +134 -0
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +111 -30
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +87 -18
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/build.d.ts +1 -0
- package/dist/tools/build.d.ts.map +1 -1
- package/dist/tools/build.js +1 -0
- package/dist/tools/build.js.map +1 -1
- package/dist/tools/compose-build.d.ts +4 -0
- package/dist/tools/compose-build.d.ts.map +1 -0
- package/dist/tools/compose-build.js +82 -0
- package/dist/tools/compose-build.js.map +1 -0
- package/dist/tools/compose-down.d.ts +1 -0
- package/dist/tools/compose-down.d.ts.map +1 -1
- package/dist/tools/compose-down.js +1 -0
- package/dist/tools/compose-down.js.map +1 -1
- package/dist/tools/compose-logs.d.ts +4 -0
- package/dist/tools/compose-logs.d.ts.map +1 -0
- package/dist/tools/compose-logs.js +73 -0
- package/dist/tools/compose-logs.js.map +1 -0
- package/dist/tools/compose-ps.d.ts +1 -0
- package/dist/tools/compose-ps.d.ts.map +1 -1
- package/dist/tools/compose-ps.js +1 -0
- package/dist/tools/compose-ps.js.map +1 -1
- package/dist/tools/compose-up.d.ts +1 -0
- package/dist/tools/compose-up.d.ts.map +1 -1
- package/dist/tools/compose-up.js +1 -0
- package/dist/tools/compose-up.js.map +1 -1
- package/dist/tools/exec.d.ts +1 -0
- package/dist/tools/exec.d.ts.map +1 -1
- package/dist/tools/exec.js +1 -0
- package/dist/tools/exec.js.map +1 -1
- package/dist/tools/images.d.ts +1 -0
- package/dist/tools/images.d.ts.map +1 -1
- package/dist/tools/images.js +1 -0
- package/dist/tools/images.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +10 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/inspect.d.ts +1 -0
- package/dist/tools/inspect.d.ts.map +1 -1
- package/dist/tools/inspect.js +1 -0
- package/dist/tools/inspect.js.map +1 -1
- package/dist/tools/logs.d.ts +1 -0
- package/dist/tools/logs.d.ts.map +1 -1
- package/dist/tools/logs.js +1 -0
- package/dist/tools/logs.js.map +1 -1
- package/dist/tools/network-ls.d.ts +1 -0
- package/dist/tools/network-ls.d.ts.map +1 -1
- package/dist/tools/network-ls.js +1 -0
- package/dist/tools/network-ls.js.map +1 -1
- package/dist/tools/ps.d.ts +1 -0
- package/dist/tools/ps.d.ts.map +1 -1
- package/dist/tools/ps.js +1 -0
- package/dist/tools/ps.js.map +1 -1
- package/dist/tools/pull.d.ts +1 -0
- package/dist/tools/pull.d.ts.map +1 -1
- package/dist/tools/pull.js +1 -0
- package/dist/tools/pull.js.map +1 -1
- package/dist/tools/run.d.ts +1 -0
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +1 -0
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/stats.d.ts +4 -0
- package/dist/tools/stats.d.ts.map +1 -0
- package/dist/tools/stats.js +39 -0
- package/dist/tools/stats.js.map +1 -0
- package/dist/tools/volume-ls.d.ts +1 -0
- package/dist/tools/volume-ls.d.ts.map +1 -1
- package/dist/tools/volume-ls.js +1 -0
- package/dist/tools/volume-ls.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ Add to your MCP client config:
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
## All Pare Servers (
|
|
62
|
+
## All Pare Servers (147 tools)
|
|
63
63
|
|
|
64
64
|
| Package | Tools | Wraps |
|
|
65
65
|
| -------------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------- |
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { registerAllTools } from "./tools/index.js";
|
|
5
|
-
const server = new McpServer({ name: "@paretools/docker", version: "0.
|
|
6
|
-
instructions: "Structured Docker operations (ps, build, logs, images, run, exec, compose-up, compose-down, pull). Use instead of running docker commands via bash. Returns typed JSON with structured container, image, and build data.",
|
|
5
|
+
const server = new McpServer({ name: "@paretools/docker", version: "0.8.1" }, {
|
|
6
|
+
instructions: "Structured Docker operations (ps, build, logs, images, run, exec, compose-up, compose-down, compose-build, pull). Use instead of running docker commands via bash. Returns typed JSON with structured container, image, and build data.",
|
|
7
7
|
});
|
|
8
8
|
registerAllTools(server);
|
|
9
9
|
const transport = new StdioServerTransport();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC/C;IACE,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC/C;IACE,YAAY,EACV,yOAAyO;CAC5O,CACF,CAAC;AAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/lib/formatters.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull, DockerInspect, DockerNetworkLs, DockerVolumeLs, DockerComposePs } from "../schemas/index.js";
|
|
1
|
+
import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull, DockerInspect, DockerNetworkLs, DockerVolumeLs, DockerComposePs, DockerComposeLogs, DockerComposeBuild, DockerStats } from "../schemas/index.js";
|
|
2
2
|
/** Formats structured Docker container data into a human-readable listing with state and ports. */
|
|
3
3
|
export declare function formatPs(data: DockerPs): string;
|
|
4
4
|
/** Formats structured Docker build results into a human-readable success/failure summary. */
|
|
@@ -147,6 +147,34 @@ export interface DockerVolumeLsCompact {
|
|
|
147
147
|
}
|
|
148
148
|
export declare function compactVolumeLsMap(data: DockerVolumeLs): DockerVolumeLsCompact;
|
|
149
149
|
export declare function formatVolumeLsCompact(data: DockerVolumeLsCompact): string;
|
|
150
|
+
/** Formats structured Docker Compose build output into a human-readable summary. */
|
|
151
|
+
export declare function formatComposeBuild(data: DockerComposeBuild): string;
|
|
152
|
+
/** Formats structured Docker stats data into a human-readable listing with CPU, memory, and I/O. */
|
|
153
|
+
export declare function formatStats(data: DockerStats): string;
|
|
154
|
+
/** Compact compose build: success, built, failed, duration. Drop per-service details. */
|
|
155
|
+
export interface DockerComposeBuildCompact {
|
|
156
|
+
[key: string]: unknown;
|
|
157
|
+
success: boolean;
|
|
158
|
+
built: number;
|
|
159
|
+
failed: number;
|
|
160
|
+
duration: number;
|
|
161
|
+
}
|
|
162
|
+
export declare function compactComposeBuildMap(data: DockerComposeBuild): DockerComposeBuildCompact;
|
|
163
|
+
export declare function formatComposeBuildCompact(data: DockerComposeBuildCompact): string;
|
|
164
|
+
/** Compact stats: name, cpuPercent, memoryPercent, pids only. Drop I/O details. */
|
|
165
|
+
export interface DockerStatsCompact {
|
|
166
|
+
[key: string]: unknown;
|
|
167
|
+
containers: Array<{
|
|
168
|
+
id: string;
|
|
169
|
+
name: string;
|
|
170
|
+
cpuPercent: number;
|
|
171
|
+
memoryPercent: number;
|
|
172
|
+
pids: number;
|
|
173
|
+
}>;
|
|
174
|
+
total: number;
|
|
175
|
+
}
|
|
176
|
+
export declare function compactStatsMap(data: DockerStats): DockerStatsCompact;
|
|
177
|
+
export declare function formatStatsCompact(data: DockerStatsCompact): string;
|
|
150
178
|
/** Formats structured Docker Compose ps data into a human-readable listing. */
|
|
151
179
|
export declare function formatComposePs(data: DockerComposePs): string;
|
|
152
180
|
/** Compact compose-ps: name, service, state. Drop status, ports. */
|
|
@@ -161,4 +189,22 @@ export interface DockerComposePsCompact {
|
|
|
161
189
|
}
|
|
162
190
|
export declare function compactComposePsMap(data: DockerComposePs): DockerComposePsCompact;
|
|
163
191
|
export declare function formatComposePsCompact(data: DockerComposePsCompact): string;
|
|
192
|
+
/** Formats structured Docker Compose logs into a human-readable output grouped by service. */
|
|
193
|
+
export declare function formatComposeLogs(data: DockerComposeLogs): string;
|
|
194
|
+
/** Compact compose-logs: service list, total, head/tail entries. */
|
|
195
|
+
export interface DockerComposeLogsCompact {
|
|
196
|
+
[key: string]: unknown;
|
|
197
|
+
services: string[];
|
|
198
|
+
total: number;
|
|
199
|
+
head: Array<{
|
|
200
|
+
service: string;
|
|
201
|
+
message: string;
|
|
202
|
+
}>;
|
|
203
|
+
tail: Array<{
|
|
204
|
+
service: string;
|
|
205
|
+
message: string;
|
|
206
|
+
}>;
|
|
207
|
+
}
|
|
208
|
+
export declare function compactComposeLogsMap(data: DockerComposeLogs): DockerComposeLogsCompact;
|
|
209
|
+
export declare function formatComposeLogsCompact(data: DockerComposeLogsCompact): string;
|
|
164
210
|
//# sourceMappingURL=formatters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/formatters.js
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
export function formatPs(data) {
|
|
3
3
|
const lines = [`${data.total} containers (${data.running} running, ${data.stopped} stopped)`];
|
|
4
4
|
for (const c of data.containers) {
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const portsArr = c.ports ?? [];
|
|
6
|
+
const ports = portsArr.length
|
|
7
|
+
? ` [${portsArr.map((p) => (p.host ? `${p.host}->${p.container}/${p.protocol}` : `${p.container}/${p.protocol}`)).join(", ")}]`
|
|
7
8
|
: "";
|
|
8
|
-
lines.push(` ${c.state.padEnd(10)} ${c.name} (${c.image})${ports}`);
|
|
9
|
+
lines.push(` ${(c.state ?? "unknown").padEnd(10)} ${c.name} (${c.image})${ports}`);
|
|
9
10
|
}
|
|
10
11
|
return lines.join("\n");
|
|
11
12
|
}
|
|
@@ -20,7 +21,7 @@ export function formatBuild(data) {
|
|
|
20
21
|
return parts.join(", ");
|
|
21
22
|
}
|
|
22
23
|
const lines = [`Build failed (${data.duration}s)`];
|
|
23
|
-
for (const err of data.errors) {
|
|
24
|
+
for (const err of data.errors ?? []) {
|
|
24
25
|
lines.push(` ${err}`);
|
|
25
26
|
}
|
|
26
27
|
return lines.join("\n");
|
|
@@ -30,7 +31,7 @@ export function formatLogs(data) {
|
|
|
30
31
|
const header = data.isTruncated
|
|
31
32
|
? `${data.container} (${data.total} of ${data.totalLines} lines, truncated)`
|
|
32
33
|
: `${data.container} (${data.total} lines)`;
|
|
33
|
-
return `${header}\n${data.lines.join("\n")}`;
|
|
34
|
+
return `${header}\n${(data.lines ?? []).join("\n")}`;
|
|
34
35
|
}
|
|
35
36
|
/** Formats structured Docker image data into a human-readable listing with repository, tag, and size. */
|
|
36
37
|
export function formatImages(data) {
|
|
@@ -65,7 +66,7 @@ export function formatComposeUp(data) {
|
|
|
65
66
|
return "Compose up failed";
|
|
66
67
|
if (data.started === 0)
|
|
67
68
|
return "Compose up succeeded (no new services started)";
|
|
68
|
-
return `Compose up: ${data.started} services started (${data.services.join(", ")})`;
|
|
69
|
+
return `Compose up: ${data.started} services started (${(data.services ?? []).join(", ")})`;
|
|
69
70
|
}
|
|
70
71
|
/** Formats structured Docker Compose down output into a human-readable summary. */
|
|
71
72
|
export function formatComposeDown(data) {
|
|
@@ -126,7 +127,7 @@ export function compactBuildMap(data) {
|
|
|
126
127
|
success: data.success,
|
|
127
128
|
...(data.imageId ? { imageId: data.imageId } : {}),
|
|
128
129
|
duration: data.duration,
|
|
129
|
-
errorCount: data.errors.length,
|
|
130
|
+
errorCount: (data.errors ?? []).length,
|
|
130
131
|
};
|
|
131
132
|
}
|
|
132
133
|
export function formatBuildCompact(data) {
|
|
@@ -139,11 +140,12 @@ export function formatBuildCompact(data) {
|
|
|
139
140
|
export function compactLogsMap(data) {
|
|
140
141
|
const HEAD_SIZE = 5;
|
|
141
142
|
const TAIL_SIZE = 5;
|
|
143
|
+
const lines = data.lines ?? [];
|
|
142
144
|
return {
|
|
143
145
|
container: data.container,
|
|
144
146
|
total: data.total,
|
|
145
|
-
head:
|
|
146
|
-
tail: data.total > HEAD_SIZE + TAIL_SIZE ?
|
|
147
|
+
head: lines.slice(0, HEAD_SIZE),
|
|
148
|
+
tail: data.total > HEAD_SIZE + TAIL_SIZE ? lines.slice(-TAIL_SIZE) : [],
|
|
147
149
|
};
|
|
148
150
|
}
|
|
149
151
|
export function formatLogsCompact(data) {
|
|
@@ -214,20 +216,24 @@ export function formatComposeDownCompact(data) {
|
|
|
214
216
|
export function formatInspect(data) {
|
|
215
217
|
const lines = [`${data.name} (${data.id})`];
|
|
216
218
|
lines.push(` Image: ${data.image}`);
|
|
217
|
-
|
|
218
|
-
if (
|
|
219
|
-
lines.push(`
|
|
219
|
+
const state = data.state;
|
|
220
|
+
if (state) {
|
|
221
|
+
lines.push(` State: ${state.status} (running: ${state.running})`);
|
|
222
|
+
if (state.startedAt)
|
|
223
|
+
lines.push(` Started: ${state.startedAt}`);
|
|
224
|
+
}
|
|
220
225
|
if (data.platform)
|
|
221
226
|
lines.push(` Platform: ${data.platform}`);
|
|
222
|
-
|
|
227
|
+
if (data.created)
|
|
228
|
+
lines.push(` Created: ${data.created}`);
|
|
223
229
|
return lines.join("\n");
|
|
224
230
|
}
|
|
225
231
|
export function compactInspectMap(data) {
|
|
226
232
|
return {
|
|
227
233
|
id: data.id,
|
|
228
234
|
name: data.name,
|
|
229
|
-
status: data.state.status,
|
|
230
|
-
running: data.state.running,
|
|
235
|
+
status: data.state?.status ?? data.status ?? "unknown",
|
|
236
|
+
running: data.state?.running ?? data.running ?? false,
|
|
231
237
|
image: data.image,
|
|
232
238
|
};
|
|
233
239
|
}
|
|
@@ -292,6 +298,71 @@ export function formatVolumeLsCompact(data) {
|
|
|
292
298
|
}
|
|
293
299
|
return lines.join("\n");
|
|
294
300
|
}
|
|
301
|
+
// ── Compose Build ────────────────────────────────────────────────────
|
|
302
|
+
/** Formats structured Docker Compose build output into a human-readable summary. */
|
|
303
|
+
export function formatComposeBuild(data) {
|
|
304
|
+
if (!data.success && data.built === 0) {
|
|
305
|
+
const lines = [`Compose build failed (${data.duration}s)`];
|
|
306
|
+
for (const s of data.services ?? []) {
|
|
307
|
+
if (s.error)
|
|
308
|
+
lines.push(` ${s.service}: ${s.error}`);
|
|
309
|
+
}
|
|
310
|
+
return lines.join("\n");
|
|
311
|
+
}
|
|
312
|
+
const lines = [`Compose build: ${data.built} built, ${data.failed} failed (${data.duration}s)`];
|
|
313
|
+
for (const s of data.services ?? []) {
|
|
314
|
+
const status = s.success ? "built" : "failed";
|
|
315
|
+
const error = s.error ? ` — ${s.error}` : "";
|
|
316
|
+
lines.push(` ${s.service}: ${status}${error}`);
|
|
317
|
+
}
|
|
318
|
+
return lines.join("\n");
|
|
319
|
+
}
|
|
320
|
+
// ── Stats ────────────────────────────────────────────────────────────
|
|
321
|
+
/** Formats structured Docker stats data into a human-readable listing with CPU, memory, and I/O. */
|
|
322
|
+
export function formatStats(data) {
|
|
323
|
+
if (data.total === 0)
|
|
324
|
+
return "No container stats available.";
|
|
325
|
+
const lines = [`${data.total} containers:`];
|
|
326
|
+
for (const c of data.containers) {
|
|
327
|
+
lines.push(` ${c.name} (${c.id}) CPU: ${c.cpuPercent.toFixed(2)}% Mem: ${c.memoryUsage}/${c.memoryLimit} (${c.memoryPercent.toFixed(2)}%) Net: ${c.netIO} Block: ${c.blockIO} PIDs: ${c.pids}`);
|
|
328
|
+
}
|
|
329
|
+
return lines.join("\n");
|
|
330
|
+
}
|
|
331
|
+
export function compactComposeBuildMap(data) {
|
|
332
|
+
return {
|
|
333
|
+
success: data.success,
|
|
334
|
+
built: data.built,
|
|
335
|
+
failed: data.failed,
|
|
336
|
+
duration: data.duration,
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
export function formatComposeBuildCompact(data) {
|
|
340
|
+
if (!data.success && data.built === 0) {
|
|
341
|
+
return `Compose build failed (${data.duration}s)`;
|
|
342
|
+
}
|
|
343
|
+
return `Compose build: ${data.built} built, ${data.failed} failed (${data.duration}s)`;
|
|
344
|
+
}
|
|
345
|
+
export function compactStatsMap(data) {
|
|
346
|
+
return {
|
|
347
|
+
containers: data.containers.map((c) => ({
|
|
348
|
+
id: c.id,
|
|
349
|
+
name: c.name,
|
|
350
|
+
cpuPercent: c.cpuPercent,
|
|
351
|
+
memoryPercent: c.memoryPercent,
|
|
352
|
+
pids: c.pids,
|
|
353
|
+
})),
|
|
354
|
+
total: data.total,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
export function formatStatsCompact(data) {
|
|
358
|
+
if (data.total === 0)
|
|
359
|
+
return "No container stats available.";
|
|
360
|
+
const lines = [`${data.total} containers:`];
|
|
361
|
+
for (const c of data.containers) {
|
|
362
|
+
lines.push(` ${c.name} (${c.id}) CPU: ${c.cpuPercent.toFixed(2)}% Mem: ${c.memoryPercent.toFixed(2)}% PIDs: ${c.pids}`);
|
|
363
|
+
}
|
|
364
|
+
return lines.join("\n");
|
|
365
|
+
}
|
|
295
366
|
// ── Compose PS ───────────────────────────────────────────────────────
|
|
296
367
|
/** Formats structured Docker Compose ps data into a human-readable listing. */
|
|
297
368
|
export function formatComposePs(data) {
|
|
@@ -323,4 +394,43 @@ export function formatComposePsCompact(data) {
|
|
|
323
394
|
}
|
|
324
395
|
return lines.join("\n");
|
|
325
396
|
}
|
|
397
|
+
// ── Compose Logs ─────────────────────────────────────────────────────
|
|
398
|
+
/** Formats structured Docker Compose logs into a human-readable output grouped by service. */
|
|
399
|
+
export function formatComposeLogs(data) {
|
|
400
|
+
const header = data.isTruncated
|
|
401
|
+
? `Compose logs: ${data.services.length} services, ${data.total} of ${data.totalEntries} entries (truncated)`
|
|
402
|
+
: `Compose logs: ${data.services.length} services, ${data.total} entries`;
|
|
403
|
+
const lines = [header];
|
|
404
|
+
for (const entry of data.entries ?? []) {
|
|
405
|
+
const ts = entry.timestamp ? `${entry.timestamp} ` : "";
|
|
406
|
+
lines.push(` ${entry.service} | ${ts}${entry.message}`);
|
|
407
|
+
}
|
|
408
|
+
return lines.join("\n");
|
|
409
|
+
}
|
|
410
|
+
export function compactComposeLogsMap(data) {
|
|
411
|
+
const HEAD_SIZE = 5;
|
|
412
|
+
const TAIL_SIZE = 5;
|
|
413
|
+
const entries = data.entries ?? [];
|
|
414
|
+
return {
|
|
415
|
+
services: data.services,
|
|
416
|
+
total: data.total,
|
|
417
|
+
head: entries.slice(0, HEAD_SIZE).map((e) => ({ service: e.service, message: e.message })),
|
|
418
|
+
tail: data.total > HEAD_SIZE + TAIL_SIZE
|
|
419
|
+
? entries.slice(-TAIL_SIZE).map((e) => ({ service: e.service, message: e.message }))
|
|
420
|
+
: [],
|
|
421
|
+
};
|
|
422
|
+
}
|
|
423
|
+
export function formatComposeLogsCompact(data) {
|
|
424
|
+
const parts = [`Compose logs: ${data.services.length} services, ${data.total} entries`];
|
|
425
|
+
for (const e of data.head) {
|
|
426
|
+
parts.push(` ${e.service} | ${e.message}`);
|
|
427
|
+
}
|
|
428
|
+
if (data.tail.length) {
|
|
429
|
+
parts.push(` ... ${data.total - data.head.length - data.tail.length} entries omitted ...`);
|
|
430
|
+
for (const e of data.tail) {
|
|
431
|
+
parts.push(` ${e.service} | ${e.message}`);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
return parts.join("\n");
|
|
435
|
+
}
|
|
326
436
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/parsers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull, DockerInspect, DockerNetworkLs, DockerVolumeLs, DockerComposePs } from "../schemas/index.js";
|
|
1
|
+
import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull, DockerInspect, DockerNetworkLs, DockerVolumeLs, DockerComposePs, DockerComposeLogs, DockerComposeBuild, DockerStats } from "../schemas/index.js";
|
|
2
2
|
/** Parses `docker ps --format json` output into structured container data with ports and state. */
|
|
3
3
|
export declare function parsePsJson(stdout: string): DockerPs;
|
|
4
4
|
/** Parses `docker build` output into structured results with success status, image ID, and errors. */
|
|
@@ -23,6 +23,16 @@ export declare function parseInspectJson(stdout: string): DockerInspect;
|
|
|
23
23
|
export declare function parseNetworkLsJson(stdout: string): DockerNetworkLs;
|
|
24
24
|
/** Parses `docker volume ls --format json` output into structured volume data. */
|
|
25
25
|
export declare function parseVolumeLsJson(stdout: string): DockerVolumeLs;
|
|
26
|
+
/** Parses `docker compose build` output into structured per-service build status. */
|
|
27
|
+
export declare function parseComposeBuildOutput(stdout: string, stderr: string, exitCode: number, duration: number): DockerComposeBuild;
|
|
28
|
+
/** Parses `docker stats --no-stream --format '{{json .}}'` output into structured container stats. */
|
|
29
|
+
export declare function parseStatsJson(stdout: string): DockerStats;
|
|
26
30
|
/** Parses `docker compose ps --format json` output into structured compose service data. */
|
|
27
31
|
export declare function parseComposePsJson(stdout: string): DockerComposePs;
|
|
32
|
+
/** Parses `docker compose logs` output into structured entries grouped by service.
|
|
33
|
+
*
|
|
34
|
+
* Compose logs format: `service-name | [timestamp] message`
|
|
35
|
+
* or with --timestamps: `service-name | 2024-01-01T00:00:00.000000000Z message`
|
|
36
|
+
*/
|
|
37
|
+
export declare function parseComposeLogsOutput(stdout: string, limit?: number): DockerComposeLogs;
|
|
28
38
|
//# sourceMappingURL=parsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,eAAe,EACf,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAE7B,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAwBpD;AAgCD,sGAAsG;AACtG,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,WAAW,CAwBb;AAED,sIAAsI;AACtI,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAW7F;AAED,6GAA6G;AAC7G,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAc5D;AAED,wFAAwF;AACxF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,GACZ,SAAS,CASX;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,UAAU,CAO5F;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,eAAe,CA2BjB;AAED,gGAAgG;AAChG,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,iBAAiB,CA4BnB;AAED,kGAAkG;AAClG,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,UAAU,CAkBZ;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAsB9D;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAalE;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CAahE;AAED,qFAAqF;AACrF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,kBAAkB,CAyEpB;AAQD,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAoB1D;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAgBlE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,iBAAiB,CA0CxF"}
|
package/dist/lib/parsers.js
CHANGED
|
@@ -236,6 +236,98 @@ export function parseVolumeLsJson(stdout) {
|
|
|
236
236
|
});
|
|
237
237
|
return { volumes, total: volumes.length };
|
|
238
238
|
}
|
|
239
|
+
/** Parses `docker compose build` output into structured per-service build status. */
|
|
240
|
+
export function parseComposeBuildOutput(stdout, stderr, exitCode, duration) {
|
|
241
|
+
const combined = stdout + "\n" + stderr;
|
|
242
|
+
const serviceMap = new Map();
|
|
243
|
+
// Match successful builds: "Service web Built" or "web Built" patterns
|
|
244
|
+
// Compose v2 outputs lines like: " ✔ Service web Built" or just "web Built"
|
|
245
|
+
const builtPattern = /(?:Service\s+)?(\S+)\s+Built/g;
|
|
246
|
+
let match;
|
|
247
|
+
while ((match = builtPattern.exec(combined)) !== null) {
|
|
248
|
+
serviceMap.set(match[1], { success: true });
|
|
249
|
+
}
|
|
250
|
+
// Match build step patterns: "#N [service ...]" to discover service names
|
|
251
|
+
const stepPattern = /\[(\S+)\s+/g;
|
|
252
|
+
while ((match = stepPattern.exec(combined)) !== null) {
|
|
253
|
+
const svc = match[1];
|
|
254
|
+
// Only add if not already tracked (don't overwrite success)
|
|
255
|
+
if (!serviceMap.has(svc) && svc !== "internal") {
|
|
256
|
+
serviceMap.set(svc, { success: exitCode === 0 });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// Match "Building <service>" lines (compose v2 progress output)
|
|
260
|
+
const buildingPattern = /Building\s+(\S+)/g;
|
|
261
|
+
while ((match = buildingPattern.exec(combined)) !== null) {
|
|
262
|
+
const svc = match[1];
|
|
263
|
+
if (!serviceMap.has(svc)) {
|
|
264
|
+
serviceMap.set(svc, { success: exitCode === 0 });
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
// Match error lines referencing services: "failed to solve: ..." or "ERROR: Service 'web' failed to build"
|
|
268
|
+
const errorPattern = /(?:ERROR|error).*?(?:Service\s+'?(\S+?)'?|service\s+"?(\S+?)"?)\s+.*?(?:failed|error)/gi;
|
|
269
|
+
while ((match = errorPattern.exec(combined)) !== null) {
|
|
270
|
+
const svc = match[1] || match[2];
|
|
271
|
+
if (svc) {
|
|
272
|
+
serviceMap.set(svc, {
|
|
273
|
+
success: false,
|
|
274
|
+
error: match[0].trim(),
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// If no services were detected but there's output and success, try to infer
|
|
279
|
+
// If the build failed and no services found, create a generic entry from error
|
|
280
|
+
if (serviceMap.size === 0 && exitCode !== 0) {
|
|
281
|
+
const errorLines = combined
|
|
282
|
+
.split("\n")
|
|
283
|
+
.filter((l) => l.match(/error|ERROR|failed/i))
|
|
284
|
+
.map((l) => l.trim())
|
|
285
|
+
.filter(Boolean);
|
|
286
|
+
if (errorLines.length > 0) {
|
|
287
|
+
// Cannot determine service name — leave services empty
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
const services = [...serviceMap.entries()].map(([service, status]) => ({
|
|
291
|
+
service,
|
|
292
|
+
success: status.success,
|
|
293
|
+
...(status.error ? { error: status.error } : {}),
|
|
294
|
+
}));
|
|
295
|
+
const built = services.filter((s) => s.success).length;
|
|
296
|
+
const failed = services.filter((s) => !s.success).length;
|
|
297
|
+
return {
|
|
298
|
+
success: exitCode === 0,
|
|
299
|
+
services,
|
|
300
|
+
built,
|
|
301
|
+
failed,
|
|
302
|
+
duration,
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/** Parses percentage string like "1.23%" into a number. Returns 0 for unparseable values. */
|
|
306
|
+
function parsePercent(value) {
|
|
307
|
+
const n = parseFloat(value.replace("%", ""));
|
|
308
|
+
return Number.isNaN(n) ? 0 : n;
|
|
309
|
+
}
|
|
310
|
+
/** Parses `docker stats --no-stream --format '{{json .}}'` output into structured container stats. */
|
|
311
|
+
export function parseStatsJson(stdout) {
|
|
312
|
+
const lines = stdout.trim().split("\n").filter(Boolean);
|
|
313
|
+
const containers = lines.map((line) => {
|
|
314
|
+
const s = JSON.parse(line);
|
|
315
|
+
// Docker stats JSON uses: Container, Name, CPUPerc, MemUsage, MemPerc, NetIO, BlockIO, PIDs
|
|
316
|
+
const memParts = (s.MemUsage ?? "0B / 0B").split("/").map((p) => p.trim());
|
|
317
|
+
return {
|
|
318
|
+
id: (s.Container ?? s.ID ?? "").slice(0, 12),
|
|
319
|
+
name: (s.Name ?? "").replace(/^\//, ""),
|
|
320
|
+
cpuPercent: parsePercent(s.CPUPerc ?? "0%"),
|
|
321
|
+
memoryUsage: memParts[0] ?? "0B",
|
|
322
|
+
memoryLimit: memParts[1] ?? "0B",
|
|
323
|
+
memoryPercent: parsePercent(s.MemPerc ?? "0%"),
|
|
324
|
+
netIO: s.NetIO ?? "0B / 0B",
|
|
325
|
+
blockIO: s.BlockIO ?? "0B / 0B",
|
|
326
|
+
pids: parseInt(s.PIDs ?? "0", 10) || 0,
|
|
327
|
+
};
|
|
328
|
+
});
|
|
329
|
+
return { containers, total: containers.length };
|
|
330
|
+
}
|
|
239
331
|
/** Parses `docker compose ps --format json` output into structured compose service data. */
|
|
240
332
|
export function parseComposePsJson(stdout) {
|
|
241
333
|
const lines = stdout.trim().split("\n").filter(Boolean);
|
|
@@ -253,4 +345,46 @@ export function parseComposePsJson(stdout) {
|
|
|
253
345
|
});
|
|
254
346
|
return { services, total: services.length };
|
|
255
347
|
}
|
|
348
|
+
/** Parses `docker compose logs` output into structured entries grouped by service.
|
|
349
|
+
*
|
|
350
|
+
* Compose logs format: `service-name | [timestamp] message`
|
|
351
|
+
* or with --timestamps: `service-name | 2024-01-01T00:00:00.000000000Z message`
|
|
352
|
+
*/
|
|
353
|
+
export function parseComposeLogsOutput(stdout, limit) {
|
|
354
|
+
const allLines = stdout.split("\n").filter(Boolean);
|
|
355
|
+
const serviceSet = new Set();
|
|
356
|
+
// Parse each line: "service | [timestamp] message"
|
|
357
|
+
// The pipe separator may have varying whitespace
|
|
358
|
+
const entries = allLines.map((line) => {
|
|
359
|
+
const pipeIdx = line.indexOf("|");
|
|
360
|
+
if (pipeIdx === -1) {
|
|
361
|
+
// No pipe — treat entire line as message with unknown service
|
|
362
|
+
return { service: "unknown", message: line.trim() };
|
|
363
|
+
}
|
|
364
|
+
const service = line.slice(0, pipeIdx).trim();
|
|
365
|
+
const rest = line.slice(pipeIdx + 1).trimStart();
|
|
366
|
+
serviceSet.add(service);
|
|
367
|
+
// Try to extract an ISO timestamp at the beginning
|
|
368
|
+
const tsMatch = rest.match(/^(\d{4}-\d{2}-\d{2}T[\d:.]+Z?)\s+(.*)/);
|
|
369
|
+
if (tsMatch) {
|
|
370
|
+
return { timestamp: tsMatch[1], service, message: tsMatch[2] };
|
|
371
|
+
}
|
|
372
|
+
return { service, message: rest };
|
|
373
|
+
});
|
|
374
|
+
const totalEntries = entries.length;
|
|
375
|
+
const isTruncated = limit != null && totalEntries > limit;
|
|
376
|
+
const limited = isTruncated ? entries.slice(0, limit) : entries;
|
|
377
|
+
// Rebuild service set from limited entries
|
|
378
|
+
if (isTruncated) {
|
|
379
|
+
serviceSet.clear();
|
|
380
|
+
for (const e of limited)
|
|
381
|
+
serviceSet.add(e.service);
|
|
382
|
+
}
|
|
383
|
+
return {
|
|
384
|
+
services: [...serviceSet],
|
|
385
|
+
entries: limited,
|
|
386
|
+
total: limited.length,
|
|
387
|
+
...(isTruncated ? { isTruncated: true, totalEntries } : {}),
|
|
388
|
+
};
|
|
389
|
+
}
|
|
256
390
|
//# sourceMappingURL=parsers.js.map
|