@forgezero/agent 0.1.51 → 0.1.52

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.
@@ -749,7 +749,7 @@ async function postSignedNode(options, path, body) {
749
749
  }
750
750
 
751
751
  // src/version.ts
752
- var VERSION3 = "0.1.51";
752
+ var VERSION3 = "0.1.52";
753
753
 
754
754
  // src/agent-heartbeat.ts
755
755
  var unquote = (value) => value.replace(/^['"]|['"]$/g, "");
package/dist/bootstrap.js CHANGED
@@ -1207,7 +1207,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1207
1207
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1208
1208
 
1209
1209
  // src/version.ts
1210
- var VERSION = "0.1.51";
1210
+ var VERSION = "0.1.52";
1211
1211
 
1212
1212
  // src/software.ts
1213
1213
  var PINNED_BUN_VERSION = "1.3.14";
@@ -41,8 +41,17 @@ var UBUNTU_2604_X64 = [
41
41
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
42
42
  ];
43
43
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
44
- var run = async (argv, env = {}) => {
45
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
44
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
45
+ var runSoftwareCommand = async (argv, env = {}) => {
46
+ let child;
47
+ try {
48
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
49
+ } catch (cause) {
50
+ const failure = softwareSpawnFailure(cause, argv);
51
+ if (failure)
52
+ return failure;
53
+ throw cause;
54
+ }
46
55
  const [stdout, stderr, exitCode] = await Promise.all([
47
56
  new Response(child.stdout).text(),
48
57
  new Response(child.stderr).text(),
@@ -50,6 +59,7 @@ var run = async (argv, env = {}) => {
50
59
  ]);
51
60
  return { exitCode, output: `${stdout}${stderr}` };
52
61
  };
62
+ var run = runSoftwareCommand;
53
63
  var download = async (url, destination, sha256) => {
54
64
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
55
65
  if (!response.ok)
@@ -41,8 +41,17 @@ var UBUNTU_2604_X64 = [
41
41
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
42
42
  ];
43
43
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
44
- var run = async (argv, env = {}) => {
45
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
44
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
45
+ var runSoftwareCommand = async (argv, env = {}) => {
46
+ let child;
47
+ try {
48
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
49
+ } catch (cause) {
50
+ const failure = softwareSpawnFailure(cause, argv);
51
+ if (failure)
52
+ return failure;
53
+ throw cause;
54
+ }
46
55
  const [stdout, stderr, exitCode] = await Promise.all([
47
56
  new Response(child.stdout).text(),
48
57
  new Response(child.stderr).text(),
@@ -50,6 +59,7 @@ var run = async (argv, env = {}) => {
50
59
  ]);
51
60
  return { exitCode, output: `${stdout}${stderr}` };
52
61
  };
62
+ var run = runSoftwareCommand;
53
63
  var download = async (url, destination, sha256) => {
54
64
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
55
65
  if (!response.ok)
@@ -41,8 +41,17 @@ var UBUNTU_2604_X64 = [
41
41
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
42
42
  ];
43
43
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
44
- var run = async (argv, env = {}) => {
45
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
44
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
45
+ var runSoftwareCommand = async (argv, env = {}) => {
46
+ let child;
47
+ try {
48
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
49
+ } catch (cause) {
50
+ const failure = softwareSpawnFailure(cause, argv);
51
+ if (failure)
52
+ return failure;
53
+ throw cause;
54
+ }
46
55
  const [stdout, stderr, exitCode] = await Promise.all([
47
56
  new Response(child.stdout).text(),
48
57
  new Response(child.stderr).text(),
@@ -50,6 +59,7 @@ var run = async (argv, env = {}) => {
50
59
  ]);
51
60
  return { exitCode, output: `${stdout}${stderr}` };
52
61
  };
62
+ var run = runSoftwareCommand;
53
63
  var download = async (url, destination, sha256) => {
54
64
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
55
65
  if (!response.ok)
package/dist/fz-agent.js CHANGED
@@ -4990,8 +4990,17 @@ var UBUNTU_2604_X64 = [
4990
4990
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
4991
4991
  ];
4992
4992
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
4993
- var run = async (argv, env = {}) => {
4994
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
4993
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
4994
+ var runSoftwareCommand = async (argv, env = {}) => {
4995
+ let child;
4996
+ try {
4997
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
4998
+ } catch (cause) {
4999
+ const failure = softwareSpawnFailure(cause, argv);
5000
+ if (failure)
5001
+ return failure;
5002
+ throw cause;
5003
+ }
4995
5004
  const [stdout, stderr, exitCode] = await Promise.all([
4996
5005
  new Response(child.stdout).text(),
4997
5006
  new Response(child.stderr).text(),
@@ -4999,6 +5008,7 @@ var run = async (argv, env = {}) => {
4999
5008
  ]);
5000
5009
  return { exitCode, output: `${stdout}${stderr}` };
5001
5010
  };
5011
+ var run = runSoftwareCommand;
5002
5012
  var download = async (url, destination, sha2562) => {
5003
5013
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
5004
5014
  if (!response.ok)
@@ -7000,7 +7010,7 @@ function assertSupportedGuestImage(imageKey) {
7000
7010
  }
7001
7011
 
7002
7012
  // src/version.ts
7003
- var VERSION = "0.1.51";
7013
+ var VERSION = "0.1.52";
7004
7014
 
7005
7015
  // src/ssh-bootstrap.ts
7006
7016
  class SshBootstrapError extends Error {
package/dist/fz.js CHANGED
@@ -4830,7 +4830,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
4830
4830
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
4831
4831
 
4832
4832
  // src/version.ts
4833
- var VERSION2 = "0.1.51";
4833
+ var VERSION2 = "0.1.52";
4834
4834
 
4835
4835
  // src/software.ts
4836
4836
  var PINNED_BUN_VERSION = "1.3.14";
@@ -292,7 +292,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
292
292
  }
293
293
 
294
294
  // src/version.ts
295
- var VERSION = "0.1.51";
295
+ var VERSION = "0.1.52";
296
296
 
297
297
  // src/otel-collector.ts
298
298
  var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";
@@ -1207,7 +1207,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1207
1207
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1208
1208
 
1209
1209
  // src/version.ts
1210
- var VERSION = "0.1.51";
1210
+ var VERSION = "0.1.52";
1211
1211
 
1212
1212
  // src/software.ts
1213
1213
  var PINNED_BUN_VERSION = "1.3.14";
@@ -719,8 +719,17 @@ var UBUNTU_2604_X64 = [
719
719
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
720
720
  ];
721
721
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
722
- var run = async (argv, env = {}) => {
723
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
722
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
723
+ var runSoftwareCommand = async (argv, env = {}) => {
724
+ let child;
725
+ try {
726
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
727
+ } catch (cause) {
728
+ const failure = softwareSpawnFailure(cause, argv);
729
+ if (failure)
730
+ return failure;
731
+ throw cause;
732
+ }
724
733
  const [stdout, stderr, exitCode] = await Promise.all([
725
734
  new Response(child.stdout).text(),
726
735
  new Response(child.stderr).text(),
@@ -728,6 +737,7 @@ var run = async (argv, env = {}) => {
728
737
  ]);
729
738
  return { exitCode, output: `${stdout}${stderr}` };
730
739
  };
740
+ var run = runSoftwareCommand;
731
741
  var download = async (url, destination, sha256) => {
732
742
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
733
743
  if (!response.ok)
@@ -1697,7 +1707,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
1697
1707
  }
1698
1708
 
1699
1709
  // src/version.ts
1700
- var VERSION3 = "0.1.51";
1710
+ var VERSION3 = "0.1.52";
1701
1711
 
1702
1712
  // src/egress-policy.ts
1703
1713
  import { realpathSync as realpathSync2 } from "node:fs";
package/dist/provision.js CHANGED
@@ -719,8 +719,17 @@ var UBUNTU_2604_X64 = [
719
719
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
720
720
  ];
721
721
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
722
- var run = async (argv, env = {}) => {
723
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
722
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
723
+ var runSoftwareCommand = async (argv, env = {}) => {
724
+ let child;
725
+ try {
726
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
727
+ } catch (cause) {
728
+ const failure = softwareSpawnFailure(cause, argv);
729
+ if (failure)
730
+ return failure;
731
+ throw cause;
732
+ }
724
733
  const [stdout, stderr, exitCode] = await Promise.all([
725
734
  new Response(child.stdout).text(),
726
735
  new Response(child.stderr).text(),
@@ -728,6 +737,7 @@ var run = async (argv, env = {}) => {
728
737
  ]);
729
738
  return { exitCode, output: `${stdout}${stderr}` };
730
739
  };
740
+ var run = runSoftwareCommand;
731
741
  var download = async (url, destination, sha256) => {
732
742
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
733
743
  if (!response.ok)
@@ -1697,7 +1707,7 @@ function requestSoftware(requirements, socketPath = DEFAULT_SOFTWARE_HELPER_SOCK
1697
1707
  }
1698
1708
 
1699
1709
  // src/version.ts
1700
- var VERSION3 = "0.1.51";
1710
+ var VERSION3 = "0.1.52";
1701
1711
 
1702
1712
  // src/egress-policy.ts
1703
1713
  import { realpathSync as realpathSync2 } from "node:fs";
@@ -41,8 +41,17 @@ var UBUNTU_2604_X64 = [
41
41
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
42
42
  ];
43
43
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
44
- var run = async (argv, env = {}) => {
45
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
44
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
45
+ var runSoftwareCommand = async (argv, env = {}) => {
46
+ let child;
47
+ try {
48
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
49
+ } catch (cause) {
50
+ const failure = softwareSpawnFailure(cause, argv);
51
+ if (failure)
52
+ return failure;
53
+ throw cause;
54
+ }
46
55
  const [stdout, stderr, exitCode] = await Promise.all([
47
56
  new Response(child.stdout).text(),
48
57
  new Response(child.stderr).text(),
@@ -50,6 +59,7 @@ var run = async (argv, env = {}) => {
50
59
  ]);
51
60
  return { exitCode, output: `${stdout}${stderr}` };
52
61
  };
62
+ var run = runSoftwareCommand;
53
63
  var download = async (url, destination, sha256) => {
54
64
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
55
65
  if (!response.ok)
@@ -46,6 +46,8 @@ export declare const BUN_RELEASE_SHA256 = "951ee2aee855f08595aeec6225226a298d3fe
46
46
  /** Public, command-free catalog. Root strategies remain private below. */
47
47
  export declare const OS_CATALOG: readonly OsCatalogEntry[];
48
48
  export declare const SOFTWARE_CATALOG: readonly SoftwareCatalogEntry[];
49
+ export declare const softwareSpawnFailure: (cause: unknown, argv: readonly string[]) => SoftwareCommandResult | undefined;
50
+ export declare const runSoftwareCommand: (argv: readonly string[], env?: Record<string, string>) => Promise<SoftwareCommandResult>;
49
51
  /** Closed, fixed-argv privileged strategy executor. No repository value becomes a command. */
50
52
  export declare function executeSoftwareOperation(operation: SoftwareOperation): Promise<SoftwareCommandResult>;
51
53
  export declare function observeSoftwareHost(osRelease?: string, architecture?: NodeJS.Architecture): SoftwareObservation;
package/dist/software.js CHANGED
@@ -41,8 +41,17 @@ var UBUNTU_2604_X64 = [
41
41
  { requirement: { id: "openssh-client", version: "ubuntu-26.04" } }
42
42
  ];
43
43
  var path = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin";
44
- var run = async (argv, env = {}) => {
45
- const child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
44
+ var softwareSpawnFailure = (cause, argv) => cause.code === "ENOENT" ? { exitCode: 127, output: `executable is absent: ${argv[0]}` } : undefined;
45
+ var runSoftwareCommand = async (argv, env = {}) => {
46
+ let child;
47
+ try {
48
+ child = Bun.spawn([...argv], { stdout: "pipe", stderr: "pipe", env: { PATH: path, LANG: "C", LC_ALL: "C", ...env } });
49
+ } catch (cause) {
50
+ const failure = softwareSpawnFailure(cause, argv);
51
+ if (failure)
52
+ return failure;
53
+ throw cause;
54
+ }
46
55
  const [stdout, stderr, exitCode] = await Promise.all([
47
56
  new Response(child.stdout).text(),
48
57
  new Response(child.stderr).text(),
@@ -50,6 +59,7 @@ var run = async (argv, env = {}) => {
50
59
  ]);
51
60
  return { exitCode, output: `${stdout}${stderr}` };
52
61
  };
62
+ var run = runSoftwareCommand;
53
63
  var download = async (url, destination, sha256) => {
54
64
  const response = await fetch(url, { redirect: "follow", signal: AbortSignal.timeout(120000) });
55
65
  if (!response.ok)
@@ -237,6 +247,8 @@ async function ensureSoftwareRequirements(requirementsInput, options) {
237
247
  }
238
248
  export {
239
249
  validateSoftwareRequirements,
250
+ softwareSpawnFailure,
251
+ runSoftwareCommand,
240
252
  observeSoftwareHost,
241
253
  executeSoftwareOperation,
242
254
  ensureSoftwareRequirements,
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** One package version shared by both public binaries. Pinned to package.json by tests. */
2
- export declare const VERSION = "0.1.51";
2
+ export declare const VERSION = "0.1.52";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgezero/agent",
3
- "version": "0.1.51",
3
+ "version": "0.1.52",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "check": "tsc --noEmit",