@forgezero/agent 0.1.118 → 0.1.120

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/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  and commit the generator and rendered files together.
6
6
  -->
7
7
 
8
- # @forgezero/agent
8
+ # Compute Agent and CLI
9
9
 
10
10
  The node agent deploys on a compute; tenant mode also holds one complete project across environments in RAM and serves it over a group-scoped unix socket, while platform mode never duplicates the API vault.
11
11
 
@@ -917,7 +917,7 @@ async function postSignedNode(options, path, body) {
917
917
  }
918
918
 
919
919
  // src/version.ts
920
- var VERSION3 = "0.1.118";
920
+ var VERSION3 = "0.1.120";
921
921
 
922
922
  // src/agent-heartbeat.ts
923
923
  function readAgentHostMetrics() {
package/dist/bootstrap.js CHANGED
@@ -1460,7 +1460,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1460
1460
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1461
1461
 
1462
1462
  // src/version.ts
1463
- var VERSION = "0.1.118";
1463
+ var VERSION = "0.1.120";
1464
1464
 
1465
1465
  // src/software.ts
1466
1466
  var PINNED_BUN_VERSION = "1.3.14";
@@ -55,24 +55,31 @@ var OS_CATALOG = [
55
55
  }
56
56
  ];
57
57
  var SOFTWARE_CATALOG = [
58
- { id: "bun", version: "1.3.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
- { id: "docker", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
- { id: "containerd", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
- { id: "kata-containers", version: "4.0.0", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
- { id: "nginx", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
- { id: "arangodb", version: "3.11.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
- { id: "cloudflared", version: "2026.7.3", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
- { id: "cloudflare-warp", version: "2026.6.822.0-min", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
- { id: "ufw", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
- { id: "openssh-client", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
- { id: "git", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
- { id: "docker", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
- { id: "containerd", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
- { id: "nginx", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
- { id: "ufw", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
- { id: "openssh-client", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
- { id: "git", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
58
+ { id: "bun", version: "1.3.14", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
+ { id: "docker", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
+ { id: "containerd", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
+ { id: "kata-containers", version: "4.0.0", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
+ { id: "nginx", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
+ { id: "arangodb", version: "3.11.14", billingClass: "paid-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
+ { id: "cloudflared", version: "2026.7.3", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
+ { id: "cloudflare-warp", version: "2026.6.822.0-min", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
+ { id: "ufw", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
+ { id: "openssh-client", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
+ { id: "git", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
+ { id: "docker", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
+ { id: "containerd", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
+ { id: "nginx", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
+ { id: "ufw", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
+ { id: "openssh-client", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
+ { id: "git", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
75
75
  ];
76
+ var softwareBillingClass = (requirement) => {
77
+ const entry = SOFTWARE_CATALOG.find((candidate) => candidate.id === requirement.id && candidate.version === requirement.version);
78
+ if (!entry)
79
+ throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
+ return entry.billingClass;
81
+ };
82
+ var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
76
83
  var UBUNTU_2604_X64 = [
77
84
  { requirement: { id: "bun", version: "1.3.14" } },
78
85
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -55,24 +55,31 @@ var OS_CATALOG = [
55
55
  }
56
56
  ];
57
57
  var SOFTWARE_CATALOG = [
58
- { id: "bun", version: "1.3.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
- { id: "docker", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
- { id: "containerd", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
- { id: "kata-containers", version: "4.0.0", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
- { id: "nginx", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
- { id: "arangodb", version: "3.11.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
- { id: "cloudflared", version: "2026.7.3", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
- { id: "cloudflare-warp", version: "2026.6.822.0-min", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
- { id: "ufw", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
- { id: "openssh-client", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
- { id: "git", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
- { id: "docker", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
- { id: "containerd", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
- { id: "nginx", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
- { id: "ufw", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
- { id: "openssh-client", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
- { id: "git", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
58
+ { id: "bun", version: "1.3.14", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
+ { id: "docker", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
+ { id: "containerd", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
+ { id: "kata-containers", version: "4.0.0", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
+ { id: "nginx", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
+ { id: "arangodb", version: "3.11.14", billingClass: "paid-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
+ { id: "cloudflared", version: "2026.7.3", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
+ { id: "cloudflare-warp", version: "2026.6.822.0-min", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
+ { id: "ufw", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
+ { id: "openssh-client", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
+ { id: "git", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
+ { id: "docker", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
+ { id: "containerd", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
+ { id: "nginx", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
+ { id: "ufw", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
+ { id: "openssh-client", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
+ { id: "git", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
75
75
  ];
76
+ var softwareBillingClass = (requirement) => {
77
+ const entry = SOFTWARE_CATALOG.find((candidate) => candidate.id === requirement.id && candidate.version === requirement.version);
78
+ if (!entry)
79
+ throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
+ return entry.billingClass;
81
+ };
82
+ var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
76
83
  var UBUNTU_2604_X64 = [
77
84
  { requirement: { id: "bun", version: "1.3.14" } },
78
85
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -55,24 +55,31 @@ var OS_CATALOG = [
55
55
  }
56
56
  ];
57
57
  var SOFTWARE_CATALOG = [
58
- { id: "bun", version: "1.3.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
- { id: "docker", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
- { id: "containerd", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
- { id: "kata-containers", version: "4.0.0", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
- { id: "nginx", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
- { id: "arangodb", version: "3.11.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
- { id: "cloudflared", version: "2026.7.3", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
- { id: "cloudflare-warp", version: "2026.6.822.0-min", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
- { id: "ufw", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
- { id: "openssh-client", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
- { id: "git", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
- { id: "docker", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
- { id: "containerd", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
- { id: "nginx", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
- { id: "ufw", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
- { id: "openssh-client", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
- { id: "git", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
58
+ { id: "bun", version: "1.3.14", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
59
+ { id: "docker", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
60
+ { id: "containerd", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
61
+ { id: "kata-containers", version: "4.0.0", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
62
+ { id: "nginx", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
63
+ { id: "arangodb", version: "3.11.14", billingClass: "paid-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
64
+ { id: "cloudflared", version: "2026.7.3", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
65
+ { id: "cloudflare-warp", version: "2026.6.822.0-min", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
66
+ { id: "ufw", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
67
+ { id: "openssh-client", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
68
+ { id: "git", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
69
+ { id: "docker", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
70
+ { id: "containerd", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
71
+ { id: "nginx", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
72
+ { id: "ufw", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
73
+ { id: "openssh-client", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
74
+ { id: "git", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
75
75
  ];
76
+ var softwareBillingClass = (requirement) => {
77
+ const entry = SOFTWARE_CATALOG.find((candidate) => candidate.id === requirement.id && candidate.version === requirement.version);
78
+ if (!entry)
79
+ throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
80
+ return entry.billingClass;
81
+ };
82
+ var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
76
83
  var UBUNTU_2604_X64 = [
77
84
  { requirement: { id: "bun", version: "1.3.14" } },
78
85
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -1,6 +1,6 @@
1
1
  import { type DrainReport, type QueueTask } from '@forgezero/runtime/queue';
2
2
  import { type GitHostResolver } from './git-egress';
3
- import type { SoftwareRequirement } from './software';
3
+ import { type SoftwareRequirement } from './software';
4
4
  import type { DeploymentService } from './definition';
5
5
  import type { ServiceActivationState } from './service-supervisor';
6
6
  import type { ContainerActivateRequest, ContainerBuildRequest, ContainerBuildResult } from './container-supervisor';
@@ -74,6 +74,8 @@ export interface DeploymentResult {
74
74
  profile: string;
75
75
  /** Resolved only from the validated plan and its bounded inputs at this revision. */
76
76
  resolvedTargets?: readonly ResolvedDeploymentTarget[];
77
+ /** Distinct paid catalogue entries successfully managed on this compute. */
78
+ paidManagedSoftwareCount: number;
77
79
  release: string;
78
80
  ok: boolean;
79
81
  phases: readonly RunResult[];
package/dist/fz-agent.js CHANGED
@@ -4049,7 +4049,7 @@ function combineKEMS(realSeedLen, realMsgLen, expandSeed, combiner, ...kems) {
4049
4049
  var x25519kem = /* @__PURE__ */ ecdhKem(x25519);
4050
4050
  var ml_kem768_x25519 = /* @__PURE__ */ (() => combineKEMS(32, 32, expandSeedXof(shake256), (pk, ct, ss) => sha3_256(concatBytes2(ss[0], ss[1], ct[1], pk[1], asciiToBytes("\\.//^\\"))), ml_kem768, x25519kem))();
4051
4051
 
4052
- // ../runtime/dist/identity.js
4052
+ // ../../node_modules/.bun/@forgezero+runtime@0.1.17+cd212ec15d36da0a/node_modules/@forgezero/runtime/dist/identity.js
4053
4053
  var ENCODER = new TextEncoder;
4054
4054
  var b64 = toBase64Url;
4055
4055
  var un64 = fromBase64Url;
@@ -4196,7 +4196,7 @@ function signRequest(keys, nodeKey, args) {
4196
4196
  };
4197
4197
  }
4198
4198
 
4199
- // ../vault/dist/index.js
4199
+ // ../../node_modules/.bun/@forgezero+vault@0.1.22+3f759277d50bc01a/node_modules/@forgezero/vault/dist/index.js
4200
4200
  var DEFAULT_SOCKET = "/run/forgezero/vault.sock";
4201
4201
 
4202
4202
  // src/socket.ts
@@ -4692,7 +4692,7 @@ import { chmodSync as chmodSync4, existsSync as existsSync4, lstatSync as lstatS
4692
4692
  import { createHash as createHash5, randomUUID } from "crypto";
4693
4693
  import { dirname as dirname3, isAbsolute as isAbsolute2, join as join2 } from "path";
4694
4694
 
4695
- // ../runtime/dist/queue.js
4695
+ // ../../node_modules/.bun/@forgezero+runtime@0.1.17+cd212ec15d36da0a/node_modules/@forgezero/runtime/dist/queue.js
4696
4696
  class QueueStoppedError extends Error {
4697
4697
  constructor() {
4698
4698
  super("queue: stopped before this task could run");
@@ -5051,24 +5051,31 @@ var OS_CATALOG = [
5051
5051
  }
5052
5052
  ];
5053
5053
  var SOFTWARE_CATALOG = [
5054
- { id: "bun", version: "1.3.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5055
- { id: "docker", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5056
- { id: "containerd", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5057
- { id: "kata-containers", version: "4.0.0", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5058
- { id: "nginx", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5059
- { id: "arangodb", version: "3.11.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5060
- { id: "cloudflared", version: "2026.7.3", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5061
- { id: "cloudflare-warp", version: "2026.6.822.0-min", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5062
- { id: "ufw", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5063
- { id: "openssh-client", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5064
- { id: "git", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5065
- { id: "docker", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5066
- { id: "containerd", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5067
- { id: "nginx", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5068
- { id: "ufw", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5069
- { id: "openssh-client", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5070
- { id: "git", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
5054
+ { id: "bun", version: "1.3.14", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5055
+ { id: "docker", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5056
+ { id: "containerd", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5057
+ { id: "kata-containers", version: "4.0.0", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5058
+ { id: "nginx", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5059
+ { id: "arangodb", version: "3.11.14", billingClass: "paid-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5060
+ { id: "cloudflared", version: "2026.7.3", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5061
+ { id: "cloudflare-warp", version: "2026.6.822.0-min", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5062
+ { id: "ufw", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5063
+ { id: "openssh-client", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5064
+ { id: "git", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5065
+ { id: "docker", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5066
+ { id: "containerd", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5067
+ { id: "nginx", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5068
+ { id: "ufw", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5069
+ { id: "openssh-client", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
5070
+ { id: "git", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
5071
5071
  ];
5072
+ var softwareBillingClass = (requirement) => {
5073
+ const entry = SOFTWARE_CATALOG.find((candidate) => candidate.id === requirement.id && candidate.version === requirement.version);
5074
+ if (!entry)
5075
+ throw new Error(`unsupported software billing coordinate: ${requirement.id}@${requirement.version}`);
5076
+ return entry.billingClass;
5077
+ };
5078
+ var countPaidManagedSoftware = (requirements) => new Set(requirements.filter((requirement) => softwareBillingClass(requirement) === "paid-managed").map((requirement) => `${requirement.id}@${requirement.version}`)).size;
5072
5079
  var UBUNTU_2604_X64 = [
5073
5080
  { requirement: { id: "bun", version: "1.3.14" } },
5074
5081
  { requirement: { id: "docker", version: "ubuntu-26.04" } },
@@ -8300,6 +8307,7 @@ function createDeploymentManager(options) {
8300
8307
  const planPath = join2(release, DEPLOY_PLAN_FILE);
8301
8308
  if (existsSync4(planPath)) {
8302
8309
  const plan = parseDeploymentPlan(readDefinition(planPath));
8310
+ const paidManagedSoftware = new Set;
8303
8311
  for (const workflow of Object.values(plan.spec.workflows))
8304
8312
  for (const stage2 of Object.values(workflow.stages)) {
8305
8313
  if (stage2.strategy.mode === "rolling" || stage2.strategy.mode === "canary" || Object.values(stage2.steps).some((step2) => step2.scope.kind === "target-batches")) {
@@ -8460,6 +8468,11 @@ function createDeploymentManager(options) {
8460
8468
  return { id: id2, version: requirement2.version };
8461
8469
  });
8462
8470
  await options.ensureSoftware(requirements);
8471
+ for (const requirement2 of requirements) {
8472
+ if (countPaidManagedSoftware([requirement2]) === 1) {
8473
+ paidManagedSoftware.add(`${requirement2.id}@${requirement2.version}`);
8474
+ }
8475
+ }
8463
8476
  return { changed: true };
8464
8477
  },
8465
8478
  "forgezero.network/ensure@1": async ({ resolved }) => {
@@ -8694,6 +8707,7 @@ function createDeploymentManager(options) {
8694
8707
  phases: [phase],
8695
8708
  execution: deploymentExecution([phase]),
8696
8709
  resolvedTargets,
8710
+ paidManagedSoftwareCount: paidManagedSoftware.size,
8697
8711
  ...capacity2 ? { capacity: capacity2 } : {}
8698
8712
  };
8699
8713
  }
@@ -8810,6 +8824,7 @@ function createDeploymentManager(options) {
8810
8824
  definitionDigest,
8811
8825
  definitionVersion: 2,
8812
8826
  profile: options.profile,
8827
+ paidManagedSoftwareCount: countPaidManagedSoftware(selectedProfile.software),
8813
8828
  release,
8814
8829
  ok: true,
8815
8830
  phases,
@@ -9138,6 +9153,7 @@ async function pullDeploymentOnce(options) {
9138
9153
  definitionDigest: result.definitionDigest,
9139
9154
  definitionVersion: result.definitionVersion,
9140
9155
  profile: result.profile,
9156
+ paidManagedSoftwareCount: result.paidManagedSoftwareCount,
9141
9157
  execution: result.execution,
9142
9158
  ...result.resolvedTargets ? { resolvedTargets: result.resolvedTargets.map((target) => ({
9143
9159
  ...target,
@@ -9618,7 +9634,7 @@ async function writeAndCloseProcessInput(input, value) {
9618
9634
  }
9619
9635
 
9620
9636
  // src/version.ts
9621
- var VERSION2 = "0.1.118";
9637
+ var VERSION2 = "0.1.120";
9622
9638
 
9623
9639
  // src/ssh-bootstrap.ts
9624
9640
  class SshBootstrapError extends Error {
@@ -11341,7 +11357,7 @@ function requestDeploymentCommand(input, socketPath = DEFAULT_DEPLOYMENT_RUNNER_
11341
11357
  // src/snp-attestation.ts
11342
11358
  import { existsSync as existsSync10 } from "fs";
11343
11359
 
11344
- // ../runtime/dist/snp.js
11360
+ // ../../node_modules/.bun/@forgezero+runtime@0.1.17+cd212ec15d36da0a/node_modules/@forgezero/runtime/dist/snp.js
11345
11361
  var REPORT_BYTES = 1184;
11346
11362
 
11347
11363
  // src/snp-attestation.ts
@@ -17411,6 +17427,7 @@ async function runCommunityRehearsalHost(request) {
17411
17427
 
17412
17428
  // src/supervised-app.ts
17413
17429
  import { lstatSync as lstatSync9, readFileSync as readFileSync19 } from "fs";
17430
+ import process2 from "process";
17414
17431
  function readConfig(path2) {
17415
17432
  const stat = lstatSync9(path2);
17416
17433
  if (!stat.isFile() || stat.isSymbolicLink() || stat.uid !== 0 || (stat.mode & 18) !== 0 || stat.size > 128 * 1024) {
@@ -17439,18 +17456,19 @@ async function runSupervisedApp(path2) {
17439
17456
  });
17440
17457
  const forward = (signal) => {
17441
17458
  try {
17442
- process.kill(-child.pid, signal);
17459
+ process2.kill(-child.pid, signal);
17443
17460
  } catch {}
17444
17461
  };
17445
17462
  const term = () => forward("SIGTERM");
17446
17463
  const interrupt = () => forward("SIGINT");
17447
- process.on("SIGTERM", term);
17448
- process.on("SIGINT", interrupt);
17464
+ const signalProcess = process2;
17465
+ signalProcess.on("SIGTERM", term);
17466
+ signalProcess.on("SIGINT", interrupt);
17449
17467
  try {
17450
17468
  return await child.exited;
17451
17469
  } finally {
17452
- process.off("SIGTERM", term);
17453
- process.off("SIGINT", interrupt);
17470
+ signalProcess.off("SIGTERM", term);
17471
+ signalProcess.off("SIGINT", interrupt);
17454
17472
  }
17455
17473
  }
17456
17474
 
@@ -18812,6 +18830,7 @@ export {
18812
18830
  startAgentHeartbeat,
18813
18831
  startAgent,
18814
18832
  stageAgentRelease,
18833
+ softwareBillingClass,
18815
18834
  selectAgentRelease,
18816
18835
  runAgent,
18817
18836
  restoreAgentRelease,
@@ -18871,6 +18890,7 @@ export {
18871
18890
  createDeploymentSecretResolver,
18872
18891
  createDeploymentManager,
18873
18892
  createAgentTelemetry,
18893
+ countPaidManagedSoftware,
18874
18894
  configuredAgentSeed,
18875
18895
  configureMeshConnector,
18876
18896
  compareVersions,
package/dist/fz.js CHANGED
@@ -4261,7 +4261,7 @@ var init_identity = __esm(() => {
4261
4261
  RESPONSE_CIPHERTEXT_BYTES = length(ml_kem768_x25519.lengths.cipherText, "hybrid response ciphertext");
4262
4262
  });
4263
4263
 
4264
- // ../vault/dist/index.js
4264
+ // ../../node_modules/.bun/@forgezero+vault@0.1.22+3f759277d50bc01a/node_modules/@forgezero/vault/dist/index.js
4265
4265
  var exports_dist = {};
4266
4266
  __export(exports_dist, {
4267
4267
  vaultCredentials: () => vaultCredentials,
@@ -4634,7 +4634,7 @@ var VaultError, runtimeEnvironment = () => typeof process !== "undefined" && pro
4634
4634
  } catch {
4635
4635
  return;
4636
4636
  }
4637
- }, VERSION = "0.1.21";
4637
+ }, VERSION = "0.1.22";
4638
4638
  var init_dist = __esm(() => {
4639
4639
  init_identity();
4640
4640
  VaultError = class VaultError extends Error {
@@ -4715,6 +4715,8 @@ function thresholdMode(id) {
4715
4715
  }
4716
4716
 
4717
4717
  // src/cli/run.ts
4718
+ import process2 from "process";
4719
+
4718
4720
  class RunError extends Error {
4719
4721
  code;
4720
4722
  constructor(code, message) {
@@ -4793,8 +4795,9 @@ async function spawnWith(command, env, report = () => {}, options = {}) {
4793
4795
  };
4794
4796
  const onInt = forward("SIGINT");
4795
4797
  const onTerm = forward("SIGTERM");
4796
- process.on("SIGINT", onInt);
4797
- process.on("SIGTERM", onTerm);
4798
+ const signalProcess = process2;
4799
+ signalProcess.on("SIGINT", onInt);
4800
+ signalProcess.on("SIGTERM", onTerm);
4798
4801
  try {
4799
4802
  return await new Promise((resolve) => {
4800
4803
  child.on("error", (error) => {
@@ -4804,8 +4807,8 @@ async function spawnWith(command, env, report = () => {}, options = {}) {
4804
4807
  child.on("exit", (code, signal) => resolve(exitCodeFor({ code, signal })));
4805
4808
  });
4806
4809
  } finally {
4807
- process.off("SIGINT", onInt);
4808
- process.off("SIGTERM", onTerm);
4810
+ signalProcess.off("SIGINT", onInt);
4811
+ signalProcess.off("SIGTERM", onTerm);
4809
4812
  }
4810
4813
  }
4811
4814
 
@@ -4841,7 +4844,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
4841
4844
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
4842
4845
 
4843
4846
  // src/version.ts
4844
- var VERSION2 = "0.1.118";
4847
+ var VERSION2 = "0.1.120";
4845
4848
 
4846
4849
  // src/software.ts
4847
4850
  var PINNED_BUN_VERSION = "1.3.14";
@@ -4873,23 +4876,23 @@ var OS_CATALOG = [
4873
4876
  }
4874
4877
  ];
4875
4878
  var SOFTWARE_CATALOG = [
4876
- { id: "bun", version: "1.3.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4877
- { id: "docker", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4878
- { id: "containerd", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4879
- { id: "kata-containers", version: "4.0.0", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4880
- { id: "nginx", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4881
- { id: "arangodb", version: "3.11.14", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4882
- { id: "cloudflared", version: "2026.7.3", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4883
- { id: "cloudflare-warp", version: "2026.6.822.0-min", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4884
- { id: "ufw", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4885
- { id: "openssh-client", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4886
- { id: "git", version: "ubuntu-26.04", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4887
- { id: "docker", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4888
- { id: "containerd", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4889
- { id: "nginx", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4890
- { id: "ufw", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4891
- { id: "openssh-client", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4892
- { id: "git", version: "ubuntu-24.04", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
4879
+ { id: "bun", version: "1.3.14", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4880
+ { id: "docker", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4881
+ { id: "containerd", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4882
+ { id: "kata-containers", version: "4.0.0", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4883
+ { id: "nginx", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4884
+ { id: "arangodb", version: "3.11.14", billingClass: "paid-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4885
+ { id: "cloudflared", version: "2026.7.3", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4886
+ { id: "cloudflare-warp", version: "2026.6.822.0-min", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4887
+ { id: "ufw", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4888
+ { id: "openssh-client", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4889
+ { id: "git", version: "ubuntu-26.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "26.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4890
+ { id: "docker", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4891
+ { id: "containerd", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4892
+ { id: "nginx", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4893
+ { id: "ufw", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4894
+ { id: "openssh-client", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" },
4895
+ { id: "git", version: "ubuntu-24.04", billingClass: "free-managed", status: "active", os: "ubuntu", osVersion: "24.04", architecture: "x64", evidence: "reviewed-strategy-and-tests" }
4893
4896
  ];
4894
4897
  var DOCKER_DAEMON_CONFIG = `${JSON.stringify({
4895
4898
  "data-root": "/var/lib/docker",
@@ -7295,7 +7298,7 @@ var gcm = /* @__PURE__ */ wrapCipher({ blockSize: 16, nonceLength: 12, tagLength
7295
7298
  };
7296
7299
  });
7297
7300
 
7298
- // ../runtime/dist/custody-share.js
7301
+ // ../../node_modules/.bun/@forgezero+runtime@0.1.17+cd212ec15d36da0a/node_modules/@forgezero/runtime/dist/custody-share.js
7299
7302
  init_hkdf();
7300
7303
  init_sha2();
7301
7304
  init_hybrid();
@@ -9911,7 +9914,7 @@ zone
9911
9914
  zoo`.split(`
9912
9915
  `));
9913
9916
 
9914
- // ../runtime/dist/custody-share.js
9917
+ // ../../node_modules/.bun/@forgezero+runtime@0.1.17+cd212ec15d36da0a/node_modules/@forgezero/runtime/dist/custody-share.js
9915
9918
  init_hkdf();
9916
9919
  init_sha2();
9917
9920
  var KEY_BYTES = 32;
@@ -11926,7 +11929,7 @@ function inspectCompiledDeployment(rootValue, outputFile = DEPLOY_PLAN_FILE) {
11926
11929
  return { path, plan, digest: deploymentPlanDigest(plan) };
11927
11930
  }
11928
11931
 
11929
- // ../vault/dist/config.js
11932
+ // ../../node_modules/.bun/@forgezero+vault@0.1.22+3f759277d50bc01a/node_modules/@forgezero/vault/dist/config.js
11930
11933
  class ConfigError extends Error {
11931
11934
  code;
11932
11935
  constructor(code, message) {
@@ -21031,7 +21034,7 @@ function usage() {
21031
21034
  24-word BIP-39 phrase by owner-only file or stdin; it is never accepted in
21032
21035
  argv. Each custodian runs it in their own authenticated session; no process
21033
21036
  collects several custodians' phrases. Fresh privileged actions use the
21034
- browser passkey/TOTP flow; SSH is transport and Git interoperability only.
21037
+ browser account-passkey flow; SSH is transport and Git interoperability only.
21035
21038
  `);
21036
21039
  }
21037
21040
  if (import.meta.main) {
package/dist/index.d.ts CHANGED
@@ -42,7 +42,7 @@ export type { AgentRelease, StagedAgentRelease, UpdateCommand, UpdateCommandResu
42
42
  export { activateAgentRelease, probeAgentSocket, readAgentUpdateReceipt, recoverInterruptedAgentUpdate, requestAgentUpdate, startAgentUpdateHelper, AGENT_UPDATE_GROUP, AGENT_UPDATE_HELPER_UNIT_PATH, AGENT_UPDATE_JOURNAL, AGENT_UPDATE_RECEIPT } from './agent-update-helper';
43
43
  export type { AgentUpdateOutcome, AgentUpdateReceipt, AgentUpdateRequest, AgentUpdateResponse } from './agent-update-helper';
44
44
  export { DEFAULT_SOFTWARE_HELPER_SOCKET, requestSoftware, startSoftwareHelper, SOFTWARE_HELPER_GROUP, SOFTWARE_HELPER_UNIT_PATH } from './software-helper';
45
- export { ensureSoftwareRequirements, observeSoftwareHost, validateSoftwareRequirements, OS_CATALOG, SOFTWARE_CATALOG } from './software';
45
+ export { countPaidManagedSoftware, ensureSoftwareRequirements, observeSoftwareHost, softwareBillingClass, validateSoftwareRequirements, OS_CATALOG, SOFTWARE_CATALOG } from './software';
46
46
  export type { CatalogStatus, DeploymentChannel, OsCatalogEntry, SoftwareCatalogEntry, SoftwareCommandResult, SoftwareExec, SoftwareId, SoftwareObservation, SoftwareRequirement } from './software';
47
47
  export { AGENT_EGRESS_TABLE, BLOCKED_IPV4, BLOCKED_IPV6, SYSTEMD_RESOLVED_ADDRESS, SYSTEMD_RESOLVED_STUB, applyAgentEgressPolicy, normalizeEgressTcpPorts, renderAgentEgressNft, superviseAgentEgressPolicy, systemdAgentEgressDirectives, verifyAgentEgressPolicy } from './egress-policy';
48
48
  export type { EgressCommand, EgressCommandResult } from './egress-policy';
@@ -366,7 +366,7 @@ function systemdAgentEgressDirectives(loopbackTcpPorts = []) {
366
366
  }
367
367
 
368
368
  // src/version.ts
369
- var VERSION = "0.1.118";
369
+ var VERSION = "0.1.120";
370
370
 
371
371
  // src/otel-collector.ts
372
372
  var FORGEZERO_OTEL_COLLECTOR_UNIT = "forgezero-otel-collector.service";