@paysdoc/devplatform 1.0.0 → 1.2.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/README.md +74 -13
- package/dist/git/branchOps.d.ts +5 -3
- package/dist/git/branchOps.d.ts.map +1 -1
- package/dist/git/branchOps.js +5 -3
- package/dist/git/branchOps.js.map +1 -1
- package/dist/git/commitOps.d.ts +5 -1
- package/dist/git/commitOps.d.ts.map +1 -1
- package/dist/git/commitOps.js +5 -1
- package/dist/git/commitOps.js.map +1 -1
- package/dist/git/index.d.ts +24 -11
- package/dist/git/index.d.ts.map +1 -1
- package/dist/git/index.js +24 -11
- package/dist/git/index.js.map +1 -1
- package/dist/git/literalTokenProvider.d.ts +26 -0
- package/dist/git/literalTokenProvider.d.ts.map +1 -0
- package/dist/git/literalTokenProvider.js +12 -0
- package/dist/git/literalTokenProvider.js.map +1 -0
- package/dist/providers/forgeCredentials.d.ts +74 -0
- package/dist/providers/forgeCredentials.d.ts.map +1 -0
- package/dist/providers/forgeCredentials.js +87 -0
- package/dist/providers/forgeCredentials.js.map +1 -0
- package/dist/providers/forgeProviders.d.ts +2 -2
- package/dist/providers/forgeProviders.d.ts.map +1 -1
- package/dist/providers/forgeProviders.js +3 -3
- package/dist/providers/forgeProviders.js.map +1 -1
- package/dist/providers/github/commands/prCommands.js +1 -1
- package/dist/providers/github/commands/prCommands.js.map +1 -1
- package/dist/providers/github/ghRepoApi.d.ts +6 -4
- package/dist/providers/github/ghRepoApi.d.ts.map +1 -1
- package/dist/providers/github/ghRepoApi.js +6 -4
- package/dist/providers/github/ghRepoApi.js.map +1 -1
- package/dist/providers/github/githubIdentity.d.ts +15 -0
- package/dist/providers/github/githubIdentity.d.ts.map +1 -1
- package/dist/providers/github/githubIdentity.js +19 -3
- package/dist/providers/github/githubIdentity.js.map +1 -1
- package/dist/providers/github/githubTokenProvider.d.ts +5 -4
- package/dist/providers/github/githubTokenProvider.d.ts.map +1 -1
- package/dist/providers/github/githubTokenProvider.js +5 -10
- package/dist/providers/github/githubTokenProvider.js.map +1 -1
- package/dist/providers/github/index.d.ts +10 -0
- package/dist/providers/github/index.d.ts.map +1 -1
- package/dist/providers/github/index.js +14 -0
- package/dist/providers/github/index.js.map +1 -1
- package/dist/providers/github/mappers.d.ts +2 -1
- package/dist/providers/github/mappers.d.ts.map +1 -1
- package/dist/providers/github/mappers.js +4 -1
- package/dist/providers/github/mappers.js.map +1 -1
- package/dist/providers/gitlab/gitlabIdentity.d.ts +29 -0
- package/dist/providers/gitlab/gitlabIdentity.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabIdentity.js +38 -0
- package/dist/providers/gitlab/gitlabIdentity.js.map +1 -0
- package/dist/providers/gitlab/gitlabTokenProvider.d.ts +20 -0
- package/dist/providers/gitlab/gitlabTokenProvider.d.ts.map +1 -0
- package/dist/providers/gitlab/gitlabTokenProvider.js +28 -0
- package/dist/providers/gitlab/gitlabTokenProvider.js.map +1 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/jira/jiraApiClient.d.ts +3 -2
- package/dist/providers/jira/jiraApiClient.d.ts.map +1 -1
- package/dist/providers/jira/jiraApiClient.js +2 -1
- package/dist/providers/jira/jiraApiClient.js.map +1 -1
- package/dist/providers/jira/jiraIssueTracker.d.ts.map +1 -1
- package/dist/providers/jira/jiraIssueTracker.js +2 -0
- package/dist/providers/jira/jiraIssueTracker.js.map +1 -1
- package/dist/providers/jira/jiraTypes.d.ts +2 -0
- package/dist/providers/jira/jiraTypes.d.ts.map +1 -1
- package/dist/providers/types.d.ts +9 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* createForgeCredentials() — the forge-keyed credential factory (issue #9),
|
|
3
|
+
* a sibling of `forgeProviders()`. Resolves a `TokenProvider` and a
|
|
4
|
+
* bootstrap `GitIdentity` from a forge name alone, dispatching on
|
|
5
|
+
* `forge.codeHost` the same way `forgeProviders()` dispatches for the
|
|
6
|
+
* tracker, code host and board — the consumer never names GitHub or GitLab.
|
|
7
|
+
*
|
|
8
|
+
* Since issue #11, the GitHub barrel also re-exports the GitHub-named helpers
|
|
9
|
+
* that build these values (`createGitHubTokenProvider`, `resolveContextToken`,
|
|
10
|
+
* `getInstallationToken`, `isGitHubAppConfigured`, `resolveBootstrapGitIdentity`,
|
|
11
|
+
* `ghAuthToken`) so ADW's launch boundary can switch over to the published
|
|
12
|
+
* package with no behaviour change. This factory remains the forge-neutral,
|
|
13
|
+
* recommended route — it composes exactly those functions — and still
|
|
14
|
+
* re-exports only the `GitHubAppConfig`/`AppAuthDeps` *types*: the GitHub
|
|
15
|
+
* barrel must not re-export them too, or `src/providers/index.ts`'s `export *`
|
|
16
|
+
* over both barrels would collide (TS2308).
|
|
17
|
+
*
|
|
18
|
+
* Side-effect contract: construction never resolves a token — the returned
|
|
19
|
+
* `TokenProvider` resolves per `credentialEnv` call, unmemoised, exactly as
|
|
20
|
+
* `createGitHubTokenProvider`/`createGitLabTokenProvider` do on their own
|
|
21
|
+
* (the only cache on the path is `appAuth.ts`'s expiry-aware
|
|
22
|
+
* installation-token cache). Construction DOES perform the bootstrap
|
|
23
|
+
* identity reads (environment, then `git config` when needed) eagerly,
|
|
24
|
+
* exactly as `resolveBootstrapGitIdentity`/`resolveGitLabBootstrapGitIdentity`
|
|
25
|
+
* do today.
|
|
26
|
+
*/
|
|
27
|
+
import { validateRepoIdentifier } from './types.js';
|
|
28
|
+
import { CODE_HOST_FORGES, isCodeHostForge, UnknownForgeError } from './forgeProviders.js';
|
|
29
|
+
import { createGitHubTokenProvider } from './github/githubTokenProvider.js';
|
|
30
|
+
import { resolveBootstrapGitIdentity } from './github/githubIdentity.js';
|
|
31
|
+
import { isGitHubAppConfigured, getInstallationToken } from './github/appAuth.js';
|
|
32
|
+
import { ghAuthToken as defaultGhAuthToken } from './github/ghAuthToken.js';
|
|
33
|
+
import { createGitLabTokenProvider } from './gitlab/gitlabTokenProvider.js';
|
|
34
|
+
import { resolveGitLabBootstrapGitIdentity } from './gitlab/gitlabIdentity.js';
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
// Per-code-host builders
|
|
37
|
+
// ---------------------------------------------------------------------------
|
|
38
|
+
function buildGitHubCredentials(github, topEnv, topExec) {
|
|
39
|
+
const appConfig = github.appConfig;
|
|
40
|
+
const appConfigured = appConfig !== null && isGitHubAppConfigured(appConfig);
|
|
41
|
+
const env = github.env ?? topEnv;
|
|
42
|
+
const exec = github.exec ?? topExec;
|
|
43
|
+
const tokenProvider = createGitHubTokenProvider({
|
|
44
|
+
pat: github.pat,
|
|
45
|
+
alternateIdentityPat: github.alternateIdentityPat,
|
|
46
|
+
isAppConfigured: () => appConfigured,
|
|
47
|
+
mintInstallationToken: (owner, repo) => {
|
|
48
|
+
if (appConfig === null) {
|
|
49
|
+
throw new Error('createForgeCredentials: the GitHub App is not configured, so no installation token can be minted');
|
|
50
|
+
}
|
|
51
|
+
return getInstallationToken(appConfig, owner, repo, github.appAuth);
|
|
52
|
+
},
|
|
53
|
+
ghAuthToken: github.ghAuthToken ?? defaultGhAuthToken,
|
|
54
|
+
});
|
|
55
|
+
const gitIdentity = resolveBootstrapGitIdentity({ env, exec, appConfig });
|
|
56
|
+
return Object.freeze({ tokenProvider, gitIdentity });
|
|
57
|
+
}
|
|
58
|
+
function buildGitLabCredentials(config, topEnv, topExec) {
|
|
59
|
+
if (!config) {
|
|
60
|
+
throw new Error('createForgeCredentials: code host "gitlab" needs deps.gitlab (GitLabConfig)');
|
|
61
|
+
}
|
|
62
|
+
const tokenProvider = createGitLabTokenProvider(config);
|
|
63
|
+
const gitIdentity = resolveGitLabBootstrapGitIdentity({ env: topEnv, exec: topExec });
|
|
64
|
+
return Object.freeze({ tokenProvider, gitIdentity });
|
|
65
|
+
}
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// The factory
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/**
|
|
70
|
+
* Builds the one `{ tokenProvider, gitIdentity }` pair for `identity`. Guard
|
|
71
|
+
* clauses run in `forgeProviders()`'s order — identity, then the code host
|
|
72
|
+
* — entirely before any credential source is touched, so a refusal never
|
|
73
|
+
* partially resolves a token. Only the code host is validated; the tracker
|
|
74
|
+
* selection is irrelevant to credentials.
|
|
75
|
+
*/
|
|
76
|
+
export function createForgeCredentials(options) {
|
|
77
|
+
const { forge, identity, deps = {} } = options;
|
|
78
|
+
validateRepoIdentifier(identity);
|
|
79
|
+
if (!isCodeHostForge(forge.codeHost)) {
|
|
80
|
+
throw new UnknownForgeError(forge.codeHost, 'code host', CODE_HOST_FORGES, 'createForgeCredentials');
|
|
81
|
+
}
|
|
82
|
+
if (forge.codeHost === 'github') {
|
|
83
|
+
return buildGitHubCredentials(deps.github ?? { appConfig: null }, deps.env, deps.exec);
|
|
84
|
+
}
|
|
85
|
+
return buildGitLabCredentials(deps.gitlab, deps.env, deps.exec);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=forgeCredentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forgeCredentials.js","sourceRoot":"","sources":["../../src/providers/forgeCredentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,9 +58,9 @@ export interface ForgeProvidersOptions {
|
|
|
58
58
|
readonly gitContext: GitContext;
|
|
59
59
|
readonly deps?: ForgeProviderDeps;
|
|
60
60
|
}
|
|
61
|
-
/** Thrown by {@link forgeProviders} for a forge name outside the closed union for its port. */
|
|
61
|
+
/** Thrown by {@link forgeProviders} and `createForgeCredentials` for a forge name outside the closed union for its port. */
|
|
62
62
|
export declare class UnknownForgeError extends Error {
|
|
63
|
-
constructor(value: string, port: 'code host' | 'issue tracker', allowed: readonly string[]);
|
|
63
|
+
constructor(value: string, port: 'code host' | 'issue tracker', allowed: readonly string[], source?: string);
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* Builds the one bound provider set for `identity`. Guard clauses run in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgeProviders.d.ts","sourceRoot":"","sources":["../../src/providers/forgeProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAqB,KAAK,cAAc,EAAoC,KAAK,cAAc,EAA0B,MAAM,YAAY,CAAC;AAEnJ,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMrF,eAAO,MAAM,gBAAgB,+BAAgC,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAA8B,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE1D,oHAAoH;AACpH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4HAA4H;AAC5H,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACnF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED
|
|
1
|
+
{"version":3,"file":"forgeProviders.d.ts","sourceRoot":"","sources":["../../src/providers/forgeProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAqB,KAAK,cAAc,EAAoC,KAAK,cAAc,EAA0B,MAAM,YAAY,CAAC;AAEnJ,OAAO,EAA4B,KAAK,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMrF,eAAO,MAAM,gBAAgB,+BAAgC,CAAC;AAC9D,eAAO,MAAM,oBAAoB,6BAA8B,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAE1D,oHAAoH;AACpH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wHAAwH;AACxH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;CAC1C;AAED,4HAA4H;AAC5H,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,CAAC;IACnF,QAAQ,CAAC,sBAAsB,CAAC,EAAE,kBAAkB,CAAC,wBAAwB,CAAC,CAAC;CAChF;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC;CACnC;AAED,4HAA4H;AAC5H,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,MAAyB;CAI9H;AAiDD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAmB7E"}
|
|
@@ -38,10 +38,10 @@ export function isCodeHostForge(value) {
|
|
|
38
38
|
export function isIssueTrackerForge(value) {
|
|
39
39
|
return ISSUE_TRACKER_FORGES.includes(value);
|
|
40
40
|
}
|
|
41
|
-
/** Thrown by {@link forgeProviders} for a forge name outside the closed union for its port. */
|
|
41
|
+
/** Thrown by {@link forgeProviders} and `createForgeCredentials` for a forge name outside the closed union for its port. */
|
|
42
42
|
export class UnknownForgeError extends Error {
|
|
43
|
-
constructor(value, port, allowed) {
|
|
44
|
-
super(
|
|
43
|
+
constructor(value, port, allowed, source = 'forgeProviders') {
|
|
44
|
+
super(`${source}: unknown ${port} forge "${value}" (expected one of: ${allowed.join(', ')})`);
|
|
45
45
|
this.name = 'UnknownForgeError';
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forgeProviders.js","sourceRoot":"","sources":["../../src/providers/forgeProviders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAiG,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACnJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAA+B,MAAM,gCAAgC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAA2B,MAAM,4BAA4B,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAmB,MAAM,4BAA4B,CAAC;AAErF,8EAA8E;AAC9E,yCAAyC;AACzC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAU,CAAC;AAMhE,oHAAoH;AACpH,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAQ,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjE,CAAC;AAED,wHAAwH;AACxH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAQ,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AA+BD
|
|
1
|
+
{"version":3,"file":"forgeProviders.js","sourceRoot":"","sources":["../../src/providers/forgeProviders.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@ export function fetchPRListCmd(owner, repo) {
|
|
|
27
27
|
return `gh pr list --repo ${owner}/${repo} --state open --json number,headRefName,updatedAt`;
|
|
28
28
|
}
|
|
29
29
|
export function fetchAllPRsCmd(owner, repo) {
|
|
30
|
-
return `gh pr list --repo ${owner}/${repo} --state all --json number,body,state,mergedAt --limit 200`;
|
|
30
|
+
return `gh pr list --repo ${owner}/${repo} --state all --json number,body,state,mergedAt,updatedAt,url --limit 200`;
|
|
31
31
|
}
|
|
32
32
|
export function prChangedFilesCmd(owner, repo, prNumber) {
|
|
33
33
|
return `gh pr view ${prNumber} --repo ${owner}/${repo} --json files`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prCommands.js","sourceRoot":"","sources":["../../../../src/providers/github/commands/prCommands.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,UAAkB;IAC/E,OAAO,qBAAqB,KAAK,IAAI,IAAI,YAAY,UAAU,uFAAuF,CAAC;AACzJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC7E,OAAO,cAAc,QAAQ,WAAW,KAAK,IAAI,IAAI,6DAA6D,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC7E,OAAO,gBAAgB,KAAK,IAAI,IAAI,UAAU,QAAQ,qBAAqB,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACpF,OAAO,gBAAgB,KAAK,IAAI,IAAI,UAAU,QAAQ,sBAAsB,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC1E,OAAO,iBAAiB,QAAQ,WAAW,KAAK,IAAI,IAAI,gBAAgB,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACtE,OAAO,eAAe,QAAQ,mBAAmB,KAAK,IAAI,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACxE,OAAO,gBAAgB,QAAQ,qBAAqB,KAAK,IAAI,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC9E,OAAO,cAAc,QAAQ,WAAW,KAAK,IAAI,IAAI,gCAAgC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,OAAO,qBAAqB,KAAK,IAAI,IAAI,mDAAmD,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,OAAO,qBAAqB,KAAK,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"prCommands.js","sourceRoot":"","sources":["../../../../src/providers/github/commands/prCommands.ts"],"names":[],"mappings":"AAAA,mGAAmG;AAEnG,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,UAAkB;IAC/E,OAAO,qBAAqB,KAAK,IAAI,IAAI,YAAY,UAAU,uFAAuF,CAAC;AACzJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC7E,OAAO,cAAc,QAAQ,WAAW,KAAK,IAAI,IAAI,6DAA6D,CAAC;AACrH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC7E,OAAO,gBAAgB,KAAK,IAAI,IAAI,UAAU,QAAQ,qBAAqB,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACpF,OAAO,gBAAgB,KAAK,IAAI,IAAI,UAAU,QAAQ,sBAAsB,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC1E,OAAO,iBAAiB,QAAQ,WAAW,KAAK,IAAI,IAAI,gBAAgB,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACtE,OAAO,eAAe,QAAQ,mBAAmB,KAAK,IAAI,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IACxE,OAAO,gBAAgB,QAAQ,qBAAqB,KAAK,IAAI,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC9E,OAAO,cAAc,QAAQ,WAAW,KAAK,IAAI,IAAI,gCAAgC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,OAAO,qBAAqB,KAAK,IAAI,IAAI,mDAAmD,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,IAAY;IACxD,OAAO,qBAAqB,KAAK,IAAI,IAAI,0EAA0E,CAAC;AACtH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,QAAgB;IAC7E,OAAO,cAAc,QAAQ,WAAW,KAAK,IAAI,IAAI,eAAe,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,KAAa,EAAE,UAAkB,EAAE,UAAmB,EAAE,MAA0B;IACzI,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,yEAAyE;IACzE,sEAAsE;IACtE,wCAAwC;IACxC,OAAO,uBAAuB,KAAK,IAAI,IAAI,aAAa,KAAK,aAAa,UAAU,kBAAkB,OAAO,GAAG,SAAS,EAAE,CAAC;AAC9H,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,IAAY,EAAE,KAAK,GAAG,GAAG;IACxE,OAAO,qBAAqB,KAAK,IAAI,IAAI,gDAAgD,KAAK,EAAE,CAAC;AACnG,CAAC"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* ghRepoApi.ts — the relocation target of GitContext's former semantic
|
|
3
3
|
* surface (#797). Composes the issue and PR leaf factories with the
|
|
4
4
|
* repo/label/secret/board remainder into one `GhRepoApi` view over a
|
|
5
|
-
* `GitContext` the caller already holds.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* construction site the guard's
|
|
5
|
+
* `GitContext` the caller already holds. Exported from `./index.ts` since
|
|
6
|
+
* issue #11, because ADW's `feature-797` step definitions consume it from the
|
|
7
|
+
* published package; `ghIssueApi`, `ghPrApi` and `createGhCommandRunner`
|
|
8
|
+
* remain deep-import only. Still not a construction site for the guard's
|
|
9
|
+
* `unsanctioned-construction` rule — a bound view over an existing context
|
|
10
|
+
* selects no identity.
|
|
9
11
|
*/
|
|
10
12
|
import type { GitContext } from '../../git/index.js';
|
|
11
13
|
import { type GhIssueApi } from './ghIssueApi.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ghRepoApi.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghRepoApi.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ghRepoApi.d.ts","sourceRoot":"","sources":["../../../src/providers/github/ghRepoApi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAQrD,oGAAoG;AACpG,MAAM,WAAW,SAAS;IACxB,aAAa,IAAI,MAAM,CAAC;IACxB,iBAAiB,IAAI,MAAM,CAAC;IAC5B,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;IAC/E,uGAAuG;IACvG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACvD;;;OAGG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE;AAED,6GAA6G;AAC7G,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AA4EzD,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAO1D"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* ghRepoApi.ts — the relocation target of GitContext's former semantic
|
|
3
3
|
* surface (#797). Composes the issue and PR leaf factories with the
|
|
4
4
|
* repo/label/secret/board remainder into one `GhRepoApi` view over a
|
|
5
|
-
* `GitContext` the caller already holds.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* construction site the guard's
|
|
5
|
+
* `GitContext` the caller already holds. Exported from `./index.ts` since
|
|
6
|
+
* issue #11, because ADW's `feature-797` step definitions consume it from the
|
|
7
|
+
* published package; `ghIssueApi`, `ghPrApi` and `createGhCommandRunner`
|
|
8
|
+
* remain deep-import only. Still not a construction site for the guard's
|
|
9
|
+
* `unsanctioned-construction` rule — a bound view over an existing context
|
|
10
|
+
* selects no identity.
|
|
9
11
|
*/
|
|
10
12
|
import { createGhCommandRunner } from './ghCommandRunner.js';
|
|
11
13
|
import { ghIssueApi } from './ghIssueApi.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ghRepoApi.js","sourceRoot":"","sources":["../../../src/providers/github/ghRepoApi.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ghRepoApi.js","sourceRoot":"","sources":["../../../src/providers/github/ghRepoApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,8 +11,23 @@
|
|
|
11
11
|
import type { GitIdentity } from '../../git/types.js';
|
|
12
12
|
import type { GitConfigIdentityDeps } from '../../git/bootstrapIdentity.js';
|
|
13
13
|
import { type RepoIdentifier } from '../types.js';
|
|
14
|
+
import { type GitHubAppConfig } from './appAuth.js';
|
|
14
15
|
export interface BootstrapIdentityDeps extends GitConfigIdentityDeps {
|
|
15
16
|
isAppConfigured?: () => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* The App configuration the caller already resolved (issue #9's
|
|
19
|
+
* `createForgeCredentials`). Three states, each distinct:
|
|
20
|
+
* - present and complete (`isGitHubAppConfigured`) → the bot identity
|
|
21
|
+
* derives from `appConfig.appId`/`appConfig.appSlug`, regardless of
|
|
22
|
+
* what the environment carries;
|
|
23
|
+
* - `null` → the caller has established "no App"; bot derivation is
|
|
24
|
+
* skipped even if the environment carries `GITHUB_APP_*`;
|
|
25
|
+
* - `undefined` (the default) → today's behaviour: the `GITHUB_APP_*`
|
|
26
|
+
* environment triple decides.
|
|
27
|
+
* An explicitly injected `isAppConfigured` still wins over this — it is
|
|
28
|
+
* the finer-grained seam and existing call sites rely on it.
|
|
29
|
+
*/
|
|
30
|
+
appConfig?: GitHubAppConfig | null;
|
|
16
31
|
}
|
|
17
32
|
/**
|
|
18
33
|
* Parses a `RepoIdentifier` out of a GitHub remote URL (HTTPS or SSH).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubIdentity.d.ts","sourceRoot":"","sources":["../../../src/providers/github/githubIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"githubIdentity.d.ts","sourceRoot":"","sources":["../../../src/providers/github/githubIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAM3E,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;IAChC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CACpC;AAmCD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAK7E;AAMD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAW9D;AAMD,kIAAkI;AAClI,eAAO,MAAM,yBAAyB,EAAE,WAKvC,CAAC;AASF;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,GAAE,qBAA0B,GAAG,WAAW,CAgBzF"}
|
|
@@ -10,6 +10,21 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { readOriginRemoteUrl, readEnvGitIdentity, readGitConfigIdentity } from '../../git/bootstrapIdentity.js';
|
|
12
12
|
import { Platform } from '../types.js';
|
|
13
|
+
import { isGitHubAppConfigured } from './appAuth.js';
|
|
14
|
+
/** Resolves the App-bot decision and its appId/appSlug from the injected config or, absent one, the environment. */
|
|
15
|
+
function resolveAppIdentitySource(deps, env) {
|
|
16
|
+
if (deps.appConfig !== undefined) {
|
|
17
|
+
if (deps.appConfig !== null && isGitHubAppConfigured(deps.appConfig)) {
|
|
18
|
+
return { configured: true, appId: deps.appConfig.appId, appSlug: deps.appConfig.appSlug };
|
|
19
|
+
}
|
|
20
|
+
return { configured: false };
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
configured: Boolean(env['GITHUB_APP_ID'] && env['GITHUB_APP_SLUG'] && env['GITHUB_APP_PRIVATE_KEY_PATH']),
|
|
24
|
+
appId: env['GITHUB_APP_ID'],
|
|
25
|
+
appSlug: env['GITHUB_APP_SLUG'],
|
|
26
|
+
};
|
|
27
|
+
}
|
|
13
28
|
// ---------------------------------------------------------------------------
|
|
14
29
|
// parseGitHubRemoteUrl
|
|
15
30
|
// ---------------------------------------------------------------------------
|
|
@@ -95,10 +110,11 @@ function deriveAppBotIdentity(appId, appSlug) {
|
|
|
95
110
|
*/
|
|
96
111
|
export function resolveBootstrapGitIdentity(deps = {}) {
|
|
97
112
|
const env = deps.env ?? process.env;
|
|
98
|
-
const
|
|
113
|
+
const derived = resolveAppIdentitySource(deps, env);
|
|
114
|
+
const isAppConfigured = deps.isAppConfigured ?? (() => derived.configured);
|
|
99
115
|
if (isAppConfigured()) {
|
|
100
|
-
const appId = env['GITHUB_APP_ID'];
|
|
101
|
-
const appSlug = env['GITHUB_APP_SLUG'];
|
|
116
|
+
const appId = derived.appId ?? env['GITHUB_APP_ID'];
|
|
117
|
+
const appSlug = derived.appSlug ?? env['GITHUB_APP_SLUG'];
|
|
102
118
|
if (appId && appSlug) {
|
|
103
119
|
return deriveAppBotIdentity(appId, appSlug);
|
|
104
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubIdentity.js","sourceRoot":"","sources":["../../../src/providers/github/githubIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEhH,OAAO,EAAE,QAAQ,EAAuB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"githubIdentity.js","sourceRoot":"","sources":["../../../src/providers/github/githubIdentity.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ export interface GitHubTokenProviderInput {
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function createGitHubTokenProvider(input: GitHubTokenProviderInput): TokenProvider;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
36
|
+
* Re-exported from the git core (`src/git/literalTokenProvider.ts`) so every
|
|
37
|
+
* existing `'../githubTokenProvider.js'` import in this package keeps
|
|
38
|
+
* working — the function itself carries no GitHub logic and moved there
|
|
39
|
+
* (issue #9).
|
|
39
40
|
*/
|
|
40
|
-
export
|
|
41
|
+
export { createLiteralTokenProvider } from '../../git/literalTokenProvider.js';
|
|
41
42
|
//# sourceMappingURL=githubTokenProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubTokenProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/github/githubTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,sFAAsF;IACtF,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/D,iFAAiF;IACjF,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,aAAa,CAmBxF;AAED
|
|
1
|
+
{"version":3,"file":"githubTokenProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/github/githubTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,WAAW,wBAAwB;IACvC,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,eAAe,EAAE,MAAM,OAAO,CAAC;IAC/B,sFAAsF;IACtF,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/D,iFAAiF;IACjF,WAAW,EAAE,MAAM,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,wBAAwB,GAAG,aAAa,CAmBxF;AAED;;;;;GAKG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -37,15 +37,10 @@ export function createGitHubTokenProvider(input) {
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
40
|
+
* Re-exported from the git core (`src/git/literalTokenProvider.ts`) so every
|
|
41
|
+
* existing `'../githubTokenProvider.js'` import in this package keeps
|
|
42
|
+
* working — the function itself carries no GitHub logic and moved there
|
|
43
|
+
* (issue #9).
|
|
43
44
|
*/
|
|
44
|
-
export
|
|
45
|
-
return {
|
|
46
|
-
credentialEnv({ purpose }) {
|
|
47
|
-
return { GH_TOKEN: (purpose === 'alternateIdentity' && alternateIdentityPat) ? alternateIdentityPat : token };
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
45
|
+
export { createLiteralTokenProvider } from '../../git/literalTokenProvider.js';
|
|
51
46
|
//# sourceMappingURL=githubTokenProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"githubTokenProvider.js","sourceRoot":"","sources":["../../../src/providers/github/githubTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmBzD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA+B;IACvE,OAAO;QACL,aAAa,CAAC,OAA0B;YACtC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YACzC,IAAI,OAAO,KAAK,mBAAmB,IAAI,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC1E,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAClD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,mBAAmB,CAAC;oBAC5B,KAAK;oBACL,IAAI;oBACJ,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;oBAClD,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"githubTokenProvider.js","sourceRoot":"","sources":["../../../src/providers/github/githubTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAmBzD;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA+B;IACvE,OAAO;QACL,aAAa,CAAC,OAA0B;YACtC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YACzC,IAAI,OAAO,KAAK,mBAAmB,IAAI,KAAK,CAAC,oBAAoB,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC1E,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,oBAAoB,EAAE,CAAC;YAClD,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,mBAAmB,CAAC;oBAC5B,KAAK;oBACL,IAAI;oBACJ,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;oBAClD,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -7,4 +7,14 @@ export type { GitHubBoardManagerDeps } from './githubBoardManager.js';
|
|
|
7
7
|
export type { GitHubUser, GitHubLabel, GitHubMilestone, GitHubComment, GitHubIssueListItem, GitHubIssue, IssueCommentSummary, } from './domain/issue.js';
|
|
8
8
|
export type { PRReviewComment, PRDetails, PRListItem, RawPR } from './domain/pullRequest.js';
|
|
9
9
|
export * from './mappers.js';
|
|
10
|
+
export { createGitHubTokenProvider } from './githubTokenProvider.js';
|
|
11
|
+
export type { GitHubTokenProviderInput } from './githubTokenProvider.js';
|
|
12
|
+
export { resolveBootstrapGitIdentity } from './githubIdentity.js';
|
|
13
|
+
export type { BootstrapIdentityDeps } from './githubIdentity.js';
|
|
14
|
+
export { resolveContextToken } from './tokenResolver.js';
|
|
15
|
+
export type { ResolveContextTokenInput } from './tokenResolver.js';
|
|
16
|
+
export { ghAuthToken } from './ghAuthToken.js';
|
|
17
|
+
export { isGitHubAppConfigured, getInstallationToken } from './appAuth.js';
|
|
18
|
+
export { createGhRepoApi } from './ghRepoApi.js';
|
|
19
|
+
export type { GhRepoApi } from './ghRepoApi.js';
|
|
10
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EACV,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EACvD,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,GACtD,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7F,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,YAAY,EACV,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EACvD,mBAAmB,EAAE,WAAW,EAAE,mBAAmB,GACtD,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7F,cAAc,cAAc,CAAC;AAU7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -2,4 +2,18 @@ export { createGitHubIssueTracker, GitHubIssueTracker } from './githubIssueTrack
|
|
|
2
2
|
export { createGitHubCodeHost, GitHubCodeHost } from './githubCodeHost.js';
|
|
3
3
|
export { createGitHubBoardManager } from './githubBoardManager.js';
|
|
4
4
|
export * from './mappers.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Credential/identity helpers and the bound repo API view — widened onto this
|
|
7
|
+
// barrel by issue #11 for the ADW switchover to @paysdoc/devplatform. Prefer
|
|
8
|
+
// `createForgeCredentials` (`src/providers/forgeCredentials.ts`) as the
|
|
9
|
+
// forge-neutral route; the names below are the GitHub-specific building
|
|
10
|
+
// blocks it composes, exported directly so a caller that already speaks
|
|
11
|
+
// GitHub can use them with no behaviour change.
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
export { createGitHubTokenProvider } from './githubTokenProvider.js';
|
|
14
|
+
export { resolveBootstrapGitIdentity } from './githubIdentity.js';
|
|
15
|
+
export { resolveContextToken } from './tokenResolver.js';
|
|
16
|
+
export { ghAuthToken } from './ghAuthToken.js';
|
|
17
|
+
export { isGitHubAppConfigured, getInstallationToken } from './appAuth.js';
|
|
18
|
+
export { createGhRepoApi } from './ghRepoApi.js';
|
|
5
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOnE,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/github/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAOnE,cAAc,cAAc,CAAC;AAE7B,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AACxE,gDAAgD;AAChD,8EAA8E;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -11,7 +11,8 @@ import type { Issue, IssueComment, PullRequest, PullRequestSummary, ReviewCommen
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function mapGitHubCommentToIssueComment(comment: GitHubComment): IssueComment;
|
|
13
13
|
/**
|
|
14
|
-
* Maps a GitHubIssue to a platform-agnostic Issue
|
|
14
|
+
* Maps a GitHubIssue to a platform-agnostic Issue, carrying the creation
|
|
15
|
+
* timestamp and URL through unchanged (issue #16).
|
|
15
16
|
*/
|
|
16
17
|
export declare function mapGitHubIssueToIssue(issue: GitHubIssue): Issue;
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/providers/github/mappers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvG;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAOnF;AAED
|
|
1
|
+
{"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../../src/providers/github/mappers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC7F,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAIvG;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,aAAa,GAAG,YAAY,CAOnF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAa/D;AAED;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAO/F;AAID;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,SAAS,GAAG,WAAW,CAWpE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,eAAe,GAAG,aAAa,CAUzF;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAUxE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,GAAG,kBAAkB,CAQ/D"}
|
|
@@ -16,7 +16,8 @@ export function mapGitHubCommentToIssueComment(comment) {
|
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Maps a GitHubIssue to a platform-agnostic Issue
|
|
19
|
+
* Maps a GitHubIssue to a platform-agnostic Issue, carrying the creation
|
|
20
|
+
* timestamp and URL through unchanged (issue #16).
|
|
20
21
|
*/
|
|
21
22
|
export function mapGitHubIssueToIssue(issue) {
|
|
22
23
|
return {
|
|
@@ -28,6 +29,8 @@ export function mapGitHubIssueToIssue(issue) {
|
|
|
28
29
|
author: issue.author.login,
|
|
29
30
|
labels: issue.labels.map((l) => l.name),
|
|
30
31
|
comments: issue.comments.map(mapGitHubCommentToIssueComment),
|
|
32
|
+
createdAt: issue.createdAt,
|
|
33
|
+
url: issue.url,
|
|
31
34
|
};
|
|
32
35
|
}
|
|
33
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/providers/github/mappers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,yEAAyE;AAEzE;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAAC,OAAsB;IACnE,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../../src/providers/github/mappers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitLab bootstrap identity resolution (issue #9) — the GitLab half of what
|
|
3
|
+
* `githubIdentity.ts`'s `resolveBootstrapGitIdentity` does for GitHub, minus
|
|
4
|
+
* bot derivation: GitLab credentials carry no App-style bot identity to
|
|
5
|
+
* derive, by design. Composes the core's generic readers
|
|
6
|
+
* (`readEnvGitIdentity`, `readGitConfigIdentity`) rather than shelling out
|
|
7
|
+
* itself. Adapter-internal — `createForgeCredentials` is the public name.
|
|
8
|
+
*/
|
|
9
|
+
import type { GitIdentity } from '../../git/types.js';
|
|
10
|
+
import { type GitConfigIdentityDeps } from '../../git/bootstrapIdentity.js';
|
|
11
|
+
/**
|
|
12
|
+
* The built-in default when nothing else resolves. Deliberately forge-shaped
|
|
13
|
+
* and deliberately not in the core (same reasoning as GitHub's
|
|
14
|
+
* `ADW_BOT_FALLBACK_IDENTITY`) — the scenario only asserts a *complete*
|
|
15
|
+
* fallback, so this address is this library's decision, not the issue's.
|
|
16
|
+
*/
|
|
17
|
+
export declare const GITLAB_BOT_FALLBACK_IDENTITY: GitIdentity;
|
|
18
|
+
/**
|
|
19
|
+
* Resolves a complete git author/committer identity before a GitContext
|
|
20
|
+
* exists. Resolution order:
|
|
21
|
+
* 1. GIT_AUTHOR_* / GIT_COMMITTER_* env vars (the core's `readEnvGitIdentity`)
|
|
22
|
+
* 2. `git config user.name / user.email` (the core's `readGitConfigIdentity`)
|
|
23
|
+
* 3. Built-in fallback (never returns empty fields)
|
|
24
|
+
*
|
|
25
|
+
* No bot-identity step — GitLab has none to derive, unlike the GitHub App
|
|
26
|
+
* bot identity `resolveBootstrapGitIdentity` derives first.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveGitLabBootstrapGitIdentity(deps?: GitConfigIdentityDeps): GitIdentity;
|
|
29
|
+
//# sourceMappingURL=gitlabIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlabIdentity.d.ts","sourceRoot":"","sources":["../../../src/providers/gitlab/gitlabIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAA6C,KAAK,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvH;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAK1C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,GAAE,qBAA0B,GAAG,WAAW,CAK/F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitLab bootstrap identity resolution (issue #9) — the GitLab half of what
|
|
3
|
+
* `githubIdentity.ts`'s `resolveBootstrapGitIdentity` does for GitHub, minus
|
|
4
|
+
* bot derivation: GitLab credentials carry no App-style bot identity to
|
|
5
|
+
* derive, by design. Composes the core's generic readers
|
|
6
|
+
* (`readEnvGitIdentity`, `readGitConfigIdentity`) rather than shelling out
|
|
7
|
+
* itself. Adapter-internal — `createForgeCredentials` is the public name.
|
|
8
|
+
*/
|
|
9
|
+
import { readEnvGitIdentity, readGitConfigIdentity } from '../../git/bootstrapIdentity.js';
|
|
10
|
+
/**
|
|
11
|
+
* The built-in default when nothing else resolves. Deliberately forge-shaped
|
|
12
|
+
* and deliberately not in the core (same reasoning as GitHub's
|
|
13
|
+
* `ADW_BOT_FALLBACK_IDENTITY`) — the scenario only asserts a *complete*
|
|
14
|
+
* fallback, so this address is this library's decision, not the issue's.
|
|
15
|
+
*/
|
|
16
|
+
export const GITLAB_BOT_FALLBACK_IDENTITY = {
|
|
17
|
+
authorName: 'ADW Bot',
|
|
18
|
+
authorEmail: 'adw-bot@users.noreply.gitlab.com',
|
|
19
|
+
committerName: 'ADW Bot',
|
|
20
|
+
committerEmail: 'adw-bot@users.noreply.gitlab.com',
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Resolves a complete git author/committer identity before a GitContext
|
|
24
|
+
* exists. Resolution order:
|
|
25
|
+
* 1. GIT_AUTHOR_* / GIT_COMMITTER_* env vars (the core's `readEnvGitIdentity`)
|
|
26
|
+
* 2. `git config user.name / user.email` (the core's `readGitConfigIdentity`)
|
|
27
|
+
* 3. Built-in fallback (never returns empty fields)
|
|
28
|
+
*
|
|
29
|
+
* No bot-identity step — GitLab has none to derive, unlike the GitHub App
|
|
30
|
+
* bot identity `resolveBootstrapGitIdentity` derives first.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveGitLabBootstrapGitIdentity(deps = {}) {
|
|
33
|
+
const env = deps.env ?? process.env;
|
|
34
|
+
return readEnvGitIdentity(env)
|
|
35
|
+
?? readGitConfigIdentity({ env, exec: deps.exec })
|
|
36
|
+
?? GITLAB_BOT_FALLBACK_IDENTITY;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=gitlabIdentity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlabIdentity.js","sourceRoot":"","sources":["../../../src/providers/gitlab/gitlabIdentity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA8B,MAAM,gCAAgC,CAAC;AAEvH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAgB;IACvD,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,kCAAkC;IAC/C,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,kCAAkC;CACnD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAAC,OAA8B,EAAE;IAChF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,OAAO,kBAAkB,CAAC,GAAG,CAAC;WACzB,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;WAC/C,4BAA4B,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TokenProvider port — GitLab implementation (issue #9).
|
|
3
|
+
*
|
|
4
|
+
* GitLab has no App/PAT/CLI resolution chain and no bot-versus-personal
|
|
5
|
+
* identity split to express: `GitLabConfig.token` is the one credential the
|
|
6
|
+
* caller injects, so `credentialEnv` serves it for both `'default'` and
|
|
7
|
+
* `'alternateIdentity'` requests. Adapter-internal — `createForgeCredentials`
|
|
8
|
+
* (`src/providers/forgeCredentials.ts`) is the only public way to obtain one.
|
|
9
|
+
*
|
|
10
|
+
* The overlay key `GITLAB_TOKEN` is adapter-owned (the core never learns
|
|
11
|
+
* it); it matches the `glab` CLI and the `GITLAB_TOKEN` variable
|
|
12
|
+
* `gitlabCodeHost.ts`'s factory docblock already reads for `GitLabConfig`.
|
|
13
|
+
*/
|
|
14
|
+
import type { TokenProvider } from '../../git/types.js';
|
|
15
|
+
import type { GitLabConfig } from './gitlabApiClient.js';
|
|
16
|
+
/** The credential environment variable a GitLab TokenProvider overlays. Exported for tests. */
|
|
17
|
+
export declare const GITLAB_TOKEN_ENV_VAR = "GITLAB_TOKEN";
|
|
18
|
+
/** Builds the port's GitLab implementation. Throws at construction on a blank token — never at first use. */
|
|
19
|
+
export declare function createGitLabTokenProvider(config: GitLabConfig): TokenProvider;
|
|
20
|
+
//# sourceMappingURL=gitlabTokenProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlabTokenProvider.d.ts","sourceRoot":"","sources":["../../../src/providers/gitlab/gitlabTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,6GAA6G;AAC7G,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa,CAU7E"}
|