@forgezero/agent 0.1.73 → 0.1.75

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.
Files changed (44) hide show
  1. package/README.md +565 -61
  2. package/dist/agent-heartbeat.d.ts +25 -1
  3. package/dist/agent-heartbeat.js +45 -5
  4. package/dist/bootstrap.d.ts +2 -0
  5. package/dist/bootstrap.js +22 -4
  6. package/dist/community-rehearsal-host.js +208 -9
  7. package/dist/credential-schema.d.ts +1 -1
  8. package/dist/credential-schema.js +1 -1
  9. package/dist/definition.js +206 -7
  10. package/dist/deploy-actions.d.ts +7 -0
  11. package/dist/deploy-compiler.js +191 -10
  12. package/dist/deploy-file.js +206 -7
  13. package/dist/deploy-plan-runner.d.ts +3 -0
  14. package/dist/deploy-plan-runner.js +190 -9
  15. package/dist/deploy-plan.js +187 -8
  16. package/dist/deploy-providers.d.ts +19 -0
  17. package/dist/deploy.d.ts +89 -3
  18. package/dist/deploy.js +49 -2
  19. package/dist/deployment-connectivity.d.ts +63 -0
  20. package/dist/deployment-connectivity.js +148 -0
  21. package/dist/deployment-pull.d.ts +2 -0
  22. package/dist/deployment-targets.d.ts +9 -0
  23. package/dist/deployment-targets.js +141 -0
  24. package/dist/deployment.d.ts +69 -0
  25. package/dist/fz-agent.js +1112 -302
  26. package/dist/fz.js +246 -18
  27. package/dist/index.d.ts +1 -0
  28. package/dist/metal-bootstrap.js +1 -1
  29. package/dist/metal-helper-socket.js +210 -11
  30. package/dist/metal-provision.js +210 -11
  31. package/dist/operator-bootstrap.js +22 -4
  32. package/dist/platform-bootstrap-runtime.d.ts +1 -0
  33. package/dist/platform-bootstrap-runtime.js +216 -10
  34. package/dist/platform-fleet-verification.js +523 -150
  35. package/dist/platform-genesis.js +206 -7
  36. package/dist/provision.js +465 -99
  37. package/dist/service-supervisor.d.ts +6 -0
  38. package/dist/software-helper.d.ts +3 -0
  39. package/dist/software-helper.js +465 -98
  40. package/dist/software.d.ts +4 -1
  41. package/dist/software.js +210 -8
  42. package/dist/ubuntu.js +206 -7
  43. package/dist/version.d.ts +1 -1
  44. package/package.json +12 -4
package/README.md CHANGED
@@ -35,48 +35,50 @@ Every row links to the detailed explanation and named-import/example area below.
35
35
 
36
36
  | public entry | short description | runtime | details |
37
37
  |---|---|---|---|
38
- | fz | The operator command: keys, status, genesis, unlock, run, and agent install. | Bun/Node host | [Details + example](#fz) |
39
- | fz run | The fallback for software that cannot read the local socket: start a process with scoped vault values in its environment. | Bun/Node host | [Details + example](#fz-run) |
40
- | fz agent install | Provision the same hardened agent service locally that the platform provisions remotely. | Bun/Node host | [Details + example](#fz-agent-install) |
41
- | fz-agent | The service entry point. Identity and private Git material arrive only as systemd credentials. A platform bootstrap may use a statically configured local control socket; an enrolled tenant guest builds each deployment manager from its signed server claim and reads all commands from the checked-out .fz definition. The signed enrolment binding constructs the exact project Vault replica scope, and an SNP guest completes its first live attestation before Vault synchronization begins. | Bun/Node host | [Details + example](#fz-agent) |
42
- | fz-agent (socket) | identity, sign, attest, get, sync and held — the whole interface an application sees. | Bun/Node host | [Details + example](#fz-agent-socket) |
43
- | @forgezero/agent/migration-pull | PQ-authenticated outbound lifecycle claims with fenced renewal, awaited async execution, idempotent acknowledgement and bounded shutdown drain. The executor reports local facts only. | Bun/Node host | [Details + example](#forgezero-agent-migration-pull) |
44
- | @forgezero/agent/lifecycle-helper | The root-owned fixed-operation boundary for migration work. Signed controller claims can request only private reachability probes, local health checks, or stops of units named in a root-owned profile; they cannot carry commands. | Bun/Node host | [Details + example](#forgezero-agent-lifecycle-helper) |
45
- | @forgezero/agent/provision | The install plan as data, with no transport — so `fz` running locally and the platform running over SSH provision an identical machine. | Bun/Node host | [Details + example](#forgezero-agent-provision) |
46
- | @forgezero/agent/platform-genesis | Offline authority adapter for the brief pre-API period. It validates exactly three reviewed generic guest requests and converts them to the same Metal claims the live API issues; environment and product tier are not provisioning inputs. | Bun/Node host | [Details + example](#forgezero-agent-platform-genesis) |
47
- | @forgezero/agent/subscribe | Realtime scope sync over a WebSocket, with the poll kept underneath it: the poll is what establishes freshness, and a change it finds that the socket never sent is proof the socket is lying. | Bun/Node host | [Details + example](#forgezero-agent-subscribe) |
48
- | @forgezero/agent/ssh-listen | The socket SSH_AUTH_SOCK points at. The protocol handler had nowhere to speak — an agent protocol with no socket is a parser. The containing directory is 0700 before anything binds, because the socket’s own mode is only corrected after it already exists. | Bun/Node host | [Details + example](#forgezero-agent-ssh-listen) |
49
- | @forgezero/agent/ssh-server | Serve the SSH agent protocol so SSH_AUTH_SOCK points at the vault — two operations implemented, and ADD_IDENTITY refused so no process can inject a key ssh would offer to every host. | Bun/Node host | [Details + example](#forgezero-agent-ssh-server) |
50
- | @forgezero/agent/pipeline | CI/CD on the compute: secrets reach the step that named them and nothing else, attestation gates the run, and a required attestation that fails is a refusal rather than a downgrade. | Bun/Node host | [Details + example](#forgezero-agent-pipeline) |
51
- | @forgezero/agent/agent-heartbeat | Signed node health publication with bounded renewal and shutdown withdrawal. | Bun/Node host | [Details + example](#forgezero-agent-agent-heartbeat) |
52
- | @forgezero/agent/agent-update | Verified Agent update planning against the platform release coordinate. | Bun/Node host | [Details + example](#forgezero-agent-agent-update) |
53
- | @forgezero/agent/agent-update-helper | Root-owned fixed update operations with registry origin and integrity validation. | Bun/Node host | [Details + example](#forgezero-agent-agent-update-helper) |
54
- | @forgezero/agent/bootstrap | Typed one-time platform bootstrap and internal API-driven enrolled-compute activation contracts. | Bun/Node host | [Details + example](#forgezero-agent-bootstrap) |
55
- | @forgezero/agent/bootstrap-bundle | Owner-only exact-revision Git bundle and SHA-256 manifest for credential-free release generation one. | Bun/Node host | [Details + example](#forgezero-agent-bootstrap-bundle) |
56
- | @forgezero/agent/operator-bootstrap | Pinned-host operator transport that stages owner-only handoffs and invokes the same typed platform bootstrap through the caller-approved SSH agent. | Bun/Node host | [Details + example](#forgezero-agent-operator-bootstrap) |
57
- | @forgezero/agent/host-maintenance | Closed host maintenance plans for staging transaction rehearsal and fleet-fenced schema consolidation through fixed transient systemd units. | Bun/Node host | [Details + example](#forgezero-agent-host-maintenance) |
58
- | @forgezero/agent/capacity-calibration | One-time target-local safe-concurrency calibration with private evidence. | Bun/Node host | [Details + example](#forgezero-agent-capacity-calibration) |
59
- | @forgezero/agent/cloudflare-bootstrap | Attended two-token Cloudflare Tunnel/DNS reconciliation and per-node connector/KV runtime handoff for existing KV resources. | Bun/Node host | [Details + example](#forgezero-agent-cloudflare-bootstrap) |
60
- | @forgezero/agent/cloudflare-edge | Strict Cloudflare REST operations used by the attended bootstrap controller. | Bun/Node host | [Details + example](#forgezero-agent-cloudflare-edge) |
61
- | @forgezero/agent/mesh-connector | Fixed Cloudflare Mesh/WARP connector enrollment using only the unit-loaded connector credential. | Bun/Node host | [Details + example](#forgezero-agent-mesh-connector) |
62
- | @forgezero/agent/compute | Compute claim, renewal, execution and completion client contracts. | Bun/Node host | [Details + example](#forgezero-agent-compute) |
63
- | @forgezero/agent/credential-schema | Canonical systemd credential names and validation shared by bootstrap and services. | Bun/Node host | [Details + example](#forgezero-agent-credential-schema) |
64
- | @forgezero/agent/definition | Legacy version 3 JSON deployment compatibility contract. | Bun/Node host | [Details + example](#forgezero-agent-definition) |
65
- | @forgezero/agent/deploy | Typed deployment authoring builders, built-in provider requirements and versioned action constructors. | Bun/Node host | [Details + example](#forgezero-agent-deploy) |
66
- | @forgezero/agent/deploy-plan | Runtime validation, canonicalization and semantic digest for inert deployment plans. | Bun/Node host | [Details + example](#forgezero-agent-deploy-plan) |
67
- | @forgezero/agent/deploy-plan-runner | Conditional DAG execution with bounded retry, compensation and failure policy over injected action handlers. | Bun/Node host | [Details + example](#forgezero-agent-deploy-plan-runner) |
68
- | @forgezero/agent/deploy-compiler | Explicit developer/CI compiler from forgezero.deploy.ts to canonical .fz/deploy.plan.json; never used to execute project TypeScript in production. | Bun/Node host | [Details + example](#forgezero-agent-deploy-compiler) |
69
- | @forgezero/agent/deploy-file | Read and validate a checked-out .fz deployment file without executing project input. | Bun/Node host | [Details + example](#forgezero-agent-deploy-file) |
70
- | @forgezero/agent/metal-bootstrap | Physical-metal bootstrap planning, application and status evidence. | Bun/Node host | [Details + example](#forgezero-agent-metal-bootstrap) |
71
- | @forgezero/agent/metal-provision | The single constrained compute materializer for platform genesis, platform scaling and tenant compute. It executes caller-supplied OS, CPU, memory, disk, bandwidth, network and confidentiality coordinates after capacity and image validation; it owns no environment or product-tier shape. | Bun/Node host | [Details + example](#forgezero-agent-metal-provision) |
72
- | @forgezero/agent/platform-bootstrap-runtime | Pure platform bootstrap validation, render and resumable phase-state contracts. | Bun/Node host | [Details + example](#forgezero-agent-platform-bootstrap-runtime) |
73
- | @forgezero/agent/project-context | Project identity and repository context validation for operator and managed runs. | Bun/Node host | [Details + example](#forgezero-agent-project-context) |
74
- | @forgezero/agent/provisioning-pull | Signed provisioning work claim, renewal, execution and acknowledgement. | Bun/Node host | [Details + example](#forgezero-agent-provisioning-pull) |
75
- | @forgezero/agent/schema/deploy-v3.json | Published JSON Schema for deployment definition version 3 with exact argv execution. | Bun/Node host | [Details + example](#forgezero-agent-schema-deploy-v3-json) |
76
- | @forgezero/agent/software | Exact managed-software inventory, requirement and evidence contracts. | Bun/Node host | [Details + example](#forgezero-agent-software) |
77
- | @forgezero/agent/software-helper | Root-owned fixed installation/update boundary for declared software. | Bun/Node host | [Details + example](#forgezero-agent-software-helper) |
78
- | @forgezero/agent/ubuntu | The closed guest-image view: pinned Ubuntu 26.04 LTS x64 supports ordinary or SEV-SNP compute, while pinned Ubuntu 24.04 LTS x64 is limited to ordinary non-confidential compute. Every other OS remains rejected until its own pinned strategy and acceptance evidence are added. | Bun/Node host | [Details + example](#forgezero-agent-ubuntu) |
79
- | fz-agent (replica) | The project-scoped vault replica: resident in RAM, never on disk, invalidated by cursor rather than by timer, and refusing a read it can no longer vouch for. | Bun/Node host | [Details + example](#fz-agent-replica) |
38
+ | fz | The operator command: keys, status, genesis, unlock, run, and agent install. | Bun/Node host | [Reference + usage](#fz) |
39
+ | fz run | The fallback for software that cannot read the local socket: start a process with scoped vault values in its environment. | Bun/Node host | [Reference + usage](#fz-run) |
40
+ | fz agent install | Provision the same hardened agent service locally that the platform provisions remotely. | Bun/Node host | [Reference + usage](#fz-agent-install) |
41
+ | fz-agent | The service entry point. Identity and private Git material arrive only as systemd credentials. A platform bootstrap may use a statically configured local control socket; an enrolled tenant guest builds each deployment manager from its signed server claim and reads all commands from the checked-out .fz definition. The signed enrolment binding constructs the exact project Vault replica scope, and an SNP guest completes its first live attestation before Vault synchronization begins. | Bun/Node host | [Reference + usage](#fz-agent) |
42
+ | fz-agent (socket) | identity, sign, attest, get, sync and held — the whole interface an application sees. | Bun/Node host | [Reference + usage](#fz-agent-socket) |
43
+ | @forgezero/agent/migration-pull | PQ-authenticated outbound lifecycle claims with fenced renewal, awaited async execution, idempotent acknowledgement and bounded shutdown drain. The executor reports local facts only. | Bun/Node host | [Reference + usage](#forgezero-agent-migration-pull) |
44
+ | @forgezero/agent/lifecycle-helper | The root-owned fixed-operation boundary for migration work. Signed controller claims can request only private reachability probes, local health checks, or stops of units named in a root-owned profile; they cannot carry commands. | Bun/Node host | [Reference + usage](#forgezero-agent-lifecycle-helper) |
45
+ | @forgezero/agent/provision | The install plan as data, with no transport — so `fz` running locally and the platform running over SSH provision an identical machine. | Bun/Node host | [Reference + usage](#forgezero-agent-provision) |
46
+ | @forgezero/agent/platform-genesis | Offline authority adapter for the brief pre-API period. It validates exactly three reviewed generic guest requests and converts them to the same Metal claims the live API issues; environment and product tier are not provisioning inputs. | Bun/Node host | [Reference + usage](#forgezero-agent-platform-genesis) |
47
+ | @forgezero/agent/subscribe | Realtime scope sync over a WebSocket, with the poll kept underneath it: the poll is what establishes freshness, and a change it finds that the socket never sent is proof the socket is lying. | Bun/Node host | [Reference + usage](#forgezero-agent-subscribe) |
48
+ | @forgezero/agent/ssh-listen | The socket SSH_AUTH_SOCK points at. The protocol handler had nowhere to speak — an agent protocol with no socket is a parser. The containing directory is 0700 before anything binds, because the socket’s own mode is only corrected after it already exists. | Bun/Node host | [Reference + usage](#forgezero-agent-ssh-listen) |
49
+ | @forgezero/agent/ssh-server | Serve the SSH agent protocol so SSH_AUTH_SOCK points at the vault — two operations implemented, and ADD_IDENTITY refused so no process can inject a key ssh would offer to every host. | Bun/Node host | [Reference + usage](#forgezero-agent-ssh-server) |
50
+ | @forgezero/agent/pipeline | CI/CD on the compute: secrets reach the step that named them and nothing else, attestation gates the run, and a required attestation that fails is a refusal rather than a downgrade. | Bun/Node host | [Reference + usage](#forgezero-agent-pipeline) |
51
+ | @forgezero/agent/agent-heartbeat | Signed node health publication with bounded renewal and shutdown withdrawal. | Bun/Node host | [Reference + usage](#forgezero-agent-agent-heartbeat) |
52
+ | @forgezero/agent/agent-update | Verified Agent update planning against the platform release coordinate. | Bun/Node host | [Reference + usage](#forgezero-agent-agent-update) |
53
+ | @forgezero/agent/agent-update-helper | Root-owned fixed update operations with registry origin and integrity validation. | Bun/Node host | [Reference + usage](#forgezero-agent-agent-update-helper) |
54
+ | @forgezero/agent/bootstrap | Typed one-time platform bootstrap and internal API-driven enrolled-compute activation contracts. | Bun/Node host | [Reference + usage](#forgezero-agent-bootstrap) |
55
+ | @forgezero/agent/bootstrap-bundle | Owner-only exact-revision Git bundle and SHA-256 manifest for credential-free release generation one. | Bun/Node host | [Reference + usage](#forgezero-agent-bootstrap-bundle) |
56
+ | @forgezero/agent/operator-bootstrap | Pinned-host operator transport that stages owner-only handoffs and invokes the same typed platform bootstrap through the caller-approved SSH agent. | Bun/Node host | [Reference + usage](#forgezero-agent-operator-bootstrap) |
57
+ | @forgezero/agent/host-maintenance | Closed host maintenance plans for staging transaction rehearsal and fleet-fenced schema consolidation through fixed transient systemd units. | Bun/Node host | [Reference + usage](#forgezero-agent-host-maintenance) |
58
+ | @forgezero/agent/capacity-calibration | One-time target-local safe-concurrency calibration with private evidence. | Bun/Node host | [Reference + usage](#forgezero-agent-capacity-calibration) |
59
+ | @forgezero/agent/cloudflare-bootstrap | Attended two-token Cloudflare Tunnel/DNS reconciliation and per-node connector/KV runtime handoff for existing KV resources. | Bun/Node host | [Reference + usage](#forgezero-agent-cloudflare-bootstrap) |
60
+ | @forgezero/agent/cloudflare-edge | Strict Cloudflare REST operations used by the attended bootstrap controller. | Bun/Node host | [Reference + usage](#forgezero-agent-cloudflare-edge) |
61
+ | @forgezero/agent/mesh-connector | Fixed Cloudflare Mesh/WARP connector enrollment using only the unit-loaded connector credential. | Bun/Node host | [Reference + usage](#forgezero-agent-mesh-connector) |
62
+ | @forgezero/agent/compute | Compute claim, renewal, execution and completion client contracts. | Bun/Node host | [Reference + usage](#forgezero-agent-compute) |
63
+ | @forgezero/agent/credential-schema | Canonical systemd credential names and validation shared by bootstrap and services. | Bun/Node host | [Reference + usage](#forgezero-agent-credential-schema) |
64
+ | @forgezero/agent/definition | Legacy version 3 JSON deployment compatibility contract. | Bun/Node host | [Reference + usage](#forgezero-agent-definition) |
65
+ | @forgezero/agent/deploy | Typed deployment authoring builders, built-in provider requirements and versioned action constructors. | Bun/Node host | [Reference + usage](#forgezero-agent-deploy) |
66
+ | @forgezero/agent/deployment-targets | Bounded input resolution and stable compute-target assignment for typed plans; emits requirements and slots rather than physical hostnames. | Bun/Node host | [Reference + usage](#forgezero-agent-deployment-targets) |
67
+ | @forgezero/agent/deployment-connectivity | Root-owned application of per-target Cloudflare Tunnel or WARP connector capabilities without exposing the project management token to a compute. | Bun/Node host | [Reference + usage](#forgezero-agent-deployment-connectivity) |
68
+ | @forgezero/agent/deploy-plan | Runtime validation, canonicalization and semantic digest for inert deployment plans. | Bun/Node host | [Reference + usage](#forgezero-agent-deploy-plan) |
69
+ | @forgezero/agent/deploy-plan-runner | Conditional DAG execution with bounded retry, compensation and failure policy over injected action handlers. | Bun/Node host | [Reference + usage](#forgezero-agent-deploy-plan-runner) |
70
+ | @forgezero/agent/deploy-compiler | Explicit developer/CI compiler from forgezero.deploy.ts to canonical .fz/deploy.plan.json; never used to execute project TypeScript in production. | Bun/Node host | [Reference + usage](#forgezero-agent-deploy-compiler) |
71
+ | @forgezero/agent/deploy-file | Read and validate a checked-out .fz deployment file without executing project input. | Bun/Node host | [Reference + usage](#forgezero-agent-deploy-file) |
72
+ | @forgezero/agent/metal-bootstrap | Physical-metal bootstrap planning, application and status evidence. | Bun/Node host | [Reference + usage](#forgezero-agent-metal-bootstrap) |
73
+ | @forgezero/agent/metal-provision | The single constrained compute materializer for platform genesis, platform scaling and tenant compute. It executes caller-supplied OS, CPU, memory, disk, bandwidth, network and confidentiality coordinates after capacity and image validation; it owns no environment or product-tier shape. | Bun/Node host | [Reference + usage](#forgezero-agent-metal-provision) |
74
+ | @forgezero/agent/platform-bootstrap-runtime | Pure platform bootstrap validation, render and resumable phase-state contracts. | Bun/Node host | [Reference + usage](#forgezero-agent-platform-bootstrap-runtime) |
75
+ | @forgezero/agent/project-context | Project identity and repository context validation for operator and managed runs. | Bun/Node host | [Reference + usage](#forgezero-agent-project-context) |
76
+ | @forgezero/agent/provisioning-pull | Signed provisioning work claim, renewal, execution and acknowledgement. | Bun/Node host | [Reference + usage](#forgezero-agent-provisioning-pull) |
77
+ | @forgezero/agent/schema/deploy-v3.json | Published JSON Schema for deployment definition version 3 with exact argv execution. | Bun/Node host | [Reference + usage](#forgezero-agent-schema-deploy-v3-json) |
78
+ | @forgezero/agent/software | Exact managed-software inventory, requirement and evidence contracts. | Bun/Node host | [Reference + usage](#forgezero-agent-software) |
79
+ | @forgezero/agent/software-helper | Root-owned fixed installation/update boundary for declared software. | Bun/Node host | [Reference + usage](#forgezero-agent-software-helper) |
80
+ | @forgezero/agent/ubuntu | The closed guest-image view: pinned Ubuntu 26.04 LTS x64 supports ordinary or SEV-SNP compute, while pinned Ubuntu 24.04 LTS x64 is limited to ordinary non-confidential compute. Every other OS remains rejected until its own pinned strategy and acceptance evidence are added. | Bun/Node host | [Reference + usage](#forgezero-agent-ubuntu) |
81
+ | fz-agent (replica) | The project-scoped vault replica: resident in RAM, never on disk, invalidated by cursor rather than by timer, and refusing a read it can no longer vouch for. | Bun/Node host | [Reference + usage](#fz-agent-replica) |
80
82
 
81
83
  ## Commands
82
84
 
@@ -132,6 +134,14 @@ The fallback for software that cannot read the local socket: start a process wit
132
134
  fz run --help
133
135
  ```
134
136
 
137
+ ## fz run — Inspect before use
138
+
139
+ This is a command entry. Read its typed option contract before an operation; apply-capable commands remain plans unless their explicit apply flag is supplied.
140
+
141
+ ```text
142
+ fz run --help
143
+ ```
144
+
135
145
  <a id="fz-agent-install"></a>
136
146
  ## fz agent install
137
147
 
@@ -141,6 +151,14 @@ Provision the same hardened agent service locally that the platform provisions r
141
151
  fz agent install --help
142
152
  ```
143
153
 
154
+ ## fz agent install — Inspect before use
155
+
156
+ This is a command entry. Read its typed option contract before an operation; apply-capable commands remain plans unless their explicit apply flag is supplied.
157
+
158
+ ```text
159
+ fz agent install --help
160
+ ```
161
+
144
162
  <a id="fz-agent"></a>
145
163
  ## fz-agent
146
164
 
@@ -150,13 +168,22 @@ The service entry point. Identity and private Git material arrive only as system
150
168
  fz-agent --help
151
169
  ```
152
170
 
171
+ ## fz-agent — Inspect before use
172
+
173
+ This is a command entry. Read its typed option contract before an operation; apply-capable commands remain plans unless their explicit apply flag is supplied.
174
+
175
+ ```text
176
+ fz-agent --help
177
+ ```
178
+
153
179
  <a id="fz-agent-socket"></a>
154
180
  ## fz-agent (socket)
155
181
 
156
- identity, sign, attest, get, sync and held — the whole interface an application sees. This entry requires a Bun/Node host runtime. Run the command with `--help` before applying it.
182
+ identity, sign, attest, get, sync and held — the whole interface an application sees. This entry requires a Bun/Node host runtime. This is a managed runtime interface label, not an import or standalone executable.
157
183
 
158
184
  ```text
159
- fz-agent (socket) --help
185
+ fz-agent (socket)
186
+ # Accessed through the installed Agent boundary.
160
187
  ```
161
188
 
162
189
  ## fz-agent (socket) — Outbound control boundary
@@ -190,6 +217,18 @@ import type {
190
217
  } from '@forgezero/agent/migration-pull';
191
218
  ```
192
219
 
220
+ ## @forgezero/agent/migration-pull — Use this entry point
221
+
222
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
223
+
224
+ ```text
225
+ import {
226
+ pullMigrationOnce,
227
+ } from '@forgezero/agent/migration-pull';
228
+
229
+ export const selectedCapability = pullMigrationOnce;
230
+ ```
231
+
193
232
  <a id="forgezero-agent-lifecycle-helper"></a>
194
233
  ## @forgezero/agent/lifecycle-helper
195
234
 
@@ -213,6 +252,18 @@ import type {
213
252
  } from '@forgezero/agent/lifecycle-helper';
214
253
  ```
215
254
 
255
+ ## @forgezero/agent/lifecycle-helper — Use this entry point
256
+
257
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
258
+
259
+ ```text
260
+ import {
261
+ DEFAULT_LIFECYCLE_HELPER_SOCKET,
262
+ } from '@forgezero/agent/lifecycle-helper';
263
+
264
+ export const selectedCapability = DEFAULT_LIFECYCLE_HELPER_SOCKET;
265
+ ```
266
+
216
267
  <a id="forgezero-agent-provision"></a>
217
268
  ## @forgezero/agent/provision
218
269
 
@@ -271,6 +322,18 @@ import type {
271
322
  } from '@forgezero/agent/provision';
272
323
  ```
273
324
 
325
+ ## @forgezero/agent/provision — Use this entry point
326
+
327
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
328
+
329
+ ```text
330
+ import {
331
+ AGENT_EGRESS_UNIT_PATH,
332
+ } from '@forgezero/agent/provision';
333
+
334
+ export const selectedCapability = AGENT_EGRESS_UNIT_PATH;
335
+ ```
336
+
274
337
  <a id="forgezero-agent-platform-genesis"></a>
275
338
  ## @forgezero/agent/platform-genesis
276
339
 
@@ -289,6 +352,18 @@ import type {
289
352
  } from '@forgezero/agent/platform-genesis';
290
353
  ```
291
354
 
355
+ ## @forgezero/agent/platform-genesis — Use this entry point
356
+
357
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
358
+
359
+ ```text
360
+ import {
361
+ platformCommunityRehearsalClaims,
362
+ } from '@forgezero/agent/platform-genesis';
363
+
364
+ export const selectedCapability = platformCommunityRehearsalClaims;
365
+ ```
366
+
292
367
  <a id="forgezero-agent-subscribe"></a>
293
368
  ## @forgezero/agent/subscribe
294
369
 
@@ -308,6 +383,18 @@ import type {
308
383
  } from '@forgezero/agent/subscribe';
309
384
  ```
310
385
 
386
+ ## @forgezero/agent/subscribe — Use this entry point
387
+
388
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
389
+
390
+ ```text
391
+ import {
392
+ backoffMs,
393
+ } from '@forgezero/agent/subscribe';
394
+
395
+ export const selectedCapability = backoffMs;
396
+ ```
397
+
311
398
  <a id="forgezero-agent-ssh-listen"></a>
312
399
  ## @forgezero/agent/ssh-listen
313
400
 
@@ -324,6 +411,18 @@ import type {
324
411
  } from '@forgezero/agent/ssh-listen';
325
412
  ```
326
413
 
414
+ ## @forgezero/agent/ssh-listen — Use this entry point
415
+
416
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
417
+
418
+ ```text
419
+ import {
420
+ MAX_MESSAGE_BYTES,
421
+ } from '@forgezero/agent/ssh-listen';
422
+
423
+ export const selectedCapability = MAX_MESSAGE_BYTES;
424
+ ```
425
+
327
426
  <a id="forgezero-agent-ssh-server"></a>
328
427
  ## @forgezero/agent/ssh-server
329
428
 
@@ -349,6 +448,18 @@ import type {
349
448
  } from '@forgezero/agent/ssh-server';
350
449
  ```
351
450
 
451
+ ## @forgezero/agent/ssh-server — Use this entry point
452
+
453
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
454
+
455
+ ```text
456
+ import {
457
+ MAX_MESSAGE_BYTES,
458
+ } from '@forgezero/agent/ssh-server';
459
+
460
+ export const selectedCapability = MAX_MESSAGE_BYTES;
461
+ ```
462
+
352
463
  <a id="forgezero-agent-pipeline"></a>
353
464
  ## @forgezero/agent/pipeline
354
465
 
@@ -371,10 +482,22 @@ import type {
371
482
  } from '@forgezero/agent/pipeline';
372
483
  ```
373
484
 
485
+ ## @forgezero/agent/pipeline — Use this entry point
486
+
487
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
488
+
489
+ ```text
490
+ import {
491
+ PipelineError,
492
+ } from '@forgezero/agent/pipeline';
493
+
494
+ export const selectedCapability = PipelineError;
495
+ ```
496
+
374
497
  <a id="forgezero-agent-agent-heartbeat"></a>
375
498
  ## @forgezero/agent/agent-heartbeat
376
499
 
377
- Signed node health publication with bounded renewal and shutdown withdrawal. This entry exposes 3 named value exports and 3 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
500
+ Signed node health publication with bounded renewal and shutdown withdrawal. This entry exposes 3 named value exports and 4 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
378
501
 
379
502
  ```text
380
503
  import {
@@ -386,10 +509,23 @@ import {
386
509
  import type {
387
510
  AgentHeartbeatOptions,
388
511
  AgentHeartbeatResponse,
512
+ AgentHostMetrics,
389
513
  AgentObservation,
390
514
  } from '@forgezero/agent/agent-heartbeat';
391
515
  ```
392
516
 
517
+ ## @forgezero/agent/agent-heartbeat — Use this entry point
518
+
519
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
520
+
521
+ ```text
522
+ import {
523
+ heartbeatAgentOnce,
524
+ } from '@forgezero/agent/agent-heartbeat';
525
+
526
+ export const selectedCapability = heartbeatAgentOnce;
527
+ ```
528
+
393
529
  <a id="forgezero-agent-agent-update"></a>
394
530
  ## @forgezero/agent/agent-update
395
531
 
@@ -415,6 +551,18 @@ import type {
415
551
  } from '@forgezero/agent/agent-update';
416
552
  ```
417
553
 
554
+ ## @forgezero/agent/agent-update — Use this entry point
555
+
556
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
557
+
558
+ ```text
559
+ import {
560
+ DEFAULT_AGENT_RELEASE_ROOT,
561
+ } from '@forgezero/agent/agent-update';
562
+
563
+ export const selectedCapability = DEFAULT_AGENT_RELEASE_ROOT;
564
+ ```
565
+
418
566
  <a id="forgezero-agent-agent-update-helper"></a>
419
567
  ## @forgezero/agent/agent-update-helper
420
568
 
@@ -442,6 +590,18 @@ import type {
442
590
  } from '@forgezero/agent/agent-update-helper';
443
591
  ```
444
592
 
593
+ ## @forgezero/agent/agent-update-helper — Use this entry point
594
+
595
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
596
+
597
+ ```text
598
+ import {
599
+ AGENT_UPDATE_GROUP,
600
+ } from '@forgezero/agent/agent-update-helper';
601
+
602
+ export const selectedCapability = AGENT_UPDATE_GROUP;
603
+ ```
604
+
445
605
  <a id="forgezero-agent-bootstrap"></a>
446
606
  ## @forgezero/agent/bootstrap
447
607
 
@@ -486,6 +646,18 @@ import type {
486
646
  } from '@forgezero/agent/bootstrap';
487
647
  ```
488
648
 
649
+ ## @forgezero/agent/bootstrap — Use this entry point
650
+
651
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
652
+
653
+ ```text
654
+ import {
655
+ BOOTSTRAP_STATE_PATH,
656
+ } from '@forgezero/agent/bootstrap';
657
+
658
+ export const selectedCapability = BOOTSTRAP_STATE_PATH;
659
+ ```
660
+
489
661
  <a id="forgezero-agent-bootstrap-bundle"></a>
490
662
  ## @forgezero/agent/bootstrap-bundle
491
663
 
@@ -641,6 +813,18 @@ import type {
641
813
  } from '@forgezero/agent/capacity-calibration';
642
814
  ```
643
815
 
816
+ ## @forgezero/agent/capacity-calibration — Use this entry point
817
+
818
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
819
+
820
+ ```text
821
+ import {
822
+ calibrateHttpConcurrency,
823
+ } from '@forgezero/agent/capacity-calibration';
824
+
825
+ export const selectedCapability = calibrateHttpConcurrency;
826
+ ```
827
+
644
828
  <a id="forgezero-agent-cloudflare-bootstrap"></a>
645
829
  ## @forgezero/agent/cloudflare-bootstrap
646
830
 
@@ -685,6 +869,18 @@ import type {
685
869
  } from '@forgezero/agent/cloudflare-bootstrap';
686
870
  ```
687
871
 
872
+ ## @forgezero/agent/cloudflare-bootstrap — Use this entry point
873
+
874
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
875
+
876
+ ```text
877
+ import {
878
+ applyCloudflareBootstrap,
879
+ } from '@forgezero/agent/cloudflare-bootstrap';
880
+
881
+ export const selectedCapability = applyCloudflareBootstrap;
882
+ ```
883
+
688
884
  <a id="forgezero-agent-cloudflare-edge"></a>
689
885
  ## @forgezero/agent/cloudflare-edge
690
886
 
@@ -720,6 +916,18 @@ import type {
720
916
  } from '@forgezero/agent/cloudflare-edge';
721
917
  ```
722
918
 
919
+ ## @forgezero/agent/cloudflare-edge — Use this entry point
920
+
921
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
922
+
923
+ ```text
924
+ import {
925
+ configureCloudflareEdge,
926
+ } from '@forgezero/agent/cloudflare-edge';
927
+
928
+ export const selectedCapability = configureCloudflareEdge;
929
+ ```
930
+
723
931
  <a id="forgezero-agent-mesh-connector"></a>
724
932
  ## @forgezero/agent/mesh-connector
725
933
 
@@ -737,6 +945,18 @@ import type {
737
945
  } from '@forgezero/agent/mesh-connector';
738
946
  ```
739
947
 
948
+ ## @forgezero/agent/mesh-connector — Use this entry point
949
+
950
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
951
+
952
+ ```text
953
+ import {
954
+ configureMeshConnector,
955
+ } from '@forgezero/agent/mesh-connector';
956
+
957
+ export const selectedCapability = configureMeshConnector;
958
+ ```
959
+
740
960
  <a id="forgezero-agent-compute"></a>
741
961
  ## @forgezero/agent/compute
742
962
 
@@ -761,6 +981,18 @@ import type {
761
981
  } from '@forgezero/agent/compute';
762
982
  ```
763
983
 
984
+ ## @forgezero/agent/compute — Use this entry point
985
+
986
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
987
+
988
+ ```text
989
+ import {
990
+ ComputeError,
991
+ } from '@forgezero/agent/compute';
992
+
993
+ export const selectedCapability = ComputeError;
994
+ ```
995
+
764
996
  <a id="forgezero-agent-credential-schema"></a>
765
997
  ## @forgezero/agent/credential-schema
766
998
 
@@ -784,6 +1016,18 @@ import type {
784
1016
  } from '@forgezero/agent/credential-schema';
785
1017
  ```
786
1018
 
1019
+ ## @forgezero/agent/credential-schema — Use this entry point
1020
+
1021
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1022
+
1023
+ ```text
1024
+ import {
1025
+ AGENT_CREDENTIAL_LOCATIONS,
1026
+ } from '@forgezero/agent/credential-schema';
1027
+
1028
+ export const selectedCapability = AGENT_CREDENTIAL_LOCATIONS;
1029
+ ```
1030
+
787
1031
  <a id="forgezero-agent-definition"></a>
788
1032
  ## @forgezero/agent/definition
789
1033
 
@@ -808,10 +1052,22 @@ import type {
808
1052
  } from '@forgezero/agent/definition';
809
1053
  ```
810
1054
 
1055
+ ## @forgezero/agent/definition — Use this entry point
1056
+
1057
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1058
+
1059
+ ```text
1060
+ import {
1061
+ DEPLOY_SCHEMA_URL,
1062
+ } from '@forgezero/agent/definition';
1063
+
1064
+ export const selectedCapability = DEPLOY_SCHEMA_URL;
1065
+ ```
1066
+
811
1067
  <a id="forgezero-agent-deploy"></a>
812
1068
  ## @forgezero/agent/deploy
813
1069
 
814
- Typed deployment authoring builders, built-in provider requirements and versioned action constructors. This entry exposes 14 named value exports and 35 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1070
+ Typed deployment authoring builders, built-in provider requirements and versioned action constructors. This entry exposes 14 named value exports and 41 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
815
1071
 
816
1072
  ```text
817
1073
  import {
@@ -838,17 +1094,22 @@ import type {
838
1094
  BunProviderConfig,
839
1095
  CloudflaredProviderConfig,
840
1096
  ComponentDefinition,
1097
+ ComputeConnectivityDefinition,
1098
+ ComputePoolDefinition,
841
1099
  Condition,
842
1100
  ConditionOperand,
1101
+ ContainerdProviderConfig,
843
1102
  CredentialDefinition,
844
1103
  DatabaseComponent,
845
1104
  DeploymentSource,
846
1105
  DockerProviderConfig,
847
1106
  HealthDefinition,
848
1107
  InputDefinition,
1108
+ IntegerValue,
849
1109
  JsonObject,
850
1110
  JsonPrimitive,
851
1111
  JsonValue,
1112
+ KataProviderConfig,
852
1113
  NetworkDefinition,
853
1114
  NginxProviderConfig,
854
1115
  OpenSshProviderConfig,
@@ -860,6 +1121,7 @@ import type {
860
1121
  StageDefinition,
861
1122
  StepScope,
862
1123
  StorageMount,
1124
+ StringValue,
863
1125
  SystemdProviderConfig,
864
1126
  TargetDefinition,
865
1127
  UfwProviderConfig,
@@ -870,16 +1132,19 @@ import type {
870
1132
  } from '@forgezero/agent/deploy';
871
1133
  ```
872
1134
 
873
- ## @forgezero/agent/deploy — Author a typed native or Docker deployment
1135
+ ## @forgezero/agent/deploy — Author a typed, placed containerd deployment
874
1136
 
875
- TypeScript is authoring only. The checked-in canonical plan is what Agents validate and execute. Docker is additive: native Bun/ArangoDB remains available, while container applications must declare hard CPU, memory and PID limits, storage class, loopback ingress and a fixed health gate.
1137
+ TypeScript is authoring only. The checked-in canonical plan is what Agents validate and execute. Targets declare bounded resource/cardinality intent, not hostnames. The API reserves eligible project capacity or provisions only under the reviewed plan and spend ceiling, assigns stable slots, and the Agent runs only its exact assignment. runc containers must declare hard CPU, memory and PID limits, bounded storage, loopback ingress and a health-gated rollout; select Kata QEMU SNP when the workload needs host isolation.
876
1138
 
877
1139
  ```text
878
1140
  import {
879
1141
  actions,
880
- application,
881
- defineDeployment,
882
- providers,
1142
+ application,
1143
+ credential,
1144
+ defineDeployment,
1145
+ input,
1146
+ providers,
1147
+ ref,
883
1148
  stage,
884
1149
  target,
885
1150
  workflow,
@@ -889,24 +1154,117 @@ export default defineDeployment({
889
1154
  apiVersion: 'deploy.forgezero.net/v1', kind: 'Deployment',
890
1155
  metadata: { name: 'orders-api' },
891
1156
  spec: {
892
- targets: { api: target.compute({ selector: { profiles: ['api'] }, cardinality: { minimum: 1, desired: 2, maximum: 16 } }) },
893
- requirements: { docker: providers.docker.require(), nginx: providers.nginx.require() },
1157
+ inputs: {
1158
+ replicas: input.integer({ minimum: 1, maximum: 16, default: 1 }),
1159
+ cpuCores: input.integer({ minimum: 1, maximum: 32, default: 1 }),
1160
+ memoryMiB: input.integer({ minimum: 256, maximum: 131072, default: 512 }),
1161
+ storageGiB: input.integer({ minimum: 4, maximum: 2048, default: 8 })
1162
+ },
1163
+ credentials: {
1164
+ cloudflare: credential.vault({ schema: 'forgezero.cloudflare/management@1', name: 'cloudflare-management' })
1165
+ },
1166
+ targets: { api: target.compute({
1167
+ profiles: ['api'], replicas: { minimum: 1, desired: input.ref('replicas'), maximum: 16 },
1168
+ resources: { cpuCores: input.ref('cpuCores'), memoryMiB: input.ref('memoryMiB'), storageGiB: input.ref('storageGiB') },
1169
+ os: 'ubuntu-24.04', runtime: 'oci-runc', sharing: 'shared', reuse: 'prefer',
1170
+ provisioning: {
1171
+ planKey: 'app-small', regionKey: 'default', imageKey: 'ubuntu-24.04-x64',
1172
+ environmentKey: 'production', ownership: 'platform', maxMonthlySpendMinor: '25000'
1173
+ },
1174
+ connectivity: {
1175
+ private: { mode: 'private-lan' },
1176
+ public: { mode: 'cloudflare-tunnel', credential: 'cloudflare', zone: 'example.com', hostname: { mode: 'indexed', prefix: 'api' } }
1177
+ }
1178
+ }) },
1179
+ requirements: {
1180
+ containerd: providers.containerd.require(), nginx: providers.nginx.require(),
1181
+ cloudflared: providers.cloudflared.require()
1182
+ },
894
1183
  components: {
895
1184
  api: application({
896
1185
  target: 'api',
897
- runtime: { kind: 'container', provider: 'forgezero.docker', requirement: 'docker', image: { source: { kind: 'build', context: '.', dockerfile: 'Dockerfile' } }, security: { privileged: false, noNewPrivileges: true, root: 'read-only', dropCapabilities: ['ALL'] } },
1186
+ runtime: { kind: 'container', provider: 'forgezero.containerd', requirement: 'containerd', runtimeClass: 'runc', image: { source: { kind: 'build', context: '.', dockerfile: 'Dockerfile' } }, security: { privileged: false, noNewPrivileges: true, root: 'read-only', dropCapabilities: ['ALL'] } },
898
1187
  service: { protocol: 'http', port: 3000, health: { protocol: 'http', method: 'GET', path: '/health', expectedStatus: [200], timeoutMs: 2000 } },
899
- resources: { cpu: { limit: 2 }, memory: { limitMiB: 2048, swap: 'disabled' }, pids: { limit: 256 } },
1188
+ resources: { cpu: { limit: 1 }, memory: { limitMiB: 512, swap: 'disabled' }, pids: { limit: 256 } },
900
1189
  storage: [{ class: 'ephemeral', path: '/tmp', type: 'tmpfs', sizeMiB: 128 }],
901
- network: { ingress: { exposure: 'loopback', stablePort: 3000 }, container: { mode: 'bridge', network: 'api' } },
1190
+ network: {
1191
+ ingress: { exposure: 'public', stablePort: 3000 },
1192
+ public: { mode: 'cloudflare-tunnel' },
1193
+ container: { mode: 'bridge', network: 'api' }
1194
+ },
902
1195
  rollout: { strategy: 'blue-green', proxy: 'nginx', automaticRollback: true }
903
1196
  })
904
1197
  },
905
- workflows: { deploy: workflow({ stages: { prepare: stage({ strategy: { mode: 'sequential' }, steps: { software: actions.software.ensure({ requirements: ['docker', 'nginx'] }, { scope: { kind: 'each-target', target: 'api' } }) } }) } }) }
1198
+ workflows: { deploy: workflow({ stages: {
1199
+ prepare: stage({ strategy: { mode: 'sequential' }, steps: {
1200
+ software: actions.software.ensure({ requirements: ['containerd', 'nginx', 'cloudflared'] }, { scope: { kind: 'each-target', target: 'api' } }),
1201
+ network: actions.network.ensure({ target: 'api' }, { scope: { kind: 'each-target', target: 'api' } }),
1202
+ image: actions.container.build({ component: 'api' }, { scope: { kind: 'each-target', target: 'api' } })
1203
+ } }),
1204
+ release: stage({ dependsOn: ['prepare'], strategy: { mode: 'blue-green' }, steps: {
1205
+ promote: actions.service.promote({ component: 'api', imageDigest: ref.stepOutput('image', 'digest') }, { scope: { kind: 'each-target', target: 'api' } })
1206
+ } })
1207
+ } }) }
906
1208
  }
907
1209
  });
908
1210
  ```
909
1211
 
1212
+ <a id="forgezero-agent-deployment-targets"></a>
1213
+ ## @forgezero/agent/deployment-targets
1214
+
1215
+ Bounded input resolution and stable compute-target assignment for typed plans; emits requirements and slots rather than physical hostnames. This entry exposes 3 named value exports and 0 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1216
+
1217
+ ```text
1218
+ import {
1219
+ DeploymentInputError,
1220
+ resolveDeploymentInputs,
1221
+ resolveDeploymentTargets,
1222
+ } from '@forgezero/agent/deployment-targets';
1223
+ ```
1224
+
1225
+ ## @forgezero/agent/deployment-targets — Use this entry point
1226
+
1227
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1228
+
1229
+ ```text
1230
+ import {
1231
+ DeploymentInputError,
1232
+ } from '@forgezero/agent/deployment-targets';
1233
+
1234
+ export const selectedCapability = DeploymentInputError;
1235
+ ```
1236
+
1237
+ <a id="forgezero-agent-deployment-connectivity"></a>
1238
+ ## @forgezero/agent/deployment-connectivity
1239
+
1240
+ Root-owned application of per-target Cloudflare Tunnel or WARP connector capabilities without exposing the project management token to a compute. This entry exposes 1 named value export and 5 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1241
+
1242
+ ```text
1243
+ import {
1244
+ applyDeploymentConnectivity,
1245
+ } from '@forgezero/agent/deployment-connectivity';
1246
+
1247
+ import type {
1248
+ DeploymentConnectivityCapabilities,
1249
+ DeploymentConnectivityEvidence,
1250
+ DeploymentConnectivityHost,
1251
+ DeploymentConnectivityIntent,
1252
+ DeploymentConnectivityRequest,
1253
+ } from '@forgezero/agent/deployment-connectivity';
1254
+ ```
1255
+
1256
+ ## @forgezero/agent/deployment-connectivity — Use this entry point
1257
+
1258
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1259
+
1260
+ ```text
1261
+ import {
1262
+ applyDeploymentConnectivity,
1263
+ } from '@forgezero/agent/deployment-connectivity';
1264
+
1265
+ export const selectedCapability = applyDeploymentConnectivity;
1266
+ ```
1267
+
910
1268
  <a id="forgezero-agent-deploy-plan"></a>
911
1269
  ## @forgezero/agent/deploy-plan
912
1270
 
@@ -932,6 +1290,18 @@ import type {
932
1290
  } from '@forgezero/agent/deploy-plan';
933
1291
  ```
934
1292
 
1293
+ ## @forgezero/agent/deploy-plan — Use this entry point
1294
+
1295
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1296
+
1297
+ ```text
1298
+ import {
1299
+ DEPLOY_PLAN_FORMAT,
1300
+ } from '@forgezero/agent/deploy-plan';
1301
+
1302
+ export const selectedCapability = DEPLOY_PLAN_FORMAT;
1303
+ ```
1304
+
935
1305
  <a id="forgezero-agent-deploy-plan-runner"></a>
936
1306
  ## @forgezero/agent/deploy-plan-runner
937
1307
 
@@ -1000,6 +1370,18 @@ import type {
1000
1370
  } from '@forgezero/agent/deploy-compiler';
1001
1371
  ```
1002
1372
 
1373
+ ## @forgezero/agent/deploy-compiler — Use this entry point
1374
+
1375
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1376
+
1377
+ ```text
1378
+ import {
1379
+ DEPLOY_PLAN_FILE,
1380
+ } from '@forgezero/agent/deploy-compiler';
1381
+
1382
+ export const selectedCapability = DEPLOY_PLAN_FILE;
1383
+ ```
1384
+
1003
1385
  <a id="forgezero-agent-deploy-file"></a>
1004
1386
  ## @forgezero/agent/deploy-file
1005
1387
 
@@ -1022,6 +1404,18 @@ import type {
1022
1404
  } from '@forgezero/agent/deploy-file';
1023
1405
  ```
1024
1406
 
1407
+ ## @forgezero/agent/deploy-file — Use this entry point
1408
+
1409
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1410
+
1411
+ ```text
1412
+ import {
1413
+ DEPLOY_FILE,
1414
+ } from '@forgezero/agent/deploy-file';
1415
+
1416
+ export const selectedCapability = DEPLOY_FILE;
1417
+ ```
1418
+
1025
1419
  <a id="forgezero-agent-metal-bootstrap"></a>
1026
1420
  ## @forgezero/agent/metal-bootstrap
1027
1421
 
@@ -1052,6 +1446,18 @@ import type {
1052
1446
  } from '@forgezero/agent/metal-bootstrap';
1053
1447
  ```
1054
1448
 
1449
+ ## @forgezero/agent/metal-bootstrap — Use this entry point
1450
+
1451
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1452
+
1453
+ ```text
1454
+ import {
1455
+ METAL_BOOTSTRAP_STATE_PATH,
1456
+ } from '@forgezero/agent/metal-bootstrap';
1457
+
1458
+ export const selectedCapability = METAL_BOOTSTRAP_STATE_PATH;
1459
+ ```
1460
+
1055
1461
  <a id="forgezero-agent-metal-provision"></a>
1056
1462
  ## @forgezero/agent/metal-provision
1057
1463
 
@@ -1082,6 +1488,18 @@ import type {
1082
1488
  } from '@forgezero/agent/metal-provision';
1083
1489
  ```
1084
1490
 
1491
+ ## @forgezero/agent/metal-provision — Use this entry point
1492
+
1493
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1494
+
1495
+ ```text
1496
+ import {
1497
+ MetalProvisionError,
1498
+ } from '@forgezero/agent/metal-provision';
1499
+
1500
+ export const selectedCapability = MetalProvisionError;
1501
+ ```
1502
+
1085
1503
  <a id="forgezero-agent-platform-bootstrap-runtime"></a>
1086
1504
  ## @forgezero/agent/platform-bootstrap-runtime
1087
1505
 
@@ -1119,6 +1537,18 @@ import type {
1119
1537
  } from '@forgezero/agent/platform-bootstrap-runtime';
1120
1538
  ```
1121
1539
 
1540
+ ## @forgezero/agent/platform-bootstrap-runtime — Use this entry point
1541
+
1542
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1543
+
1544
+ ```text
1545
+ import {
1546
+ activatePlatformRelease,
1547
+ } from '@forgezero/agent/platform-bootstrap-runtime';
1548
+
1549
+ export const selectedCapability = activatePlatformRelease;
1550
+ ```
1551
+
1122
1552
  <a id="forgezero-agent-project-context"></a>
1123
1553
  ## @forgezero/agent/project-context
1124
1554
 
@@ -1145,6 +1575,18 @@ import type {
1145
1575
  } from '@forgezero/agent/project-context';
1146
1576
  ```
1147
1577
 
1578
+ ## @forgezero/agent/project-context — Use this entry point
1579
+
1580
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1581
+
1582
+ ```text
1583
+ import {
1584
+ PROJECT_CONTEXT_VERSION,
1585
+ } from '@forgezero/agent/project-context';
1586
+
1587
+ export const selectedCapability = PROJECT_CONTEXT_VERSION;
1588
+ ```
1589
+
1148
1590
  <a id="forgezero-agent-provisioning-pull"></a>
1149
1591
  ## @forgezero/agent/provisioning-pull
1150
1592
 
@@ -1167,6 +1609,18 @@ import type {
1167
1609
  } from '@forgezero/agent/provisioning-pull';
1168
1610
  ```
1169
1611
 
1612
+ ## @forgezero/agent/provisioning-pull — Use this entry point
1613
+
1614
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1615
+
1616
+ ```text
1617
+ import {
1618
+ pullProvisioningOnce,
1619
+ } from '@forgezero/agent/provisioning-pull';
1620
+
1621
+ export const selectedCapability = pullProvisioningOnce;
1622
+ ```
1623
+
1170
1624
  <a id="forgezero-agent-schema-deploy-v3-json"></a>
1171
1625
  ## @forgezero/agent/schema/deploy-v3.json
1172
1626
 
@@ -1191,11 +1645,14 @@ if (!validate(deploymentDefinition)) throw new Error(JSON.stringify(validate.err
1191
1645
  <a id="forgezero-agent-software"></a>
1192
1646
  ## @forgezero/agent/software
1193
1647
 
1194
- Exact managed-software inventory, requirement and evidence contracts. This entry exposes 10 named value exports and 10 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1648
+ Exact managed-software inventory, requirement and evidence contracts. This entry exposes 13 named value exports and 10 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1195
1649
 
1196
1650
  ```text
1197
1651
  import {
1652
+ BUILDKIT_VERSION,
1198
1653
  BUN_RELEASE_SHA256,
1654
+ KATA_CONTAINERS_VERSION,
1655
+ NERDCTL_VERSION,
1199
1656
  OS_CATALOG,
1200
1657
  PINNED_BUN_VERSION,
1201
1658
  SOFTWARE_CATALOG,
@@ -1221,10 +1678,22 @@ import type {
1221
1678
  } from '@forgezero/agent/software';
1222
1679
  ```
1223
1680
 
1681
+ ## @forgezero/agent/software — Use this entry point
1682
+
1683
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1684
+
1685
+ ```text
1686
+ import {
1687
+ BUILDKIT_VERSION,
1688
+ } from '@forgezero/agent/software';
1689
+
1690
+ export const selectedCapability = BUILDKIT_VERSION;
1691
+ ```
1692
+
1224
1693
  <a id="forgezero-agent-software-helper"></a>
1225
1694
  ## @forgezero/agent/software-helper
1226
1695
 
1227
- Root-owned fixed installation/update boundary for declared software. This entry exposes 8 named value exports and 0 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1696
+ Root-owned fixed installation/update boundary for declared software. This entry exposes 9 named value exports and 0 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
1228
1697
 
1229
1698
  ```text
1230
1699
  import {
@@ -1233,12 +1702,25 @@ import {
1233
1702
  SOFTWARE_HELPER_UNIT_PATH,
1234
1703
  requestContainerActivation,
1235
1704
  requestContainerBuild,
1705
+ requestDeploymentConnectivity,
1236
1706
  requestServiceActivation,
1237
1707
  requestSoftware,
1238
1708
  startSoftwareHelper,
1239
1709
  } from '@forgezero/agent/software-helper';
1240
1710
  ```
1241
1711
 
1712
+ ## @forgezero/agent/software-helper — Use this entry point
1713
+
1714
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1715
+
1716
+ ```text
1717
+ import {
1718
+ DEFAULT_SOFTWARE_HELPER_SOCKET,
1719
+ } from '@forgezero/agent/software-helper';
1720
+
1721
+ export const selectedCapability = DEFAULT_SOFTWARE_HELPER_SOCKET;
1722
+ ```
1723
+
1242
1724
  <a id="forgezero-agent-ubuntu"></a>
1243
1725
  ## @forgezero/agent/ubuntu
1244
1726
 
@@ -1253,13 +1735,35 @@ import {
1253
1735
  } from '@forgezero/agent/ubuntu';
1254
1736
  ```
1255
1737
 
1738
+ ## @forgezero/agent/ubuntu — Use this entry point
1739
+
1740
+ This minimal executable use imports one concrete value from this exact entry point without a wildcard or package-root detour. Keep the value or values the application actually needs; the full named inventory remains directly above it.
1741
+
1742
+ ```text
1743
+ import {
1744
+ SUPPORTED_GUEST_IMAGE,
1745
+ } from '@forgezero/agent/ubuntu';
1746
+
1747
+ export const selectedCapability = SUPPORTED_GUEST_IMAGE;
1748
+ ```
1749
+
1256
1750
  <a id="fz-agent-replica"></a>
1257
1751
  ## fz-agent (replica)
1258
1752
 
1259
- The project-scoped vault replica: resident in RAM, never on disk, invalidated by cursor rather than by timer, and refusing a read it can no longer vouch for. Run the command with `--help` before applying it.
1753
+ The project-scoped vault replica: resident in RAM, never on disk, invalidated by cursor rather than by timer, and refusing a read it can no longer vouch for. This is a managed runtime interface label, not an import or standalone executable.
1754
+
1755
+ ```text
1756
+ fz-agent (replica)
1757
+ # Accessed through the installed Agent boundary.
1758
+ ```
1759
+
1760
+ ## fz-agent (replica) — Operational interface
1761
+
1762
+ This inventory entry names an Agent-owned runtime interface, not an importable namespace or a command to paste. Applications reach it through the installed Agent and the documented Vault client.
1260
1763
 
1261
1764
  ```text
1262
- fz-agent (replica) --help
1765
+ fz-agent (replica)
1766
+ # Managed by the installed fz-agent service; no direct executable entry.
1263
1767
  ```
1264
1768
 
1265
1769
  ## Install both machine commands