@forgezero/agent 0.1.65 → 0.1.68
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 +751 -157
- package/dist/agent-heartbeat.js +1 -1
- package/dist/bootstrap-bundle.d.ts +1 -0
- package/dist/bootstrap-bundle.js +4 -3
- package/dist/bootstrap.d.ts +7 -1
- package/dist/bootstrap.js +264 -13
- package/dist/community-rehearsal-host.d.ts +12 -0
- package/dist/community-rehearsal-host.js +99 -36
- package/dist/definition.js +41 -4
- package/dist/deploy-compiler.js +4 -4
- package/dist/deploy-file.js +41 -4
- package/dist/deploy-plan-runner.js +4 -4
- package/dist/deploy-plan.js +4 -4
- package/dist/fz-agent.js +165 -76
- package/dist/fz.js +619 -262
- package/dist/index.d.ts +1 -1
- package/dist/metal-bootstrap.js +120 -46
- package/dist/metal-helper-socket.js +406 -65
- package/dist/metal-provision.js +402 -61
- package/dist/operator-bootstrap.d.ts +48 -5
- package/dist/operator-bootstrap.js +594 -205
- package/dist/platform-bootstrap-runtime.d.ts +33 -0
- package/dist/platform-bootstrap-runtime.js +551 -44
- package/dist/platform-fleet-verification.js +242 -18
- package/dist/platform-genesis-config.d.ts +7 -1
- package/dist/platform-genesis.d.ts +16 -17
- package/dist/platform-genesis.js +464 -0
- package/dist/provision.js +42 -5
- package/dist/software-helper.js +41 -4
- package/dist/software.d.ts +8 -2
- package/dist/software.js +41 -4
- package/dist/ssh-bootstrap.d.ts +5 -0
- package/dist/ubuntu.d.ts +15 -14
- package/dist/ubuntu.js +345 -9
- package/dist/version.d.ts +1 -1
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -43,6 +43,7 @@ Every row links to the detailed explanation and named-import/example area below.
|
|
|
43
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
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
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) |
|
|
46
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) |
|
|
47
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) |
|
|
48
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) |
|
|
@@ -67,14 +68,14 @@ Every row links to the detailed explanation and named-import/example area below.
|
|
|
67
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) |
|
|
68
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) |
|
|
69
70
|
| @forgezero/agent/metal-bootstrap | Physical-metal bootstrap planning, application and status evidence. | Bun/Node host | [Details + example](#forgezero-agent-metal-bootstrap) |
|
|
70
|
-
| @forgezero/agent/metal-provision |
|
|
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) |
|
|
71
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) |
|
|
72
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) |
|
|
73
74
|
| @forgezero/agent/provisioning-pull | Signed provisioning work claim, renewal, execution and acknowledgement. | Bun/Node host | [Details + example](#forgezero-agent-provisioning-pull) |
|
|
74
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) |
|
|
75
76
|
| @forgezero/agent/software | Exact managed-software inventory, requirement and evidence contracts. | Bun/Node host | [Details + example](#forgezero-agent-software) |
|
|
76
77
|
| @forgezero/agent/software-helper | Root-owned fixed installation/update boundary for declared software. | Bun/Node host | [Details + example](#forgezero-agent-software-helper) |
|
|
77
|
-
| @forgezero/agent/ubuntu | Ubuntu
|
|
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) |
|
|
78
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) |
|
|
79
80
|
|
|
80
81
|
## Commands
|
|
@@ -170,137 +171,345 @@ application -> local Unix socket -> project-scoped Vault replica
|
|
|
170
171
|
<a id="forgezero-agent-migration-pull"></a>
|
|
171
172
|
## @forgezero/agent/migration-pull
|
|
172
173
|
|
|
173
|
-
PQ-authenticated outbound lifecycle claims with fenced renewal, awaited async execution, idempotent acknowledgement and bounded shutdown drain. The executor reports local facts only.
|
|
174
|
+
PQ-authenticated outbound lifecycle claims with fenced renewal, awaited async execution, idempotent acknowledgement and bounded shutdown drain. The executor reports local facts only. This entry exposes 2 named value exports and 7 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
174
175
|
|
|
175
176
|
```text
|
|
176
|
-
import {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
import {
|
|
178
|
+
pullMigrationOnce,
|
|
179
|
+
startMigrationPull,
|
|
180
|
+
} from '@forgezero/agent/migration-pull';
|
|
181
|
+
|
|
182
|
+
import type {
|
|
183
|
+
MigrationAction,
|
|
184
|
+
MigrationEvidence,
|
|
185
|
+
MigrationEvidenceProfile,
|
|
186
|
+
MigrationNetwork,
|
|
187
|
+
MigrationPullOptions,
|
|
188
|
+
MigrationPullResult,
|
|
189
|
+
RemoteMigrationClaim,
|
|
190
|
+
} from '@forgezero/agent/migration-pull';
|
|
179
191
|
```
|
|
180
192
|
|
|
181
193
|
<a id="forgezero-agent-lifecycle-helper"></a>
|
|
182
194
|
## @forgezero/agent/lifecycle-helper
|
|
183
195
|
|
|
184
|
-
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.
|
|
196
|
+
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. This entry exposes 7 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.
|
|
185
197
|
|
|
186
198
|
```text
|
|
187
|
-
import {
|
|
188
|
-
|
|
189
|
-
|
|
199
|
+
import {
|
|
200
|
+
DEFAULT_LIFECYCLE_HELPER_SOCKET,
|
|
201
|
+
executeLifecycleAction,
|
|
202
|
+
loadLifecycleProfile,
|
|
203
|
+
requestLifecycleAction,
|
|
204
|
+
spawnLifecycleCommand,
|
|
205
|
+
startLifecycleHelper,
|
|
206
|
+
validateLifecycleProfile,
|
|
207
|
+
} from '@forgezero/agent/lifecycle-helper';
|
|
208
|
+
|
|
209
|
+
import type {
|
|
210
|
+
LifecycleCommandResult,
|
|
211
|
+
LifecycleExec,
|
|
212
|
+
LifecycleProfile,
|
|
213
|
+
} from '@forgezero/agent/lifecycle-helper';
|
|
190
214
|
```
|
|
191
215
|
|
|
192
216
|
<a id="forgezero-agent-provision"></a>
|
|
193
217
|
## @forgezero/agent/provision
|
|
194
218
|
|
|
195
|
-
The install plan as data, with no transport — so `fz` running locally and the platform running over SSH provision an identical machine.
|
|
219
|
+
The install plan as data, with no transport — so `fz` running locally and the platform running over SSH provision an identical machine. This entry exposes 34 named value exports and 11 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
196
220
|
|
|
197
221
|
```text
|
|
198
|
-
import {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
222
|
+
import {
|
|
223
|
+
AGENT_EGRESS_UNIT_PATH,
|
|
224
|
+
AGENT_SOCKET_PROXY_UNIT_PATH,
|
|
225
|
+
AGENT_SOCKET_UNIT_PATH,
|
|
226
|
+
APPLICATION_RUNTIME_USER,
|
|
227
|
+
CAPABILITY_CHECKS,
|
|
228
|
+
DEFAULT_RUNNER_PUBLIC_TCP_PORTS,
|
|
229
|
+
DEPLOYMENT_GROUP,
|
|
230
|
+
DEPLOYMENT_RUNNER_SOCKET,
|
|
231
|
+
DEPLOYMENT_RUNNER_UNIT_PATH,
|
|
232
|
+
DEPLOYMENT_RUNNER_USER,
|
|
233
|
+
ENROLMENT_UNIT_PATH,
|
|
234
|
+
LIFECYCLE_GROUP,
|
|
235
|
+
LIFECYCLE_HELPER_SOCKET,
|
|
236
|
+
LIFECYCLE_HELPER_UNIT_PATH,
|
|
237
|
+
UNIT_PATH,
|
|
238
|
+
VAULT_GROUP,
|
|
239
|
+
WARP_CONFIG_UNIT_PATH,
|
|
240
|
+
WARP_SERVICE_DROP_IN_PATH,
|
|
241
|
+
agentBackendSocketPath,
|
|
242
|
+
agentEgressUnit,
|
|
243
|
+
agentEnrolmentUnit,
|
|
244
|
+
agentSocketProxyUnit,
|
|
245
|
+
agentSocketUnit,
|
|
246
|
+
agentUnit,
|
|
247
|
+
agentUpdateHelperUnit,
|
|
248
|
+
atLeast,
|
|
249
|
+
deploymentRunnerUnit,
|
|
250
|
+
lifecycleHelperUnit,
|
|
251
|
+
modeFor,
|
|
252
|
+
planProvision,
|
|
253
|
+
reasonFor,
|
|
254
|
+
softwareHelperUnit,
|
|
255
|
+
warpConfigUnit,
|
|
256
|
+
warpServiceDropIn,
|
|
257
|
+
} from '@forgezero/agent/provision';
|
|
258
|
+
|
|
259
|
+
import type {
|
|
260
|
+
AgentMode,
|
|
261
|
+
Capabilities,
|
|
262
|
+
CapabilityId,
|
|
263
|
+
CapabilityOperation,
|
|
264
|
+
Check,
|
|
265
|
+
DirectorySpec,
|
|
266
|
+
FixedHostCommand,
|
|
267
|
+
ProvisionOperation,
|
|
268
|
+
ProvisionPlan,
|
|
269
|
+
Step,
|
|
270
|
+
UnitOptions,
|
|
271
|
+
} from '@forgezero/agent/provision';
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
<a id="forgezero-agent-platform-genesis"></a>
|
|
275
|
+
## @forgezero/agent/platform-genesis
|
|
276
|
+
|
|
277
|
+
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. This entry exposes 4 named value exports and 1 named type export. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
278
|
+
|
|
279
|
+
```text
|
|
280
|
+
import {
|
|
281
|
+
platformCommunityRehearsalClaims,
|
|
282
|
+
platformCommunityRehearsalDeletionClaims,
|
|
283
|
+
platformGenesisClaims,
|
|
284
|
+
validatePlatformGenesisGuests,
|
|
285
|
+
} from '@forgezero/agent/platform-genesis';
|
|
286
|
+
|
|
287
|
+
import type {
|
|
288
|
+
PlatformGenesisGuest,
|
|
289
|
+
} from '@forgezero/agent/platform-genesis';
|
|
206
290
|
```
|
|
207
291
|
|
|
208
292
|
<a id="forgezero-agent-subscribe"></a>
|
|
209
293
|
## @forgezero/agent/subscribe
|
|
210
294
|
|
|
211
|
-
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.
|
|
295
|
+
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. This entry exposes 2 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.
|
|
212
296
|
|
|
213
297
|
```text
|
|
214
|
-
import {
|
|
215
|
-
|
|
298
|
+
import {
|
|
299
|
+
backoffMs,
|
|
300
|
+
subscribe,
|
|
301
|
+
} from '@forgezero/agent/subscribe';
|
|
302
|
+
|
|
303
|
+
import type {
|
|
304
|
+
ChangeFrame,
|
|
305
|
+
SocketLike,
|
|
306
|
+
SubscribeOptions,
|
|
307
|
+
Subscriber,
|
|
308
|
+
} from '@forgezero/agent/subscribe';
|
|
216
309
|
```
|
|
217
310
|
|
|
218
311
|
<a id="forgezero-agent-ssh-listen"></a>
|
|
219
312
|
## @forgezero/agent/ssh-listen
|
|
220
313
|
|
|
221
|
-
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.
|
|
314
|
+
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. This entry exposes 2 named value exports and 1 named type export. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
222
315
|
|
|
223
316
|
```text
|
|
224
|
-
import {
|
|
225
|
-
|
|
317
|
+
import {
|
|
318
|
+
MAX_MESSAGE_BYTES,
|
|
319
|
+
startSshAgent,
|
|
320
|
+
} from '@forgezero/agent/ssh-listen';
|
|
321
|
+
|
|
322
|
+
import type {
|
|
323
|
+
SshListenOptions,
|
|
324
|
+
} from '@forgezero/agent/ssh-listen';
|
|
226
325
|
```
|
|
227
326
|
|
|
228
327
|
<a id="forgezero-agent-ssh-server"></a>
|
|
229
328
|
## @forgezero/agent/ssh-server
|
|
230
329
|
|
|
231
|
-
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.
|
|
330
|
+
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. This entry exposes 10 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
232
331
|
|
|
233
332
|
```text
|
|
234
|
-
import {
|
|
235
|
-
|
|
236
|
-
|
|
333
|
+
import {
|
|
334
|
+
MAX_MESSAGE_BYTES,
|
|
335
|
+
SSH_AGENT_FAILURE,
|
|
336
|
+
SSH_AGENT_IDENTITIES_ANSWER,
|
|
337
|
+
SSH_AGENT_SIGN_RESPONSE,
|
|
338
|
+
SSH_AGENT_SUCCESS,
|
|
339
|
+
SshAgentError,
|
|
340
|
+
describeIdentities,
|
|
341
|
+
frame,
|
|
342
|
+
handleMessage,
|
|
343
|
+
readMessage,
|
|
344
|
+
} from '@forgezero/agent/ssh-server';
|
|
345
|
+
|
|
346
|
+
import type {
|
|
347
|
+
AgentBackend,
|
|
348
|
+
AgentIdentity,
|
|
349
|
+
} from '@forgezero/agent/ssh-server';
|
|
237
350
|
```
|
|
238
351
|
|
|
239
352
|
<a id="forgezero-agent-pipeline"></a>
|
|
240
353
|
## @forgezero/agent/pipeline
|
|
241
354
|
|
|
242
|
-
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.
|
|
355
|
+
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. This entry exposes 3 named value exports and 6 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
243
356
|
|
|
244
357
|
```text
|
|
245
|
-
import {
|
|
246
|
-
|
|
358
|
+
import {
|
|
359
|
+
PipelineError,
|
|
360
|
+
redact,
|
|
361
|
+
runPipeline,
|
|
362
|
+
} from '@forgezero/agent/pipeline';
|
|
363
|
+
|
|
364
|
+
import type {
|
|
365
|
+
Pipeline,
|
|
366
|
+
PipelineStep,
|
|
367
|
+
RunOptions,
|
|
368
|
+
RunResult,
|
|
369
|
+
StepOutcome,
|
|
370
|
+
StepResult,
|
|
371
|
+
} from '@forgezero/agent/pipeline';
|
|
247
372
|
```
|
|
248
373
|
|
|
249
374
|
<a id="forgezero-agent-agent-heartbeat"></a>
|
|
250
375
|
## @forgezero/agent/agent-heartbeat
|
|
251
376
|
|
|
252
|
-
Signed node health publication with bounded renewal and shutdown withdrawal.
|
|
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.
|
|
253
378
|
|
|
254
379
|
```text
|
|
255
|
-
import {
|
|
256
|
-
|
|
380
|
+
import {
|
|
381
|
+
heartbeatAgentOnce,
|
|
382
|
+
observeAgentHost,
|
|
383
|
+
startAgentHeartbeat,
|
|
384
|
+
} from '@forgezero/agent/agent-heartbeat';
|
|
385
|
+
|
|
386
|
+
import type {
|
|
387
|
+
AgentHeartbeatOptions,
|
|
388
|
+
AgentHeartbeatResponse,
|
|
389
|
+
AgentObservation,
|
|
390
|
+
} from '@forgezero/agent/agent-heartbeat';
|
|
257
391
|
```
|
|
258
392
|
|
|
259
393
|
<a id="forgezero-agent-agent-update"></a>
|
|
260
394
|
## @forgezero/agent/agent-update
|
|
261
395
|
|
|
262
|
-
Verified Agent update planning against the platform release coordinate.
|
|
396
|
+
Verified Agent update planning against the platform release coordinate. This entry exposes 8 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.
|
|
263
397
|
|
|
264
398
|
```text
|
|
265
|
-
import {
|
|
266
|
-
|
|
267
|
-
|
|
399
|
+
import {
|
|
400
|
+
DEFAULT_AGENT_RELEASE_ROOT,
|
|
401
|
+
DEFAULT_AGENT_UPDATE_SOCKET,
|
|
402
|
+
MAX_AGENT_TARBALL_BYTES,
|
|
403
|
+
compareVersions,
|
|
404
|
+
restoreAgentRelease,
|
|
405
|
+
selectAgentRelease,
|
|
406
|
+
stageAgentRelease,
|
|
407
|
+
validateAgentRelease,
|
|
408
|
+
} from '@forgezero/agent/agent-update';
|
|
409
|
+
|
|
410
|
+
import type {
|
|
411
|
+
AgentRelease,
|
|
412
|
+
StagedAgentRelease,
|
|
413
|
+
UpdateCommand,
|
|
414
|
+
UpdateCommandResult,
|
|
415
|
+
} from '@forgezero/agent/agent-update';
|
|
268
416
|
```
|
|
269
417
|
|
|
270
418
|
<a id="forgezero-agent-agent-update-helper"></a>
|
|
271
419
|
## @forgezero/agent/agent-update-helper
|
|
272
420
|
|
|
273
|
-
Root-owned fixed update operations with registry origin and integrity validation.
|
|
421
|
+
Root-owned fixed update operations with registry origin and integrity validation. This entry exposes 10 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.
|
|
274
422
|
|
|
275
423
|
```text
|
|
276
|
-
import {
|
|
277
|
-
|
|
278
|
-
|
|
424
|
+
import {
|
|
425
|
+
AGENT_UPDATE_GROUP,
|
|
426
|
+
AGENT_UPDATE_HELPER_UNIT_PATH,
|
|
427
|
+
AGENT_UPDATE_JOURNAL,
|
|
428
|
+
AGENT_UPDATE_RECEIPT,
|
|
429
|
+
activateAgentRelease,
|
|
430
|
+
probeAgentSocket,
|
|
431
|
+
readAgentUpdateReceipt,
|
|
432
|
+
recoverInterruptedAgentUpdate,
|
|
433
|
+
requestAgentUpdate,
|
|
434
|
+
startAgentUpdateHelper,
|
|
435
|
+
} from '@forgezero/agent/agent-update-helper';
|
|
436
|
+
|
|
437
|
+
import type {
|
|
438
|
+
AgentUpdateOutcome,
|
|
439
|
+
AgentUpdateReceipt,
|
|
440
|
+
AgentUpdateRequest,
|
|
441
|
+
AgentUpdateResponse,
|
|
442
|
+
} from '@forgezero/agent/agent-update-helper';
|
|
279
443
|
```
|
|
280
444
|
|
|
281
445
|
<a id="forgezero-agent-bootstrap"></a>
|
|
282
446
|
## @forgezero/agent/bootstrap
|
|
283
447
|
|
|
284
|
-
Typed one-time platform bootstrap and internal API-driven enrolled-compute activation contracts.
|
|
448
|
+
Typed one-time platform bootstrap and internal API-driven enrolled-compute activation contracts. This entry exposes 13 named value exports and 18 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
285
449
|
|
|
286
450
|
```text
|
|
287
|
-
import {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
451
|
+
import {
|
|
452
|
+
BOOTSTRAP_STATE_PATH,
|
|
453
|
+
PLATFORM_BOOTSTRAP_PROFILES,
|
|
454
|
+
applyBootstrap,
|
|
455
|
+
bootstrapIdentityDigest,
|
|
456
|
+
bootstrapStatus,
|
|
457
|
+
localBootstrapHost,
|
|
458
|
+
planBootstrap,
|
|
459
|
+
planBootstrapAgentInstall,
|
|
460
|
+
readBootstrapConfig,
|
|
461
|
+
resolveInstalledBootstrapKind,
|
|
462
|
+
validateBootstrapConfig,
|
|
463
|
+
validateEnrolledComputeBootstrapSecrets,
|
|
464
|
+
validatePlatformBootstrapSecrets,
|
|
465
|
+
} from '@forgezero/agent/bootstrap';
|
|
466
|
+
|
|
467
|
+
import type {
|
|
468
|
+
BootstrapAgentInstallPhase,
|
|
469
|
+
BootstrapConfig,
|
|
470
|
+
BootstrapEnvironment,
|
|
471
|
+
BootstrapHost,
|
|
472
|
+
BootstrapPlan,
|
|
473
|
+
BootstrapResult,
|
|
474
|
+
BootstrapSecrets,
|
|
475
|
+
BootstrapStatus,
|
|
476
|
+
BootstrapStep,
|
|
477
|
+
DatabaseAgencyParticipation,
|
|
478
|
+
DatabaseBootstrapRole,
|
|
479
|
+
EnrolledComputeActivationConfig,
|
|
480
|
+
EnrolledComputeBootstrapSecrets,
|
|
481
|
+
InstalledBootstrapKind,
|
|
482
|
+
PlatformBootstrapConfig,
|
|
483
|
+
PlatformBootstrapProfile,
|
|
484
|
+
PlatformBootstrapSecrets,
|
|
485
|
+
PlatformEnrolmentSource,
|
|
486
|
+
} from '@forgezero/agent/bootstrap';
|
|
293
487
|
```
|
|
294
488
|
|
|
295
489
|
<a id="forgezero-agent-bootstrap-bundle"></a>
|
|
296
490
|
## @forgezero/agent/bootstrap-bundle
|
|
297
491
|
|
|
298
|
-
Owner-only exact-revision Git bundle and SHA-256 manifest for credential-free release generation one.
|
|
492
|
+
Owner-only exact-revision Git bundle and SHA-256 manifest for credential-free release generation one. This entry exposes 8 named value exports 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.
|
|
299
493
|
|
|
300
494
|
```text
|
|
301
|
-
import {
|
|
302
|
-
|
|
303
|
-
|
|
495
|
+
import {
|
|
496
|
+
BOOTSTRAP_BUNDLE_FORMAT,
|
|
497
|
+
BOOTSTRAP_BUNDLE_KIND,
|
|
498
|
+
MAX_BOOTSTRAP_BUNDLE_BYTES,
|
|
499
|
+
bootstrapBundleBranch,
|
|
500
|
+
buildBootstrapBundle,
|
|
501
|
+
parseBootstrapBundleManifest,
|
|
502
|
+
readBootstrapBundle,
|
|
503
|
+
sha256File,
|
|
504
|
+
} from '@forgezero/agent/bootstrap-bundle';
|
|
505
|
+
|
|
506
|
+
import type {
|
|
507
|
+
BootstrapBundleBuildInput,
|
|
508
|
+
BootstrapBundleBuildResult,
|
|
509
|
+
BootstrapBundleCommand,
|
|
510
|
+
BootstrapBundleCommandResult,
|
|
511
|
+
BootstrapBundleManifest,
|
|
512
|
+
} from '@forgezero/agent/bootstrap-bundle';
|
|
304
513
|
```
|
|
305
514
|
|
|
306
515
|
## @forgezero/agent/bootstrap-bundle — Build release generation one without a deploy key
|
|
@@ -308,7 +517,10 @@ import type { BootstrapBundleBuildInput, BootstrapBundleBuildResult, BootstrapBu
|
|
|
308
517
|
The builder refuses tracked drift, resolves one exact commit, creates an owner-only Git bundle and writes a byte-count/SHA-256 manifest. Bootstrap consumes the artifact after activation.
|
|
309
518
|
|
|
310
519
|
```text
|
|
311
|
-
import {
|
|
520
|
+
import {
|
|
521
|
+
buildBootstrapBundle,
|
|
522
|
+
readBootstrapBundle,
|
|
523
|
+
} from '@forgezero/agent/bootstrap-bundle';
|
|
312
524
|
|
|
313
525
|
const built = await buildBootstrapBundle({
|
|
314
526
|
repositoryRoot: '/work/forgezero-api', branch: 'main',
|
|
@@ -320,15 +532,50 @@ await readBootstrapBundle(built.bundlePath, built.manifestPath);
|
|
|
320
532
|
<a id="forgezero-agent-operator-bootstrap"></a>
|
|
321
533
|
## @forgezero/agent/operator-bootstrap
|
|
322
534
|
|
|
323
|
-
Pinned-host operator transport that stages owner-only handoffs and invokes the same typed platform bootstrap through the caller-approved SSH agent.
|
|
535
|
+
Pinned-host operator transport that stages owner-only handoffs and invokes the same typed platform bootstrap through the caller-approved SSH agent. This entry exposes 19 named value exports and 17 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
324
536
|
|
|
325
537
|
```text
|
|
326
|
-
import {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
538
|
+
import {
|
|
539
|
+
applyOperatorMetalBootstrap,
|
|
540
|
+
applyOperatorPlatformBootstrap,
|
|
541
|
+
applyOperatorPlatformFleetBootstrap,
|
|
542
|
+
collectOperatorGuestHostKeys,
|
|
543
|
+
createOperatorSshHop,
|
|
544
|
+
operatorPlatformFleetCoordinates,
|
|
545
|
+
planOperatorMetalBootstrap,
|
|
546
|
+
planOperatorPlatformBootstrap,
|
|
547
|
+
planOperatorPlatformFleetBootstrap,
|
|
548
|
+
readOperatorGuestHostKeyEvidence,
|
|
549
|
+
readOperatorMetalBootstrapRequest,
|
|
550
|
+
readOperatorPlatformBootstrapFleetRequest,
|
|
551
|
+
readOperatorPlatformBootstrapRequest,
|
|
552
|
+
verifyOperatorPlatformFleet,
|
|
553
|
+
withOperatorGuestTransport,
|
|
554
|
+
writeOperatorGuestHostKeyEvidence,
|
|
555
|
+
writeOperatorMetalBootstrapRequest,
|
|
556
|
+
writeOperatorPlatformBootstrapFleetRequest,
|
|
557
|
+
writeOperatorPlatformBootstrapRequest,
|
|
558
|
+
} from '@forgezero/agent/operator-bootstrap';
|
|
559
|
+
|
|
560
|
+
import type {
|
|
561
|
+
OperatorCommand,
|
|
562
|
+
OperatorCommandResult,
|
|
563
|
+
OperatorGuestHostKeyEvidence,
|
|
564
|
+
OperatorGuestTransport,
|
|
565
|
+
OperatorMetalBootstrapMode,
|
|
566
|
+
OperatorMetalBootstrapPlan,
|
|
567
|
+
OperatorMetalBootstrapRequest,
|
|
568
|
+
OperatorPlatformBootstrapFleetOutcome,
|
|
569
|
+
OperatorPlatformBootstrapFleetPlan,
|
|
570
|
+
OperatorPlatformBootstrapFleetRequest,
|
|
571
|
+
OperatorPlatformBootstrapFleetResult,
|
|
572
|
+
OperatorPlatformBootstrapMode,
|
|
573
|
+
OperatorPlatformBootstrapOptions,
|
|
574
|
+
OperatorPlatformBootstrapPlan,
|
|
575
|
+
OperatorPlatformBootstrapRequest,
|
|
576
|
+
OperatorPlatformFleetCoordinates,
|
|
577
|
+
OperatorSshHop,
|
|
578
|
+
} from '@forgezero/agent/operator-bootstrap';
|
|
332
579
|
```
|
|
333
580
|
|
|
334
581
|
## @forgezero/agent/operator-bootstrap — Run the same typed platform bootstrap from an operator laptop
|
|
@@ -344,11 +591,21 @@ fz bootstrap platform remote apply --bootstrap-config /secure/forgezero/developm
|
|
|
344
591
|
<a id="forgezero-agent-host-maintenance"></a>
|
|
345
592
|
## @forgezero/agent/host-maintenance
|
|
346
593
|
|
|
347
|
-
Closed host maintenance plans for staging transaction rehearsal and fleet-fenced schema consolidation through fixed transient systemd units.
|
|
594
|
+
Closed host maintenance plans for staging transaction rehearsal and fleet-fenced schema consolidation through fixed transient systemd units. This entry exposes 2 named value exports 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.
|
|
348
595
|
|
|
349
596
|
```text
|
|
350
|
-
import {
|
|
351
|
-
|
|
597
|
+
import {
|
|
598
|
+
applyHostMaintenance,
|
|
599
|
+
planHostMaintenance,
|
|
600
|
+
} from '@forgezero/agent/host-maintenance';
|
|
601
|
+
|
|
602
|
+
import type {
|
|
603
|
+
HostMaintenanceOperation,
|
|
604
|
+
HostMaintenancePlan,
|
|
605
|
+
HostMaintenanceRequest,
|
|
606
|
+
HostMaintenanceResult,
|
|
607
|
+
HostMaintenanceRuntime,
|
|
608
|
+
} from '@forgezero/agent/host-maintenance';
|
|
352
609
|
```
|
|
353
610
|
|
|
354
611
|
## @forgezero/agent/host-maintenance — Plan a fixed supervised host operation
|
|
@@ -356,7 +613,9 @@ import type { HostMaintenanceOperation, HostMaintenancePlan, HostMaintenanceRequ
|
|
|
356
613
|
The library discovers only a trusted blue/green slot, attaches fixed credential names and returns exact argv as reviewable data. The public fz host commands use the same operation and require root only for apply.
|
|
357
614
|
|
|
358
615
|
```text
|
|
359
|
-
import {
|
|
616
|
+
import {
|
|
617
|
+
planHostMaintenance,
|
|
618
|
+
} from '@forgezero/agent/host-maintenance';
|
|
360
619
|
|
|
361
620
|
const plan = planHostMaintenance({ operation: 'schema-plan' });
|
|
362
621
|
console.log(plan.argv);
|
|
@@ -365,97 +624,248 @@ console.log(plan.argv);
|
|
|
365
624
|
<a id="forgezero-agent-capacity-calibration"></a>
|
|
366
625
|
## @forgezero/agent/capacity-calibration
|
|
367
626
|
|
|
368
|
-
One-time target-local safe-concurrency calibration with private evidence.
|
|
627
|
+
One-time target-local safe-concurrency calibration with private evidence. 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.
|
|
369
628
|
|
|
370
629
|
```text
|
|
371
|
-
import {
|
|
372
|
-
|
|
630
|
+
import {
|
|
631
|
+
calibrateHttpConcurrency,
|
|
632
|
+
localCalibrationEndpoint,
|
|
633
|
+
validateCapacityCalibrationOptions,
|
|
634
|
+
} from '@forgezero/agent/capacity-calibration';
|
|
635
|
+
|
|
636
|
+
import type {
|
|
637
|
+
CapacityCalibration,
|
|
638
|
+
CapacityCalibrationOptions,
|
|
639
|
+
CapacityStage,
|
|
640
|
+
ValidatedCapacityCalibrationOptions,
|
|
641
|
+
} from '@forgezero/agent/capacity-calibration';
|
|
373
642
|
```
|
|
374
643
|
|
|
375
644
|
<a id="forgezero-agent-cloudflare-bootstrap"></a>
|
|
376
645
|
## @forgezero/agent/cloudflare-bootstrap
|
|
377
646
|
|
|
378
|
-
Attended two-token Cloudflare Tunnel/DNS reconciliation and per-node connector/KV runtime handoff for existing KV resources.
|
|
647
|
+
Attended two-token Cloudflare Tunnel/DNS reconciliation and per-node connector/KV runtime handoff for existing KV resources. This entry exposes 13 named value exports and 16 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
379
648
|
|
|
380
649
|
```text
|
|
381
|
-
import {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
650
|
+
import {
|
|
651
|
+
applyCloudflareBootstrap,
|
|
652
|
+
cloudflareHostHandoffPath,
|
|
653
|
+
deriveCloudflareRealtimeSecrets,
|
|
654
|
+
finalizeCloudflareBootstrapAcceptance,
|
|
655
|
+
planCloudflareBootstrap,
|
|
656
|
+
readCloudflareBootstrapAcceptanceEvidence,
|
|
657
|
+
readCloudflareConnectorHandoff,
|
|
658
|
+
readCloudflareHostHandoff,
|
|
659
|
+
runAttendedCloudflareBootstrap,
|
|
660
|
+
validateCloudflareBootstrapCoordinates,
|
|
661
|
+
validateCloudflareBootstrapTokens,
|
|
662
|
+
verifyCloudflareBootstrapAcceptance,
|
|
663
|
+
writeOwnerBootstrapOutput,
|
|
664
|
+
} from '@forgezero/agent/cloudflare-bootstrap';
|
|
665
|
+
|
|
666
|
+
import type {
|
|
667
|
+
AttendedCloudflareBootstrapRequest,
|
|
668
|
+
CloudflareBootstrapAcceptanceEvidence,
|
|
669
|
+
CloudflareBootstrapAcceptedNode,
|
|
670
|
+
CloudflareBootstrapCoordinates,
|
|
671
|
+
CloudflareBootstrapDependencies,
|
|
672
|
+
CloudflareBootstrapEvidence,
|
|
673
|
+
CloudflareBootstrapFinalizeRequest,
|
|
674
|
+
CloudflareBootstrapNodeCoordinates,
|
|
675
|
+
CloudflareBootstrapOutput,
|
|
676
|
+
CloudflareBootstrapPhaseRunner,
|
|
677
|
+
CloudflareBootstrapPlan,
|
|
678
|
+
CloudflareBootstrapTokens,
|
|
679
|
+
CloudflareConnectorHandoff,
|
|
680
|
+
CloudflareHostHandoff,
|
|
681
|
+
CloudflareMeshCoordinates,
|
|
682
|
+
CloudflareRealtimeCoordinates,
|
|
683
|
+
} from '@forgezero/agent/cloudflare-bootstrap';
|
|
387
684
|
```
|
|
388
685
|
|
|
389
686
|
<a id="forgezero-agent-cloudflare-edge"></a>
|
|
390
687
|
## @forgezero/agent/cloudflare-edge
|
|
391
688
|
|
|
392
|
-
Strict Cloudflare REST operations used by the attended bootstrap controller.
|
|
689
|
+
Strict Cloudflare REST operations used by the attended bootstrap controller. This entry exposes 14 named value exports and 8 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
393
690
|
|
|
394
691
|
```text
|
|
395
|
-
import {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
692
|
+
import {
|
|
693
|
+
configureCloudflareEdge,
|
|
694
|
+
configureCloudflareRealtimeSecrets,
|
|
695
|
+
discoverCloudflareBootstrapResources,
|
|
696
|
+
ensureCloudflareMeshConnector,
|
|
697
|
+
ensureCloudflarePrivateDatabaseRoute,
|
|
698
|
+
ensureCloudflarePrivateRoute,
|
|
699
|
+
ensureCloudflareTunnel,
|
|
700
|
+
ensureCloudflareWarpDatabaseInclude,
|
|
701
|
+
ensureCloudflareWarpNetworkIncludes,
|
|
702
|
+
removeCloudflarePrivateDatabaseRoute,
|
|
703
|
+
removeCloudflarePrivateRoute,
|
|
704
|
+
removeCloudflareWarpDatabaseInclude,
|
|
705
|
+
retrieveCloudflareConnectorTokens,
|
|
706
|
+
verifyCloudflareWorkerDurableObjects,
|
|
707
|
+
} from '@forgezero/agent/cloudflare-edge';
|
|
708
|
+
|
|
709
|
+
import type {
|
|
710
|
+
CloudflareBootstrapDiscovery,
|
|
711
|
+
CloudflareDurableObjectNamespace,
|
|
712
|
+
CloudflareEdgeConfig,
|
|
713
|
+
CloudflareMeshConnector,
|
|
714
|
+
CloudflarePrivateRoute,
|
|
715
|
+
CloudflarePrivateRouteConfig,
|
|
716
|
+
CloudflareTunnel,
|
|
717
|
+
CloudflareWarpIncludeConfig,
|
|
718
|
+
} from '@forgezero/agent/cloudflare-edge';
|
|
400
719
|
```
|
|
401
720
|
|
|
402
721
|
<a id="forgezero-agent-mesh-connector"></a>
|
|
403
722
|
## @forgezero/agent/mesh-connector
|
|
404
723
|
|
|
405
|
-
Fixed Cloudflare Mesh/WARP connector enrollment using only the unit-loaded connector credential.
|
|
724
|
+
Fixed Cloudflare Mesh/WARP connector enrollment using only the unit-loaded connector credential. This entry exposes 2 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
406
725
|
|
|
407
726
|
```text
|
|
408
|
-
import {
|
|
409
|
-
|
|
727
|
+
import {
|
|
728
|
+
configureMeshConnector,
|
|
729
|
+
readMeshConnectorCredential,
|
|
730
|
+
} from '@forgezero/agent/mesh-connector';
|
|
731
|
+
|
|
732
|
+
import type {
|
|
733
|
+
MeshConnectorCommandResult,
|
|
734
|
+
MeshConnectorExec,
|
|
735
|
+
} from '@forgezero/agent/mesh-connector';
|
|
410
736
|
```
|
|
411
737
|
|
|
412
738
|
<a id="forgezero-agent-compute"></a>
|
|
413
739
|
## @forgezero/agent/compute
|
|
414
740
|
|
|
415
|
-
Compute claim, renewal, execution and completion client contracts.
|
|
741
|
+
Compute claim, renewal, execution and completion client contracts. This entry exposes 9 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
416
742
|
|
|
417
743
|
```text
|
|
418
|
-
import {
|
|
419
|
-
|
|
420
|
-
|
|
744
|
+
import {
|
|
745
|
+
ComputeError,
|
|
746
|
+
deviceInUse,
|
|
747
|
+
guestUnit,
|
|
748
|
+
parseCensus,
|
|
749
|
+
qemuArgv,
|
|
750
|
+
shapeEgressCommands,
|
|
751
|
+
shapeEgressUnitDirectives,
|
|
752
|
+
tapFor,
|
|
753
|
+
unitName,
|
|
754
|
+
} from '@forgezero/agent/compute';
|
|
755
|
+
|
|
756
|
+
import type {
|
|
757
|
+
GuestSpec,
|
|
758
|
+
RunningGuest,
|
|
759
|
+
} from '@forgezero/agent/compute';
|
|
421
760
|
```
|
|
422
761
|
|
|
423
762
|
<a id="forgezero-agent-credential-schema"></a>
|
|
424
763
|
## @forgezero/agent/credential-schema
|
|
425
764
|
|
|
426
|
-
Canonical systemd credential names and validation shared by bootstrap and services.
|
|
765
|
+
Canonical systemd credential names and validation shared by bootstrap and services. This entry exposes 7 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.
|
|
427
766
|
|
|
428
767
|
```text
|
|
429
|
-
import {
|
|
430
|
-
|
|
431
|
-
|
|
768
|
+
import {
|
|
769
|
+
AGENT_CREDENTIAL_LOCATIONS,
|
|
770
|
+
AGENT_CREDENTIAL_POLICY,
|
|
771
|
+
CLOUDFLARE_CREDENTIAL_NAMES,
|
|
772
|
+
CLOUDFLARE_CREDENTIAL_SCHEMA,
|
|
773
|
+
METAL_SYSTEMD_CREDENTIALS,
|
|
774
|
+
credentialBinding,
|
|
775
|
+
deploymentCredentialSchema,
|
|
776
|
+
} from '@forgezero/agent/credential-schema';
|
|
777
|
+
|
|
778
|
+
import type {
|
|
779
|
+
AgentCredentialLocation,
|
|
780
|
+
DeploymentCredentialBinding,
|
|
781
|
+
DeploymentCredentialSchema,
|
|
782
|
+
} from '@forgezero/agent/credential-schema';
|
|
432
783
|
```
|
|
433
784
|
|
|
434
785
|
<a id="forgezero-agent-definition"></a>
|
|
435
786
|
## @forgezero/agent/definition
|
|
436
787
|
|
|
437
|
-
Legacy version 3 JSON deployment compatibility contract.
|
|
788
|
+
Legacy version 3 JSON deployment compatibility contract. This entry exposes 6 named value exports 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.
|
|
438
789
|
|
|
439
790
|
```text
|
|
440
|
-
import {
|
|
441
|
-
|
|
791
|
+
import {
|
|
792
|
+
DEPLOY_SCHEMA_URL,
|
|
793
|
+
DefinitionError,
|
|
794
|
+
PIPELINE_VERSION,
|
|
795
|
+
parseDeployDefinition,
|
|
796
|
+
phasePipeline,
|
|
797
|
+
validateDeploymentService,
|
|
798
|
+
} from '@forgezero/agent/definition';
|
|
799
|
+
|
|
800
|
+
import type {
|
|
801
|
+
DeployDefinition,
|
|
802
|
+
DeployStep,
|
|
803
|
+
DeploymentPortAllocation,
|
|
804
|
+
DeploymentService,
|
|
805
|
+
PipelineProfile,
|
|
806
|
+
} from '@forgezero/agent/definition';
|
|
442
807
|
```
|
|
443
808
|
|
|
444
809
|
<a id="forgezero-agent-deploy"></a>
|
|
445
810
|
## @forgezero/agent/deploy
|
|
446
811
|
|
|
447
|
-
Typed deployment authoring builders, built-in provider requirements and versioned action constructors.
|
|
812
|
+
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.
|
|
448
813
|
|
|
449
814
|
```text
|
|
450
|
-
import {
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
815
|
+
import {
|
|
816
|
+
actions,
|
|
817
|
+
application,
|
|
818
|
+
conditions,
|
|
819
|
+
credential,
|
|
820
|
+
database,
|
|
821
|
+
defineDeployment,
|
|
822
|
+
input,
|
|
823
|
+
providers,
|
|
824
|
+
ref,
|
|
825
|
+
requirement,
|
|
826
|
+
stage,
|
|
827
|
+
step,
|
|
828
|
+
target,
|
|
829
|
+
workflow,
|
|
830
|
+
} from '@forgezero/agent/deploy';
|
|
831
|
+
|
|
832
|
+
import type {
|
|
833
|
+
ApplicationComponent,
|
|
834
|
+
ApplicationRuntime,
|
|
835
|
+
ArangoDbProviderConfig,
|
|
836
|
+
BunProviderConfig,
|
|
837
|
+
CloudflaredProviderConfig,
|
|
838
|
+
ComponentDefinition,
|
|
839
|
+
Condition,
|
|
840
|
+
ConditionOperand,
|
|
841
|
+
CredentialDefinition,
|
|
842
|
+
DatabaseComponent,
|
|
843
|
+
DeploymentSource,
|
|
844
|
+
DockerProviderConfig,
|
|
845
|
+
HealthDefinition,
|
|
846
|
+
InputDefinition,
|
|
847
|
+
JsonObject,
|
|
848
|
+
JsonPrimitive,
|
|
849
|
+
JsonValue,
|
|
850
|
+
NetworkDefinition,
|
|
851
|
+
NginxProviderConfig,
|
|
852
|
+
OpenSshProviderConfig,
|
|
853
|
+
RequirementDefinition,
|
|
854
|
+
ResolvableJsonObject,
|
|
855
|
+
ResolvableJsonValue,
|
|
856
|
+
ResourceDefinition,
|
|
857
|
+
RetryDefinition,
|
|
858
|
+
StageDefinition,
|
|
859
|
+
StepScope,
|
|
860
|
+
StorageMount,
|
|
861
|
+
SystemdProviderConfig,
|
|
862
|
+
TargetDefinition,
|
|
863
|
+
UfwProviderConfig,
|
|
864
|
+
ValueReference,
|
|
865
|
+
WarpProviderConfig,
|
|
866
|
+
WorkflowDefinition,
|
|
867
|
+
WorkflowStepDefinition,
|
|
868
|
+
} from '@forgezero/agent/deploy';
|
|
459
869
|
```
|
|
460
870
|
|
|
461
871
|
## @forgezero/agent/deploy — Author a typed native or Docker deployment
|
|
@@ -463,7 +873,15 @@ import type { UfwProviderConfig, ValueReference, WarpProviderConfig, WorkflowDef
|
|
|
463
873
|
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.
|
|
464
874
|
|
|
465
875
|
```text
|
|
466
|
-
import {
|
|
876
|
+
import {
|
|
877
|
+
actions,
|
|
878
|
+
application,
|
|
879
|
+
defineDeployment,
|
|
880
|
+
providers,
|
|
881
|
+
stage,
|
|
882
|
+
target,
|
|
883
|
+
workflow,
|
|
884
|
+
} from '@forgezero/agent/deploy';
|
|
467
885
|
|
|
468
886
|
export default defineDeployment({
|
|
469
887
|
apiVersion: 'deploy.forgezero.net/v1', kind: 'Deployment',
|
|
@@ -490,23 +908,50 @@ export default defineDeployment({
|
|
|
490
908
|
<a id="forgezero-agent-deploy-plan"></a>
|
|
491
909
|
## @forgezero/agent/deploy-plan
|
|
492
910
|
|
|
493
|
-
Runtime validation, canonicalization and semantic digest for inert deployment plans.
|
|
911
|
+
Runtime validation, canonicalization and semantic digest for inert deployment plans. This entry exposes 8 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.
|
|
494
912
|
|
|
495
913
|
```text
|
|
496
|
-
import {
|
|
497
|
-
|
|
498
|
-
|
|
914
|
+
import {
|
|
915
|
+
DEPLOY_PLAN_FORMAT,
|
|
916
|
+
DEPLOY_PLAN_VERSION,
|
|
917
|
+
DeploymentPlanError,
|
|
918
|
+
canonicalJson,
|
|
919
|
+
compileDeployment,
|
|
920
|
+
deploymentPlanDigest,
|
|
921
|
+
deploymentSourceDigest,
|
|
922
|
+
parseDeploymentPlan,
|
|
923
|
+
} from '@forgezero/agent/deploy-plan';
|
|
924
|
+
|
|
925
|
+
import type {
|
|
926
|
+
DeploymentPlan,
|
|
927
|
+
PlannedStage,
|
|
928
|
+
PlannedStep,
|
|
929
|
+
PlannedWorkflow,
|
|
930
|
+
} from '@forgezero/agent/deploy-plan';
|
|
499
931
|
```
|
|
500
932
|
|
|
501
933
|
<a id="forgezero-agent-deploy-plan-runner"></a>
|
|
502
934
|
## @forgezero/agent/deploy-plan-runner
|
|
503
935
|
|
|
504
|
-
Conditional DAG execution with bounded retry, compensation and failure policy over injected action handlers.
|
|
936
|
+
Conditional DAG execution with bounded retry, compensation and failure policy over injected action handlers. This entry exposes 3 named value exports and 8 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
505
937
|
|
|
506
938
|
```text
|
|
507
|
-
import {
|
|
508
|
-
|
|
509
|
-
|
|
939
|
+
import {
|
|
940
|
+
DeploymentActionError,
|
|
941
|
+
evaluateCondition,
|
|
942
|
+
runDeploymentPlan,
|
|
943
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
944
|
+
|
|
945
|
+
import type {
|
|
946
|
+
ActionContext,
|
|
947
|
+
ActionExecutionResult,
|
|
948
|
+
ActionFailureKind,
|
|
949
|
+
ActionHandler,
|
|
950
|
+
PlanRunResult,
|
|
951
|
+
PlanStepStatus,
|
|
952
|
+
RunDeploymentPlanOptions,
|
|
953
|
+
StepExecutionRecord,
|
|
954
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
510
955
|
```
|
|
511
956
|
|
|
512
957
|
## @forgezero/agent/deploy-plan-runner — Extend the plan with a namespaced action
|
|
@@ -514,8 +959,12 @@ import type { RunDeploymentPlanOptions, StepExecutionRecord } from '@forgezero/a
|
|
|
514
959
|
Public projects can define a versioned action coordinate and install an exact handler. Built-in forgezero.* coordinates stay closed; unknown built-ins fail validation.
|
|
515
960
|
|
|
516
961
|
```text
|
|
517
|
-
import {
|
|
518
|
-
|
|
962
|
+
import {
|
|
963
|
+
actions,
|
|
964
|
+
} from '@forgezero/agent/deploy';
|
|
965
|
+
import {
|
|
966
|
+
runDeploymentPlan,
|
|
967
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
519
968
|
|
|
520
969
|
const notify = actions.extension('example.notifications/publish@1', { channel: 'deployments' }, {
|
|
521
970
|
scope: { kind: 'release-executor' },
|
|
@@ -531,79 +980,188 @@ await runDeploymentPlan({
|
|
|
531
980
|
<a id="forgezero-agent-deploy-compiler"></a>
|
|
532
981
|
## @forgezero/agent/deploy-compiler
|
|
533
982
|
|
|
534
|
-
Explicit developer/CI compiler from forgezero.deploy.ts to canonical .fz/deploy.plan.json; never used to execute project TypeScript in production.
|
|
983
|
+
Explicit developer/CI compiler from forgezero.deploy.ts to canonical .fz/deploy.plan.json; never used to execute project TypeScript in production. This entry exposes 7 named value exports and 1 named type export. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
535
984
|
|
|
536
985
|
```text
|
|
537
|
-
import {
|
|
538
|
-
|
|
539
|
-
|
|
986
|
+
import {
|
|
987
|
+
DEPLOY_PLAN_FILE,
|
|
988
|
+
DEPLOY_SOURCE_FILE,
|
|
989
|
+
compileDeploymentProject,
|
|
990
|
+
defaultTypeScriptDeployment,
|
|
991
|
+
initializeTypeScriptDeployment,
|
|
992
|
+
inspectCompiledDeployment,
|
|
993
|
+
loadDeploymentSource,
|
|
994
|
+
} from '@forgezero/agent/deploy-compiler';
|
|
995
|
+
|
|
996
|
+
import type {
|
|
997
|
+
DeploymentCompilation,
|
|
998
|
+
} from '@forgezero/agent/deploy-compiler';
|
|
540
999
|
```
|
|
541
1000
|
|
|
542
1001
|
<a id="forgezero-agent-deploy-file"></a>
|
|
543
1002
|
## @forgezero/agent/deploy-file
|
|
544
1003
|
|
|
545
|
-
Read and validate a checked-out .fz deployment file without executing project input.
|
|
1004
|
+
Read and validate a checked-out .fz deployment file without executing project input. This entry exposes 7 named value exports and 2 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
546
1005
|
|
|
547
1006
|
```text
|
|
548
|
-
import {
|
|
549
|
-
|
|
550
|
-
|
|
1007
|
+
import {
|
|
1008
|
+
DEPLOY_FILE,
|
|
1009
|
+
DEPLOY_SCHEMA_URL,
|
|
1010
|
+
DEPLOY_TODO_PREFIX,
|
|
1011
|
+
defaultDeployFile,
|
|
1012
|
+
deployDefinitionDigest,
|
|
1013
|
+
initializeDeployFile,
|
|
1014
|
+
inspectDeployFile,
|
|
1015
|
+
} from '@forgezero/agent/deploy-file';
|
|
1016
|
+
|
|
1017
|
+
import type {
|
|
1018
|
+
DeployFileSummary,
|
|
1019
|
+
InitializedDeployFile,
|
|
1020
|
+
} from '@forgezero/agent/deploy-file';
|
|
551
1021
|
```
|
|
552
1022
|
|
|
553
1023
|
<a id="forgezero-agent-metal-bootstrap"></a>
|
|
554
1024
|
## @forgezero/agent/metal-bootstrap
|
|
555
1025
|
|
|
556
|
-
Physical-metal bootstrap planning, application and status evidence.
|
|
1026
|
+
Physical-metal bootstrap planning, application and status evidence. This entry exposes 10 named value exports and 6 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
557
1027
|
|
|
558
1028
|
```text
|
|
559
|
-
import {
|
|
560
|
-
|
|
561
|
-
|
|
1029
|
+
import {
|
|
1030
|
+
METAL_BOOTSTRAP_STATE_PATH,
|
|
1031
|
+
MetalBootstrapError,
|
|
1032
|
+
applyMetalBootstrap,
|
|
1033
|
+
metalBootstrapStatus,
|
|
1034
|
+
normalizeMetalPublicIdentity,
|
|
1035
|
+
planMetalBootstrap,
|
|
1036
|
+
readMetalBootstrapConfig,
|
|
1037
|
+
renderMetalUnits,
|
|
1038
|
+
validateMetalBootstrapConfig,
|
|
1039
|
+
validateOwnerOnlyPath,
|
|
1040
|
+
} from '@forgezero/agent/metal-bootstrap';
|
|
1041
|
+
|
|
1042
|
+
import type {
|
|
1043
|
+
MetalBootstrapApplyOptions,
|
|
1044
|
+
MetalBootstrapConfig,
|
|
1045
|
+
MetalBootstrapExec,
|
|
1046
|
+
MetalBootstrapPlan,
|
|
1047
|
+
MetalBootstrapResult,
|
|
1048
|
+
MetalBootstrapStatus,
|
|
1049
|
+
} from '@forgezero/agent/metal-bootstrap';
|
|
562
1050
|
```
|
|
563
1051
|
|
|
564
1052
|
<a id="forgezero-agent-metal-provision"></a>
|
|
565
1053
|
## @forgezero/agent/metal-provision
|
|
566
1054
|
|
|
567
|
-
|
|
1055
|
+
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. This entry exposes 11 named value exports and 6 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
568
1056
|
|
|
569
1057
|
```text
|
|
570
|
-
import {
|
|
571
|
-
|
|
572
|
-
|
|
1058
|
+
import {
|
|
1059
|
+
MetalProvisionError,
|
|
1060
|
+
allocateAddress,
|
|
1061
|
+
allocateCpuPool,
|
|
1062
|
+
cloudInit,
|
|
1063
|
+
guestBootstrapOperations,
|
|
1064
|
+
guestNameFor,
|
|
1065
|
+
macForAddress,
|
|
1066
|
+
provisionMetalGuest,
|
|
1067
|
+
removeMetalGuest,
|
|
1068
|
+
tapNameFor,
|
|
1069
|
+
validateMetalProfile,
|
|
1070
|
+
} from '@forgezero/agent/metal-provision';
|
|
1071
|
+
|
|
1072
|
+
import type {
|
|
1073
|
+
GuestManifest,
|
|
1074
|
+
MetalCommandResult,
|
|
1075
|
+
MetalCpuPool,
|
|
1076
|
+
MetalExec,
|
|
1077
|
+
MetalImage,
|
|
1078
|
+
MetalProvisionProfile,
|
|
1079
|
+
} from '@forgezero/agent/metal-provision';
|
|
573
1080
|
```
|
|
574
1081
|
|
|
575
1082
|
<a id="forgezero-agent-platform-bootstrap-runtime"></a>
|
|
576
1083
|
## @forgezero/agent/platform-bootstrap-runtime
|
|
577
1084
|
|
|
578
|
-
Pure platform bootstrap validation, render and resumable phase-state contracts.
|
|
1085
|
+
Pure platform bootstrap validation, render and resumable phase-state contracts. This entry exposes 10 named value exports and 14 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
579
1086
|
|
|
580
1087
|
```text
|
|
581
|
-
import {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
1088
|
+
import {
|
|
1089
|
+
activatePlatformRelease,
|
|
1090
|
+
planLocalOtlpProof,
|
|
1091
|
+
planPlatformActivation,
|
|
1092
|
+
platformApiCredentialSpecs,
|
|
1093
|
+
renderPlatformActivationFiles,
|
|
1094
|
+
renderPlatformApiUnits,
|
|
1095
|
+
renderPlatformNginx,
|
|
1096
|
+
renderPlatformSharedEnvironment,
|
|
1097
|
+
validatePlatformInitialInventory,
|
|
1098
|
+
validatePlatformSharedEnvironment,
|
|
1099
|
+
} from '@forgezero/agent/platform-bootstrap-runtime';
|
|
1100
|
+
|
|
1101
|
+
import type {
|
|
1102
|
+
ActivationBoundary,
|
|
1103
|
+
ApiRuntimeRenderOptions,
|
|
1104
|
+
ApiSlot,
|
|
1105
|
+
LocalOtlpProofPlan,
|
|
1106
|
+
PlatformActivationCommandResult,
|
|
1107
|
+
PlatformActivationConfig,
|
|
1108
|
+
PlatformActivationExec,
|
|
1109
|
+
PlatformBootstrapEmail,
|
|
1110
|
+
PlatformDatabaseRole,
|
|
1111
|
+
PlatformInitialInventory,
|
|
1112
|
+
PlatformInitialInventoryCompute,
|
|
1113
|
+
PlatformSharedEnvironment,
|
|
1114
|
+
PlatformSoftwareProfile,
|
|
1115
|
+
SystemdCredentialSpec,
|
|
1116
|
+
} from '@forgezero/agent/platform-bootstrap-runtime';
|
|
585
1117
|
```
|
|
586
1118
|
|
|
587
1119
|
<a id="forgezero-agent-project-context"></a>
|
|
588
1120
|
## @forgezero/agent/project-context
|
|
589
1121
|
|
|
590
|
-
Project identity and repository context validation for operator and managed runs.
|
|
1122
|
+
Project identity and repository context validation for operator and managed runs. This entry exposes 9 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.
|
|
591
1123
|
|
|
592
1124
|
```text
|
|
593
|
-
import {
|
|
594
|
-
|
|
595
|
-
|
|
1125
|
+
import {
|
|
1126
|
+
PROJECT_CONTEXT_VERSION,
|
|
1127
|
+
ProjectContextError,
|
|
1128
|
+
checkProjectContext,
|
|
1129
|
+
defaultProjectContext,
|
|
1130
|
+
initializeProjectContext,
|
|
1131
|
+
parseProjectContext,
|
|
1132
|
+
projectContextFiles,
|
|
1133
|
+
renderProjectContext,
|
|
1134
|
+
syncProjectContext,
|
|
1135
|
+
} from '@forgezero/agent/project-context';
|
|
1136
|
+
|
|
1137
|
+
import type {
|
|
1138
|
+
ContextCheck,
|
|
1139
|
+
ContextFile,
|
|
1140
|
+
ProjectContextManifest,
|
|
1141
|
+
ProjectTruthSource,
|
|
1142
|
+
} from '@forgezero/agent/project-context';
|
|
596
1143
|
```
|
|
597
1144
|
|
|
598
1145
|
<a id="forgezero-agent-provisioning-pull"></a>
|
|
599
1146
|
## @forgezero/agent/provisioning-pull
|
|
600
1147
|
|
|
601
|
-
Signed provisioning work claim, renewal, execution and acknowledgement.
|
|
1148
|
+
Signed provisioning work claim, renewal, execution and acknowledgement. This entry exposes 2 named value exports and 7 named type exports. The generated import block lists one name per line for scanning and copying; keep only the names used by your file.
|
|
602
1149
|
|
|
603
1150
|
```text
|
|
604
|
-
import {
|
|
605
|
-
|
|
606
|
-
|
|
1151
|
+
import {
|
|
1152
|
+
pullProvisioningOnce,
|
|
1153
|
+
startProvisioningPull,
|
|
1154
|
+
} from '@forgezero/agent/provisioning-pull';
|
|
1155
|
+
|
|
1156
|
+
import type {
|
|
1157
|
+
CreateRemoteProvisionClaim,
|
|
1158
|
+
GuestAccess,
|
|
1159
|
+
ProvisionPullResult,
|
|
1160
|
+
ProvisionResult,
|
|
1161
|
+
ProvisionRunner,
|
|
1162
|
+
ProvisioningPullOptions,
|
|
1163
|
+
RemoteProvisionClaim,
|
|
1164
|
+
} from '@forgezero/agent/provisioning-pull';
|
|
607
1165
|
```
|
|
608
1166
|
|
|
609
1167
|
<a id="forgezero-agent-schema-deploy-v3-json"></a>
|
|
@@ -630,32 +1188,66 @@ if (!validate(deploymentDefinition)) throw new Error(JSON.stringify(validate.err
|
|
|
630
1188
|
<a id="forgezero-agent-software"></a>
|
|
631
1189
|
## @forgezero/agent/software
|
|
632
1190
|
|
|
633
|
-
Exact managed-software inventory, requirement and evidence contracts.
|
|
1191
|
+
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.
|
|
634
1192
|
|
|
635
1193
|
```text
|
|
636
|
-
import {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
1194
|
+
import {
|
|
1195
|
+
BUN_RELEASE_SHA256,
|
|
1196
|
+
OS_CATALOG,
|
|
1197
|
+
PINNED_BUN_VERSION,
|
|
1198
|
+
SOFTWARE_CATALOG,
|
|
1199
|
+
ensureSoftwareRequirements,
|
|
1200
|
+
executeSoftwareOperation,
|
|
1201
|
+
observeSoftwareHost,
|
|
1202
|
+
runSoftwareCommand,
|
|
1203
|
+
softwareSpawnFailure,
|
|
1204
|
+
validateSoftwareRequirements,
|
|
1205
|
+
} from '@forgezero/agent/software';
|
|
1206
|
+
|
|
1207
|
+
import type {
|
|
1208
|
+
CatalogStatus,
|
|
1209
|
+
DeploymentChannel,
|
|
1210
|
+
OsCatalogEntry,
|
|
1211
|
+
SoftwareCatalogEntry,
|
|
1212
|
+
SoftwareCommandResult,
|
|
1213
|
+
SoftwareExec,
|
|
1214
|
+
SoftwareId,
|
|
1215
|
+
SoftwareObservation,
|
|
1216
|
+
SoftwareOperation,
|
|
1217
|
+
SoftwareRequirement,
|
|
1218
|
+
} from '@forgezero/agent/software';
|
|
640
1219
|
```
|
|
641
1220
|
|
|
642
1221
|
<a id="forgezero-agent-software-helper"></a>
|
|
643
1222
|
## @forgezero/agent/software-helper
|
|
644
1223
|
|
|
645
|
-
Root-owned fixed installation/update boundary for declared software.
|
|
1224
|
+
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.
|
|
646
1225
|
|
|
647
1226
|
```text
|
|
648
|
-
import {
|
|
649
|
-
|
|
1227
|
+
import {
|
|
1228
|
+
DEFAULT_SOFTWARE_HELPER_SOCKET,
|
|
1229
|
+
SOFTWARE_HELPER_GROUP,
|
|
1230
|
+
SOFTWARE_HELPER_UNIT_PATH,
|
|
1231
|
+
requestContainerActivation,
|
|
1232
|
+
requestContainerBuild,
|
|
1233
|
+
requestServiceActivation,
|
|
1234
|
+
requestSoftware,
|
|
1235
|
+
startSoftwareHelper,
|
|
1236
|
+
} from '@forgezero/agent/software-helper';
|
|
650
1237
|
```
|
|
651
1238
|
|
|
652
1239
|
<a id="forgezero-agent-ubuntu"></a>
|
|
653
1240
|
## @forgezero/agent/ubuntu
|
|
654
1241
|
|
|
655
|
-
Ubuntu
|
|
1242
|
+
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. This entry exposes 4 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.
|
|
656
1243
|
|
|
657
1244
|
```text
|
|
658
|
-
import {
|
|
1245
|
+
import {
|
|
1246
|
+
SUPPORTED_GUEST_IMAGE,
|
|
1247
|
+
SUPPORTED_GUEST_IMAGES,
|
|
1248
|
+
assertSupportedGuestImage,
|
|
1249
|
+
supportedGuestImage,
|
|
1250
|
+
} from '@forgezero/agent/ubuntu';
|
|
659
1251
|
```
|
|
660
1252
|
|
|
661
1253
|
<a id="fz-agent-replica"></a>
|
|
@@ -715,7 +1307,9 @@ generate-request | fz api post /workspace/action --data -
|
|
|
715
1307
|
Nothing. With no agent, this needs FORGEZERO_API_KEY in the environment. With the agent, it does not — and the key that would have been on the box does not exist. `@forgezero/vault` prefers the socket automatically.
|
|
716
1308
|
|
|
717
1309
|
```text
|
|
718
|
-
import {
|
|
1310
|
+
import {
|
|
1311
|
+
ForgeZero,
|
|
1312
|
+
} from '@forgezero/vault';
|
|
719
1313
|
|
|
720
1314
|
const fz = new ForgeZero({ project: 'altpilot', environment: 'production' });
|
|
721
1315
|
await fz.get('STRIPE_KEY');
|