instar 1.3.938 → 1.3.939

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.
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Server-safe GitHub runtime.
3
+ *
4
+ * Long-lived agent servers run under launchd, where PATH commonly omits
5
+ * Homebrew, and must never inherit the active identity from a machine-global
6
+ * `gh` keychain seat. This module is the single runtime boundary for:
7
+ *
8
+ * - resolving an explicit per-agent token (`GITHUB_TOKEN`, then vault);
9
+ * - calling GitHub GraphQL directly; and
10
+ * - running the few remaining gh-dependent server adapters with an absolute
11
+ * executable and explicit token environment.
12
+ *
13
+ * Missing auth/executable always fails before a GitHub operation. No caller
14
+ * falls through to `~/.config/gh/hosts.yml`.
15
+ */
16
+ import { execFile, execFileSync } from 'node:child_process';
17
+ import { type ResolveGhTokenOptions } from './ghToken.js';
18
+ export declare class GitHubAuthUnavailableError extends Error {
19
+ readonly code = "github-auth-unavailable";
20
+ constructor();
21
+ }
22
+ export declare class GitHubCliUnavailableError extends Error {
23
+ readonly code = "github-cli-unavailable";
24
+ constructor();
25
+ }
26
+ export interface ResolveGitHubTokenOptions extends ResolveGhTokenOptions {
27
+ stateDir?: string;
28
+ env?: NodeJS.ProcessEnv;
29
+ }
30
+ /** Resolve only explicit server identity: environment first, then agent vault. */
31
+ export declare function resolveGitHubToken(options?: ResolveGitHubTokenOptions): string | null;
32
+ /** Cache token presence or absence for a bounded interval. */
33
+ export declare function createGitHubTokenResolver(options: ResolveGitHubTokenOptions & {
34
+ cacheTtlMs?: number;
35
+ now?: () => number;
36
+ }): () => string | null;
37
+ export interface ResolveGhExecutableOptions {
38
+ env?: NodeJS.ProcessEnv;
39
+ isExecutable?: (candidate: string) => boolean;
40
+ }
41
+ /**
42
+ * Resolve gh without relying on launchd's truncated PATH. Candidate order is
43
+ * deterministic: Apple Silicon Homebrew, Intel Homebrew, then explicit PATH.
44
+ */
45
+ export declare function resolveGhExecutable(options?: ResolveGhExecutableOptions): string | null;
46
+ export type AuthenticatedGhResult = {
47
+ code: number;
48
+ stdout: string;
49
+ stderr: string;
50
+ };
51
+ export type AuthenticatedGhExec = (args: string[]) => Promise<AuthenticatedGhResult>;
52
+ export interface AuthenticatedGitHubCliRuntime {
53
+ executable: string;
54
+ env: NodeJS.ProcessEnv;
55
+ }
56
+ interface AuthenticatedGitHubRuntimeOptions extends ResolveGitHubTokenOptions {
57
+ resolveToken?: () => string | null;
58
+ resolveExecutable?: () => string | null;
59
+ cacheTtlMs?: number;
60
+ now?: () => number;
61
+ }
62
+ /**
63
+ * Resolve and briefly cache the explicit GitHub CLI runtime. Long-lived
64
+ * pollers call this repeatedly, so caching both success and typed failure
65
+ * avoids a vault/keychain read on every GitHub command while still allowing
66
+ * token rotation to take effect within the bounded TTL.
67
+ */
68
+ export declare function createAuthenticatedGitHubCliRuntimeResolver(options: AuthenticatedGitHubRuntimeOptions): () => AuthenticatedGitHubCliRuntime;
69
+ interface AuthenticatedGhOptions extends AuthenticatedGitHubRuntimeOptions {
70
+ resolveRuntime?: () => AuthenticatedGitHubCliRuntime;
71
+ execFileImpl?: typeof execFile;
72
+ }
73
+ /** Build the async arg-array gh runner used by long-lived server adapters. */
74
+ export declare function createAuthenticatedGhExec(options: AuthenticatedGhOptions): AuthenticatedGhExec;
75
+ interface AuthenticatedGhSyncOptions extends AuthenticatedGitHubRuntimeOptions {
76
+ resolveRuntime?: () => AuthenticatedGitHubCliRuntime;
77
+ resolveToken?: () => string | null;
78
+ resolveExecutable?: () => string | null;
79
+ execFileSyncImpl?: typeof execFileSync;
80
+ timeoutMs?: number;
81
+ }
82
+ /** Build a cached synchronous runner for legacy polling code. */
83
+ export declare function createAuthenticatedGhSyncExec(options: AuthenticatedGhSyncOptions): (args: string[]) => string;
84
+ /** Run one synchronous command with explicit identity. */
85
+ export declare function execAuthenticatedGhSync(args: string[], options: AuthenticatedGhSyncOptions): string;
86
+ export interface FetchGitHubGraphqlOptions {
87
+ token: string;
88
+ query: string;
89
+ variables?: Record<string, unknown>;
90
+ fetchImpl?: typeof globalThis.fetch;
91
+ timeoutMs?: number;
92
+ }
93
+ /** Direct GitHub GraphQL call with a bounded, non-secret error surface. */
94
+ export declare function fetchGitHubGraphql<T>(options: FetchGitHubGraphqlOptions): Promise<T>;
95
+ export {};
96
+ //# sourceMappingURL=githubRuntime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"githubRuntime.d.ts","sourceRoot":"","sources":["../../src/core/githubRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Server-safe GitHub runtime.
3
+ *
4
+ * Long-lived agent servers run under launchd, where PATH commonly omits
5
+ * Homebrew, and must never inherit the active identity from a machine-global
6
+ * `gh` keychain seat. This module is the single runtime boundary for:
7
+ *
8
+ * - resolving an explicit per-agent token (`GITHUB_TOKEN`, then vault);
9
+ * - calling GitHub GraphQL directly; and
10
+ * - running the few remaining gh-dependent server adapters with an absolute
11
+ * executable and explicit token environment.
12
+ *
13
+ * Missing auth/executable always fails before a GitHub operation. No caller
14
+ * falls through to `~/.config/gh/hosts.yml`.
15
+ */
16
+ import { execFile, execFileSync } from 'node:child_process';
17
+ import { constants as fsConstants, accessSync, statSync } from 'node:fs';
18
+ import path from 'node:path';
19
+ import { resolveGhTokenFromVault } from './ghToken.js';
20
+ export class GitHubAuthUnavailableError extends Error {
21
+ code = 'github-auth-unavailable';
22
+ constructor() {
23
+ super('github-auth-unavailable');
24
+ this.name = 'GitHubAuthUnavailableError';
25
+ }
26
+ }
27
+ export class GitHubCliUnavailableError extends Error {
28
+ code = 'github-cli-unavailable';
29
+ constructor() {
30
+ super('github-cli-unavailable');
31
+ this.name = 'GitHubCliUnavailableError';
32
+ }
33
+ }
34
+ /** Resolve only explicit server identity: environment first, then agent vault. */
35
+ export function resolveGitHubToken(options = {}) {
36
+ const env = options.env ?? process.env;
37
+ const token = env.GITHUB_TOKEN;
38
+ if (typeof token === 'string' && token.trim())
39
+ return token.trim();
40
+ return options.stateDir
41
+ ? resolveGhTokenFromVault(options.stateDir, { forceFileKey: options.forceFileKey })
42
+ : null;
43
+ }
44
+ /** Cache token presence or absence for a bounded interval. */
45
+ export function createGitHubTokenResolver(options) {
46
+ const now = options.now ?? (() => Date.now());
47
+ const cacheTtlMs = options.cacheTtlMs ?? 5 * 60_000;
48
+ let cached = null;
49
+ return () => {
50
+ const timestamp = now();
51
+ if (cached && timestamp < cached.expiresAt)
52
+ return cached.token;
53
+ const token = resolveGitHubToken(options);
54
+ cached = { expiresAt: timestamp + cacheTtlMs, token };
55
+ return token;
56
+ };
57
+ }
58
+ /**
59
+ * Resolve gh without relying on launchd's truncated PATH. Candidate order is
60
+ * deterministic: Apple Silicon Homebrew, Intel Homebrew, then explicit PATH.
61
+ */
62
+ export function resolveGhExecutable(options = {}) {
63
+ const env = options.env ?? process.env;
64
+ const isExecutable = options.isExecutable ?? ((candidate) => {
65
+ try {
66
+ accessSync(candidate, fsConstants.X_OK);
67
+ return statSync(candidate).isFile();
68
+ }
69
+ catch { /* @silent-fallback-ok — a missing/non-executable gh candidate is expected while resolving the next explicit candidate */
70
+ return false;
71
+ }
72
+ });
73
+ const candidates = [
74
+ '/opt/homebrew/bin/gh',
75
+ '/usr/local/bin/gh',
76
+ ...(env.PATH ?? '')
77
+ .split(path.delimiter)
78
+ .filter((dir) => path.isAbsolute(dir))
79
+ .map((dir) => path.join(dir, 'gh')),
80
+ ];
81
+ for (const candidate of [...new Set(candidates)]) {
82
+ if (isExecutable(candidate))
83
+ return candidate;
84
+ }
85
+ return null;
86
+ }
87
+ function explicitGitHubEnv(env, token, executable) {
88
+ const executableDir = path.dirname(executable);
89
+ const pathEntries = (env.PATH ?? '')
90
+ .split(path.delimiter)
91
+ .filter((entry) => path.isAbsolute(entry) && entry !== executableDir);
92
+ return {
93
+ ...env,
94
+ GH_TOKEN: token,
95
+ GITHUB_TOKEN: token,
96
+ // safe-merge still invokes `gh` internally. Put the already-resolved,
97
+ // absolute executable directory first so that child cannot select a
98
+ // different binary or depend on launchd's truncated PATH.
99
+ PATH: [executableDir, ...pathEntries].join(path.delimiter),
100
+ };
101
+ }
102
+ /**
103
+ * Resolve and briefly cache the explicit GitHub CLI runtime. Long-lived
104
+ * pollers call this repeatedly, so caching both success and typed failure
105
+ * avoids a vault/keychain read on every GitHub command while still allowing
106
+ * token rotation to take effect within the bounded TTL.
107
+ */
108
+ export function createAuthenticatedGitHubCliRuntimeResolver(options) {
109
+ const env = options.env ?? process.env;
110
+ const now = options.now ?? (() => Date.now());
111
+ const cacheTtlMs = options.cacheTtlMs ?? 5 * 60_000;
112
+ let cached = null;
113
+ return () => {
114
+ const timestamp = now();
115
+ if (cached && timestamp < cached.expiresAt) {
116
+ if ('error' in cached)
117
+ throw cached.error;
118
+ return cached.value;
119
+ }
120
+ const expiresAt = timestamp + cacheTtlMs;
121
+ const token = options.resolveToken ? options.resolveToken() : resolveGitHubToken(options);
122
+ if (!token) {
123
+ const error = new GitHubAuthUnavailableError();
124
+ cached = { expiresAt, error };
125
+ throw error;
126
+ }
127
+ const executable = options.resolveExecutable ? options.resolveExecutable() : resolveGhExecutable({ env });
128
+ if (!executable) {
129
+ const error = new GitHubCliUnavailableError();
130
+ cached = { expiresAt, error };
131
+ throw error;
132
+ }
133
+ const value = { executable, env: explicitGitHubEnv(env, token, executable) };
134
+ cached = { expiresAt, value };
135
+ return value;
136
+ };
137
+ }
138
+ /** Build the async arg-array gh runner used by long-lived server adapters. */
139
+ export function createAuthenticatedGhExec(options) {
140
+ const run = options.execFileImpl ?? execFile;
141
+ const resolveRuntime = options.resolveRuntime
142
+ ?? createAuthenticatedGitHubCliRuntimeResolver(options);
143
+ return async (args) => {
144
+ let runtime;
145
+ try {
146
+ runtime = resolveRuntime();
147
+ }
148
+ catch (error) {
149
+ if (error instanceof GitHubAuthUnavailableError || error instanceof GitHubCliUnavailableError) {
150
+ return { code: 1, stdout: '', stderr: error.code };
151
+ }
152
+ throw error;
153
+ }
154
+ return new Promise((resolve) => {
155
+ run(runtime.executable, args, {
156
+ env: runtime.env,
157
+ timeout: 30_000,
158
+ maxBuffer: 32 * 1024 * 1024,
159
+ }, (err, stdout, stderr) => resolve({
160
+ code: err ? (typeof err.code === 'number'
161
+ ? err.code
162
+ : 1) : 0,
163
+ stdout: stdout ?? '',
164
+ stderr: stderr ?? '',
165
+ }));
166
+ });
167
+ };
168
+ }
169
+ /** Build a cached synchronous runner for legacy polling code. */
170
+ export function createAuthenticatedGhSyncExec(options) {
171
+ const run = options.execFileSyncImpl ?? execFileSync;
172
+ const resolveRuntime = options.resolveRuntime
173
+ ?? createAuthenticatedGitHubCliRuntimeResolver(options);
174
+ return (args) => {
175
+ const runtime = resolveRuntime();
176
+ return run(runtime.executable, args, {
177
+ encoding: 'utf-8',
178
+ timeout: options.timeoutMs ?? 15_000,
179
+ stdio: ['pipe', 'pipe', 'pipe'],
180
+ env: runtime.env,
181
+ });
182
+ };
183
+ }
184
+ /** Run one synchronous command with explicit identity. */
185
+ export function execAuthenticatedGhSync(args, options) {
186
+ return createAuthenticatedGhSyncExec(options)(args);
187
+ }
188
+ /** Direct GitHub GraphQL call with a bounded, non-secret error surface. */
189
+ export async function fetchGitHubGraphql(options) {
190
+ const fetchImpl = options.fetchImpl ?? globalThis.fetch;
191
+ const response = await fetchImpl('https://api.github.com/graphql', {
192
+ method: 'POST',
193
+ headers: {
194
+ Accept: 'application/vnd.github+json',
195
+ Authorization: `Bearer ${options.token}`,
196
+ 'Content-Type': 'application/json',
197
+ 'User-Agent': 'instar-agent-server',
198
+ 'X-GitHub-Api-Version': '2022-11-28',
199
+ },
200
+ body: JSON.stringify({ query: options.query, variables: options.variables ?? {} }),
201
+ signal: AbortSignal.timeout(options.timeoutMs ?? 30_000),
202
+ });
203
+ if (!response.ok)
204
+ throw new Error(`github-graphql-http-${response.status}`);
205
+ const payload = await response.json();
206
+ if (Array.isArray(payload.errors) && payload.errors.length > 0) {
207
+ throw new Error(`github-graphql-errors-${payload.errors.length}`);
208
+ }
209
+ if (payload.data == null)
210
+ throw new Error('github-graphql-invalid-response');
211
+ return payload.data;
212
+ }
213
+ //# sourceMappingURL=githubRuntime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"githubRuntime.js","sourceRoot":"","sources":["../../src/core/githubRuntime.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,28 @@
1
+ /**
2
+ * CiFailurePoller — Ingestion-sources spec §3.1.
3
+ *
4
+ * Periodically lists recent CI runs via `gh` and files the failed ones into the
5
+ * FailureLedger. Read-only against GitHub; never mutates a repo. Fail-open: any
6
+ * error (gh missing/unauthed/rate-limited/non-JSON) logs and skips the tick.
7
+ *
8
+ * Safety (spec §3.1/§4.1):
9
+ * - `gh` is invoked arg-array only (never a shell string); `repo` parsed from
10
+ * the git remote is validated against a strict owner/name regex before use.
11
+ * - Attribution is exact-OID (headSha → InitiativeTracker.findByMergeCommit),
12
+ * never a branch-name substring match. Unmapped → inferred / noFeatureLink.
13
+ * - Loop self-exclusion (§4.3): a run mapped to a `failure-learning-loop`-origin
14
+ * initiative is skipped (don't ingest the loop's own fix-PR failures).
15
+ * - Flaky guard (§3.1): per head SHA, only the LATEST run is considered; if a
16
+ * later run for that SHA succeeded, the failure is treated as recovered and
17
+ * skipped (not filed as a process failure).
18
+ * - Per-tick write cap (§5) bounds the ledger writes per poll.
19
+ * - Lease-gated (§5): runs only on the fenced-lease holder so a fleet polls
20
+ * GitHub once, not once per machine.
21
+ *
22
+ * filedBy is the constant `source:ci` (§5) so CI failures share one analyzer
23
+ * "session" identity → they can never alone satisfy the diversity gate.
24
+ */
25
+ import { type AuthenticatedGitHubCliRuntime } from '../core/githubRuntime.js';
1
26
  import type { FailureLedger, FailureCategory } from './FailureLedger.js';
2
27
  export { scrubSecrets } from './scrubSecrets.js';
3
28
  /** What the poller needs to know about a mapped initiative (a subset of Initiative). */
@@ -13,8 +38,12 @@ export interface CiFailurePollerOptions {
13
38
  resolveByMergeCommit: (oid: string) => CiInitiativeRef | undefined;
14
39
  /** Resolve the `owner/name` repo (validated by the poller). Return null if none. */
15
40
  resolveRepo: () => string | null;
16
- /** Injectable gh runner (args array). Default: execFileSync('gh', args). */
41
+ /** Per-agent state root containing the encrypted GitHub token vault. */
42
+ stateDir?: string;
43
+ /** Injectable gh runner (args array). Default: shared explicit-auth helper. */
17
44
  runGh?: (args: string[]) => string;
45
+ /** Test seam: shared explicit GitHub runtime resolver. */
46
+ githubRuntime?: () => AuthenticatedGitHubCliRuntime;
18
47
  /** Only poll when this returns true (fenced-lease holder). Default: always. */
19
48
  isLeaseHolder?: () => boolean;
20
49
  /** Poll interval (ms). Default 6h. */
@@ -1 +1 @@
1
- {"version":3,"file":"CiFailurePoller.d.ts","sourceRoot":"","sources":["../../src/monitoring/CiFailurePoller.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,sEAAsE;IACtE,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,4EAA4E;IAC5E,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACnC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAID,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAK5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAStD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+C;IACpF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,sBAAsB;IAcxC,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ,iFAAiF;IACjF,IAAI,IAAI,MAAM;CAoDf"}
1
+ {"version":3,"file":"CiFailurePoller.d.ts","sourceRoot":"","sources":["../../src/monitoring/CiFailurePoller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,wFAAwF;AACxF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,sEAAsE;IACtE,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IACnE,oFAAoF;IACpF,WAAW,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IACnC,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,6BAA6B,CAAC;IACpD,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAID,UAAU,KAAK;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAK5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAStD;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA+C;IACpF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAEZ,IAAI,EAAE,sBAAsB;IAiBxC,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAOZ,iFAAiF;IACjF,IAAI,IAAI,MAAM;CAoDf"}
@@ -22,7 +22,7 @@
22
22
  * filedBy is the constant `source:ci` (§5) so CI failures share one analyzer
23
23
  * "session" identity → they can never alone satisfy the diversity gate.
24
24
  */
25
- import { execFileSync } from 'node:child_process';
25
+ import { createAuthenticatedGhSyncExec, } from '../core/githubRuntime.js';
26
26
  // scrubSecrets moved to a shared module (spec §3.3 — the Correction & Preference
27
27
  // Learning Sentinel applies the SAME pass on both sides of its LLM hop). Still
28
28
  // re-exported here so the poller's existing importers are unchanged.
@@ -73,7 +73,10 @@ export class CiFailurePoller {
73
73
  this.resolveRepo = opts.resolveRepo;
74
74
  this.runGh =
75
75
  opts.runGh ??
76
- ((args) => execFileSync('gh', args, { encoding: 'utf-8', timeout: 15000, stdio: ['pipe', 'pipe', 'pipe'] }));
76
+ createAuthenticatedGhSyncExec({
77
+ stateDir: opts.stateDir,
78
+ resolveRuntime: opts.githubRuntime,
79
+ });
77
80
  this.isLeaseHolder = opts.isLeaseHolder ?? (() => true);
78
81
  this.intervalMs = opts.intervalMs && opts.intervalMs > 0 ? opts.intervalMs : 6 * 60 * 60 * 1000;
79
82
  this.maxRunsPerTick = opts.maxRunsPerTick && opts.maxRunsPerTick > 0 ? opts.maxRunsPerTick : 50;
@@ -1 +1 @@
1
- {"version":3,"file":"CiFailurePoller.js","sourceRoot":"","sources":["../../src/monitoring/CiFailurePoller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CiFailurePoller.js","sourceRoot":"","sources":["../../src/monitoring/CiFailurePoller.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,11 @@ export interface MergeRunnerConfig {
66
66
  mergeTimeoutMs: number;
67
67
  mergeKillGraceMs: number;
68
68
  expectedContractVersion: number;
69
+ /**
70
+ * Explicit per-agent GitHub child environment. Null means the act path is
71
+ * unavailable; the runner must not fall back to the machine-global gh seat.
72
+ */
73
+ resolveGitHubEnv: () => NodeJS.ProcessEnv | null;
69
74
  /**
70
75
  * Merge strategy (mergerunner-auto-arm-handoff). `auto` (default) arms GitHub
71
76
  * native auto-merge via `safe-merge … --auto` and returns in seconds; `admin`
@@ -1 +1 @@
1
- {"version":3,"file":"MergeRunner.d.ts","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MergeRunner.d.ts","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"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"}
@@ -67,10 +67,13 @@ export class DefaultMergeRunner {
67
67
  // ---- contract probe -----------------------------------------------------
68
68
  async probeContract() {
69
69
  try {
70
+ const githubEnv = this.cfg.resolveGitHubEnv();
71
+ if (!githubEnv)
72
+ return { ok: false };
70
73
  const out = await this.spawn({
71
74
  command: this.cfg.nodePath ?? process.execPath,
72
75
  args: [this.cfg.safeMergePath, '--capabilities'],
73
- env: process.env,
76
+ env: githubEnv,
74
77
  deadlineMs: 30_000,
75
78
  });
76
79
  if (out.status !== 0)
@@ -105,6 +108,11 @@ export class DefaultMergeRunner {
105
108
  this.log(`safe-merge hash changed between probe and exec — refusing (${attempt.pr})`);
106
109
  return { outcome: 'skipped:safe-merge-contract', confirmedMerged: false };
107
110
  }
111
+ const githubEnv = this.cfg.resolveGitHubEnv();
112
+ if (!githubEnv) {
113
+ this.log(`explicit GitHub runtime unavailable — refusing (${attempt.pr})`);
114
+ return { outcome: 'skipped:github-runtime-unavailable', confirmedMerged: false };
115
+ }
108
116
  const attemptToken = crypto.randomBytes(8).toString('hex');
109
117
  // Phase 1: durable intent record BEFORE the spawn.
110
118
  const record = {
@@ -131,7 +139,7 @@ export class DefaultMergeRunner {
131
139
  '--match-head-commit', attempt.headRefOid,
132
140
  '--deadline-ms', String(pathTimeoutMs),
133
141
  ],
134
- env: { ...process.env, GREEN_PR_ATTEMPT_TOKEN: attemptToken },
142
+ env: { ...githubEnv, GREEN_PR_ATTEMPT_TOKEN: attemptToken },
135
143
  deadlineMs: pathTimeoutMs + this.cfg.mergeKillGraceMs,
136
144
  onPid: (pid) => {
137
145
  // Phase 2: patch pid/pgid (the child's pid IS its pgid when detached).
@@ -1 +1 @@
1
- {"version":3,"file":"MergeRunner.js","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MergeRunner.js","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA+E3D,MAAM,OAAO,kBAAkB;IACZ,GAAG,CAAoB;IACvB,IAAI,CAAkB;IACtB,GAAG,CAAe;IACnC,2DAA2D;IACnD,UAAU,GAAkB,IAAI,CAAC;IAEzC,YAAY,GAAsB,EAAE,IAAqB;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,IAAI,gBAAgB,KAAuB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC;IACrF,0EAA0E;IAC1E,IAAI,oBAAoB,KAAa,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC;IAE9E,4EAA4E;IAE5E,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;gBAC9C,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC;gBAChD,GAAG,EAAE,SAAS;gBACd,UAAU,EAAE,MAAM;aACnB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG,CAAC,uBAAuB;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YAChF,2EAA2E;YAC3E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACpC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,OAAO,EAAE,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H;YACrI,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YACpD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H;YACrI,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,4EAA4E;IAE5E,KAAK,CAAC,GAAG,CAAC,OAAqB;QAC7B,4EAA4E;QAC5E,mDAAmD;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,8DAA8D,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YACtF,OAAO,EAAE,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAC5E,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,mDAAmD,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QACnF,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3D,mDAAmD;QACnD,MAAM,MAAM,GAAmB;YAC7B,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;YACnE,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;SAC3D,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,8EAA8E;QAC9E,8EAA8E;QAC9E,2EAA2E;QAC3E,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,CAAC;QAClD,MAAM,YAAY,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,MAAM,aAAa,GAAG,QAAQ,KAAK,OAAO;YACxC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc;YACzB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC;QAEtC,IAAI,GAAiB,CAAC;QACtB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBACrB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;gBAC9C,IAAI,EAAE;oBACJ,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY;oBACpE,qBAAqB,EAAE,OAAO,CAAC,UAAU;oBACzC,eAAe,EAAE,MAAM,CAAC,aAAa,CAAC;iBACvC;gBACD,GAAG,EAAE,EAAE,GAAG,SAAS,EAAE,sBAAsB,EAAE,YAAY,EAAE;gBAC3D,UAAU,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB;gBACrD,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;oBACb,uEAAuE;oBACvE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;oBACjB,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC;oBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC7B,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,6HAA6H;YACzI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,eAAe,MAAM,CAAE,CAAW,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAC1G,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;QACpH,mEAAmE;QACnE,+EAA+E;QAC/E,gFAAgF;QAChF,qFAAqF;QACrF,MAAM,OAAO,GAAG,GAAG,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAE3D,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,yEAAyE;YACzE,6EAA6E;YAC7E,IAAI,CAAC;gBAAC,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YACnF,MAAM,CAAC,CAAC,6HAA6H;gBAAC,eAAe,GAAG,KAAK,CAAC;YAAC,CAAC;QAClK,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,MAAM,GAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;QAChG,IAAI,OAAO,KAAK,OAAO;YAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;QAC/D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2EAA2E;IAE3E,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7P,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,GAAG,IAAI,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnQ,gFAAgF;QAChF,IAAI,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,4EAA4E;YAC5E,yEAAyE;YACzE,6EAA6E;YAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC5E,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,GAAG,iEAAiE,CAAC,CAAC;gBACpG,yEAAyE;YAC3E,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAsB;QACnD,IAAI,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC;QACtG,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H;YAAC,OAAO,GAAG,mBAAmB,CAAC;QAAC,CAAC;QACxK,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IACpE,kBAAkB,CAAC,GAAW,EAAE,KAAa;QACnD,yEAAyE;QACzE,yEAAyE;QACzE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H;YACrI,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,2EAA2E;IAEnE,YAAY;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAkC,CAAC,CAAC;IACnF,CAAC;IAEO,aAAa,CAAC,MAAsB;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;YACvB,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/D,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC,CAAC,6HAA6H;YACzI,IAAI,CAAC,GAAG,CAAC,2BAA4B,CAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;YAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;gBAAE,OAAO,GAAG,CAAC;QACrF,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H,CAAC,UAAU,CAAC,CAAC;QACpJ,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC;YAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,6HAA6H,CAAC,iBAAiB,CAAC,CAAC;IAC/Q,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,CAAY;QACxB,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAEO,GAAG,CAAC,GAAW;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,CAAC;gBAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6HAA6H;gBAAC,OAAO,IAAI,CAAC;YAAC,CAAC;QACtM,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,CAAY;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK;YAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,cAAc,GAAG,IAAI,CAAC;YACtB,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,6HAA6H,CAAC,iBAAiB,CAAC,CAAC;YAAC,CAAC;QAC3N,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;QACjB,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YACnC,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QACtH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -25,6 +25,7 @@
25
25
  * Verdict: deterministic; safe-merge re-verifies at act time, so a misread
26
26
  * here can only cause a refusal, never an unintended merge.
27
27
  */
28
+ import { type AuthenticatedGitHubCliRuntime } from '../core/githubRuntime.js';
28
29
  import { GuardLatchStore, type GuardLatchEntry } from './GuardLatchStore.js';
29
30
  import { type GreenPrAutoMergerDeps } from './GreenPrAutoMerger.js';
30
31
  /** Protected globs (round-4/6): a PR touching these never auto-merges. */
@@ -70,6 +71,8 @@ export interface GreenPrWiringOpts {
70
71
  stderr: string;
71
72
  code: number;
72
73
  }>;
74
+ /** Test seam: explicit GitHub runtime shared by reads and safe-merge. */
75
+ githubRuntime?: () => AuthenticatedGitHubCliRuntime;
73
76
  }
74
77
  /** Build the GuardLatchStore for this install. */
75
78
  export declare function buildGuardLatchStore(opts: GreenPrWiringOpts): GuardLatchStore;
@@ -1 +1 @@
1
- {"version":3,"file":"greenPrAutomergeWiring.d.ts","sourceRoot":"","sources":["../../src/monitoring/greenPrAutomergeWiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAMH,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,wBAAwB,CAAC;AAGhC,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,UAoBnC,CAAC;AACF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAMxF;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAC1C,qCAAqC;IACrC,OAAO,CAAC,EAAE;QAAE,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;IACnE,8DAA8D;IAC9D,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxF;AAUD,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAU7E;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,qBAAqB,CA+JzG;AAuBD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAU3D"}
1
+ {"version":3,"file":"greenPrAutomergeWiring.d.ts","sourceRoot":"","sources":["../../src/monitoring/greenPrAutomergeWiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,EAGL,KAAK,6BAA6B,EACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,KAAK,qBAAqB,EAI3B,MAAM,wBAAwB,CAAC;AAGhC,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,UAoBnC,CAAC;AACF,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,UAElC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAMxF;AAED,oDAAoD;AACpD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAE7D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAC1C,qCAAqC;IACrC,OAAO,CAAC,EAAE;QAAE,cAAc,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;IACnE,8DAA8D;IAC9D,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,6BAA6B,CAAC;CACrD;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,eAAe,CAU7E;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,eAAe,GAAG,qBAAqB,CA2KzG;AAuBD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAU3D"}
@@ -27,7 +27,7 @@
27
27
  */
28
28
  import fs from 'node:fs';
29
29
  import path from 'node:path';
30
- import { execFile } from 'node:child_process';
30
+ import { createAuthenticatedGhExec, createAuthenticatedGitHubCliRuntimeResolver, } from '../core/githubRuntime.js';
31
31
  import { GuardLatchStore } from './GuardLatchStore.js';
32
32
  import { DefaultMergeRunner } from './MergeRunner.js';
33
33
  import { freshState, } from './GreenPrAutoMerger.js';
@@ -70,13 +70,6 @@ export function isAnalyzableGreenPrRepo(repoPath, safeMergePath) {
70
70
  export function diffTouchesProtected(files) {
71
71
  return files.some((f) => PROTECTED_PATH_PREFIXES.some((p) => f === p || f.startsWith(p)));
72
72
  }
73
- function gh(args) {
74
- return new Promise((resolve) => {
75
- execFile('gh', args, { maxBuffer: 16 * 1024 * 1024 }, (err, stdout, stderr) => {
76
- resolve({ stdout: stdout ?? '', stderr: stderr ?? '', code: err ? err.code ?? 1 : 0 });
77
- });
78
- });
79
- }
80
73
  /** Build the GuardLatchStore for this install. */
81
74
  export function buildGuardLatchStore(opts) {
82
75
  return new GuardLatchStore({
@@ -91,7 +84,12 @@ export function buildGuardLatchStore(opts) {
91
84
  }
92
85
  /** Build the full GreenPrAutoMerger deps (real gh adapters). */
93
86
  export function buildGreenPrDeps(opts, latches) {
94
- const exec = opts.ghExec ?? gh;
87
+ const githubRuntime = opts.githubRuntime
88
+ ?? createAuthenticatedGitHubCliRuntimeResolver({ stateDir: opts.stateDir });
89
+ const exec = opts.ghExec ?? createAuthenticatedGhExec({
90
+ stateDir: opts.stateDir,
91
+ resolveRuntime: githubRuntime,
92
+ });
95
93
  const now = opts.now ?? (() => Date.now());
96
94
  const runner = new DefaultMergeRunner({
97
95
  stateDir: opts.stateDir,
@@ -100,6 +98,14 @@ export function buildGreenPrDeps(opts, latches) {
100
98
  mergeTimeoutMs: opts.mergeTimeoutMs,
101
99
  mergeKillGraceMs: opts.mergeKillGraceMs,
102
100
  expectedContractVersion: 2,
101
+ resolveGitHubEnv: () => {
102
+ try {
103
+ return githubRuntime().env;
104
+ }
105
+ catch { /* @silent-fallback-ok: missing explicit GitHub identity makes the autonomous act path refuse */
106
+ return null;
107
+ }
108
+ },
103
109
  // mergerunner-auto-arm-handoff M2: the runner selects --auto vs --admin and
104
110
  // the auto-path deadline from these (config → GreenPrAutoMergerConfig →
105
111
  // buildGreenPrDeps → MergeRunnerConfig). Defaults keep the arm path.