@mootup/moot-cli 0.5.0 → 0.5.2
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/docker.d.ts +31 -6
- package/dist/docker.d.ts.map +1 -1
- package/dist/docker.js +87 -6
- package/dist/docker.js.map +1 -1
- package/package.json +1 -1
package/dist/docker.d.ts
CHANGED
|
@@ -31,15 +31,39 @@ export declare function devcontainerUp(workspace: string, deps?: DockerDeps): Pr
|
|
|
31
31
|
/**
|
|
32
32
|
* Resolve the user `docker exec` should run as for container `cid`.
|
|
33
33
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
34
|
+
* Prefers the devcontainer's configured `remoteUser` (read from the
|
|
35
|
+
* `devcontainer.metadata` label the devcontainer CLI stamps), then the image's
|
|
36
|
+
* `Config.User`, then `'node'`. The remoteUser must win because the image's
|
|
37
|
+
* `Config.User` is commonly `root` even when the devcontainer runs as a
|
|
38
|
+
* non-root user (e.g. `node`): execing as root would create root-owned files in
|
|
39
|
+
* the bind-mounted workspace and trip git's "dubious ownership" guard against
|
|
40
|
+
* the (user-owned) repo. Falls back gracefully on inspect failure (empty
|
|
41
|
+
* stdout) so a USER-less image or a vanished container degrades to `'node'`.
|
|
39
42
|
*/
|
|
40
43
|
export declare function getContainerUser(cid: string, deps?: DockerDeps): string;
|
|
41
44
|
/**
|
|
42
|
-
*
|
|
45
|
+
* Extract the effective `remoteUser` from a `devcontainer.metadata` label.
|
|
46
|
+
*
|
|
47
|
+
* The label is a JSON array of config fragments (from the devcontainer.json and
|
|
48
|
+
* each feature); the effective value is the LAST fragment that sets one (merge
|
|
49
|
+
* order). Returns null when the label is absent, unparseable, or sets no
|
|
50
|
+
* remoteUser.
|
|
51
|
+
*/
|
|
52
|
+
export declare function remoteUserFromMetadata(metadataJson: string): string | null;
|
|
53
|
+
/**
|
|
54
|
+
* Resolve the in-container working directory `docker exec` should run from.
|
|
55
|
+
*
|
|
56
|
+
* The container's `Config.WorkingDir` is `/` for a devcontainer, so a bare
|
|
57
|
+
* `docker exec ... moot up` lands in `/` and the in-container `moot` never finds
|
|
58
|
+
* `moot.toml` (its `find_config()` walks cwd→parents from `/`). The devcontainer
|
|
59
|
+
* CLI bind-mounts the project root to `/workspaces/<name>`, so we read the
|
|
60
|
+
* container's mounts and return that destination. Returns null when no such
|
|
61
|
+
* mount exists or inspect fails — callers then omit `-w` (status-quo behavior).
|
|
62
|
+
*/
|
|
63
|
+
export declare function getContainerWorkdir(cid: string, deps?: DockerDeps): string | null;
|
|
64
|
+
/**
|
|
65
|
+
* Run `docker exec --user <user> [-w <workdir>] [-it] <cid> <args...>`. The user
|
|
66
|
+
* defaults to
|
|
43
67
|
* the container's configured `Config.User` (resolved via {@link getContainerUser}),
|
|
44
68
|
* so devcontainers with a non-`node` user (e.g. `dev`, `vscode`) work without
|
|
45
69
|
* per-project patching; pass `options.user` to override (e.g. `'root'`). Streams
|
|
@@ -50,6 +74,7 @@ export declare function getContainerUser(cid: string, deps?: DockerDeps): string
|
|
|
50
74
|
export declare function execInContainer(cid: string, args: readonly string[], options?: {
|
|
51
75
|
interactive?: boolean;
|
|
52
76
|
user?: string;
|
|
77
|
+
workdir?: string;
|
|
53
78
|
}, deps?: DockerDeps): Promise<number>;
|
|
54
79
|
/**
|
|
55
80
|
* Helper: look up cid for cwd or throw the standard "no container" error.
|
package/dist/docker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGzE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,YAAY,KACnB,WAAW,CAAC;AAEjB,MAAM,MAAM,MAAM,GAAG,CACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACnE,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,gBAAgB,EAAE,OAU9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAQ5B,CAAC;AAEL,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED
|
|
1
|
+
{"version":3,"file":"docker.d.ts","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGzE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,OAAO,GAAG,CACpB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,YAAY,KACnB,WAAW,CAAC;AAEjB,MAAM,MAAM,MAAM,GAAG,CACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACnE,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,gBAAgB,EAAE,OAU9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAQ5B,CAAC;AAEL,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,MAAM,GAAG,IAAI,CAUf;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,CAa3E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,GAAG,MAAM,GAAG,IAAI,CAmBrF;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,EACxE,IAAI,GAAE,UAAe,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,UAAe,GACpB,MAAM,CASR"}
|
package/dist/docker.js
CHANGED
|
@@ -64,21 +64,95 @@ export async function devcontainerUp(workspace, deps = {}) {
|
|
|
64
64
|
/**
|
|
65
65
|
* Resolve the user `docker exec` should run as for container `cid`.
|
|
66
66
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
67
|
+
* Prefers the devcontainer's configured `remoteUser` (read from the
|
|
68
|
+
* `devcontainer.metadata` label the devcontainer CLI stamps), then the image's
|
|
69
|
+
* `Config.User`, then `'node'`. The remoteUser must win because the image's
|
|
70
|
+
* `Config.User` is commonly `root` even when the devcontainer runs as a
|
|
71
|
+
* non-root user (e.g. `node`): execing as root would create root-owned files in
|
|
72
|
+
* the bind-mounted workspace and trip git's "dubious ownership" guard against
|
|
73
|
+
* the (user-owned) repo. Falls back gracefully on inspect failure (empty
|
|
74
|
+
* stdout) so a USER-less image or a vanished container degrades to `'node'`.
|
|
72
75
|
*/
|
|
73
76
|
export function getContainerUser(cid, deps = {}) {
|
|
74
77
|
const spawnFn = deps.spawnSyncFn ?? defaultSpawnSync;
|
|
78
|
+
const meta = spawnFn('docker', [
|
|
79
|
+
'inspect', '--format', '{{index .Config.Labels "devcontainer.metadata"}}', cid,
|
|
80
|
+
]);
|
|
81
|
+
if (meta.status === 0) {
|
|
82
|
+
const remoteUser = remoteUserFromMetadata(meta.stdout);
|
|
83
|
+
if (remoteUser)
|
|
84
|
+
return remoteUser;
|
|
85
|
+
}
|
|
75
86
|
const result = spawnFn('docker', [
|
|
76
87
|
'inspect', '--format', '{{.Config.User}}', cid,
|
|
77
88
|
]);
|
|
78
89
|
return result.stdout.trim() || 'node';
|
|
79
90
|
}
|
|
80
91
|
/**
|
|
81
|
-
*
|
|
92
|
+
* Extract the effective `remoteUser` from a `devcontainer.metadata` label.
|
|
93
|
+
*
|
|
94
|
+
* The label is a JSON array of config fragments (from the devcontainer.json and
|
|
95
|
+
* each feature); the effective value is the LAST fragment that sets one (merge
|
|
96
|
+
* order). Returns null when the label is absent, unparseable, or sets no
|
|
97
|
+
* remoteUser.
|
|
98
|
+
*/
|
|
99
|
+
export function remoteUserFromMetadata(metadataJson) {
|
|
100
|
+
const trimmed = metadataJson.trim();
|
|
101
|
+
if (!trimmed)
|
|
102
|
+
return null;
|
|
103
|
+
let parsed;
|
|
104
|
+
try {
|
|
105
|
+
parsed = JSON.parse(trimmed);
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
const fragments = Array.isArray(parsed) ? parsed : [parsed];
|
|
111
|
+
let user = null;
|
|
112
|
+
for (const frag of fragments) {
|
|
113
|
+
if (frag && typeof frag === 'object') {
|
|
114
|
+
const ru = frag.remoteUser;
|
|
115
|
+
if (typeof ru === 'string' && ru)
|
|
116
|
+
user = ru; // last one wins
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return user;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Resolve the in-container working directory `docker exec` should run from.
|
|
123
|
+
*
|
|
124
|
+
* The container's `Config.WorkingDir` is `/` for a devcontainer, so a bare
|
|
125
|
+
* `docker exec ... moot up` lands in `/` and the in-container `moot` never finds
|
|
126
|
+
* `moot.toml` (its `find_config()` walks cwd→parents from `/`). The devcontainer
|
|
127
|
+
* CLI bind-mounts the project root to `/workspaces/<name>`, so we read the
|
|
128
|
+
* container's mounts and return that destination. Returns null when no such
|
|
129
|
+
* mount exists or inspect fails — callers then omit `-w` (status-quo behavior).
|
|
130
|
+
*/
|
|
131
|
+
export function getContainerWorkdir(cid, deps = {}) {
|
|
132
|
+
const spawnFn = deps.spawnSyncFn ?? defaultSpawnSync;
|
|
133
|
+
const result = spawnFn('docker', [
|
|
134
|
+
'inspect', '--format', '{{json .Mounts}}', cid,
|
|
135
|
+
]);
|
|
136
|
+
if (result.status !== 0)
|
|
137
|
+
return null;
|
|
138
|
+
let mounts;
|
|
139
|
+
try {
|
|
140
|
+
mounts = JSON.parse(result.stdout);
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
// Prefer the shortest /workspaces/* destination so the top-level workspace
|
|
146
|
+
// wins over any nested bind (e.g. a separately-mounted .worktrees path).
|
|
147
|
+
const dests = mounts
|
|
148
|
+
.map((m) => m.Destination)
|
|
149
|
+
.filter((d) => typeof d === 'string' && d.startsWith('/workspaces/'))
|
|
150
|
+
.sort((a, b) => a.length - b.length);
|
|
151
|
+
return dests[0] ?? null;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Run `docker exec --user <user> [-w <workdir>] [-it] <cid> <args...>`. The user
|
|
155
|
+
* defaults to
|
|
82
156
|
* the container's configured `Config.User` (resolved via {@link getContainerUser}),
|
|
83
157
|
* so devcontainers with a non-`node` user (e.g. `dev`, `vscode`) work without
|
|
84
158
|
* per-project patching; pass `options.user` to override (e.g. `'root'`). Streams
|
|
@@ -89,11 +163,18 @@ export function getContainerUser(cid, deps = {}) {
|
|
|
89
163
|
export async function execInContainer(cid, args, options = {}, deps = {}) {
|
|
90
164
|
const spawnFn = deps.spawnAsyncFn ?? defaultSpawnAsync;
|
|
91
165
|
const user = options.user ?? getContainerUser(cid, deps);
|
|
166
|
+
// Resolve the workspace folder so the in-container `moot` runs where
|
|
167
|
+
// moot.toml lives (the container's WorkingDir is `/`). An explicit
|
|
168
|
+
// options.workdir wins; otherwise auto-detect from the container's mounts.
|
|
169
|
+
const workdir = options.workdir ?? getContainerWorkdir(cid, deps);
|
|
92
170
|
const dockerArgs = ['exec'];
|
|
93
171
|
if (options.interactive) {
|
|
94
172
|
dockerArgs.push('-it');
|
|
95
173
|
}
|
|
96
174
|
dockerArgs.push('--user', user);
|
|
175
|
+
if (workdir) {
|
|
176
|
+
dockerArgs.push('-w', workdir);
|
|
177
|
+
}
|
|
97
178
|
if (options.interactive) {
|
|
98
179
|
dockerArgs.push('-e', 'TERM=xterm-256color', '-e', 'LANG=C.UTF-8');
|
|
99
180
|
const colorterm = process.env.COLORTERM;
|
package/dist/docker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mootup/moot-cli",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.2",
|
|
4
4
|
"description": "Host-side operator CLI for the Moot agent team workflow. Wraps devcontainer launch and delegates in-container work to the Python moot CLI via docker exec.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|