@appforge-ci/admin-cli 0.3.6 → 0.3.8

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.
@@ -13,12 +13,21 @@ import { BUILD_USER_NAME } from "@appforge-ci/agent/dist/lib/sandbox/build-user.
13
13
  * 2. Adds the operator's OWN account to `_appforgebuild`'s group — not the reverse — so the AGENT can
14
14
  * read back what the build user wrote (artifact staging, hygiene) without ever needing to BE that
15
15
  * user; the build user never needs anything of the operator's.
16
- * 3. Writes the root-owned helper (packages/agent's `build-helper.sh.tmpl`, substituted with this Mac's
16
+ * 3. Grants `_appforgebuild` bare TRAVERSE (search only — no list, read or write) through the operator's
17
+ * home directory and through the cache root, via one narrow ACL entry on each (`chmod +a`, run as the
18
+ * operator — no sudo needed, since the operator already owns both). Both are privately permissioned
19
+ * by default (a macOS home directory; the cache root, see sandbox/cache.ts) and step 1 deliberately
20
+ * keeps the build user out of their group, so without this grant the build user cannot open ANYTHING
21
+ * by an absolute path under either, full stop — confirmed live against a real regulated build, where
22
+ * `sandbox-exec` itself could not open the very profile it had just been told to apply. "Search"
23
+ * lets it reach a path it already knows (the rendered profile; its own already-chowned org cache
24
+ * subdirectory) without being able to list what else is in either directory.
25
+ * 4. Writes the root-owned helper (packages/agent's `build-helper.sh.tmpl`, substituted with this Mac's
17
26
  * real jobs/cache roots) to `/etc/appforge/build-helper.sh`, 0500 root:wheel.
18
- * 4. Writes the pf anchor rules to `/etc/appforge/build-user.pf.conf`, 0600 root:wheel, and loads them
27
+ * 5. Writes the pf anchor rules to `/etc/appforge/build-user.pf.conf`, 0600 root:wheel, and loads them
19
28
  * once immediately (`pfctl -a ... -f ...`) so the Mac is protected right away, not just after the
20
29
  * agent's next restart.
21
- * 5. Appends (never replaces) exactly two lines to the EXISTING `/etc/sudoers.d/appforge-agent`
30
+ * 6. Appends (never replaces) exactly two lines to the EXISTING `/etc/sudoers.d/appforge-agent`
22
31
  * (`infra/mac-mini-setup/bootstrap.sh`'s `REBOOT_HOST` line stays untouched) — one scoping the agent's
23
32
  * user to run ONLY the fixed helper path as root, one scoping it to become ONLY `_appforgebuild`.
24
33
  * Validated with `visudo -c` on a scratch copy BEFORE either line ever reaches the real file: a
@@ -1 +1 @@
1
- {"version":3,"file":"build-user.d.ts","sourceRoot":"","sources":["../../src/lib/build-user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAMvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,aAAa,QAA+C,CAAC;AAC1E,eAAO,MAAM,YAAY,kCAAkC,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,wFAAwF;IACxF,YAAY,IAAI,MAAM,CAAC;IACvB;;;;uCAImC;IACnC,aAAa,IAAI,MAAM,CAAC;IACxB,YAAY,IAAI,OAAO,CAAC;IACxB,6FAA6F;IAC7F,WAAW,IAAI,MAAM,CAAC;IACtB,gHAAgH;IAChH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;yBACqB;IACrB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,IAAI,MAAM,CAAC;IACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyBD,eAAO,MAAM,wBAAwB,EAAE,oBA+CtC,CAAC;AAEF;;;;;;;;;kFASkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAM,EAAE,EAAE,SAAM,GAAG,MAAM,CAQ9E;AAED;;;2GAG2G;AAC3G,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKjH;AAED;;iDAEiD;AACjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjG;AAyDD;;oFAEoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE,oBAA+C,GAAG,IAAI,CAYxH;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EACvF,IAAI,GAAE,oBAA+C,GACpD,IAAI,CAkBN;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"build-user.d.ts","sourceRoot":"","sources":["../../src/lib/build-user.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,eAAe,EAAE,MAAM,mDAAmD,CAAC;AAMvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,aAAa,QAA+C,CAAC;AAC1E,eAAO,MAAM,YAAY,kCAAkC,CAAC;AAE5D,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACpD,wFAAwF;IACxF,YAAY,IAAI,MAAM,CAAC;IACvB;;;;uCAImC;IACnC,aAAa,IAAI,MAAM,CAAC;IACxB,YAAY,IAAI,OAAO,CAAC;IACxB,6FAA6F;IAC7F,WAAW,IAAI,MAAM,CAAC;IACtB,gHAAgH;IAChH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC;yBACqB;IACrB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACtE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,IAAI,MAAM,CAAC;IACjB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAyBD,eAAO,MAAM,wBAAwB,EAAE,oBA+CtC,CAAC;AAEF;;;;;;;;;kFASkF;AAClF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,SAAM,EAAE,EAAE,SAAM,GAAG,MAAM,CAQ9E;AAED;;;2GAG2G;AAC3G,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAKjH;AAED;;iDAEiD;AACjD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjG;AAuFD;;oFAEoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,GAAE,oBAA+C,GAAG,IAAI,CAYxH;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,EACvF,IAAI,GAAE,oBAA+C,GACpD,IAAI,CAmBN;AAGD,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { existsSync, unlinkSync, writeFileSync } from "node:fs";
3
- import { tmpdir } from "node:os";
3
+ import { homedir, tmpdir } from "node:os";
4
4
  import { join } from "node:path";
5
5
  import { BUILD_HELPER_PATH, BUILD_USER_NAME } from "@appforge-ci/agent/dist/lib/sandbox/build-user.js";
6
6
  import { BUILD_HELPER_SCRIPT_TEMPLATE } from "@appforge-ci/agent/dist/lib/sandbox/build-helper-script.generated.js";
@@ -21,12 +21,21 @@ import { cacheRootDir } from "@appforge-ci/agent/dist/lib/sandbox/cache.js";
21
21
  * 2. Adds the operator's OWN account to `_appforgebuild`'s group — not the reverse — so the AGENT can
22
22
  * read back what the build user wrote (artifact staging, hygiene) without ever needing to BE that
23
23
  * user; the build user never needs anything of the operator's.
24
- * 3. Writes the root-owned helper (packages/agent's `build-helper.sh.tmpl`, substituted with this Mac's
24
+ * 3. Grants `_appforgebuild` bare TRAVERSE (search only — no list, read or write) through the operator's
25
+ * home directory and through the cache root, via one narrow ACL entry on each (`chmod +a`, run as the
26
+ * operator — no sudo needed, since the operator already owns both). Both are privately permissioned
27
+ * by default (a macOS home directory; the cache root, see sandbox/cache.ts) and step 1 deliberately
28
+ * keeps the build user out of their group, so without this grant the build user cannot open ANYTHING
29
+ * by an absolute path under either, full stop — confirmed live against a real regulated build, where
30
+ * `sandbox-exec` itself could not open the very profile it had just been told to apply. "Search"
31
+ * lets it reach a path it already knows (the rendered profile; its own already-chowned org cache
32
+ * subdirectory) without being able to list what else is in either directory.
33
+ * 4. Writes the root-owned helper (packages/agent's `build-helper.sh.tmpl`, substituted with this Mac's
25
34
  * real jobs/cache roots) to `/etc/appforge/build-helper.sh`, 0500 root:wheel.
26
- * 4. Writes the pf anchor rules to `/etc/appforge/build-user.pf.conf`, 0600 root:wheel, and loads them
35
+ * 5. Writes the pf anchor rules to `/etc/appforge/build-user.pf.conf`, 0600 root:wheel, and loads them
27
36
  * once immediately (`pfctl -a ... -f ...`) so the Mac is protected right away, not just after the
28
37
  * agent's next restart.
29
- * 5. Appends (never replaces) exactly two lines to the EXISTING `/etc/sudoers.d/appforge-agent`
38
+ * 6. Appends (never replaces) exactly two lines to the EXISTING `/etc/sudoers.d/appforge-agent`
30
39
  * (`infra/mac-mini-setup/bootstrap.sh`'s `REBOOT_HOST` line stays untouched) — one scoping the agent's
31
40
  * user to run ONLY the fixed helper path as root, one scoping it to become ONLY `_appforgebuild`.
32
41
  * Validated with `visudo -c` on a scratch copy BEFORE either line ever reaches the real file: a
@@ -191,6 +200,35 @@ function ensureAgentUserInBuildGroup(agentUser, group, deps) {
191
200
  deps.log(`\n==> Adding '${agentUser}' to '${group}' (so the agent can read back what the build user wrote: artifacts, hygiene)`);
192
201
  deps.run("sudo", ["dseditgroup", "-o", "edit", "-a", agentUser, "-t", "user", group]);
193
202
  }
203
+ /** Grants `user` bare TRAVERSE (not list, read or write) through the operator's home directory and
204
+ * through the cache root — both privately permissioned by default (0750 for a macOS home directory;
205
+ * 0700 for the cache root, see sandbox/cache.ts), and `user` is deliberately not a member of either
206
+ * directory's group (see `ensureBuildUserAccount`'s docblock). Without this, build-user mode cannot
207
+ * open ANYTHING by an absolute path under either at all: confirmed live against a real regulated build
208
+ * that `sandbox-exec` itself could not open the very profile it had just been told to apply, because
209
+ * reaching it runs through the home directory; separately, that the build user could not reach its own
210
+ * (already-chowned) org cache subdirectory through the cache root sitting above it.
211
+ *
212
+ * `allow search` is the ACL equivalent of the Unix "x without r" rule: it lets `user` reach a NAMED
213
+ * child it already knows the path to (the rendered sandbox profile under the jobs root; its own org
214
+ * subdirectory under the cache root) without being able to list what else is in either directory —
215
+ * confirmed live that `ls` of both directories is still refused for the build user after this runs.
216
+ * Neither directory's Unix mode, ownership, or write access changes.
217
+ *
218
+ * Only the home directory and the cache root need this: the jobs root and its own parent directory are
219
+ * world-traversable (0755) by default on every Mac checked so far, so granting it there too would be a
220
+ * harmless no-op — this only touches the two directories actually confirmed to block traversal, to keep
221
+ * the blast radius of a real ACL change on a production Mac as small as it can be.
222
+ *
223
+ * `chmod +a` with the exact same entry twice does not duplicate it (confirmed live), so unlike every
224
+ * other step in this file, this one has no separate "already there" check — it is safe, and cheap
225
+ * enough, to just run on every install. */
226
+ function ensureHomeAndCacheTraversable(user, cacheRoot, deps) {
227
+ deps.log(`\n==> Granting '${user}' bare traverse (search only — no list/read/write) through the home directory and the cache root`);
228
+ for (const dir of new Set([homedir(), cacheRoot])) {
229
+ deps.run("chmod", ["+a", `${user} allow search`, dir]);
230
+ }
231
+ }
194
232
  function ensureEtcDir(deps) {
195
233
  if (!deps.etcDirExists()) {
196
234
  deps.run("sudo", ["mkdir", "-m", "0755", APPFORGE_ETC_DIR]);
@@ -230,6 +268,7 @@ export function installBuildUser(opts = {}, deps = realBuildUserInstallDeps) {
230
268
  const cacheRoot = opts.cacheRoot ?? cacheRootDir();
231
269
  ensureBuildUserAccount(user, deps);
232
270
  ensureAgentUserInBuildGroup(agentUser, user, deps);
271
+ ensureHomeAndCacheTraversable(user, cacheRoot, deps);
233
272
  ensureEtcDir(deps);
234
273
  ensureHelperScript(user, jobsRoot, cacheRoot, deps);
235
274
  ensurePfRules(user, deps);
@@ -1 +1 @@
1
- {"version":3,"file":"build-user.js","sourceRoot":"","sources":["../../src/lib/build-user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-user.js","sourceRoot":"","sources":["../../src/lib/build-user.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import "../test-support/home-sandbox.js";
2
2
  import { test } from "node:test";
3
3
  import assert from "node:assert/strict";
4
+ import { homedir } from "node:os";
4
5
  import { BUILD_HELPER_PATH, BUILD_USER_NAME } from "@appforge-ci/agent/dist/lib/sandbox/build-user.js";
5
6
  import { BUILD_USER_PF_ANCHOR, pfRulesSha256, renderBuildUserPfRules } from "@appforge-ci/agent/dist/lib/sandbox/pf-rules.js";
6
7
  import { APPFORGE_ETC_DIR, PF_RULES_FILE, SUDOERS_FILE, ensureSudoersLines, installBuildUser, nextFreeSystemId, renderBuildHelperScript, requiredSudoersLines, } from "./build-user.js";
@@ -104,6 +105,8 @@ test("installBuildUser creates the account, adds the agent user to its group, in
104
105
  assert.ok(calls.some((c) => c.cmd === "sudo" && c.args.join(" ") === "dscl . -create /Users/_appforgebuild IsHidden 1"));
105
106
  assert.ok(!calls.some((c) => c.args.includes("Password")), "no password entry is ever created for this account");
106
107
  assert.ok(calls.some((c) => c.cmd === "sudo" && c.args.join(" ") === "dseditgroup -o edit -a tooming -t user _appforgebuild"));
108
+ assert.ok(calls.some((c) => c.cmd === "chmod" && c.args.join(" ") === `+a _appforgebuild allow search ${homedir()}`), "bare traverse grant on the home directory");
109
+ assert.ok(calls.some((c) => c.cmd === "chmod" && c.args.join(" ") === "+a _appforgebuild allow search /c"), "bare traverse grant on the cache root");
107
110
  assert.ok(calls.some((c) => c.cmd === "sudo" && c.args.join(" ") === "mkdir -m 0755 /etc/appforge"));
108
111
  assert.ok(writes.some((w) => w.path === BUILD_HELPER_PATH && w.mode === "0500" && w.content.includes('JOBS_ROOT="/j"')));
109
112
  assert.ok(writes.some((w) => w.path === PF_RULES_FILE && w.mode === "0600"));
@@ -111,6 +114,21 @@ test("installBuildUser creates the account, adds the agent user to its group, in
111
114
  assert.ok(writes.some((w) => w.path === SUDOERS_FILE));
112
115
  assert.match(logs.join("\n"), /Done\./);
113
116
  });
117
+ test("installBuildUser grants bare search (never list/read/write) on the home directory and the cache root, and ONLY those two — the jobs root is already world-traversable by default and never gets this grant", () => {
118
+ const { deps, calls } = fakeDeps();
119
+ installBuildUser({ user: "_appforgebuild", agentUser: "tooming", jobsRoot: "/j", cacheRoot: "/c" }, deps);
120
+ const grants = calls.filter((c) => c.cmd === "chmod" && c.args[0] === "+a");
121
+ assert.equal(grants.length, 2);
122
+ assert.ok(grants.some((c) => c.args[1] === "_appforgebuild allow search" && c.args[2] === homedir()));
123
+ assert.ok(grants.some((c) => c.args[1] === "_appforgebuild allow search" && c.args[2] === "/c"));
124
+ assert.ok(!grants.some((c) => c.args[2] === "/j"), "the jobs root itself must never get this grant");
125
+ assert.ok(!grants.some((c) => c.args[1].includes("allow read") || c.args[1].includes("allow list")), "search only — never list or read");
126
+ });
127
+ test("installBuildUser grants the search ACL only once per directory even when the home directory and cache root happen to be the same path", () => {
128
+ const { deps, calls } = fakeDeps();
129
+ installBuildUser({ user: "_appforgebuild", agentUser: "tooming", jobsRoot: "/j", cacheRoot: homedir() }, deps);
130
+ assert.equal(calls.filter((c) => c.cmd === "chmod" && c.args[0] === "+a").length, 1, "deduplicated, not one grant per role");
131
+ });
114
132
  test("installBuildUser picks an id free in BOTH namespaces — reproduces the real failure on a stock Mac, where com.apple.access_ssh/access_screensharing/access_sessionkey/access_disabled/access_ftp already occupy gids 395-399", () => {
115
133
  const { deps, calls } = fakeDeps({
116
134
  listUserUids: () => "", // no user anywhere near the band: a check of this listing ALONE would (wrongly) pick 399
@@ -131,14 +149,16 @@ test("installBuildUser is fully idempotent: nothing is created, written, or run
131
149
  readSudoers: () => `${helper}\n${becomeUser}\n`,
132
150
  });
133
151
  installBuildUser({ user: "_appforgebuild", agentUser: "tooming", jobsRoot: "/j", cacheRoot: "/c" }, deps);
134
- // The account/group/membership/etc-dir/sudoers steps all skip; only the helper script and pf rules are
135
- // UNCONDITIONALLY rewritten each run (so a template or rules change always takes effect on the next
136
- // install), plus the one pf-reload `run` call that goes with them.
152
+ // The account/group/membership/etc-dir/sudoers steps all skip; the helper script, the pf rules, and the
153
+ // home/cache search grant are UNCONDITIONALLY redone each run (so a template or rules change always
154
+ // takes effect on the next install, and the grant is cheap and idempotent — see ensureHomeAndCacheTraversable),
155
+ // plus the one pf-reload `run` call that goes with the pf rules.
137
156
  assert.ok(!calls.some((c) => c.args[0] === "dscl"), "no dscl calls at all: nothing about the account needed creating");
138
157
  assert.ok(!calls.some((c) => c.cmd === "sudo" && c.args[0] === "dseditgroup"));
139
158
  assert.ok(!calls.some((c) => c.cmd === "sudo" && c.args[0] === "mkdir"));
140
159
  assert.equal(writes.find((w) => w.path === SUDOERS_FILE), undefined, "sudoers is untouched when both lines are already present");
141
160
  assert.equal(calls.filter((c) => c.cmd === "sudo" && c.args.join(" ") === `${BUILD_HELPER_PATH} pf-reload`).length, 1);
161
+ assert.equal(calls.filter((c) => c.cmd === "chmod" && c.args[0] === "+a").length, 2, "the search grant has no 'already there' check — it reruns every install, same as the helper script and pf rules");
142
162
  });
143
163
  test("installBuildUser defaults user to BUILD_USER_NAME and agentUser to whoami()", () => {
144
164
  const { deps, writes } = fakeDeps({ whoami: () => "martin" });
@@ -1 +1 @@
1
- {"version":3,"file":"build-user.test.js","sourceRoot":"","sources":["../../src/lib/build-user.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-user.test.js","sourceRoot":"","sources":["../../src/lib/build-user.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appforge-ci/admin-cli",
3
- "version": "0.3.6",
3
+ "version": "0.3.8",
4
4
  "license": "MIT",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -15,8 +15,8 @@
15
15
  "dependencies": {
16
16
  "chalk": "^5.3.0",
17
17
  "commander": "^12.1.0",
18
- "@appforge-ci/agent": "0.3.6",
19
- "@appforge-ci/core": "0.3.6"
18
+ "@appforge-ci/agent": "0.3.8",
19
+ "@appforge-ci/core": "0.3.8"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/node": "^20.16.5",