@forgezero/agent 0.1.152 → 0.1.154

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.
@@ -262,7 +262,7 @@ function switchAgentSocketRoute(route, backend) {
262
262
  rmSync2(next, { force: true });
263
263
  }
264
264
  }
265
- function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 5000) {
265
+ function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 30000) {
266
266
  return new Promise((resolve2) => {
267
267
  let settled = false;
268
268
  let socket;
@@ -948,7 +948,7 @@ async function postSignedNode(options, path, body) {
948
948
  }
949
949
 
950
950
  // src/version.ts
951
- var VERSION3 = "0.1.152";
951
+ var VERSION3 = "0.1.154";
952
952
 
953
953
  // src/agent-heartbeat.ts
954
954
  function readAgentHostMetrics() {
@@ -262,7 +262,7 @@ function switchAgentSocketRoute(route, backend) {
262
262
  rmSync2(next, { force: true });
263
263
  }
264
264
  }
265
- function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 5000) {
265
+ function probeAgentCandidate(expected, socketPath = DEFAULT_AGENT_CANDIDATE_READY_SOCKET, timeoutMs = 30000) {
266
266
  return new Promise((resolve2) => {
267
267
  let settled = false;
268
268
  let socket;
package/dist/bootstrap.js CHANGED
@@ -1460,7 +1460,7 @@ var UPDATE_RETRY_BASE_MS = 5 * 60000;
1460
1460
  var UPDATE_RETRY_MAX_MS = 24 * 60 * 60000;
1461
1461
 
1462
1462
  // src/version.ts
1463
- var VERSION = "0.1.152";
1463
+ var VERSION = "0.1.154";
1464
1464
 
1465
1465
  // src/software.ts
1466
1466
  var PINNED_BUN_VERSION = "1.3.14";
@@ -63,6 +63,8 @@ export interface RunDeploymentPlanOptions {
63
63
  lock?: <T>(group: string, limit: number, run: () => Promise<T>) => Promise<T>;
64
64
  /** Control-plane placement filter; false records a deterministic skip. */
65
65
  shouldRun?: (step: PlannedStep) => boolean;
66
+ /** Emits each secret-free terminal record for durable control-plane progress. */
67
+ onStep?: (record: StepExecutionRecord) => Promise<void>;
66
68
  }
67
69
  export declare function runDeploymentPlan(options: RunDeploymentPlanOptions): Promise<PlanRunResult>;
68
70
  export {};
@@ -1493,6 +1493,7 @@ async function runDeploymentPlan(options) {
1493
1493
  const record = { id: step2.id, stage: stage.id, action: step2.uses, status: "skipped", attempts: 0, outputs: {}, changed: false };
1494
1494
  state.steps.set(step2.id, record);
1495
1495
  records.push(record);
1496
+ await options.onStep?.(record);
1496
1497
  }
1497
1498
  continue;
1498
1499
  }
@@ -1509,6 +1510,7 @@ async function runDeploymentPlan(options) {
1509
1510
  })();
1510
1511
  records.push(...stageRecords);
1511
1512
  for (const record of stageRecords) {
1513
+ await options.onStep?.(record);
1512
1514
  const step2 = stage.steps.find((candidate) => candidate.id === record.id);
1513
1515
  if (record.status === "succeeded")
1514
1516
  successful.push({ record, step: step2, stage });
@@ -64,6 +64,8 @@ export interface DeploymentRequest {
64
64
  connectivityCapabilities?: DeploymentConnectivityCapabilities;
65
65
  /** Server-owned alias to scoped Vault entry-name overrides. */
66
66
  credentialBindings?: Readonly<Record<string, string>>;
67
+ /** Claim-fenced control-plane progress sink; receives only redacted evidence. */
68
+ onProgress?: (execution: DeploymentExecution) => Promise<void>;
67
69
  }
68
70
  export interface DeploymentResult {
69
71
  key: string;