@procedures/docker 0.2.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +47 -0
- package/README.md +40 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +4 -1
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +252 -1
- package/dist/module.js.map +1 -1
- package/dist/procedures/docker/compose/build.d.ts +12 -0
- package/dist/procedures/docker/compose/build.d.ts.map +1 -0
- package/dist/procedures/docker/compose/build.js +22 -0
- package/dist/procedures/docker/compose/build.js.map +1 -0
- package/dist/procedures/docker/compose/logs.d.ts +13 -0
- package/dist/procedures/docker/compose/logs.d.ts.map +1 -0
- package/dist/procedures/docker/compose/logs.js +23 -0
- package/dist/procedures/docker/compose/logs.js.map +1 -0
- package/dist/procedures/docker/compose/ps.d.ts +12 -0
- package/dist/procedures/docker/compose/ps.d.ts.map +1 -0
- package/dist/procedures/docker/compose/ps.js +19 -0
- package/dist/procedures/docker/compose/ps.js.map +1 -0
- package/dist/procedures/docker/compose/restart.d.ts +12 -0
- package/dist/procedures/docker/compose/restart.d.ts.map +1 -0
- package/dist/procedures/docker/compose/restart.js +17 -0
- package/dist/procedures/docker/compose/restart.js.map +1 -0
- package/dist/procedures/docker/exec.d.ts.map +1 -1
- package/dist/procedures/docker/exec.js +7 -2
- package/dist/procedures/docker/exec.js.map +1 -1
- package/dist/procedures/docker/images.d.ts +12 -0
- package/dist/procedures/docker/images.d.ts.map +1 -0
- package/dist/procedures/docker/images.js +22 -0
- package/dist/procedures/docker/images.js.map +1 -0
- package/dist/procedures/docker/index.d.ts +15 -0
- package/dist/procedures/docker/index.d.ts.map +1 -1
- package/dist/procedures/docker/index.js +15 -0
- package/dist/procedures/docker/index.js.map +1 -1
- package/dist/procedures/docker/inspect.d.ts +13 -0
- package/dist/procedures/docker/inspect.d.ts.map +1 -0
- package/dist/procedures/docker/inspect.js +30 -0
- package/dist/procedures/docker/inspect.js.map +1 -0
- package/dist/procedures/docker/network/create.d.ts +13 -0
- package/dist/procedures/docker/network/create.d.ts.map +1 -0
- package/dist/procedures/docker/network/create.js +21 -0
- package/dist/procedures/docker/network/create.js.map +1 -0
- package/dist/procedures/docker/network/list.d.ts +12 -0
- package/dist/procedures/docker/network/list.d.ts.map +1 -0
- package/dist/procedures/docker/network/list.js +18 -0
- package/dist/procedures/docker/network/list.js.map +1 -0
- package/dist/procedures/docker/network/remove.d.ts +12 -0
- package/dist/procedures/docker/network/remove.d.ts.map +1 -0
- package/dist/procedures/docker/network/remove.js +14 -0
- package/dist/procedures/docker/network/remove.js.map +1 -0
- package/dist/procedures/docker/prune.d.ts +14 -0
- package/dist/procedures/docker/prune.d.ts.map +1 -0
- package/dist/procedures/docker/prune.js +30 -0
- package/dist/procedures/docker/prune.js.map +1 -0
- package/dist/procedures/docker/push.d.ts +13 -0
- package/dist/procedures/docker/push.d.ts.map +1 -0
- package/dist/procedures/docker/push.js +18 -0
- package/dist/procedures/docker/push.js.map +1 -0
- package/dist/procedures/docker/run.d.ts.map +1 -1
- package/dist/procedures/docker/run.js +3 -5
- package/dist/procedures/docker/run.js.map +1 -1
- package/dist/procedures/docker/shared.d.ts +16 -0
- package/dist/procedures/docker/shared.d.ts.map +1 -1
- package/dist/procedures/docker/shared.js +24 -0
- package/dist/procedures/docker/shared.js.map +1 -1
- package/dist/procedures/docker/tag.d.ts +12 -0
- package/dist/procedures/docker/tag.d.ts.map +1 -0
- package/dist/procedures/docker/tag.js +14 -0
- package/dist/procedures/docker/tag.js.map +1 -0
- package/dist/procedures/docker/volume/create.d.ts +13 -0
- package/dist/procedures/docker/volume/create.d.ts.map +1 -0
- package/dist/procedures/docker/volume/create.js +20 -0
- package/dist/procedures/docker/volume/create.js.map +1 -0
- package/dist/procedures/docker/volume/list.d.ts +12 -0
- package/dist/procedures/docker/volume/list.d.ts.map +1 -0
- package/dist/procedures/docker/volume/list.js +18 -0
- package/dist/procedures/docker/volume/list.js.map +1 -0
- package/dist/procedures/docker/volume/remove.d.ts +13 -0
- package/dist/procedures/docker/volume/remove.d.ts.map +1 -0
- package/dist/procedures/docker/volume/remove.js +18 -0
- package/dist/procedures/docker/volume/remove.js.map +1 -0
- package/dist/types.d.ts +170 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +180 -4
- package/dist/types.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +46 -0
- package/src/module.ts +329 -1
- package/src/procedures/docker/compose/build.ts +23 -0
- package/src/procedures/docker/compose/logs.ts +23 -0
- package/src/procedures/docker/compose/ps.ts +20 -0
- package/src/procedures/docker/compose/restart.ts +19 -0
- package/src/procedures/docker/exec.ts +7 -2
- package/src/procedures/docker/images.ts +21 -0
- package/src/procedures/docker/index.ts +15 -0
- package/src/procedures/docker/inspect.ts +31 -0
- package/src/procedures/docker/network/create.ts +22 -0
- package/src/procedures/docker/network/list.ts +19 -0
- package/src/procedures/docker/network/remove.ts +17 -0
- package/src/procedures/docker/prune.ts +30 -0
- package/src/procedures/docker/push.ts +20 -0
- package/src/procedures/docker/run.ts +3 -5
- package/src/procedures/docker/shared.ts +28 -0
- package/src/procedures/docker/tag.ts +17 -0
- package/src/procedures/docker/volume/create.ts +21 -0
- package/src/procedures/docker/volume/list.ts +19 -0
- package/src/procedures/docker/volume/remove.ts +20 -0
- package/src/types.ts +360 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# @procedures/docker
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 2392f9e: More docker procedures (roadmap R41): `docker.compose.ps`, `docker.compose.logs`, `docker.compose.build`, `docker.compose.restart`, `docker.images`, `docker.inspect` (with `data`, the parsed JSON), `docker.volume.list`, `docker.volume.create`, `docker.volume.remove`, `docker.network.list`, `docker.network.create`, `docker.network.remove`, `docker.tag`, `docker.push` and `docker.prune`. Each one declares its effects and `calls: ["shell.run"]`. `docker.prune` is destructive and needs `confirm: true`.
|
|
8
|
+
|
|
9
|
+
`docker.run` and `docker.exec` take `args`, the command as a list of arguments. R32 found that `command`, split at whitespace, cannot carry an argument with a space or quotes. `command` still works. The two together are an error, and `docker.exec` needs one of them.
|
|
10
|
+
|
|
11
|
+
`docker.*` is a namespace of the MCP tools, so the dev-tools MCP server gets the new procedures as tools when `bundle-mcp` and the snapshots of `impl-mcp-dev` take them.
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- c5528e4: Streams that can run without an end (roadmap R15). A procedure declares `stream: { unbounded: true }` in its metadata (`docker.logs`, for `follow`, and `shell.stream` do). `ProcedureServer` marks its stream response, and the faces that collect a stream obey the mark: HTTP without NDJSON answers 406 `NOT_ACCEPTABLE` at once (before, the request waited until a timeout), and the MCP transport stops the stream at its `streamLimits` (default 100 items or 30 seconds) and says so in the result (before, `docker.logs` with `follow` ended only at the time limit of 10 minutes).
|
|
16
|
+
- Updated dependencies [ddea529]
|
|
17
|
+
- Updated dependencies [b2a3e3a]
|
|
18
|
+
- Updated dependencies [a8c47f1]
|
|
19
|
+
- Updated dependencies [381ce3a]
|
|
20
|
+
- Updated dependencies [0c627f8]
|
|
21
|
+
- Updated dependencies [ae7f05f]
|
|
22
|
+
- Updated dependencies [7873940]
|
|
23
|
+
- Updated dependencies [a70d445]
|
|
24
|
+
- Updated dependencies [bc70357]
|
|
25
|
+
- Updated dependencies [07cc998]
|
|
26
|
+
- Updated dependencies [a6b01a9]
|
|
27
|
+
- Updated dependencies [c799cdd]
|
|
28
|
+
- Updated dependencies [540f8d9]
|
|
29
|
+
- Updated dependencies [b6daaec]
|
|
30
|
+
- Updated dependencies [5b9264e]
|
|
31
|
+
- Updated dependencies [956e88b]
|
|
32
|
+
- Updated dependencies [ff62281]
|
|
33
|
+
- Updated dependencies [d81d0ed]
|
|
34
|
+
- Updated dependencies [aa67cc7]
|
|
35
|
+
- Updated dependencies [061fa22]
|
|
36
|
+
- Updated dependencies [cfb9d69]
|
|
37
|
+
- Updated dependencies [43f7de5]
|
|
38
|
+
- Updated dependencies [b07bb50]
|
|
39
|
+
- Updated dependencies [4a3bfa1]
|
|
40
|
+
- Updated dependencies [bd0b626]
|
|
41
|
+
- Updated dependencies [a6be873]
|
|
42
|
+
- Updated dependencies [fb30718]
|
|
43
|
+
- Updated dependencies [c5528e4]
|
|
44
|
+
- Updated dependencies [fee5d9c]
|
|
45
|
+
- Updated dependencies [21f7743]
|
|
46
|
+
- Updated dependencies [31a0b46]
|
|
47
|
+
- @procedures/client@0.3.0
|
|
48
|
+
- @procedures/shell@0.3.0
|
|
49
|
+
|
|
3
50
|
## 0.2.3
|
|
4
51
|
|
|
5
52
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
### Key Features
|
|
13
13
|
|
|
14
|
-
- **Comprehensive Docker Coverage**: Run, build, pull, exec, stop, rm, ps, logs commands
|
|
14
|
+
- **Comprehensive Docker Coverage**: Run, build, pull, push, tag, exec, stop, rm, ps, logs, images, inspect, volume, network and prune commands
|
|
15
15
|
- **Docker Compose Support**: Up and down operations for multi-container applications
|
|
16
16
|
- **Type-Safe Inputs**: Zod schemas for all inputs with full TypeScript support
|
|
17
17
|
- **Shell Integration**: Leverages `client-shell` for reliable CLI execution
|
|
@@ -267,7 +267,8 @@ Run a Docker container.
|
|
|
267
267
|
env?: Record<string, string>; // Environment variables
|
|
268
268
|
detach?: boolean; // Run in background (default: false)
|
|
269
269
|
rm?: boolean; // Auto-remove when stopped (default: false)
|
|
270
|
-
command?: string; // Command to run in container
|
|
270
|
+
command?: string; // Command to run in container, split at whitespace
|
|
271
|
+
args?: string[]; // The command as a list: each item is one argument (not with command)
|
|
271
272
|
cwd?: string; // Working directory for command
|
|
272
273
|
timeout?: number; // Command timeout in ms
|
|
273
274
|
}
|
|
@@ -346,7 +347,8 @@ Execute a command in a running container.
|
|
|
346
347
|
```typescript
|
|
347
348
|
{
|
|
348
349
|
container: string; // Required: Container name or ID
|
|
349
|
-
command
|
|
350
|
+
command?: string; // Command to execute, split at whitespace
|
|
351
|
+
args?: string[]; // The command as a list: each item is one argument. Give command or args
|
|
350
352
|
interactive?: boolean; // Allocate stdin (default: false)
|
|
351
353
|
tty?: boolean; // Allocate pseudo-TTY (default: false)
|
|
352
354
|
workdir?: string; // Working directory inside container
|
|
@@ -517,6 +519,41 @@ await client.exec(["docker", "compose", "down"], {
|
|
|
517
519
|
});
|
|
518
520
|
```
|
|
519
521
|
|
|
522
|
+
### More procedures (roadmap R41)
|
|
523
|
+
|
|
524
|
+
Each procedure gives the common output type, and takes `cwd` and `timeout`. A failed command does not throw. A name, an image or a service that starts with `-` is refused, because docker reads it as an option. The effects column shows `metadata.effects`.
|
|
525
|
+
|
|
526
|
+
| Procedure | Input | Effects |
|
|
527
|
+
|---|---|---|
|
|
528
|
+
| `docker.compose.ps` | `file`, `services`, `all`, `format` | reads docker and fs |
|
|
529
|
+
| `docker.compose.logs` | `file`, `services`, `tail`, `since`, `timestamps` | reads docker and fs |
|
|
530
|
+
| `docker.compose.build` | `file`, `services`, `noCache`, `pull`, `buildArgs` | reads docker, fs and network, writes docker and process, not destructive |
|
|
531
|
+
| `docker.compose.restart` | `file`, `services`, `time` | reads docker and fs, writes docker |
|
|
532
|
+
| `docker.images` | `repository`, `all`, `filter`, `format` | reads docker |
|
|
533
|
+
| `docker.inspect` | `targets` (one or more), `type`, `format` | reads docker |
|
|
534
|
+
| `docker.volume.list` | `filter`, `format` | reads docker |
|
|
535
|
+
| `docker.volume.create` | `name`, `driver`, `labels` | writes docker, not destructive, idempotent |
|
|
536
|
+
| `docker.volume.remove` | `volumes` (one or more), `force` | writes docker, destructive, idempotent |
|
|
537
|
+
| `docker.network.list` | `filter`, `format` | reads docker |
|
|
538
|
+
| `docker.network.create` | `name`, `driver`, `internal`, `labels` | writes docker, not destructive, idempotent |
|
|
539
|
+
| `docker.network.remove` | `networks` (one or more) | writes docker, destructive, idempotent |
|
|
540
|
+
| `docker.tag` | `source`, `target` | writes docker, idempotent |
|
|
541
|
+
| `docker.push` | `image`, `allTags` | reads docker and network, writes network, idempotent |
|
|
542
|
+
| `docker.prune` | `kind`, `all`, `volumes`, `filter`, `confirm` | writes docker, destructive, idempotent |
|
|
543
|
+
|
|
544
|
+
- `docker.inspect` gives `data`: the parsed JSON of docker. With `format`, docker writes text, and `data` is absent.
|
|
545
|
+
- `docker.compose.logs` does not follow the logs. It gives the lines that exist.
|
|
546
|
+
- `docker.prune` needs `confirm: true`. The removed objects and their data are lost. The `kind` is `system` (the default), `container`, `image`, `volume`, `network` or `builder`.
|
|
547
|
+
- `docker.tag` moves the name from another image. `docker.push` replaces the image of the tag in the registry.
|
|
548
|
+
|
|
549
|
+
`docker.run` and `docker.exec` take `args`, a list of arguments, in place of `command`. Docker gets each item as one argument, so an argument can contain spaces and quotes. `command` still works, split at whitespace. The two together are an error.
|
|
550
|
+
|
|
551
|
+
```typescript
|
|
552
|
+
await client.exec(["docker", "exec"], { container: "db", args: ["psql", "-c", "SELECT 'a b'"] });
|
|
553
|
+
const { data } = await client.exec(["docker", "inspect"], { targets: ["db"], type: "container" });
|
|
554
|
+
await client.exec(["docker", "prune"], { kind: "image", all: true, confirm: true });
|
|
555
|
+
```
|
|
556
|
+
|
|
520
557
|
## Types
|
|
521
558
|
|
|
522
559
|
### Input Types
|