@forgezero/agent 0.1.26 → 0.1.27

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/dist/index.d.ts CHANGED
@@ -27,6 +27,15 @@ export { DEFAULT_METAL_HELPER_SOCKET, requestMetalProvision, startMetalHelper }
27
27
  export { DEFAULT_LIFECYCLE_HELPER_SOCKET, executeLifecycleAction, loadLifecycleProfile, requestLifecycleAction, startLifecycleHelper, validateLifecycleProfile } from './lifecycle-helper';
28
28
  export type { LifecycleCommandResult, LifecycleExec, LifecycleProfile } from './lifecycle-helper';
29
29
  export { materializeWarpMdm, renderWarpMdm } from './warp-config';
30
+ export { compareVersions, restoreAgentRelease, selectAgentRelease, stageAgentRelease, validateAgentRelease, DEFAULT_AGENT_RELEASE_ROOT, DEFAULT_AGENT_UPDATE_SOCKET, MAX_AGENT_TARBALL_BYTES } from './agent-update';
31
+ export type { AgentRelease, StagedAgentRelease, UpdateCommand, UpdateCommandResult } from './agent-update';
32
+ export { activateAgentRelease, probeAgentSocket, requestAgentUpdate, startAgentUpdateHelper, AGENT_UPDATE_GROUP, AGENT_UPDATE_HELPER_UNIT_PATH, AGENT_UPDATE_RECEIPT } from './agent-update-helper';
33
+ export type { AgentUpdateRequest, AgentUpdateResponse } from './agent-update-helper';
34
+ export { DEFAULT_SOFTWARE_HELPER_SOCKET, requestSoftware, startSoftwareHelper, SOFTWARE_HELPER_GROUP, SOFTWARE_HELPER_UNIT_PATH } from './software-helper';
35
+ export { ensureSoftwareRequirements, observeSoftwareHost, validateSoftwareRequirements } from './software';
36
+ export type { SoftwareCommandResult, SoftwareExec, SoftwareObservation, SoftwareRequirement } from './software';
37
+ export { heartbeatAgentOnce, observeAgentHost, startAgentHeartbeat } from './agent-heartbeat';
38
+ export type { AgentHeartbeatOptions, AgentHeartbeatResponse, AgentObservation } from './agent-heartbeat';
30
39
  export { DEFAULT_DEPLOYMENT_RUNNER_SOCKET, requestDeploymentCommand, startDeploymentRunner } from './deployment-runner';
31
40
  export { createSnpAttestationSource } from './snp-attestation';
32
41
  export type { SnpAttestationOptions } from './snp-attestation';
@@ -45,6 +54,8 @@ export { assertSupportedGuestImage, SUPPORTED_GUEST_IMAGE } from './ubuntu';
45
54
  export declare function loadOrCreateSeed(path: string): Uint8Array;
46
55
  export interface AgentConfig {
47
56
  socketPath?: string;
57
+ /** systemd-owned listener fd; preserves the application endpoint across replacement. */
58
+ listenFd?: number;
48
59
  seedPath?: string;
49
60
  /** Prefer this already-unsealed systemd credential over a persistent file. */
50
61
  seedCredential?: string;
@@ -82,6 +93,8 @@ export declare const DEFAULT_SOCKET_PATH = "/run/forgezero/vault.sock";
82
93
  export declare const DEFAULT_SEED_PATH = "/var/lib/forgezero/node.seed";
83
94
  export declare const DEFAULT_SEED_CREDENTIAL = "agent-seed";
84
95
  export declare const DEFAULT_ENROLMENT_STATE_PATH = "/var/lib/forgezero/enrolment.json";
96
+ /** Resolve the one descriptor systemd passes for the application Vault socket. */
97
+ export declare function systemdListenFd(environment?: Record<string, string | undefined>, pid?: number): number | undefined;
85
98
  /**
86
99
  * Read a systemd credential made available only to this unit.
87
100
  *
@@ -127,12 +127,25 @@ export declare const DEPLOYMENT_GROUP = "forgezero-deploy";
127
127
  export declare const VAULT_GROUP = "forgezero-vault";
128
128
  export declare const LIFECYCLE_GROUP = "forgezero-lifecycle";
129
129
  export declare const DEPLOYMENT_RUNNER_UNIT_PATH = "/etc/systemd/system/forgezero-deploy-runner.service";
130
+ export declare const AGENT_SOCKET_UNIT_PATH = "/etc/systemd/system/forgezero-agent.socket";
130
131
  export declare const DEPLOYMENT_RUNNER_SOCKET = "/run/forgezero-deploy/runner.sock";
131
132
  export declare const ENROLMENT_UNIT_PATH = "/etc/systemd/system/forgezero-agent-enrol.service";
132
133
  export declare const LIFECYCLE_HELPER_UNIT_PATH = "/etc/systemd/system/forgezero-lifecycle-helper.service";
133
134
  export declare const LIFECYCLE_HELPER_SOCKET = "/run/forgezero-lifecycle/helper.sock";
134
135
  export declare const WARP_CONFIG_UNIT_PATH = "/etc/systemd/system/forgezero-warp-config.service";
135
136
  export declare const WARP_SERVICE_DROP_IN_PATH = "/etc/systemd/system/warp-svc.service.d/forgezero.conf";
137
+ /** Root may execute only package-owned OS strategies selected by id + version. */
138
+ export declare function softwareHelperUnit(options: Pick<UnitOptions, 'binPath'>): string;
139
+ /** Fixed root boundary for verified, health-gated Agent replacement. */
140
+ export declare function agentUpdateHelperUnit(options: Pick<UnitOptions, 'binPath'>): string;
141
+ /**
142
+ * PID 1 owns the stable application endpoint.
143
+ *
144
+ * New connections wait in the kernel while the credential-bearing Agent drains
145
+ * and a health-gated replacement starts. This is supervision, not a background
146
+ * terminal, and it works identically on platform and tenant computes.
147
+ */
148
+ export declare function agentSocketUnit(options: Pick<UnitOptions, 'socketPath'>): string;
136
149
  export declare function warpConfigUnit(options: Pick<UnitOptions, 'binPath' | 'warpOrganization' | 'warpClientIdCredentialPath' | 'warpClientSecretCredentialPath'>): string;
137
150
  export declare function warpServiceDropIn(): string;
138
151
  export declare function lifecycleHelperUnit(options: Pick<UnitOptions, 'binPath' | 'lifecycleProfilePath' | 'lifecycleHelperSocketPath'>): string;