@paretools/docker 0.3.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +46 -12
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/docker-runner.d.ts.map +1 -1
  5. package/dist/lib/docker-runner.js +4 -3
  6. package/dist/lib/docker-runner.js.map +1 -1
  7. package/dist/lib/formatters.d.ts +106 -1
  8. package/dist/lib/formatters.d.ts.map +1 -1
  9. package/dist/lib/formatters.js +170 -0
  10. package/dist/lib/formatters.js.map +1 -1
  11. package/dist/lib/parsers.d.ts +15 -1
  12. package/dist/lib/parsers.d.ts.map +1 -1
  13. package/dist/lib/parsers.js +93 -0
  14. package/dist/lib/parsers.js.map +1 -1
  15. package/dist/lib/validation.d.ts +15 -0
  16. package/dist/lib/validation.d.ts.map +1 -0
  17. package/dist/lib/validation.js +94 -0
  18. package/dist/lib/validation.js.map +1 -0
  19. package/dist/schemas/index.d.ts +82 -176
  20. package/dist/schemas/index.d.ts.map +1 -1
  21. package/dist/schemas/index.js +39 -0
  22. package/dist/schemas/index.js.map +1 -1
  23. package/dist/tools/build.d.ts.map +1 -1
  24. package/dist/tools/build.js +37 -8
  25. package/dist/tools/build.js.map +1 -1
  26. package/dist/tools/compose-down.d.ts +3 -0
  27. package/dist/tools/compose-down.d.ts.map +1 -0
  28. package/dist/tools/compose-down.js +58 -0
  29. package/dist/tools/compose-down.js.map +1 -0
  30. package/dist/tools/compose-up.d.ts +3 -0
  31. package/dist/tools/compose-up.d.ts.map +1 -0
  32. package/dist/tools/compose-up.js +68 -0
  33. package/dist/tools/compose-up.js.map +1 -0
  34. package/dist/tools/exec.d.ts +3 -0
  35. package/dist/tools/exec.d.ts.map +1 -0
  36. package/dist/tools/exec.js +68 -0
  37. package/dist/tools/exec.js.map +1 -0
  38. package/dist/tools/images.d.ts.map +1 -1
  39. package/dist/tools/images.js +16 -5
  40. package/dist/tools/images.js.map +1 -1
  41. package/dist/tools/index.d.ts.map +1 -1
  42. package/dist/tools/index.js +10 -0
  43. package/dist/tools/index.js.map +1 -1
  44. package/dist/tools/logs.d.ts.map +1 -1
  45. package/dist/tools/logs.js +14 -5
  46. package/dist/tools/logs.js.map +1 -1
  47. package/dist/tools/ps.d.ts.map +1 -1
  48. package/dist/tools/ps.js +9 -4
  49. package/dist/tools/ps.js.map +1 -1
  50. package/dist/tools/pull.d.ts +3 -0
  51. package/dist/tools/pull.d.ts.map +1 -0
  52. package/dist/tools/pull.js +50 -0
  53. package/dist/tools/pull.js.map +1 -0
  54. package/dist/tools/run.d.ts +3 -0
  55. package/dist/tools/run.d.ts.map +1 -0
  56. package/dist/tools/run.js +106 -0
  57. package/dist/tools/run.js.map +1 -0
  58. package/package.json +20 -9
package/README.md CHANGED
@@ -1,24 +1,40 @@
1
1
  # @paretools/docker
2
2
 
3
- Pare MCP server for **Docker**. Returns structured output from Docker commands.
3
+ [![npm](https://img.shields.io/npm/v/@paretools/docker.svg)](https://www.npmjs.com/package/@paretools/docker)
4
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Dave-London/Pare/blob/main/LICENSE)
4
5
 
5
- ## Tools
6
+ **Structured, token-efficient Docker output for AI agents.** Up to 95% fewer tokens than raw `docker` CLI output.
6
7
 
7
- | Tool | Description |
8
- | -------- | --------------------------------------------------- |
9
- | `ps` | List containers with status, ports, and state |
10
- | `build` | Build image, returns image ID, duration, and errors |
11
- | `logs` | Retrieve container logs as structured line arrays |
12
- | `images` | List images with repository, tag, and size info |
8
+ Part of the [Pare](https://github.com/Dave-London/Pare) suite of MCP servers.
13
9
 
14
- ## Setup
10
+ ## Tools (9)
11
+
12
+ | Tool | Description |
13
+ | -------------- | ---------------------------------------------------- |
14
+ | `ps` | List containers with status, ports, and state |
15
+ | `build` | Build image, returns image ID, duration, and errors |
16
+ | `logs` | Retrieve container logs as structured line arrays |
17
+ | `images` | List images with repository, tag, and size info |
18
+ | `run` | Run a container from an image with structured result |
19
+ | `exec` | Execute a command in a running container |
20
+ | `compose-up` | Start Docker Compose services with structured status |
21
+ | `compose-down` | Stop Docker Compose services with structured status |
22
+ | `pull` | Pull an image from a registry with digest info |
23
+
24
+ ## Quick Start
25
+
26
+ ```bash
27
+ npx -y @paretools/docker
28
+ ```
29
+
30
+ Add to your MCP client config:
15
31
 
16
32
  ```json
17
33
  {
18
34
  "mcpServers": {
19
35
  "pare-docker": {
20
36
  "command": "npx",
21
- "args": ["@paretools/docker"]
37
+ "args": ["-y", "@paretools/docker"]
22
38
  }
23
39
  }
24
40
  }
@@ -43,11 +59,29 @@ Pare MCP server for **Docker**. Returns structured output from Docker commands.
43
59
  }
44
60
  ```
45
61
 
62
+ ## All Pare Servers (62 tools)
63
+
64
+ | Package | Tools | Wraps |
65
+ | -------------------------------------------------------------------- | --------------------------------------------------------------------------- | ---------------------------------- |
66
+ | [@paretools/git](https://www.npmjs.com/package/@paretools/git) | status, log, diff, branch, show, add, commit, push, pull, checkout | git |
67
+ | [@paretools/test](https://www.npmjs.com/package/@paretools/test) | run, coverage | pytest, jest, vitest, mocha |
68
+ | [@paretools/npm](https://www.npmjs.com/package/@paretools/npm) | install, audit, outdated, list, run, test, init | npm |
69
+ | [@paretools/build](https://www.npmjs.com/package/@paretools/build) | tsc, build, esbuild, vite-build, webpack | tsc, esbuild, vite, webpack |
70
+ | [@paretools/lint](https://www.npmjs.com/package/@paretools/lint) | lint, format-check, prettier-format, biome-check, biome-format | eslint, prettier, biome |
71
+ | [@paretools/python](https://www.npmjs.com/package/@paretools/python) | pip-install, mypy, ruff-check, pip-audit, pytest, uv-install, uv-run, black | pip, mypy, ruff, pytest, uv, black |
72
+ | **@paretools/docker** | ps, build, logs, images, run, exec, compose-up, compose-down, pull | docker, docker compose |
73
+ | [@paretools/cargo](https://www.npmjs.com/package/@paretools/cargo) | build, test, clippy, run, add, remove, fmt, doc, check | cargo |
74
+ | [@paretools/go](https://www.npmjs.com/package/@paretools/go) | build, test, vet, run, mod-tidy, fmt, generate | go, gofmt |
75
+
76
+ ## Compatible Clients
77
+
78
+ Works with any MCP-compatible client: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Claude Desktop](https://claude.ai/download), [Cursor](https://cursor.com), [Windsurf](https://codeium.com/windsurf), [VS Code / GitHub Copilot](https://code.visualstudio.com), [Cline](https://github.com/cline/cline), [Roo Code](https://roocode.com), [Zed](https://zed.dev), [Continue.dev](https://continue.dev), [Gemini CLI](https://github.com/google-gemini/gemini-cli), [OpenAI Codex](https://openai.com/index/codex/)
79
+
46
80
  ## Links
47
81
 
48
- - [Pare monorepo](https://github.com/Dave-London/pare)
82
+ - [Pare monorepo](https://github.com/Dave-London/Pare)
49
83
  - [MCP protocol](https://modelcontextprotocol.io)
50
84
 
51
85
  ## License
52
86
 
53
- [MIT](https://github.com/Dave-London/pare/blob/main/LICENSE)
87
+ [MIT](https://github.com/Dave-London/Pare/blob/main/LICENSE)
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ 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
5
  const server = new McpServer({ name: "@paretools/docker", version: "0.2.0" }, {
6
- instructions: "Structured Docker operations (ps, build, logs, images). Use instead of running docker commands via bash. Returns typed JSON with structured container, image, and build data.",
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.",
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,+KAA+K;CAClL,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"}
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,0NAA0N;CAC7N,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/lib/docker-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAI7E"}
1
+ {"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/lib/docker-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAExD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAK7E"}
@@ -1,7 +1,8 @@
1
1
  import { run } from "@paretools/shared";
2
2
  export async function docker(args, cwd) {
3
- // Docker build/pull operations can take minutes; use 5-minute timeout
4
- const isBuild = args[0] === "build" || args[0] === "pull";
5
- return run("docker", args, { cwd, timeout: isBuild ? 300_000 : 30_000 });
3
+ // Docker build/pull/run/compose operations can take minutes; use 5-minute timeout
4
+ const longOps = new Set(["build", "pull", "run", "compose"]);
5
+ const isLong = longOps.has(args[0]);
6
+ return run("docker", args, { cwd, timeout: isLong ? 300_000 : 30_000 });
6
7
  }
7
8
  //# sourceMappingURL=docker-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/lib/docker-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,GAAY;IACvD,sEAAsE;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;IAC1D,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/lib/docker-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAkB,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,GAAY;IACvD,kFAAkF;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,6 +1,111 @@
1
- import type { DockerPs, DockerBuild, DockerLogs, DockerImages } from "../schemas/index.js";
1
+ import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull } from "../schemas/index.js";
2
+ /** Formats structured Docker container data into a human-readable listing with state and ports. */
2
3
  export declare function formatPs(data: DockerPs): string;
4
+ /** Formats structured Docker build results into a human-readable success/failure summary. */
3
5
  export declare function formatBuild(data: DockerBuild): string;
6
+ /** Formats structured Docker logs data into a human-readable output with container name and line count. */
4
7
  export declare function formatLogs(data: DockerLogs): string;
8
+ /** Formats structured Docker image data into a human-readable listing with repository, tag, and size. */
5
9
  export declare function formatImages(data: DockerImages): string;
10
+ /** Formats structured Docker run output into a human-readable summary. */
11
+ export declare function formatRun(data: DockerRun): string;
12
+ /** Formats structured Docker exec output into a human-readable summary. */
13
+ export declare function formatExec(data: DockerExec): string;
14
+ /** Formats structured Docker Compose up output into a human-readable summary. */
15
+ export declare function formatComposeUp(data: DockerComposeUp): string;
16
+ /** Formats structured Docker Compose down output into a human-readable summary. */
17
+ export declare function formatComposeDown(data: DockerComposeDown): string;
18
+ /** Formats structured Docker pull output into a human-readable summary. */
19
+ export declare function formatPull(data: DockerPull): string;
20
+ /** Compact ps: short containerId, name, image, status only. Drop ports, createdAt, state details. */
21
+ export interface DockerPsCompact {
22
+ [key: string]: unknown;
23
+ containers: Array<{
24
+ id: string;
25
+ name: string;
26
+ image: string;
27
+ status: string;
28
+ }>;
29
+ total: number;
30
+ running: number;
31
+ stopped: number;
32
+ }
33
+ export declare function compactPsMap(data: DockerPs): DockerPsCompact;
34
+ export declare function formatPsCompact(data: DockerPsCompact): string;
35
+ /** Compact images: repository, tag, short id, size. Drop createdAt. */
36
+ export interface DockerImagesCompact {
37
+ [key: string]: unknown;
38
+ images: Array<{
39
+ id: string;
40
+ repository: string;
41
+ tag: string;
42
+ size: string;
43
+ }>;
44
+ total: number;
45
+ }
46
+ export declare function compactImagesMap(data: DockerImages): DockerImagesCompact;
47
+ export declare function formatImagesCompact(data: DockerImagesCompact): string;
48
+ /** Compact build: success, imageId, duration. Drop warnings array details, keep error count. */
49
+ export interface DockerBuildCompact {
50
+ [key: string]: unknown;
51
+ success: boolean;
52
+ imageId?: string;
53
+ duration: number;
54
+ errorCount: number;
55
+ }
56
+ export declare function compactBuildMap(data: DockerBuild): DockerBuildCompact;
57
+ export declare function formatBuildCompact(data: DockerBuildCompact): string;
58
+ /** Compact logs: container, count, first/last few lines. Drop full lines array if large. */
59
+ export interface DockerLogsCompact {
60
+ [key: string]: unknown;
61
+ container: string;
62
+ total: number;
63
+ head: string[];
64
+ tail: string[];
65
+ }
66
+ export declare function compactLogsMap(data: DockerLogs): DockerLogsCompact;
67
+ export declare function formatLogsCompact(data: DockerLogsCompact): string;
68
+ /** Compact pull: passthrough (already small). */
69
+ export interface DockerPullCompact {
70
+ [key: string]: unknown;
71
+ image: string;
72
+ tag: string;
73
+ success: boolean;
74
+ }
75
+ export declare function compactPullMap(data: DockerPull): DockerPullCompact;
76
+ export declare function formatPullCompact(data: DockerPullCompact): string;
77
+ /** Compact run: passthrough (already small). */
78
+ export interface DockerRunCompact {
79
+ [key: string]: unknown;
80
+ containerId: string;
81
+ image: string;
82
+ detached: boolean;
83
+ }
84
+ export declare function compactRunMap(data: DockerRun): DockerRunCompact;
85
+ export declare function formatRunCompact(data: DockerRunCompact): string;
86
+ /** Compact exec: passthrough (already small). */
87
+ export interface DockerExecCompact {
88
+ [key: string]: unknown;
89
+ exitCode: number;
90
+ success: boolean;
91
+ }
92
+ export declare function compactExecMap(data: DockerExec): DockerExecCompact;
93
+ export declare function formatExecCompact(data: DockerExecCompact): string;
94
+ /** Compact compose up: passthrough (already small). */
95
+ export interface DockerComposeUpCompact {
96
+ [key: string]: unknown;
97
+ success: boolean;
98
+ started: number;
99
+ }
100
+ export declare function compactComposeUpMap(data: DockerComposeUp): DockerComposeUpCompact;
101
+ export declare function formatComposeUpCompact(data: DockerComposeUpCompact): string;
102
+ /** Compact compose down: passthrough (already small). */
103
+ export interface DockerComposeDownCompact {
104
+ [key: string]: unknown;
105
+ success: boolean;
106
+ stopped: number;
107
+ removed: number;
108
+ }
109
+ export declare function compactComposeDownMap(data: DockerComposeDown): DockerComposeDownCompact;
110
+ export declare function formatComposeDownCompact(data: DockerComposeDownCompact): string;
6
111
  //# 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,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE3F,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAS/C;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAarD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CASvD"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /** Formats structured Docker container data into a human-readable listing with state and ports. */
1
2
  export function formatPs(data) {
2
3
  const lines = [`${data.total} containers (${data.running} running, ${data.stopped} stopped)`];
3
4
  for (const c of data.containers) {
@@ -8,6 +9,7 @@ export function formatPs(data) {
8
9
  }
9
10
  return lines.join("\n");
10
11
  }
12
+ /** Formats structured Docker build results into a human-readable success/failure summary. */
11
13
  export function formatBuild(data) {
12
14
  if (data.success) {
13
15
  const parts = [`Build succeeded in ${data.duration}s`];
@@ -23,9 +25,11 @@ export function formatBuild(data) {
23
25
  }
24
26
  return lines.join("\n");
25
27
  }
28
+ /** Formats structured Docker logs data into a human-readable output with container name and line count. */
26
29
  export function formatLogs(data) {
27
30
  return `${data.container} (${data.total} lines)\n${data.lines.join("\n")}`;
28
31
  }
32
+ /** Formats structured Docker image data into a human-readable listing with repository, tag, and size. */
29
33
  export function formatImages(data) {
30
34
  if (data.total === 0)
31
35
  return "No images found.";
@@ -36,4 +40,170 @@ export function formatImages(data) {
36
40
  }
37
41
  return lines.join("\n");
38
42
  }
43
+ /** Formats structured Docker run output into a human-readable summary. */
44
+ export function formatRun(data) {
45
+ const name = data.name ? ` (${data.name})` : "";
46
+ const mode = data.detached ? "detached" : "attached";
47
+ return `Container ${data.containerId}${name} started from ${data.image} [${mode}]`;
48
+ }
49
+ /** Formats structured Docker exec output into a human-readable summary. */
50
+ export function formatExec(data) {
51
+ const status = data.success ? "succeeded" : `failed (exit code ${data.exitCode})`;
52
+ const lines = [`Exec ${status}`];
53
+ if (data.stdout)
54
+ lines.push(data.stdout);
55
+ if (data.stderr)
56
+ lines.push(`stderr: ${data.stderr}`);
57
+ return lines.join("\n");
58
+ }
59
+ /** Formats structured Docker Compose up output into a human-readable summary. */
60
+ export function formatComposeUp(data) {
61
+ if (!data.success)
62
+ return "Compose up failed";
63
+ if (data.started === 0)
64
+ return "Compose up succeeded (no new services started)";
65
+ return `Compose up: ${data.started} services started (${data.services.join(", ")})`;
66
+ }
67
+ /** Formats structured Docker Compose down output into a human-readable summary. */
68
+ export function formatComposeDown(data) {
69
+ if (!data.success)
70
+ return "Compose down failed";
71
+ return `Compose down: ${data.stopped} stopped, ${data.removed} removed`;
72
+ }
73
+ /** Formats structured Docker pull output into a human-readable summary. */
74
+ export function formatPull(data) {
75
+ if (!data.success)
76
+ return `Pull failed for ${data.image}:${data.tag}`;
77
+ const digest = data.digest ? ` (${data.digest.slice(0, 19)}...)` : "";
78
+ return `Pulled ${data.image}:${data.tag}${digest}`;
79
+ }
80
+ export function compactPsMap(data) {
81
+ return {
82
+ containers: data.containers.map((c) => ({
83
+ id: c.id.slice(0, 12),
84
+ name: c.name,
85
+ image: c.image,
86
+ status: c.status,
87
+ })),
88
+ total: data.total,
89
+ running: data.running,
90
+ stopped: data.stopped,
91
+ };
92
+ }
93
+ export function formatPsCompact(data) {
94
+ const lines = [`${data.total} containers (${data.running} running)`];
95
+ for (const c of data.containers) {
96
+ lines.push(` ${c.id.slice(0, 12)} ${c.name} (${c.image}) ${c.status}`);
97
+ }
98
+ return lines.join("\n");
99
+ }
100
+ export function compactImagesMap(data) {
101
+ return {
102
+ images: data.images.map((img) => ({
103
+ id: img.id.slice(0, 12),
104
+ repository: img.repository,
105
+ tag: img.tag,
106
+ size: img.size,
107
+ })),
108
+ total: data.total,
109
+ };
110
+ }
111
+ export function formatImagesCompact(data) {
112
+ if (data.total === 0)
113
+ return "No images found.";
114
+ const lines = [`${data.total} images:`];
115
+ for (const img of data.images) {
116
+ const tag = img.tag && img.tag !== "<none>" ? `:${img.tag}` : "";
117
+ lines.push(` ${img.repository}${tag} (${img.size})`);
118
+ }
119
+ return lines.join("\n");
120
+ }
121
+ export function compactBuildMap(data) {
122
+ return {
123
+ success: data.success,
124
+ ...(data.imageId ? { imageId: data.imageId } : {}),
125
+ duration: data.duration,
126
+ errorCount: data.errors.length,
127
+ };
128
+ }
129
+ export function formatBuildCompact(data) {
130
+ if (data.success) {
131
+ const id = data.imageId ? ` → ${data.imageId}` : "";
132
+ return `Build succeeded in ${data.duration}s${id}`;
133
+ }
134
+ return `Build failed (${data.duration}s, ${data.errorCount} errors)`;
135
+ }
136
+ export function compactLogsMap(data) {
137
+ const HEAD_SIZE = 5;
138
+ const TAIL_SIZE = 5;
139
+ return {
140
+ container: data.container,
141
+ total: data.total,
142
+ head: data.lines.slice(0, HEAD_SIZE),
143
+ tail: data.total > HEAD_SIZE + TAIL_SIZE ? data.lines.slice(-TAIL_SIZE) : [],
144
+ };
145
+ }
146
+ export function formatLogsCompact(data) {
147
+ const parts = [`${data.container} (${data.total} lines)`];
148
+ if (data.head.length)
149
+ parts.push(data.head.join("\n"));
150
+ if (data.tail.length)
151
+ parts.push(` ... ${data.total - data.head.length - data.tail.length} lines omitted ...`, data.tail.join("\n"));
152
+ return parts.join("\n");
153
+ }
154
+ export function compactPullMap(data) {
155
+ return {
156
+ image: data.image,
157
+ tag: data.tag,
158
+ success: data.success,
159
+ };
160
+ }
161
+ export function formatPullCompact(data) {
162
+ if (!data.success)
163
+ return `Pull failed for ${data.image}:${data.tag}`;
164
+ return `Pulled ${data.image}:${data.tag}`;
165
+ }
166
+ export function compactRunMap(data) {
167
+ return {
168
+ containerId: data.containerId,
169
+ image: data.image,
170
+ detached: data.detached,
171
+ };
172
+ }
173
+ export function formatRunCompact(data) {
174
+ const mode = data.detached ? "detached" : "attached";
175
+ return `Container ${data.containerId} from ${data.image} [${mode}]`;
176
+ }
177
+ export function compactExecMap(data) {
178
+ return {
179
+ exitCode: data.exitCode,
180
+ success: data.success,
181
+ };
182
+ }
183
+ export function formatExecCompact(data) {
184
+ return data.success ? "Exec succeeded" : `Exec failed (exit code ${data.exitCode})`;
185
+ }
186
+ export function compactComposeUpMap(data) {
187
+ return {
188
+ success: data.success,
189
+ started: data.started,
190
+ };
191
+ }
192
+ export function formatComposeUpCompact(data) {
193
+ if (!data.success)
194
+ return "Compose up failed";
195
+ return `Compose up: ${data.started} services started`;
196
+ }
197
+ export function compactComposeDownMap(data) {
198
+ return {
199
+ success: data.success,
200
+ stopped: data.stopped,
201
+ removed: data.removed,
202
+ };
203
+ }
204
+ export function formatComposeDownCompact(data) {
205
+ if (!data.success)
206
+ return "Compose down failed";
207
+ return `Compose down: ${data.stopped} stopped, ${data.removed} removed`;
208
+ }
39
209
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;IAC9F,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM;YAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC9H,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAiB;IAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,CAAC,sBAAsB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,OAAO;YAAE,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;QAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,iBAAiB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAgB;IACzC,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAkB;IAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,kBAAkB,CAAC;IAEhD,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,UAAU,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,UAAU,GAAG,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,20 @@
1
- import type { DockerPs, DockerBuild, DockerLogs, DockerImages } from "../schemas/index.js";
1
+ import type { DockerPs, DockerBuild, DockerLogs, DockerImages, DockerRun, DockerExec, DockerComposeUp, DockerComposeDown, DockerPull } from "../schemas/index.js";
2
+ /** Parses `docker ps --format json` output into structured container data with ports and state. */
2
3
  export declare function parsePsJson(stdout: string): DockerPs;
4
+ /** Parses `docker build` output into structured results with success status, image ID, and errors. */
3
5
  export declare function parseBuildOutput(stdout: string, stderr: string, exitCode: number, duration: number): DockerBuild;
6
+ /** Parses `docker logs` output into structured data with container name and log lines. */
4
7
  export declare function parseLogsOutput(stdout: string, container: string): DockerLogs;
8
+ /** Parses `docker images --format json` output into structured image data with repository, tag, and size. */
5
9
  export declare function parseImagesJson(stdout: string): DockerImages;
10
+ /** Parses `docker run` output into structured data with container ID and image info. */
11
+ export declare function parseRunOutput(stdout: string, image: string, detached: boolean, name?: string): DockerRun;
12
+ /** Parses `docker exec` output into structured data with exit code, stdout, stderr, and success. */
13
+ export declare function parseExecOutput(stdout: string, stderr: string, exitCode: number): DockerExec;
14
+ /** Parses `docker compose up` output into structured data with service names and started count. */
15
+ export declare function parseComposeUpOutput(stdout: string, stderr: string, exitCode: number): DockerComposeUp;
16
+ /** Parses `docker compose down` output into structured data with stopped and removed counts. */
17
+ export declare function parseComposeDownOutput(stdout: string, stderr: string, exitCode: number): DockerComposeDown;
18
+ /** Parses `docker pull` output into structured data with image, tag, digest, and success flag. */
19
+ export declare function parsePullOutput(stdout: string, stderr: string, exitCode: number, image: string): DockerPull;
6
20
  //# 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,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE3F,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAwBpD;AAgCD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,WAAW,CAwBb;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAO7E;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAc5D"}
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,EACX,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,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,CAO7E;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"}
@@ -1,3 +1,4 @@
1
+ /** Parses `docker ps --format json` output into structured container data with ports and state. */
1
2
  export function parsePsJson(stdout) {
2
3
  // docker ps --format json returns one JSON object per line
3
4
  const lines = stdout.trim().split("\n").filter(Boolean);
@@ -46,6 +47,7 @@ function parsePorts(portsStr) {
46
47
  return { container: port, protocol };
47
48
  });
48
49
  }
50
+ /** Parses `docker build` output into structured results with success status, image ID, and errors. */
49
51
  export function parseBuildOutput(stdout, stderr, exitCode, duration) {
50
52
  const errors = [];
51
53
  const imageIdMatch = stdout.match(/writing image sha256:([a-f0-9]+)/i) ||
@@ -67,6 +69,7 @@ export function parseBuildOutput(stdout, stderr, exitCode, duration) {
67
69
  errors,
68
70
  };
69
71
  }
72
+ /** Parses `docker logs` output into structured data with container name and log lines. */
70
73
  export function parseLogsOutput(stdout, container) {
71
74
  const lines = stdout.split("\n").filter(Boolean);
72
75
  return {
@@ -75,6 +78,7 @@ export function parseLogsOutput(stdout, container) {
75
78
  total: lines.length,
76
79
  };
77
80
  }
81
+ /** Parses `docker images --format json` output into structured image data with repository, tag, and size. */
78
82
  export function parseImagesJson(stdout) {
79
83
  const lines = stdout.trim().split("\n").filter(Boolean);
80
84
  const images = lines.map((line) => {
@@ -89,4 +93,93 @@ export function parseImagesJson(stdout) {
89
93
  });
90
94
  return { images, total: images.length };
91
95
  }
96
+ /** Parses `docker run` output into structured data with container ID and image info. */
97
+ export function parseRunOutput(stdout, image, detached, name) {
98
+ // When detached, docker run outputs the full container ID
99
+ const containerId = stdout.trim().split("\n").pop()?.trim() ?? "";
100
+ return {
101
+ containerId: containerId.slice(0, 12),
102
+ image,
103
+ detached,
104
+ ...(name ? { name } : {}),
105
+ };
106
+ }
107
+ /** Parses `docker exec` output into structured data with exit code, stdout, stderr, and success. */
108
+ export function parseExecOutput(stdout, stderr, exitCode) {
109
+ return {
110
+ exitCode,
111
+ stdout,
112
+ stderr,
113
+ success: exitCode === 0,
114
+ };
115
+ }
116
+ /** Parses `docker compose up` output into structured data with service names and started count. */
117
+ export function parseComposeUpOutput(stdout, stderr, exitCode) {
118
+ // Compose v2 outputs to stderr; service names appear in lines like:
119
+ // ✔ Container myapp-web-1 Started
120
+ // ✔ Container myapp-db-1 Started
121
+ // Or: Container myapp-web-1 Creating / Created / Starting / Started
122
+ const combined = stdout + "\n" + stderr;
123
+ const serviceSet = new Set();
124
+ // Match "Container <name> Started" or "Container <name> Running"
125
+ const startedPattern = /Container\s+(\S+)\s+(?:Started|Running|Created)/g;
126
+ let match;
127
+ while ((match = startedPattern.exec(combined)) !== null) {
128
+ serviceSet.add(match[1]);
129
+ }
130
+ // Also match "service "<name>" started" pattern (older compose output)
131
+ const servicePattern = /[Ss]ervice\s+"?(\S+?)"?\s+(?:started|created)/g;
132
+ while ((match = servicePattern.exec(combined)) !== null) {
133
+ serviceSet.add(match[1]);
134
+ }
135
+ const services = [...serviceSet];
136
+ return {
137
+ success: exitCode === 0,
138
+ services,
139
+ started: services.length,
140
+ };
141
+ }
142
+ /** Parses `docker compose down` output into structured data with stopped and removed counts. */
143
+ export function parseComposeDownOutput(stdout, stderr, exitCode) {
144
+ const combined = stdout + "\n" + stderr;
145
+ let stopped = 0;
146
+ let removed = 0;
147
+ // Match "Container <name> Stopped"
148
+ const stoppedPattern = /Container\s+\S+\s+Stopped/g;
149
+ while (stoppedPattern.exec(combined) !== null) {
150
+ stopped++;
151
+ }
152
+ // Match "Container <name> Removed"
153
+ const removedPattern = /Container\s+\S+\s+Removed/g;
154
+ while (removedPattern.exec(combined) !== null) {
155
+ removed++;
156
+ }
157
+ // Also count network/volume removals as part of removed
158
+ const networkPattern = /Network\s+\S+\s+Removed/g;
159
+ while (networkPattern.exec(combined) !== null) {
160
+ removed++;
161
+ }
162
+ return {
163
+ success: exitCode === 0,
164
+ stopped,
165
+ removed,
166
+ };
167
+ }
168
+ /** Parses `docker pull` output into structured data with image, tag, digest, and success flag. */
169
+ export function parsePullOutput(stdout, stderr, exitCode, image) {
170
+ const combined = stdout + "\n" + stderr;
171
+ // Extract tag from image string (e.g., "nginx:latest" -> "latest", "nginx" -> "latest")
172
+ const parts = image.split(":");
173
+ const tag = parts.length > 1 ? parts[parts.length - 1] : "latest";
174
+ const imageName = parts.length > 1 ? parts.slice(0, -1).join(":") : image;
175
+ // Extract digest from "Digest: sha256:abc123..."
176
+ const digestMatch = combined.match(/Digest:\s*(sha256:[a-f0-9]+)/);
177
+ const digest = digestMatch?.[1];
178
+ return {
179
+ image: imageName,
180
+ tag,
181
+ ...(digest ? { digest } : {}),
182
+ success: exitCode === 0,
183
+ };
184
+ }
92
185
  //# sourceMappingURL=parsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,2DAA2D;IAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;YACtB,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE;YAC7B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;YACtB,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC,WAAW,EAAE;YAC3C,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE;SAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAEvE,OAAO;QACL,UAAU;QACV,KAAK,EAAE,UAAU,CAAC,MAAM;QACxB,OAAO;QACP,OAAO,EAAE,UAAU,CAAC,MAAM,GAAG,OAAO;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,QAAgB;IAEhB,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAEzB,kCAAkC;IAClC,OAAO,QAAQ;SACZ,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAkB,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO;gBACL,IAAI,EAAE,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE,EAAE,CAAC;gBACnC,SAAS,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC;gBACtC,QAAQ;aACT,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB;IAEhB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,YAAY,GAChB,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC;QACjD,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEpD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;aACxC,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,OAAO;QACL,OAAO,EAAE,QAAQ,KAAK,CAAC;QACvB,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QACxC,QAAQ;QACR,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3B,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,SAAiB;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO;QACL,SAAS;QACT,KAAK;QACL,KAAK,EAAE,KAAK,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,OAAO;YACL,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;YAChC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;YACpB,OAAO,EAAE,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE;SACjD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"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"}