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.
- package/dist/core/githubRuntime.d.ts +96 -0
- package/dist/core/githubRuntime.d.ts.map +1 -0
- package/dist/core/githubRuntime.js +213 -0
- package/dist/core/githubRuntime.js.map +1 -0
- package/dist/monitoring/CiFailurePoller.d.ts +30 -1
- package/dist/monitoring/CiFailurePoller.d.ts.map +1 -1
- package/dist/monitoring/CiFailurePoller.js +5 -2
- package/dist/monitoring/CiFailurePoller.js.map +1 -1
- package/dist/monitoring/MergeRunner.d.ts +5 -0
- package/dist/monitoring/MergeRunner.d.ts.map +1 -1
- package/dist/monitoring/MergeRunner.js +10 -2
- package/dist/monitoring/MergeRunner.js.map +1 -1
- package/dist/monitoring/greenPrAutomergeWiring.d.ts +3 -0
- package/dist/monitoring/greenPrAutomergeWiring.d.ts.map +1 -1
- package/dist/monitoring/greenPrAutomergeWiring.js +15 -9
- package/dist/monitoring/greenPrAutomergeWiring.js.map +1 -1
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +2 -1
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/throughputRoutes.d.ts +11 -7
- package/dist/server/throughputRoutes.d.ts.map +1 -1
- package/dist/server/throughputRoutes.js +99 -29
- package/dist/server/throughputRoutes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.3.939.md +33 -0
- package/upgrades/side-effects/throughput-github-runtime-repair.md +155 -0
|
@@ -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":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAA2B,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAEnF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,6BAA6B;;CAM3C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,4BAA4B;;CAM1C;AAED,MAAM,WAAW,yBAA0B,SAAQ,qBAAqB;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAED,kFAAkF;AAClF,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,yBAA8B,GAAG,MAAM,GAAG,IAAI,CAOzF;AAED,8DAA8D;AAC9D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,yBAAyB,GAAG;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,MAAM,MAAM,GAAG,IAAI,CAWtB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,MAAM,GAAG,IAAI,CAsB3F;AAkBD,MAAM,MAAM,qBAAqB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AACrF,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAErF,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;CACxB;AAED,UAAU,iCAAkC,SAAQ,yBAAyB;IAC3E,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,iCAAiC,GACzC,MAAM,6BAA6B,CAgCrC;AAED,UAAU,sBAAuB,SAAQ,iCAAiC;IACxE,cAAc,CAAC,EAAE,MAAM,6BAA6B,CAAC;IACrD,YAAY,CAAC,EAAE,OAAO,QAAQ,CAAC;CAChC;AAED,8EAA8E;AAC9E,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,sBAAsB,GAAG,mBAAmB,CAiC9F;AAED,UAAU,0BAA2B,SAAQ,iCAAiC;IAC5E,cAAc,CAAC,EAAE,MAAM,6BAA6B,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,gBAAgB,CAAC,EAAE,OAAO,YAAY,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iEAAiE;AACjE,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,0BAA0B,GAClC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAa5B;AAED,0DAA0D;AAC1D,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAEnG;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,CAAC,CAAC,CAqB1F"}
|
|
@@ -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
|
-
/**
|
|
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":"
|
|
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 {
|
|
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
|
-
(
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAExF,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,yEAAyE;IACzE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,yFAAyF;IACzF,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAAuB;gBAE7B,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe;IAMzD;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,OAAO,CAA6C;IACrF,0EAA0E;IAC1E,IAAI,oBAAoB,IAAI,MAAM,CAA4C;IAIxE,aAAa,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MergeRunner.d.ts","sourceRoot":"","sources":["../../src/monitoring/MergeRunner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAExF,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iEAAiE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,gBAAgB,EAAE,MAAM,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;IACjD;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,yEAAyE;IACzE,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,yFAAyF;IACzF,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,uEAAuE;IACvE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,uDAAuD;IACvD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,2DAA2D;IAC3D,OAAO,CAAC,UAAU,CAAuB;gBAE7B,GAAG,EAAE,iBAAiB,EAAE,IAAI,EAAE,eAAe;IAMzD;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,MAAM,GAAG,OAAO,CAA6C;IACrF,0EAA0E;IAC1E,IAAI,oBAAoB,IAAI,MAAM,CAA4C;IAIxE,aAAa,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBjE,OAAO,CAAC,UAAU;IAWZ,GAAG,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IA8EnD,UAAU,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YA6BpD,gBAAgB;IAU9B,4EAA4E;IAC5E,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,GAAG;CAGZ;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS7D"}
|
|
@@ -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:
|
|
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: { ...
|
|
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":"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"}
|
|
@@ -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;
|
|
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 {
|
|
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
|
|
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.
|