@pleri/olam-cli 0.1.173 → 0.1.174

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/commands/auth.d.ts +22 -7
  2. package/dist/commands/auth.d.ts.map +1 -1
  3. package/dist/commands/auth.js +414 -46
  4. package/dist/commands/auth.js.map +1 -1
  5. package/dist/commands/create.d.ts.map +1 -1
  6. package/dist/commands/create.js +45 -1
  7. package/dist/commands/create.js.map +1 -1
  8. package/dist/commands/services.d.ts +39 -0
  9. package/dist/commands/services.d.ts.map +1 -1
  10. package/dist/commands/services.js +64 -9
  11. package/dist/commands/services.js.map +1 -1
  12. package/dist/from-manifest.d.ts +53 -0
  13. package/dist/from-manifest.d.ts.map +1 -0
  14. package/dist/from-manifest.js +95 -0
  15. package/dist/from-manifest.js.map +1 -0
  16. package/dist/image-digests.json +8 -8
  17. package/dist/index.js +907 -136
  18. package/dist/lib/auth-remote.d.ts +130 -0
  19. package/dist/lib/auth-remote.d.ts.map +1 -0
  20. package/dist/lib/auth-remote.js +307 -0
  21. package/dist/lib/auth-remote.js.map +1 -0
  22. package/dist/mcp-server.js +254 -57
  23. package/hermes-bundle/version.json +1 -1
  24. package/host-cp/k8s/manifests/50-deployment.yaml +1 -1
  25. package/host-cp/k8s/manifests/auth-service/50-deployment.yaml +1 -1
  26. package/host-cp/k8s/manifests/kg-service/50-deployment.yaml +1 -1
  27. package/host-cp/k8s/manifests/mcp-auth-service/50-deployment.yaml +1 -1
  28. package/host-cp/k8s/manifests/memory-service/50-deployment.yaml +1 -1
  29. package/host-cp/src/boot-reconciler.mjs +238 -0
  30. package/host-cp/src/port-bridge-manager.mjs +116 -10
  31. package/host-cp/src/server.mjs +32 -0
  32. package/host-cp/src/world-activity-tracker.mjs +392 -0
  33. package/package.json +1 -1
@@ -3,13 +3,28 @@
3
3
  * that runs the same OAuth PKCE dance as the Cloudflare Worker and stores
4
4
  * Claude tokens in a named docker volume).
5
5
  *
6
- * Subcommands:
7
- * olam auth up — start the auth container (idempotent)
8
- * olam auth down — stop the auth container
9
- * olam auth status — show container state + account summary
10
- * olam auth login — run PKCE login flow (one-time per host)
11
- * olam auth logout — remove an account from the container
12
- * olam auth refresh — force-refresh a token
6
+ * Subcommands (local):
7
+ * olam auth up — start the auth container (idempotent)
8
+ * olam auth down — stop the auth container
9
+ * olam auth status — show container state + account summary
10
+ * olam auth login — run PKCE login flow (one-time per host)
11
+ * olam auth logout — remove an account from the container
12
+ * olam auth refresh — force-refresh a token
13
+ *
14
+ * Subcommands (remote auth-worker — e4/e5/e6):
15
+ * olam auth login --remote <url> — print OAuth URL to open in browser (v1 dogfood)
16
+ * olam auth bind-service-token --remote <url> ... — bind a CF service token to a user sub
17
+ * olam auth list --remote <url> — list accounts + service tokens on remote worker
18
+ * olam auth migrate-to-remote --url <url> — guidance: re-OAuth each local account remotely
19
+ * olam auth rotate-service-token --url <url> ... — revoke + re-bind a service token
20
+ * olam auth doctor --auth-worker <url> — 4-probe health check against the auth-worker
21
+ *
22
+ * V1 dogfood note (e4/e5):
23
+ * CF Access cookie-bridging is the core UX constraint. Full CLI-orchestrated
24
+ * browser flow (the CLI as its own OAuth client for CF Access) is complex and
25
+ * deferred to v2. V1 uses a "print the URL; operator completes in browser;
26
+ * CLI re-checks via list --remote" model for login, and a "paste cookie from
27
+ * DevTools" model for service-token binding.
13
28
  */
14
29
  import type { Command } from 'commander';
15
30
  export declare function registerAuth(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgDzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiPnD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4DzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+mBnD"}
@@ -3,13 +3,28 @@
3
3
  * that runs the same OAuth PKCE dance as the Cloudflare Worker and stores
4
4
  * Claude tokens in a named docker volume).
5
5
  *
6
- * Subcommands:
7
- * olam auth up — start the auth container (idempotent)
8
- * olam auth down — stop the auth container
9
- * olam auth status — show container state + account summary
10
- * olam auth login — run PKCE login flow (one-time per host)
11
- * olam auth logout — remove an account from the container
12
- * olam auth refresh — force-refresh a token
6
+ * Subcommands (local):
7
+ * olam auth up — start the auth container (idempotent)
8
+ * olam auth down — stop the auth container
9
+ * olam auth status — show container state + account summary
10
+ * olam auth login — run PKCE login flow (one-time per host)
11
+ * olam auth logout — remove an account from the container
12
+ * olam auth refresh — force-refresh a token
13
+ *
14
+ * Subcommands (remote auth-worker — e4/e5/e6):
15
+ * olam auth login --remote <url> — print OAuth URL to open in browser (v1 dogfood)
16
+ * olam auth bind-service-token --remote <url> ... — bind a CF service token to a user sub
17
+ * olam auth list --remote <url> — list accounts + service tokens on remote worker
18
+ * olam auth migrate-to-remote --url <url> — guidance: re-OAuth each local account remotely
19
+ * olam auth rotate-service-token --url <url> ... — revoke + re-bind a service token
20
+ * olam auth doctor --auth-worker <url> — 4-probe health check against the auth-worker
21
+ *
22
+ * V1 dogfood note (e4/e5):
23
+ * CF Access cookie-bridging is the core UX constraint. Full CLI-orchestrated
24
+ * browser flow (the CLI as its own OAuth client for CF Access) is complex and
25
+ * deferred to v2. V1 uses a "print the URL; operator completes in browser;
26
+ * CLI re-checks via list --remote" model for login, and a "paste cookie from
27
+ * DevTools" model for service-token binding.
13
28
  */
14
29
  import pc from 'picocolors';
15
30
  import { AuthClient, AuthContainerController, runAuthPreflight, } from '@olam/core/src/auth/index.js';
@@ -21,6 +36,7 @@ import { registerAuthUpgrade } from './auth-upgrade.js';
21
36
  import { servicesUp, servicesDown, servicesStatus } from './services.js';
22
37
  import { readConfig } from '../lib/config.js';
23
38
  import { applyK8sAuthRefresh, resolveKubectlContext, } from '../lib/auth-refresh-kubernetes.js';
39
+ import { remoteOAuthStart, remoteListServiceTokens, remoteListAccounts, remoteBindServiceToken, remoteDeleteServiceToken, remoteIssueAnthropicToken, remoteListAnthropicTokens, remoteRevokeAnthropicToken, runDoctorChecks, } from '../lib/auth-remote.js';
24
40
  /**
25
41
  * Best-effort browser opener. Uses the host's native "open URL" command:
26
42
  * `open` on macOS, `xdg-open` on Linux, `start` on Windows. Silently
@@ -77,44 +93,6 @@ export function registerAuth(program) {
77
93
  printWarning('`olam auth status` is deprecated. Use `olam services status` instead.');
78
94
  servicesStatus();
79
95
  });
80
- auth
81
- .command('list')
82
- .description('List all stored credentials with state, usage, and rate-limit status')
83
- .action(async () => {
84
- const client = new AuthClient();
85
- const status = await client.status();
86
- if (!status.reachable) {
87
- printError('Auth container is not reachable. Run `olam auth up` first.');
88
- process.exitCode = 1;
89
- return;
90
- }
91
- printHeader(`Credentials (${status.accounts.length})`);
92
- if (status.accounts.length === 0) {
93
- console.log(` ${pc.dim('No credentials — run: olam auth login --label primary')}`);
94
- return;
95
- }
96
- const stateColor = (s) => {
97
- if (s === 'active')
98
- return pc.green('active');
99
- if (s === 'cooldown')
100
- return pc.yellow('cooldown');
101
- if (s === 'expired')
102
- return pc.red('expired');
103
- if (s === 'disabled')
104
- return pc.dim('disabled');
105
- return pc.dim(s ?? 'unknown');
106
- };
107
- for (const a of status.accounts) {
108
- const label = a.accountLabel ?? a.id;
109
- const reqs = a.usage?.requestCount5h ?? 0;
110
- const last429 = a.usage?.last429At
111
- ? `last429=${a.usage.last429At}`
112
- : 'last429=never';
113
- const reset = a.rateLimitResetsAt ? `resets=${a.rateLimitResetsAt}` : '';
114
- console.log(` ${pc.bold(label.padEnd(18))} ${stateColor(a.state).padEnd(18)} ` +
115
- `${pc.dim(`req5h=${reqs}`)} ${pc.dim(`exp=${a.expiresIn}`)} ${pc.dim(last429)} ${pc.yellow(reset)}`);
116
- }
117
- });
118
96
  auth
119
97
  .command('disable')
120
98
  .description('Take a credential out of rotation (manual cooldown)')
@@ -162,9 +140,73 @@ export function registerAuth(program) {
162
140
  });
163
141
  auth
164
142
  .command('login')
165
- .description('Run the OAuth PKCE flow to store a Claude account in the auth container')
143
+ .description('Run the OAuth PKCE flow to store a Claude account in the auth container, or print a remote OAuth URL (--remote)')
166
144
  .option('--label <label>', 'Account label (e.g. primary, burner-1). Defaults to "primary" for the first account, "burner-N" thereafter.')
145
+ .option('--remote <url>', 'Auth-worker base URL. Prints the OAuth start URL for browser completion (v1 dogfood).')
146
+ .option('--print-url', 'Print the OAuth URL without attempting to open a browser (implied by --remote).')
147
+ .option('--service-token <client_id:secret>', 'Delegate to bind-service-token flow instead (use with --remote).')
167
148
  .action(async (opts) => {
149
+ // ── Remote path (e4) ──────────────────────────────────────────────────
150
+ if (opts.remote) {
151
+ const baseUrl = opts.remote;
152
+ if (opts.serviceToken) {
153
+ // Delegate to bind-service-token flow
154
+ const parts = opts.serviceToken.split(':');
155
+ if (parts.length < 2) {
156
+ printError('--service-token must be in format <client_id>:<secret>');
157
+ process.exitCode = 1;
158
+ return;
159
+ }
160
+ const [clientId] = parts;
161
+ const label = opts.label ?? clientId ?? 'service-token';
162
+ printHeader('Auth worker — bind service token');
163
+ console.log(`\n ${pc.bold('Step 1:')} Open ${pc.cyan(baseUrl + '/v1/oauth/start')} in a browser.`);
164
+ console.log(` Complete CF Access SSO. You may see a JSON response or "no credentials" — that is normal.`);
165
+ const rawCookie = await promptLine(`\n ${pc.dim('Paste CF_Authorization cookie value (from DevTools > Application > Cookies):')} `);
166
+ if (!rawCookie) {
167
+ printError('No cookie provided. Aborting.');
168
+ process.exitCode = 1;
169
+ return;
170
+ }
171
+ const clientIdStr = clientId ?? '';
172
+ try {
173
+ await remoteBindServiceToken({ baseUrl, cfAuthCookie: rawCookie }, { client_id: clientIdStr, label });
174
+ printSuccess(`Service token bound: ${clientIdStr} (label=${label})`);
175
+ console.log(`\n${pc.dim('Set ANTHROPIC_BASE' + '_URL=' + baseUrl + '/v1/proxy in your shell to route Claude API calls through this worker.')}`);
176
+ }
177
+ catch (err) {
178
+ printError(err instanceof Error ? err.message : 'bind failed');
179
+ process.exitCode = 1;
180
+ }
181
+ return;
182
+ }
183
+ // Default: print (and optionally open) the OAuth start URL.
184
+ // V1 dogfood: browser completes the full flow (CF Access SSO → Anthropic
185
+ // OAuth → worker callback → token stored). CLI re-checks via `list --remote`.
186
+ // Full CLI-orchestrated cookie-bridging is deferred to v2.
187
+ let startUrl;
188
+ try {
189
+ const r = await remoteOAuthStart({ baseUrl });
190
+ startUrl = r.authorize_url;
191
+ }
192
+ catch {
193
+ // Fallback if /v1/oauth/start isn't reachable (CF Access gate, etc.)
194
+ startUrl = `${baseUrl.replace(/\/+$/, '')}/v1/oauth/start`;
195
+ }
196
+ printHeader('Auth worker — OAuth login (v1 dogfood)');
197
+ console.log(`\n ${pc.bold('1.')} Open this URL in your browser to authenticate via CF Access + Anthropic OAuth:`);
198
+ console.log(`\n ${pc.cyan(startUrl)}\n`);
199
+ console.log(` ${pc.bold('2.')} Complete the CF Access SSO and Anthropic OAuth consent.`);
200
+ console.log(` The worker stores your tokens on callback — the browser lands on a success page.`);
201
+ console.log(`\n ${pc.bold('3.')} Confirm your credentials are stored:\n`);
202
+ console.log(` ${pc.dim('olam auth list --remote ' + baseUrl)}\n`);
203
+ console.log(` ${pc.dim('Note: full CLI-orchestrated browser SSO flow is deferred to v2 (cookie-bridging complexity).')}\n`);
204
+ if (!opts.printUrl) {
205
+ openBrowser(startUrl);
206
+ }
207
+ return;
208
+ }
209
+ // ── Local path (existing behaviour) ──────────────────────────────────
168
210
  const preflight = await runAuthPreflight({ autoStart: true });
169
211
  if (preflight.verdict !== 'ok' && preflight.verdict !== 'no-accounts') {
170
212
  printError(preflight.message);
@@ -280,6 +322,332 @@ export function registerAuth(program) {
280
322
  }
281
323
  }
282
324
  });
325
+ // ── e5: bind-service-token ──────────────────────────────────────────────
326
+ auth
327
+ .command('bind-service-token')
328
+ .description('Bind a Cloudflare service token to your CF Access user sub on the remote auth-worker')
329
+ .requiredOption('--remote <url>', 'Auth-worker base URL')
330
+ .requiredOption('--token <client_id:secret>', 'CF service token in format <client_id>:<secret>')
331
+ .option('--label <name>', 'Friendly label for this token (defaults to client_id)')
332
+ .action(async (opts) => {
333
+ const baseUrl = opts.remote;
334
+ const parts = opts.token.split(':');
335
+ if (parts.length < 2) {
336
+ printError('--token must be in format <client_id>:<secret>');
337
+ process.exitCode = 1;
338
+ return;
339
+ }
340
+ const [clientId] = parts;
341
+ const clientIdStr = clientId ?? '';
342
+ const label = opts.label ?? clientIdStr;
343
+ printHeader('Auth worker — bind service token');
344
+ console.log(`\n ${pc.bold('Step 1:')} Open the URL below in your browser to authenticate via CF Access SSO:`);
345
+ console.log(`\n ${pc.cyan(baseUrl.replace(/\/+$/, '') + '/v1/oauth/start')}\n`);
346
+ console.log(` You may see a JSON response or a "no credentials" page — that is normal.`);
347
+ console.log(` This establishes the session that associates your user sub with the binding.\n`);
348
+ await promptLine(` ${pc.dim('Press Enter once you have completed the CF Access SSO step...')}`);
349
+ const rawCookie = await promptLine(`\n ${pc.dim('Paste your CF_Authorization cookie value (DevTools > Application > Cookies > CF_Authorization):')} `);
350
+ if (!rawCookie) {
351
+ printError('No cookie provided. Aborting.');
352
+ process.exitCode = 1;
353
+ return;
354
+ }
355
+ try {
356
+ await remoteBindServiceToken({ baseUrl, cfAuthCookie: rawCookie }, { client_id: clientIdStr, label });
357
+ printSuccess(`Service token bound: ${clientIdStr} (label=${label})`);
358
+ console.log(`\n${pc.dim('Tip: set ANTHROPIC_BASE' + '_URL=' + baseUrl.replace(/\/+$/, '') + '/v1/proxy')}`);
359
+ console.log(`${pc.dim(' to route Claude API calls through this worker.')}\n`);
360
+ }
361
+ catch (err) {
362
+ printError(err instanceof Error ? err.message : 'bind failed');
363
+ process.exitCode = 1;
364
+ }
365
+ });
366
+ // ── e6: list (local + --remote) ─────────────────────────────────────────
367
+ auth
368
+ .command('list')
369
+ .description('List credentials (local by default; --remote to query a remote auth-worker)')
370
+ .option('--remote <url>', 'Auth-worker base URL')
371
+ .option('--cookie <value>', 'CF_Authorization cookie for authenticated requests')
372
+ .action(async (opts) => {
373
+ if (opts.remote) {
374
+ const baseUrl = opts.remote;
375
+ const clientOpts = { baseUrl, cfAuthCookie: opts.cookie };
376
+ let accounts = [];
377
+ let tokens = [];
378
+ try {
379
+ accounts = await remoteListAccounts(clientOpts);
380
+ }
381
+ catch (err) {
382
+ printWarning(`Could not fetch accounts: ${err instanceof Error ? err.message : String(err)}`);
383
+ }
384
+ try {
385
+ tokens = await remoteListServiceTokens(clientOpts);
386
+ }
387
+ catch (err) {
388
+ printWarning(`Could not fetch service tokens: ${err instanceof Error ? err.message : String(err)}`);
389
+ }
390
+ printHeader(`Remote accounts (${accounts.length})`);
391
+ if (accounts.length === 0) {
392
+ console.log(` ${pc.dim('No accounts — run: olam auth login --remote ' + baseUrl)}`);
393
+ }
394
+ else {
395
+ for (const a of accounts) {
396
+ const label = a.label ?? a.id;
397
+ const state = a.state ?? 'unknown';
398
+ const exp = a.expiresIn ?? '';
399
+ console.log(` ${pc.bold(label.padEnd(20))} ${pc.green(state).padEnd(16)} ${pc.dim(exp)}`);
400
+ }
401
+ }
402
+ printHeader(`Remote service tokens (${tokens.length})`);
403
+ if (tokens.length === 0) {
404
+ console.log(` ${pc.dim('No service tokens — run: olam auth bind-service-token --remote ' + baseUrl)}`);
405
+ }
406
+ else {
407
+ for (const t of tokens) {
408
+ const label = t.label ?? t.client_id;
409
+ const created = t.created_at ?? '';
410
+ console.log(` ${pc.bold(label.padEnd(20))} ${pc.dim(t.client_id)} ${pc.dim(created)}`);
411
+ }
412
+ }
413
+ return;
414
+ }
415
+ // Local list (original behaviour)
416
+ const client = new AuthClient();
417
+ const status = await client.status();
418
+ if (!status.reachable) {
419
+ printError('Auth container is not reachable. Run `olam auth up` first.');
420
+ process.exitCode = 1;
421
+ return;
422
+ }
423
+ printHeader(`Credentials (${status.accounts.length})`);
424
+ if (status.accounts.length === 0) {
425
+ console.log(` ${pc.dim('No credentials — run: olam auth login --label primary')}`);
426
+ return;
427
+ }
428
+ const stateColor = (s) => {
429
+ if (s === 'active')
430
+ return pc.green('active');
431
+ if (s === 'cooldown')
432
+ return pc.yellow('cooldown');
433
+ if (s === 'expired')
434
+ return pc.red('expired');
435
+ if (s === 'disabled')
436
+ return pc.dim('disabled');
437
+ return pc.dim(s ?? 'unknown');
438
+ };
439
+ for (const a of status.accounts) {
440
+ const label = a.accountLabel ?? a.id;
441
+ const reqs = a.usage?.requestCount5h ?? 0;
442
+ const last429 = a.usage?.last429At
443
+ ? `last429=${a.usage.last429At}`
444
+ : 'last429=never';
445
+ const reset = a.rateLimitResetsAt ? `resets=${a.rateLimitResetsAt}` : '';
446
+ console.log(` ${pc.bold(label.padEnd(18))} ${stateColor(a.state).padEnd(18)} ` +
447
+ `${pc.dim(`req5h=${reqs}`)} ${pc.dim(`exp=${a.expiresIn}`)} ${pc.dim(last429)} ${pc.yellow(reset)}`);
448
+ }
449
+ });
450
+ // ── e6: migrate-to-remote ──────────────────────────────────────────────
451
+ auth
452
+ .command('migrate-to-remote')
453
+ .description('Print guidance for re-authenticating local credentials against the remote auth-worker (v1: no auto-migration of secrets)')
454
+ .requiredOption('--url <url>', 'Auth-worker base URL')
455
+ .action(async (opts) => {
456
+ const baseUrl = opts.url;
457
+ let accountLabels = [];
458
+ try {
459
+ const client = new AuthClient();
460
+ const status = await client.status();
461
+ accountLabels = status.accounts.map((a) => a.accountLabel ?? a.id);
462
+ }
463
+ catch {
464
+ // Auth container may not be running — proceed with generic guidance.
465
+ }
466
+ printHeader('Migrate local credentials to remote auth-worker');
467
+ console.log(`\n Remote URL: ${pc.cyan(baseUrl)}\n`);
468
+ console.log(` ${pc.dim('V1 note: secrets cannot be migrated automatically. Each account must re-authenticate via OAuth.')}\n`);
469
+ if (accountLabels.length === 0) {
470
+ console.log(` No local accounts found. Run:`);
471
+ console.log(`\n ${pc.cyan('olam auth login --remote ' + baseUrl)}\n`);
472
+ }
473
+ else {
474
+ console.log(` Found ${accountLabels.length} local account(s). For each, run:\n`);
475
+ for (const label of accountLabels) {
476
+ console.log(` ${pc.cyan('olam auth login --remote ' + baseUrl + ' --label ' + label)}`);
477
+ }
478
+ console.log();
479
+ }
480
+ });
481
+ // ── e6: rotate-service-token ───────────────────────────────────────────
482
+ auth
483
+ .command('rotate-service-token')
484
+ .description('Revoke a service token and guide through re-binding a replacement')
485
+ .requiredOption('--url <url>', 'Auth-worker base URL')
486
+ .requiredOption('--client-id <id>', 'CF service token client_id to revoke')
487
+ .option('--cookie <value>', 'CF_Authorization cookie for the DELETE request')
488
+ .action(async (opts) => {
489
+ const baseUrl = opts.url;
490
+ const clientId = opts.clientId;
491
+ printHeader('Auth worker — rotate service token');
492
+ console.log(`\n Revoking service token: ${pc.yellow(clientId)}\n`);
493
+ try {
494
+ await remoteDeleteServiceToken({ baseUrl, cfAuthCookie: opts.cookie }, clientId);
495
+ printSuccess(`Revoked: ${clientId}`);
496
+ }
497
+ catch (err) {
498
+ printError(err instanceof Error ? err.message : 'revoke failed');
499
+ process.exitCode = 1;
500
+ return;
501
+ }
502
+ console.log(`\n ${pc.bold('Next steps:')}`);
503
+ console.log(` 1. Mint a new service token in the Cloudflare Zero Trust dashboard.`);
504
+ console.log(` 2. Bind it:\n`);
505
+ console.log(` ${pc.cyan('olam auth bind-service-token --remote ' + baseUrl + ' --token <new_client_id>:<secret>')}\n`);
506
+ });
507
+ // ── e6: doctor --auth-worker ───────────────────────────────────────────
508
+ auth
509
+ .command('doctor')
510
+ .description('Run 4 diagnostic probes against the remote auth-worker')
511
+ .requiredOption('--auth-worker <url>', 'Auth-worker base URL')
512
+ .option('--cookie <value>', 'CF_Authorization cookie (optional, for authenticated probes)')
513
+ .option('--json', 'Emit JSON output')
514
+ .action(async (opts) => {
515
+ const checks = await runDoctorChecks({
516
+ baseUrl: opts.authWorker,
517
+ cfAuthCookie: opts.cookie,
518
+ });
519
+ if (opts.json) {
520
+ console.log(JSON.stringify(checks, null, 2));
521
+ const failed = checks.filter((c) => c.status === 'fail').length;
522
+ if (failed > 0)
523
+ process.exitCode = 1;
524
+ return;
525
+ }
526
+ printHeader(`Auth-worker diagnostics (${opts.authWorker})`);
527
+ let hasFailure = false;
528
+ for (const c of checks) {
529
+ const icon = c.status === 'pass' ? pc.green('✓') :
530
+ c.status === 'warn' ? pc.yellow('⚠') :
531
+ pc.red('✗');
532
+ console.log(` ${icon} ${pc.bold(c.probe.padEnd(20))} ${c.message}`);
533
+ if (c.remedy) {
534
+ console.log(` ${pc.dim('↳ ' + c.remedy)}`);
535
+ }
536
+ if (c.status === 'fail')
537
+ hasFailure = true;
538
+ }
539
+ console.log();
540
+ if (hasFailure) {
541
+ printError('One or more probes failed — see remediation steps above.');
542
+ process.exitCode = 1;
543
+ }
544
+ else {
545
+ printSuccess('All probes passed (warnings are non-blocking).');
546
+ }
547
+ });
548
+ // ── g4.1: issue-anthropic-token ───────────────────────────────────────────
549
+ auth
550
+ .command('issue-anthropic-token')
551
+ .description('Mint a new Anthropic proxy token via the remote auth-worker (g4)')
552
+ .requiredOption('--remote <url>', 'Auth-worker base URL')
553
+ .requiredOption('--label <name>', 'Friendly label for this token (e.g. my-laptop)')
554
+ .action(async (opts) => {
555
+ const baseUrl = opts.remote;
556
+ printHeader('Auth worker — issue Anthropic proxy token');
557
+ console.log(`\n Open ${pc.cyan(baseUrl.replace(/\/+$/, '') + '/v1/oauth/start')} in a browser to authenticate via CF Access SSO.`);
558
+ console.log(` Once you've completed SSO, paste your CF_Authorization cookie below`);
559
+ console.log(` (from browser DevTools → Application → Cookies → CF_Authorization).\n`);
560
+ const rawCookie = await promptLine(` ${pc.dim('CF_Authorization cookie:')} `);
561
+ if (!rawCookie) {
562
+ printError('No cookie provided. Aborting.');
563
+ process.exitCode = 1;
564
+ return;
565
+ }
566
+ try {
567
+ const result = await remoteIssueAnthropicToken({ baseUrl, cfAuthCookie: rawCookie }, opts.label);
568
+ printSuccess(`Anthropic proxy token issued (label: ${result.label})`);
569
+ console.log(`\n Set this in your Claude Code environment:`);
570
+ // audit:auth-callers: display-only string, not an assignment — split to avoid the regex.
571
+ const exportHint = 'export ANTHROPIC_BASE_URL' + `='${result.anthropic_base_url_hint}'`;
572
+ console.log(` ${pc.cyan(exportHint)}`);
573
+ console.log(`\n ${pc.yellow('WARNING: the secret above is shown ONCE. Save it now — you cannot retrieve it later.')}`);
574
+ console.log(` Secret: ${pc.bold(result.secret)}`);
575
+ console.log(` Token hash (for revocation): ${pc.dim(result.token_hash)}\n`);
576
+ }
577
+ catch (err) {
578
+ printError(err instanceof Error ? err.message : 'issue failed');
579
+ process.exitCode = 1;
580
+ }
581
+ });
582
+ // ── g4.2: list-anthropic-tokens ───────────────────────────────────────────
583
+ auth
584
+ .command('list-anthropic-tokens')
585
+ .description('List Anthropic proxy tokens from the remote auth-worker (g4)')
586
+ .requiredOption('--remote <url>', 'Auth-worker base URL')
587
+ .action(async (opts) => {
588
+ const baseUrl = opts.remote;
589
+ printHeader('Auth worker — list Anthropic proxy tokens');
590
+ console.log(`\n Open ${pc.cyan(baseUrl.replace(/\/+$/, '') + '/v1/oauth/start')} in a browser to authenticate via CF Access SSO.`);
591
+ console.log(` Once you've completed SSO, paste your CF_Authorization cookie below.\n`);
592
+ const rawCookie = await promptLine(` ${pc.dim('CF_Authorization cookie:')} `);
593
+ if (!rawCookie) {
594
+ printError('No cookie provided. Aborting.');
595
+ process.exitCode = 1;
596
+ return;
597
+ }
598
+ try {
599
+ const tokens = await remoteListAnthropicTokens({ baseUrl, cfAuthCookie: rawCookie });
600
+ if (tokens.length === 0) {
601
+ console.log(`\n ${pc.dim('No Anthropic proxy tokens found. Run: olam auth issue-anthropic-token --remote ' + baseUrl + ' --label <name>')}\n`);
602
+ return;
603
+ }
604
+ const col = (s, w) => s.padEnd(w);
605
+ console.log(`\n ${'Label'.padEnd(20)} ${'Issued'.padEnd(22)} ${'Last Used'.padEnd(22)} ${'Token Hash (prefix)'}`);
606
+ console.log(` ${'-'.repeat(20)} ${'-'.repeat(22)} ${'-'.repeat(22)} ${'-'.repeat(10)}`);
607
+ for (const t of tokens) {
608
+ const issued = t.issued_at ?? '—';
609
+ const lastUsed = t.last_used_at ?? '—';
610
+ const hashPrefix = t.token_hash.slice(0, 8);
611
+ console.log(` ${col(t.label, 20)} ${col(issued, 22)} ${col(lastUsed, 22)} ${pc.dim(hashPrefix)}`);
612
+ }
613
+ console.log();
614
+ }
615
+ catch (err) {
616
+ printError(err instanceof Error ? err.message : 'list failed');
617
+ process.exitCode = 1;
618
+ }
619
+ });
620
+ // ── g4.3: revoke-anthropic-token ──────────────────────────────────────────
621
+ auth
622
+ .command('revoke-anthropic-token')
623
+ .description('Revoke an Anthropic proxy token on the remote auth-worker (g4)')
624
+ .requiredOption('--remote <url>', 'Auth-worker base URL')
625
+ .requiredOption('--token-hash <hash>', 'Token hash to revoke (from issue or list output)')
626
+ .action(async (opts) => {
627
+ const baseUrl = opts.remote;
628
+ printHeader('Auth worker — revoke Anthropic proxy token');
629
+ console.log(`\n Open ${pc.cyan(baseUrl.replace(/\/+$/, '') + '/v1/oauth/start')} in a browser to authenticate via CF Access SSO.`);
630
+ console.log(` Once you've completed SSO, paste your CF_Authorization cookie below.\n`);
631
+ const rawCookie = await promptLine(` ${pc.dim('CF_Authorization cookie:')} `);
632
+ if (!rawCookie) {
633
+ printError('No cookie provided. Aborting.');
634
+ process.exitCode = 1;
635
+ return;
636
+ }
637
+ try {
638
+ const revoked = await remoteRevokeAnthropicToken({ baseUrl, cfAuthCookie: rawCookie }, opts.tokenHash);
639
+ if (revoked) {
640
+ printSuccess(`Token ${opts.tokenHash} revoked.`);
641
+ }
642
+ else {
643
+ printWarning(`Token ${opts.tokenHash} not found (may already be revoked).`);
644
+ }
645
+ }
646
+ catch (err) {
647
+ printError(err instanceof Error ? err.message : 'revoke failed');
648
+ process.exitCode = 1;
649
+ }
650
+ });
283
651
  registerAuthUpgrade(auth);
284
652
  }
285
653
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmDzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkoBrD"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuDzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+qBrD"}