@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.
@@ -1,5 +1,5 @@
1
- import { type PlatformBootstrapSecrets } from './bootstrap';
2
- import { type PlatformGenesisEnvironment } from './platform-genesis';
1
+ import { type PlatformBootstrapConfig, type PlatformBootstrapSecrets } from './bootstrap';
2
+ import { type PlatformGenesisGuest } from './platform-genesis';
3
3
  export interface OperatorSshHop {
4
4
  address: string;
5
5
  port: number;
@@ -21,7 +21,8 @@ export interface OperatorMetalBootstrapRequest {
21
21
  target: OperatorPlatformBootstrapRequest['target'];
22
22
  metalConfigFile: string;
23
23
  genesis: {
24
- environment: PlatformGenesisEnvironment;
24
+ nodes: readonly [PlatformGenesisGuest, PlatformGenesisGuest, PlatformGenesisGuest];
25
+ rehearsalNode?: PlatformGenesisGuest;
25
26
  sshPublicKeyFiles: string[];
26
27
  };
27
28
  }
@@ -33,7 +34,7 @@ export interface OperatorPlatformBootstrapFleetPlan {
33
34
  kind: 'platform-fleet-remote';
34
35
  mode: OperatorPlatformBootstrapMode;
35
36
  mutation: boolean;
36
- environment: PlatformGenesisEnvironment;
37
+ environment: PlatformBootstrapConfig['environment'];
37
38
  nodes: readonly {
38
39
  computeReference: string;
39
40
  address: string;
@@ -53,6 +54,17 @@ export interface OperatorPlatformBootstrapFleetResult {
53
54
  ok: boolean;
54
55
  outcomes: readonly OperatorPlatformBootstrapFleetOutcome[];
55
56
  }
57
+ export interface OperatorPlatformFleetCoordinates {
58
+ environment: PlatformBootstrapConfig['environment'];
59
+ appOrigin: string;
60
+ apiOrigin: string;
61
+ nodes: readonly {
62
+ computeReference: string;
63
+ address: string;
64
+ nodeHostname: string;
65
+ databaseRole: 'master' | 'joiner';
66
+ }[];
67
+ }
56
68
  export type OperatorPlatformBootstrapMode = 'apply' | 'status';
57
69
  export type OperatorMetalBootstrapMode = 'apply' | 'genesis' | 'rehearsal' | 'rehearsal-cleanup' | 'status';
58
70
  export interface OperatorPlatformBootstrapPlan {
@@ -105,6 +117,8 @@ export declare function readOperatorMetalBootstrapRequest(path: string): Operato
105
117
  export declare function writeOperatorMetalBootstrapRequest(path: string, request: OperatorMetalBootstrapRequest): string;
106
118
  export declare function planOperatorMetalBootstrap(request: OperatorMetalBootstrapRequest, mode: OperatorMetalBootstrapMode): OperatorMetalBootstrapPlan;
107
119
  export declare function planOperatorPlatformBootstrap(request: OperatorPlatformBootstrapRequest, mode: OperatorPlatformBootstrapMode): OperatorPlatformBootstrapPlan;
120
+ /** Exact non-secret coordinates derived from the same reviewed files bootstrap applies. */
121
+ export declare function operatorPlatformFleetCoordinates(fleet: OperatorPlatformBootstrapFleetRequest): OperatorPlatformFleetCoordinates;
108
122
  export declare function planOperatorPlatformFleetBootstrap(fleet: OperatorPlatformBootstrapFleetRequest, mode: OperatorPlatformBootstrapMode): OperatorPlatformBootstrapFleetPlan;
109
123
  /**
110
124
  * Run one reviewed operator action. No private SSH key, credential value or
@@ -125,6 +139,8 @@ export declare function applyOperatorPlatformBootstrap(request: OperatorPlatform
125
139
  export declare function applyOperatorPlatformFleetBootstrap(fleet: OperatorPlatformBootstrapFleetRequest, mode: OperatorPlatformBootstrapMode, options?: OperatorPlatformBootstrapOptions & {
126
140
  secrets?: PlatformBootstrapSecrets;
127
141
  }): Promise<OperatorPlatformBootstrapFleetResult>;
142
+ /** Run the fixed host acceptance operation through each request's pinned SSH identity. */
143
+ export declare function verifyOperatorPlatformFleet(fleet: OperatorPlatformBootstrapFleetRequest, expectedVersion: string, options?: OperatorPlatformBootstrapOptions): Promise<OperatorPlatformBootstrapFleetResult>;
128
144
  /**
129
145
  * Install/bootstrap one blank metal host or provision its exact three-node
130
146
  * platform seed through the same pinned SSH transport used for guest bootstrap.