ctxr-cli 0.24.0 → 0.25.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 +59 -4
- package/dist/commands/land.d.ts +50 -0
- package/dist/commands/land.d.ts.map +1 -0
- package/dist/commands/land.js +414 -0
- package/dist/commands/land.js.map +1 -0
- package/dist/commands/publish-urls.d.ts +7 -0
- package/dist/commands/publish-urls.d.ts.map +1 -1
- package/dist/commands/publish-urls.js +13 -5
- package/dist/commands/publish-urls.js.map +1 -1
- package/dist/commands/review-list.d.ts +34 -0
- package/dist/commands/review-list.d.ts.map +1 -0
- package/dist/commands/review-list.js +49 -0
- package/dist/commands/review-list.js.map +1 -0
- package/dist/commands/serve.d.ts +3 -6
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +66 -47
- package/dist/commands/serve.js.map +1 -1
- package/dist/config/schema.d.ts +40 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +39 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/core/approval/decision.d.ts +73 -0
- package/dist/core/approval/decision.d.ts.map +1 -0
- package/dist/core/approval/decision.js +166 -0
- package/dist/core/approval/decision.js.map +1 -0
- package/dist/core/approval/file-diff.d.ts +32 -0
- package/dist/core/approval/file-diff.d.ts.map +1 -0
- package/dist/core/approval/file-diff.js +83 -0
- package/dist/core/approval/file-diff.js.map +1 -0
- package/dist/core/approval/identity.d.ts +34 -0
- package/dist/core/approval/identity.d.ts.map +1 -0
- package/dist/core/approval/identity.js +105 -0
- package/dist/core/approval/identity.js.map +1 -0
- package/dist/core/approval/landing-record.d.ts +17 -0
- package/dist/core/approval/landing-record.d.ts.map +1 -0
- package/dist/core/approval/landing-record.js +30 -0
- package/dist/core/approval/landing-record.js.map +1 -0
- package/dist/core/approval/resolver.d.ts +15 -0
- package/dist/core/approval/resolver.d.ts.map +1 -0
- package/dist/core/approval/resolver.js +41 -0
- package/dist/core/approval/resolver.js.map +1 -0
- package/dist/core/approval/sessions.d.ts +36 -0
- package/dist/core/approval/sessions.d.ts.map +1 -0
- package/dist/core/approval/sessions.js +76 -0
- package/dist/core/approval/sessions.js.map +1 -0
- package/dist/core/browse/approve.d.ts +45 -0
- package/dist/core/browse/approve.d.ts.map +1 -0
- package/dist/core/browse/approve.js +239 -0
- package/dist/core/browse/approve.js.map +1 -0
- package/dist/core/browse/review.d.ts +21 -0
- package/dist/core/browse/review.d.ts.map +1 -0
- package/dist/core/browse/review.js +52 -0
- package/dist/core/browse/review.js.map +1 -0
- package/dist/core/errors.d.ts +24 -0
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/errors.js +55 -0
- package/dist/core/errors.js.map +1 -1
- package/dist/core/forge/credentials.d.ts +69 -0
- package/dist/core/forge/credentials.d.ts.map +1 -0
- package/dist/core/forge/credentials.js +197 -0
- package/dist/core/forge/credentials.js.map +1 -0
- package/dist/core/forge/github.d.ts +73 -0
- package/dist/core/forge/github.d.ts.map +1 -0
- package/dist/core/forge/github.js +101 -0
- package/dist/core/forge/github.js.map +1 -0
- package/dist/core/git/exec.d.ts +15 -0
- package/dist/core/git/exec.d.ts.map +1 -1
- package/dist/core/git/exec.js +49 -1
- package/dist/core/git/exec.js.map +1 -1
- package/dist/core/graph/diff-block.d.ts.map +1 -1
- package/dist/core/graph/diff-block.js +13 -4
- package/dist/core/graph/diff-block.js.map +1 -1
- package/dist/core/graph/diff-document.d.ts +3 -2
- package/dist/core/graph/diff-document.d.ts.map +1 -1
- package/dist/core/graph/diff-document.js +2 -4
- package/dist/core/graph/diff-document.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +26 -0
- package/dist/run.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/templates/approve/approve-button.md +1 -0
- package/templates/approve/author-heading.md +1 -0
- package/templates/approve/author-note.md +1 -0
- package/templates/approve/comment-label.md +1 -0
- package/templates/approve/comment-required.md +1 -0
- package/templates/approve/commits-heading.md +1 -0
- package/templates/approve/decision-heading.md +1 -0
- package/templates/approve/decision-note.md +1 -0
- package/templates/approve/diff-binary.md +1 -0
- package/templates/approve/diff-empty.md +1 -0
- package/templates/approve/diff-heading.md +1 -0
- package/templates/approve/facts-heading.md +1 -0
- package/templates/approve/forge-unreachable.md +1 -0
- package/templates/approve/github-app-manifest.json +15 -0
- package/templates/approve/head-missing.md +1 -0
- package/templates/approve/index-empty.md +1 -0
- package/templates/approve/index-heading.md +1 -0
- package/templates/approve/index-intro.md +1 -0
- package/templates/approve/landed.md +1 -0
- package/templates/approve/moved-head.md +1 -0
- package/templates/approve/no-pull.md +1 -0
- package/templates/approve/not-open.md +1 -0
- package/templates/approve/pages-heading.md +1 -0
- package/templates/approve/pages-note.md +1 -0
- package/templates/approve/record-failed.md +1 -0
- package/templates/approve/request-changes-button.md +1 -0
- package/templates/approve/state-line.md +1 -0
- package/templates/graph/knowledge-changes/archived-item.md +1 -0
- package/templates/graph/knowledge-changes/dangling-item.md +1 -0
- package/templates/graph/knowledge-changes/reason-ambiguous.md +1 -0
- package/templates/graph/knowledge-changes/reason-not_found.md +1 -0
- package/templates/graph/review/moved-head.md +1 -0
- package/templates/land/resolver.md +12 -0
- package/templates/serve/style.css +63 -0
- package/templates/skills/ctxr-land.md +37 -31
- package/templates/skills/ctxr-second-opinion/run.mjs +28 -17
- package/templates/skills/ctxr-second-opinion.md +19 -14
- package/templates/skills/ctxr-session-lifecycle.md +9 -0
- package/templates/skills/ctxr-submit.md +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/core/errors.js
CHANGED
|
@@ -675,4 +675,59 @@ export class GraphDiffFormatError extends ContextureError {
|
|
|
675
675
|
});
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
|
+
/** change-approval spec: the review and landing commands read decisions only a store that declares change approval has. */
|
|
679
|
+
export class ChangeApprovalNotDeclaredError extends ContextureError {
|
|
680
|
+
constructor(command) {
|
|
681
|
+
super(ExitCode.Usage, {
|
|
682
|
+
code: 'change_approval.not_declared',
|
|
683
|
+
severity: 'error',
|
|
684
|
+
message: `"${command}" reads page decisions, and this store declares no change_approval block in contexture.yaml.`,
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
/** change-approval spec: an unreachable forge is reported as such, never as every pull request awaiting a decision. */
|
|
689
|
+
export class ForgeUnreachableError extends ContextureError {
|
|
690
|
+
constructor(detail) {
|
|
691
|
+
super(ExitCode.Usage, {
|
|
692
|
+
code: 'forge.unreachable',
|
|
693
|
+
severity: 'error',
|
|
694
|
+
message: `The forge could not be reached through "gh": ${detail}`,
|
|
695
|
+
details: { detail },
|
|
696
|
+
});
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
/** change-approval spec (design.md D4): serve records decisions only as the identity the store names. */
|
|
700
|
+
export class RecordingLoginMismatchError extends ContextureError {
|
|
701
|
+
constructor(expected, actual) {
|
|
702
|
+
super(ExitCode.Usage, {
|
|
703
|
+
code: 'change_approval.recording_login_mismatch',
|
|
704
|
+
severity: 'error',
|
|
705
|
+
message: `change_approval.recording_login is "${expected}", but the forge credential this process holds authenticates as "${actual}".`,
|
|
706
|
+
details: { expected, actual },
|
|
707
|
+
});
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
/** write-lifecycle spec: a refusal before any side effect — the default branch as head, a pull request that is not open, an unknown target. */
|
|
711
|
+
export class LandRefusedError extends ContextureError {
|
|
712
|
+
constructor(reason, message, details = {}) {
|
|
713
|
+
super(ExitCode.Usage, { code: `land.${reason}`, severity: 'error', message, details });
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
/** write-lifecycle spec: `--pending` lands only recorded approvals, so `--confirm` cannot ride along. */
|
|
717
|
+
export class LandFlagsError extends ContextureError {
|
|
718
|
+
constructor(message) {
|
|
719
|
+
super(ExitCode.Usage, { code: 'land.flags', severity: 'error', message });
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
/** change-approval spec (github-app-recording-identity): a GitHub App credential that is incomplete, ambiguous, unreadable, or refused. */
|
|
723
|
+
export class ForgeCredentialsError extends ContextureError {
|
|
724
|
+
constructor(message, variables) {
|
|
725
|
+
super(ExitCode.Usage, {
|
|
726
|
+
code: 'forge.credentials',
|
|
727
|
+
severity: 'error',
|
|
728
|
+
message,
|
|
729
|
+
details: { variables: [...variables] },
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
}
|
|
678
733
|
//# sourceMappingURL=errors.js.map
|
package/dist/core/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type KeyObject } from 'node:crypto';
|
|
2
|
+
import type { GitRunner } from '../git/exec.js';
|
|
3
|
+
/**
|
|
4
|
+
* github-app-recording-identity (design.md D3): the one place every
|
|
5
|
+
* forge-using command gets its credential from. `gh` is `gh`'s own credential
|
|
6
|
+
* (`GH_TOKEN` or its credential file), as before. `github-app` is a GitHub App
|
|
7
|
+
* owned by whoever runs the store, minting installation tokens from the App's
|
|
8
|
+
* private key. `broker` is reserved for a hosted contexture App that would hold
|
|
9
|
+
* the key centrally; nothing selects it yet, and adding it is one more provider
|
|
10
|
+
* behind these same methods.
|
|
11
|
+
*/
|
|
12
|
+
export type CredentialKind = 'gh' | 'github-app' | 'broker';
|
|
13
|
+
export interface ForgeCredentials {
|
|
14
|
+
kind: CredentialKind;
|
|
15
|
+
/** The environment for the next `gh` call — the caller's own, with `GH_TOKEN` set to a fresh token in App mode. */
|
|
16
|
+
env(): Promise<Readonly<Record<string, string | undefined>>>;
|
|
17
|
+
/** The App's bot login (`<slug>[bot]`); null for `gh`, whose login the forge client asks `gh` for. */
|
|
18
|
+
botLogin(): Promise<string | null>;
|
|
19
|
+
/** A token for git's transport (design.md D4); null when git keeps whatever credential it has. */
|
|
20
|
+
gitToken(): Promise<string | null>;
|
|
21
|
+
}
|
|
22
|
+
export declare const APP_ID_VAR = "CONTEXTURE_GITHUB_APP_ID";
|
|
23
|
+
export declare const APP_KEY_FILE_VAR = "CONTEXTURE_GITHUB_APP_PRIVATE_KEY_FILE";
|
|
24
|
+
export declare const APP_KEY_VAR = "CONTEXTURE_GITHUB_APP_PRIVATE_KEY";
|
|
25
|
+
/** `owner/repo`, when the store's `origin` is not a github.com URL this module can read — a mirror, a proxy, a test server. */
|
|
26
|
+
export declare const APP_REPOSITORY_VAR = "CONTEXTURE_GITHUB_REPOSITORY";
|
|
27
|
+
/** The API base; github.com's unless a GitHub-compatible test server is named. */
|
|
28
|
+
export declare const API_URL_VAR = "CONTEXTURE_GITHUB_API_URL";
|
|
29
|
+
type Env = Readonly<Record<string, string | undefined>>;
|
|
30
|
+
export type FetchLike = (url: string, init: {
|
|
31
|
+
method?: string;
|
|
32
|
+
headers: Record<string, string>;
|
|
33
|
+
}) => Promise<{
|
|
34
|
+
ok: boolean;
|
|
35
|
+
status: number;
|
|
36
|
+
json(): Promise<unknown>;
|
|
37
|
+
text(): Promise<string>;
|
|
38
|
+
}>;
|
|
39
|
+
export interface ResolveOptions {
|
|
40
|
+
env: Env;
|
|
41
|
+
git: GitRunner;
|
|
42
|
+
/** A directory inside the store's repository, for reading `origin`. */
|
|
43
|
+
cwd: string;
|
|
44
|
+
fetch?: FetchLike;
|
|
45
|
+
now?: () => Date;
|
|
46
|
+
}
|
|
47
|
+
/** The credential source a command's forge calls go through, resolved from the command's own environment. */
|
|
48
|
+
export declare function credentialsFor(env: {
|
|
49
|
+
env: Env;
|
|
50
|
+
git: GitRunner;
|
|
51
|
+
now(): Date;
|
|
52
|
+
}, cwd: string): Promise<ForgeCredentials>;
|
|
53
|
+
export declare function ghCredentials(env: Env): ForgeCredentials;
|
|
54
|
+
/**
|
|
55
|
+
* change-approval spec ("The recording identity may be a GitHub App with
|
|
56
|
+
* credentials from the environment only"): App mode when the App ID and exactly
|
|
57
|
+
* one key source are set, `gh` mode when none of them is, and a refusal for
|
|
58
|
+
* anything in between — never a guessed precedence (design.md D1).
|
|
59
|
+
*/
|
|
60
|
+
export declare function resolveForgeCredentials(opts: ResolveOptions): Promise<ForgeCredentials>;
|
|
61
|
+
/** design.md D3: RS256, `iat` backdated 60 s for clock skew, `exp` nine minutes out (GitHub allows ten). */
|
|
62
|
+
export declare function appAssertion(appId: string, key: KeyObject, now: Date): string;
|
|
63
|
+
/**
|
|
64
|
+
* design.md D2: `owner/repo` from a github.com remote, https or ssh, with or
|
|
65
|
+
* without `.git`. Anything else is not something App mode can address.
|
|
66
|
+
*/
|
|
67
|
+
export declare function githubRepositoryOf(remoteUrl: string): string | null;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/core/forge/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAGrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,mHAAmH;IACnH,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7D,sGAAsG;IACtG,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,kGAAkG;IAClG,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpC;AAED,eAAO,MAAM,UAAU,6BAA6B,CAAC;AACrD,eAAO,MAAM,gBAAgB,2CAA2C,CAAC;AACzE,eAAO,MAAM,WAAW,sCAAsC,CAAC;AAC/D,+HAA+H;AAC/H,eAAO,MAAM,kBAAkB,iCAAiC,CAAC;AACjE,kFAAkF;AAClF,eAAO,MAAM,WAAW,8BAA8B,CAAC;AAMvD,KAAK,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAExD,MAAM,MAAM,SAAS,GAAG,CACtB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KACvD,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC,CAAC;AAEjG,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,SAAS,CAAC;IACf,uEAAuE;IACvE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAAE,GAAG,EAAE,GAAG,CAAC;IAAC,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,IAAI,IAAI,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAErH;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,gBAAgB,CAOxD;AAID;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA4C7F;AAED,4GAA4G;AAC5G,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWnE"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { createPrivateKey, sign } from 'node:crypto';
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { ForgeCredentialsError } from '../errors.js';
|
|
4
|
+
export const APP_ID_VAR = 'CONTEXTURE_GITHUB_APP_ID';
|
|
5
|
+
export const APP_KEY_FILE_VAR = 'CONTEXTURE_GITHUB_APP_PRIVATE_KEY_FILE';
|
|
6
|
+
export const APP_KEY_VAR = 'CONTEXTURE_GITHUB_APP_PRIVATE_KEY';
|
|
7
|
+
/** `owner/repo`, when the store's `origin` is not a github.com URL this module can read — a mirror, a proxy, a test server. */
|
|
8
|
+
export const APP_REPOSITORY_VAR = 'CONTEXTURE_GITHUB_REPOSITORY';
|
|
9
|
+
/** The API base; github.com's unless a GitHub-compatible test server is named. */
|
|
10
|
+
export const API_URL_VAR = 'CONTEXTURE_GITHUB_API_URL';
|
|
11
|
+
const DEFAULT_API_URL = 'https://api.github.com';
|
|
12
|
+
/** design.md D3: a token is replaced once less than this much of its life remains. */
|
|
13
|
+
const REFRESH_MARGIN_MS = 5 * 60 * 1000;
|
|
14
|
+
/** The credential source a command's forge calls go through, resolved from the command's own environment. */
|
|
15
|
+
export function credentialsFor(env, cwd) {
|
|
16
|
+
return resolveForgeCredentials({ env: env.env, git: env.git, cwd, now: () => env.now() });
|
|
17
|
+
}
|
|
18
|
+
export function ghCredentials(env) {
|
|
19
|
+
return {
|
|
20
|
+
kind: 'gh',
|
|
21
|
+
env: async () => env,
|
|
22
|
+
botLogin: async () => null,
|
|
23
|
+
gitToken: async () => null,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const set = (value) => value !== undefined && value !== '';
|
|
27
|
+
/**
|
|
28
|
+
* change-approval spec ("The recording identity may be a GitHub App with
|
|
29
|
+
* credentials from the environment only"): App mode when the App ID and exactly
|
|
30
|
+
* one key source are set, `gh` mode when none of them is, and a refusal for
|
|
31
|
+
* anything in between — never a guessed precedence (design.md D1).
|
|
32
|
+
*/
|
|
33
|
+
export async function resolveForgeCredentials(opts) {
|
|
34
|
+
const appId = opts.env[APP_ID_VAR];
|
|
35
|
+
const keyFile = opts.env[APP_KEY_FILE_VAR];
|
|
36
|
+
const keyText = opts.env[APP_KEY_VAR];
|
|
37
|
+
if (!set(appId) && !set(keyFile) && !set(keyText))
|
|
38
|
+
return ghCredentials(opts.env);
|
|
39
|
+
if (set(keyFile) && set(keyText)) {
|
|
40
|
+
throw new ForgeCredentialsError(`Both ${APP_KEY_FILE_VAR} and ${APP_KEY_VAR} are set; set one of them.`, [APP_KEY_FILE_VAR, APP_KEY_VAR]);
|
|
41
|
+
}
|
|
42
|
+
if (!set(appId))
|
|
43
|
+
throw new ForgeCredentialsError(`A GitHub App private key is set, but ${APP_ID_VAR} is not.`, [APP_ID_VAR]);
|
|
44
|
+
if (!set(keyFile) && !set(keyText)) {
|
|
45
|
+
throw new ForgeCredentialsError(`${APP_ID_VAR} is set, but neither ${APP_KEY_FILE_VAR} nor ${APP_KEY_VAR} is.`, [APP_KEY_FILE_VAR, APP_KEY_VAR]);
|
|
46
|
+
}
|
|
47
|
+
if (/\s/.test(appId))
|
|
48
|
+
throw new ForgeCredentialsError(`${APP_ID_VAR} must be the App's ID or client ID.`, [APP_ID_VAR]);
|
|
49
|
+
let pem;
|
|
50
|
+
if (set(keyFile)) {
|
|
51
|
+
try {
|
|
52
|
+
pem = await readFile(keyFile, 'utf8');
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
throw new ForgeCredentialsError(`${APP_KEY_FILE_VAR} names "${keyFile}", which cannot be read (${err.code ?? 'error'}).`, [APP_KEY_FILE_VAR]);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
pem = keyText;
|
|
60
|
+
}
|
|
61
|
+
let key;
|
|
62
|
+
try {
|
|
63
|
+
key = createPrivateKey(pem);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
throw new ForgeCredentialsError('The GitHub App private key is not a readable PEM private key.', [set(keyFile) ? APP_KEY_FILE_VAR : APP_KEY_VAR]);
|
|
67
|
+
}
|
|
68
|
+
if (key.asymmetricKeyType !== 'rsa') {
|
|
69
|
+
throw new ForgeCredentialsError('The GitHub App private key must be an RSA key, as GitHub generates.', [set(keyFile) ? APP_KEY_FILE_VAR : APP_KEY_VAR]);
|
|
70
|
+
}
|
|
71
|
+
return createAppCredentials({
|
|
72
|
+
appId,
|
|
73
|
+
key,
|
|
74
|
+
env: opts.env,
|
|
75
|
+
git: opts.git,
|
|
76
|
+
cwd: opts.cwd,
|
|
77
|
+
fetch: opts.fetch ?? ((url, init) => fetch(url, init)),
|
|
78
|
+
now: opts.now ?? (() => new Date()),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** design.md D3: RS256, `iat` backdated 60 s for clock skew, `exp` nine minutes out (GitHub allows ten). */
|
|
82
|
+
export function appAssertion(appId, key, now) {
|
|
83
|
+
const seconds = Math.floor(now.getTime() / 1000);
|
|
84
|
+
const encode = (value) => Buffer.from(JSON.stringify(value)).toString('base64url');
|
|
85
|
+
const header = encode({ alg: 'RS256', typ: 'JWT' });
|
|
86
|
+
// A numeric App ID goes in as a number; a client ID ("Iv1…") as the string it is. GitHub accepts either.
|
|
87
|
+
const payload = encode({ iat: seconds - 60, exp: seconds + 9 * 60, iss: /^\d+$/.test(appId) ? Number(appId) : appId });
|
|
88
|
+
const signature = sign('sha256', Buffer.from(`${header}.${payload}`), key).toString('base64url');
|
|
89
|
+
return `${header}.${payload}.${signature}`;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* design.md D2: `owner/repo` from a github.com remote, https or ssh, with or
|
|
93
|
+
* without `.git`. Anything else is not something App mode can address.
|
|
94
|
+
*/
|
|
95
|
+
export function githubRepositoryOf(remoteUrl) {
|
|
96
|
+
const patterns = [
|
|
97
|
+
/^https:\/\/(?:[^@/]+@)?github\.com\/([^/]+)\/([^/]+?)(?:\.git)?\/?$/,
|
|
98
|
+
/^ssh:\/\/git@github\.com(?::\d+)?\/([^/]+)\/([^/]+?)(?:\.git)?\/?$/,
|
|
99
|
+
/^git@github\.com:([^/]+)\/([^/]+?)(?:\.git)?\/?$/,
|
|
100
|
+
];
|
|
101
|
+
for (const pattern of patterns) {
|
|
102
|
+
const match = pattern.exec(remoteUrl.trim());
|
|
103
|
+
if (match !== null)
|
|
104
|
+
return `${match[1]}/${match[2]}`;
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
function createAppCredentials(inputs) {
|
|
109
|
+
const apiUrl = (inputs.env[API_URL_VAR] || DEFAULT_API_URL).replace(/\/+$/, '');
|
|
110
|
+
let cached = null;
|
|
111
|
+
let inFlight = null;
|
|
112
|
+
let slug = null;
|
|
113
|
+
async function appCall(method, route) {
|
|
114
|
+
const response = await inputs.fetch(`${apiUrl}${route}`, {
|
|
115
|
+
method,
|
|
116
|
+
headers: {
|
|
117
|
+
Authorization: `Bearer ${appAssertion(inputs.appId, inputs.key, inputs.now())}`,
|
|
118
|
+
Accept: 'application/vnd.github+json',
|
|
119
|
+
'X-GitHub-Api-Version': '2022-11-28',
|
|
120
|
+
'User-Agent': 'ctxr',
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
if (response.ok)
|
|
124
|
+
return response.json();
|
|
125
|
+
const detail = (await response.text().catch(() => '')).slice(0, 300);
|
|
126
|
+
return { __status: response.status, __detail: detail };
|
|
127
|
+
}
|
|
128
|
+
function failed(value) {
|
|
129
|
+
if (typeof value === 'object' && value !== null && '__status' in value) {
|
|
130
|
+
const v = value;
|
|
131
|
+
return { status: v.__status, detail: v.__detail };
|
|
132
|
+
}
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
async function repository() {
|
|
136
|
+
const explicit = inputs.env[APP_REPOSITORY_VAR];
|
|
137
|
+
if (set(explicit)) {
|
|
138
|
+
if (!/^[^/\s]+\/[^/\s]+$/.test(explicit))
|
|
139
|
+
throw new ForgeCredentialsError(`${APP_REPOSITORY_VAR} must be "owner/repo".`, [APP_REPOSITORY_VAR]);
|
|
140
|
+
return explicit;
|
|
141
|
+
}
|
|
142
|
+
const remote = await inputs.git.run(['remote', 'get-url', 'origin'], { cwd: inputs.cwd, allowFailure: true });
|
|
143
|
+
const repo = remote.exitCode === 0 ? githubRepositoryOf(remote.stdout) : null;
|
|
144
|
+
if (repo === null) {
|
|
145
|
+
throw new ForgeCredentialsError(`GitHub App mode needs a github.com "origin" remote, and this store's is "${remote.stdout.trim() || 'not set'}". Set ${APP_REPOSITORY_VAR} to name the repository.`, [APP_REPOSITORY_VAR]);
|
|
146
|
+
}
|
|
147
|
+
return repo;
|
|
148
|
+
}
|
|
149
|
+
async function mint() {
|
|
150
|
+
const repo = await repository();
|
|
151
|
+
const installation = await appCall('GET', `/repos/${repo}/installation`);
|
|
152
|
+
const missing = failed(installation);
|
|
153
|
+
if (missing !== null) {
|
|
154
|
+
if (missing.status === 404) {
|
|
155
|
+
throw new ForgeCredentialsError(`GitHub App ${inputs.appId} is not installed on ${repo}. Install it on that repository.`, [APP_ID_VAR]);
|
|
156
|
+
}
|
|
157
|
+
throw new ForgeCredentialsError(`GitHub refused GitHub App ${inputs.appId} (HTTP ${missing.status}): ${missing.detail}`, [APP_ID_VAR]);
|
|
158
|
+
}
|
|
159
|
+
const id = installation.id;
|
|
160
|
+
const issued = await appCall('POST', `/app/installations/${id}/access_tokens`);
|
|
161
|
+
const refused = failed(issued);
|
|
162
|
+
if (refused !== null) {
|
|
163
|
+
throw new ForgeCredentialsError(`GitHub would not issue an installation token for ${repo} (HTTP ${refused.status}): ${refused.detail}`, [APP_ID_VAR]);
|
|
164
|
+
}
|
|
165
|
+
const { token, expires_at: expiresAt } = issued;
|
|
166
|
+
cached = { token, expiresAt: Date.parse(expiresAt) };
|
|
167
|
+
return token;
|
|
168
|
+
}
|
|
169
|
+
/** design.md D3: reuse while at least five minutes remain; one refresh in flight, however many callers ask. */
|
|
170
|
+
async function token() {
|
|
171
|
+
if (cached !== null && cached.expiresAt - inputs.now().getTime() >= REFRESH_MARGIN_MS)
|
|
172
|
+
return cached.token;
|
|
173
|
+
inFlight ??= mint().finally(() => {
|
|
174
|
+
inFlight = null;
|
|
175
|
+
});
|
|
176
|
+
return inFlight;
|
|
177
|
+
}
|
|
178
|
+
return {
|
|
179
|
+
kind: 'github-app',
|
|
180
|
+
async env() {
|
|
181
|
+
return { ...inputs.env, GH_TOKEN: await token() };
|
|
182
|
+
},
|
|
183
|
+
async botLogin() {
|
|
184
|
+
if (slug === null) {
|
|
185
|
+
const app = await appCall('GET', '/app');
|
|
186
|
+
const refused = failed(app);
|
|
187
|
+
if (refused !== null) {
|
|
188
|
+
throw new ForgeCredentialsError(`GitHub refused GitHub App ${inputs.appId}'s signed assertion (HTTP ${refused.status}): ${refused.detail}`, [APP_ID_VAR]);
|
|
189
|
+
}
|
|
190
|
+
slug = app.slug;
|
|
191
|
+
}
|
|
192
|
+
return `${slug}[bot]`;
|
|
193
|
+
},
|
|
194
|
+
gitToken: token,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/core/forge/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAkB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAwBrD,MAAM,CAAC,MAAM,UAAU,GAAG,0BAA0B,CAAC;AACrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,wCAAwC,CAAC;AACzE,MAAM,CAAC,MAAM,WAAW,GAAG,mCAAmC,CAAC;AAC/D,+HAA+H;AAC/H,MAAM,CAAC,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;AACjE,kFAAkF;AAClF,MAAM,CAAC,MAAM,WAAW,GAAG,2BAA2B,CAAC;AAEvD,MAAM,eAAe,GAAG,wBAAwB,CAAC;AACjD,sFAAsF;AACtF,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAkBxC,6GAA6G;AAC7G,MAAM,UAAU,cAAc,CAAC,GAA8C,EAAE,GAAW;IACxF,OAAO,uBAAuB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAQ;IACpC,OAAO;QACL,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG;QACpB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;QAC1B,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,KAAyB,EAAmB,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAoB;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAElF,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,qBAAqB,CAAC,QAAQ,gBAAgB,QAAQ,WAAW,4BAA4B,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5I,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,qBAAqB,CAAC,wCAAwC,UAAU,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7H,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,qBAAqB,CAAC,GAAG,UAAU,wBAAwB,gBAAgB,QAAQ,WAAW,MAAM,EAAE,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;IACnJ,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,qBAAqB,CAAC,GAAG,UAAU,qCAAqC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAExH,IAAI,GAAW,CAAC;IAChB,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,qBAAqB,CAAC,GAAG,gBAAgB,WAAW,OAAO,4BAA6B,GAA6B,CAAC,IAAI,IAAI,OAAO,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3K,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,OAAQ,CAAC;IACjB,CAAC;IACD,IAAI,GAAc,CAAC;IACnB,IAAI,CAAC;QACH,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,qBAAqB,CAAC,+DAA+D,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IACpJ,CAAC;IACD,IAAI,GAAG,CAAC,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,qBAAqB,CAAC,qEAAqE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAC1J,CAAC;IAED,OAAO,oBAAoB,CAAC;QAC1B,KAAK;QACL,GAAG;QACH,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,GAAc,EAAE,GAAS;IACnE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IACpD,yGAAyG;IACzG,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACvH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACjG,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,QAAQ,GAAG;QACf,qEAAqE;QACrE,oEAAoE;QACpE,kDAAkD;KACnD,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAYD,SAAS,oBAAoB,CAAC,MAAiB;IAC7C,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI,MAAM,GAAgD,IAAI,CAAC;IAC/D,IAAI,QAAQ,GAA2B,IAAI,CAAC;IAC5C,IAAI,IAAI,GAAkB,IAAI,CAAC;IAE/B,KAAK,UAAU,OAAO,CAAC,MAAc,EAAE,KAAa;QAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG,KAAK,EAAE,EAAE;YACvD,MAAM;YACN,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE;gBAC/E,MAAM,EAAE,6BAA6B;gBACrC,sBAAsB,EAAE,YAAY;gBACpC,YAAY,EAAE,MAAM;aACrB;SACF,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACrE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACzD,CAAC;IAED,SAAS,MAAM,CAAC,KAAc;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACvE,MAAM,CAAC,GAAG,KAA+C,CAAC;YAC1D,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,UAAU,UAAU;QACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAAE,MAAM,IAAI,qBAAqB,CAAC,GAAG,kBAAkB,wBAAwB,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC/I,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9G,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,qBAAqB,CAC7B,4EAA4E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,SAAS,UAAU,kBAAkB,0BAA0B,EACnK,CAAC,kBAAkB,CAAC,CACrB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,UAAU,IAAI;QACjB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,UAAU,IAAI,eAAe,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC3B,MAAM,IAAI,qBAAqB,CAAC,cAAc,MAAM,CAAC,KAAK,wBAAwB,IAAI,kCAAkC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1I,CAAC;YACD,MAAM,IAAI,qBAAqB,CAAC,6BAA6B,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACzI,CAAC;QACD,MAAM,EAAE,GAAI,YAA+B,CAAC,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,qBAAqB,CAAC,oDAAoD,IAAI,UAAU,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QACxJ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAA+C,CAAC;QACzF,MAAM,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+GAA+G;IAC/G,KAAK,UAAU,KAAK;QAClB,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,iBAAiB;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QAC3G,QAAQ,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAC/B,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,KAAK,CAAC,GAAG;YACP,OAAO,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,KAAK,EAAE,EAAE,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,qBAAqB,CAAC,6BAA6B,MAAM,CAAC,KAAK,6BAA6B,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5J,CAAC;gBACD,IAAI,GAAI,GAAwB,CAAC,IAAI,CAAC;YACxC,CAAC;YACD,OAAO,GAAG,IAAI,OAAO,CAAC;QACxB,CAAC;QACD,QAAQ,EAAE,KAAK;KAChB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { CredentialKind, ForgeCredentials } from './credentials.js';
|
|
2
|
+
/**
|
|
3
|
+
* approve-from-the-review-page (design.md D10): the forge, read and written
|
|
4
|
+
* through `gh api` — the only module that spawns `gh`. Core code rather than
|
|
5
|
+
* a revived `forge` adapter kind: there is one forge, and
|
|
6
|
+
* session-keeps-only-what-git-cannot-do removed the seam for a second.
|
|
7
|
+
*
|
|
8
|
+
* `{owner}` and `{repo}` are `gh`'s own placeholders, filled from the
|
|
9
|
+
* repository `cwd` sits in, so no remote URL is parsed here. `gh` reads its
|
|
10
|
+
* credential (`GH_TOKEN`, or its own credential file) from the process that
|
|
11
|
+
* runs it; nothing here touches a token.
|
|
12
|
+
*/
|
|
13
|
+
export interface PullRequest {
|
|
14
|
+
number: number;
|
|
15
|
+
state: 'open' | 'closed';
|
|
16
|
+
merged: boolean;
|
|
17
|
+
title: string;
|
|
18
|
+
body: string;
|
|
19
|
+
url: string;
|
|
20
|
+
author: string;
|
|
21
|
+
headRef: string;
|
|
22
|
+
headSha: string;
|
|
23
|
+
baseRef: string;
|
|
24
|
+
/** null while the forge is still computing it. */
|
|
25
|
+
mergeable: boolean | null;
|
|
26
|
+
mergeCommitSha: string | null;
|
|
27
|
+
}
|
|
28
|
+
export interface Review {
|
|
29
|
+
author: string;
|
|
30
|
+
state: string;
|
|
31
|
+
body: string;
|
|
32
|
+
commitId: string | null;
|
|
33
|
+
submittedAt: string | null;
|
|
34
|
+
}
|
|
35
|
+
export interface IssueComment {
|
|
36
|
+
author: string;
|
|
37
|
+
body: string;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
}
|
|
40
|
+
export type ReviewEvent = 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT';
|
|
41
|
+
export type MergeMethod = 'squash' | 'merge' | 'rebase';
|
|
42
|
+
export interface ForgeClient {
|
|
43
|
+
/** The credential kind behind every call — reported by commands, never the credential itself. */
|
|
44
|
+
credential: CredentialKind;
|
|
45
|
+
login(): Promise<string>;
|
|
46
|
+
pull(number: number): Promise<PullRequest>;
|
|
47
|
+
openPulls(): Promise<PullRequest[]>;
|
|
48
|
+
reviews(number: number): Promise<Review[]>;
|
|
49
|
+
comments(number: number): Promise<IssueComment[]>;
|
|
50
|
+
createReview(number: number, input: {
|
|
51
|
+
event: ReviewEvent;
|
|
52
|
+
body: string;
|
|
53
|
+
commitId: string;
|
|
54
|
+
}): Promise<void>;
|
|
55
|
+
createComment(number: number, body: string): Promise<void>;
|
|
56
|
+
merge(number: number, input: {
|
|
57
|
+
method: MergeMethod;
|
|
58
|
+
sha: string;
|
|
59
|
+
}): Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
/** A `gh api` call that did not succeed. `status` is the HTTP status when `gh` reported one. */
|
|
62
|
+
export declare class ForgeRequestError extends Error {
|
|
63
|
+
readonly status: number | null;
|
|
64
|
+
constructor(endpoint: string, status: number | null, detail: string);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* `credentials` supplies the environment of every `gh` call: the caller's own
|
|
68
|
+
* for `gh`'s credential, or with `GH_TOKEN` set to a fresh installation token
|
|
69
|
+
* for a GitHub App (github-app-recording-identity D3) — fetched per call, so a
|
|
70
|
+
* long-running server never uses an expired one.
|
|
71
|
+
*/
|
|
72
|
+
export declare function createGhForgeClient(cwd: string, credentials: ForgeCredentials): ForgeClient;
|
|
73
|
+
//# sourceMappingURL=github.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../../src/core/forge/github.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;AACpE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,WAAW;IAC1B,iGAAiG;IACjG,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,SAAS,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3G,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAED,gGAAgG;AAChG,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAIlE;CACF;AAkCD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,WAAW,CAuE3F"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
const execFileAsync = promisify(execFile);
|
|
4
|
+
/** A `gh api` call that did not succeed. `status` is the HTTP status when `gh` reported one. */
|
|
5
|
+
export class ForgeRequestError extends Error {
|
|
6
|
+
status;
|
|
7
|
+
constructor(endpoint, status, detail) {
|
|
8
|
+
super(`forge request ${endpoint} failed${status === null ? '' : ` (HTTP ${status})`}: ${detail}`);
|
|
9
|
+
this.name = 'ForgeRequestError';
|
|
10
|
+
this.status = status;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
function toPull(raw) {
|
|
14
|
+
return {
|
|
15
|
+
number: raw.number,
|
|
16
|
+
state: raw.state,
|
|
17
|
+
merged: raw.merged ?? (raw.merged_at !== undefined && raw.merged_at !== null),
|
|
18
|
+
title: raw.title,
|
|
19
|
+
body: raw.body ?? '',
|
|
20
|
+
url: raw.html_url,
|
|
21
|
+
author: raw.user?.login ?? '',
|
|
22
|
+
headRef: raw.head.ref,
|
|
23
|
+
headSha: raw.head.sha,
|
|
24
|
+
baseRef: raw.base.ref,
|
|
25
|
+
mergeable: raw.mergeable ?? null,
|
|
26
|
+
mergeCommitSha: raw.merge_commit_sha ?? null,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* `credentials` supplies the environment of every `gh` call: the caller's own
|
|
31
|
+
* for `gh`'s credential, or with `GH_TOKEN` set to a fresh installation token
|
|
32
|
+
* for a GitHub App (github-app-recording-identity D3) — fetched per call, so a
|
|
33
|
+
* long-running server never uses an expired one.
|
|
34
|
+
*/
|
|
35
|
+
export function createGhForgeClient(cwd, credentials) {
|
|
36
|
+
async function api(endpoint, opts = {}) {
|
|
37
|
+
const env = await credentials.env();
|
|
38
|
+
const args = ['api', endpoint];
|
|
39
|
+
if (opts.method !== undefined)
|
|
40
|
+
args.push('--method', opts.method);
|
|
41
|
+
if (opts.input !== undefined)
|
|
42
|
+
args.push('--input', '-');
|
|
43
|
+
try {
|
|
44
|
+
const child = execFileAsync('gh', args, { cwd, env: env, maxBuffer: 64 * 1024 * 1024 });
|
|
45
|
+
if (opts.input !== undefined)
|
|
46
|
+
child.child.stdin?.end(JSON.stringify(opts.input));
|
|
47
|
+
const { stdout } = await child;
|
|
48
|
+
return stdout.trim() === '' ? null : JSON.parse(stdout);
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
const e = err;
|
|
52
|
+
const detail = (e.stderr ?? '').trim() || (e.stdout ?? '').trim() || (e.message ?? String(err));
|
|
53
|
+
const status = /\(HTTP (\d{3})\)/.exec(detail)?.[1];
|
|
54
|
+
throw new ForgeRequestError(endpoint, status === undefined ? null : Number.parseInt(status, 10), detail);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const repo = 'repos/{owner}/{repo}';
|
|
58
|
+
return {
|
|
59
|
+
credential: credentials.kind,
|
|
60
|
+
async login() {
|
|
61
|
+
// An installation token cannot call GET /user; an App's login is its bot login (change-approval spec).
|
|
62
|
+
const bot = await credentials.botLogin();
|
|
63
|
+
if (bot !== null)
|
|
64
|
+
return bot;
|
|
65
|
+
return (await api('user')).login;
|
|
66
|
+
},
|
|
67
|
+
async pull(number) {
|
|
68
|
+
return toPull((await api(`${repo}/pulls/${number}`)));
|
|
69
|
+
},
|
|
70
|
+
async openPulls() {
|
|
71
|
+
return (await api(`${repo}/pulls?state=open&per_page=100`)).map(toPull);
|
|
72
|
+
},
|
|
73
|
+
async reviews(number) {
|
|
74
|
+
const raw = (await api(`${repo}/pulls/${number}/reviews?per_page=100`));
|
|
75
|
+
return raw.map((r) => ({
|
|
76
|
+
author: r.user?.login ?? '',
|
|
77
|
+
state: r.state,
|
|
78
|
+
body: r.body ?? '',
|
|
79
|
+
commitId: r.commit_id ?? null,
|
|
80
|
+
submittedAt: r.submitted_at ?? null,
|
|
81
|
+
}));
|
|
82
|
+
},
|
|
83
|
+
async comments(number) {
|
|
84
|
+
const raw = (await api(`${repo}/issues/${number}/comments?per_page=100`));
|
|
85
|
+
return raw.map((c) => ({ author: c.user?.login ?? '', body: c.body ?? '', createdAt: c.created_at }));
|
|
86
|
+
},
|
|
87
|
+
async createReview(number, input) {
|
|
88
|
+
await api(`${repo}/pulls/${number}/reviews`, {
|
|
89
|
+
method: 'POST',
|
|
90
|
+
input: { event: input.event, body: input.body, commit_id: input.commitId },
|
|
91
|
+
});
|
|
92
|
+
},
|
|
93
|
+
async createComment(number, body) {
|
|
94
|
+
await api(`${repo}/issues/${number}/comments`, { method: 'POST', input: { body } });
|
|
95
|
+
},
|
|
96
|
+
async merge(number, input) {
|
|
97
|
+
await api(`${repo}/pulls/${number}/merge`, { method: 'PUT', input: { merge_method: input.method, sha: input.sha } });
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/core/forge/github.ts"],"names":[],"mappings":"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"}
|