@ankhorage/repository 0.6.15 → 0.7.0
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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/github/index.d.ts +3 -0
- package/dist/github/index.d.ts.map +1 -1
- package/dist/github/index.js +2 -0
- package/dist/github/index.js.map +1 -1
- package/dist/providers/github/adapters/createGitHubHttpClient.d.ts +17 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.d.ts.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.js +209 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.js.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.test.d.ts +2 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.test.d.ts.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.test.js +195 -0
- package/dist/providers/github/adapters/createGitHubHttpClient.test.js.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryDiscoveryGateway.d.ts +9 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryDiscoveryGateway.d.ts.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryDiscoveryGateway.js +91 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryDiscoveryGateway.js.map +1 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.d.ts +3 -1
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.d.ts.map +1 -1
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.js +27 -58
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.js.map +1 -1
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.test.js +162 -0
- package/dist/providers/github/adapters/createGitHubHttpRepositoryReadGateway.test.js.map +1 -1
- package/dist/providers/github/adapters/rateLimitResponseAsync.d.ts +9 -0
- package/dist/providers/github/adapters/rateLimitResponseAsync.d.ts.map +1 -0
- package/dist/providers/github/adapters/rateLimitResponseAsync.js +44 -0
- package/dist/providers/github/adapters/rateLimitResponseAsync.js.map +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryOptions.d.ts +10 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryOptions.d.ts.map +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryOptions.js +2 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryOptions.js.map +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryResult.d.ts +25 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryResult.d.ts.map +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryResult.js +12 -0
- package/dist/providers/github/definitions/GitHubRepositoryDiscoveryResult.js.map +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryMaterializationOptions.d.ts +1 -0
- package/dist/providers/github/definitions/GitHubRepositoryMaterializationOptions.d.ts.map +1 -1
- package/dist/providers/github/ports/GitHubRepositoryDiscoveryGateway.d.ts +18 -0
- package/dist/providers/github/ports/GitHubRepositoryDiscoveryGateway.d.ts.map +1 -0
- package/dist/providers/github/ports/GitHubRepositoryDiscoveryGateway.js +2 -0
- package/dist/providers/github/ports/GitHubRepositoryDiscoveryGateway.js.map +1 -0
- package/dist/providers/github/ports/GitHubRepositoryReadGateway.d.ts +4 -4
- package/dist/providers/github/ports/GitHubRepositoryReadGateway.d.ts.map +1 -1
- package/dist/providers/github/services/discoverGitHubRepositoriesAsync.d.ts +5 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesAsync.d.ts.map +1 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesAsync.js +9 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesAsync.js.map +1 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.d.ts +6 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.d.ts.map +1 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.js +91 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.js.map +1 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.test.d.ts +2 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.test.d.ts.map +1 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.test.js +55 -0
- package/dist/providers/github/services/discoverGitHubRepositoriesWithGatewayAsync.test.js.map +1 -0
- package/dist/providers/github/services/materializeGitHubRepositoryWithGatewayAsync.d.ts.map +1 -1
- package/dist/providers/github/services/materializeGitHubRepositoryWithGatewayAsync.js +21 -13
- package/dist/providers/github/services/materializeGitHubRepositoryWithGatewayAsync.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createGitHubHttpRepositoryDiscoveryGateway.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryDiscoveryGateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { GitHubRepositoryDiscoveryGateway } from '../ports/GitHubRepositoryDiscoveryGateway.js';
|
|
1
2
|
import type { GitHubRepositoryReadGateway } from '../ports/GitHubRepositoryReadGateway.js';
|
|
3
|
+
import type { GitHubHttpClientOptions } from './createGitHubHttpClient.js';
|
|
2
4
|
/*** Create the read-only GitHub gateway used to materialize repository snapshots over HTTPS. */
|
|
3
|
-
export declare function createGitHubHttpRepositoryReadGateway(fetcher?: typeof fetch): GitHubRepositoryReadGateway;
|
|
5
|
+
export declare function createGitHubHttpRepositoryReadGateway(fetcher?: typeof fetch, options?: GitHubHttpClientOptions): GitHubRepositoryReadGateway & GitHubRepositoryDiscoveryGateway;
|
|
4
6
|
//# sourceMappingURL=createGitHubHttpRepositoryReadGateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAM5B,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AACrG,OAAO,KAAK,EACV,2BAA2B,EAM5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAO3E,gGAAgG;AAChG,wBAAgB,qCAAqC,CACnD,OAAO,GAAE,OAAO,KAAa,EAC7B,OAAO,GAAE,uBAA4B,GACpC,2BAA2B,GAAG,gCAAgC,CAchE"}
|
|
@@ -1,26 +1,31 @@
|
|
|
1
|
+
import { createGitHubHttpClient } from './createGitHubHttpClient.js';
|
|
2
|
+
import { createGitHubHttpRepositoryDiscoveryGateway } from './createGitHubHttpRepositoryDiscoveryGateway.js';
|
|
3
|
+
const API_ORIGIN = 'https://api.github.com';
|
|
4
|
+
const RAW_ORIGIN = 'https://raw.githubusercontent.com';
|
|
1
5
|
/*** Create the read-only GitHub gateway used to materialize repository snapshots over HTTPS. */
|
|
2
|
-
export function createGitHubHttpRepositoryReadGateway(fetcher = fetch) {
|
|
6
|
+
export function createGitHubHttpRepositoryReadGateway(fetcher = fetch, options = {}) {
|
|
7
|
+
const client = createGitHubHttpClient(fetcher, options);
|
|
8
|
+
const discoveryGateway = createGitHubHttpRepositoryDiscoveryGateway((url, subject, signal) => client.requestJsonResponseAsync(url, subject, signal));
|
|
3
9
|
return {
|
|
4
|
-
inspectRepositoryAsync: (target) => inspectRepositoryAsync(
|
|
5
|
-
resolveRevisionAsync: (target, ref) => resolveRevisionAsync(
|
|
6
|
-
readTreeAsync: (target, treeSha) => readTreeAsync(
|
|
7
|
-
readFileAsync: (target, revision, path) => readFileAsync(
|
|
10
|
+
inspectRepositoryAsync: (target, signal) => inspectRepositoryAsync(client, target, signal),
|
|
11
|
+
resolveRevisionAsync: (target, ref, signal) => resolveRevisionAsync(client, target, ref, signal),
|
|
12
|
+
readTreeAsync: (target, treeSha, signal) => readTreeAsync(client, target, treeSha, signal),
|
|
13
|
+
readFileAsync: (target, revision, path, signal) => readFileAsync(client, target, revision, path, signal),
|
|
14
|
+
...discoveryGateway,
|
|
8
15
|
};
|
|
9
16
|
}
|
|
10
|
-
const API_ORIGIN = 'https://api.github.com';
|
|
11
|
-
const RAW_ORIGIN = 'https://raw.githubusercontent.com';
|
|
12
17
|
/*** Read repository metadata without mutating provider state. */
|
|
13
|
-
async function inspectRepositoryAsync(
|
|
14
|
-
const value = await
|
|
15
|
-
const record = requireRecord(value, 'repository metadata');
|
|
18
|
+
async function inspectRepositoryAsync(client, target, signal) {
|
|
19
|
+
const value = await client.requestJsonResponseAsync(`${API_ORIGIN}/repos/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}`, 'repository metadata', signal);
|
|
20
|
+
const record = requireRecord(value.value, 'repository metadata');
|
|
16
21
|
const defaultBranch = requireString(record.default_branch, 'repository default branch');
|
|
17
22
|
const url = typeof record.html_url === 'string' ? record.html_url : target.url;
|
|
18
23
|
return { defaultBranch, url };
|
|
19
24
|
}
|
|
20
25
|
/*** Resolve a branch, tag, or commit ref to an immutable commit and tree SHA. */
|
|
21
|
-
async function resolveRevisionAsync(
|
|
22
|
-
const value = await
|
|
23
|
-
const record = requireRecord(value, 'repository revision');
|
|
26
|
+
async function resolveRevisionAsync(client, target, ref, signal) {
|
|
27
|
+
const value = await client.requestJsonResponseAsync(`${API_ORIGIN}/repos/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}/commits/${encodeURIComponent(ref)}`, 'repository revision', signal);
|
|
28
|
+
const record = requireRecord(value.value, 'repository revision');
|
|
24
29
|
const commit = requireRecord(record.commit, 'repository commit');
|
|
25
30
|
const tree = requireRecord(commit.tree, 'repository commit tree');
|
|
26
31
|
return {
|
|
@@ -29,9 +34,9 @@ async function resolveRevisionAsync(fetcher, target, ref) {
|
|
|
29
34
|
};
|
|
30
35
|
}
|
|
31
36
|
/*** Read the complete recursive tree for one immutable Git tree SHA. */
|
|
32
|
-
async function readTreeAsync(
|
|
33
|
-
const value = await
|
|
34
|
-
const record = requireRecord(value, 'repository tree');
|
|
37
|
+
async function readTreeAsync(client, target, treeSha, signal) {
|
|
38
|
+
const value = await client.requestJsonResponseAsync(`${API_ORIGIN}/repos/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}/git/trees/${encodeURIComponent(treeSha)}?recursive=1`, 'repository tree', signal);
|
|
39
|
+
const record = requireRecord(value.value, 'repository tree');
|
|
35
40
|
if (!Array.isArray(record.tree))
|
|
36
41
|
throw new Error('GitHub returned an invalid repository tree.');
|
|
37
42
|
return {
|
|
@@ -40,27 +45,22 @@ async function readTreeAsync(fetcher, target, treeSha) {
|
|
|
40
45
|
};
|
|
41
46
|
}
|
|
42
47
|
/*** Read one file from an immutable GitHub revision without executing repository code. */
|
|
43
|
-
async function readFileAsync(
|
|
48
|
+
async function readFileAsync(client, target, revision, path, signal) {
|
|
44
49
|
const encodedPath = path
|
|
45
50
|
.split('/')
|
|
46
51
|
.map((segment) => encodeURIComponent(segment))
|
|
47
52
|
.join('/');
|
|
48
|
-
|
|
49
|
-
if (!response.ok)
|
|
50
|
-
throw requestError(response, 'repository file');
|
|
51
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
53
|
+
return client.requestBytesAsync(`${RAW_ORIGIN}/${encodeURIComponent(target.owner)}/${encodeURIComponent(target.name)}/${encodeURIComponent(revision)}/${encodedPath}`, 'repository file', signal);
|
|
52
54
|
}
|
|
53
55
|
/*** Parse one Git tree item while rejecting malformed provider responses. */
|
|
54
56
|
function parseTreeEntry(value) {
|
|
55
57
|
const record = requireRecord(value, 'repository tree entry');
|
|
56
58
|
const type = requireString(record.type, 'repository tree entry type');
|
|
57
|
-
if (type !== 'blob' && type !== 'tree' && type !== 'commit')
|
|
59
|
+
if (type !== 'blob' && type !== 'tree' && type !== 'commit')
|
|
58
60
|
throw new Error(`GitHub returned an unsupported repository tree entry type: ${type}.`);
|
|
59
|
-
}
|
|
60
61
|
const { size } = record;
|
|
61
|
-
if (size !== undefined && (typeof size !== 'number' || !Number.isSafeInteger(size) || size < 0))
|
|
62
|
+
if (size !== undefined && (typeof size !== 'number' || !Number.isSafeInteger(size) || size < 0))
|
|
62
63
|
throw new Error('GitHub returned an invalid repository tree entry size.');
|
|
63
|
-
}
|
|
64
64
|
return {
|
|
65
65
|
mode: requireString(record.mode, 'repository tree entry mode'),
|
|
66
66
|
path: requireString(record.path, 'repository tree entry path'),
|
|
@@ -69,47 +69,16 @@ function parseTreeEntry(value) {
|
|
|
69
69
|
...(size === undefined ? {} : { size }),
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
/*** Request GitHub JSON with stable safe errors and optional standard token authentication. */
|
|
73
|
-
async function requestJsonAsync(fetcher, url) {
|
|
74
|
-
const response = await fetcher(url, {
|
|
75
|
-
headers: requestHeaders(),
|
|
76
|
-
signal: AbortSignal.timeout(30_000),
|
|
77
|
-
});
|
|
78
|
-
if (!response.ok)
|
|
79
|
-
throw requestError(response, 'repository metadata');
|
|
80
|
-
try {
|
|
81
|
-
return await response.json();
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
throw new Error('GitHub returned malformed JSON.', { cause: error });
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/*** Build GitHub request headers without exposing credentials to callers or errors. */
|
|
88
|
-
function requestHeaders() {
|
|
89
|
-
const token = process.env.GITHUB_TOKEN ?? process.env.GH_TOKEN;
|
|
90
|
-
return {
|
|
91
|
-
Accept: 'application/vnd.github+json',
|
|
92
|
-
'User-Agent': '@ankhorage/repository',
|
|
93
|
-
'X-GitHub-Api-Version': '2022-11-28',
|
|
94
|
-
...(token ? { Authorization: `Bearer ${token}` } : {}),
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/*** Convert one failed provider response into a credential-free diagnostic. */
|
|
98
|
-
function requestError(response, subject) {
|
|
99
|
-
return new Error(`GitHub ${subject} request failed with HTTP ${response.status}.`);
|
|
100
|
-
}
|
|
101
72
|
/*** Narrow unknown JSON values to object records. */
|
|
102
73
|
function requireRecord(value, subject) {
|
|
103
|
-
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
74
|
+
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
104
75
|
throw new Error(`GitHub returned invalid ${subject}.`);
|
|
105
|
-
}
|
|
106
76
|
return Object.fromEntries(Object.entries(value));
|
|
107
77
|
}
|
|
108
78
|
/*** Require a non-empty provider string field. */
|
|
109
79
|
function requireString(value, subject) {
|
|
110
|
-
if (typeof value !== 'string' || value.trim() === '')
|
|
80
|
+
if (typeof value !== 'string' || value.trim() === '')
|
|
111
81
|
throw new Error(`GitHub returned invalid ${subject}.`);
|
|
112
|
-
}
|
|
113
82
|
return value;
|
|
114
83
|
}
|
|
115
84
|
//# sourceMappingURL=createGitHubHttpRepositoryReadGateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,131 @@ test('reads repository metadata, immutable revision, tree, and raw file content'
|
|
|
31
31
|
expect(Buffer.from(await gateway.readFileAsync(target, 'commit-sha', 'src/index.ts')).toString()).toBe('0123456789');
|
|
32
32
|
expect(urls).toContain('https://raw.githubusercontent.com/ankhorage/demo/commit-sha/src/index.ts');
|
|
33
33
|
});
|
|
34
|
+
test('resolves an organization and returns every sorted repository page', async () => {
|
|
35
|
+
const urls = [];
|
|
36
|
+
const gateway = createGitHubHttpRepositoryReadGateway(createDiscoveryFetchFixture(urls), {
|
|
37
|
+
waitAsync: () => Promise.resolve(),
|
|
38
|
+
});
|
|
39
|
+
const owner = await gateway.resolveOwnerAsync('ankhorage');
|
|
40
|
+
const repositories = await gateway.listOwnerRepositoriesAsync(owner);
|
|
41
|
+
expect(owner).toEqual({
|
|
42
|
+
login: 'Ankhorage',
|
|
43
|
+
type: 'organization',
|
|
44
|
+
url: 'https://github.com/Ankhorage',
|
|
45
|
+
});
|
|
46
|
+
expect(repositories).toEqual([
|
|
47
|
+
{
|
|
48
|
+
id: '1',
|
|
49
|
+
name: 'atlas',
|
|
50
|
+
owner: 'Ankhorage',
|
|
51
|
+
url: 'https://github.com/Ankhorage/atlas',
|
|
52
|
+
visibility: 'public',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: '2',
|
|
56
|
+
name: 'zora',
|
|
57
|
+
owner: 'Ankhorage',
|
|
58
|
+
url: 'https://github.com/Ankhorage/zora',
|
|
59
|
+
visibility: 'public',
|
|
60
|
+
},
|
|
61
|
+
]);
|
|
62
|
+
expect(urls).toHaveLength(3);
|
|
63
|
+
});
|
|
64
|
+
test('retries a GitHub rate limit and returns a stable rate-limit error after its retry budget', async () => {
|
|
65
|
+
let calls = 0;
|
|
66
|
+
const gateway = createGitHubHttpRepositoryReadGateway(((_input) => {
|
|
67
|
+
calls += 1;
|
|
68
|
+
return Promise.resolve(calls === 1
|
|
69
|
+
? new Response('', { status: 429, headers: { 'retry-after': '0' } })
|
|
70
|
+
: Response.json({
|
|
71
|
+
login: 'Ankhorage',
|
|
72
|
+
type: 'Organization',
|
|
73
|
+
html_url: 'https://github.com/Ankhorage',
|
|
74
|
+
}));
|
|
75
|
+
}), { waitAsync: () => Promise.resolve() });
|
|
76
|
+
expect(await gateway.resolveOwnerAsync('ankhorage')).toMatchObject({ type: 'organization' });
|
|
77
|
+
expect(calls).toBe(2);
|
|
78
|
+
const rateLimitedGateway = createGitHubHttpRepositoryReadGateway(((_input) => Promise.resolve(new Response('', { status: 429, headers: { 'retry-after': '0' } }))), { waitAsync: () => Promise.resolve() });
|
|
79
|
+
expect(rateLimitedGateway.resolveOwnerAsync('ankhorage')).rejects.toMatchObject({
|
|
80
|
+
code: 'rate-limited',
|
|
81
|
+
retryAfterMilliseconds: 0,
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
test('maps an aborted request to a stable cancellation error', () => {
|
|
85
|
+
const controller = new AbortController();
|
|
86
|
+
controller.abort();
|
|
87
|
+
const gateway = createGitHubHttpRepositoryReadGateway(((_input) => Promise.reject(new DOMException('Aborted', 'AbortError'))));
|
|
88
|
+
expect(gateway.resolveOwnerAsync('ankhorage', controller.signal)).rejects.toMatchObject({
|
|
89
|
+
code: 'cancelled',
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
test.each([
|
|
93
|
+
[
|
|
94
|
+
'metadata',
|
|
95
|
+
(gateway) => gateway.inspectRepositoryAsync(target()),
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
'revision',
|
|
99
|
+
(gateway) => gateway.resolveRevisionAsync(target(), 'main'),
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
'tree',
|
|
103
|
+
(gateway) => gateway.readTreeAsync(target(), 'tree-sha'),
|
|
104
|
+
],
|
|
105
|
+
[
|
|
106
|
+
'discovery',
|
|
107
|
+
(gateway) => gateway.resolveOwnerAsync('ankhorage'),
|
|
108
|
+
],
|
|
109
|
+
])('times out a hanging %s request', (_subject, request) => {
|
|
110
|
+
const gateway = createGitHubHttpRepositoryReadGateway(((_input) => new Promise(() => undefined)), { timeoutMilliseconds: 0 });
|
|
111
|
+
expect(request(gateway)).rejects.toMatchObject({ code: 'timeout' });
|
|
112
|
+
});
|
|
113
|
+
test('retries a secondary rate limit but does not retry a permission-only 403', () => {
|
|
114
|
+
let secondaryCalls = 0;
|
|
115
|
+
const secondaryGateway = createGitHubHttpRepositoryReadGateway(((_input) => {
|
|
116
|
+
secondaryCalls += 1;
|
|
117
|
+
return Promise.resolve(secondaryCalls === 1
|
|
118
|
+
? new Response('', { status: 403, headers: { 'retry-after': '0' } })
|
|
119
|
+
: Response.json({
|
|
120
|
+
login: 'Ankhorage',
|
|
121
|
+
type: 'Organization',
|
|
122
|
+
html_url: 'https://github.com/Ankhorage',
|
|
123
|
+
}));
|
|
124
|
+
}), { waitAsync: () => Promise.resolve() });
|
|
125
|
+
expect(secondaryGateway.resolveOwnerAsync('ankhorage')).resolves.toMatchObject({
|
|
126
|
+
type: 'organization',
|
|
127
|
+
});
|
|
128
|
+
expect(secondaryCalls).toBe(2);
|
|
129
|
+
let permissionCalls = 0;
|
|
130
|
+
const permissionGateway = createGitHubHttpRepositoryReadGateway(((_input) => {
|
|
131
|
+
permissionCalls += 1;
|
|
132
|
+
return Promise.resolve(new Response('', { status: 403 }));
|
|
133
|
+
}));
|
|
134
|
+
expect(permissionGateway.resolveOwnerAsync('ankhorage')).rejects.toMatchObject({
|
|
135
|
+
code: 'permission-denied',
|
|
136
|
+
});
|
|
137
|
+
expect(permissionCalls).toBe(1);
|
|
138
|
+
});
|
|
139
|
+
test('cancels during response processing and retry waits', () => {
|
|
140
|
+
const responseController = new AbortController();
|
|
141
|
+
const responseGateway = createGitHubHttpRepositoryReadGateway(((_input) => Promise.resolve({
|
|
142
|
+
ok: true,
|
|
143
|
+
headers: new Headers(),
|
|
144
|
+
json: () => new Promise(() => undefined),
|
|
145
|
+
})));
|
|
146
|
+
const responseRequest = responseGateway.resolveOwnerAsync('ankhorage', responseController.signal);
|
|
147
|
+
responseController.abort();
|
|
148
|
+
expect(responseRequest).rejects.toMatchObject({ code: 'cancelled' });
|
|
149
|
+
const retryController = new AbortController();
|
|
150
|
+
const retryGateway = createGitHubHttpRepositoryReadGateway(((_input) => Promise.resolve(new Response('', { status: 429, headers: { 'retry-after': '10' } }))));
|
|
151
|
+
const retryRequest = retryGateway.resolveOwnerAsync('ankhorage', retryController.signal);
|
|
152
|
+
retryController.abort();
|
|
153
|
+
expect(retryRequest).rejects.toMatchObject({ code: 'cancelled' });
|
|
154
|
+
});
|
|
155
|
+
/** Create a stable repository target used by HTTP gateway behavior tests. */
|
|
156
|
+
function target() {
|
|
157
|
+
return { owner: 'ankhorage', name: 'demo', url: 'https://github.com/ankhorage/demo' };
|
|
158
|
+
}
|
|
34
159
|
function createFetchFixture(urls) {
|
|
35
160
|
return ((input) => {
|
|
36
161
|
const url = requestUrl(input);
|
|
@@ -77,4 +202,41 @@ function responseForUrl(url) {
|
|
|
77
202
|
}
|
|
78
203
|
return new Response('', { status: 404 });
|
|
79
204
|
}
|
|
205
|
+
function createDiscoveryFetchFixture(urls) {
|
|
206
|
+
return ((input) => {
|
|
207
|
+
const url = requestUrl(input);
|
|
208
|
+
urls.push(url);
|
|
209
|
+
if (url.endsWith('/users/ankhorage')) {
|
|
210
|
+
return Promise.resolve(Response.json({
|
|
211
|
+
login: 'Ankhorage',
|
|
212
|
+
type: 'Organization',
|
|
213
|
+
html_url: 'https://github.com/Ankhorage',
|
|
214
|
+
}));
|
|
215
|
+
}
|
|
216
|
+
if (url.includes('page=2')) {
|
|
217
|
+
return Promise.resolve(Response.json([
|
|
218
|
+
{
|
|
219
|
+
id: 2,
|
|
220
|
+
name: 'zora',
|
|
221
|
+
owner: { login: 'Ankhorage' },
|
|
222
|
+
html_url: 'https://github.com/Ankhorage/zora',
|
|
223
|
+
private: false,
|
|
224
|
+
},
|
|
225
|
+
]));
|
|
226
|
+
}
|
|
227
|
+
return Promise.resolve(Response.json([
|
|
228
|
+
{
|
|
229
|
+
id: 1,
|
|
230
|
+
name: 'atlas',
|
|
231
|
+
owner: { login: 'Ankhorage' },
|
|
232
|
+
html_url: 'https://github.com/Ankhorage/atlas',
|
|
233
|
+
private: false,
|
|
234
|
+
},
|
|
235
|
+
], {
|
|
236
|
+
headers: {
|
|
237
|
+
link: '<https://api.github.com/orgs/Ankhorage/repos?per_page=100&type=all&sort=full_name&direction=asc&page=2>; rel="next"',
|
|
238
|
+
},
|
|
239
|
+
}));
|
|
240
|
+
});
|
|
241
|
+
}
|
|
80
242
|
//# sourceMappingURL=createGitHubHttpRepositoryReadGateway.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.test.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createGitHubHttpRepositoryReadGateway.test.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/createGitHubHttpRepositoryReadGateway.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*** Classify GitHub primary, secondary, and Retry-After rate-limit responses. */
|
|
2
|
+
export declare function rateLimitResponseAsync(response: Response, now: () => number, readMessageAsync: ReadGitHubErrorMessageAsync): Promise<GitHubRateLimitResponse>;
|
|
3
|
+
export interface GitHubRateLimitResponse {
|
|
4
|
+
readonly isRateLimited: boolean;
|
|
5
|
+
readonly retryAfterMilliseconds?: number;
|
|
6
|
+
}
|
|
7
|
+
type ReadGitHubErrorMessageAsync = (response: Response) => Promise<string | undefined>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=rateLimitResponseAsync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitResponseAsync.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/adapters/rateLimitResponseAsync.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,MAAM,EACjB,gBAAgB,EAAE,2BAA2B,GAC5C,OAAO,CAAC,uBAAuB,CAAC,CAiBlC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,KAAK,2BAA2B,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*** Classify GitHub primary, secondary, and Retry-After rate-limit responses. */
|
|
2
|
+
export async function rateLimitResponseAsync(response, now, readMessageAsync) {
|
|
3
|
+
const retryAfterMilliseconds = readRetryAfterMilliseconds(response);
|
|
4
|
+
if (response.status !== 403 && response.status !== 429)
|
|
5
|
+
return { isRateLimited: false };
|
|
6
|
+
const primaryRateLimitExceeded = response.headers.get('x-ratelimit-remaining') === '0';
|
|
7
|
+
if (primaryRateLimitExceeded) {
|
|
8
|
+
return {
|
|
9
|
+
isRateLimited: true,
|
|
10
|
+
retryAfterMilliseconds: laterRateLimitDeadlineMilliseconds(readResetDelayMilliseconds(response, now), retryAfterMilliseconds),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
if (response.status === 429)
|
|
14
|
+
return { isRateLimited: true, retryAfterMilliseconds };
|
|
15
|
+
if (retryAfterMilliseconds !== undefined)
|
|
16
|
+
return { isRateLimited: true, retryAfterMilliseconds };
|
|
17
|
+
const message = await readMessageAsync(response);
|
|
18
|
+
return { isRateLimited: message !== undefined && /\bsecondary rate limit\b/iu.test(message) };
|
|
19
|
+
}
|
|
20
|
+
/*** Keep every provider-required rate-limit deadline by selecting the later valid delay. */
|
|
21
|
+
function laterRateLimitDeadlineMilliseconds(primaryResetDelayMilliseconds, retryAfterMilliseconds) {
|
|
22
|
+
if (primaryResetDelayMilliseconds === undefined)
|
|
23
|
+
return retryAfterMilliseconds;
|
|
24
|
+
if (retryAfterMilliseconds === undefined)
|
|
25
|
+
return primaryResetDelayMilliseconds;
|
|
26
|
+
return Math.max(primaryResetDelayMilliseconds, retryAfterMilliseconds);
|
|
27
|
+
}
|
|
28
|
+
/*** Read a syntactically valid non-negative Retry-After delay without discarding provider timing. */
|
|
29
|
+
function readRetryAfterMilliseconds(response) {
|
|
30
|
+
const value = response.headers.get('retry-after');
|
|
31
|
+
if (!value || !/^\d+(?:\.\d+)?$/u.test(value))
|
|
32
|
+
return undefined;
|
|
33
|
+
const milliseconds = Number(value) * 1000;
|
|
34
|
+
return Number.isSafeInteger(milliseconds) ? milliseconds : undefined;
|
|
35
|
+
}
|
|
36
|
+
/*** Read a valid primary-rate-limit reset timestamp without discarding a delay beyond the retry budget. */
|
|
37
|
+
function readResetDelayMilliseconds(response, now) {
|
|
38
|
+
const value = response.headers.get('x-ratelimit-reset');
|
|
39
|
+
if (!value || !/^\d+$/u.test(value))
|
|
40
|
+
return undefined;
|
|
41
|
+
const milliseconds = Number(value) * 1000 - now();
|
|
42
|
+
return Number.isSafeInteger(milliseconds) && milliseconds >= 0 ? milliseconds : undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=rateLimitResponseAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rateLimitResponseAsync.js","sourceRoot":"","sources":["../../../../src/providers/github/adapters/rateLimitResponseAsync.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB,EAClB,GAAiB,EACjB,gBAA6C;IAE7C,MAAM,sBAAsB,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;IACxF,MAAM,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG,CAAC;IACvF,IAAI,wBAAwB,EAAE,CAAC;QAC7B,OAAO;YACL,aAAa,EAAE,IAAI;YACnB,sBAAsB,EAAE,kCAAkC,CACxD,0BAA0B,CAAC,QAAQ,EAAE,GAAG,CAAC,EACzC,sBAAsB,CACvB;SACF,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;IACpF,IAAI,sBAAsB,KAAK,SAAS;QAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC;IACjG,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,EAAE,aAAa,EAAE,OAAO,KAAK,SAAS,IAAI,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;AAChG,CAAC;AASD,4FAA4F;AAC5F,SAAS,kCAAkC,CACzC,6BAAiD,EACjD,sBAA0C;IAE1C,IAAI,6BAA6B,KAAK,SAAS;QAAE,OAAO,sBAAsB,CAAC;IAC/E,IAAI,sBAAsB,KAAK,SAAS;QAAE,OAAO,6BAA6B,CAAC;IAC/E,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,sBAAsB,CAAC,CAAC;AACzE,CAAC;AAED,qGAAqG;AACrG,SAAS,0BAA0B,CAAC,QAAkB;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,2GAA2G;AAC3G,SAAS,0BAA0B,CAAC,QAAkB,EAAE,GAAiB;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC;IAClD,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5F,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Explicit credential policy for GitHub operations that may be exposed through an application endpoint. */
|
|
2
|
+
export type GitHubRepositoryAuthentication = 'anonymous' | 'environment';
|
|
3
|
+
/** Options for discovering the repositories visible under one GitHub owner source. */
|
|
4
|
+
export interface GitHubRepositoryDiscoveryOptions {
|
|
5
|
+
readonly source: string;
|
|
6
|
+
/** Defaults to anonymous access so a public discovery endpoint cannot inherit server credentials. */
|
|
7
|
+
readonly authentication?: GitHubRepositoryAuthentication;
|
|
8
|
+
readonly signal?: AbortSignal;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=GitHubRepositoryDiscoveryOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryOptions.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryDiscoveryOptions.ts"],"names":[],"mappings":"AAAA,4GAA4G;AAC5G,MAAM,MAAM,8BAA8B,GAAG,WAAW,GAAG,aAAa,CAAC;AAEzE,sFAAsF;AACtF,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,8BAA8B,CAAC;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryOptions.js","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryDiscoveryOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export type GitHubOwnerType = 'organization' | 'user';
|
|
2
|
+
export interface GitHubRepositoryDiscoveryRepository {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly owner: string;
|
|
6
|
+
readonly url: string;
|
|
7
|
+
readonly visibility: 'private' | 'public';
|
|
8
|
+
}
|
|
9
|
+
export interface GitHubRepositoryDiscoveryResult {
|
|
10
|
+
readonly owner: {
|
|
11
|
+
readonly login: string;
|
|
12
|
+
readonly type: GitHubOwnerType;
|
|
13
|
+
readonly url: string;
|
|
14
|
+
};
|
|
15
|
+
readonly repositories: readonly GitHubRepositoryDiscoveryRepository[];
|
|
16
|
+
readonly selectedRepository?: GitHubRepositoryDiscoveryRepository;
|
|
17
|
+
}
|
|
18
|
+
export type GitHubRepositoryDiscoveryErrorCode = 'api-failure' | 'cancelled' | 'invalid-source' | 'owner-not-found' | 'permission-denied' | 'rate-limited' | 'timeout';
|
|
19
|
+
/** A stable, credential-free error reported by GitHub repository discovery. */
|
|
20
|
+
export declare class GitHubRepositoryDiscoveryError extends Error {
|
|
21
|
+
readonly code: GitHubRepositoryDiscoveryErrorCode;
|
|
22
|
+
readonly retryAfterMilliseconds?: number | undefined;
|
|
23
|
+
constructor(code: GitHubRepositoryDiscoveryErrorCode, message: string, retryAfterMilliseconds?: number | undefined);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=GitHubRepositoryDiscoveryResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryResult.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryDiscoveryResult.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;QAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,YAAY,EAAE,SAAS,mCAAmC,EAAE,CAAC;IACtE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,mCAAmC,CAAC;CACnE;AAED,MAAM,MAAM,kCAAkC,GAC1C,aAAa,GACb,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,cAAc,GACd,SAAS,CAAC;AAEd,+EAA+E;AAC/E,qBAAa,8BAA+B,SAAQ,KAAK;aAErC,IAAI,EAAE,kCAAkC;aAExC,sBAAsB,CAAC,EAAE,MAAM;gBAF/B,IAAI,EAAE,kCAAkC,EACxD,OAAO,EAAE,MAAM,EACC,sBAAsB,CAAC,EAAE,MAAM,YAAA;CAKlD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** A stable, credential-free error reported by GitHub repository discovery. */
|
|
2
|
+
export class GitHubRepositoryDiscoveryError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
retryAfterMilliseconds;
|
|
5
|
+
constructor(code, message, retryAfterMilliseconds) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.code = code;
|
|
8
|
+
this.retryAfterMilliseconds = retryAfterMilliseconds;
|
|
9
|
+
this.name = 'GitHubRepositoryDiscoveryError';
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=GitHubRepositoryDiscoveryResult.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryResult.js","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryDiscoveryResult.ts"],"names":[],"mappings":"AA6BA,+EAA+E;AAC/E,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAErC;IAEA;IAHlB,YACkB,IAAwC,EACxD,OAAe,EACC,sBAA+B;QAE/C,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAoC;QAExC,2BAAsB,GAAtB,sBAAsB,CAAS;QAG/C,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubRepositoryMaterializationOptions.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryMaterializationOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryMaterializationOptions.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/definitions/GitHubRepositoryMaterializationOptions.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface GitHubRepositoryOwner {
|
|
2
|
+
readonly login: string;
|
|
3
|
+
readonly type: 'organization' | 'user';
|
|
4
|
+
readonly url: string;
|
|
5
|
+
}
|
|
6
|
+
export interface GitHubDiscoveredRepository {
|
|
7
|
+
readonly id: string;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly owner: string;
|
|
10
|
+
readonly url: string;
|
|
11
|
+
readonly visibility: 'private' | 'public';
|
|
12
|
+
}
|
|
13
|
+
/** Read-only provider boundary for GitHub owner resolution and repository discovery. */
|
|
14
|
+
export interface GitHubRepositoryDiscoveryGateway {
|
|
15
|
+
resolveOwnerAsync(owner: string, signal?: AbortSignal): Promise<GitHubRepositoryOwner>;
|
|
16
|
+
listOwnerRepositoriesAsync(owner: GitHubRepositoryOwner, signal?: AbortSignal): Promise<readonly GitHubDiscoveredRepository[]>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=GitHubRepositoryDiscoveryGateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryGateway.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/ports/GitHubRepositoryDiscoveryGateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC3C;AAED,wFAAwF;AACxF,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvF,0BAA0B,CACxB,KAAK,EAAE,qBAAqB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,0BAA0B,EAAE,CAAC,CAAC;CACnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryDiscoveryGateway.js","sourceRoot":"","sources":["../../../../src/providers/github/ports/GitHubRepositoryDiscoveryGateway.ts"],"names":[],"mappings":""}
|
|
@@ -23,9 +23,9 @@ export interface GitHubRepositoryTree {
|
|
|
23
23
|
readonly truncated: boolean;
|
|
24
24
|
}
|
|
25
25
|
export interface GitHubRepositoryReadGateway {
|
|
26
|
-
inspectRepositoryAsync(target: GitHubRepositoryReadTarget): Promise<GitHubRepositoryReadMetadata>;
|
|
27
|
-
resolveRevisionAsync(target: GitHubRepositoryReadTarget, ref: string): Promise<GitHubRepositoryRevision>;
|
|
28
|
-
readTreeAsync(target: GitHubRepositoryReadTarget, treeSha: string): Promise<GitHubRepositoryTree>;
|
|
29
|
-
readFileAsync(target: GitHubRepositoryReadTarget, revision: string, path: string): Promise<Uint8Array>;
|
|
26
|
+
inspectRepositoryAsync(target: GitHubRepositoryReadTarget, signal?: AbortSignal): Promise<GitHubRepositoryReadMetadata>;
|
|
27
|
+
resolveRevisionAsync(target: GitHubRepositoryReadTarget, ref: string, signal?: AbortSignal): Promise<GitHubRepositoryRevision>;
|
|
28
|
+
readTreeAsync(target: GitHubRepositoryReadTarget, treeSha: string, signal?: AbortSignal): Promise<GitHubRepositoryTree>;
|
|
29
|
+
readFileAsync(target: GitHubRepositoryReadTarget, revision: string, path: string, signal?: AbortSignal): Promise<Uint8Array>;
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=GitHubRepositoryReadGateway.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubRepositoryReadGateway.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/ports/GitHubRepositoryReadGateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,sBAAsB,
|
|
1
|
+
{"version":3,"file":"GitHubRepositoryReadGateway.d.ts","sourceRoot":"","sources":["../../../../src/providers/github/ports/GitHubRepositoryReadGateway.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,oBAAoB,CAClB,MAAM,EAAE,0BAA0B,EAClC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,aAAa,CACX,MAAM,EAAE,0BAA0B,EAClC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACjC,aAAa,CACX,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;CACxB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GitHubRepositoryDiscoveryOptions } from '../definitions/GitHubRepositoryDiscoveryOptions.js';
|
|
2
|
+
import type { GitHubRepositoryDiscoveryResult } from '../definitions/GitHubRepositoryDiscoveryResult.js';
|
|
3
|
+
/** Discover accessible repositories through the canonical anonymous-capable GitHub HTTPS adapter. */
|
|
4
|
+
export declare function discoverGitHubRepositoriesAsync(options: GitHubRepositoryDiscoveryOptions): Promise<GitHubRepositoryDiscoveryResult>;
|
|
5
|
+
//# sourceMappingURL=discoverGitHubRepositoriesAsync.d.ts.map
|