@ritualai/cli 0.7.2 → 0.7.5
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 +56 -5
- package/dist/commands/init.js +262 -40
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.js +120 -13
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +55 -8
- package/dist/commands/logout.js.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/agents/providers.js +14 -3
- package/dist/lib/agents/providers.js.map +1 -1
- package/dist/lib/auth-flow.js +1 -1
- package/dist/lib/auth-flow.js.map +1 -1
- package/dist/lib/colors.js +182 -0
- package/dist/lib/colors.js.map +1 -0
- package/dist/lib/config.js +30 -17
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/credentials-backup.js +282 -0
- package/dist/lib/credentials-backup.js.map +1 -0
- package/dist/lib/identity-banner.js +88 -0
- package/dist/lib/identity-banner.js.map +1 -0
- package/dist/lib/oidc.js +55 -0
- package/dist/lib/oidc.js.map +1 -1
- package/dist/lib/package-info.js +76 -0
- package/dist/lib/package-info.js.map +1 -0
- package/dist/lib/welcome-banner.js +290 -0
- package/dist/lib/welcome-banner.js.map +1 -0
- package/package.json +1 -1
- package/skills/claude-code/ritual/agents/openai.yaml +2 -2
- package/skills/codex/ritual/agents/openai.yaml +2 -2
- package/skills/cursor/ritual/agents/openai.yaml +2 -2
- package/skills/gemini/ritual/agents/openai.yaml +2 -2
- package/skills/kiro/ritual/agents/openai.yaml +2 -2
- package/skills/vscode/ritual/agents/openai.yaml +2 -2
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ npm install -g @ritualai/cli
|
|
|
15
15
|
## Quick start
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
ritual init # scaffold skills + register MCP
|
|
18
|
+
ritual init # scaffold skills + register MCP for every detected agent
|
|
19
19
|
# (prompts to open browser for sign-in on first run)
|
|
20
20
|
ritual doctor # sanity-check the environment
|
|
21
21
|
```
|
|
@@ -25,7 +25,17 @@ in and prompts:
|
|
|
25
25
|
|
|
26
26
|
```
|
|
27
27
|
You are not signed in.
|
|
28
|
-
|
|
28
|
+
|
|
29
|
+
We'll open your browser for sign-in. A few notes before you continue:
|
|
30
|
+
• If this is a brand-new account, you'll be asked to verify your
|
|
31
|
+
email. KEEP THIS TERMINAL OPEN while you check your inbox — closing it
|
|
32
|
+
drops the loopback listener and you'll have to re-run `ritual init`.
|
|
33
|
+
• If you already have an account, sign in as usual — you'll bounce back
|
|
34
|
+
here automatically.
|
|
35
|
+
• The sign-in window is 5 minutes. If you exceed it, just re-run
|
|
36
|
+
`ritual init` and we'll pick up from this prompt.
|
|
37
|
+
|
|
38
|
+
Press Enter to open the browser, or Ctrl-C to abort:
|
|
29
39
|
```
|
|
30
40
|
|
|
31
41
|
Hit Enter, complete the browser OAuth flow, and `init` resumes
|
|
@@ -36,8 +46,14 @@ cached and refreshed automatically).
|
|
|
36
46
|
|
|
37
47
|
1. **Signs you in** if you aren't already (browser OAuth, npm-style
|
|
38
48
|
"press Enter to open browser" prompt). Skipped if already signed in.
|
|
39
|
-
2. **Detects** which AI coding agents
|
|
40
|
-
|
|
49
|
+
2. **Detects** which AI coding agents are actually installed and
|
|
50
|
+
configurable on this machine. "Detected" means real local evidence
|
|
51
|
+
(a populated config dir, the `claude` binary on PATH, etc.) — not
|
|
52
|
+
just "Ritual supports this agent in theory." Output cleanly separates
|
|
53
|
+
what was detected from what's supported-but-absent. If multiple
|
|
54
|
+
agents are detected, `init` prints the full list of config files
|
|
55
|
+
it's about to touch and pauses for a single Enter — abort and
|
|
56
|
+
re-run with `--agent <id>` to scope to one.
|
|
41
57
|
3. **Mints a long-lived Personal Access Token** via the Ritual API
|
|
42
58
|
named `Ritual CLI — <hostname>`, so the agent has a credential
|
|
43
59
|
that doesn't expire every 5 minutes the way OAuth tokens do.
|
|
@@ -85,8 +101,11 @@ via the agent's MCP client talking to Ritual Cloud.
|
|
|
85
101
|
|
|
86
102
|
```bash
|
|
87
103
|
ritual init [--agent <id>] [--list] # scaffold + register (signs in if needed)
|
|
104
|
+
ritual init --switch-account # force a fresh sign-in as a different account
|
|
88
105
|
ritual login # explicit browser sign-in
|
|
89
|
-
ritual
|
|
106
|
+
ritual login --switch-account # same switch behavior, without the full init flow
|
|
107
|
+
ritual logout # clear local creds
|
|
108
|
+
ritual logout --all # also end the Keycloak browser SSO session
|
|
90
109
|
ritual whoami # session info, auto-refresh
|
|
91
110
|
ritual refresh # force token refresh
|
|
92
111
|
ritual doctor # env + detection report
|
|
@@ -97,6 +116,38 @@ The agent ids are: `claude-code`, `cursor`, `windsurf`, `kiro`,
|
|
|
97
116
|
for a specific one without auto-detecting (handy when you've got the
|
|
98
117
|
agent installed somewhere non-standard).
|
|
99
118
|
|
|
119
|
+
## Switching accounts
|
|
120
|
+
|
|
121
|
+
Most users have one Ritual account and never think about this. If you
|
|
122
|
+
need to switch (work vs personal, testing a different tenant, etc.):
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
ritual init --switch-account
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
This is atomic — your existing local credentials are backed up, the
|
|
129
|
+
browser is opened with OIDC `prompt=login` (so Keycloak shows its
|
|
130
|
+
sign-in form even if its SSO cookie says you're already signed in as
|
|
131
|
+
someone else), and on any failure your previous session is restored.
|
|
132
|
+
No incognito window needed.
|
|
133
|
+
|
|
134
|
+
In CI / non-interactive use, pass `--yes` to bypass the confirmation:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
ritual init --switch-account --yes
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
To also end your Keycloak browser SSO session (so the next sign-in
|
|
141
|
+
from anywhere on this machine shows the sign-in form):
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
ritual logout --all
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
This does NOT revoke minted Personal Access Tokens, agent MCP
|
|
148
|
+
registrations, or refresh tokens cached server-side — manage those
|
|
149
|
+
separately at the URL `logout --all` prints.
|
|
150
|
+
|
|
100
151
|
## How refresh works
|
|
101
152
|
|
|
102
153
|
Keycloak issues a short-lived access token (~5 min by default) and a
|
package/dist/commands/init.js
CHANGED
|
@@ -12,6 +12,11 @@ const skill_copy_1 = require("../lib/skill-copy");
|
|
|
12
12
|
const auth_flow_1 = require("../lib/auth-flow");
|
|
13
13
|
const prompt_1 = require("../lib/prompt");
|
|
14
14
|
const workspace_flow_1 = require("../lib/workspace-flow");
|
|
15
|
+
const credentials_backup_1 = require("../lib/credentials-backup");
|
|
16
|
+
const config_2 = require("../lib/config");
|
|
17
|
+
const identity_banner_1 = require("../lib/identity-banner");
|
|
18
|
+
const welcome_banner_1 = require("../lib/welcome-banner");
|
|
19
|
+
const package_info_1 = require("../lib/package-info");
|
|
15
20
|
/**
|
|
16
21
|
* Issuer URL for the dev shortcut. Exported so `ritual login --dev`
|
|
17
22
|
* can use the same constant (single source of truth — if we ever flip
|
|
@@ -37,9 +42,26 @@ function resolveIssuerForInit(opts) {
|
|
|
37
42
|
return undefined; // let auth-flow.ts pick from env / default
|
|
38
43
|
}
|
|
39
44
|
async function initCommand(opts = {}) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
45
|
+
// --- Welcome banner (TTY only; skipped for --list early-exit) ----
|
|
46
|
+
// Replaces the previous single-line opener. The banner surfaces
|
|
47
|
+
// identity (when signed in), workspace binding, and "what this
|
|
48
|
+
// command will do" — all at a glance. Stderr-routed so machine
|
|
49
|
+
// consumers (CI / piped output) aren't polluted.
|
|
50
|
+
if (!opts.list) {
|
|
51
|
+
const projectDir = opts.cwd ?? process.cwd();
|
|
52
|
+
const ws = (0, welcome_banner_1.readBoundWorkspace)(projectDir);
|
|
53
|
+
const tokenStatusEarly = await (0, config_1.getValidAccessToken)();
|
|
54
|
+
const currentUser = tokenStatusEarly.kind === 'signed-in'
|
|
55
|
+
? (tokenStatusEarly.creds.user?.email ?? tokenStatusEarly.creds.user?.sub)
|
|
56
|
+
: undefined;
|
|
57
|
+
(0, welcome_banner_1.printWelcomeBanner)({
|
|
58
|
+
currentUser,
|
|
59
|
+
workspaceBound: ws.bound,
|
|
60
|
+
workspaceName: ws.name,
|
|
61
|
+
projectDir,
|
|
62
|
+
cliVersion: (0, package_info_1.readPackageVersionSafe)(),
|
|
63
|
+
});
|
|
64
|
+
}
|
|
43
65
|
// --- 0. Handle --list (early exit, no auth required) ------------
|
|
44
66
|
if (opts.list) {
|
|
45
67
|
console.log(' Known agents:');
|
|
@@ -51,47 +73,155 @@ async function initCommand(opts = {}) {
|
|
|
51
73
|
}
|
|
52
74
|
// --- 1. Auth check (lazy login — npm-style "press Enter to sign in") ---
|
|
53
75
|
//
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
76
|
+
// Three paths depending on (a) whether the user has a valid local
|
|
77
|
+
// session and (b) whether `--switch-account` was passed:
|
|
78
|
+
//
|
|
79
|
+
// 1. Valid session, no --switch-account: print the identity
|
|
80
|
+
// banner to stderr (so machine-parsers don't see it) and
|
|
81
|
+
// continue. This is the "Ritual silently used the cached
|
|
82
|
+
// mike@ritual.work session while the user thought they signed
|
|
83
|
+
// in as tkmdjvo@gmail.com" trap from the 2026-05-13 prod-
|
|
84
|
+
// cutover test — surfacing the identity makes the trap
|
|
85
|
+
// impossible.
|
|
86
|
+
// 2. Valid session, --switch-account: confirm the switch (gated
|
|
87
|
+
// pause; --yes bypasses for CI), then run an ATOMIC swap:
|
|
88
|
+
// back up creds, fresh forced-login (prompt=login so KC
|
|
89
|
+
// ignores its SSO cookie), commit-or-restore on outcome.
|
|
90
|
+
// 3. No valid session: run the existing lazy-auth flow
|
|
91
|
+
// (unchanged) with the email-verify warning.
|
|
60
92
|
let tokenStatus = await (0, config_1.getValidAccessToken)();
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
93
|
+
const needsFreshLogin = tokenStatus.kind !== 'signed-in' || opts.switchAccount;
|
|
94
|
+
if (!needsFreshLogin && tokenStatus.kind === 'signed-in') {
|
|
95
|
+
// Path 1 — the welcome banner above already surfaces the
|
|
96
|
+
// current identity, so we don't need a separate identity
|
|
97
|
+
// banner here. `printIdentityBanner` is still exported (used
|
|
98
|
+
// by `ritual whoami` and elsewhere) but suppressed in `init`
|
|
99
|
+
// to avoid duplicating signal.
|
|
100
|
+
void identity_banner_1.identityFromCreds; // imported but only used by the type narrowing path below
|
|
101
|
+
void identity_banner_1.printIdentityBanner;
|
|
102
|
+
}
|
|
103
|
+
if (needsFreshLogin) {
|
|
104
|
+
// Build the "why we're here" message + prompt copy. Distinct
|
|
105
|
+
// flavors for: re-auth required, not signed in, and explicit
|
|
106
|
+
// switch-account.
|
|
107
|
+
const isSwitching = opts.switchAccount && tokenStatus.kind === 'signed-in';
|
|
108
|
+
const currentEmail = tokenStatus.kind === 'signed-in'
|
|
109
|
+
? (tokenStatus.creds.user?.email ?? tokenStatus.creds.user?.sub ?? '(unknown)')
|
|
110
|
+
: undefined;
|
|
111
|
+
const reason = isSwitching
|
|
112
|
+
? `switching from ${currentEmail}`
|
|
113
|
+
: tokenStatus.kind === 're-auth-required'
|
|
114
|
+
? `session expired (${tokenStatus.reason})`
|
|
115
|
+
: 'you are not signed in';
|
|
65
116
|
if (!process.stdin.isTTY) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
117
|
+
// Non-TTY: explicit error. --switch-account requires --yes
|
|
118
|
+
// in scripted mode to confirm the destructive intent.
|
|
119
|
+
if (isSwitching && !opts.yes) {
|
|
120
|
+
console.error(` ✗ --switch-account requires interactive confirmation; pass --yes for scripted use.`);
|
|
121
|
+
console.error('');
|
|
122
|
+
process.exitCode = 1;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (!isSwitching) {
|
|
126
|
+
console.error(` ✗ ${reason}. Run \`ritual login\` first, then \`ritual init\`.`);
|
|
127
|
+
console.error('');
|
|
128
|
+
process.exitCode = 1;
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// isSwitching + --yes + non-TTY: fall through to the
|
|
132
|
+
// atomic swap below WITHOUT the Enter-to-confirm pause.
|
|
70
133
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
134
|
+
// TTY path: print the appropriate banner.
|
|
135
|
+
if (isSwitching) {
|
|
136
|
+
console.log('');
|
|
137
|
+
console.log(` Currently signed in as ${currentEmail}.`);
|
|
138
|
+
console.log(` Continuing will:`);
|
|
139
|
+
console.log(` • Back up your local credentials, then atomically replace them on success`);
|
|
140
|
+
console.log(` • Open your browser with OIDC \`prompt=login\` (Keycloak will show its`);
|
|
141
|
+
console.log(` sign-in form even if its SSO cookie says otherwise — no incognito needed)`);
|
|
142
|
+
console.log(` If anything goes wrong, your existing session is restored.`);
|
|
143
|
+
console.log('');
|
|
144
|
+
if (process.stdin.isTTY && !opts.yes) {
|
|
145
|
+
try {
|
|
146
|
+
await (0, prompt_1.prompt)(' Press Enter to switch, or Ctrl-C to keep the current session: ');
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
console.log('');
|
|
150
|
+
console.log(' Switch aborted.');
|
|
151
|
+
process.exitCode = 1;
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
74
155
|
}
|
|
75
|
-
|
|
76
|
-
|
|
156
|
+
else {
|
|
157
|
+
console.log(` ${capitalize(reason)}.`);
|
|
77
158
|
console.log('');
|
|
78
|
-
console.log('
|
|
79
|
-
|
|
80
|
-
|
|
159
|
+
console.log(' We\'ll open your browser for sign-in. A few notes before you continue:');
|
|
160
|
+
console.log(' • If this is a brand-new account, you\'ll be asked to verify your');
|
|
161
|
+
console.log(' email. KEEP THIS TERMINAL OPEN while you check your inbox — closing it');
|
|
162
|
+
console.log(' drops the loopback listener and you\'ll have to re-run `ritual init`.');
|
|
163
|
+
console.log(' • If you already have an account, sign in as usual — you\'ll bounce back');
|
|
164
|
+
console.log(' here automatically.');
|
|
165
|
+
console.log(' • The sign-in window is 5 minutes. If you exceed it, just re-run');
|
|
166
|
+
console.log(' `ritual init` and we\'ll pick up from this prompt.');
|
|
167
|
+
console.log('');
|
|
168
|
+
if (process.stdin.isTTY) {
|
|
169
|
+
try {
|
|
170
|
+
await (0, prompt_1.prompt)(' Press Enter to open the browser, or Ctrl-C to abort: ');
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
console.log('');
|
|
174
|
+
console.log(' Sign-in aborted.');
|
|
175
|
+
process.exitCode = 1;
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
81
179
|
}
|
|
82
|
-
|
|
180
|
+
// Run the browser login. For --switch-account we ALSO wrap in
|
|
181
|
+
// the atomic backup so a failed sign-in restores the previous
|
|
182
|
+
// session instead of stranding the user with no credentials.
|
|
183
|
+
const loginRunner = async () => {
|
|
83
184
|
await (0, auth_flow_1.runBrowserLoginAndSave)({
|
|
84
185
|
issuer: resolveIssuerForInit(opts),
|
|
85
186
|
clientId: opts.clientId,
|
|
187
|
+
forceLogin: !!opts.switchAccount,
|
|
86
188
|
});
|
|
189
|
+
};
|
|
190
|
+
if (isSwitching) {
|
|
191
|
+
const { release, backup } = (0, credentials_backup_1.beginCredentialSwap)();
|
|
192
|
+
// `beginCredentialSwap` already cleared the live-creds path
|
|
193
|
+
// via the SIGINT trap setup; we explicitly clear here so
|
|
194
|
+
// `runBrowserLoginAndSave`'s `saveCredentials` has a clean
|
|
195
|
+
// slot to write into. The backup file holds the old data.
|
|
196
|
+
(0, config_2.clearCredentials)();
|
|
197
|
+
try {
|
|
198
|
+
await loginRunner();
|
|
199
|
+
backup.commit();
|
|
200
|
+
}
|
|
201
|
+
catch (err) {
|
|
202
|
+
backup.restore();
|
|
203
|
+
release();
|
|
204
|
+
console.error('');
|
|
205
|
+
console.error(` ✗ Switch failed: ${err.message}`);
|
|
206
|
+
console.error(` Restored previous session for ${currentEmail}.`);
|
|
207
|
+
console.error('');
|
|
208
|
+
process.exitCode = 1;
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
release();
|
|
87
212
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
213
|
+
else {
|
|
214
|
+
try {
|
|
215
|
+
await loginRunner();
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
console.error('');
|
|
219
|
+
console.error(` ✗ Sign-in did not complete: ${err.message}`);
|
|
220
|
+
console.error(' Run `ritual login` to retry, then re-run `ritual init`.');
|
|
221
|
+
console.error('');
|
|
222
|
+
process.exitCode = 1;
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
95
225
|
}
|
|
96
226
|
// Re-read credentials now that login succeeded. We use this to
|
|
97
227
|
// hand the OAuth access token to mintAgentPat below.
|
|
@@ -132,6 +262,7 @@ async function initCommand(opts = {}) {
|
|
|
132
262
|
else {
|
|
133
263
|
const all = (0, detector_1.detectAgents)();
|
|
134
264
|
const detected = all.filter((a) => a.detected);
|
|
265
|
+
const notDetected = all.filter((a) => !a.detected);
|
|
135
266
|
if (detected.length === 0) {
|
|
136
267
|
// Nothing detected → default to Claude Code. This matches
|
|
137
268
|
// legacy behavior and matches the documented MCP launch
|
|
@@ -145,16 +276,86 @@ async function initCommand(opts = {}) {
|
|
|
145
276
|
provider: claudeProvider,
|
|
146
277
|
},
|
|
147
278
|
];
|
|
148
|
-
console.log(' No coding agents detected
|
|
149
|
-
console.log(` Defaulting to ${claudeProvider.name}
|
|
279
|
+
console.log(' No coding agents detected locally.');
|
|
280
|
+
console.log(` Defaulting to ${claudeProvider.name} (the documented MCP launch partner).`);
|
|
281
|
+
console.log('');
|
|
282
|
+
console.log(' Supported agents:');
|
|
283
|
+
for (const p of providers_1.PROVIDERS) {
|
|
284
|
+
console.log(` • ${p.name.padEnd(20)} (--agent ${p.id})`);
|
|
285
|
+
}
|
|
286
|
+
console.log('');
|
|
287
|
+
}
|
|
288
|
+
else if (detected.length === 1) {
|
|
289
|
+
// Single-detect: lead with what we're about to do, mention
|
|
290
|
+
// the escape hatch quietly. No menu, no confirmation —
|
|
291
|
+
// safe default + visible action (per CLI tenet: lead with
|
|
292
|
+
// single recommended action + escape hatch).
|
|
293
|
+
targets = detected;
|
|
294
|
+
const t = detected[0];
|
|
295
|
+
console.log(` Detected ${t.name} locally — connecting Ritual there.`);
|
|
296
|
+
if (t.provider.mcpConfigPath) {
|
|
297
|
+
console.log(` Config: ${t.provider.mcpConfigPath}`);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
console.log(` Config: managed by \`${t.provider.id}\` CLI`);
|
|
301
|
+
}
|
|
302
|
+
if (notDetected.length > 0) {
|
|
303
|
+
console.log('');
|
|
304
|
+
console.log(` Also supported (not detected here): ${notDetected.map((d) => d.name).join(', ')}`);
|
|
305
|
+
console.log(' Connect another with `ritual init --agent <id>`.');
|
|
306
|
+
}
|
|
150
307
|
console.log('');
|
|
151
308
|
}
|
|
152
309
|
else {
|
|
310
|
+
// Multi-detect: this IS a real decision gate (one agent vs
|
|
311
|
+
// seven means writing to one config file vs seven). Tell
|
|
312
|
+
// the user EXACTLY which files we're about to touch, then
|
|
313
|
+
// pause with a single-keystroke escape hatch. We don't ask
|
|
314
|
+
// "which agent?" — connecting all detected agents is the
|
|
315
|
+
// safe recommended default. Power users can scope down by
|
|
316
|
+
// pressing Ctrl-C and re-running with `--agent <id>`.
|
|
153
317
|
targets = detected;
|
|
154
|
-
console.log(` Detected ${detected.length}
|
|
318
|
+
console.log(` Detected ${detected.length} coding agents locally — Ritual will connect to each:`);
|
|
319
|
+
for (const d of detected) {
|
|
320
|
+
const cfg = d.provider.mcpConfigPath
|
|
321
|
+
? d.provider.mcpConfigPath
|
|
322
|
+
: `managed by \`${d.provider.id}\` CLI`;
|
|
323
|
+
console.log(` • ${d.name.padEnd(20)} ${cfg}`);
|
|
324
|
+
}
|
|
325
|
+
if (notDetected.length > 0) {
|
|
326
|
+
console.log('');
|
|
327
|
+
console.log(` Also supported (not detected here): ${notDetected.map((d) => d.name).join(', ')}`);
|
|
328
|
+
}
|
|
329
|
+
console.log('');
|
|
330
|
+
// TTY-only pause. Non-TTY (CI / scripted installs) skips
|
|
331
|
+
// straight through — we already printed exactly what we're
|
|
332
|
+
// about to do, and pausing in CI would hang forever.
|
|
333
|
+
if (process.stdin.isTTY) {
|
|
334
|
+
try {
|
|
335
|
+
await (0, prompt_1.prompt)(' Press Enter to connect all detected agents, or Ctrl-C to abort\n' +
|
|
336
|
+
' (to pick a single agent, abort and re-run with `ritual init --agent <id>`): ');
|
|
337
|
+
}
|
|
338
|
+
catch {
|
|
339
|
+
console.log('');
|
|
340
|
+
console.log(' Aborted.');
|
|
341
|
+
process.exitCode = 1;
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
155
345
|
console.log('');
|
|
156
346
|
}
|
|
157
347
|
}
|
|
348
|
+
// Type guard for the compiler — by this point one of three paths
|
|
349
|
+
// has populated tokenStatus with a signed-in record:
|
|
350
|
+
// (a) we fast-pathed because there was already a valid session
|
|
351
|
+
// (b) we ran an atomic --switch-account swap and re-read creds
|
|
352
|
+
// (c) we ran the lazy-login flow and re-read creds
|
|
353
|
+
// Any other state is "should never happen" — bail loudly.
|
|
354
|
+
if (tokenStatus.kind !== 'signed-in') {
|
|
355
|
+
console.error(' ✗ Internal error: expected signed-in credentials after auth flow.');
|
|
356
|
+
process.exitCode = 1;
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
158
359
|
// --- 3. Mint a long-lived PAT for agents to use ------------------
|
|
159
360
|
const issuer = tokenStatus.creds.issuer;
|
|
160
361
|
const api = new api_client_1.ApiClient({
|
|
@@ -172,7 +373,7 @@ async function initCommand(opts = {}) {
|
|
|
172
373
|
process.exitCode = 1;
|
|
173
374
|
return;
|
|
174
375
|
}
|
|
175
|
-
printKeyCreatedBlock(pat, webAppUrlFromIssuer(issuer));
|
|
376
|
+
printKeyCreatedBlock(pat, webAppUrlFromIssuer(issuer), targets);
|
|
176
377
|
console.log('');
|
|
177
378
|
// --- 3.5 Bind a project workspace --------------------------------
|
|
178
379
|
// Project-scoped state — see ./../lib/workspace-flow.ts for the
|
|
@@ -262,7 +463,7 @@ function webAppUrlFromIssuer(issuer) {
|
|
|
262
463
|
* plaintext to stdout (which would leak via screenshots / clipboard /
|
|
263
464
|
* terminal history).
|
|
264
465
|
*/
|
|
265
|
-
function printKeyCreatedBlock(pat, webAppUrl) {
|
|
466
|
+
function printKeyCreatedBlock(pat, webAppUrl, targets) {
|
|
266
467
|
const expiry = pat.expiresAt
|
|
267
468
|
? new Date(pat.expiresAt).toISOString().slice(0, 10) // YYYY-MM-DD
|
|
268
469
|
: 'never';
|
|
@@ -270,7 +471,24 @@ function printKeyCreatedBlock(pat, webAppUrl) {
|
|
|
270
471
|
console.log(` Name: ${pat.name}`);
|
|
271
472
|
console.log(` Scope: admin`);
|
|
272
473
|
console.log(` Expires: ${expiry}`);
|
|
273
|
-
|
|
474
|
+
// "Stored:" used to lie ("e.g. ~/.claude.json") even when we were
|
|
475
|
+
// writing to 7 agents. List the actual targets so the user knows
|
|
476
|
+
// what's on disk.
|
|
477
|
+
if (targets.length === 1) {
|
|
478
|
+
const cfg = targets[0].provider.mcpConfigPath
|
|
479
|
+
? targets[0].provider.mcpConfigPath
|
|
480
|
+
: `managed by \`${targets[0].provider.id}\` CLI`;
|
|
481
|
+
console.log(` Stored: ${cfg}`);
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
console.log(` Stored: in each agent's MCP config:`);
|
|
485
|
+
for (const t of targets) {
|
|
486
|
+
const cfg = t.provider.mcpConfigPath
|
|
487
|
+
? t.provider.mcpConfigPath
|
|
488
|
+
: `managed by \`${t.provider.id}\` CLI`;
|
|
489
|
+
console.log(` • ${t.name.padEnd(20)} ${cfg}`);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
274
492
|
console.log(` Manage: ${webAppUrl}/settings/tokens`);
|
|
275
493
|
console.log(` (Token not displayed for security. Use the manage URL to copy or revoke.)`);
|
|
276
494
|
}
|
|
@@ -289,7 +507,11 @@ function printKeyCreatedBlock(pat, webAppUrl) {
|
|
|
289
507
|
* then not-detected (dimmed). Failed entries get a manual-fix hint.
|
|
290
508
|
*/
|
|
291
509
|
function printDetectedAgentsBlock(targets, copyResults, registrationResults) {
|
|
292
|
-
|
|
510
|
+
// Header used to say "Detected coding agents:" but this table lists
|
|
511
|
+
// EVERY known provider with its per-run status — most of which are
|
|
512
|
+
// "not detected" on any given machine. Calling that "Detected" is
|
|
513
|
+
// the same misleading framing we just fixed earlier in the flow.
|
|
514
|
+
console.log(' Coding agent status:');
|
|
293
515
|
// Build a status string per known agent.
|
|
294
516
|
const targetIds = new Set(targets.map((t) => t.provider.id));
|
|
295
517
|
const detections = (0, detector_1.detectAgents)();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|