@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.
Files changed (72) hide show
  1. package/README.md +74 -13
  2. package/dist/git/branchOps.d.ts +5 -3
  3. package/dist/git/branchOps.d.ts.map +1 -1
  4. package/dist/git/branchOps.js +5 -3
  5. package/dist/git/branchOps.js.map +1 -1
  6. package/dist/git/commitOps.d.ts +5 -1
  7. package/dist/git/commitOps.d.ts.map +1 -1
  8. package/dist/git/commitOps.js +5 -1
  9. package/dist/git/commitOps.js.map +1 -1
  10. package/dist/git/index.d.ts +24 -11
  11. package/dist/git/index.d.ts.map +1 -1
  12. package/dist/git/index.js +24 -11
  13. package/dist/git/index.js.map +1 -1
  14. package/dist/git/literalTokenProvider.d.ts +26 -0
  15. package/dist/git/literalTokenProvider.d.ts.map +1 -0
  16. package/dist/git/literalTokenProvider.js +12 -0
  17. package/dist/git/literalTokenProvider.js.map +1 -0
  18. package/dist/providers/forgeCredentials.d.ts +74 -0
  19. package/dist/providers/forgeCredentials.d.ts.map +1 -0
  20. package/dist/providers/forgeCredentials.js +87 -0
  21. package/dist/providers/forgeCredentials.js.map +1 -0
  22. package/dist/providers/forgeProviders.d.ts +2 -2
  23. package/dist/providers/forgeProviders.d.ts.map +1 -1
  24. package/dist/providers/forgeProviders.js +3 -3
  25. package/dist/providers/forgeProviders.js.map +1 -1
  26. package/dist/providers/github/commands/prCommands.js +1 -1
  27. package/dist/providers/github/commands/prCommands.js.map +1 -1
  28. package/dist/providers/github/ghRepoApi.d.ts +6 -4
  29. package/dist/providers/github/ghRepoApi.d.ts.map +1 -1
  30. package/dist/providers/github/ghRepoApi.js +6 -4
  31. package/dist/providers/github/ghRepoApi.js.map +1 -1
  32. package/dist/providers/github/githubIdentity.d.ts +15 -0
  33. package/dist/providers/github/githubIdentity.d.ts.map +1 -1
  34. package/dist/providers/github/githubIdentity.js +19 -3
  35. package/dist/providers/github/githubIdentity.js.map +1 -1
  36. package/dist/providers/github/githubTokenProvider.d.ts +5 -4
  37. package/dist/providers/github/githubTokenProvider.d.ts.map +1 -1
  38. package/dist/providers/github/githubTokenProvider.js +5 -10
  39. package/dist/providers/github/githubTokenProvider.js.map +1 -1
  40. package/dist/providers/github/index.d.ts +10 -0
  41. package/dist/providers/github/index.d.ts.map +1 -1
  42. package/dist/providers/github/index.js +14 -0
  43. package/dist/providers/github/index.js.map +1 -1
  44. package/dist/providers/github/mappers.d.ts +2 -1
  45. package/dist/providers/github/mappers.d.ts.map +1 -1
  46. package/dist/providers/github/mappers.js +4 -1
  47. package/dist/providers/github/mappers.js.map +1 -1
  48. package/dist/providers/gitlab/gitlabIdentity.d.ts +29 -0
  49. package/dist/providers/gitlab/gitlabIdentity.d.ts.map +1 -0
  50. package/dist/providers/gitlab/gitlabIdentity.js +38 -0
  51. package/dist/providers/gitlab/gitlabIdentity.js.map +1 -0
  52. package/dist/providers/gitlab/gitlabTokenProvider.d.ts +20 -0
  53. package/dist/providers/gitlab/gitlabTokenProvider.d.ts.map +1 -0
  54. package/dist/providers/gitlab/gitlabTokenProvider.js +28 -0
  55. package/dist/providers/gitlab/gitlabTokenProvider.js.map +1 -0
  56. package/dist/providers/index.d.ts +1 -0
  57. package/dist/providers/index.d.ts.map +1 -1
  58. package/dist/providers/index.js +1 -0
  59. package/dist/providers/index.js.map +1 -1
  60. package/dist/providers/jira/jiraApiClient.d.ts +3 -2
  61. package/dist/providers/jira/jiraApiClient.d.ts.map +1 -1
  62. package/dist/providers/jira/jiraApiClient.js +2 -1
  63. package/dist/providers/jira/jiraApiClient.js.map +1 -1
  64. package/dist/providers/jira/jiraIssueTracker.d.ts.map +1 -1
  65. package/dist/providers/jira/jiraIssueTracker.js +2 -0
  66. package/dist/providers/jira/jiraIssueTracker.js.map +1 -1
  67. package/dist/providers/jira/jiraTypes.d.ts +2 -0
  68. package/dist/providers/jira/jiraTypes.d.ts.map +1 -1
  69. package/dist/providers/types.d.ts +9 -1
  70. package/dist/providers/types.d.ts.map +1 -1
  71. package/dist/providers/types.js.map +1 -1
  72. 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,+FAA+F;AAC/F,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE;CAI3F;AAiDD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAmB7E"}
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(`forgeProviders: unknown ${port} forge "${value}" (expected one of: ${allowed.join(', ')})`);
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":"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"}
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,4DAA4D,CAAC;AACxG,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"}
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. Deep-import only: never added to
6
- * `./index.ts`, exactly like `ghIssueApi`/`ghPrApi` and `createGhCommandRunner`
7
- * a bound view over an existing context selects no identity, so it is not a
8
- * construction site the guard's `unsanctioned-construction` rule needs to see.
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;;;;;;;;GAQG;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"}
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. Deep-import only: never added to
6
- * `./index.ts`, exactly like `ghIssueApi`/`ghPrApi` and `createGhCommandRunner`
7
- * a bound view over an existing context selects no identity, so it is not a
8
- * construction site the guard's `unsanctioned-construction` rule needs to see.
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":"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"}
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;AAM5D,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC;CACjC;AAoBD;;;;;;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,CAiBzF"}
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 isAppConfigured = deps.isAppConfigured ?? (() => Boolean(env['GITHUB_APP_ID'] && env['GITHUB_APP_SLUG'] && env['GITHUB_APP_PRIVATE_KEY_PATH']));
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;AAU5D,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,eAAe,GAAG,8CAA8C,CAAC;AAEvE,sEAAsE;AACtE,MAAM,aAAa,GAAG,8CAA8C,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAiB;IACpD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC;AACxE,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,8EAA8E;AAC9E,8BAA8B;AAC9B,8EAA8E;AAE9E,kIAAkI;AAClI,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IACpD,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,kCAAkC;IAC/C,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,kCAAkC;CACnD,CAAC;AAEF,8DAA8D;AAC9D,SAAS,oBAAoB,CAAC,KAAa,EAAE,OAAe;IAC1D,MAAM,OAAO,GAAG,GAAG,OAAO,OAAO,CAAC;IAClC,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,OAAO,gCAAgC,CAAC;IACrE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AAC1G,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAA8B,EAAE;IAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAC5D,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,6BAA6B,CAAC,CACrF,CAAC,CAAC;IAEH,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACvC,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;YACrB,OAAO,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,kBAAkB,CAAC,GAAG,CAAC;WACzB,qBAAqB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;WAC/C,yBAAyB,CAAC;AACjC,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
- * A TokenProvider that serves a fixed credential — `alternateIdentityPat`
37
- * (when given) for `'alternateIdentity'` requests, `token` otherwise. For
38
- * tests and fixtures; production boundaries use {@link createGitHubTokenProvider}.
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 declare function createLiteralTokenProvider(token: string, alternateIdentityPat?: string): TokenProvider;
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;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,aAAa,CAMtG"}
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
- * A TokenProvider that serves a fixed credential — `alternateIdentityPat`
41
- * (when given) for `'alternateIdentity'` requests, `token` otherwise. For
42
- * tests and fixtures; production boundaries use {@link createGitHubTokenProvider}.
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 function createLiteralTokenProvider(token, alternateIdentityPat) {
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;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,KAAa,EAAE,oBAA6B;IACrF,OAAO;QACL,aAAa,CAAC,EAAE,OAAO,EAAqB;YAC1C,OAAO,EAAE,QAAQ,EAAE,CAAC,OAAO,KAAK,mBAAmB,IAAI,oBAAoB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAChH,CAAC;KACF,CAAC;AACJ,CAAC"}
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;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK,CAW/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"}
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":"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"}
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"}