patchwork-os 0.2.0-beta.10 → 0.2.0-beta.10.canary.101

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.
Files changed (151) hide show
  1. package/dist/bridge.js +17 -10
  2. package/dist/bridge.js.map +1 -1
  3. package/dist/commands/connect.d.ts +47 -0
  4. package/dist/commands/connect.js +419 -0
  5. package/dist/commands/connect.js.map +1 -0
  6. package/dist/commands/recipe.d.ts +45 -4
  7. package/dist/commands/recipe.js +141 -4
  8. package/dist/commands/recipe.js.map +1 -1
  9. package/dist/commands/task.d.ts +25 -0
  10. package/dist/commands/task.js +61 -41
  11. package/dist/commands/task.js.map +1 -1
  12. package/dist/commands/tracesExport.d.ts +15 -1
  13. package/dist/commands/tracesExport.js +39 -5
  14. package/dist/commands/tracesExport.js.map +1 -1
  15. package/dist/connectorRoutes.js +556 -0
  16. package/dist/connectorRoutes.js.map +1 -1
  17. package/dist/connectors/connectorRegistry.d.ts +0 -3
  18. package/dist/connectors/connectorRegistry.js +8 -8
  19. package/dist/connectors/connectorRegistry.js.map +1 -1
  20. package/dist/connectors/datadog.js +8 -1
  21. package/dist/connectors/datadog.js.map +1 -1
  22. package/dist/connectors/jira.js +7 -2
  23. package/dist/connectors/jira.js.map +1 -1
  24. package/dist/connectors/mcpClient.js +37 -23
  25. package/dist/connectors/mcpClient.js.map +1 -1
  26. package/dist/connectors/notion.d.ts +1 -1
  27. package/dist/connectors/notion.js +13 -4
  28. package/dist/connectors/notion.js.map +1 -1
  29. package/dist/connectors/redis.js +10 -2
  30. package/dist/connectors/redis.js.map +1 -1
  31. package/dist/connectors/snowflake.js +18 -0
  32. package/dist/connectors/snowflake.js.map +1 -1
  33. package/dist/decisionReplay.d.ts +8 -6
  34. package/dist/decisionReplay.js +35 -11
  35. package/dist/decisionReplay.js.map +1 -1
  36. package/dist/drivers/claude/api.js +28 -5
  37. package/dist/drivers/claude/api.js.map +1 -1
  38. package/dist/drivers/claude/subprocess.js +47 -13
  39. package/dist/drivers/claude/subprocess.js.map +1 -1
  40. package/dist/drivers/local/index.d.ts +2 -17
  41. package/dist/drivers/local/index.js +5 -92
  42. package/dist/drivers/local/index.js.map +1 -1
  43. package/dist/fp/automationInterpreter.js +57 -12
  44. package/dist/fp/automationInterpreter.js.map +1 -1
  45. package/dist/fp/policyParser.js +5 -1
  46. package/dist/fp/policyParser.js.map +1 -1
  47. package/dist/index.js +154 -83
  48. package/dist/index.js.map +1 -1
  49. package/dist/localEndpointGuard.d.ts +25 -0
  50. package/dist/localEndpointGuard.js +101 -0
  51. package/dist/localEndpointGuard.js.map +1 -0
  52. package/dist/orchestrator/childBridgeClient.d.ts +5 -0
  53. package/dist/orchestrator/childBridgeClient.js +28 -1
  54. package/dist/orchestrator/childBridgeClient.js.map +1 -1
  55. package/dist/orchestrator/orchestratorBridge.d.ts +33 -0
  56. package/dist/orchestrator/orchestratorBridge.js +70 -9
  57. package/dist/orchestrator/orchestratorBridge.js.map +1 -1
  58. package/dist/recipes/chainedRunner.js +14 -4
  59. package/dist/recipes/chainedRunner.js.map +1 -1
  60. package/dist/recipes/compiler.js +9 -5
  61. package/dist/recipes/compiler.js.map +1 -1
  62. package/dist/recipes/dependencyGraph.d.ts +9 -0
  63. package/dist/recipes/dependencyGraph.js +19 -2
  64. package/dist/recipes/dependencyGraph.js.map +1 -1
  65. package/dist/recipes/githubInstallSource.d.ts +9 -2
  66. package/dist/recipes/githubInstallSource.js +36 -6
  67. package/dist/recipes/githubInstallSource.js.map +1 -1
  68. package/dist/recipes/idempotencyKey.d.ts +23 -3
  69. package/dist/recipes/idempotencyKey.js +57 -4
  70. package/dist/recipes/idempotencyKey.js.map +1 -1
  71. package/dist/recipes/installer.js +10 -1
  72. package/dist/recipes/installer.js.map +1 -1
  73. package/dist/recipes/parser.js +28 -1
  74. package/dist/recipes/parser.js.map +1 -1
  75. package/dist/recipes/schema.d.ts +29 -2
  76. package/dist/recipes/schemaGenerator.js +16 -2
  77. package/dist/recipes/schemaGenerator.js.map +1 -1
  78. package/dist/recipes/toolRegistry.js +13 -4
  79. package/dist/recipes/toolRegistry.js.map +1 -1
  80. package/dist/recipes/tools/airtable.d.ts +15 -0
  81. package/dist/recipes/tools/airtable.js +239 -0
  82. package/dist/recipes/tools/airtable.js.map +1 -0
  83. package/dist/recipes/tools/circleci.d.ts +10 -0
  84. package/dist/recipes/tools/circleci.js +203 -0
  85. package/dist/recipes/tools/circleci.js.map +1 -0
  86. package/dist/recipes/tools/grafana.d.ts +11 -0
  87. package/dist/recipes/tools/grafana.js +215 -0
  88. package/dist/recipes/tools/grafana.js.map +1 -0
  89. package/dist/recipes/tools/index.d.ts +11 -0
  90. package/dist/recipes/tools/index.js +11 -0
  91. package/dist/recipes/tools/index.js.map +1 -1
  92. package/dist/recipes/tools/pipedrive.d.ts +16 -0
  93. package/dist/recipes/tools/pipedrive.js +233 -0
  94. package/dist/recipes/tools/pipedrive.js.map +1 -0
  95. package/dist/recipes/tools/posthog.d.ts +16 -0
  96. package/dist/recipes/tools/posthog.js +218 -0
  97. package/dist/recipes/tools/posthog.js.map +1 -0
  98. package/dist/recipes/tools/resend.d.ts +8 -0
  99. package/dist/recipes/tools/resend.js +152 -0
  100. package/dist/recipes/tools/resend.js.map +1 -0
  101. package/dist/recipes/tools/sendgrid.d.ts +9 -0
  102. package/dist/recipes/tools/sendgrid.js +174 -0
  103. package/dist/recipes/tools/sendgrid.js.map +1 -0
  104. package/dist/recipes/tools/shopify.d.ts +16 -0
  105. package/dist/recipes/tools/shopify.js +265 -0
  106. package/dist/recipes/tools/shopify.js.map +1 -0
  107. package/dist/recipes/tools/todoist.d.ts +15 -0
  108. package/dist/recipes/tools/todoist.js +227 -0
  109. package/dist/recipes/tools/todoist.js.map +1 -0
  110. package/dist/recipes/tools/twilio.d.ts +11 -0
  111. package/dist/recipes/tools/twilio.js +179 -0
  112. package/dist/recipes/tools/twilio.js.map +1 -0
  113. package/dist/recipes/tools/vercel.d.ts +9 -0
  114. package/dist/recipes/tools/vercel.js +145 -0
  115. package/dist/recipes/tools/vercel.js.map +1 -0
  116. package/dist/recipes/validation.js +112 -0
  117. package/dist/recipes/validation.js.map +1 -1
  118. package/dist/recipes/yamlRunner.d.ts +3 -0
  119. package/dist/recipes/yamlRunner.js +112 -29
  120. package/dist/recipes/yamlRunner.js.map +1 -1
  121. package/dist/schemas/recipe.v1.json +2 -2
  122. package/dist/telemetry.js +20 -9
  123. package/dist/telemetry.js.map +1 -1
  124. package/dist/tools/getGitStatus.js +6 -1
  125. package/dist/tools/getGitStatus.js.map +1 -1
  126. package/dist/tools/getToolCapabilities.js +39 -4
  127. package/dist/tools/getToolCapabilities.js.map +1 -1
  128. package/dist/tools/github/composite.d.ts +1 -1
  129. package/dist/tools/github/composite.js +7 -7
  130. package/dist/tools/github/composite.js.map +1 -1
  131. package/dist/tools/github/pr.d.ts +6 -6
  132. package/dist/tools/github/pr.js +18 -11
  133. package/dist/tools/github/pr.js.map +1 -1
  134. package/dist/tools/index.js +14 -10
  135. package/dist/tools/index.js.map +1 -1
  136. package/dist/tools/previewEdit.js +16 -1
  137. package/dist/tools/previewEdit.js.map +1 -1
  138. package/dist/tools/searchAndReplace.js +4 -5
  139. package/dist/tools/searchAndReplace.js.map +1 -1
  140. package/dist/tools/searchTools.d.ts +26 -0
  141. package/dist/tools/searchTools.js +42 -2
  142. package/dist/tools/searchTools.js.map +1 -1
  143. package/dist/tools/transaction.d.ts +9 -1
  144. package/dist/tools/transaction.js +59 -4
  145. package/dist/tools/transaction.js.map +1 -1
  146. package/dist/tools/utils.d.ts +15 -0
  147. package/dist/tools/utils.js +19 -0
  148. package/dist/tools/utils.js.map +1 -1
  149. package/dist/transport.js +23 -0
  150. package/dist/transport.js.map +1 -1
  151. package/package.json +1 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared anti-SSRF guard for the "local" model driver / adapter.
3
+ *
4
+ * The local driver streams the user prompt + context-file paths to whatever
5
+ * URL is configured as the local endpoint. If a malicious recipe (or a user
6
+ * pasting a phishy "free local LLM" link) sets the endpoint to
7
+ * `https://attacker/v1`, everything the local driver receives gets
8
+ * exfiltrated.
9
+ *
10
+ * Two call sites share this predicate:
11
+ * - `LocalApiDriver` (src/drivers/local/index.ts) — env-var `LOCAL_ENDPOINT`.
12
+ * - `defaultLocalFn` (src/recipes/yamlRunner.ts) — dashboard/config-controlled
13
+ * `localEndpoint` for `driver: local` recipe agent steps.
14
+ *
15
+ * Rule: hostname must be one of
16
+ * - localhost / 127.0.0.1 / ::1
17
+ * - RFC1918 private space (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
18
+ * - link-local (169.254.0.0/16, fe80::/10)
19
+ * - unique-local IPv6 (fc00::/7)
20
+ * - .local mDNS / .lan / .home / .internal suffixes (single-label form only)
21
+ *
22
+ * To opt out (e.g. authorized remote inference cluster), the operator can
23
+ * set LOCAL_ENDPOINT_ALLOW_REMOTE=1 — explicit override, audited via env.
24
+ */
25
+ export declare function isLoopbackOrPrivateEndpoint(rawUrl: string): boolean;
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Shared anti-SSRF guard for the "local" model driver / adapter.
3
+ *
4
+ * The local driver streams the user prompt + context-file paths to whatever
5
+ * URL is configured as the local endpoint. If a malicious recipe (or a user
6
+ * pasting a phishy "free local LLM" link) sets the endpoint to
7
+ * `https://attacker/v1`, everything the local driver receives gets
8
+ * exfiltrated.
9
+ *
10
+ * Two call sites share this predicate:
11
+ * - `LocalApiDriver` (src/drivers/local/index.ts) — env-var `LOCAL_ENDPOINT`.
12
+ * - `defaultLocalFn` (src/recipes/yamlRunner.ts) — dashboard/config-controlled
13
+ * `localEndpoint` for `driver: local` recipe agent steps.
14
+ *
15
+ * Rule: hostname must be one of
16
+ * - localhost / 127.0.0.1 / ::1
17
+ * - RFC1918 private space (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
18
+ * - link-local (169.254.0.0/16, fe80::/10)
19
+ * - unique-local IPv6 (fc00::/7)
20
+ * - .local mDNS / .lan / .home / .internal suffixes (single-label form only)
21
+ *
22
+ * To opt out (e.g. authorized remote inference cluster), the operator can
23
+ * set LOCAL_ENDPOINT_ALLOW_REMOTE=1 — explicit override, audited via env.
24
+ */
25
+ export function isLoopbackOrPrivateEndpoint(rawUrl) {
26
+ let host;
27
+ let wasBracketed = false;
28
+ try {
29
+ host = new URL(rawUrl).hostname.toLowerCase();
30
+ }
31
+ catch {
32
+ return false;
33
+ }
34
+ if (!host)
35
+ return false;
36
+ // Strip IPv6 brackets if any
37
+ if (host.startsWith("[") && host.endsWith("]")) {
38
+ host = host.slice(1, -1);
39
+ wasBracketed = true;
40
+ }
41
+ if (host === "localhost" || host === "127.0.0.1" || host === "::1") {
42
+ return true;
43
+ }
44
+ // IPv4 RFC1918 + link-local + 127/8 (check first — strict literal match)
45
+ const v4 = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
46
+ if (v4) {
47
+ const a = Number(v4[1]);
48
+ const b = Number(v4[2]);
49
+ if (a === 10)
50
+ return true;
51
+ if (a === 127)
52
+ return true;
53
+ if (a === 169 && b === 254)
54
+ return true;
55
+ if (a === 172 && b >= 16 && b <= 31)
56
+ return true;
57
+ if (a === 192 && b === 168)
58
+ return true;
59
+ return false;
60
+ }
61
+ // IPv6 ranges — only when the input looked like an IPv6 literal (was
62
+ // bracketed in the URL, or matches an IPv6 syntactic shape). Without this
63
+ // gate, a hostname like `fc-services.example.com` or `fe8a-test` would
64
+ // match the legacy `startsWith("fc")` / `startsWith("fe8")` checks and
65
+ // bypass the validator. RFC3986 allows IPv6 literals only inside `[…]`,
66
+ // so requiring the brackets is the conservative path.
67
+ if (wasBracketed || /^[0-9a-f:]+$/.test(host)) {
68
+ if (host.startsWith("fe8") ||
69
+ host.startsWith("fe9") ||
70
+ host.startsWith("fea") ||
71
+ host.startsWith("feb")) {
72
+ return true; // link-local fe80::/10
73
+ }
74
+ if (host.startsWith("fc") || host.startsWith("fd")) {
75
+ return true; // unique-local fc00::/7
76
+ }
77
+ }
78
+ // mDNS / common LAN suffixes — checked LAST and require a leading dot
79
+ // boundary so attacker-registered public domains like `evil.com.local`
80
+ // don't slip through (`.local` and `.lan` are not reserved TLDs at the
81
+ // DNS resolver level — only RFC6762 reserves them for mDNS, but public
82
+ // resolvers will happily look them up).
83
+ //
84
+ // The trade-off: a host literally named `printer.local` (single label
85
+ // before `.local`) is the legitimate mDNS form and matches; a host like
86
+ // `evil.com.local` (two-or-more labels before `.local`) is only the
87
+ // mDNS form by accident and is the bypass we're rejecting.
88
+ for (const suffix of [".local", ".lan", ".home", ".internal"]) {
89
+ if (host.endsWith(suffix)) {
90
+ const labels = host.split(".");
91
+ // 2 labels exactly: `<name>.local` — legitimate mDNS shape.
92
+ if (labels.length === 2)
93
+ return true;
94
+ // More labels: ambiguous — refuse by default. Operator can opt out
95
+ // via LOCAL_ENDPOINT_ALLOW_REMOTE for legitimate multi-label
96
+ // internal DNS zones (e.g. `service.team.internal`).
97
+ }
98
+ }
99
+ return false;
100
+ }
101
+ //# sourceMappingURL=localEndpointGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localEndpointGuard.js","sourceRoot":"","sources":["../src/localEndpointGuard.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ export declare class ChildBridgeClient {
9
9
  private consecutiveFailures;
10
10
  private agent;
11
11
  constructor(port: number, authToken: string);
12
+ /** The authToken this client was constructed with. Used by the orchestrator
13
+ * to detect PID/port reuse with a rotated token and recreate the client. */
14
+ get token(): string;
12
15
  get isHealthy(): boolean;
13
16
  initSession(): Promise<boolean>;
14
17
  listTools(): Promise<ToolSchema[]>;
@@ -17,6 +20,8 @@ export declare class ChildBridgeClient {
17
20
  type: string;
18
21
  text: string;
19
22
  }>;
23
+ isError?: boolean;
24
+ structuredContent?: unknown;
20
25
  }>;
21
26
  ping(): Promise<boolean>;
22
27
  closeSession(): Promise<void>;
@@ -23,6 +23,11 @@ export class ChildBridgeClient {
23
23
  maxFreeSockets: 2,
24
24
  });
25
25
  }
26
+ /** The authToken this client was constructed with. Used by the orchestrator
27
+ * to detect PID/port reuse with a rotated token and recreate the client. */
28
+ get token() {
29
+ return this.authToken;
30
+ }
26
31
  get isHealthy() {
27
32
  if (this.circuitState === "open") {
28
33
  if (Date.now() - this.circuitOpenedAt >= CIRCUIT_RESET_MS) {
@@ -84,7 +89,19 @@ export class ChildBridgeClient {
84
89
  method: "tools/list",
85
90
  params: {},
86
91
  });
87
- const res = await this.post(body, INIT_TIMEOUT_MS, this.sessionId);
92
+ let res = await this.post(body, INIT_TIMEOUT_MS, this.sessionId);
93
+ // 404 means the child's HTTP session expired (2-hour idle TTL). This is
94
+ // NOT a bridge failure — re-initialize the session and retry once.
95
+ // Returning [] here would let the orchestrator clobber a healthy bridge's
96
+ // tool list (it writes whatever listTools returns), so recovering the
97
+ // session is what keeps proxied tools alive across an idle window.
98
+ if (res.status === 404) {
99
+ this.sessionId = null;
100
+ const ok = await this.initSession();
101
+ if (!ok)
102
+ return [];
103
+ res = await this.post(body, INIT_TIMEOUT_MS, this.sessionId);
104
+ }
88
105
  if (!res.ok) {
89
106
  this.onFailure();
90
107
  return [];
@@ -136,8 +153,18 @@ export class ChildBridgeClient {
136
153
  throw err;
137
154
  }
138
155
  this.onSuccess();
156
+ // Per ADR-0004, child bridges signal tool-level failures with
157
+ // `isError: true` in the result (NOT a JSON-RPC error). Propagate it —
158
+ // and any structuredContent — so a failed child tool call is not
159
+ // misreported to the MCP client as a success.
139
160
  return {
140
161
  content: json.result?.content ?? [{ type: "text", text: "" }],
162
+ ...(json.result?.isError !== undefined
163
+ ? { isError: json.result.isError }
164
+ : {}),
165
+ ...(json.result?.structuredContent !== undefined
166
+ ? { structuredContent: json.result.structuredContent }
167
+ : {}),
141
168
  };
142
169
  }
143
170
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"childBridgeClient.js","sourceRoot":"","sources":["../../src/orchestrator/childBridgeClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"childBridgeClient.js","sourceRoot":"","sources":["../../src/orchestrator/childBridgeClient.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ChildBridgeClient } from "./childBridgeClient.js";
1
2
  import type { OrchestratorConfig } from "./orchestratorConfig.js";
2
3
  export declare class OrchestratorBridge {
3
4
  private config;
@@ -10,8 +11,40 @@ export declare class OrchestratorBridge {
10
11
  private authToken;
11
12
  private startedAt;
12
13
  private healthTimer;
14
+ /** Re-entrancy guard for the health-probe loop. A single probe (ping +
15
+ * listTools across every child) can outlast healthIntervalMs; without this
16
+ * guard a fresh interval tick would start a second probe that races on the
17
+ * shared registry/clients state. Overlapping ticks are skipped. */
18
+ private probing;
13
19
  constructor(config: OrchestratorConfig);
14
20
  start(): Promise<void>;
21
+ /**
22
+ * Reconcile a client map against the current registry bridges.
23
+ *
24
+ * Two leaks/correctness hazards are closed here:
25
+ * 1. Leaked clients — when a child's lock disappears, the registry drops it
26
+ * but its ChildBridgeClient (with live keepAlive http.Agent sockets)
27
+ * would otherwise linger in `clients` forever. Destroy + remove it.
28
+ * 2. Stale-token reuse — on PID/port reuse a child re-appears on the same
29
+ * port with a NEW authToken. The cached client still holds the old token
30
+ * and would authenticate wrong → the bridge is marked unhealthy forever.
31
+ * Destroy + recreate the client with the fresh token.
32
+ *
33
+ * Static + dependency-injected (createClient factory) so it can be unit
34
+ * tested without standing up an OrchestratorBridge.
35
+ */
36
+ static reconcileClients(clients: Map<number, ChildBridgeClient>, bridges: Array<{
37
+ port: number;
38
+ authToken: string;
39
+ }>, createClient: (port: number, authToken: string) => ChildBridgeClient): void;
40
+ /**
41
+ * One health-probe tick: refresh the lock-file registry, then probe every
42
+ * child bridge. Guarded against re-entrancy — if the previous tick's
43
+ * probeAll() is still in flight (a slow ping + listTools across many bridges
44
+ * can outlast healthIntervalMs), this tick is skipped rather than racing on
45
+ * the shared registry/clients state.
46
+ */
47
+ private runHealthTick;
15
48
  private probeAll;
16
49
  private handleConnection;
17
50
  /**
@@ -43,6 +43,11 @@ export class OrchestratorBridge {
43
43
  authToken;
44
44
  startedAt = Date.now();
45
45
  healthTimer = null;
46
+ /** Re-entrancy guard for the health-probe loop. A single probe (ping +
47
+ * listTools across every child) can outlast healthIntervalMs; without this
48
+ * guard a fresh interval tick would start a second probe that races on the
49
+ * shared registry/clients state. Overlapping ticks are skipped. */
50
+ probing = false;
46
51
  constructor(config) {
47
52
  this.config = config;
48
53
  this.logger = new Logger(config.verbose, config.jsonl);
@@ -58,10 +63,7 @@ export class OrchestratorBridge {
58
63
  // Initial health probe
59
64
  await this.probeAll();
60
65
  // Start health probe loop
61
- this.healthTimer = setInterval(() => {
62
- this.registry.refresh();
63
- this.probeAll().catch((err) => this.logger.error("orchestrator health probe failed", { err }));
64
- }, this.config.healthIntervalMs);
66
+ this.healthTimer = setInterval(() => this.runHealthTick(), this.config.healthIntervalMs);
65
67
  this.healthTimer.unref();
66
68
  // Start HTTP/WS server
67
69
  this.server.on("connection", (ws) => this.handleConnection(ws));
@@ -74,8 +76,62 @@ export class OrchestratorBridge {
74
76
  this.logger.info(`Orchestrator bridge ready on port ${this.config.port} (token: ${this.authToken.slice(0, 8)}...)`);
75
77
  this.logger.info(`Monitoring ${this.registry.getAll().length} child bridge(s)`);
76
78
  }
79
+ /**
80
+ * Reconcile a client map against the current registry bridges.
81
+ *
82
+ * Two leaks/correctness hazards are closed here:
83
+ * 1. Leaked clients — when a child's lock disappears, the registry drops it
84
+ * but its ChildBridgeClient (with live keepAlive http.Agent sockets)
85
+ * would otherwise linger in `clients` forever. Destroy + remove it.
86
+ * 2. Stale-token reuse — on PID/port reuse a child re-appears on the same
87
+ * port with a NEW authToken. The cached client still holds the old token
88
+ * and would authenticate wrong → the bridge is marked unhealthy forever.
89
+ * Destroy + recreate the client with the fresh token.
90
+ *
91
+ * Static + dependency-injected (createClient factory) so it can be unit
92
+ * tested without standing up an OrchestratorBridge.
93
+ */
94
+ static reconcileClients(clients, bridges, createClient) {
95
+ const livePorts = new Set(bridges.map((b) => b.port));
96
+ // (1) Drop clients whose port left the registry.
97
+ for (const [port, client] of clients) {
98
+ if (!livePorts.has(port)) {
99
+ client.destroy();
100
+ clients.delete(port);
101
+ }
102
+ }
103
+ // (2) Recreate clients whose authToken changed (PID/port reuse).
104
+ for (const b of bridges) {
105
+ const existing = clients.get(b.port);
106
+ if (existing && existing.token !== b.authToken) {
107
+ existing.destroy();
108
+ clients.set(b.port, createClient(b.port, b.authToken));
109
+ }
110
+ }
111
+ }
112
+ /**
113
+ * One health-probe tick: refresh the lock-file registry, then probe every
114
+ * child bridge. Guarded against re-entrancy — if the previous tick's
115
+ * probeAll() is still in flight (a slow ping + listTools across many bridges
116
+ * can outlast healthIntervalMs), this tick is skipped rather than racing on
117
+ * the shared registry/clients state.
118
+ */
119
+ runHealthTick() {
120
+ if (this.probing)
121
+ return;
122
+ this.probing = true;
123
+ this.registry.refresh();
124
+ this.probeAll()
125
+ .catch((err) => this.logger.error("orchestrator health probe failed", { err }))
126
+ .finally(() => {
127
+ this.probing = false;
128
+ });
129
+ }
77
130
  async probeAll() {
78
131
  const bridges = this.registry.getAll();
132
+ // Reconcile clients before probing: drop leaked clients for vanished
133
+ // bridges and recreate any whose authToken changed under PID/port reuse.
134
+ OrchestratorBridge.reconcileClients(this.clients, bridges, (port, authToken) => new ChildBridgeClient(port, authToken));
79
135
  await Promise.all(bridges.map(async (b) => {
80
136
  let client = this.clients.get(b.port);
81
137
  if (!client) {
@@ -95,11 +151,16 @@ export class OrchestratorBridge {
95
151
  // tool list changed (e.g., after a plugin reload in the child bridge).
96
152
  const prevToolNames = b.tools.map((t) => t.name).join(",");
97
153
  const tools = await client.listTools();
98
- // If listTools() returned empty, the HTTP session init likely failed silently.
99
- // Don't mark the bridge healthy yet keep it warming so the next probe retries.
100
- // A real bridge always has at least one tool registered.
101
- if (tools.length === 0 && !b.healthy) {
102
- this.logger.debug(`Bridge port ${b.port} (${b.ideName}) pinged alive but returned 0 tools — retrying next cycle`);
154
+ // If listTools() returned empty, the HTTP session init likely failed
155
+ // silently (e.g. the child's HTTP session expired and listTools
156
+ // swallowed the error returning []). A real bridge always has at least
157
+ // one tool registered, so treat ANY empty result as a probe miss —
158
+ // regardless of current health. Crucially we must NOT fall through to
159
+ // markHealthy(port, []) for an already-healthy bridge: that would wipe
160
+ // b.tools and deregister every proxied tool. Return early and let the
161
+ // next probe retry; the existing tool list is preserved.
162
+ if (tools.length === 0) {
163
+ this.logger.debug(`Bridge port ${b.port} (${b.ideName}) pinged alive but returned 0 tools — keeping previous tools, retrying next cycle`);
103
164
  this.registry.keepWarm(b.port);
104
165
  return;
105
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratorBridge.js","sourceRoot":"","sources":["../../src/orchestrator/orchestratorBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestratorBridge.js","sourceRoot":"","sources":["../../src/orchestrator/orchestratorBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAYjE,MAAM,OAAO,kBAAkB;IAgBT;IAfZ,MAAM,CAAS;IACf,MAAM,CAAS;IACf,QAAQ,CAAkB;IAC1B,QAAQ,CAAsB;IAC9B,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC/C,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IAClD,SAAS,CAAS;IAClB,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,WAAW,GAA0C,IAAI,CAAC;IAClE;;;wEAGoE;IAC5D,OAAO,GAAG,KAAK,CAAC;IAExB,YAAoB,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CACrC,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,IAAI,CACZ,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,wCAAwC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAC3D,CAAC;QAEF,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEtB,uBAAuB;QACvB,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEtB,0BAA0B;QAC1B,IAAI,CAAC,WAAW,GAAG,WAAW,CAC5B,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAEzB,uBAAuB;QACvB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpE,0CAA0C;QAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE;YACxE,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qCAAqC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAClG,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,cAAc,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,kBAAkB,CAC9D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,gBAAgB,CACrB,OAAuC,EACvC,OAAmD,EACnD,YAAoE;QAEpE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtD,iDAAiD;QACjD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,iEAAiE;QACjE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,aAAa;QACnB,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE;aACZ,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,GAAG,EAAE,CAAC,CAC/D;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvC,qEAAqE;QACrE,yEAAyE;QACzE,kBAAkB,CAAC,gBAAgB,CACjC,IAAI,CAAC,OAAO,EACZ,OAAO,EACP,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAC5D,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACtB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACnC,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,IAAI,OAAO,GAAG,MAAM,CAAC;YAEhD,IAAI,KAAK,EAAE,CAAC;gBACV,wEAAwE;gBACxE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;oBAChB,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,CAAC;gBACD,6EAA6E;gBAC7E,6EAA6E;gBAC7E,uEAAuE;gBACvE,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;gBAEvC,qEAAqE;gBACrE,gEAAgE;gBAChE,uEAAuE;gBACvE,mEAAmE;gBACnE,sEAAsE;gBACtE,uEAAuE;gBACvE,sEAAsE;gBACtE,yDAAyD;gBACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,mFAAmF,CACvH,CAAC;oBACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBAED,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAEzC,IAAI,aAAa,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qCAAqC,CAAC,CAAC,IAAI,iBAAiB,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,CAC5F,CAAC;oBACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;wBAC7C,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;wBAC5C,IAAI,OAAO,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;4BAC3C,YAAY,CAAC,gBAAgB,CAC3B,OAAO,CAAC,EAAE,EACV,kCAAkC,EAClC,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACnB,gEAAgE;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,eAAe,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,kBAAkB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAC3F,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,IAAI,CAAC,CAAC,SAAS;oBAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACpC,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,EAAa;QACpC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,gDAAgD;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9C,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAExC,qEAAqE;QACrE,+DAA+D;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GACrB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvE,qCAAqC;QACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC3C,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC;oBACN,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC1B,qDAAqD;oBACrD,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC;wBACrC,YAAY,CAAC,gBAAgB,CAC3B,CAAC,CAAC,EAAE,EACJ,kCAAkC,EAClC,SAAS,EACT,IAAI,CAAC,MAAM,CACZ,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAwB;YACnC,EAAE,EAAE,SAAS;YACb,EAAE;YACF,SAAS;YACT,gBAAgB,EAAE,iBAAiB;YACnC,oBAAoB,EAAE,IAAI,GAAG,EAAE;YAC/B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEtC,uEAAuE;QACvE,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAAC;QAE5C,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,oEAAoE;QACpE,oEAAoE;QACpE,wEAAwE;QACxE,8DAA8D;QAC9D,SAAS,CAAC,eAAe,EAAE,CAAC;QAE5B,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;;;OAUG;IACK,6BAA6B,CAAC,OAA4B;QAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;QAExE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QAEnC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,mDAAmD;YACnD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACjD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;oBACnC,OAAO,CAAC,SAAS,CAAC,WAAW,CAC3B,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,EAC1C,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CACrB,IAAI,CAAC,aAAa,CAChB,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,CACb,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC3B,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC/C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtE,CAAC;YAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACtD,MAAM,gBAAgB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,CAAC;oBAChB,CAAC,CAAC,KAAK,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;oBACtD,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC;gBAErE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC3B,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC5D,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC;wBAAE,SAAS;oBAEjD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACxB,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;oBAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAEnC,OAAO,CAAC,SAAS,CAAC,WAAW,CAC3B;wBACE,GAAG,IAAI;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE;qBAChD,EACD,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CACrB,IAAI,CAAC,aAAa,CAChB,gBAAgB,EAChB,IAAI,EACJ,OAAO,EACP,MAAM,EACN,YAAY,CACb,CACJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,2EAA2E;QAC3E,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,QAAgB,EAChB,IAA6B,EAC7B,OAAmC,EACnC,MAAoB,EACpB,aAAsB;QAMtB,0BAA0B;QAC1B,IAAI,UAAU,GAAG,aAAa,IAAI,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;QAEpE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,0BAA0B;YAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAC9D,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBAC5D,IAAI,MAAM;oBAAE,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YACvC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,gDAAgD;gBAChD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;oBACzC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,MAAc,CAAC;YACnB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM;oBACJ,2FAA2F,CAAC;YAChG,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,WAAW,GAAG,OAAO;qBACxB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,IAAI,iBAAiB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAC3G;qBACA,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,GAAG,kCAAkC,WAAW,2BAA2B,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,kCAAkC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,mBAAmB,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5I,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,oEAAoE,QAAQ,OAAO,MAAM,EAAE;qBAClG;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,kEAAkE,UAAU,EAAE;qBACrF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,aAAa,GACjB,GAAG,YAAY,KAAK;gBACnB,GAA0B,CAAC,IAAI,KAAK,UAAU,CAAC,kBAAkB,CAAC;YAErE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,SAAS,QAAQ,2BAA2B,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9G,CAAC;YAEF,IAAI,aAAa,IAAI,OAAO,EAAE,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBAC9D,yCAAyC;gBACzC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,4EAA4E;YAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,6CAA6C,UAAU,KAAK,UAAU,EAAE,OAAO,IAAI,SAAS,mBAAmB;4BAC/G,SAAS,QAAQ,qBAAqB;4BACtC,8BAA8B,UAAU,EAAE,SAAS,IAAI,SAAS,EAAE;4BAClE,WAAW,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;4BAC7D,EAAE;4BACF,8FAA8F;yBAC/F,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,CAAC,mCAAmC,eAAe,EAAE,CAAC,CAAC;QAErE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,KAAK,CAAC,IAAI,CACR,oEAAoE,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC1B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;oBACjE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,OAAO,OAAO,OAAO,GAAG,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CACR,+GAA+G,CAChH,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CACR,qFAAqF,CACtF,CAAC;gBACF,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CACR,KAAK,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CACR,gHAAgH,CACjH,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,sEAAsE,CACvE,CAAC;QACF,KAAK,CAAC,IAAI,CACR,gFAAgF,CACjF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC9D,KAAK,CAAC,IAAI,CACR,4EAA4E,CAC7E,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,EAAE,CAAC,CAAC;QAE1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,qBAAqB;QAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAElD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAErB,2BAA2B;YAC3B,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,CAAC,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CACjC,CACF,CAAC;YAEF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAEnD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -496,7 +496,17 @@ export async function runChainedRecipe(recipe, options, deps, existingRegistry,
496
496
  // Non-fatal — run-log failures must never break recipe execution.
497
497
  }
498
498
  }
499
- if (depGraph.hasCycles) {
499
+ // A phantom `awaits:` target (one matching no real step) is invisible to
500
+ // cycle detection but would silently drop the awaiting step and its
501
+ // dependents from execution while the run still reports success. Reject
502
+ // the run with a descriptive error BEFORE executing any step, mirroring
503
+ // the circular-dependency guard below.
504
+ const fatalGraphError = depGraph.unknownAwaitTargets.length > 0
505
+ ? `Recipe has steps that await unknown step(s): ${depGraph.unknownAwaitTargets.join(", ")}`
506
+ : depGraph.hasCycles
507
+ ? "Recipe has circular dependencies"
508
+ : undefined;
509
+ if (fatalGraphError) {
500
510
  if (depth === 0) {
501
511
  const doneAt = Date.now();
502
512
  const durationMs = doneAt - runStartedAt;
@@ -507,7 +517,7 @@ export async function runChainedRecipe(recipe, options, deps, existingRegistry,
507
517
  doneAt,
508
518
  durationMs,
509
519
  stepResults: [],
510
- errorMessage: "Recipe has circular dependencies",
520
+ errorMessage: fatalGraphError,
511
521
  });
512
522
  }
513
523
  else if (options.runLogDir) {
@@ -522,7 +532,7 @@ export async function runChainedRecipe(recipe, options, deps, existingRegistry,
522
532
  startedAt: runStartedAt,
523
533
  doneAt,
524
534
  durationMs,
525
- errorMessage: "Recipe has circular dependencies",
535
+ errorMessage: fatalGraphError,
526
536
  stepResults: [],
527
537
  });
528
538
  }
@@ -535,7 +545,7 @@ export async function runChainedRecipe(recipe, options, deps, existingRegistry,
535
545
  success: false,
536
546
  stepResults: new Map(),
537
547
  summary: { total: 0, succeeded: 0, failed: 0, skipped: 0 },
538
- errorMessage: "Recipe has circular dependencies",
548
+ errorMessage: fatalGraphError,
539
549
  context: {},
540
550
  };
541
551
  }