@aligndottech/cli 0.26.2 → 0.27.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/dist/commands/connect-agents.d.ts.map +1 -1
- package/dist/commands/connect-agents.js +11 -5
- package/dist/commands/connect-agents.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +64 -11
- package/dist/commands/setup.js.map +1 -1
- package/dist/lib/brand.d.ts +2 -4
- package/dist/lib/brand.d.ts.map +1 -1
- package/dist/lib/brand.js +47 -31
- package/dist/lib/brand.js.map +1 -1
- package/dist/lib/prompt-guard.d.ts +28 -0
- package/dist/lib/prompt-guard.d.ts.map +1 -0
- package/dist/lib/prompt-guard.js +37 -0
- package/dist/lib/prompt-guard.js.map +1 -0
- package/dist/lib/setup-ux.d.ts +23 -1
- package/dist/lib/setup-ux.d.ts.map +1 -1
- package/dist/lib/setup-ux.js +39 -2
- package/dist/lib/setup-ux.js.map +1 -1
- package/dist/lib/token-scope-gate.d.ts +20 -0
- package/dist/lib/token-scope-gate.d.ts.map +1 -0
- package/dist/lib/token-scope-gate.js +60 -0
- package/dist/lib/token-scope-gate.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-agents.d.ts","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"connect-agents.d.ts","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsDlD"}
|
|
@@ -31,12 +31,18 @@ export async function connectDetectedAgents(envName) {
|
|
|
31
31
|
// local user to run it would wire their agent to prod - the graph they did not just build.
|
|
32
32
|
const envSuffix = envArg ? ` --env ${envArg}` : '';
|
|
33
33
|
if (editors.length === 0) {
|
|
34
|
-
//
|
|
35
|
-
//
|
|
34
|
+
// Named GLOBAL deliberately: detectEditors() only checks each agent's global config
|
|
35
|
+
// (~/.claude.json etc). .mcp.json was already written by writeAgentAlignment, earlier
|
|
36
|
+
// in this same run, and Claude Code and pi both read it - so "detected: 0" here is true
|
|
37
|
+
// of the global check and false of the actual outcome for those two. Saying only "no
|
|
38
|
+
// agent detected" implied nothing was wired, which cost a user (David, 2026-08-31) a
|
|
39
|
+
// confused "shouldn't this have worked" while sitting inside a working Claude Code
|
|
40
|
+
// session the whole time.
|
|
36
41
|
const envArgs = envArg ? `, "--env", "${envArg}"` : '';
|
|
37
|
-
p.log.info('No
|
|
38
|
-
'(
|
|
39
|
-
|
|
42
|
+
p.log.info('No agent found a GLOBAL config to connect to. Claude Code and pi already read the ' +
|
|
43
|
+
'project\'s .mcp.json (written above), so those need nothing further. Other MCP-capable ' +
|
|
44
|
+
'agents (Cursor, VS Code, Windsurf, Zed, Codex, Gemini CLI, ...) work too - add this to ' +
|
|
45
|
+
`their config (or re-run ${chalk.bold(`align mcp --setup${envSuffix}`)} once installed):\n\n` +
|
|
40
46
|
` { "mcpServers": { "align": { "command": "align", "args": ["mcp"${envArgs}] } } }`);
|
|
41
47
|
return { detected: 0, connected: 0 };
|
|
42
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-agents.js","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgB;IAEhB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,0FAA0F;IAC1F,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"connect-agents.js","sourceRoot":"","sources":["../../src/commands/connect-agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAgB;IAEhB,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,0FAA0F;IAC1F,iCAAiC;IACjC,MAAM,MAAM,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,4FAA4F;IAC5F,2FAA2F;IAC3F,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,oFAAoF;QACpF,sFAAsF;QACtF,wFAAwF;QACxF,qFAAqF;QACrF,qFAAqF;QACrF,mFAAmF;QACnF,0BAA0B;QAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,oFAAoF;YACpF,yFAAyF;YACzF,yFAAyF;YACzF,2BAA2B,KAAK,CAAC,IAAI,CAAC,oBAAoB,SAAS,EAAE,CAAC,uBAAuB;YAC7F,oEAAoE,OAAO,SAAS,CACrF,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uFAAuF;YACvF,mBAAmB;YACnB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,2FAA2F;IAC3F,4EAA4E;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,KAAK,CAAC,GAAG,CACP,6BAA6B,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,MAC7E,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CACxC,qBAAqB,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,gCAAgC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAC5H,CACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AACjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAgVnE;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE1E;AA6MD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAS3D;AAED;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChF,OAAO,CAAC,IAAI,CAAC,CAuCf"}
|
package/dist/commands/setup.js
CHANGED
|
@@ -3,7 +3,7 @@ import * as p from '@clack/prompts';
|
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import open from 'open';
|
|
5
5
|
import { execa } from 'execa';
|
|
6
|
-
import { CLI_TOKEN_SOURCES, cliTokenDecision,
|
|
6
|
+
import { CLI_TOKEN_SOURCES, cliTokenDecision, detectVerifiedCliToken, pickerMaxItems } from '../lib/setup-ux.js';
|
|
7
7
|
import { createConfigStore } from '../lib/config.js';
|
|
8
8
|
import { createGatewayClient } from '../lib/gateway-client.js';
|
|
9
9
|
import { runPersonalImport, runWithConcurrency } from '../lib/personal-import.js';
|
|
@@ -20,6 +20,7 @@ import { commandIntro } from '../lib/brand.js';
|
|
|
20
20
|
import pkg from '../../package.json' with { type: 'json' };
|
|
21
21
|
const { version } = pkg;
|
|
22
22
|
import { printBanner } from '../lib/brand.js';
|
|
23
|
+
import { guardedPrompt } from '../lib/prompt-guard.js';
|
|
23
24
|
const TIER_ORDER = { personal: 0, site: 1, workspace: 2 };
|
|
24
25
|
// How many connectors import concurrently after auth. Each import is itself
|
|
25
26
|
// batch-parallel (runPersonalImport), so this bounds total gateway load.
|
|
@@ -45,8 +46,16 @@ function buildSources(gitAvailable) {
|
|
|
45
46
|
oauthKey: 'github-personal',
|
|
46
47
|
// Token-paste metadata is used only by local mode (cloud uses oauthKey/OAuth).
|
|
47
48
|
tokenLabel: 'Personal access token',
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
// The page opens with every permission pre-selected read-only via GitHub's
|
|
50
|
+
// documented query-param pre-fill - choosing scopes was the manual work, so the
|
|
51
|
+
// URL does it. The test pins each param as `read`, so an edit to `write` goes
|
|
52
|
+
// red rather than into review.
|
|
53
|
+
tokenHint: 'Everything is pre-selected (read-only). Click Generate token, then copy it here',
|
|
54
|
+
tokenUrl: 'https://github.com/settings/personal-access-tokens/new' +
|
|
55
|
+
'?name=Align+CLI+%28read-only%29' +
|
|
56
|
+
'&description=Read-only+import+of+your+PRs+and+issues+into+your+local+Align+graph' +
|
|
57
|
+
'&expires_in=90' +
|
|
58
|
+
'&contents=read&issues=read&pull_requests=read',
|
|
50
59
|
fetch: async (t) => {
|
|
51
60
|
const { fetchGitHubItems } = await import('../lib/fetchers/github.js');
|
|
52
61
|
return fetchGitHubItems({ token: t['token'], limit: 250 });
|
|
@@ -61,6 +70,7 @@ function buildSources(gitAvailable) {
|
|
|
61
70
|
oauthKey: 'jira-personal',
|
|
62
71
|
// Local-mode token paste (read-only Atlassian API token + email + site).
|
|
63
72
|
tokenLabel: 'API token',
|
|
73
|
+
tokenHint: 'Click Create API token, name it anything, then copy it here',
|
|
64
74
|
tokenUrl: 'https://id.atlassian.com/manage-profile/security/api-tokens',
|
|
65
75
|
extraFields: [
|
|
66
76
|
{ key: 'email', label: 'Atlassian account email' },
|
|
@@ -79,6 +89,7 @@ function buildSources(gitAvailable) {
|
|
|
79
89
|
oauthKey: 'confluence-personal',
|
|
80
90
|
// Local-mode token paste (read-only Atlassian API token + email + site).
|
|
81
91
|
tokenLabel: 'API token',
|
|
92
|
+
tokenHint: 'Click Create API token, name it anything, then copy it here',
|
|
82
93
|
tokenUrl: 'https://id.atlassian.com/manage-profile/security/api-tokens',
|
|
83
94
|
extraFields: [
|
|
84
95
|
{ key: 'email', label: 'Atlassian account email' },
|
|
@@ -137,10 +148,12 @@ function buildSources(gitAvailable) {
|
|
|
137
148
|
tokenLabel: 'Personal access token',
|
|
138
149
|
// Read-only tier: steer users to the read-only scope. `api` would grant
|
|
139
150
|
// write; `read_api` is read-only and all Align's import needs. See ALI-98.
|
|
140
|
-
|
|
151
|
+
// read_api arrives pre-selected via GitLab's documented ?name=&scopes= pre-fill,
|
|
152
|
+
// which works on self-managed hosts too - the docs example is gitlab.example.com.
|
|
153
|
+
tokenHint: 'read_api is pre-selected (read-only). Click Create, then copy the token here',
|
|
141
154
|
tokenUrl: (t) => {
|
|
142
155
|
const base = t['domain'] ? `https://${t['domain']}` : 'https://gitlab.com';
|
|
143
|
-
return `${base}/-/user_settings/personal_access_tokens`;
|
|
156
|
+
return `${base}/-/user_settings/personal_access_tokens?name=Align+CLI&scopes=read_api`;
|
|
144
157
|
},
|
|
145
158
|
extraFields: [
|
|
146
159
|
{ key: 'domain', label: 'GitLab domain (leave blank for gitlab.com)' },
|
|
@@ -159,6 +172,7 @@ function buildSources(gitAvailable) {
|
|
|
159
172
|
oauthKey: 'linear-personal',
|
|
160
173
|
// Local-mode token paste: a Linear personal API key (read-only graph).
|
|
161
174
|
tokenLabel: 'Personal API key (lin_api_...)',
|
|
175
|
+
tokenHint: 'Click Create key, then copy it here',
|
|
162
176
|
tokenUrl: 'https://linear.app/settings/api',
|
|
163
177
|
fetch: async (t) => {
|
|
164
178
|
const { fetchLinearItems } = await import('../lib/fetchers/linear.js');
|
|
@@ -197,19 +211,36 @@ async function collectTokens(source, seed = {}, opts = {}) {
|
|
|
197
211
|
// Extra fields first (email, domain for Jira/Confluence)
|
|
198
212
|
for (const field of source.extraFields ?? []) {
|
|
199
213
|
// defaultValue '' so a blank submit renders empty, not the literal "undefined".
|
|
200
|
-
const val = await p.text({ message: ` ${field.label}:`, defaultValue: '' });
|
|
214
|
+
const val = await guardedPrompt(field.label, () => p.text({ message: ` ${field.label}:`, defaultValue: '' }));
|
|
215
|
+
if (val === null)
|
|
216
|
+
return null;
|
|
201
217
|
if (p.isCancel(val))
|
|
202
218
|
return null;
|
|
203
219
|
tokens[field.key] = (val ?? '');
|
|
204
220
|
}
|
|
205
221
|
// Main token
|
|
206
222
|
if (source.tokenLabel) {
|
|
223
|
+
// No OAuth here, by design (Tom, 2026-08-31, superseding ALI-778's local
|
|
224
|
+
// direction): local mode is the user's personal graph, so the credential is one
|
|
225
|
+
// they mint, scope and revoke themselves. The device-flow/PKCE machinery this
|
|
226
|
+
// block used to try first is deleted - recover it from the history of PR #196 if
|
|
227
|
+
// it is ever wanted again. OAuth lives on the personal-cloud path, where the
|
|
228
|
+
// hosted broker holds the client secrets.
|
|
207
229
|
// Reuse an already-authenticated local CLI before sending anyone to a browser to
|
|
208
230
|
// mint a PAT by hand. Asked for by an outside tester on 2026-08-30 who already had
|
|
209
231
|
// `gh` set up. Declining falls through to the browser flow unchanged.
|
|
210
232
|
const cliSource = CLI_TOKEN_SOURCES[source.id];
|
|
211
233
|
if (cliSource) {
|
|
212
|
-
|
|
234
|
+
// Detection verifies read-only-ness BEFORE the decision layer, so --approve can
|
|
235
|
+
// never auto-accept a token that was not positively confirmed (ALI-98). A
|
|
236
|
+
// refusal is said out loud: a silent skip here reads as "gh not installed" when
|
|
237
|
+
// the truth is "gh is installed and its token can write".
|
|
238
|
+
const detected = await detectVerifiedCliToken(cliSource);
|
|
239
|
+
if (detected && 'refused' in detected) {
|
|
240
|
+
p.log.info(chalk.dim(` Found ${cliSource.label}, but will not reuse its token: ${detected.refused}.\n` +
|
|
241
|
+
` Local mode only ever reads, so paste a read-only token below instead.`));
|
|
242
|
+
}
|
|
243
|
+
const cliToken = detected && 'token' in detected ? detected.token : null;
|
|
213
244
|
const decision = cliTokenDecision({ token: cliToken, approve: opts.approve ?? false });
|
|
214
245
|
let useCli = decision === 'use';
|
|
215
246
|
if (decision === 'ask') {
|
|
@@ -236,7 +267,9 @@ async function collectTokens(source, seed = {}, opts = {}) {
|
|
|
236
267
|
if (source.tokenHint) {
|
|
237
268
|
p.log.info(chalk.dim(` ${source.tokenHint}`));
|
|
238
269
|
}
|
|
239
|
-
const token = await p.password({ message: ` ${source.tokenLabel}:` });
|
|
270
|
+
const token = await guardedPrompt(source.label, () => p.password({ message: ` ${source.tokenLabel}:` }));
|
|
271
|
+
if (token === null)
|
|
272
|
+
return null;
|
|
240
273
|
if (p.isCancel(token))
|
|
241
274
|
return null;
|
|
242
275
|
tokens['token'] = token;
|
|
@@ -302,8 +335,11 @@ async function runLocalSetup(opts = {}) {
|
|
|
302
335
|
// is the only thing that can ever turn this on - see usage-telemetry.ts's local-embedded
|
|
303
336
|
// branch, which reads this same stored decision.
|
|
304
337
|
await maybeRequestTelemetryConsent(config, Boolean(interactive));
|
|
305
|
-
// Connectors:
|
|
306
|
-
//
|
|
338
|
+
// Connectors: local mode connects by a read-only token the user mints themselves,
|
|
339
|
+
// for every connector - their personal graph, their credential. OAuth belongs to
|
|
340
|
+
// the personal-cloud path, where the hosted broker holds the client secrets. (This
|
|
341
|
+
// paragraph has now said three different things; the design statement printed to
|
|
342
|
+
// the user below is the durable version.) Only sources with a tokenLabel are
|
|
307
343
|
// pasteable (Teams/Zoom have no personal token → excluded). See ALI-103.
|
|
308
344
|
//
|
|
309
345
|
// Asked BEFORE the git scan so every question lands on a clean screen and the rest of
|
|
@@ -313,6 +349,21 @@ async function runLocalSetup(opts = {}) {
|
|
|
313
349
|
.filter((s) => s.id !== 'git' && s.tokenLabel)
|
|
314
350
|
.sort((a, b) => TIER_ORDER[a.tier ?? 'personal'] - TIER_ORDER[b.tier ?? 'personal']);
|
|
315
351
|
console.log('');
|
|
352
|
+
// Say WHY, at the point of use. This reason used to live only in the comment above:
|
|
353
|
+
// the user was sent to a provider page to mint a token with no explanation, which reads
|
|
354
|
+
// as the tool being clumsy rather than as the privacy trade they chose. The constraint
|
|
355
|
+
// is the provider's, not ours - OAuth needs a client secret, and a secret inside a
|
|
356
|
+
// distributed binary is not a secret. See ALI-778.
|
|
357
|
+
if (interactive && localConnectors.length > 0) {
|
|
358
|
+
// ONE story, stated as the design it is (Tom, 2026-08-31, superseding ALI-778's
|
|
359
|
+
// local-OAuth direction): this is the user's PERSONAL graph, so the credential is
|
|
360
|
+
// one they mint, scope and can revoke themselves. Earlier versions blamed the
|
|
361
|
+
// provider ("their sign-in requires a secret"), then blamed us ("the Align app is
|
|
362
|
+
// not published yet"). Both framed the paste as a defect; it is the point.
|
|
363
|
+
p.log.info(chalk.dim(`Local mode uses read-only tokens you create yourself: this graph is yours,\n` +
|
|
364
|
+
` so the credential is too - scoped by you, revocable by you. Tokens are\n` +
|
|
365
|
+
` stored on this machine and only ever used to read.`));
|
|
366
|
+
}
|
|
316
367
|
// `interactive` computed once, at the top of this function - see the comment there.
|
|
317
368
|
const selected = interactive
|
|
318
369
|
? await p.multiselect({
|
|
@@ -577,7 +628,9 @@ async function runCloudSetup(ctx) {
|
|
|
577
628
|
// → token-paste fallback (the fixed OAuth app can't serve arbitrary hosts).
|
|
578
629
|
const gate = source.hostGatedOAuth.field;
|
|
579
630
|
const gateLabel = source.extraFields?.find((f) => f.key === gate)?.label ?? gate;
|
|
580
|
-
const host = await p.text({ message: ` ${gateLabel}:`, placeholder: 'gitlab.com', defaultValue: '' });
|
|
631
|
+
const host = await guardedPrompt(gateLabel, () => p.text({ message: ` ${gateLabel}:`, placeholder: 'gitlab.com', defaultValue: '' }));
|
|
632
|
+
if (host === null)
|
|
633
|
+
continue;
|
|
581
634
|
if (p.isCancel(host)) {
|
|
582
635
|
p.cancel('Cancelled.');
|
|
583
636
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/brand.d.ts
CHANGED
|
@@ -15,8 +15,8 @@ export declare const BRAND: {
|
|
|
15
15
|
readonly teal: "#43b6ac";
|
|
16
16
|
readonly navy: "#022863";
|
|
17
17
|
};
|
|
18
|
-
export declare const LOGO_WIDTH =
|
|
19
|
-
export declare const LOGO_ROWS =
|
|
18
|
+
export declare const LOGO_WIDTH = 32;
|
|
19
|
+
export declare const LOGO_ROWS = 10;
|
|
20
20
|
/**
|
|
21
21
|
* The live positioning line, taken from align-frontend's hero (src/lib/seo.ts).
|
|
22
22
|
* 'Collaboration with clarity built in' is RETIRED - do not reintroduce it.
|
|
@@ -48,8 +48,6 @@ export interface RenderOptions {
|
|
|
48
48
|
export declare function logoLines(opts?: RenderOptions): string[];
|
|
49
49
|
export interface BannerOptions extends RenderOptions {
|
|
50
50
|
version: string;
|
|
51
|
-
/** Optional context line, e.g. "local graph" or "preview". */
|
|
52
|
-
context?: string;
|
|
53
51
|
}
|
|
54
52
|
export declare function banner(opts: BannerOptions): string;
|
|
55
53
|
/** One consistent intro chip for every command, in brand teal. */
|
package/dist/lib/brand.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAWX,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,KAAK;;;CAGR,CAAC;AAWX,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,aAAa,4EAGhB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,cAAc,4BAA4B,CAAC;AA6CxD;;;;iFAIiF;AACjF,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAuCD,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,IAAI,GAAE,aAAkB,GAAG,MAAM,EAAE,CAsB5D;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAcD,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAgClD;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAIxD"}
|
package/dist/lib/brand.js
CHANGED
|
@@ -22,8 +22,8 @@ const WHITE_RGB = [255, 255, 255];
|
|
|
22
22
|
const TEAL_256 = 79;
|
|
23
23
|
const NAVY_256 = 24;
|
|
24
24
|
const WHITE_256 = 231;
|
|
25
|
-
export const LOGO_WIDTH =
|
|
26
|
-
export const LOGO_ROWS =
|
|
25
|
+
export const LOGO_WIDTH = 32;
|
|
26
|
+
export const LOGO_ROWS = 10;
|
|
27
27
|
/**
|
|
28
28
|
* The live positioning line, taken from align-frontend's hero (src/lib/seo.ts).
|
|
29
29
|
* 'Collaboration with clarity built in' is RETIRED - do not reintroduce it.
|
|
@@ -39,36 +39,45 @@ export const TAGLINE_LINES = [
|
|
|
39
39
|
*/
|
|
40
40
|
export const TAGLINE_ACCENT = "don't know the company.";
|
|
41
41
|
/**
|
|
42
|
-
* The mark,
|
|
43
|
-
* grid, so a diagonal steps half as far as it does with half-blocks.
|
|
42
|
+
* The mark, DERIVED from the real logo rather than hand-drawn.
|
|
44
43
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
44
|
+
* Sampled directly from the brand pack's F 1 R.png by area coverage at 32x20 pixels,
|
|
45
|
+
* which is why the geometry is the actual mark and not an approximation of it: a hollow
|
|
46
|
+
* triangle with a nested hollow triangle inside, a navy base bar that overhangs to the
|
|
47
|
+
* RIGHT only, a teal bar that overhangs to the LEFT, two short teal segments, and two
|
|
48
|
+
* slanted navy feet. Earlier hand-drawn versions got every one of those details wrong,
|
|
49
|
+
* because they were reconstructed from memory instead of read off the asset.
|
|
50
50
|
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
51
|
+
* Only block and half-block glyphs are used. Quadrant characters were tried in 0.26.2
|
|
52
|
+
* and render blurry and inset in many terminal fonts, which is the one thing a logo
|
|
53
|
+
* cannot afford; these three are universally hinted.
|
|
54
|
+
*
|
|
55
|
+
* GLYPHS holds the shape, COLOURS names each cell's brand colour, and a test asserts
|
|
56
|
+
* they agree cell for cell.
|
|
54
57
|
*/
|
|
55
58
|
const GLYPHS = [
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
59
|
-
'
|
|
60
|
-
'
|
|
61
|
-
'
|
|
62
|
-
'
|
|
59
|
+
' ▄██▄ ',
|
|
60
|
+
' ▄██▀▀█▄ ',
|
|
61
|
+
' ▄█▀ ▄ ██▄ ',
|
|
62
|
+
' ▄██ ███▄ ▀██ ',
|
|
63
|
+
' ██▀ ▄█▀ ▀██ ██▄ ',
|
|
64
|
+
' ▄██████████████████████ ',
|
|
65
|
+
'▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ',
|
|
66
|
+
'▀▀▀▀▀█████████▀▀▀▀▀▀▀███████▄ ',
|
|
67
|
+
' ▄█▀▀▀▀▀██ ▀██▀▀▀▀██ ',
|
|
68
|
+
' █████████ ▀████████▄',
|
|
63
69
|
];
|
|
64
70
|
const COLOURS = [
|
|
65
|
-
'
|
|
66
|
-
'
|
|
67
|
-
'
|
|
68
|
-
'
|
|
69
|
-
' NNN
|
|
70
|
-
'
|
|
71
|
-
'
|
|
71
|
+
' NNNN ',
|
|
72
|
+
' NNNNNNN ',
|
|
73
|
+
' NNN N NNN ',
|
|
74
|
+
' NNN NNNN NNN ',
|
|
75
|
+
' NNN NNN NNN NNN ',
|
|
76
|
+
' NNNNNNNNNNNNNNNNNNNNNNN ',
|
|
77
|
+
'TTTTTTTTTTTTTTTTTTTTTTTTTTTT ',
|
|
78
|
+
'TTTTTTTTTTTTTTTTTTTTTTTTTTTTT ',
|
|
79
|
+
' NTTTTTTTT TTTTTTTTT ',
|
|
80
|
+
' NNNNNNNNN NNNNNNNNNN',
|
|
72
81
|
];
|
|
73
82
|
function resolveColor(o) {
|
|
74
83
|
if (typeof o.color === 'boolean')
|
|
@@ -158,13 +167,20 @@ export function banner(opts) {
|
|
|
158
167
|
const reset = color ? RESET : '';
|
|
159
168
|
const right = new Array(LOGO_ROWS).fill('');
|
|
160
169
|
// Registered, not TM: Align is a registered trademark.
|
|
161
|
-
|
|
170
|
+
// Centre the text block against the mark's height instead of pinning rows: the
|
|
171
|
+
// sprite has changed height three times and hardcoded indices drifted each time.
|
|
172
|
+
const textTop = Math.max(0, Math.floor((LOGO_ROWS - 4) / 2));
|
|
173
|
+
right[textTop] = `${bold}ALIGN®${reset}`;
|
|
162
174
|
// Match the site: the headline is the heading colour and only the accent span is teal.
|
|
163
|
-
right[
|
|
175
|
+
right[textTop + 1] = `${headline}${TAGLINE_LINES[0]}${reset}`;
|
|
164
176
|
const [lead, accent] = splitAccent(TAGLINE_LINES[1]);
|
|
165
|
-
right[
|
|
166
|
-
|
|
167
|
-
|
|
177
|
+
right[textTop + 2] = `${headline}${lead}${reset}${tealFg}${accent}${reset}`;
|
|
178
|
+
// Version only. A graph label ('local graph', 'personal cloud') cannot go here:
|
|
179
|
+
// both callers print the banner BEFORE they know which graph is in play, so any
|
|
180
|
+
// such line would be a guess, and guessing 'local' at a cloud user implies their
|
|
181
|
+
// data stayed on the machine when it did not.
|
|
182
|
+
const meta = `v${opts.version}`;
|
|
183
|
+
right[textTop + 4] = `${dim}${meta}${reset}`;
|
|
168
184
|
const mark = logoLines(opts);
|
|
169
185
|
return mark.map((m, i) => (right[i] ? `${m} ${right[i]}` : m)).join('\n');
|
|
170
186
|
}
|
package/dist/lib/brand.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CACP,CAAC;AAEX,MAAM,QAAQ,GAA6B,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAC1D,MAAM,QAAQ,GAA6B,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AACvD,MAAM,SAAS,GAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE5D,iFAAiF;AACjF,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,SAAS,GAAG,GAAG,CAAC;AAEtB,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../../src/lib/brand.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run one interactive prompt so a crash inside the prompt library cannot end the
|
|
3
|
+
* whole command.
|
|
4
|
+
*
|
|
5
|
+
* WHY THIS EXISTS
|
|
6
|
+
* ---------------
|
|
7
|
+
* The shipped binaries are built with `bun build --compile`, so they run on Bun,
|
|
8
|
+
* not Node. @clack/core's base Prompt leaves `this.value` as `undefined` until the
|
|
9
|
+
* readline layer sets it, and Bun's readline does not initialise it the way Node's
|
|
10
|
+
* does. Every clack getter that reads `this.value` therefore throws on Bun and not
|
|
11
|
+
* on Node - `masked` for a password, `valueWithCursor` for text, and so on.
|
|
12
|
+
*
|
|
13
|
+
* That is why it reached two users while every local reproduction passed: the
|
|
14
|
+
* reproductions ran on Node. The error wording is the tell, and it is worth knowing
|
|
15
|
+
* for next time - Bun says "undefined is not an object (evaluating '...')" where
|
|
16
|
+
* Node says "Cannot read properties of undefined". Both reports carried the Bun
|
|
17
|
+
* phrasing.
|
|
18
|
+
*
|
|
19
|
+
* Fixed upstream in @clack/core 1.x, which is a major version this repo has not
|
|
20
|
+
* taken yet. Until it does, one prompt failing must cost that prompt and not the
|
|
21
|
+
* run: an uncaught throw here reaches index.ts's handleFatal, which calls
|
|
22
|
+
* process.exit(1) and discards every connector already configured.
|
|
23
|
+
*
|
|
24
|
+
* Deliberately NOT a general try/catch around business logic. It wraps exactly the
|
|
25
|
+
* third-party boundary that is known to be defective.
|
|
26
|
+
*/
|
|
27
|
+
export declare function guardedPrompt<T>(label: string, run: () => Promise<T>): Promise<T | null>;
|
|
28
|
+
//# sourceMappingURL=prompt-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-guard.d.ts","sourceRoot":"","sources":["../../src/lib/prompt-guard.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACpB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAOnB"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as p from '@clack/prompts';
|
|
2
|
+
/**
|
|
3
|
+
* Run one interactive prompt so a crash inside the prompt library cannot end the
|
|
4
|
+
* whole command.
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS EXISTS
|
|
7
|
+
* ---------------
|
|
8
|
+
* The shipped binaries are built with `bun build --compile`, so they run on Bun,
|
|
9
|
+
* not Node. @clack/core's base Prompt leaves `this.value` as `undefined` until the
|
|
10
|
+
* readline layer sets it, and Bun's readline does not initialise it the way Node's
|
|
11
|
+
* does. Every clack getter that reads `this.value` therefore throws on Bun and not
|
|
12
|
+
* on Node - `masked` for a password, `valueWithCursor` for text, and so on.
|
|
13
|
+
*
|
|
14
|
+
* That is why it reached two users while every local reproduction passed: the
|
|
15
|
+
* reproductions ran on Node. The error wording is the tell, and it is worth knowing
|
|
16
|
+
* for next time - Bun says "undefined is not an object (evaluating '...')" where
|
|
17
|
+
* Node says "Cannot read properties of undefined". Both reports carried the Bun
|
|
18
|
+
* phrasing.
|
|
19
|
+
*
|
|
20
|
+
* Fixed upstream in @clack/core 1.x, which is a major version this repo has not
|
|
21
|
+
* taken yet. Until it does, one prompt failing must cost that prompt and not the
|
|
22
|
+
* run: an uncaught throw here reaches index.ts's handleFatal, which calls
|
|
23
|
+
* process.exit(1) and discards every connector already configured.
|
|
24
|
+
*
|
|
25
|
+
* Deliberately NOT a general try/catch around business logic. It wraps exactly the
|
|
26
|
+
* third-party boundary that is known to be defective.
|
|
27
|
+
*/
|
|
28
|
+
export async function guardedPrompt(label, run) {
|
|
29
|
+
try {
|
|
30
|
+
return await run();
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
p.log.warn(`${label}: the prompt failed (${err.message}). Skipping it.`);
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=prompt-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-guard.js","sourceRoot":"","sources":["../../src/lib/prompt-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,KAAa,EACb,GAAqB;IAErB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,wBAAyB,GAAa,CAAC,OAAO,iBAAiB,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/lib/setup-ux.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ScopeVerdict } from './token-scope-gate.js';
|
|
1
2
|
/**
|
|
2
3
|
* How many options `@clack/prompts` may render at once.
|
|
3
4
|
*
|
|
@@ -16,12 +17,33 @@ export declare function pickerMaxItems(rows: number | undefined, optionCount: nu
|
|
|
16
17
|
* CLI degrades to the flow that existed before rather than to an error.
|
|
17
18
|
*/
|
|
18
19
|
export declare function detectCliToken(bin: string, args: string[]): Promise<string | null>;
|
|
19
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* Connectors whose token can be read from an already-authenticated local CLI.
|
|
22
|
+
*
|
|
23
|
+
* `verify` is REQUIRED, not optional. A reused credential was minted for something
|
|
24
|
+
* else, so it is taken only on positive confirmation it cannot write (ALI-98) - and
|
|
25
|
+
* making the field mandatory means a future source (glab, linear) cannot ship reuse
|
|
26
|
+
* without deciding how to prove read-only-ness for its provider. The ungated version
|
|
27
|
+
* of this table shipped in #183 and silently held gh's repo-scoped (write-capable)
|
|
28
|
+
* token in the free tier.
|
|
29
|
+
*/
|
|
20
30
|
export declare const CLI_TOKEN_SOURCES: Record<string, {
|
|
21
31
|
bin: string;
|
|
22
32
|
args: string[];
|
|
23
33
|
label: string;
|
|
34
|
+
verify: (token: string) => Promise<ScopeVerdict>;
|
|
24
35
|
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Detect AND verify in one step, so the decision layer (and therefore --approve) can
|
|
38
|
+
* never see an unverified token. `refused` carries the reason for the user: a silent
|
|
39
|
+
* null here would read as "gh not installed" when the truth is "gh is installed and
|
|
40
|
+
* its token can write".
|
|
41
|
+
*/
|
|
42
|
+
export declare function detectVerifiedCliToken(source: (typeof CLI_TOKEN_SOURCES)[string]): Promise<{
|
|
43
|
+
token: string;
|
|
44
|
+
} | {
|
|
45
|
+
refused: string;
|
|
46
|
+
} | null>;
|
|
25
47
|
/**
|
|
26
48
|
* Whether to use a token found in a local CLI, ask first, or ignore it.
|
|
27
49
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ux.d.ts","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"setup-ux.d.ts","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAA6B,MAAM,uBAAuB,CAAC;AAsBrF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIpF;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,MAAM,EACN;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAClD,CAQF,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,GACzC,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAczD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAKtG"}
|
package/dist/lib/setup-ux.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { execa } from 'execa';
|
|
2
|
+
import { verifyReadOnlyGithubToken } from './token-scope-gate.js';
|
|
2
3
|
/**
|
|
3
4
|
* Sizing and credential-discovery helpers for `align setup`.
|
|
4
5
|
*
|
|
@@ -50,10 +51,46 @@ export async function detectCliToken(bin, args) {
|
|
|
50
51
|
return null;
|
|
51
52
|
}
|
|
52
53
|
}
|
|
53
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Connectors whose token can be read from an already-authenticated local CLI.
|
|
56
|
+
*
|
|
57
|
+
* `verify` is REQUIRED, not optional. A reused credential was minted for something
|
|
58
|
+
* else, so it is taken only on positive confirmation it cannot write (ALI-98) - and
|
|
59
|
+
* making the field mandatory means a future source (glab, linear) cannot ship reuse
|
|
60
|
+
* without deciding how to prove read-only-ness for its provider. The ungated version
|
|
61
|
+
* of this table shipped in #183 and silently held gh's repo-scoped (write-capable)
|
|
62
|
+
* token in the free tier.
|
|
63
|
+
*/
|
|
54
64
|
export const CLI_TOKEN_SOURCES = {
|
|
55
|
-
github: {
|
|
65
|
+
github: {
|
|
66
|
+
bin: 'gh',
|
|
67
|
+
args: ['auth', 'token'],
|
|
68
|
+
label: 'GitHub CLI (gh)',
|
|
69
|
+
verify: (t) => verifyReadOnlyGithubToken(t),
|
|
70
|
+
},
|
|
56
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* Detect AND verify in one step, so the decision layer (and therefore --approve) can
|
|
74
|
+
* never see an unverified token. `refused` carries the reason for the user: a silent
|
|
75
|
+
* null here would read as "gh not installed" when the truth is "gh is installed and
|
|
76
|
+
* its token can write".
|
|
77
|
+
*/
|
|
78
|
+
export async function detectVerifiedCliToken(source) {
|
|
79
|
+
const token = await detectCliToken(source.bin, source.args);
|
|
80
|
+
if (!token)
|
|
81
|
+
return null;
|
|
82
|
+
let verdict;
|
|
83
|
+
try {
|
|
84
|
+
verdict = await source.verify(token);
|
|
85
|
+
}
|
|
86
|
+
catch (err) {
|
|
87
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
88
|
+
return { refused: `could not verify token: ${msg}` };
|
|
89
|
+
}
|
|
90
|
+
if (!verdict.ok)
|
|
91
|
+
return { refused: verdict.reason ?? 'not confirmed read-only' };
|
|
92
|
+
return { token };
|
|
93
|
+
}
|
|
57
94
|
/**
|
|
58
95
|
* Whether to use a token found in a local CLI, ask first, or ignore it.
|
|
59
96
|
*
|
package/dist/lib/setup-ux.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-ux.js","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"setup-ux.js","sourceRoot":"","sources":["../../src/lib/setup-ux.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Positive read-only verification for tokens REUSED from a local CLI.
|
|
3
|
+
*
|
|
4
|
+
* A pasted token is the user's own deliberate act, scoped by them at mint time. A
|
|
5
|
+
* reused one (gh auth token) is a credential they minted for something else, so it is
|
|
6
|
+
* taken only on positive confirmation that it cannot write. `gh auth login` issues
|
|
7
|
+
* classic tokens carrying `repo` - read AND write, with no read-only-private
|
|
8
|
+
* equivalent - so the ungated reuse shipped in #183 was quietly holding write
|
|
9
|
+
* capability in the free tier, against ALI-98.
|
|
10
|
+
*
|
|
11
|
+
* Every refusal falls through to the paste prompt, so the user is never blocked; the
|
|
12
|
+
* gate only decides whether a credential is taken WITHOUT them minting one.
|
|
13
|
+
*/
|
|
14
|
+
export interface ScopeVerdict {
|
|
15
|
+
ok: boolean;
|
|
16
|
+
/** Present on refusal: names the offending scopes, or why we could not tell. */
|
|
17
|
+
reason?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function verifyReadOnlyGithubToken(token: string, fetchFn?: typeof fetch): Promise<ScopeVerdict>;
|
|
20
|
+
//# sourceMappingURL=token-scope-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-scope-gate.d.ts","sourceRoot":"","sources":["../../src/lib/token-scope-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgBD,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,OAAO,KAAa,GAC5B,OAAO,CAAC,YAAY,CAAC,CAkCvB"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Positive read-only verification for tokens REUSED from a local CLI.
|
|
3
|
+
*
|
|
4
|
+
* A pasted token is the user's own deliberate act, scoped by them at mint time. A
|
|
5
|
+
* reused one (gh auth token) is a credential they minted for something else, so it is
|
|
6
|
+
* taken only on positive confirmation that it cannot write. `gh auth login` issues
|
|
7
|
+
* classic tokens carrying `repo` - read AND write, with no read-only-private
|
|
8
|
+
* equivalent - so the ungated reuse shipped in #183 was quietly holding write
|
|
9
|
+
* capability in the free tier, against ALI-98.
|
|
10
|
+
*
|
|
11
|
+
* Every refusal falls through to the paste prompt, so the user is never blocked; the
|
|
12
|
+
* gate only decides whether a credential is taken WITHOUT them minting one.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* A classic scope is read-only iff it matches read:<area>, plus user:email which is
|
|
16
|
+
* read despite its shape. An ALLOWLIST, deliberately: GitHub adds scopes over time,
|
|
17
|
+
* and an unknown scope must refuse, not pass. The famous write-capable ones (repo,
|
|
18
|
+
* public_repo, gist, workflow, admin:*, write:*, delete:*) all fail this test, and so
|
|
19
|
+
* does anything we have never heard of.
|
|
20
|
+
*/
|
|
21
|
+
const READ_ONLY_SCOPE = /^read:[a-z_]+$/;
|
|
22
|
+
const READ_ONLY_EXCEPTIONS = new Set(['user:email']);
|
|
23
|
+
function isReadOnlyScope(scope) {
|
|
24
|
+
return READ_ONLY_SCOPE.test(scope) || READ_ONLY_EXCEPTIONS.has(scope);
|
|
25
|
+
}
|
|
26
|
+
export async function verifyReadOnlyGithubToken(token, fetchFn = fetch) {
|
|
27
|
+
let header;
|
|
28
|
+
try {
|
|
29
|
+
const res = await fetchFn('https://api.github.com/user', {
|
|
30
|
+
headers: {
|
|
31
|
+
Authorization: `Bearer ${token}`,
|
|
32
|
+
Accept: 'application/vnd.github+json',
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
if (!res.ok)
|
|
36
|
+
return { ok: false, reason: `GitHub rejected the token (HTTP ${res.status})` };
|
|
37
|
+
header = res.headers.get('x-oauth-scopes');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Refuse, do not assume: this gate exists to grant a convenience, and "could not
|
|
41
|
+
// check" must not become "checked out fine". The paste path remains.
|
|
42
|
+
return { ok: false, reason: 'could not verify the token with GitHub' };
|
|
43
|
+
}
|
|
44
|
+
// Fine-grained PATs report no scopes header at all, so read-only-ness cannot be
|
|
45
|
+
// confirmed from outside. Distinct from an EMPTY header, which is a classic token
|
|
46
|
+
// with zero scopes: that one can read public data only, and is fine.
|
|
47
|
+
if (header === null) {
|
|
48
|
+
return { ok: false, reason: 'could not confirm the token is read-only (no scope list)' };
|
|
49
|
+
}
|
|
50
|
+
const scopes = header
|
|
51
|
+
.split(',')
|
|
52
|
+
.map((s) => s.trim().toLowerCase())
|
|
53
|
+
.filter((s) => s.length > 0);
|
|
54
|
+
const writeCapable = scopes.filter((s) => !isReadOnlyScope(s));
|
|
55
|
+
if (writeCapable.length > 0) {
|
|
56
|
+
return { ok: false, reason: `token can write (scopes: ${writeCapable.join(', ')})` };
|
|
57
|
+
}
|
|
58
|
+
return { ok: true };
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=token-scope-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token-scope-gate.js","sourceRoot":"","sources":["../../src/lib/token-scope-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAErD,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,KAAa,EACb,UAAwB,KAAK;IAE7B,IAAI,MAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,6BAA6B,EAAE;YACvD,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,KAAK,EAAE;gBAChC,MAAM,EAAE,6BAA6B;aACtC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAC5F,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;QACjF,qEAAqE;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAwC,EAAE,CAAC;IACzE,CAAC;IAED,gFAAgF;IAChF,kFAAkF;IAClF,qEAAqE;IACrE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,0DAA0D,EAAE,CAAC;IAC3F,CAAC;IAED,MAAM,MAAM,GAAG,MAAM;SAClB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,4BAA4B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
|