@groundnuty/macf-core 0.2.55 → 0.2.57

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.
@@ -193,6 +193,19 @@ export const ROLL_TOUCHED_CONFIG_PATTERNS = [
193
193
  '.claude/.macf/env.certs',
194
194
  '.claude/.macf/env.registry',
195
195
  '.claude/.macf/host-prelude.sh',
196
+ // `.mcp.json` (DR-022 Amendment P, groundnuty/macf#995) — `macf update`
197
+ // writes/merges the `macf-agent` key on every run (`mcp-json.ts
198
+ // ::writeMcpJsonChannelServer`), same as the other macf-managed files
199
+ // above; without this entry, a workspace whose `.mcp.json` is dirty right
200
+ // after the macf#995 retrofit reads as unexpected operator work at the
201
+ // pre-flight gate. NOT yet taught to `canonical-compute.ts`'s tier-first
202
+ // classifier (`classifyDirtyFile`) — a dirty `.mcp.json` falls through to
203
+ // its documented `genuine-delta` fail-safe default (OBJECTs the roll
204
+ // rather than auto-committing), never a false `already-canonical`. Safe
205
+ // but conservative; teaching the classifier `.mcp.json`'s merge-preserving
206
+ // shape (closer to `.claude/settings.json`'s classifier than a
207
+ // regenerate-from-scratch file) is a follow-up, not required for #995.
208
+ '.mcp.json',
196
209
  // (b) operator-evolution files that must NOT be silently stashed on relaunch
197
210
  // (macf#725 union half — `excludeConfigSurface` leaves these uncommitted):
198
211
  'CLAUDE.md',
@@ -250,20 +263,94 @@ async function waitForIdle(agent, opts, deps) {
250
263
  }
251
264
  /**
252
265
  * Classify a failed verify-green against the agent's PRE-upgrade running
253
- * version (macf#722 Fix A). `bad-release` requires POSITIVE confirmation that
254
- * the agent came back reachable at the OLD pin — everything else (never
255
- * reachable, or reachable at some other unrecognized version) is
256
- * `relaunch-unconfirmed`. Never infer `bad-release` from absence of success;
257
- * only from the last-seen version actually matching the old pin.
266
+ * version (macf#722 Fix A) — UNCHANGED precondition — then, ONLY when that
267
+ * precondition confirms `bad-release`, discriminate further against the
268
+ * agent's LAUNCH PIN (macf#899) before finalizing the diagnosis.
269
+ *
270
+ * ## The macf#722 Fix A precondition (UNCHANGED)
271
+ *
272
+ * `bad-release`-shaped confirmation requires POSITIVE proof that the agent
273
+ * came back reachable at the OLD pin — everything else (never reachable, or
274
+ * reachable at some other unrecognized version) stays `relaunch-unconfirmed`,
275
+ * exactly as before macf#899. Never infer a bad-release SHAPE from absence of
276
+ * success; only from the last-seen version actually matching the old pin.
277
+ * This half is deliberately untouched — macf#899's own author explicitly
278
+ * retracted an earlier proposal to touch `relaunch-unconfirmed`'s semantics.
279
+ *
280
+ * ## The macf#899 pin-discriminator (NEW)
281
+ *
282
+ * A "confirmed reachable at OLD version" agent used to be named
283
+ * `bad-release` unconditionally. The 0.2.56 roll (this issue's incident)
284
+ * showed that conflates two causes with OPPOSITE fleet-safety implications:
285
+ * a genuinely stuck/crash-looping release (cascading risk is real — HALT) vs
286
+ * a launcher that never asked for the target in the first place (a stale
287
+ * mounted-plugin pin, macf#889's exact failure shape — no cascading risk to
288
+ * any OTHER agent — skip and CONTINUE). The discriminator is
289
+ * `driver.readVersionPin(agent)` — the SAME mounted-manifest primitive
290
+ * `macf update`'s own post-write verification already reads (macf#889/#896)
291
+ * — compared against `targetVersion`:
292
+ *
293
+ * - `pin === targetVersion` → the launcher DID ask correctly → `bad-release`
294
+ * (unchanged terminal semantics, now positively cross-checked rather than
295
+ * assumed).
296
+ * - `pin !== targetVersion` (non-null) → `stale-pin` (NEW, non-terminal —
297
+ * `rollFleet` skips this agent and continues).
298
+ * - `pin === null` (mount undeterminable, manifest absent/malformed, or no
299
+ * channel-server pin present at all) → honest-unknown. NEITHER cause is
300
+ * evidenced. Per the issue's explicit constraint this must NOT silently
301
+ * become `stale-pin` (would skip an agent that might really be
302
+ * crash-looping — reintroducing the exact risk macf#722 Fix A closed for
303
+ * `relaunch-unconfirmed`) and must NOT silently masquerade as a
304
+ * fully-CONFIRMED `bad-release` either. **Judgment call** (documented in
305
+ * the implementation report): keep `reason: 'bad-release'` — i.e. preserve
306
+ * the PRE-macf#899 conservative default of halting, since an UNVERIFIED
307
+ * old-version confirmation carries the same cascading risk an unconfirmed
308
+ * one does — but the `detail` message says PLAINLY that the pin could not
309
+ * be read, so the reason string alone is never mistaken for a positively
310
+ * confirmed diagnosis, and the operator's remedy is "check the launch
311
+ * pin/mount," not "assume the release is broken."
258
312
  */
259
- function classifyHalt(green, oldVersion) {
260
- if (green.reason === 'wrong-version' &&
313
+ async function classifyHalt(green, oldVersion, targetVersion, agent, driver) {
314
+ const base = `verify-green ${green.reason} (last=${green.lastVersion ?? 'down'})`;
315
+ const confirmedOldVersion = green.reason === 'wrong-version' &&
261
316
  green.lastVersion !== null &&
262
317
  oldVersion !== null &&
263
- compareSemver(green.lastVersion, oldVersion) === 0) {
264
- return 'bad-release';
318
+ compareSemver(green.lastVersion, oldVersion) === 0;
319
+ if (!confirmedOldVersion) {
320
+ return { reason: 'relaunch-unconfirmed', detail: `relaunch-unconfirmed: ${base}` };
321
+ }
322
+ // macf#899 — POSITIVELY confirmed reachable-at-OLD-version. Read the
323
+ // agent's own launch pin before naming this a bad release.
324
+ const pin = await driver.readVersionPin(agent);
325
+ if (pin === null) {
326
+ return {
327
+ reason: 'bad-release',
328
+ detail: `bad-release: ${base} — UNVERIFIED (launch pin unreadable: mount undeterminable, ` +
329
+ `manifest absent/malformed, or no channel-server pin present) — NOT a confirmed bad ` +
330
+ `release; verify ${agent}'s claude.sh --plugin-dir mount + plugin.json pin BEFORE ` +
331
+ `assuming the ${targetVersion} release itself is broken. Halting conservatively.`,
332
+ pin: null,
333
+ };
334
+ }
335
+ if (compareSemver(pin, targetVersion) === 0) {
336
+ return {
337
+ reason: 'bad-release',
338
+ detail: `bad-release: ${base} — CONFIRMED (launch pin @${pin} already matches target ` +
339
+ `@${targetVersion}; the process is stuck/crash-looping on the old version despite ` +
340
+ `asking for the right one). Remedy: investigate ${agent}'s release/process, not its ` +
341
+ `launch config.`,
342
+ pin,
343
+ };
265
344
  }
266
- return 'relaunch-unconfirmed';
345
+ return {
346
+ reason: 'stale-pin',
347
+ detail: `stale-pin: ${base} — launch pin @${pin} != target @${targetVersion}; the LAUNCHER ` +
348
+ `never asked for the upgrade (a stale --plugin-dir mount / manifest pin), not a bad ` +
349
+ `release. Remedy: fix ${agent}'s launch pin (e.g. re-run \`macf update\` against its ` +
350
+ `mounted plugin dir), then re-roll it — the fleet roll CONTINUES to the next agent; a ` +
351
+ `stale pin on one workspace endangers no other agent.`,
352
+ pin,
353
+ };
267
354
  }
268
355
  /**
269
356
  * Build the agent-directed OBJECT message for a config-dirty pre-flight skip
@@ -363,6 +450,7 @@ export async function rollFleet(plans, opts, deps) {
363
450
  let configDirtySkipped = 0;
364
451
  let configAutoResolved = 0;
365
452
  let branchSkipped = 0;
453
+ let stalePinSkipped = 0;
366
454
  for (const plan of plans) {
367
455
  if (plan.disposition !== 'behind')
368
456
  continue;
@@ -471,14 +559,57 @@ export async function rollFleet(plans, opts, deps) {
471
559
  // agent back to normal watchdog reconciliation immediately.
472
560
  stopHeartbeat();
473
561
  await deps.driver.releaseLock(agent);
562
+ // DR-043 §D6 write-back (macf#907) — AFTER the lock release, not
563
+ // inside the transaction above: the agent IS confirmed upgraded
564
+ // regardless of whether this bookkeeping write succeeds, so it must
565
+ // not hold the maintenance lock hostage for a clone+commit round-trip,
566
+ // and a failure here must not retract the `'upgraded'` outcome above
567
+ // or halt the roll — see `RollFleetDeps.recordDeployedVersion`'s doc.
568
+ if (deps.recordDeployedVersion) {
569
+ try {
570
+ await deps.recordDeployedVersion(agent, plan.fleet, green.version);
571
+ }
572
+ catch (err) {
573
+ deps.onEvent?.({
574
+ kind: 'lock-write-failed',
575
+ agent,
576
+ version: green.version,
577
+ error: err instanceof Error ? err.message : String(err),
578
+ });
579
+ }
580
+ }
581
+ continue;
582
+ }
583
+ const classification = await classifyHalt(green, plan.runningVersion, opts.targetVersion, agent, deps.driver);
584
+ const { reason, detail } = classification;
585
+ if (reason === 'stale-pin') {
586
+ // macf#899 — SAFE TO CONTINUE despite the agent having been mutated
587
+ // (upgrade + restart already ran): the post-restart old-version state
588
+ // is explained by a stale LAUNCH pin, not a bad release, and a stale
589
+ // pin on ONE workspace endangers no OTHER agent — unlike `bad-release`,
590
+ // where the release itself might be broken and must not cascade. Leave
591
+ // the maintenance lock in place (DR-040 Decision 3 — "release ONLY on
592
+ // confirmed clean success"; this agent is NOT confirmed clean): a
593
+ // still-old, mid-transition agent should not be handed straight back to
594
+ // the watchdog's healing ladder either. Only the heartbeat stops here;
595
+ // the lock self-clears via MAINT_LOCK_TTL, same as a genuine halt.
596
+ stalePinSkipped += 1;
597
+ results.push({
598
+ agent,
599
+ outcome: 'stale-pin-skipped',
600
+ reason,
601
+ detail,
602
+ ...(autoResolvedFiles ? { autoResolvedFiles } : {}),
603
+ });
604
+ deps.onEvent?.({ kind: 'stale-pin-skip', agent, pin: classification.pin, target: opts.targetVersion });
605
+ stopHeartbeat();
474
606
  continue;
475
607
  }
476
- const reason = classifyHalt(green, plan.runningVersion);
477
608
  results.push({
478
609
  agent,
479
610
  outcome: 'halted',
480
611
  reason,
481
- detail: `${reason}: verify-green ${green.reason} (last=${green.lastVersion ?? 'down'})`,
612
+ detail,
482
613
  ...(autoResolvedFiles ? { autoResolvedFiles } : {}),
483
614
  });
484
615
  deps.onEvent?.({ kind: 'halt', agent, reason, lastVersion: green.lastVersion });
@@ -491,9 +622,27 @@ export async function rollFleet(plans, opts, deps) {
491
622
  // (MAINT_LOCK_TTL), giving the operator a bounded grace window to
492
623
  // inspect the halted roll before the watchdog resumes automatic action.
493
624
  stopHeartbeat();
494
- return { results, halted: true, upgraded, busySkipped, configDirtySkipped, configAutoResolved, branchSkipped };
625
+ return {
626
+ results,
627
+ halted: true,
628
+ upgraded,
629
+ busySkipped,
630
+ configDirtySkipped,
631
+ configAutoResolved,
632
+ branchSkipped,
633
+ stalePinSkipped,
634
+ };
495
635
  }
496
- return { results, halted: false, upgraded, busySkipped, configDirtySkipped, configAutoResolved, branchSkipped };
636
+ return {
637
+ results,
638
+ halted: false,
639
+ upgraded,
640
+ busySkipped,
641
+ configDirtySkipped,
642
+ configAutoResolved,
643
+ branchSkipped,
644
+ stalePinSkipped,
645
+ };
497
646
  }
498
647
  /**
499
648
  * Orchestrate a rolling upgrade across the ORDERED `fleets` (PROJECT
@@ -530,6 +679,7 @@ export async function upgradeFleets(fleets, opts, deps) {
530
679
  sleep: deps.sleep,
531
680
  now: deps.now,
532
681
  onEvent: deps.onEvent,
682
+ recordDeployedVersion: deps.recordDeployedVersion,
533
683
  });
534
684
  reports.push({ fleet, plans, rolled });
535
685
  if (rolled.halted) {
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-upgrade.js","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-upgrade.js","sourceRoot":"","sources":["../src/fleet-upgrade.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -29,6 +29,7 @@ export * from './guest.js';
29
29
  export * from './norm.js';
30
30
  export * from './protected-invariant-norms.js';
31
31
  export * from './mtls-health-ping.js';
32
+ export * from './trust-bundle.js';
32
33
  export * from './certs/index.js';
33
34
  export * from './registry/index.js';
34
35
  export * from './delivery/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAIpC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAIpC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -29,6 +29,7 @@ export * from './guest.js';
29
29
  export * from './norm.js';
30
30
  export * from './protected-invariant-norms.js';
31
31
  export * from './mtls-health-ping.js';
32
+ export * from './trust-bundle.js';
32
33
  export * from './certs/index.js';
33
34
  export * from './registry/index.js';
34
35
  export * from './delivery/index.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,kEAAkE;AAClE,oEAAoE;AACpE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,kEAAkE;AAClE,oEAAoE;AACpE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../src/registry/github-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAwBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,qBAAqB,CA8GvB"}
1
+ {"version":3,"file":"github-client.d.ts","sourceRoot":"","sources":["../../src/registry/github-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK5C;AAoDD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,qBAAqB,CA8GvB"}
@@ -15,6 +15,30 @@ function headers(token) {
15
15
  'X-GitHub-Api-Version': '2022-11-28',
16
16
  };
17
17
  }
18
+ /**
19
+ * WHY (macf#959): node's built-in `fetch` (undici) throws a bare
20
+ * `TypeError: fetch failed` on any network-level failure (DNS, connection
21
+ * refused, TLS, timeout) — no HTTP response is ever received, so the
22
+ * `res.ok` checks below never run and this class of failure was
23
+ * previously unwrapped: it reached the CLI's top-level catch-all
24
+ * (`index.ts`) as literally "Error: fetch failed" — no API name, no
25
+ * operation, indistinguishable at a glance from a local config problem.
26
+ * Wrap every call so a network-level failure is attributed the same way
27
+ * an HTTP-status failure already is via GitHubApiError. Status `0` marks
28
+ * "no HTTP response was received" (never a real GitHub status code), so
29
+ * existing status-comparisons (e.g. macf-channel-server's
30
+ * refresh-aware-client checking `err.status === 401`) safely fall through
31
+ * instead of misreading a network outage as an auth failure.
32
+ */
33
+ async function fetchOrThrow(url, init, operation) {
34
+ try {
35
+ return await fetch(url, init);
36
+ }
37
+ catch (err) {
38
+ const cause = err instanceof Error ? err.message : String(err);
39
+ throw new GitHubApiError(0, `unreachable — could not ${operation} (network error: ${cause})`);
40
+ }
41
+ }
18
42
  /**
19
43
  * Creates a GitHub Variables API client for a given URL path prefix.
20
44
  *
@@ -32,20 +56,20 @@ export function createGitHubClient(pathPrefix, token) {
32
56
  return {
33
57
  async writeVariable(name, value) {
34
58
  // Try PATCH (update) first
35
- const patchRes = await fetch(`${baseUrl}/${encodeName(name)}`, {
59
+ const patchRes = await fetchOrThrow(`${baseUrl}/${encodeName(name)}`, {
36
60
  method: 'PATCH',
37
61
  headers: { ...headers(token), 'Content-Type': 'application/json' },
38
62
  body: JSON.stringify({ value }),
39
- });
63
+ }, `update variable ${name}`);
40
64
  if (patchRes.ok)
41
65
  return;
42
66
  // Variable doesn't exist yet — create with POST
43
67
  if (patchRes.status === 404) {
44
- const postRes = await fetch(baseUrl, {
68
+ const postRes = await fetchOrThrow(baseUrl, {
45
69
  method: 'POST',
46
70
  headers: { ...headers(token), 'Content-Type': 'application/json' },
47
71
  body: JSON.stringify({ name, value }),
48
- });
72
+ }, `create variable ${name}`);
49
73
  if (postRes.ok)
50
74
  return;
51
75
  throw new GitHubApiError(postRes.status, `Failed to create variable ${name}: ${await postRes.text()}`);
@@ -53,10 +77,10 @@ export function createGitHubClient(pathPrefix, token) {
53
77
  throw new GitHubApiError(patchRes.status, `Failed to update variable ${name}: ${await patchRes.text()}`);
54
78
  },
55
79
  async readVariable(name) {
56
- const res = await fetch(`${baseUrl}/${encodeName(name)}`, {
80
+ const res = await fetchOrThrow(`${baseUrl}/${encodeName(name)}`, {
57
81
  method: 'GET',
58
82
  headers: headers(token),
59
- });
83
+ }, `read variable ${name}`);
60
84
  if (res.status === 404)
61
85
  return null;
62
86
  if (!res.ok) {
@@ -71,10 +95,10 @@ export function createGitHubClient(pathPrefix, token) {
71
95
  const perPage = 30;
72
96
  // Paginate through all variables
73
97
  for (;;) {
74
- const res = await fetch(`${baseUrl}?per_page=${perPage}&page=${page}`, {
98
+ const res = await fetchOrThrow(`${baseUrl}?per_page=${perPage}&page=${page}`, {
75
99
  method: 'GET',
76
100
  headers: headers(token),
77
- });
101
+ }, 'list variables');
78
102
  if (!res.ok) {
79
103
  throw new GitHubApiError(res.status, `Failed to list variables: ${await res.text()}`);
80
104
  }
@@ -90,10 +114,10 @@ export function createGitHubClient(pathPrefix, token) {
90
114
  return results;
91
115
  },
92
116
  async deleteVariable(name) {
93
- const res = await fetch(`${baseUrl}/${encodeName(name)}`, {
117
+ const res = await fetchOrThrow(`${baseUrl}/${encodeName(name)}`, {
94
118
  method: 'DELETE',
95
119
  headers: headers(token),
96
- });
120
+ }, `delete variable ${name}`);
97
121
  // 204 = deleted, 404 = already gone — both OK
98
122
  if (res.status === 204 || res.status === 404)
99
123
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"github-client.js","sourceRoot":"","sources":["../../src/registry/github-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-client.js","sourceRoot":"","sources":["../../src/registry/github-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { MacfError } from './errors.js';
2
+ import type { GitHubVariablesClient } from './registry/types.js';
3
+ import type { Logger } from './types.js';
4
+ /** Raised when a declared `federated_cas` entry cannot be resolved to a CA PEM. */
5
+ export declare class TrustBundleError extends MacfError {
6
+ constructor(message: string);
7
+ }
8
+ /**
9
+ * Read `<workspaceDir>/.github/macf-fleet.json` and return the declared
10
+ * `federated_cas` project list. Pure file-IO + parse — no network.
11
+ *
12
+ * Degrades to `[]` (i.e. "no federation") on every "the file doesn't clearly
13
+ * express federation intent" case: no workspaceDir, absent file, unparseable
14
+ * JSON, or a schema violation. This is the SAFE default for a trust-boundary
15
+ * config — an empty bundle-addition means "trust only my own CA," which is
16
+ * strictly MORE conservative than the pre-#784 behavior, never less. This
17
+ * mirrors `fleet-guests.ts`'s `loadGuestBindings` loud-but-degrade posture
18
+ * for the same file. Contrast with `resolveFederatedCaBundle` below, which
19
+ * FAILS LOUD once a project is unambiguously *declared* — degrading there
20
+ * would silently narrow an operator's explicit trust intent.
21
+ */
22
+ export declare function loadFederatedCaProjects(workspaceDir: string | undefined, logger: Logger): readonly string[];
23
+ /**
24
+ * Resolve `federatedProjects` to their `<PROJECT>_CA_CERT` shared-registry
25
+ * variables and concatenate them onto `ownCaCertPem`, producing the final
26
+ * trust-bundle PEM string threaded to all three mTLS-configuring sites
27
+ * (`https.ts` inbound, `a2a-client.ts` + `notify-peer.ts` outbound).
28
+ *
29
+ * Empty `federatedProjects` short-circuits to `ownCaCertPem` UNCHANGED — the
30
+ * exact pre-#784 single-CA value, byte-for-byte — so the zero-federation
31
+ * path has no observable difference from before this feature existed.
32
+ *
33
+ * THROWS `TrustBundleError` (never returns a partial bundle) when:
34
+ * - `federatedProjects` is non-empty but `varsClient` is `undefined` (this
35
+ * agent's registry is DR-024 local-mode, which has no shared-registry
36
+ * variable to resolve a foreign project's CA from); or
37
+ * - any declared project's `<PROJECT>_CA_CERT` variable read fails
38
+ * (network/auth error) or resolves to `null`/empty (variable absent).
39
+ *
40
+ * Exported standalone (no file IO) so tests can exercise every resolution
41
+ * outcome — success, missing-var, read-error, local-mode-with-federation —
42
+ * without needing a real `.github/macf-fleet.json` fixture.
43
+ */
44
+ export declare function resolveFederatedCaBundle(ownCaCertPem: string, federatedProjects: readonly string[], varsClient: GitHubVariablesClient | undefined, logger: Logger): Promise<string>;
45
+ /**
46
+ * Full orchestration: load `federated_cas` from the workspace's
47
+ * `.github/macf-fleet.json` (degrade-to-`[]` on absent/malformed — safe
48
+ * default), then resolve + concatenate into the final trust-bundle PEM
49
+ * (fail-loud on an unresolvable DECLARED project — see module doc). This is
50
+ * the single call `server.ts` makes at startup; its result is threaded
51
+ * unchanged to `createHttpsServer`'s `caBundlePem`, `A2aClient`'s
52
+ * `caCertPem`, and `notifyDispatchDeps.caCertPem`.
53
+ */
54
+ export declare function buildTrustBundlePem(deps: {
55
+ readonly workspaceDir: string | undefined;
56
+ readonly ownCaCertPem: string;
57
+ readonly varsClient: GitHubVariablesClient | undefined;
58
+ readonly logger: Logger;
59
+ }): Promise<string>;
60
+ /**
61
+ * DR-041 Amendment B (federation-aware guest probe, groundnuty/macf#794):
62
+ * resolve the CA bundle to use when probing ONE specific cross-fleet guest's
63
+ * `/health` endpoint.
64
+ *
65
+ * If `homeProject` is a DECLARED `federated_cas` entry, returns `ownCaCertPem`
66
+ * plus JUST that project's federated CA — a MINIMAL, single-project bundle,
67
+ * deliberately narrower than `resolveFederatedCaBundle`'s "all declared
68
+ * projects" bundle. A resolution failure (missing/unreadable CA variable) for
69
+ * some OTHER federated project must never block probing THIS guest — each
70
+ * guest probe is isolated from every other federated project's health.
71
+ *
72
+ * If `homeProject` is NOT declared in `federatedCaProjects`, returns
73
+ * `ownCaCertPem` UNCHANGED — byte-for-byte the pre-#794 behavior (probe with
74
+ * the own CA only). This preserves both pre-existing outcomes for a
75
+ * non-federated guest: a "shared-operator" guest signed by the SAME CA still
76
+ * verifies + reads online; a genuinely-foreign-CA guest still fails the TLS
77
+ * handshake + reads offline (see `fleet-guests.ts` module doc, path B1).
78
+ *
79
+ * Callers that want the security-critical fail-loud behavior for an
80
+ * unresolvable DECLARED project (e.g. an interactive `macf-ping` command)
81
+ * should let the thrown `TrustBundleError` propagate. Callers that isolate
82
+ * per-guest probe failures (e.g. `resolveGuestStatus`'s
83
+ * `.catch(() => null)`) get the existing degrade-to-offline behavior with no
84
+ * extra code — a misconfigured federated guest simply reads offline, same as
85
+ * a genuinely-down one.
86
+ */
87
+ export declare function resolveGuestProbeCaBundle(ownCaCertPem: string, homeProject: string, federatedCaProjects: readonly string[], varsClient: GitHubVariablesClient | undefined, logger: Logger): Promise<string>;
88
+ //# sourceMappingURL=trust-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-bundle.d.ts","sourceRoot":"","sources":["../src/trust-bundle.ts"],"names":[],"mappings":"AA+CA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,mFAAmF;AACnF,qBAAa,gBAAiB,SAAQ,SAAS;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,GACb,SAAS,MAAM,EAAE,CAyBnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,UAAU,EAAE,qBAAqB,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,SAAS,MAAM,EAAE,EACtC,UAAU,EAAE,qBAAqB,GAAG,SAAS,EAC7C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAKjB"}