@pulsemcp/air-provider-github 0.12.0 → 0.12.1
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/git.d.ts +123 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +259 -0
- package/dist/git.js.map +1 -0
- package/dist/github-provider.d.ts +14 -0
- package/dist/github-provider.d.ts.map +1 -1
- package/dist/github-provider.js +82 -55
- package/dist/github-provider.js.map +1 -1
- package/package.json +2 -2
package/dist/git.d.ts
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resilient git execution for the GitHub catalog provider.
|
|
3
|
+
*
|
|
4
|
+
* The provider shells out to `git clone` / `git fetch` against github.com to
|
|
5
|
+
* materialize catalog repos. Those network calls have two failure modes that
|
|
6
|
+
* must be bounded so a single transient github.com hiccup does not fail (or
|
|
7
|
+
* worse, indefinitely hang) every consumer of `air prepare`:
|
|
8
|
+
*
|
|
9
|
+
* 1. A transient TLS stall / `ETIMEDOUT` / connection reset makes git exit
|
|
10
|
+
* non-zero. A retry seconds later usually succeeds.
|
|
11
|
+
* 2. A half-open HTTPS connection that never sends a TCP reset makes git's
|
|
12
|
+
* fetch-pack hang forever with no output and no recovery.
|
|
13
|
+
*
|
|
14
|
+
* {@link runBounded} addresses (2) by running git as its own process-group
|
|
15
|
+
* leader and SIGKILLing the entire group on a wall-clock deadline — git spawns
|
|
16
|
+
* helper processes (`git-remote-https`, `index-pack`) that must die too, not
|
|
17
|
+
* just the parent. Node's own `spawnSync`/`child.kill()` timeout only signals
|
|
18
|
+
* the direct child, which can leave those helpers alive and the transfer wedged.
|
|
19
|
+
*
|
|
20
|
+
* {@link withGitRetry} addresses (1) by retrying transient/timeout failures with
|
|
21
|
+
* backoff, surfacing a clear error only after retries are exhausted.
|
|
22
|
+
*/
|
|
23
|
+
/** Error raised when a git command exits non-zero. Carries stderr/stdout/code. */
|
|
24
|
+
export declare class GitError extends Error {
|
|
25
|
+
readonly stdout: string;
|
|
26
|
+
readonly stderr: string;
|
|
27
|
+
readonly code: number | null;
|
|
28
|
+
constructor(message: string, opts?: {
|
|
29
|
+
stdout?: string;
|
|
30
|
+
stderr?: string;
|
|
31
|
+
code?: number | null;
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Raised when a bounded subprocess exceeds its timeout and its process group
|
|
36
|
+
* is killed. Always treated as transient by {@link withGitRetry} — a hung clone
|
|
37
|
+
* that we killed has no deterministic cause, so a fresh retry is warranted.
|
|
38
|
+
*/
|
|
39
|
+
export declare class GitTimeoutError extends GitError {
|
|
40
|
+
constructor(message: string);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Belt-and-suspenders environment applied to every network git invocation,
|
|
44
|
+
* before the hard watchdog kicks in:
|
|
45
|
+
* - `GIT_HTTP_LOW_SPEED_LIMIT` / `GIT_HTTP_LOW_SPEED_TIME`: ask git itself to
|
|
46
|
+
* abort an HTTP transfer that drops below ~1 KB/s for 60s, so a stalled
|
|
47
|
+
* fetch fails fast with a transient error instead of crawling up to the
|
|
48
|
+
* full timeout.
|
|
49
|
+
* - `GIT_TERMINAL_PROMPT=0`: a missing-credential case fails immediately
|
|
50
|
+
* instead of blocking forever on an interactive username/password prompt.
|
|
51
|
+
* All overridable via the corresponding env vars on the parent process.
|
|
52
|
+
*/
|
|
53
|
+
export declare const GIT_STALL_ENV: Record<string, string>;
|
|
54
|
+
/** Wall-clock cap (ms) for a single network git invocation (clone/fetch). */
|
|
55
|
+
export declare const CLONE_TIMEOUT_MS: number;
|
|
56
|
+
/** Wall-clock cap (ms) for a local git invocation (init/remote/checkout/...). */
|
|
57
|
+
export declare const LOCAL_GIT_TIMEOUT_MS: number;
|
|
58
|
+
/**
|
|
59
|
+
* Backoff (ms) between clone retries on transient failures. The number of
|
|
60
|
+
* retries is the list length (so the default makes up to 4 attempts total).
|
|
61
|
+
* Overridable via a comma-separated `AIR_GIT_CLONE_RETRY_DELAYS_MS` list.
|
|
62
|
+
*/
|
|
63
|
+
export declare const CLONE_RETRY_DELAYS_MS: number[];
|
|
64
|
+
/** Whether a git failure message looks like a transient github.com hiccup. */
|
|
65
|
+
export declare function isTransientGitError(message: string): boolean;
|
|
66
|
+
export interface GitLogger {
|
|
67
|
+
info(message: string): void;
|
|
68
|
+
warn(message: string): void;
|
|
69
|
+
}
|
|
70
|
+
/** Default logger: writes diagnostics to stderr (stdout is reserved for output). */
|
|
71
|
+
export declare const defaultGitLogger: GitLogger;
|
|
72
|
+
export interface RunBoundedOptions {
|
|
73
|
+
cwd?: string;
|
|
74
|
+
/** Extra environment merged onto the parent process env. */
|
|
75
|
+
env?: Record<string, string>;
|
|
76
|
+
/** Wall-clock deadline in milliseconds before the process group is killed. */
|
|
77
|
+
timeoutMs: number;
|
|
78
|
+
}
|
|
79
|
+
export interface RunResult {
|
|
80
|
+
stdout: string;
|
|
81
|
+
stderr: string;
|
|
82
|
+
code: number | null;
|
|
83
|
+
signal: NodeJS.Signals | null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Run a command as its own process-group leader under a wall-clock timeout,
|
|
87
|
+
* SIGKILLing the entire group on deadline. Resolves with captured
|
|
88
|
+
* stdout/stderr and the exit code/signal (does NOT reject on a non-zero exit —
|
|
89
|
+
* callers decide what a non-zero code means). Rejects with {@link GitTimeoutError}
|
|
90
|
+
* if the deadline is exceeded, or with the spawn error if the binary cannot be
|
|
91
|
+
* launched.
|
|
92
|
+
*/
|
|
93
|
+
export declare function runBounded(command: string, args: string[], opts: RunBoundedOptions): Promise<RunResult>;
|
|
94
|
+
export interface RunGitOptions extends RunBoundedOptions {
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Run a single `git` invocation under a bounded timeout. Resolves with
|
|
98
|
+
* stdout/stderr on a zero exit; throws {@link GitError} on a non-zero exit (with
|
|
99
|
+
* stderr/stdout/code attached) or {@link GitTimeoutError} on a watchdog kill.
|
|
100
|
+
*/
|
|
101
|
+
export declare function runGit(args: string[], opts: RunGitOptions): Promise<{
|
|
102
|
+
stdout: string;
|
|
103
|
+
stderr: string;
|
|
104
|
+
}>;
|
|
105
|
+
export interface WithGitRetryOptions {
|
|
106
|
+
/** Backoff delays (ms); list length is the number of retries. */
|
|
107
|
+
retryDelaysMs?: number[];
|
|
108
|
+
/** Injectable sleep (tests pass a no-op to skip real delays). */
|
|
109
|
+
sleep?: (ms: number) => Promise<void>;
|
|
110
|
+
logger?: GitLogger;
|
|
111
|
+
/** Human-readable label for log lines (e.g. "owner/repo@ref"). */
|
|
112
|
+
label?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Run an async git operation, retrying with backoff on transient/timeout
|
|
116
|
+
* failures. A {@link GitTimeoutError} (watchdog kill) is always retried; other
|
|
117
|
+
* errors are retried only when their message matches a transient signature.
|
|
118
|
+
* Non-transient failures (auth, missing repo) raise immediately so we don't
|
|
119
|
+
* pointlessly retry a deterministic error. The final failure after retries are
|
|
120
|
+
* exhausted is logged at warn level; intermediate attempts at info.
|
|
121
|
+
*/
|
|
122
|
+
export declare function withGitRetry<T>(operation: () => Promise<T>, opts?: WithGitRetryOptions): Promise<T>;
|
|
123
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,kFAAkF;AAClF,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAO;CAOnG;AAED;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAEF,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,QAAiD,CAAC;AAE/E,iFAAiF;AACjF,eAAO,MAAM,oBAAoB,QAAiD,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAGzC,CAAC;AAiCF,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,EAAE,SAG9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,SAAS,CAAC,CAoDpB;AAoBD,MAAM,WAAW,aAAc,SAAQ,iBAAiB;CAAG;AAE3D;;;;GAIG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7C;AAED,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iEAAiE;IACjE,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,CAAC,CAAC,CAiCZ"}
|
package/dist/git.js
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
import { spawn } from "child_process";
|
|
2
|
+
/**
|
|
3
|
+
* Resilient git execution for the GitHub catalog provider.
|
|
4
|
+
*
|
|
5
|
+
* The provider shells out to `git clone` / `git fetch` against github.com to
|
|
6
|
+
* materialize catalog repos. Those network calls have two failure modes that
|
|
7
|
+
* must be bounded so a single transient github.com hiccup does not fail (or
|
|
8
|
+
* worse, indefinitely hang) every consumer of `air prepare`:
|
|
9
|
+
*
|
|
10
|
+
* 1. A transient TLS stall / `ETIMEDOUT` / connection reset makes git exit
|
|
11
|
+
* non-zero. A retry seconds later usually succeeds.
|
|
12
|
+
* 2. A half-open HTTPS connection that never sends a TCP reset makes git's
|
|
13
|
+
* fetch-pack hang forever with no output and no recovery.
|
|
14
|
+
*
|
|
15
|
+
* {@link runBounded} addresses (2) by running git as its own process-group
|
|
16
|
+
* leader and SIGKILLing the entire group on a wall-clock deadline — git spawns
|
|
17
|
+
* helper processes (`git-remote-https`, `index-pack`) that must die too, not
|
|
18
|
+
* just the parent. Node's own `spawnSync`/`child.kill()` timeout only signals
|
|
19
|
+
* the direct child, which can leave those helpers alive and the transfer wedged.
|
|
20
|
+
*
|
|
21
|
+
* {@link withGitRetry} addresses (1) by retrying transient/timeout failures with
|
|
22
|
+
* backoff, surfacing a clear error only after retries are exhausted.
|
|
23
|
+
*/
|
|
24
|
+
/** Error raised when a git command exits non-zero. Carries stderr/stdout/code. */
|
|
25
|
+
export class GitError extends Error {
|
|
26
|
+
stdout;
|
|
27
|
+
stderr;
|
|
28
|
+
code;
|
|
29
|
+
constructor(message, opts = {}) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = "GitError";
|
|
32
|
+
this.stdout = opts.stdout ?? "";
|
|
33
|
+
this.stderr = opts.stderr ?? "";
|
|
34
|
+
this.code = opts.code ?? null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Raised when a bounded subprocess exceeds its timeout and its process group
|
|
39
|
+
* is killed. Always treated as transient by {@link withGitRetry} — a hung clone
|
|
40
|
+
* that we killed has no deterministic cause, so a fresh retry is warranted.
|
|
41
|
+
*/
|
|
42
|
+
export class GitTimeoutError extends GitError {
|
|
43
|
+
constructor(message) {
|
|
44
|
+
super(message);
|
|
45
|
+
this.name = "GitTimeoutError";
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Belt-and-suspenders environment applied to every network git invocation,
|
|
50
|
+
* before the hard watchdog kicks in:
|
|
51
|
+
* - `GIT_HTTP_LOW_SPEED_LIMIT` / `GIT_HTTP_LOW_SPEED_TIME`: ask git itself to
|
|
52
|
+
* abort an HTTP transfer that drops below ~1 KB/s for 60s, so a stalled
|
|
53
|
+
* fetch fails fast with a transient error instead of crawling up to the
|
|
54
|
+
* full timeout.
|
|
55
|
+
* - `GIT_TERMINAL_PROMPT=0`: a missing-credential case fails immediately
|
|
56
|
+
* instead of blocking forever on an interactive username/password prompt.
|
|
57
|
+
* All overridable via the corresponding env vars on the parent process.
|
|
58
|
+
*/
|
|
59
|
+
export const GIT_STALL_ENV = {
|
|
60
|
+
GIT_HTTP_LOW_SPEED_LIMIT: process.env.GIT_HTTP_LOW_SPEED_LIMIT ?? "1000",
|
|
61
|
+
GIT_HTTP_LOW_SPEED_TIME: process.env.GIT_HTTP_LOW_SPEED_TIME ?? "60",
|
|
62
|
+
GIT_TERMINAL_PROMPT: "0",
|
|
63
|
+
};
|
|
64
|
+
/** Wall-clock cap (ms) for a single network git invocation (clone/fetch). */
|
|
65
|
+
export const CLONE_TIMEOUT_MS = readIntEnv("AIR_GIT_CLONE_TIMEOUT_MS", 60_000);
|
|
66
|
+
/** Wall-clock cap (ms) for a local git invocation (init/remote/checkout/...). */
|
|
67
|
+
export const LOCAL_GIT_TIMEOUT_MS = readIntEnv("AIR_GIT_LOCAL_TIMEOUT_MS", 30_000);
|
|
68
|
+
/**
|
|
69
|
+
* Backoff (ms) between clone retries on transient failures. The number of
|
|
70
|
+
* retries is the list length (so the default makes up to 4 attempts total).
|
|
71
|
+
* Overridable via a comma-separated `AIR_GIT_CLONE_RETRY_DELAYS_MS` list.
|
|
72
|
+
*/
|
|
73
|
+
export const CLONE_RETRY_DELAYS_MS = readIntListEnv("AIR_GIT_CLONE_RETRY_DELAYS_MS", [5000, 10000, 20000]);
|
|
74
|
+
/**
|
|
75
|
+
* Signatures of transient github.com failures worth retrying — network blips
|
|
76
|
+
* and 5xx responses, as opposed to deterministic errors (auth failure, missing
|
|
77
|
+
* repo/ref) that would fail identically on every retry.
|
|
78
|
+
*/
|
|
79
|
+
const TRANSIENT_GIT_ERROR_PATTERNS = [
|
|
80
|
+
/ETIMEDOUT/i,
|
|
81
|
+
/ECONNRESET/i,
|
|
82
|
+
/ECONNREFUSED/i,
|
|
83
|
+
/EAI_AGAIN/i,
|
|
84
|
+
/ENETUNREACH/i,
|
|
85
|
+
/ENOTFOUND/i,
|
|
86
|
+
/Could not resolve host/i,
|
|
87
|
+
/Connection timed out/i,
|
|
88
|
+
/Connection reset by peer/i,
|
|
89
|
+
/early EOF/i,
|
|
90
|
+
/unexpected EOF/i,
|
|
91
|
+
/RPC failed/i,
|
|
92
|
+
/Couldn't connect to server/i,
|
|
93
|
+
/fetch-pack: unexpected disconnect/i,
|
|
94
|
+
/remote: Internal Server Error/i,
|
|
95
|
+
/The requested URL returned error: 5\d\d/i,
|
|
96
|
+
/unable to access .* 5\d\d/i,
|
|
97
|
+
// A TLS *connection* that drops mid-transfer is transient; deterministic TLS
|
|
98
|
+
// problems (cert verification failures, etc.) phrase differently and are not
|
|
99
|
+
// matched here, so we don't pointlessly retry them.
|
|
100
|
+
/TLS connection/i,
|
|
101
|
+
/SSL_ERROR/i,
|
|
102
|
+
/gnutls_handshake/i,
|
|
103
|
+
];
|
|
104
|
+
/** Whether a git failure message looks like a transient github.com hiccup. */
|
|
105
|
+
export function isTransientGitError(message) {
|
|
106
|
+
return TRANSIENT_GIT_ERROR_PATTERNS.some((re) => re.test(message));
|
|
107
|
+
}
|
|
108
|
+
/** Default logger: writes diagnostics to stderr (stdout is reserved for output). */
|
|
109
|
+
export const defaultGitLogger = {
|
|
110
|
+
info: (message) => process.stderr.write(`[air-provider-github] ${message}\n`),
|
|
111
|
+
warn: (message) => process.stderr.write(`[air-provider-github] ${message}\n`),
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Run a command as its own process-group leader under a wall-clock timeout,
|
|
115
|
+
* SIGKILLing the entire group on deadline. Resolves with captured
|
|
116
|
+
* stdout/stderr and the exit code/signal (does NOT reject on a non-zero exit —
|
|
117
|
+
* callers decide what a non-zero code means). Rejects with {@link GitTimeoutError}
|
|
118
|
+
* if the deadline is exceeded, or with the spawn error if the binary cannot be
|
|
119
|
+
* launched.
|
|
120
|
+
*/
|
|
121
|
+
export function runBounded(command, args, opts) {
|
|
122
|
+
return new Promise((resolve, reject) => {
|
|
123
|
+
const child = spawn(command, args, {
|
|
124
|
+
cwd: opts.cwd,
|
|
125
|
+
env: { ...process.env, ...opts.env },
|
|
126
|
+
// New process group so we can signal the whole tree (git spawns
|
|
127
|
+
// git-remote-https / index-pack helpers that must die with it).
|
|
128
|
+
detached: true,
|
|
129
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
130
|
+
});
|
|
131
|
+
let stdout = "";
|
|
132
|
+
let stderr = "";
|
|
133
|
+
let timedOut = false;
|
|
134
|
+
let settled = false;
|
|
135
|
+
const timer = setTimeout(() => {
|
|
136
|
+
timedOut = true;
|
|
137
|
+
killGroup(child.pid);
|
|
138
|
+
}, opts.timeoutMs);
|
|
139
|
+
// Don't let the watchdog timer keep the event loop alive on its own.
|
|
140
|
+
if (typeof timer.unref === "function")
|
|
141
|
+
timer.unref();
|
|
142
|
+
child.stdout?.on("data", (chunk) => {
|
|
143
|
+
stdout += chunk.toString();
|
|
144
|
+
});
|
|
145
|
+
child.stderr?.on("data", (chunk) => {
|
|
146
|
+
stderr += chunk.toString();
|
|
147
|
+
});
|
|
148
|
+
child.on("error", (err) => {
|
|
149
|
+
if (settled)
|
|
150
|
+
return;
|
|
151
|
+
settled = true;
|
|
152
|
+
clearTimeout(timer);
|
|
153
|
+
reject(err);
|
|
154
|
+
});
|
|
155
|
+
child.on("close", (code, signal) => {
|
|
156
|
+
if (settled)
|
|
157
|
+
return;
|
|
158
|
+
settled = true;
|
|
159
|
+
clearTimeout(timer);
|
|
160
|
+
if (timedOut) {
|
|
161
|
+
reject(new GitTimeoutError(`${command} ${args.join(" ")} timed out after ${opts.timeoutMs}ms (process group killed)`));
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
resolve({ stdout, stderr, code, signal });
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* SIGKILL an entire process group (negative pid). Best-effort: the process may
|
|
170
|
+
* already have exited, or we may lack permission, in which case we fall back to
|
|
171
|
+
* killing just the leader.
|
|
172
|
+
*/
|
|
173
|
+
function killGroup(pid) {
|
|
174
|
+
if (pid === undefined)
|
|
175
|
+
return;
|
|
176
|
+
try {
|
|
177
|
+
process.kill(-pid, "SIGKILL");
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
try {
|
|
181
|
+
process.kill(pid, "SIGKILL");
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
// Already gone — nothing to do.
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Run a single `git` invocation under a bounded timeout. Resolves with
|
|
190
|
+
* stdout/stderr on a zero exit; throws {@link GitError} on a non-zero exit (with
|
|
191
|
+
* stderr/stdout/code attached) or {@link GitTimeoutError} on a watchdog kill.
|
|
192
|
+
*/
|
|
193
|
+
export async function runGit(args, opts) {
|
|
194
|
+
const result = await runBounded("git", args, opts);
|
|
195
|
+
if (result.code !== 0) {
|
|
196
|
+
const detail = (result.stderr || result.stdout || "").trim();
|
|
197
|
+
throw new GitError(`git ${args.join(" ")} exited with code ${result.code}${detail ? `: ${detail}` : ""}`, { stdout: result.stdout, stderr: result.stderr, code: result.code });
|
|
198
|
+
}
|
|
199
|
+
return { stdout: result.stdout, stderr: result.stderr };
|
|
200
|
+
}
|
|
201
|
+
const defaultSleep = (ms) => new Promise((resolve) => {
|
|
202
|
+
const t = setTimeout(resolve, ms);
|
|
203
|
+
if (typeof t.unref === "function")
|
|
204
|
+
t.unref();
|
|
205
|
+
});
|
|
206
|
+
/**
|
|
207
|
+
* Run an async git operation, retrying with backoff on transient/timeout
|
|
208
|
+
* failures. A {@link GitTimeoutError} (watchdog kill) is always retried; other
|
|
209
|
+
* errors are retried only when their message matches a transient signature.
|
|
210
|
+
* Non-transient failures (auth, missing repo) raise immediately so we don't
|
|
211
|
+
* pointlessly retry a deterministic error. The final failure after retries are
|
|
212
|
+
* exhausted is logged at warn level; intermediate attempts at info.
|
|
213
|
+
*/
|
|
214
|
+
export async function withGitRetry(operation, opts = {}) {
|
|
215
|
+
const retryDelaysMs = opts.retryDelaysMs ?? CLONE_RETRY_DELAYS_MS;
|
|
216
|
+
const sleep = opts.sleep ?? defaultSleep;
|
|
217
|
+
const logger = opts.logger ?? defaultGitLogger;
|
|
218
|
+
const label = opts.label ? ` (${opts.label})` : "";
|
|
219
|
+
const maxAttempts = retryDelaysMs.length + 1;
|
|
220
|
+
let attempt = 0;
|
|
221
|
+
for (;;) {
|
|
222
|
+
attempt += 1;
|
|
223
|
+
try {
|
|
224
|
+
return await operation();
|
|
225
|
+
}
|
|
226
|
+
catch (err) {
|
|
227
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
228
|
+
const transient = err instanceof GitTimeoutError || isTransientGitError(message);
|
|
229
|
+
if (transient && attempt < maxAttempts) {
|
|
230
|
+
const delay = retryDelaysMs[attempt - 1];
|
|
231
|
+
logger.info(`git operation failed transiently${label}, retrying attempt=${attempt} sleep_ms=${delay} error=${message}`);
|
|
232
|
+
await sleep(delay);
|
|
233
|
+
continue;
|
|
234
|
+
}
|
|
235
|
+
if (transient) {
|
|
236
|
+
logger.warn(`git operation failed after ${attempt} attempts${label}: ${message}`);
|
|
237
|
+
}
|
|
238
|
+
throw err;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
function readIntEnv(name, fallback) {
|
|
243
|
+
const raw = process.env[name];
|
|
244
|
+
if (raw === undefined)
|
|
245
|
+
return fallback;
|
|
246
|
+
const parsed = Number.parseInt(raw, 10);
|
|
247
|
+
return Number.isFinite(parsed) && parsed > 0 ? parsed : fallback;
|
|
248
|
+
}
|
|
249
|
+
function readIntListEnv(name, fallback) {
|
|
250
|
+
const raw = process.env[name];
|
|
251
|
+
if (raw === undefined)
|
|
252
|
+
return fallback;
|
|
253
|
+
const parsed = raw
|
|
254
|
+
.split(",")
|
|
255
|
+
.map((s) => Number.parseInt(s.trim(), 10))
|
|
256
|
+
.filter((n) => Number.isFinite(n) && n >= 0);
|
|
257
|
+
return parsed.length > 0 ? parsed : fallback;
|
|
258
|
+
}
|
|
259
|
+
//# sourceMappingURL=git.js.map
|
package/dist/git.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CatalogProvider, CacheFreshnessWarning, CacheRefreshResult } from "@pulsemcp/air-core";
|
|
2
|
+
import { GitLogger } from "./git.js";
|
|
2
3
|
export interface GitHubUri {
|
|
3
4
|
owner: string;
|
|
4
5
|
repo: string;
|
|
@@ -27,6 +28,12 @@ export interface GitHubProviderOptions {
|
|
|
27
28
|
* merging those sources and calling `configure({ gitProtocol })`.
|
|
28
29
|
*/
|
|
29
30
|
gitProtocol?: GitProtocol;
|
|
31
|
+
/**
|
|
32
|
+
* Sink for clone retry/timeout diagnostics. Defaults to writing to stderr.
|
|
33
|
+
* Injectable for tests and for hosts that route logs elsewhere. Lines are
|
|
34
|
+
* token-redacted before they reach this logger.
|
|
35
|
+
*/
|
|
36
|
+
logger?: GitLogger;
|
|
30
37
|
}
|
|
31
38
|
/**
|
|
32
39
|
* Parse a github:// URI into its components.
|
|
@@ -73,7 +80,14 @@ export declare class GitHubCatalogProvider implements CatalogProvider {
|
|
|
73
80
|
scheme: string;
|
|
74
81
|
private token;
|
|
75
82
|
private gitProtocol;
|
|
83
|
+
private baseLogger;
|
|
76
84
|
constructor(options?: GitHubProviderOptions);
|
|
85
|
+
/**
|
|
86
|
+
* A logger that strips the GitHub token from every line before emitting it.
|
|
87
|
+
* The clone URL embeds the token for HTTPS auth, and that URL appears in git
|
|
88
|
+
* error messages (and our own retry diagnostics), so redact before logging.
|
|
89
|
+
*/
|
|
90
|
+
private get logger();
|
|
77
91
|
/**
|
|
78
92
|
* Apply runtime options merged from air.json and caller overrides. Called
|
|
79
93
|
* by the SDK before `resolve()` / `refreshCache()` runs. Currently honors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-provider.d.ts","sourceRoot":"","sources":["../src/github-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github-provider.d.ts","sourceRoot":"","sources":["../src/github-provider.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,SAAS,EAIV,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAuDrD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E;AAkBD;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,MAAM,SAAY;IAClB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAY;gBAElB,OAAO,CAAC,EAAE,qBAAqB;IAS3C;;;;OAIG;IACH,OAAO,KAAK,MAAM,GAOjB;IAED;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASjD;;;OAGG;IACH,cAAc,IAAI,WAAW;IAIvB,OAAO,CACX,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAyBnC;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAK7B;;;;;;;;OAQG;IACG,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBrD;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAiBjD;;;;OAIG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA8DtE;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA0GnD;;;;;;;OAOG;YACW,WAAW;IA+JzB;;;;;;;OAOG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAUlD;;;OAGG;IACH,OAAO,CAAC,cAAc;CAMvB"}
|
package/dist/github-provider.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { execFileSync } from "child_process";
|
|
2
1
|
import { existsSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, renameSync, rmSync, } from "fs";
|
|
3
2
|
import { resolve, dirname } from "path";
|
|
4
3
|
import lockfile from "proper-lockfile";
|
|
4
|
+
import { CLONE_TIMEOUT_MS, defaultGitLogger, GIT_STALL_ENV, LOCAL_GIT_TIMEOUT_MS, runGit, withGitRetry, } from "./git.js";
|
|
5
5
|
const DEFAULT_GIT_PROTOCOL = "ssh";
|
|
6
6
|
function normalizeGitProtocol(value, fallback) {
|
|
7
7
|
if (value === "ssh" || value === "https")
|
|
@@ -133,9 +133,24 @@ export class GitHubCatalogProvider {
|
|
|
133
133
|
scheme = "github";
|
|
134
134
|
token;
|
|
135
135
|
gitProtocol;
|
|
136
|
+
baseLogger;
|
|
136
137
|
constructor(options) {
|
|
137
138
|
this.token = options?.token || process.env.AIR_GITHUB_TOKEN;
|
|
138
139
|
this.gitProtocol = normalizeGitProtocol(options?.gitProtocol ?? process.env.AIR_GIT_PROTOCOL, DEFAULT_GIT_PROTOCOL);
|
|
140
|
+
this.baseLogger = options?.logger ?? defaultGitLogger;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* A logger that strips the GitHub token from every line before emitting it.
|
|
144
|
+
* The clone URL embeds the token for HTTPS auth, and that URL appears in git
|
|
145
|
+
* error messages (and our own retry diagnostics), so redact before logging.
|
|
146
|
+
*/
|
|
147
|
+
get logger() {
|
|
148
|
+
const token = this.token;
|
|
149
|
+
const base = this.baseLogger;
|
|
150
|
+
return {
|
|
151
|
+
info: (message) => base.info(redactToken(message, token)),
|
|
152
|
+
warn: (message) => base.warn(redactToken(message, token)),
|
|
153
|
+
};
|
|
139
154
|
}
|
|
140
155
|
/**
|
|
141
156
|
* Apply runtime options merged from air.json and caller overrides. Called
|
|
@@ -251,21 +266,19 @@ export class GitHubCatalogProvider {
|
|
|
251
266
|
if (!existsSync(resolve(cloneDir, ".git")))
|
|
252
267
|
continue;
|
|
253
268
|
try {
|
|
254
|
-
const localSha =
|
|
269
|
+
const localSha = (await runGit(["rev-parse", "HEAD"], {
|
|
255
270
|
cwd: cloneDir,
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
}).trim();
|
|
271
|
+
env: GIT_STALL_ENV,
|
|
272
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
273
|
+
})).stdout.trim();
|
|
260
274
|
const lsRemoteArgs = ref === "HEAD"
|
|
261
275
|
? ["ls-remote", "origin", "HEAD"]
|
|
262
276
|
: ["ls-remote", "origin", ref];
|
|
263
|
-
const lsOutput =
|
|
277
|
+
const lsOutput = (await runGit(lsRemoteArgs, {
|
|
264
278
|
cwd: cloneDir,
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
}).trim();
|
|
279
|
+
env: GIT_STALL_ENV,
|
|
280
|
+
timeoutMs: CLONE_TIMEOUT_MS,
|
|
281
|
+
})).stdout.trim();
|
|
269
282
|
if (!lsOutput)
|
|
270
283
|
continue;
|
|
271
284
|
// ls-remote output: "<sha>\t<refname>" — take first line's SHA
|
|
@@ -336,34 +349,32 @@ export class GitHubCatalogProvider {
|
|
|
336
349
|
}
|
|
337
350
|
try {
|
|
338
351
|
// Get current SHA before fetch
|
|
339
|
-
const beforeSha =
|
|
352
|
+
const beforeSha = (await runGit(["rev-parse", "HEAD"], {
|
|
340
353
|
cwd: cloneDir,
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
}).trim();
|
|
354
|
+
env: GIT_STALL_ENV,
|
|
355
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
356
|
+
})).stdout.trim();
|
|
345
357
|
// Fetch latest
|
|
346
358
|
const fetchArgs = ref === "HEAD"
|
|
347
359
|
? ["fetch", "--depth", "1", "origin"]
|
|
348
360
|
: ["fetch", "--depth", "1", "origin", ref];
|
|
349
|
-
|
|
361
|
+
await runGit(fetchArgs, {
|
|
350
362
|
cwd: cloneDir,
|
|
351
|
-
|
|
352
|
-
|
|
363
|
+
env: GIT_STALL_ENV,
|
|
364
|
+
timeoutMs: CLONE_TIMEOUT_MS,
|
|
353
365
|
});
|
|
354
366
|
// Reset to fetched commit
|
|
355
367
|
const resetRef = ref === "HEAD" ? "origin/HEAD" : "FETCH_HEAD";
|
|
356
|
-
|
|
368
|
+
await runGit(["reset", "--hard", resetRef], {
|
|
357
369
|
cwd: cloneDir,
|
|
358
|
-
|
|
359
|
-
|
|
370
|
+
env: GIT_STALL_ENV,
|
|
371
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
360
372
|
});
|
|
361
|
-
const afterSha =
|
|
373
|
+
const afterSha = (await runGit(["rev-parse", "HEAD"], {
|
|
362
374
|
cwd: cloneDir,
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
}).trim();
|
|
375
|
+
env: GIT_STALL_ENV,
|
|
376
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
377
|
+
})).stdout.trim();
|
|
367
378
|
if (afterSha !== beforeSha) {
|
|
368
379
|
results.push({
|
|
369
380
|
label,
|
|
@@ -442,34 +453,50 @@ export class GitHubCatalogProvider {
|
|
|
442
453
|
// same process hit the same millisecond.
|
|
443
454
|
const tmpDir = mkdtempSync(`${cloneDir}.tmp-`);
|
|
444
455
|
try {
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
});
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
456
|
+
// The whole clone-into-tmp is the retried unit: a transient github.com
|
|
457
|
+
// failure (ETIMEDOUT, TLS stall, 5xx) or a watchdog-killed hang retries
|
|
458
|
+
// from a clean empty tmp dir with backoff. Local steps (init, checkout)
|
|
459
|
+
// are not transient, so a failure there raises immediately. The bounded
|
|
460
|
+
// timeout on each git call kills the whole process group on deadline, so
|
|
461
|
+
// a half-open connection during fetch-pack can't hang the clone forever.
|
|
462
|
+
await withGitRetry(async () => {
|
|
463
|
+
// Start each attempt from a clean, empty tmp dir — git clone refuses
|
|
464
|
+
// a non-empty target, and a prior attempt may have left partial state.
|
|
465
|
+
if (existsSync(tmpDir)) {
|
|
466
|
+
rmSync(tmpDir, { recursive: true, force: true });
|
|
467
|
+
}
|
|
468
|
+
mkdirSync(tmpDir, { recursive: true });
|
|
469
|
+
if (isImmutableRef(ref)) {
|
|
470
|
+
// `git clone --branch <sha>` does not work — git treats --branch as
|
|
471
|
+
// a ref name lookup. For commit SHAs we init + fetch + checkout so
|
|
472
|
+
// the SHA-pinned cache is content-addressed and immutable.
|
|
473
|
+
await runGit(["init", "--quiet", tmpDir], {
|
|
474
|
+
env: GIT_STALL_ENV,
|
|
475
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
476
|
+
});
|
|
477
|
+
await runGit(["remote", "add", "origin", repoUrl], {
|
|
478
|
+
cwd: tmpDir,
|
|
479
|
+
env: GIT_STALL_ENV,
|
|
480
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
481
|
+
});
|
|
482
|
+
await runGit(["fetch", "--depth", "1", "origin", ref], {
|
|
483
|
+
cwd: tmpDir,
|
|
484
|
+
env: GIT_STALL_ENV,
|
|
485
|
+
timeoutMs: CLONE_TIMEOUT_MS,
|
|
486
|
+
});
|
|
487
|
+
await runGit(["checkout", "--quiet", "FETCH_HEAD"], {
|
|
488
|
+
cwd: tmpDir,
|
|
489
|
+
env: GIT_STALL_ENV,
|
|
490
|
+
timeoutMs: LOCAL_GIT_TIMEOUT_MS,
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
const args = ref === "HEAD"
|
|
495
|
+
? ["clone", "--depth", "1", repoUrl, tmpDir]
|
|
496
|
+
: ["clone", "--depth", "1", "--branch", ref, repoUrl, tmpDir];
|
|
497
|
+
await runGit(args, { env: GIT_STALL_ENV, timeoutMs: CLONE_TIMEOUT_MS });
|
|
498
|
+
}
|
|
499
|
+
}, { logger: this.logger, label: `${owner}/${repo}@${ref}` });
|
|
473
500
|
// Atomic publish: readers only ever see a complete clone at
|
|
474
501
|
// cloneDir, never a half-populated one.
|
|
475
502
|
renameSync(tmpDir, cloneDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-provider.js","sourceRoot":"","sources":["../src/github-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"github-provider.js","sourceRoot":"","sources":["../src/github-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulsemcp/air-provider-github",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"lint": "tsc --noEmit"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@pulsemcp/air-core": "0.12.
|
|
32
|
+
"@pulsemcp/air-core": "0.12.1",
|
|
33
33
|
"proper-lockfile": "^4.1.2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|