@mesh-tech/mesh-cli 0.18.2 → 0.20.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.
Files changed (72) hide show
  1. package/README.md +111 -56
  2. package/dist/bin/mesh.js +5158 -4302
  3. package/dist/bin/mesh.js.map +4 -4
  4. package/dist/build-info.json +2 -2
  5. package/dist/src/commands/create-app.d.ts +28 -0
  6. package/dist/src/commands/create-app.d.ts.map +1 -1
  7. package/dist/src/commands/create-app.js +45 -1
  8. package/dist/src/commands/create-app.js.map +1 -1
  9. package/dist/src/commands/dev-doctor.js +2 -2
  10. package/dist/src/commands/dev-doctor.js.map +1 -1
  11. package/dist/src/commands/dev.d.ts +7 -0
  12. package/dist/src/commands/dev.d.ts.map +1 -1
  13. package/dist/src/commands/dev.js +1 -0
  14. package/dist/src/commands/dev.js.map +1 -1
  15. package/dist/src/commands/hub/index.d.ts.map +1 -1
  16. package/dist/src/commands/hub/index.js +5 -0
  17. package/dist/src/commands/hub/index.js.map +1 -1
  18. package/dist/src/commands/init/wizard.d.ts +216 -0
  19. package/dist/src/commands/init/wizard.d.ts.map +1 -0
  20. package/dist/src/commands/init/wizard.js +471 -0
  21. package/dist/src/commands/init/wizard.js.map +1 -0
  22. package/dist/src/commands/init.d.ts +14 -6
  23. package/dist/src/commands/init.d.ts.map +1 -1
  24. package/dist/src/commands/init.js +41 -15
  25. package/dist/src/commands/init.js.map +1 -1
  26. package/dist/src/commands/local/auth-provision.d.ts +4 -0
  27. package/dist/src/commands/local/auth-provision.d.ts.map +1 -1
  28. package/dist/src/commands/local/auth-provision.js +20 -0
  29. package/dist/src/commands/local/auth-provision.js.map +1 -1
  30. package/dist/src/commands/local/dev-local.d.ts +32 -0
  31. package/dist/src/commands/local/dev-local.d.ts.map +1 -1
  32. package/dist/src/commands/local/dev-local.js +88 -2
  33. package/dist/src/commands/local/dev-local.js.map +1 -1
  34. package/dist/src/commands/local/seed.d.ts +9 -0
  35. package/dist/src/commands/local/seed.d.ts.map +1 -1
  36. package/dist/src/commands/local/seed.js +49 -10
  37. package/dist/src/commands/local/seed.js.map +1 -1
  38. package/dist/src/commands/login.d.ts +76 -5
  39. package/dist/src/commands/login.d.ts.map +1 -1
  40. package/dist/src/commands/login.js +161 -60
  41. package/dist/src/commands/login.js.map +1 -1
  42. package/dist/src/commands/registry.d.ts +133 -10
  43. package/dist/src/commands/registry.d.ts.map +1 -1
  44. package/dist/src/commands/registry.js +238 -86
  45. package/dist/src/commands/registry.js.map +1 -1
  46. package/dist/src/commands/temporal.js +54 -24
  47. package/dist/src/commands/temporal.js.map +3 -3
  48. package/dist/src/docs/registry-docs.d.ts.map +1 -1
  49. package/dist/src/docs/registry-docs.js +8 -3
  50. package/dist/src/docs/registry-docs.js.map +1 -1
  51. package/dist/src/program.d.ts.map +1 -1
  52. package/dist/src/program.js +5 -1
  53. package/dist/src/program.js.map +1 -1
  54. package/dist/src/utils/auth-preflight.d.ts +51 -20
  55. package/dist/src/utils/auth-preflight.d.ts.map +1 -1
  56. package/dist/src/utils/auth-preflight.js +48 -21
  57. package/dist/src/utils/auth-preflight.js.map +1 -1
  58. package/dist/src/utils/mesh-json.d.ts +58 -0
  59. package/dist/src/utils/mesh-json.d.ts.map +1 -0
  60. package/dist/src/utils/mesh-json.js +85 -0
  61. package/dist/src/utils/mesh-json.js.map +1 -0
  62. package/dist/src/utils/registry-broker.d.ts +12 -29
  63. package/dist/src/utils/registry-broker.d.ts.map +1 -1
  64. package/dist/src/utils/registry-broker.js +12 -29
  65. package/dist/src/utils/registry-broker.js.map +1 -1
  66. package/dist/src/utils/registry-identity.d.ts +170 -0
  67. package/dist/src/utils/registry-identity.d.ts.map +1 -0
  68. package/dist/src/utils/registry-identity.js +273 -0
  69. package/dist/src/utils/registry-identity.js.map +1 -0
  70. package/package.json +3 -2
  71. package/skills/core/SKILL.md +8 -7
  72. package/templates/apps-repo/gitignore +4 -0
@@ -4,11 +4,17 @@
4
4
  * Handles CodeArtifact token refresh and project .npmrc setup so that
5
5
  * `pnpm install` can resolve @mesh-tech/* packages from the private registry.
6
6
  *
7
+ * The registry is ONE global identity (`utils/registry-identity.ts`), so the
8
+ * read path needs no platform context: `mesh registry login` resolves the
9
+ * registry, signs in to its issuer if there is no cached session, asks the
10
+ * Zitadel-gated `registry-auth` broker for a token, and writes `~/.npmrc` —
11
+ * one command, one browser round-trip, no AWS anything on the machine.
12
+ *
7
13
  * Credential resolution, in order:
8
- * 0. The Zitadel-gated registry-auth BROKER needs no AWS anything on this
9
- * machine. This is the path a brand-new developer takes.
14
+ * 0. The registry-auth BROKER, authenticated with the registry session.
15
+ * This is the path a brand-new developer takes.
10
16
  * 1. Existing AWS credentials in environment (CI/CD) → use directly
11
- * 2. Zitadel JWT from `mesh login` → AssumeRoleWithWebIdentity
17
+ * 2. Zitadel JWT from `mesh login <context>` → AssumeRoleWithWebIdentity
12
18
  * 3. AWS SSO / current profile → use directly
13
19
  *
14
20
  * Paths 1–3 all shell out to the AWS CLI, so they require it to be installed
@@ -16,19 +22,22 @@
16
22
  * point (design: registry-access-without-aws-sso).
17
23
  *
18
24
  * Usage:
19
- * mesh registry login — refresh token, ensure .npmrc
20
- * mesh registry login mesh.devbroker first, then the AWS paths
21
- * mesh registry login --ci — CI mode (skip .npmrc creation)
25
+ * mesh registry login — broker first (signs in if needed), then the AWS paths
26
+ * mesh registry login --devicesame, device-code sign-in (headless / SSH)
27
+ * mesh registry login --ci — CI mode: AWS chain only, skip .npmrc creation
22
28
  * mesh registry login --no-broker — skip the broker, force the AWS paths
29
+ * mesh registry login --profile p — a deployer's AWS profile (skips the broker)
30
+ * mesh registry logout — forget the registry session
23
31
  * mesh registry status — show current auth state
24
32
  */
25
33
  import { execFileSync } from "child_process";
26
34
  import * as fs from "fs";
27
35
  import * as path from "path";
28
- import { logError, logInfo, logSuccess, logWarn } from "../utils/log.js";
36
+ import { logInfo, logSuccess, logWarn } from "../utils/log.js";
29
37
  import { MeshCliError } from "../utils/errors.js";
30
- import { awsConfigHasProfile, findUnscopedCodeArtifactRegistry, homeNpmrcPath, npmrcAuthKeyForEndpoint, probeRegistryToken, readAwsConfig, REGISTRY_CONTEXT, SSO_SESSION_SNIPPET, stripUnscopedCodeArtifactRegistry, upsertNpmrcLines, } from "../utils/auth-preflight.js";
31
- import { fetchRegistryGrant, realGrantDeps, DERIVED_BROKER_TIMEOUT_MS, PUBLISHED_BROKER_TIMEOUT_MS, resolveDefaultBrokerContext, resolveRegistryBrokerSource, } from "../utils/registry-broker.js";
38
+ import { awsConfigHasProfile, findUnscopedCodeArtifactRegistry, homeNpmrcPath, npmrcAuthKeyForEndpoint, probeRegistryToken, readAwsConfig, SSO_SESSION_SNIPPET, stripUnscopedCodeArtifactRegistry, upsertNpmrcLines, } from "../utils/auth-preflight.js";
39
+ import { fetchRegistryGrant, realGrantDeps, PUBLISHED_BROKER_TIMEOUT_MS, } from "../utils/registry-broker.js";
40
+ import { clearRegistrySession, describeSessionExpiry, ensureRegistrySession, identityChanged, logRegistryIdentity, readRegistrySession, resolveRegistryIdentity, } from "../utils/registry-identity.js";
32
41
  import { readCredentials } from "./login.js";
33
42
  import { registerRegistryPublish } from "./registry-publish.js";
34
43
  // =============================================================================
@@ -333,25 +342,29 @@ export function applyGrantToUserNpmrc(grant, npmrcPath = homeNpmrcPath()) {
333
342
  * working Mesh account that simply lacks the grant, and quietly trying AWS next
334
343
  * would either succeed (masking a missing grant with an AWS account we're
335
344
  * trying to stop requiring) or fail with an unrelated AWS error that buries the
336
- * real answer.
345
+ * real answer. Its text ends by naming the re-run — the bare command, because
346
+ * the session is kept and no second sign-in is needed once the role lands.
347
+ *
348
+ * @example
349
+ * describeBrokerFailure({ kind: "unavailable", detail: "ECONNREFUSED" }).fatal; // → false
337
350
  */
338
- export function describeBrokerFailure(failure, context) {
351
+ export function describeBrokerFailure(failure) {
339
352
  switch (failure.kind) {
340
353
  case "no-broker":
341
354
  return {
342
- message: "No registry broker published for this context — using the AWS paths.",
355
+ message: "The registry publishes no broker — using the AWS paths.",
343
356
  fatal: false,
344
357
  };
345
358
  case "no-session":
346
359
  return {
347
- message: `No valid Mesh session${context ? ` for ${context}` : ""} — using the AWS paths.`,
348
- hint: context ? `mesh login ${context}` : "mesh login <context>",
360
+ message: "No registry session — using the AWS paths.",
361
+ hint: "mesh registry login",
349
362
  fatal: false,
350
363
  };
351
364
  case "unauthenticated":
352
365
  return {
353
- message: "The registry broker rejected your Mesh session (expired or wrong audience).",
354
- hint: context ? `mesh login ${context}` : "mesh login <context>",
366
+ message: "The registry broker rejected your session (expired or wrong audience).",
367
+ hint: "mesh registry logout && mesh registry login",
355
368
  fatal: false,
356
369
  };
357
370
  case "not-authorized":
@@ -366,7 +379,8 @@ export function describeBrokerFailure(failure, context) {
366
379
  : "") +
367
380
  (failure.requestUrl
368
381
  ? `\n Request access: ${failure.requestUrl}`
369
- : "\n Ask a Mesh platform admin to grant your account registry access."),
382
+ : "\n Ask a Mesh platform admin to grant your account registry access.") +
383
+ `\n ${NOT_AUTHORIZED_RERUN}`,
370
384
  fatal: true,
371
385
  };
372
386
  case "unavailable":
@@ -377,58 +391,121 @@ export function describeBrokerFailure(failure, context) {
377
391
  }
378
392
  }
379
393
  /**
380
- * Try the broker. Returns true when it produced a working ~/.npmrc, false when
381
- * the caller should continue to the AWS credential chain.
394
+ * A valid Mesh account that lacks the registry role. Its own class so a
395
+ * caller that runs the login in-process (the `mesh init` wizard) can tell
396
+ * "ask for a grant" from every other failure structurally, not by parsing
397
+ * the sentence.
398
+ *
399
+ * @example
400
+ * try {
401
+ * await runRegistryLogin(undefined, {});
402
+ * } catch (err) {
403
+ * if (err instanceof RegistryNotAuthorizedError) markStepFailedAndContinue(err);
404
+ * else throw err;
405
+ * }
406
+ */
407
+ export class RegistryNotAuthorizedError extends MeshCliError {
408
+ constructor(message) {
409
+ super(message);
410
+ this.name = "RegistryNotAuthorizedError";
411
+ }
412
+ }
413
+ /**
414
+ * Whether this run may start a sign-in: always with `--device` (the device
415
+ * code works anywhere the output can be read), otherwise only when there is
416
+ * a terminal to print a code to or open a browser from. Which sign-in runs
417
+ * is the login flow's choice — browser PKCE on a laptop, device code over
418
+ * SSH or in a container. A run with no TTY and no `--device` never starts a
419
+ * device-code poll nobody can complete — it falls to the AWS chain, which
420
+ * is what a CI runner with ambient credentials expects.
382
421
  *
383
- * Throws `MeshCliError` only for `not-authorized` — see describeBrokerFailure.
422
+ * @example
423
+ * registrySignInAllowed({}, false); // → false (CI runner, no --device)
424
+ * registrySignInAllowed({ device: true }, false); // → true
425
+ * registrySignInAllowed({}, true); // → true (a laptop, or an SSH session with a TTY)
384
426
  */
385
- async function tryBrokerLogin(contextArg, opts) {
427
+ export function registrySignInAllowed(opts, hasTty = Boolean(process.stdin.isTTY && process.stdout.isTTY)) {
428
+ return Boolean(opts.device) || hasTty;
429
+ }
430
+ /** The closing line of the not-authorized text: what to run once the role is granted. */
431
+ export const NOT_AUTHORIZED_RERUN = "Once granted, run: mesh registry login (your sign-in is kept; no second browser trip)";
432
+ /** Printed when the read path is given a context it no longer needs. */
433
+ export const CONTEXT_IGNORED_NOTICE = "The registry is global — the context argument is no longer needed (ignored).";
434
+ /**
435
+ * Try the broker. Returns the grant when it produced one, otherwise the
436
+ * outcome the caller carries into the AWS chain so the final error names the
437
+ * right cause.
438
+ *
439
+ * Throws `MeshCliError` for the two fatal cases: `not-authorized` (a valid
440
+ * account without the role — see describeBrokerFailure) and a sign-in that
441
+ * failed outright (denied, timed out), because falling through to AWS after
442
+ * either would print an unrelated error over the real answer.
443
+ */
444
+ async function tryBrokerLogin(opts) {
386
445
  if (opts.broker === false)
387
- return null;
388
- let context = contextArg;
389
- if (!context) {
390
- // A context-less invocation used to skip the broker silently — which sent
391
- // anyone following a remediation that omits the context straight back to
392
- // the AWS chain. Resolve one when it is unambiguous; say so when it isn't.
393
- const resolved = resolveDefaultBrokerContext();
394
- if ("context" in resolved) {
395
- context = resolved.context;
396
- logInfo(`No context givenusing the only one with a registry broker: ${context}`);
446
+ return { outcome: { kind: "skipped-flag", flag: "--no-broker" } };
447
+ if (opts.ci)
448
+ return { outcome: { kind: "skipped-flag", flag: "--ci" } };
449
+ let identity;
450
+ try {
451
+ identity = await resolveRegistryIdentity();
452
+ }
453
+ catch (err) {
454
+ const detail = err.message.split("\n")[0] ?? String(err);
455
+ logWarn(`Registry broker unavailable (${detail}) falling back to the AWS paths.`);
456
+ return { outcome: { kind: "unavailable", detail } };
457
+ }
458
+ logRegistryIdentity(identity);
459
+ const session = await ensureRegistrySession({
460
+ device: opts.device,
461
+ interactive: registrySignInAllowed(opts),
462
+ });
463
+ if (!session.ok) {
464
+ if (session.reason === "login-failed") {
465
+ throw new MeshCliError(`Registry sign-in failed: ${session.detail}`, {
466
+ remediation: { command: opts.device ? "mesh registry login --device" : "mesh registry login" },
467
+ });
397
468
  }
398
- else if (resolved.reason === "ambiguous") {
399
- logInfo(`Skipping the registry broker: several contexts publish one (${resolved.candidates.join(", ")}). ` +
400
- `Name it — e.g. \`mesh registry login ${resolved.candidates[0]}\`.`);
401
- return null;
469
+ logWarn(`No registry session (${session.detail}) falling back to the AWS paths.`);
470
+ return { outcome: { kind: "no-session", detail: session.detail } };
471
+ }
472
+ logInfo(`Registry session: ${session.email}`);
473
+ let result = await requestGrant(session.context, identity);
474
+ if (!result.ok && (result.failure.kind === "unauthenticated" || result.failure.kind === "unavailable")) {
475
+ // The pinned record may be stale — a moved broker host or a rotated
476
+ // client id. Re-discover once and retry only when something changed, so
477
+ // a genuinely down broker is not paid for twice.
478
+ let fresh = null;
479
+ try {
480
+ fresh = await resolveRegistryIdentity({ refresh: true });
402
481
  }
403
- else {
404
- logInfo("Skipping the registry broker: no signed-in context publishes one. " +
405
- `To use it: \`mesh login ${REGISTRY_CONTEXT}\`, then \`mesh registry login ${REGISTRY_CONTEXT}\`.`);
406
- return null;
482
+ catch {
483
+ // still unreachable the original failure stands
484
+ }
485
+ if (fresh && identityChanged(identity, fresh)) {
486
+ logInfo(`Registry identity changed since it was cached — retrying with ${fresh.registryBroker}`);
487
+ identity = fresh;
488
+ result = await requestGrant(session.context, identity);
407
489
  }
408
490
  }
409
- const { url: brokerUrl, source } = resolveRegistryBrokerSource(context);
410
- if (!brokerUrl) {
411
- logInfo("No registry broker published for this context — using the AWS paths.");
412
- return null;
413
- }
414
- logInfo(`Requesting a registry token from ${brokerUrl} (no AWS credentials needed)…`);
415
- const result = await fetchRegistryGrant(context, brokerUrl, {
416
- ...realGrantDeps(),
417
- // A DERIVED url is a guess at a host that, for every platform not yet
418
- // redeployed, does not exist — and this wait also sits on the `mesh login`
419
- // path. Don't make everyone pay the published-broker timeout for a guess.
420
- timeoutMs: source === "published" ? PUBLISHED_BROKER_TIMEOUT_MS : DERIVED_BROKER_TIMEOUT_MS,
421
- });
422
491
  if (result.ok)
423
- return result.grant;
424
- const { message, hint, fatal } = describeBrokerFailure(result.failure, context);
492
+ return { grant: result.grant };
493
+ const { message, hint, fatal } = describeBrokerFailure(result.failure);
425
494
  if (fatal) {
426
- throw new MeshCliError(message, hint ? { remediation: { command: hint } } : undefined);
495
+ throw new RegistryNotAuthorizedError(message);
427
496
  }
428
497
  logWarn(message);
429
498
  if (hint)
430
499
  logInfo(` Try: ${hint}`);
431
- return null;
500
+ const detail = result.failure.kind === "unavailable" ? result.failure.detail : result.failure.kind;
501
+ return { outcome: { kind: "unavailable", detail } };
502
+ }
503
+ async function requestGrant(sessionContext, identity) {
504
+ logInfo(`Requesting a registry token from ${identity.registryBroker} (no AWS credentials needed)…`);
505
+ return fetchRegistryGrant(sessionContext, identity.registryBroker, {
506
+ ...realGrantDeps(),
507
+ timeoutMs: PUBLISHED_BROKER_TIMEOUT_MS,
508
+ });
432
509
  }
433
510
  /**
434
511
  * Whether this `mesh registry login` invocation may rewrite ~/.npmrc.
@@ -479,6 +556,18 @@ export function repairUnscopedRegistry(npmrcPath = homeNpmrcPath()) {
479
556
  }
480
557
  return { removed, backupPath };
481
558
  }
559
+ /**
560
+ * The `Registry session:` line of `mesh registry status`. Pure; exported for
561
+ * the message test.
562
+ *
563
+ * @example
564
+ * renderRegistrySessionLine(null); // → "No registry session — run: mesh registry login"
565
+ */
566
+ export function renderRegistrySessionLine(session, now = Date.now()) {
567
+ if (!session)
568
+ return "No registry session — run: mesh registry login";
569
+ return `Registry session: ${session.email} (expires in ${describeSessionExpiry(session.expiresAt, now)})`;
570
+ }
482
571
  export async function checkExistingToken() {
483
572
  const npmrcPath = homeNpmrcPath();
484
573
  if (!fs.existsSync(npmrcPath))
@@ -545,6 +634,7 @@ export async function runRegistryStatus(opts) {
545
634
  logInfo(`Endpoint: ${endpoint}`);
546
635
  }
547
636
  }
637
+ logInfo(renderRegistrySessionLine(opts?.session ?? readRegistrySession()));
548
638
  // Project .npmrc — worth reporting even when the token couldn't be verified.
549
639
  const projectRoot = findProjectRoot();
550
640
  if (projectRoot) {
@@ -581,8 +671,8 @@ function ensureSsoProfile(profile) {
581
671
  const awsConfig = readAwsConfig();
582
672
  if (awsConfig && !awsConfigHasProfile(awsConfig, profile)) {
583
673
  throw new MeshCliError(`AWS profile '${profile}' is not defined in ~/.aws/config — \`aws sso login --profile ${profile}\` cannot work until it exists.\n\n` +
584
- "If you only need to INSTALL @mesh-tech packages, drop --profile: `mesh login <context>` then\n" +
585
- "`mesh registry login <context>` uses the Zitadel-gated broker and needs no AWS account at all.\n\n" +
674
+ "If you only need to INSTALL @mesh-tech packages, drop --profile: `mesh registry login` uses the\n" +
675
+ "Zitadel-gated broker and needs no AWS account at all.\n\n" +
586
676
  `If you DEPLOY and genuinely need this profile — one-time setup: \`aws configure sso --profile ${profile}\`,\n` +
587
677
  `or add the session + profile by hand:\n` +
588
678
  `${SSO_SESSION_SNIPPET}\n[profile ${profile}]\nsso_session = mesh\nsso_account_id = <account id>\nsso_role_name = <role>\nregion = us-east-2`, { remediation: { command: `aws configure sso --profile ${profile}` } });
@@ -613,8 +703,19 @@ function ensureSsoProfile(profile) {
613
703
  }
614
704
  /**
615
705
  * The full registry-auth sequence (CodeArtifact token → ~/.npmrc → project
616
- * .npmrc). Shared by `mesh registry login` and `mesh login <context>` (F2:
617
- * login absorbs registry auth).
706
+ * .npmrc). `context` matters only to `--publish` (the publisher role comes
707
+ * from that context's SSM export) and to the explicit AWS chain
708
+ * (`--no-broker` / `--ci`, where a cached platform session can assume a
709
+ * role); on the default read path it is ignored, because the registry is
710
+ * global.
711
+ *
712
+ * Fails by throwing `MeshCliError` rather than exiting, so a caller that runs
713
+ * this in-process (the `mesh init` wizard, the app-tenant doctor's `--fix`)
714
+ * can report the outcome and carry on.
715
+ *
716
+ * @example
717
+ * await runRegistryLogin(undefined, {}); // a laptop: broker, browser if needed
718
+ * await runRegistryLogin(undefined, { ci: true }); // a runner: ambient AWS creds only
618
719
  */
619
720
  export async function runRegistryLogin(context, opts) {
620
721
  // --publish is the opt-in privileged path: resolve the publisher role
@@ -625,13 +726,11 @@ export async function runRegistryLogin(context, opts) {
625
726
  let ssmArn;
626
727
  if (!opts.role) {
627
728
  if (!context) {
628
- logError('`--publish` requires a platform context, e.g. "mesh registry login mesh.dev --publish".');
629
- process.exit(1);
729
+ throw new MeshCliError('`--publish` requires a platform context, e.g. "mesh registry login mesh.dev --publish".');
630
730
  }
631
731
  const parsed = parseTenantEnv(context);
632
732
  if (!parsed) {
633
- logError(`Could not parse tenant/env from context "${context}" (expected "<tenant>.<env>").`);
634
- process.exit(1);
733
+ throw new MeshCliError(`Could not parse tenant/env from context "${context}" (expected "<tenant>.<env>").`);
635
734
  }
636
735
  const registryExport = await getRegistrySsmExport(parsed.tenant, parsed.env);
637
736
  ssmArn = registryExport?.publisherRoleArn;
@@ -640,8 +739,7 @@ export async function runRegistryLogin(context, opts) {
640
739
  roleArn = resolvePublisherRoleArn({ roleArnFlag: opts.role, ssmArn });
641
740
  }
642
741
  catch (err) {
643
- logError(err.message);
644
- process.exit(1);
742
+ throw new MeshCliError(err.message);
645
743
  }
646
744
  logInfo(`Publisher role resolved: ${roleArn}`);
647
745
  }
@@ -652,12 +750,21 @@ export async function runRegistryLogin(context, opts) {
652
750
  // Skipped for --publish (a privileged write path that deliberately goes
653
751
  // through an assumed IAM role) and for --profile (an explicit "use this AWS
654
752
  // profile" instruction we must not silently override).
655
- if (!opts.publish && !opts.profile) {
656
- const grant = await tryBrokerLogin(context, opts);
657
- if (grant) {
658
- const { path: npmrcPath } = applyGrantToUserNpmrc(grant);
753
+ let outcome;
754
+ if (opts.publish) {
755
+ outcome = { kind: "skipped-flag", flag: "--publish" };
756
+ }
757
+ else if (opts.profile) {
758
+ outcome = { kind: "skipped-profile", profile: opts.profile };
759
+ }
760
+ else {
761
+ if (context && opts.broker !== false && !opts.ci)
762
+ logInfo(CONTEXT_IGNORED_NOTICE);
763
+ const attempt = await tryBrokerLogin(opts);
764
+ if ("grant" in attempt) {
765
+ const { path: npmrcPath } = applyGrantToUserNpmrc(attempt.grant);
659
766
  logSuccess(`Registry token issued by the Mesh broker → ${npmrcPath}` +
660
- (grant.expiresAt ? ` (expires ${grant.expiresAt})` : ""));
767
+ (attempt.grant.expiresAt ? ` (expires ${attempt.grant.expiresAt})` : ""));
661
768
  // Same hijack repair as the AWS path — an unscoped `registry=` line left
662
769
  // by a past bare `aws codeartifact login` breaks public installs
663
770
  // regardless of where today's token came from.
@@ -672,7 +779,7 @@ export async function runRegistryLogin(context, opts) {
672
779
  }
673
780
  }
674
781
  if (!opts.ci && !opts.skipNpmrc) {
675
- const result = ensureProjectNpmrc(grant.endpoint);
782
+ const result = ensureProjectNpmrc(attempt.grant.endpoint);
676
783
  if (result.created) {
677
784
  logSuccess(`Created ${result.path} with ${CA_NAMESPACE} registry scope`);
678
785
  }
@@ -686,6 +793,7 @@ export async function runRegistryLogin(context, opts) {
686
793
  logSuccess(`Ready — run pnpm install to fetch ${CA_NAMESPACE} packages`);
687
794
  return;
688
795
  }
796
+ outcome = attempt.outcome;
689
797
  }
690
798
  let env;
691
799
  if (opts.profile) {
@@ -706,15 +814,7 @@ export async function runRegistryLogin(context, opts) {
706
814
  // Step 1: Run `aws codeartifact login` (sets token in ~/.npmrc)
707
815
  logInfo("Authenticating with CodeArtifact...");
708
816
  if (!codeartifactLogin(env)) {
709
- logError("CodeArtifact login failed.\n\n" +
710
- "You do NOT need an AWS account to install @mesh-tech packages. The supported path is:\n" +
711
- ` mesh login ${context ?? "<context>"} # browser → Zitadel; then re-run this command\n\n` +
712
- "This machine fell through to the AWS path, which means one of: the platform publishes no\n" +
713
- "registry broker yet, your Mesh account is not signed in, or the broker was unreachable —\n" +
714
- "the warning above says which.\n\n" +
715
- "AWS SSO is only needed if you DEPLOY (mesh deploy):\n" +
716
- " mesh registry login --profile mesh-dev # auto-runs `aws sso login`");
717
- process.exit(1);
817
+ throw new MeshCliError(describeAwsChainFailure(outcome));
718
818
  }
719
819
  logSuccess("CodeArtifact token refreshed (valid for 12 hours)");
720
820
  // Step 1b: Repair a hijacked ~/.npmrc. We always write the SCOPED form
@@ -761,27 +861,79 @@ export async function runRegistryLogin(context, opts) {
761
861
  }
762
862
  logSuccess(`Ready — run pnpm install to fetch ${CA_NAMESPACE} packages`);
763
863
  }
864
+ /**
865
+ * The error for a failed `aws codeartifact login`, built from WHY the AWS
866
+ * chain was the path taken — so the text can only ever describe something
867
+ * that actually happened on this run.
868
+ *
869
+ * Three shapes:
870
+ *
871
+ * - `--profile`: the profile's AWS identity cannot read the registry. That
872
+ * flag is for deployers whose account is allowed to; anyone else should drop
873
+ * it and take the broker path, which needs no AWS at all.
874
+ * - broker unavailable / no session: the broker was tried and printed a
875
+ * warning; this names that warning and the two ways forward.
876
+ * - an explicit AWS flag (`--no-broker`, `--ci`, `--publish`): the caller asked
877
+ * for the AWS chain, so the fix is the AWS credentials, not the broker.
878
+ *
879
+ * Pure; exported for the message tests.
880
+ *
881
+ * @example
882
+ * describeAwsChainFailure({ kind: "skipped-profile", profile: "ctdev" }); // "AWS profile 'ctdev' cannot read…"
883
+ */
884
+ export function describeAwsChainFailure(outcome) {
885
+ switch (outcome.kind) {
886
+ case "skipped-profile":
887
+ return (`AWS profile '${outcome.profile}' cannot read the Mesh registry (aws codeartifact login failed).\n\n` +
888
+ "--profile is for people who DEPLOY with an AWS account that is allowed to read the registry\n" +
889
+ "(Trabian's mesh-dev profile, or a tenant deployer role). Any other profile fails here.\n\n" +
890
+ "To install packages you do not need AWS at all — drop the flag:\n" +
891
+ " mesh registry login");
892
+ case "unavailable":
893
+ return (`Registry broker unavailable (${outcome.detail}) and this machine has no AWS path either.\n\n` +
894
+ "Retry in a minute: mesh registry login\n" +
895
+ "If you deploy and have an AWS account: mesh registry login --profile mesh-dev");
896
+ case "no-session":
897
+ return (`No registry session on this machine (${outcome.detail}) and the AWS chain failed too.\n\n` +
898
+ "Sign in once — on a headless box: mesh registry login --device\n" +
899
+ "In CI with AWS creds: mesh registry login --ci");
900
+ case "skipped-flag":
901
+ return (`CodeArtifact login failed with the AWS credential chain (${outcome.flag} skips the registry broker).\n\n` +
902
+ "This path needs AWS credentials that can read the registry — ambient keys, a live SSO\n" +
903
+ "session, or --profile <deployer-profile>.\n\n" +
904
+ "To install packages you do not need AWS at all — drop the flag:\n" +
905
+ " mesh registry login");
906
+ }
907
+ }
764
908
  export function registerRegistryCommands(program) {
765
909
  const registry = program
766
910
  .command("registry")
767
911
  .description("Manage npm registry auth for @mesh-tech packages");
768
912
  registry
769
913
  .command("login")
770
- .description("Authenticate with CodeArtifact and configure .npmrc")
771
- .argument("[context]", 'Platform context for Zitadel auth (e.g., "mesh.dev")')
914
+ .description("Sign in to the Mesh package registry (browser, or device code with --device) and configure ~/.npmrc + the project .npmrc. Needs no platform context and no AWS account.")
915
+ .argument("[context]", 'Platform context only meaningful with --publish (publisher role from that context\'s SSM export) or on the explicit AWS chain; ignored on the default read path, which is global')
916
+ .option("--device", "Sign in with the device-code flow (headless box, SSH, no browser)")
772
917
  .option("--role <arn>", "IAM role ARN for registry access")
773
- .option("--ci", "CI mode — refresh token only, skip project .npmrc setup")
918
+ .option("--ci", "CI mode — AWS chain only (ambient credentials), refresh token only, skip project .npmrc setup")
774
919
  .option("--skip-npmrc", "Skip project .npmrc setup")
775
- .option("--profile <name>", "AWS SSO profile (e.g. mesh-dev) auto-runs `aws sso login` when the session is stale")
920
+ .option("--profile <name>", "AWS SSO profile of an account allowed to READ the registry (deployers only — e.g. mesh-dev); skips the broker, auto-runs `aws sso login` when the session is stale")
776
921
  .option("--no-broker", "Skip the Zitadel-gated registry broker and go straight to the AWS credential chain")
777
922
  .option("--publish", "Assume the registry's publisher role for CodeArtifact publish access " +
778
923
  "(opt-in privileged path — resolves publisherRoleArn from the registry's SSM export unless --role is given)")
779
924
  .action(async (context, opts) => {
780
925
  await runRegistryLogin(context, opts);
781
926
  });
927
+ registry
928
+ .command("logout")
929
+ .description("Forget the package-registry session (platform logins under `mesh login` are untouched)")
930
+ .action(() => {
931
+ clearRegistrySession();
932
+ logSuccess("Registry session cleared. ~/.npmrc is untouched — its token expires on its own within 12 hours.");
933
+ });
782
934
  registry
783
935
  .command("status")
784
- .description("Check current registry authentication status")
936
+ .description("Check current registry authentication status — the ~/.npmrc token and the registry session")
785
937
  .action(async () => {
786
938
  const code = await runRegistryStatus();
787
939
  if (code !== 0)
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/commands/registry.ts"],"names":[],"mappings":"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"}