@groundnuty/macf-core 0.2.15 → 0.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/token.d.ts +18 -2
- package/dist/token.d.ts.map +1 -1
- package/dist/token.js +4 -3
- package/dist/token.js.map +1 -1
- package/package.json +1 -1
package/dist/token.d.ts
CHANGED
|
@@ -10,11 +10,27 @@ export interface TokenSource {
|
|
|
10
10
|
* paths (e.g. from macf-agent.json) before passing. */
|
|
11
11
|
readonly keyPath: string;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Optional behavior flags for `generateToken`.
|
|
15
|
+
*
|
|
16
|
+
* `forceMint`: skip the GH_TOKEN env-var shortcut and always mint a fresh
|
|
17
|
+
* App installation token from APP_ID/INSTALL_ID/KEY_PATH (env or
|
|
18
|
+
* TokenSource). Use this from short-lived subprocesses spawned by a
|
|
19
|
+
* long-running parent (e.g. macf-plugin-cli invoked via npx from a
|
|
20
|
+
* Claude TUI session that's been up >1hr): the parent's GH_TOKEN env is
|
|
21
|
+
* stale (1hr TTL bot installation tokens) and reading it as-is causes
|
|
22
|
+
* 401s. macf#338. Mints from same fallback chain (TokenSource ?? env);
|
|
23
|
+
* only the env-token-shortcut at the top is skipped.
|
|
24
|
+
*/
|
|
25
|
+
export interface GenerateTokenOptions {
|
|
26
|
+
readonly forceMint?: boolean;
|
|
27
|
+
}
|
|
13
28
|
/**
|
|
14
29
|
* Generate a GitHub App installation token.
|
|
15
30
|
*
|
|
16
31
|
* Precedence:
|
|
17
|
-
* 1. GH_TOKEN env var (if set, returned as-is — user override wins)
|
|
32
|
+
* 1. GH_TOKEN env var (if set, returned as-is — user override wins).
|
|
33
|
+
* SKIPPED when `opts.forceMint === true` per macf#338.
|
|
18
34
|
* 2. Explicit TokenSource argument (from macf-agent.json config)
|
|
19
35
|
* 3. APP_ID / INSTALL_ID / KEY_PATH env vars (legacy fallback for scripts)
|
|
20
36
|
*
|
|
@@ -25,5 +41,5 @@ export interface TokenSource {
|
|
|
25
41
|
* identity instead of the configured App. In debug mode, surface
|
|
26
42
|
* the override so the user can spot the mismatch.
|
|
27
43
|
*/
|
|
28
|
-
export declare function generateToken(source?: TokenSource): Promise<string>;
|
|
44
|
+
export declare function generateToken(source?: TokenSource, opts?: GenerateTokenOptions): Promise<string>;
|
|
29
45
|
//# sourceMappingURL=token.d.ts.map
|
package/dist/token.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;4DACwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;4DACwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,MAAM,CAAC,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
|
package/dist/token.js
CHANGED
|
@@ -5,7 +5,8 @@ const execFileAsync = promisify(execFile);
|
|
|
5
5
|
* Generate a GitHub App installation token.
|
|
6
6
|
*
|
|
7
7
|
* Precedence:
|
|
8
|
-
* 1. GH_TOKEN env var (if set, returned as-is — user override wins)
|
|
8
|
+
* 1. GH_TOKEN env var (if set, returned as-is — user override wins).
|
|
9
|
+
* SKIPPED when `opts.forceMint === true` per macf#338.
|
|
9
10
|
* 2. Explicit TokenSource argument (from macf-agent.json config)
|
|
10
11
|
* 3. APP_ID / INSTALL_ID / KEY_PATH env vars (legacy fallback for scripts)
|
|
11
12
|
*
|
|
@@ -16,8 +17,8 @@ const execFileAsync = promisify(execFile);
|
|
|
16
17
|
* identity instead of the configured App. In debug mode, surface
|
|
17
18
|
* the override so the user can spot the mismatch.
|
|
18
19
|
*/
|
|
19
|
-
export async function generateToken(source) {
|
|
20
|
-
const envToken = process.env['GH_TOKEN'];
|
|
20
|
+
export async function generateToken(source, opts) {
|
|
21
|
+
const envToken = !opts?.forceMint && process.env['GH_TOKEN'];
|
|
21
22
|
if (envToken) {
|
|
22
23
|
if (source && process.env['MACF_DEBUG'] === 'true') {
|
|
23
24
|
process.stderr.write('warn: GH_TOKEN env is set and overrides the configured TokenSource. ' +
|
package/dist/token.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../src/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AA+B1C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAoB,EACpB,IAA2B;IAE3B,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,EAAE,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,sEAAsE;gBACtE,wEAAwE;gBACxE,4BAA4B,CAC7B,CAAC;QACJ,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,uFAAuF,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE;QAC3C,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,KAAK;QACjB,mBAAmB,EAAE,SAAS;QAC9B,OAAO,EAAE,OAAO;KACjB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAE1B,MAAM,MAAM,GAAsB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC,KAAK,CAAC;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundnuty/macf-core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.16",
|
|
4
4
|
"description": "Shared internals consumed by the MACF CLI and channel-server packages. Not intended for direct external use — will be marked deprecated-internal on first npm publish per DR-022 Amendment A.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|