@forgezero/agent 0.1.65 → 0.1.67
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 +745 -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 +487 -251
- 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 +20 -4
- package/dist/operator-bootstrap.js +429 -203
- 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,44 @@ 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 15 named value exports and 15 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
|
+
createOperatorSshHop,
|
|
543
|
+
operatorPlatformFleetCoordinates,
|
|
544
|
+
planOperatorMetalBootstrap,
|
|
545
|
+
planOperatorPlatformBootstrap,
|
|
546
|
+
planOperatorPlatformFleetBootstrap,
|
|
547
|
+
readOperatorMetalBootstrapRequest,
|
|
548
|
+
readOperatorPlatformBootstrapFleetRequest,
|
|
549
|
+
readOperatorPlatformBootstrapRequest,
|
|
550
|
+
verifyOperatorPlatformFleet,
|
|
551
|
+
writeOperatorMetalBootstrapRequest,
|
|
552
|
+
writeOperatorPlatformBootstrapFleetRequest,
|
|
553
|
+
writeOperatorPlatformBootstrapRequest,
|
|
554
|
+
} from '@forgezero/agent/operator-bootstrap';
|
|
555
|
+
|
|
556
|
+
import type {
|
|
557
|
+
OperatorCommand,
|
|
558
|
+
OperatorCommandResult,
|
|
559
|
+
OperatorMetalBootstrapMode,
|
|
560
|
+
OperatorMetalBootstrapPlan,
|
|
561
|
+
OperatorMetalBootstrapRequest,
|
|
562
|
+
OperatorPlatformBootstrapFleetOutcome,
|
|
563
|
+
OperatorPlatformBootstrapFleetPlan,
|
|
564
|
+
OperatorPlatformBootstrapFleetRequest,
|
|
565
|
+
OperatorPlatformBootstrapFleetResult,
|
|
566
|
+
OperatorPlatformBootstrapMode,
|
|
567
|
+
OperatorPlatformBootstrapOptions,
|
|
568
|
+
OperatorPlatformBootstrapPlan,
|
|
569
|
+
OperatorPlatformBootstrapRequest,
|
|
570
|
+
OperatorPlatformFleetCoordinates,
|
|
571
|
+
OperatorSshHop,
|
|
572
|
+
} from '@forgezero/agent/operator-bootstrap';
|
|
332
573
|
```
|
|
333
574
|
|
|
334
575
|
## @forgezero/agent/operator-bootstrap — Run the same typed platform bootstrap from an operator laptop
|
|
@@ -344,11 +585,21 @@ fz bootstrap platform remote apply --bootstrap-config /secure/forgezero/developm
|
|
|
344
585
|
<a id="forgezero-agent-host-maintenance"></a>
|
|
345
586
|
## @forgezero/agent/host-maintenance
|
|
346
587
|
|
|
347
|
-
Closed host maintenance plans for staging transaction rehearsal and fleet-fenced schema consolidation through fixed transient systemd units.
|
|
588
|
+
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
589
|
|
|
349
590
|
```text
|
|
350
|
-
import {
|
|
351
|
-
|
|
591
|
+
import {
|
|
592
|
+
applyHostMaintenance,
|
|
593
|
+
planHostMaintenance,
|
|
594
|
+
} from '@forgezero/agent/host-maintenance';
|
|
595
|
+
|
|
596
|
+
import type {
|
|
597
|
+
HostMaintenanceOperation,
|
|
598
|
+
HostMaintenancePlan,
|
|
599
|
+
HostMaintenanceRequest,
|
|
600
|
+
HostMaintenanceResult,
|
|
601
|
+
HostMaintenanceRuntime,
|
|
602
|
+
} from '@forgezero/agent/host-maintenance';
|
|
352
603
|
```
|
|
353
604
|
|
|
354
605
|
## @forgezero/agent/host-maintenance — Plan a fixed supervised host operation
|
|
@@ -356,7 +607,9 @@ import type { HostMaintenanceOperation, HostMaintenancePlan, HostMaintenanceRequ
|
|
|
356
607
|
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
608
|
|
|
358
609
|
```text
|
|
359
|
-
import {
|
|
610
|
+
import {
|
|
611
|
+
planHostMaintenance,
|
|
612
|
+
} from '@forgezero/agent/host-maintenance';
|
|
360
613
|
|
|
361
614
|
const plan = planHostMaintenance({ operation: 'schema-plan' });
|
|
362
615
|
console.log(plan.argv);
|
|
@@ -365,97 +618,248 @@ console.log(plan.argv);
|
|
|
365
618
|
<a id="forgezero-agent-capacity-calibration"></a>
|
|
366
619
|
## @forgezero/agent/capacity-calibration
|
|
367
620
|
|
|
368
|
-
One-time target-local safe-concurrency calibration with private evidence.
|
|
621
|
+
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
622
|
|
|
370
623
|
```text
|
|
371
|
-
import {
|
|
372
|
-
|
|
624
|
+
import {
|
|
625
|
+
calibrateHttpConcurrency,
|
|
626
|
+
localCalibrationEndpoint,
|
|
627
|
+
validateCapacityCalibrationOptions,
|
|
628
|
+
} from '@forgezero/agent/capacity-calibration';
|
|
629
|
+
|
|
630
|
+
import type {
|
|
631
|
+
CapacityCalibration,
|
|
632
|
+
CapacityCalibrationOptions,
|
|
633
|
+
CapacityStage,
|
|
634
|
+
ValidatedCapacityCalibrationOptions,
|
|
635
|
+
} from '@forgezero/agent/capacity-calibration';
|
|
373
636
|
```
|
|
374
637
|
|
|
375
638
|
<a id="forgezero-agent-cloudflare-bootstrap"></a>
|
|
376
639
|
## @forgezero/agent/cloudflare-bootstrap
|
|
377
640
|
|
|
378
|
-
Attended two-token Cloudflare Tunnel/DNS reconciliation and per-node connector/KV runtime handoff for existing KV resources.
|
|
641
|
+
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
642
|
|
|
380
643
|
```text
|
|
381
|
-
import {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
644
|
+
import {
|
|
645
|
+
applyCloudflareBootstrap,
|
|
646
|
+
cloudflareHostHandoffPath,
|
|
647
|
+
deriveCloudflareRealtimeSecrets,
|
|
648
|
+
finalizeCloudflareBootstrapAcceptance,
|
|
649
|
+
planCloudflareBootstrap,
|
|
650
|
+
readCloudflareBootstrapAcceptanceEvidence,
|
|
651
|
+
readCloudflareConnectorHandoff,
|
|
652
|
+
readCloudflareHostHandoff,
|
|
653
|
+
runAttendedCloudflareBootstrap,
|
|
654
|
+
validateCloudflareBootstrapCoordinates,
|
|
655
|
+
validateCloudflareBootstrapTokens,
|
|
656
|
+
verifyCloudflareBootstrapAcceptance,
|
|
657
|
+
writeOwnerBootstrapOutput,
|
|
658
|
+
} from '@forgezero/agent/cloudflare-bootstrap';
|
|
659
|
+
|
|
660
|
+
import type {
|
|
661
|
+
AttendedCloudflareBootstrapRequest,
|
|
662
|
+
CloudflareBootstrapAcceptanceEvidence,
|
|
663
|
+
CloudflareBootstrapAcceptedNode,
|
|
664
|
+
CloudflareBootstrapCoordinates,
|
|
665
|
+
CloudflareBootstrapDependencies,
|
|
666
|
+
CloudflareBootstrapEvidence,
|
|
667
|
+
CloudflareBootstrapFinalizeRequest,
|
|
668
|
+
CloudflareBootstrapNodeCoordinates,
|
|
669
|
+
CloudflareBootstrapOutput,
|
|
670
|
+
CloudflareBootstrapPhaseRunner,
|
|
671
|
+
CloudflareBootstrapPlan,
|
|
672
|
+
CloudflareBootstrapTokens,
|
|
673
|
+
CloudflareConnectorHandoff,
|
|
674
|
+
CloudflareHostHandoff,
|
|
675
|
+
CloudflareMeshCoordinates,
|
|
676
|
+
CloudflareRealtimeCoordinates,
|
|
677
|
+
} from '@forgezero/agent/cloudflare-bootstrap';
|
|
387
678
|
```
|
|
388
679
|
|
|
389
680
|
<a id="forgezero-agent-cloudflare-edge"></a>
|
|
390
681
|
## @forgezero/agent/cloudflare-edge
|
|
391
682
|
|
|
392
|
-
Strict Cloudflare REST operations used by the attended bootstrap controller.
|
|
683
|
+
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
684
|
|
|
394
685
|
```text
|
|
395
|
-
import {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
686
|
+
import {
|
|
687
|
+
configureCloudflareEdge,
|
|
688
|
+
configureCloudflareRealtimeSecrets,
|
|
689
|
+
discoverCloudflareBootstrapResources,
|
|
690
|
+
ensureCloudflareMeshConnector,
|
|
691
|
+
ensureCloudflarePrivateDatabaseRoute,
|
|
692
|
+
ensureCloudflarePrivateRoute,
|
|
693
|
+
ensureCloudflareTunnel,
|
|
694
|
+
ensureCloudflareWarpDatabaseInclude,
|
|
695
|
+
ensureCloudflareWarpNetworkIncludes,
|
|
696
|
+
removeCloudflarePrivateDatabaseRoute,
|
|
697
|
+
removeCloudflarePrivateRoute,
|
|
698
|
+
removeCloudflareWarpDatabaseInclude,
|
|
699
|
+
retrieveCloudflareConnectorTokens,
|
|
700
|
+
verifyCloudflareWorkerDurableObjects,
|
|
701
|
+
} from '@forgezero/agent/cloudflare-edge';
|
|
702
|
+
|
|
703
|
+
import type {
|
|
704
|
+
CloudflareBootstrapDiscovery,
|
|
705
|
+
CloudflareDurableObjectNamespace,
|
|
706
|
+
CloudflareEdgeConfig,
|
|
707
|
+
CloudflareMeshConnector,
|
|
708
|
+
CloudflarePrivateRoute,
|
|
709
|
+
CloudflarePrivateRouteConfig,
|
|
710
|
+
CloudflareTunnel,
|
|
711
|
+
CloudflareWarpIncludeConfig,
|
|
712
|
+
} from '@forgezero/agent/cloudflare-edge';
|
|
400
713
|
```
|
|
401
714
|
|
|
402
715
|
<a id="forgezero-agent-mesh-connector"></a>
|
|
403
716
|
## @forgezero/agent/mesh-connector
|
|
404
717
|
|
|
405
|
-
Fixed Cloudflare Mesh/WARP connector enrollment using only the unit-loaded connector credential.
|
|
718
|
+
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
719
|
|
|
407
720
|
```text
|
|
408
|
-
import {
|
|
409
|
-
|
|
721
|
+
import {
|
|
722
|
+
configureMeshConnector,
|
|
723
|
+
readMeshConnectorCredential,
|
|
724
|
+
} from '@forgezero/agent/mesh-connector';
|
|
725
|
+
|
|
726
|
+
import type {
|
|
727
|
+
MeshConnectorCommandResult,
|
|
728
|
+
MeshConnectorExec,
|
|
729
|
+
} from '@forgezero/agent/mesh-connector';
|
|
410
730
|
```
|
|
411
731
|
|
|
412
732
|
<a id="forgezero-agent-compute"></a>
|
|
413
733
|
## @forgezero/agent/compute
|
|
414
734
|
|
|
415
|
-
Compute claim, renewal, execution and completion client contracts.
|
|
735
|
+
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
736
|
|
|
417
737
|
```text
|
|
418
|
-
import {
|
|
419
|
-
|
|
420
|
-
|
|
738
|
+
import {
|
|
739
|
+
ComputeError,
|
|
740
|
+
deviceInUse,
|
|
741
|
+
guestUnit,
|
|
742
|
+
parseCensus,
|
|
743
|
+
qemuArgv,
|
|
744
|
+
shapeEgressCommands,
|
|
745
|
+
shapeEgressUnitDirectives,
|
|
746
|
+
tapFor,
|
|
747
|
+
unitName,
|
|
748
|
+
} from '@forgezero/agent/compute';
|
|
749
|
+
|
|
750
|
+
import type {
|
|
751
|
+
GuestSpec,
|
|
752
|
+
RunningGuest,
|
|
753
|
+
} from '@forgezero/agent/compute';
|
|
421
754
|
```
|
|
422
755
|
|
|
423
756
|
<a id="forgezero-agent-credential-schema"></a>
|
|
424
757
|
## @forgezero/agent/credential-schema
|
|
425
758
|
|
|
426
|
-
Canonical systemd credential names and validation shared by bootstrap and services.
|
|
759
|
+
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
760
|
|
|
428
761
|
```text
|
|
429
|
-
import {
|
|
430
|
-
|
|
431
|
-
|
|
762
|
+
import {
|
|
763
|
+
AGENT_CREDENTIAL_LOCATIONS,
|
|
764
|
+
AGENT_CREDENTIAL_POLICY,
|
|
765
|
+
CLOUDFLARE_CREDENTIAL_NAMES,
|
|
766
|
+
CLOUDFLARE_CREDENTIAL_SCHEMA,
|
|
767
|
+
METAL_SYSTEMD_CREDENTIALS,
|
|
768
|
+
credentialBinding,
|
|
769
|
+
deploymentCredentialSchema,
|
|
770
|
+
} from '@forgezero/agent/credential-schema';
|
|
771
|
+
|
|
772
|
+
import type {
|
|
773
|
+
AgentCredentialLocation,
|
|
774
|
+
DeploymentCredentialBinding,
|
|
775
|
+
DeploymentCredentialSchema,
|
|
776
|
+
} from '@forgezero/agent/credential-schema';
|
|
432
777
|
```
|
|
433
778
|
|
|
434
779
|
<a id="forgezero-agent-definition"></a>
|
|
435
780
|
## @forgezero/agent/definition
|
|
436
781
|
|
|
437
|
-
Legacy version 3 JSON deployment compatibility contract.
|
|
782
|
+
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
783
|
|
|
439
784
|
```text
|
|
440
|
-
import {
|
|
441
|
-
|
|
785
|
+
import {
|
|
786
|
+
DEPLOY_SCHEMA_URL,
|
|
787
|
+
DefinitionError,
|
|
788
|
+
PIPELINE_VERSION,
|
|
789
|
+
parseDeployDefinition,
|
|
790
|
+
phasePipeline,
|
|
791
|
+
validateDeploymentService,
|
|
792
|
+
} from '@forgezero/agent/definition';
|
|
793
|
+
|
|
794
|
+
import type {
|
|
795
|
+
DeployDefinition,
|
|
796
|
+
DeployStep,
|
|
797
|
+
DeploymentPortAllocation,
|
|
798
|
+
DeploymentService,
|
|
799
|
+
PipelineProfile,
|
|
800
|
+
} from '@forgezero/agent/definition';
|
|
442
801
|
```
|
|
443
802
|
|
|
444
803
|
<a id="forgezero-agent-deploy"></a>
|
|
445
804
|
## @forgezero/agent/deploy
|
|
446
805
|
|
|
447
|
-
Typed deployment authoring builders, built-in provider requirements and versioned action constructors.
|
|
806
|
+
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
807
|
|
|
449
808
|
```text
|
|
450
|
-
import {
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
809
|
+
import {
|
|
810
|
+
actions,
|
|
811
|
+
application,
|
|
812
|
+
conditions,
|
|
813
|
+
credential,
|
|
814
|
+
database,
|
|
815
|
+
defineDeployment,
|
|
816
|
+
input,
|
|
817
|
+
providers,
|
|
818
|
+
ref,
|
|
819
|
+
requirement,
|
|
820
|
+
stage,
|
|
821
|
+
step,
|
|
822
|
+
target,
|
|
823
|
+
workflow,
|
|
824
|
+
} from '@forgezero/agent/deploy';
|
|
825
|
+
|
|
826
|
+
import type {
|
|
827
|
+
ApplicationComponent,
|
|
828
|
+
ApplicationRuntime,
|
|
829
|
+
ArangoDbProviderConfig,
|
|
830
|
+
BunProviderConfig,
|
|
831
|
+
CloudflaredProviderConfig,
|
|
832
|
+
ComponentDefinition,
|
|
833
|
+
Condition,
|
|
834
|
+
ConditionOperand,
|
|
835
|
+
CredentialDefinition,
|
|
836
|
+
DatabaseComponent,
|
|
837
|
+
DeploymentSource,
|
|
838
|
+
DockerProviderConfig,
|
|
839
|
+
HealthDefinition,
|
|
840
|
+
InputDefinition,
|
|
841
|
+
JsonObject,
|
|
842
|
+
JsonPrimitive,
|
|
843
|
+
JsonValue,
|
|
844
|
+
NetworkDefinition,
|
|
845
|
+
NginxProviderConfig,
|
|
846
|
+
OpenSshProviderConfig,
|
|
847
|
+
RequirementDefinition,
|
|
848
|
+
ResolvableJsonObject,
|
|
849
|
+
ResolvableJsonValue,
|
|
850
|
+
ResourceDefinition,
|
|
851
|
+
RetryDefinition,
|
|
852
|
+
StageDefinition,
|
|
853
|
+
StepScope,
|
|
854
|
+
StorageMount,
|
|
855
|
+
SystemdProviderConfig,
|
|
856
|
+
TargetDefinition,
|
|
857
|
+
UfwProviderConfig,
|
|
858
|
+
ValueReference,
|
|
859
|
+
WarpProviderConfig,
|
|
860
|
+
WorkflowDefinition,
|
|
861
|
+
WorkflowStepDefinition,
|
|
862
|
+
} from '@forgezero/agent/deploy';
|
|
459
863
|
```
|
|
460
864
|
|
|
461
865
|
## @forgezero/agent/deploy — Author a typed native or Docker deployment
|
|
@@ -463,7 +867,15 @@ import type { UfwProviderConfig, ValueReference, WarpProviderConfig, WorkflowDef
|
|
|
463
867
|
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
868
|
|
|
465
869
|
```text
|
|
466
|
-
import {
|
|
870
|
+
import {
|
|
871
|
+
actions,
|
|
872
|
+
application,
|
|
873
|
+
defineDeployment,
|
|
874
|
+
providers,
|
|
875
|
+
stage,
|
|
876
|
+
target,
|
|
877
|
+
workflow,
|
|
878
|
+
} from '@forgezero/agent/deploy';
|
|
467
879
|
|
|
468
880
|
export default defineDeployment({
|
|
469
881
|
apiVersion: 'deploy.forgezero.net/v1', kind: 'Deployment',
|
|
@@ -490,23 +902,50 @@ export default defineDeployment({
|
|
|
490
902
|
<a id="forgezero-agent-deploy-plan"></a>
|
|
491
903
|
## @forgezero/agent/deploy-plan
|
|
492
904
|
|
|
493
|
-
Runtime validation, canonicalization and semantic digest for inert deployment plans.
|
|
905
|
+
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
906
|
|
|
495
907
|
```text
|
|
496
|
-
import {
|
|
497
|
-
|
|
498
|
-
|
|
908
|
+
import {
|
|
909
|
+
DEPLOY_PLAN_FORMAT,
|
|
910
|
+
DEPLOY_PLAN_VERSION,
|
|
911
|
+
DeploymentPlanError,
|
|
912
|
+
canonicalJson,
|
|
913
|
+
compileDeployment,
|
|
914
|
+
deploymentPlanDigest,
|
|
915
|
+
deploymentSourceDigest,
|
|
916
|
+
parseDeploymentPlan,
|
|
917
|
+
} from '@forgezero/agent/deploy-plan';
|
|
918
|
+
|
|
919
|
+
import type {
|
|
920
|
+
DeploymentPlan,
|
|
921
|
+
PlannedStage,
|
|
922
|
+
PlannedStep,
|
|
923
|
+
PlannedWorkflow,
|
|
924
|
+
} from '@forgezero/agent/deploy-plan';
|
|
499
925
|
```
|
|
500
926
|
|
|
501
927
|
<a id="forgezero-agent-deploy-plan-runner"></a>
|
|
502
928
|
## @forgezero/agent/deploy-plan-runner
|
|
503
929
|
|
|
504
|
-
Conditional DAG execution with bounded retry, compensation and failure policy over injected action handlers.
|
|
930
|
+
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
931
|
|
|
506
932
|
```text
|
|
507
|
-
import {
|
|
508
|
-
|
|
509
|
-
|
|
933
|
+
import {
|
|
934
|
+
DeploymentActionError,
|
|
935
|
+
evaluateCondition,
|
|
936
|
+
runDeploymentPlan,
|
|
937
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
938
|
+
|
|
939
|
+
import type {
|
|
940
|
+
ActionContext,
|
|
941
|
+
ActionExecutionResult,
|
|
942
|
+
ActionFailureKind,
|
|
943
|
+
ActionHandler,
|
|
944
|
+
PlanRunResult,
|
|
945
|
+
PlanStepStatus,
|
|
946
|
+
RunDeploymentPlanOptions,
|
|
947
|
+
StepExecutionRecord,
|
|
948
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
510
949
|
```
|
|
511
950
|
|
|
512
951
|
## @forgezero/agent/deploy-plan-runner — Extend the plan with a namespaced action
|
|
@@ -514,8 +953,12 @@ import type { RunDeploymentPlanOptions, StepExecutionRecord } from '@forgezero/a
|
|
|
514
953
|
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
954
|
|
|
516
955
|
```text
|
|
517
|
-
import {
|
|
518
|
-
|
|
956
|
+
import {
|
|
957
|
+
actions,
|
|
958
|
+
} from '@forgezero/agent/deploy';
|
|
959
|
+
import {
|
|
960
|
+
runDeploymentPlan,
|
|
961
|
+
} from '@forgezero/agent/deploy-plan-runner';
|
|
519
962
|
|
|
520
963
|
const notify = actions.extension('example.notifications/publish@1', { channel: 'deployments' }, {
|
|
521
964
|
scope: { kind: 'release-executor' },
|
|
@@ -531,79 +974,188 @@ await runDeploymentPlan({
|
|
|
531
974
|
<a id="forgezero-agent-deploy-compiler"></a>
|
|
532
975
|
## @forgezero/agent/deploy-compiler
|
|
533
976
|
|
|
534
|
-
Explicit developer/CI compiler from forgezero.deploy.ts to canonical .fz/deploy.plan.json; never used to execute project TypeScript in production.
|
|
977
|
+
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
978
|
|
|
536
979
|
```text
|
|
537
|
-
import {
|
|
538
|
-
|
|
539
|
-
|
|
980
|
+
import {
|
|
981
|
+
DEPLOY_PLAN_FILE,
|
|
982
|
+
DEPLOY_SOURCE_FILE,
|
|
983
|
+
compileDeploymentProject,
|
|
984
|
+
defaultTypeScriptDeployment,
|
|
985
|
+
initializeTypeScriptDeployment,
|
|
986
|
+
inspectCompiledDeployment,
|
|
987
|
+
loadDeploymentSource,
|
|
988
|
+
} from '@forgezero/agent/deploy-compiler';
|
|
989
|
+
|
|
990
|
+
import type {
|
|
991
|
+
DeploymentCompilation,
|
|
992
|
+
} from '@forgezero/agent/deploy-compiler';
|
|
540
993
|
```
|
|
541
994
|
|
|
542
995
|
<a id="forgezero-agent-deploy-file"></a>
|
|
543
996
|
## @forgezero/agent/deploy-file
|
|
544
997
|
|
|
545
|
-
Read and validate a checked-out .fz deployment file without executing project input.
|
|
998
|
+
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
999
|
|
|
547
1000
|
```text
|
|
548
|
-
import {
|
|
549
|
-
|
|
550
|
-
|
|
1001
|
+
import {
|
|
1002
|
+
DEPLOY_FILE,
|
|
1003
|
+
DEPLOY_SCHEMA_URL,
|
|
1004
|
+
DEPLOY_TODO_PREFIX,
|
|
1005
|
+
defaultDeployFile,
|
|
1006
|
+
deployDefinitionDigest,
|
|
1007
|
+
initializeDeployFile,
|
|
1008
|
+
inspectDeployFile,
|
|
1009
|
+
} from '@forgezero/agent/deploy-file';
|
|
1010
|
+
|
|
1011
|
+
import type {
|
|
1012
|
+
DeployFileSummary,
|
|
1013
|
+
InitializedDeployFile,
|
|
1014
|
+
} from '@forgezero/agent/deploy-file';
|
|
551
1015
|
```
|
|
552
1016
|
|
|
553
1017
|
<a id="forgezero-agent-metal-bootstrap"></a>
|
|
554
1018
|
## @forgezero/agent/metal-bootstrap
|
|
555
1019
|
|
|
556
|
-
Physical-metal bootstrap planning, application and status evidence.
|
|
1020
|
+
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
1021
|
|
|
558
1022
|
```text
|
|
559
|
-
import {
|
|
560
|
-
|
|
561
|
-
|
|
1023
|
+
import {
|
|
1024
|
+
METAL_BOOTSTRAP_STATE_PATH,
|
|
1025
|
+
MetalBootstrapError,
|
|
1026
|
+
applyMetalBootstrap,
|
|
1027
|
+
metalBootstrapStatus,
|
|
1028
|
+
normalizeMetalPublicIdentity,
|
|
1029
|
+
planMetalBootstrap,
|
|
1030
|
+
readMetalBootstrapConfig,
|
|
1031
|
+
renderMetalUnits,
|
|
1032
|
+
validateMetalBootstrapConfig,
|
|
1033
|
+
validateOwnerOnlyPath,
|
|
1034
|
+
} from '@forgezero/agent/metal-bootstrap';
|
|
1035
|
+
|
|
1036
|
+
import type {
|
|
1037
|
+
MetalBootstrapApplyOptions,
|
|
1038
|
+
MetalBootstrapConfig,
|
|
1039
|
+
MetalBootstrapExec,
|
|
1040
|
+
MetalBootstrapPlan,
|
|
1041
|
+
MetalBootstrapResult,
|
|
1042
|
+
MetalBootstrapStatus,
|
|
1043
|
+
} from '@forgezero/agent/metal-bootstrap';
|
|
562
1044
|
```
|
|
563
1045
|
|
|
564
1046
|
<a id="forgezero-agent-metal-provision"></a>
|
|
565
1047
|
## @forgezero/agent/metal-provision
|
|
566
1048
|
|
|
567
|
-
|
|
1049
|
+
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
1050
|
|
|
569
1051
|
```text
|
|
570
|
-
import {
|
|
571
|
-
|
|
572
|
-
|
|
1052
|
+
import {
|
|
1053
|
+
MetalProvisionError,
|
|
1054
|
+
allocateAddress,
|
|
1055
|
+
allocateCpuPool,
|
|
1056
|
+
cloudInit,
|
|
1057
|
+
guestBootstrapOperations,
|
|
1058
|
+
guestNameFor,
|
|
1059
|
+
macForAddress,
|
|
1060
|
+
provisionMetalGuest,
|
|
1061
|
+
removeMetalGuest,
|
|
1062
|
+
tapNameFor,
|
|
1063
|
+
validateMetalProfile,
|
|
1064
|
+
} from '@forgezero/agent/metal-provision';
|
|
1065
|
+
|
|
1066
|
+
import type {
|
|
1067
|
+
GuestManifest,
|
|
1068
|
+
MetalCommandResult,
|
|
1069
|
+
MetalCpuPool,
|
|
1070
|
+
MetalExec,
|
|
1071
|
+
MetalImage,
|
|
1072
|
+
MetalProvisionProfile,
|
|
1073
|
+
} from '@forgezero/agent/metal-provision';
|
|
573
1074
|
```
|
|
574
1075
|
|
|
575
1076
|
<a id="forgezero-agent-platform-bootstrap-runtime"></a>
|
|
576
1077
|
## @forgezero/agent/platform-bootstrap-runtime
|
|
577
1078
|
|
|
578
|
-
Pure platform bootstrap validation, render and resumable phase-state contracts.
|
|
1079
|
+
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
1080
|
|
|
580
1081
|
```text
|
|
581
|
-
import {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
1082
|
+
import {
|
|
1083
|
+
activatePlatformRelease,
|
|
1084
|
+
planLocalOtlpProof,
|
|
1085
|
+
planPlatformActivation,
|
|
1086
|
+
platformApiCredentialSpecs,
|
|
1087
|
+
renderPlatformActivationFiles,
|
|
1088
|
+
renderPlatformApiUnits,
|
|
1089
|
+
renderPlatformNginx,
|
|
1090
|
+
renderPlatformSharedEnvironment,
|
|
1091
|
+
validatePlatformInitialInventory,
|
|
1092
|
+
validatePlatformSharedEnvironment,
|
|
1093
|
+
} from '@forgezero/agent/platform-bootstrap-runtime';
|
|
1094
|
+
|
|
1095
|
+
import type {
|
|
1096
|
+
ActivationBoundary,
|
|
1097
|
+
ApiRuntimeRenderOptions,
|
|
1098
|
+
ApiSlot,
|
|
1099
|
+
LocalOtlpProofPlan,
|
|
1100
|
+
PlatformActivationCommandResult,
|
|
1101
|
+
PlatformActivationConfig,
|
|
1102
|
+
PlatformActivationExec,
|
|
1103
|
+
PlatformBootstrapEmail,
|
|
1104
|
+
PlatformDatabaseRole,
|
|
1105
|
+
PlatformInitialInventory,
|
|
1106
|
+
PlatformInitialInventoryCompute,
|
|
1107
|
+
PlatformSharedEnvironment,
|
|
1108
|
+
PlatformSoftwareProfile,
|
|
1109
|
+
SystemdCredentialSpec,
|
|
1110
|
+
} from '@forgezero/agent/platform-bootstrap-runtime';
|
|
585
1111
|
```
|
|
586
1112
|
|
|
587
1113
|
<a id="forgezero-agent-project-context"></a>
|
|
588
1114
|
## @forgezero/agent/project-context
|
|
589
1115
|
|
|
590
|
-
Project identity and repository context validation for operator and managed runs.
|
|
1116
|
+
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
1117
|
|
|
592
1118
|
```text
|
|
593
|
-
import {
|
|
594
|
-
|
|
595
|
-
|
|
1119
|
+
import {
|
|
1120
|
+
PROJECT_CONTEXT_VERSION,
|
|
1121
|
+
ProjectContextError,
|
|
1122
|
+
checkProjectContext,
|
|
1123
|
+
defaultProjectContext,
|
|
1124
|
+
initializeProjectContext,
|
|
1125
|
+
parseProjectContext,
|
|
1126
|
+
projectContextFiles,
|
|
1127
|
+
renderProjectContext,
|
|
1128
|
+
syncProjectContext,
|
|
1129
|
+
} from '@forgezero/agent/project-context';
|
|
1130
|
+
|
|
1131
|
+
import type {
|
|
1132
|
+
ContextCheck,
|
|
1133
|
+
ContextFile,
|
|
1134
|
+
ProjectContextManifest,
|
|
1135
|
+
ProjectTruthSource,
|
|
1136
|
+
} from '@forgezero/agent/project-context';
|
|
596
1137
|
```
|
|
597
1138
|
|
|
598
1139
|
<a id="forgezero-agent-provisioning-pull"></a>
|
|
599
1140
|
## @forgezero/agent/provisioning-pull
|
|
600
1141
|
|
|
601
|
-
Signed provisioning work claim, renewal, execution and acknowledgement.
|
|
1142
|
+
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
1143
|
|
|
603
1144
|
```text
|
|
604
|
-
import {
|
|
605
|
-
|
|
606
|
-
|
|
1145
|
+
import {
|
|
1146
|
+
pullProvisioningOnce,
|
|
1147
|
+
startProvisioningPull,
|
|
1148
|
+
} from '@forgezero/agent/provisioning-pull';
|
|
1149
|
+
|
|
1150
|
+
import type {
|
|
1151
|
+
CreateRemoteProvisionClaim,
|
|
1152
|
+
GuestAccess,
|
|
1153
|
+
ProvisionPullResult,
|
|
1154
|
+
ProvisionResult,
|
|
1155
|
+
ProvisionRunner,
|
|
1156
|
+
ProvisioningPullOptions,
|
|
1157
|
+
RemoteProvisionClaim,
|
|
1158
|
+
} from '@forgezero/agent/provisioning-pull';
|
|
607
1159
|
```
|
|
608
1160
|
|
|
609
1161
|
<a id="forgezero-agent-schema-deploy-v3-json"></a>
|
|
@@ -630,32 +1182,66 @@ if (!validate(deploymentDefinition)) throw new Error(JSON.stringify(validate.err
|
|
|
630
1182
|
<a id="forgezero-agent-software"></a>
|
|
631
1183
|
## @forgezero/agent/software
|
|
632
1184
|
|
|
633
|
-
Exact managed-software inventory, requirement and evidence contracts.
|
|
1185
|
+
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
1186
|
|
|
635
1187
|
```text
|
|
636
|
-
import {
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
1188
|
+
import {
|
|
1189
|
+
BUN_RELEASE_SHA256,
|
|
1190
|
+
OS_CATALOG,
|
|
1191
|
+
PINNED_BUN_VERSION,
|
|
1192
|
+
SOFTWARE_CATALOG,
|
|
1193
|
+
ensureSoftwareRequirements,
|
|
1194
|
+
executeSoftwareOperation,
|
|
1195
|
+
observeSoftwareHost,
|
|
1196
|
+
runSoftwareCommand,
|
|
1197
|
+
softwareSpawnFailure,
|
|
1198
|
+
validateSoftwareRequirements,
|
|
1199
|
+
} from '@forgezero/agent/software';
|
|
1200
|
+
|
|
1201
|
+
import type {
|
|
1202
|
+
CatalogStatus,
|
|
1203
|
+
DeploymentChannel,
|
|
1204
|
+
OsCatalogEntry,
|
|
1205
|
+
SoftwareCatalogEntry,
|
|
1206
|
+
SoftwareCommandResult,
|
|
1207
|
+
SoftwareExec,
|
|
1208
|
+
SoftwareId,
|
|
1209
|
+
SoftwareObservation,
|
|
1210
|
+
SoftwareOperation,
|
|
1211
|
+
SoftwareRequirement,
|
|
1212
|
+
} from '@forgezero/agent/software';
|
|
640
1213
|
```
|
|
641
1214
|
|
|
642
1215
|
<a id="forgezero-agent-software-helper"></a>
|
|
643
1216
|
## @forgezero/agent/software-helper
|
|
644
1217
|
|
|
645
|
-
Root-owned fixed installation/update boundary for declared software.
|
|
1218
|
+
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
1219
|
|
|
647
1220
|
```text
|
|
648
|
-
import {
|
|
649
|
-
|
|
1221
|
+
import {
|
|
1222
|
+
DEFAULT_SOFTWARE_HELPER_SOCKET,
|
|
1223
|
+
SOFTWARE_HELPER_GROUP,
|
|
1224
|
+
SOFTWARE_HELPER_UNIT_PATH,
|
|
1225
|
+
requestContainerActivation,
|
|
1226
|
+
requestContainerBuild,
|
|
1227
|
+
requestServiceActivation,
|
|
1228
|
+
requestSoftware,
|
|
1229
|
+
startSoftwareHelper,
|
|
1230
|
+
} from '@forgezero/agent/software-helper';
|
|
650
1231
|
```
|
|
651
1232
|
|
|
652
1233
|
<a id="forgezero-agent-ubuntu"></a>
|
|
653
1234
|
## @forgezero/agent/ubuntu
|
|
654
1235
|
|
|
655
|
-
Ubuntu
|
|
1236
|
+
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
1237
|
|
|
657
1238
|
```text
|
|
658
|
-
import {
|
|
1239
|
+
import {
|
|
1240
|
+
SUPPORTED_GUEST_IMAGE,
|
|
1241
|
+
SUPPORTED_GUEST_IMAGES,
|
|
1242
|
+
assertSupportedGuestImage,
|
|
1243
|
+
supportedGuestImage,
|
|
1244
|
+
} from '@forgezero/agent/ubuntu';
|
|
659
1245
|
```
|
|
660
1246
|
|
|
661
1247
|
<a id="fz-agent-replica"></a>
|
|
@@ -715,7 +1301,9 @@ generate-request | fz api post /workspace/action --data -
|
|
|
715
1301
|
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
1302
|
|
|
717
1303
|
```text
|
|
718
|
-
import {
|
|
1304
|
+
import {
|
|
1305
|
+
ForgeZero,
|
|
1306
|
+
} from '@forgezero/vault';
|
|
719
1307
|
|
|
720
1308
|
const fz = new ForgeZero({ project: 'altpilot', environment: 'production' });
|
|
721
1309
|
await fz.get('STRIPE_KEY');
|