@cleocode/core 2026.9.26 → 2026.10.1

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 (52) hide show
  1. package/dist/build-provenance.json +2 -2
  2. package/dist/cloud/nexus-attach.d.ts +94 -0
  3. package/dist/cloud/nexus-attach.d.ts.map +1 -0
  4. package/dist/cloud/nexus-attach.js +192 -0
  5. package/dist/cloud/nexus-attach.js.map +1 -0
  6. package/dist/cloud/nexus-auth.d.ts +15 -3
  7. package/dist/cloud/nexus-auth.d.ts.map +1 -1
  8. package/dist/cloud/nexus-auth.js +90 -6
  9. package/dist/cloud/nexus-auth.js.map +1 -1
  10. package/dist/cloud/nexus-cloud-status.d.ts +132 -0
  11. package/dist/cloud/nexus-cloud-status.d.ts.map +1 -0
  12. package/dist/cloud/nexus-cloud-status.js +440 -0
  13. package/dist/cloud/nexus-cloud-status.js.map +1 -0
  14. package/dist/cloud/nexus-cloud.d.ts +179 -0
  15. package/dist/cloud/nexus-cloud.d.ts.map +1 -0
  16. package/dist/cloud/nexus-cloud.js +296 -0
  17. package/dist/cloud/nexus-cloud.js.map +1 -0
  18. package/dist/cloud/nexus-device.d.ts +31 -6
  19. package/dist/cloud/nexus-device.d.ts.map +1 -1
  20. package/dist/cloud/nexus-device.js +54 -7
  21. package/dist/cloud/nexus-device.js.map +1 -1
  22. package/dist/cloud/nexus-enrol.d.ts +35 -4
  23. package/dist/cloud/nexus-enrol.d.ts.map +1 -1
  24. package/dist/cloud/nexus-enrol.js +187 -47
  25. package/dist/cloud/nexus-enrol.js.map +1 -1
  26. package/dist/cloud/nexus-link.d.ts +8 -1
  27. package/dist/cloud/nexus-link.d.ts.map +1 -1
  28. package/dist/cloud/nexus-link.js +138 -11
  29. package/dist/cloud/nexus-link.js.map +1 -1
  30. package/dist/cloud/nexus-logout.d.ts +114 -0
  31. package/dist/cloud/nexus-logout.d.ts.map +1 -0
  32. package/dist/cloud/nexus-logout.js +429 -0
  33. package/dist/cloud/nexus-logout.js.map +1 -0
  34. package/dist/docs/export-document.js +242 -37
  35. package/dist/docs/export-document.js.map +3 -3
  36. package/dist/llm/plugin-facade.js +343 -138
  37. package/dist/llm/plugin-facade.js.map +3 -3
  38. package/dist/selfimprove/fix-gen.js +347 -142
  39. package/dist/selfimprove/fix-gen.js.map +3 -3
  40. package/dist/setup/sections/nexus-account.d.ts +8 -6
  41. package/dist/setup/sections/nexus-account.d.ts.map +1 -1
  42. package/dist/setup/sections/nexus-account.js +53 -9
  43. package/dist/setup/sections/nexus-account.js.map +1 -1
  44. package/dist/store/sync/replica.d.ts +34 -3
  45. package/dist/store/sync/replica.d.ts.map +1 -1
  46. package/dist/store/sync/replica.js +39 -2
  47. package/dist/store/sync/replica.js.map +1 -1
  48. package/dist/store/sync/schema.d.ts +6 -3
  49. package/dist/store/sync/schema.d.ts.map +1 -1
  50. package/dist/store/sync/schema.js +6 -3
  51. package/dist/store/sync/schema.js.map +1 -1
  52. package/package.json +13 -13
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * Cleo Nexus device enrolment: the device half of `cleo login nexus` and the
3
3
  * one-time upgrade of a 9.24 bearer session (cleo-nexus device contract v2.9,
4
- * §3.3 steps 4 to 10, §3.4). Everything here runs only behind
5
- * `CLEO_NEXUS_DEVICE=1` ({@link isNexusDeviceEnabled}); with the switch off
6
- * the CLI keeps the 9.24 session flow in `nexus-auth.ts` untouched.
4
+ * §3.3 steps 4 to 10, §3.4). Everything here runs only with device
5
+ * credentials on ({@link isNexusDeviceEnabled}: the default since T12904);
6
+ * with `CLEO_NEXUS_DEVICE=0` the CLI keeps the 9.24 session flow in
7
+ * `nexus-auth.ts` untouched.
7
8
  *
8
9
  * Lock discipline (v2.9). `nexus-device.json`'s lock is held only around local
9
10
  * read-modify-writes, never across a network call:
@@ -29,13 +30,14 @@
29
30
  */
30
31
  import { randomBytes } from 'node:crypto';
31
32
  import { hostname as osHostname } from 'node:os';
32
- import { nexusAccountOrganizationSchema, } from '@cleocode/contracts';
33
+ import { NEXUS_CONFLICT_ERRORS, NEXUS_FORBIDDEN_ERRORS, NEXUS_REVOKED_REASON_ERRORS, NEXUS_UNAUTHENTICATED_ERRORS, NEXUS_UNREACHABLE_ERROR, nexusAccountOrganizationSchema, } from '@cleocode/contracts';
33
34
  import { z } from 'zod';
34
35
  import { generateEd25519, generateX25519, signEd25519 } from './crypto.js';
35
36
  import { Http, NexusError } from './http.js';
36
37
  import { NEXUS_REVOKE_TIMEOUT_MS, NexusAccountError, resolveNexusApiUrl, runNexusDeviceCode, signOutNexusSessionToken, } from './nexus-auth.js';
37
38
  import { FileNexusTokenStore, nexusOriginKey, } from './nexus-credentials.js';
38
39
  import { applyClearEnrolIntent, applyDropCurrent, applyDropRaceCandidate, applyEnrolIntent, applyEnrolment, applyRefreshEnrolIntent, applySetRaceCandidate, assertEnrolmentAllowed, guardNexusDeviceSecrets, NEXUS_DEVICE_CREDENTIAL_PATTERN, NEXUS_DEVICE_PROFILES, NEXUS_DEVICE_SCOPES, NexusDeviceEnrolment, NexusDeviceStore, NexusDeviceStoreError, UnreadableNexusDevice, } from './nexus-device.js';
40
+ import { retryNexusDeviceEnds } from './nexus-logout.js';
39
41
  import { deviceEnrollmentMessage } from './signing.js';
40
42
  import { uuidv7 } from './uuidv7.js';
41
43
  /**
@@ -62,6 +64,18 @@ export const NEXUS_INTENT_STALE_MS = NEXUS_WHOAMI_TIMEOUT_MS + NEXUS_ENROL_TIMEO
62
64
  export const W_NEXUS_LOGIN_RACE_BOTH_LIVE = 'W_NEXUS_LOGIN_RACE_BOTH_LIVE';
63
65
  /** Warning code: the chosen device name is this machine's hostname (L8). */
64
66
  export const W_NEXUS_DEVICE_NAME_IS_HOSTNAME = 'W_NEXUS_DEVICE_NAME_IS_HOSTNAME';
67
+ /**
68
+ * STAGING ONLY: environment variable holding a better-auth session bearer
69
+ * minted by the staging test-signup endpoint (`POST /v1/test/users` on
70
+ * {@link NEXUS_STAGING_API_ORIGIN}). With it, {@link loginToNexusDevice}
71
+ * skips the browser device-code step, for browserless end-to-end tests. It is
72
+ * honoured only when the login targets exactly {@link NEXUS_STAGING_API_ORIGIN}.
73
+ */
74
+ export const NEXUS_TEST_BEARER_ENV = 'CLEO_NEXUS_TEST_BEARER';
75
+ /** The only API origin that honours {@link NEXUS_TEST_BEARER_ENV}. */
76
+ export const NEXUS_STAGING_API_ORIGIN = 'https://api.staging.cleocode.dev';
77
+ /** Warning code: {@link NEXUS_TEST_BEARER_ENV} is set but the login does not target staging, so it was ignored. */
78
+ export const W_NEXUS_TEST_BEARER_IGNORED = 'W_NEXUS_TEST_BEARER_IGNORED';
65
79
  /** The remedy for any failure that needs a fresh, human, browser login. */
66
80
  const BROWSER_LOGIN_FIX = 'run `cleo login nexus` (needs a browser: on a headless machine a human must complete the login)';
67
81
  const uuid = z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
@@ -133,6 +147,10 @@ function client(ctx, bearer, timeoutMs) {
133
147
  const timed = (input, init) => ctx.fetch(input, { ...init, signal: AbortSignal.timeout(timeoutMs) });
134
148
  return new Http({ baseUrl: ctx.apiUrl, token: bearer, fetch: timed, maxAttempts: 1 });
135
149
  }
150
+ /** The logout-retry options for this flow's origin, stores and transport. */
151
+ function endOpts(ctx) {
152
+ return { apiUrl: ctx.apiUrl, fetch: ctx.fetch, deviceStore: ctx.devices };
153
+ }
136
154
  /** A fresh 32-hex intent owner id. */
137
155
  function newOwner() {
138
156
  return randomBytes(16).toString('hex');
@@ -162,55 +180,68 @@ export function nexusApiErrorToAccountError(err) {
162
180
  if (err instanceof NexusAccountError || !(err instanceof NexusError)) {
163
181
  return err instanceof Error ? err : new Error(String(err));
164
182
  }
165
- const reason = reasonOf(err);
166
183
  const remedy = typeof err.details?.['remedy'] === 'string' ? err.details['remedy'] : undefined;
167
- if (err.code === 'E_NETWORK') {
168
- return new NexusAccountError('E_NEXUS_UNREACHABLE', `Cleo Nexus did not answer: ${err.message}`, 'check your network and retry');
184
+ const mapped = nexusErrorMappingOf(err);
185
+ if (mapped === null) {
186
+ const retry = err.status === 429 || err.status >= 500 ? ' (retryable)' : '';
187
+ return new NexusAccountError('E_NEXUS_REQUEST_FAILED', `${err.message}${retry}`, remedy);
188
+ }
189
+ let message = mapped.message ?? err.message;
190
+ if (mapped.code === 'E_NEXUS_UNREACHABLE')
191
+ message = `Cleo Nexus did not answer: ${err.message}`;
192
+ const scope = err.details?.['requiredScope'];
193
+ if (mapped.code === 'E_NEXUS_INSUFFICIENT_SCOPE' && typeof scope === 'string') {
194
+ message = `${message} (${scope})`;
169
195
  }
196
+ // A plain refusal prefers the server's own remedy; a credential problem keeps the CLI's.
197
+ const fix = mapped.code === 'E_NEXUS_REQUEST_FAILED' || mapped.code === 'E_NEXUS_REPLICA_COPIED'
198
+ ? (remedy ?? mapped.fix ?? undefined)
199
+ : (mapped.fix ?? remedy);
200
+ return new NexusAccountError(mapped.code, message, fix);
201
+ }
202
+ /** True when `key` is an own key of `table`, narrowing it to the table's keys. */
203
+ function isKeyOf(table, key) {
204
+ return key !== undefined && Object.hasOwn(table, key);
205
+ }
206
+ /**
207
+ * The §4.0.4 row for an API failure, read from the tables in
208
+ * `@cleocode/contracts` (the mapping's single source, T12871), or `null` when
209
+ * the failure is reported as `E_NEXUS_REQUEST_FAILED` with the server's
210
+ * message.
211
+ */
212
+ function nexusErrorMappingOf(err) {
213
+ if (err.code === 'E_NETWORK')
214
+ return NEXUS_UNREACHABLE_ERROR;
215
+ const reason = reasonOf(err);
170
216
  if (err.status === 401) {
171
- switch (reason) {
172
- case 'credential-revoked':
173
- if (err.details?.['revokedReason'] === 'reenrolled') {
174
- // Replaced by a newer login of this device, not stolen: a login
175
- // fixes it, and the device id stays (security review M2b).
176
- return new NexusAccountError('E_NEXUS_NOT_SIGNED_IN', "this device's credential was replaced by a newer login of the same device", 'run `cleo login nexus`');
177
- }
178
- return new NexusAccountError('E_NEXUS_CREDENTIAL_COMPROMISED', "this device's credential was replaced or revoked elsewhere, possibly used from another machine", 'revoke this device on cleocode.dev and sign in again with `cleo login nexus`');
179
- case 'credential-expired':
180
- return new NexusAccountError('E_NEXUS_SESSION_EXPIRED', 'the device credential expired after 90 days without use', 'run `cleo login nexus`');
181
- case 'device-signed-out':
182
- return new NexusAccountError('E_NEXUS_DEVICE_SIGNED_OUT', 'this device was signed out', 'run `cleo login nexus`');
183
- case 'device-revoked':
184
- return new NexusAccountError('E_NEXUS_DEVICE_REVOKED', 'this device was revoked', 'run `cleo login nexus` to enrol this machine as a new device');
185
- case 'session-bearer-retired':
186
- return new NexusAccountError('E_NEXUS_SESSION_EXPIRED', 'bearer sessions are no longer accepted', 'run `cleo login nexus` with the current CLI');
187
- default:
188
- return new NexusAccountError('E_NEXUS_NOT_SIGNED_IN', 'not signed in to Cleo Nexus (the credential is missing or invalid)', 'run `cleo login nexus`');
217
+ if (reason === 'credential-revoked') {
218
+ // Why it was revoked decides it (v2.11, M2b): a re-enrolment or a
219
+ // sign-out needs a login, never a "possibly stolen" report.
220
+ const why = err.details?.['revokedReason'];
221
+ const key = typeof why === 'string' ? why : undefined;
222
+ return isKeyOf(NEXUS_REVOKED_REASON_ERRORS, key)
223
+ ? NEXUS_REVOKED_REASON_ERRORS[key]
224
+ : NEXUS_REVOKED_REASON_ERRORS.rotated;
189
225
  }
226
+ return isKeyOf(NEXUS_UNAUTHENTICATED_ERRORS, reason)
227
+ ? NEXUS_UNAUTHENTICATED_ERRORS[reason]
228
+ : NEXUS_UNAUTHENTICATED_ERRORS.invalid;
190
229
  }
191
- if (err.status === 403) {
192
- if (reason === 'insufficient-scope') {
193
- return new NexusAccountError('E_NEXUS_INSUFFICIENT_SCOPE', `this device's credential lacks the scope for that request${typeof err.details?.['requiredScope'] === 'string' ? ` (${err.details['requiredScope']})` : ''}`, 'run `cleo login nexus` without --read-only to enrol with the full device profile');
194
- }
195
- if (reason === 'bearer-session-required' || reason === 'session-not-fresh') {
196
- return new NexusAccountError('E_NEXUS_SESSION_EXPIRED', 'the session is too old to enrol this device', BROWSER_LOGIN_FIX);
197
- }
198
- if (reason === 'device-limit') {
199
- return new NexusAccountError('E_NEXUS_REQUEST_FAILED', 'the account has reached its device limit', remedy ?? 'revoke unused devices on cleocode.dev, then retry');
200
- }
230
+ if (err.status === 403 && isKeyOf(NEXUS_FORBIDDEN_ERRORS, reason)) {
231
+ const row = NEXUS_FORBIDDEN_ERRORS[reason];
232
+ return row.message === null ? null : row;
201
233
  }
202
- if (err.status === 409 && reason === 'replica-copied') {
203
- return new NexusAccountError('E_NEXUS_REPLICA_COPIED', 'this project store is attached from another device (a copied store)', remedy);
234
+ if (err.status === 409 && isKeyOf(NEXUS_CONFLICT_ERRORS, reason)) {
235
+ return NEXUS_CONFLICT_ERRORS[reason] ?? null;
204
236
  }
205
- const retry = err.status === 429 || err.status >= 500 ? ' (retryable)' : '';
206
- return new NexusAccountError('E_NEXUS_REQUEST_FAILED', `${err.message}${retry}`, remedy);
237
+ return null;
207
238
  }
208
239
  /** Map a device-store failure to a CLI error, keeping its message (never a secret). */
209
240
  function storeErrorToAccountError(err) {
210
241
  if (!(err instanceof NexusDeviceStoreError))
211
242
  return err instanceof Error ? err : new Error(String(err));
212
243
  if (err.code === 'E_NEXUS_DEVICE_REVOKE_PENDING') {
213
- return new NexusAccountError('E_NEXUS_REVOKE_PENDING', 'a revoke of this device is not yet confirmed by the server, so logging in would undo it', 'finish the revoke (`cleo logout nexus --revoke` retries it) or cancel it, then log in');
244
+ return new NexusAccountError('E_NEXUS_REVOKE_PENDING', 'a revoke of this device is not yet confirmed by the server, so logging in would undo it', 'run `cleo logout nexus --revoke` again when Cleo Nexus is reachable to finish the revoke, then log in');
214
245
  }
215
246
  if (err.code === 'E_NEXUS_DEVICE_BUSY' || err.code === 'E_NEXUS_DEVICE_LOCK_COMPROMISED') {
216
247
  return new NexusAccountError('E_NEXUS_BUSY', err.message, 'retry the command');
@@ -286,7 +317,16 @@ function prepareInTx(tx, ctx, input, replaceIdentity) {
286
317
  if (entry !== null)
287
318
  assertEnrolmentAllowed(entry, entry.deviceId);
288
319
  const now = ctx.now();
289
- const reuse = entry !== null && !replaceIdentity;
320
+ // A device forgotten by a revoke (applyForgetDevice: no keys, no
321
+ // credential, at most retired requests left) is never reused: re-enrolling
322
+ // its id could re-activate the device the user asked to burn.
323
+ const forgotten = entry !== null &&
324
+ entry.keys === null &&
325
+ entry.current === null &&
326
+ entry.pending === null &&
327
+ !entry.raceCandidate &&
328
+ entry.pendingSignOut === null;
329
+ const reuse = entry !== null && !replaceIdentity && !forgotten;
290
330
  const deviceId = reuse ? entry.deviceId : uuidv7(now.getTime());
291
331
  const keys = reuse && entry.keys !== null ? entry.keys : freshKeys();
292
332
  const intent = {
@@ -655,9 +695,23 @@ async function enrolledMeanwhile(ctx, input, prepared) {
655
695
  return false;
656
696
  }
657
697
  }
698
+ /**
699
+ * E1 refused the upgrade's exempt session with 401 `session-used` (v2.12): a
700
+ * concurrent E1 consumed it first. {@link upgradeNexusSession} re-reads
701
+ * `nexus-device.json` on this error, where the winner usually already stored
702
+ * its credential (§3.4, §4.0.4).
703
+ */
704
+ class NexusSessionUsedError extends NexusAccountError {
705
+ constructor() {
706
+ super('E_NEXUS_SESSION_EXPIRED', 'the stored session was already used by another device enrolment (it can enrol only once), and no device credential was stored on this CLEO home', BROWSER_LOGIN_FIX);
707
+ }
708
+ }
658
709
  /** The error for a failed E1 (after the internal 409 handling). */
659
710
  function enrolError(err, reason, input) {
660
711
  if (input.kind === 'upgrade') {
712
+ if (err instanceof NexusError && err.status === 401 && reason === 'session-used') {
713
+ return new NexusSessionUsedError();
714
+ }
661
715
  if (isUnanswered(err)) {
662
716
  return new NexusAccountError('E_NEXUS_SESSION_EXPIRED', 'the automatic upgrade of the stored session lost its answer from Cleo Nexus; that session can enrol only once, so it cannot be retried', BROWSER_LOGIN_FIX);
663
717
  }
@@ -706,6 +760,30 @@ async function finish(ctx, session, device, signOutExpectedToFail, warnings) {
706
760
  function primaryOrganization(orgs) {
707
761
  return orgs.find((o) => o.personal) ?? orgs[0] ?? null;
708
762
  }
763
+ /**
764
+ * The staging test bearer from {@link NEXUS_TEST_BEARER_ENV}, or `null`. It
765
+ * is returned only for exactly {@link NEXUS_STAGING_API_ORIGIN}; for any other
766
+ * origin a warning is added (naming the variable, never its value) and it is
767
+ * not used.
768
+ *
769
+ * @throws {NexusAccountError} `E_NEXUS_NOT_SIGNED_IN` against staging when
770
+ * the value is not a valid header token (never quoting it).
771
+ */
772
+ function stagingTestBearer(apiUrl, warnings) {
773
+ const raw = process.env[NEXUS_TEST_BEARER_ENV]?.trim() ?? '';
774
+ if (raw === '')
775
+ return null;
776
+ if (apiUrl === NEXUS_STAGING_API_ORIGIN) {
777
+ // A value that is not a valid header token would make `fetch` throw an
778
+ // error quoting the header, so it is refused before any request.
779
+ if (!/^[\x21-\x7e]+$/.test(raw)) {
780
+ throw new NexusAccountError('E_NEXUS_NOT_SIGNED_IN', `${NEXUS_TEST_BEARER_ENV} is not a usable bearer token (printable ASCII, no spaces); nothing was sent`, `set ${NEXUS_TEST_BEARER_ENV} to the token returned by POST /v1/test/users on ${NEXUS_STAGING_API_ORIGIN}, or unset it`);
781
+ }
782
+ return raw;
783
+ }
784
+ warnings.push(`${W_NEXUS_TEST_BEARER_IGNORED}: ${NEXUS_TEST_BEARER_ENV} is set but ignored; it is honoured only against ${NEXUS_STAGING_API_ORIGIN}, not ${apiUrl}`);
785
+ return null;
786
+ }
709
787
  /**
710
788
  * `cleo login nexus` with device credentials (contract §3.3): the device-code
711
789
  * login gives a session held in memory only; the session enrols this machine
@@ -713,6 +791,18 @@ function primaryOrganization(orgs) {
713
791
  * stored, sealed, in `nexus-device.json`. `nexus-credentials.json` is never
714
792
  * written.
715
793
  *
794
+ * Environment:
795
+ *
796
+ * - `CLEO_NEXUS_API_URL`: the API origin when `opts.apiUrl` is not given.
797
+ * - `CLEO_NEXUS_TEST_BEARER` ({@link NEXUS_TEST_BEARER_ENV}), STAGING ONLY: a
798
+ * better-auth session bearer minted by the staging test-signup endpoint
799
+ * (`POST /v1/test/users` on {@link NEXUS_STAGING_API_ORIGIN}). When the
800
+ * resolved origin is exactly {@link NEXUS_STAGING_API_ORIGIN}, the
801
+ * device-code step is skipped and that bearer runs the same E2 (whoami),
802
+ * E1 (enrol) and sign-out path as a browser login. For any other origin it
803
+ * is ignored with a {@link W_NEXUS_TEST_BEARER_IGNORED} warning. Its value
804
+ * never appears in a result, warning, error or log.
805
+ *
716
806
  * @param opts - API URL, profile, name, UI hooks and test overrides.
717
807
  * @returns The secret-free login result, with the device and its scopes.
718
808
  * @throws {NexusAccountError} `E_NEXUS_REVOKE_PENDING` while a revoke of this
@@ -720,6 +810,10 @@ function primaryOrganization(orgs) {
720
810
  */
721
811
  export async function loginToNexusDevice(opts = {}) {
722
812
  const ctx = context(opts);
813
+ const warnings = [];
814
+ // §3.5 L2: an unsettled sign-out or revoke is retried first; a confirmed
815
+ // revoke clears the `pendingRevoke` that would refuse this login.
816
+ await retryNexusDeviceEnds(endOpts(ctx), warnings);
723
817
  const profile = opts.readOnly === true ? 'read-only' : 'device';
724
818
  const loginOpts = {
725
819
  ...(opts.fetch ? { fetch: opts.fetch } : {}),
@@ -728,9 +822,9 @@ export async function loginToNexusDevice(opts = {}) {
728
822
  ...(opts.signal ? { signal: opts.signal } : {}),
729
823
  ...(opts.pollSleep ? { sleep: opts.pollSleep } : {}),
730
824
  };
731
- const token = await runNexusDeviceCode(ctx.apiUrl, loginOpts, profile === 'read-only' ? 'cleo:read-only' : 'cleo:device');
732
- const session = token.accessToken;
733
- const warnings = [];
825
+ // STAGING ONLY: a test-signup bearer replaces the browser device-code step.
826
+ const session = stagingTestBearer(ctx.apiUrl, warnings) ??
827
+ (await runNexusDeviceCode(ctx.apiUrl, loginOpts, profile === 'read-only' ? 'cleo:read-only' : 'cleo:device')).accessToken;
734
828
  // Step 4: who is signing in.
735
829
  let me;
736
830
  try {
@@ -800,6 +894,12 @@ function loginResult(ctx, me, confirmed, enrolled, warnings) {
800
894
  * as needing a browser login, and the session is removed so no later command
801
895
  * retries it.
802
896
  *
897
+ * When E1 answers 401 `session-used` (v2.12: a concurrent E1 consumed the
898
+ * session first), the session is removed and `nexus-device.json` is re-read
899
+ * every `upgradePollMs` for up to `upgradeWaitMs`: once another process has
900
+ * stored a credential there, the outcome is `already-enrolled`; if none
901
+ * appears, `E_NEXUS_SESSION_EXPIRED` asks for a browser login.
902
+ *
803
903
  * @param opts - API URL, stores and test overrides.
804
904
  * @returns What happened; never a secret.
805
905
  * @throws {NexusAccountError} `E_NEXUS_SESSION_EXPIRED` (browser login
@@ -847,7 +947,7 @@ export async function upgradeNexusSession(opts = {}) {
847
947
  }
848
948
  if (step.kind === 'enrolled') {
849
949
  await retireLeftoverSession(ctx, session, warnings);
850
- const device = await ctx.devices.get(ctx.apiUrl, userId);
950
+ const device = await readDevice(ctx, userId);
851
951
  return { outcome: 'already-enrolled', device, warnings };
852
952
  }
853
953
  if (step.kind === 'consumed')
@@ -886,6 +986,16 @@ export async function upgradeNexusSession(opts = {}) {
886
986
  enrolled = await enrol(ctx, input, prepared, warnings);
887
987
  }
888
988
  catch (err) {
989
+ if (err instanceof NexusSessionUsedError) {
990
+ // A concurrent upgrade consumed the session first (401 `session-used`):
991
+ // its credential is usually already in the device file. The session is
992
+ // dead server-side either way, so it is only removed locally (CAS).
993
+ await ctx.sessions.delete(ctx.apiUrl, session).catch(() => false);
994
+ const device = await awaitStoredCredential(ctx, userId);
995
+ if (device !== null)
996
+ return { outcome: 'already-enrolled', device, warnings };
997
+ throw err;
998
+ }
889
999
  if (err instanceof NexusAccountError && err.code === 'E_NEXUS_SESSION_EXPIRED') {
890
1000
  // Never retry an exempt session: remove it (CAS on the token).
891
1001
  await ctx.sessions.delete(ctx.apiUrl, session).catch(() => false);
@@ -898,6 +1008,34 @@ export async function upgradeNexusSession(opts = {}) {
898
1008
  await finish(ctx, session.bearer(), enrolled.device, true, warnings);
899
1009
  return { outcome: 'upgraded', device: enrolled.device, warnings };
900
1010
  }
1011
+ /** Read the device entry, mapping a store failure (an unreadable file) to a CLI error. */
1012
+ async function readDevice(ctx, userId) {
1013
+ try {
1014
+ return await ctx.devices.get(ctx.apiUrl, userId);
1015
+ }
1016
+ catch (err) {
1017
+ throw storeErrorToAccountError(err);
1018
+ }
1019
+ }
1020
+ /**
1021
+ * After 401 `session-used`: re-read `nexus-device.json` every
1022
+ * `upgradePollMs`, for up to `upgradeWaitMs`, until the concurrent upgrade
1023
+ * that consumed the session has stored its credential (it may store a moment
1024
+ * after this process's answer).
1025
+ *
1026
+ * @returns The entry holding a credential, or `null` when none appeared in time.
1027
+ */
1028
+ async function awaitStoredCredential(ctx, userId) {
1029
+ const deadline = ctx.now().getTime() + ctx.upgradeWaitMs;
1030
+ for (;;) {
1031
+ const device = await readDevice(ctx, userId);
1032
+ if (device !== null && device.currentBearer() !== null)
1033
+ return device;
1034
+ if (ctx.now().getTime() >= deadline)
1035
+ return null;
1036
+ await ctx.sleep(ctx.upgradePollMs);
1037
+ }
1038
+ }
901
1039
  /**
902
1040
  * A 9.24 session left in the v1 file next to a device credential (a login ran,
903
1041
  * or another process upgraded): sign it out server-side first, best effort,
@@ -961,7 +1099,7 @@ async function upgradeCheck(ctx, session, input, staleOwner, warnings) {
961
1099
  });
962
1100
  }
963
1101
  /**
964
- * The device credential for commands that need one (behind `CLEO_NEXUS_DEVICE=1`).
1102
+ * The device credential for commands that need one (with device credentials (the default; `CLEO_NEXUS_DEVICE=0` turns them off)).
965
1103
  *
966
1104
  * - A 9.24 session still in `nexus-credentials.json` is upgraded first, once
967
1105
  * (§3.4); a leftover session next to an existing credential is signed out
@@ -978,13 +1116,15 @@ async function upgradeCheck(ctx, session, input, staleOwner, warnings) {
978
1116
  */
979
1117
  export async function ensureNexusDeviceCredential(opts = {}) {
980
1118
  const ctx = context(opts);
1119
+ const retryWarnings = [];
1120
+ await retryNexusDeviceEnds(endOpts(ctx), retryWarnings);
981
1121
  const upgrade = await upgradeNexusSession({
982
1122
  ...opts,
983
1123
  apiUrl: ctx.apiUrl,
984
1124
  deviceStore: ctx.devices,
985
1125
  store: ctx.sessions,
986
1126
  });
987
- const warnings = [...upgrade.warnings];
1127
+ const warnings = [...retryWarnings, ...upgrade.warnings];
988
1128
  const notSignedIn = () => new NexusAccountError('E_NEXUS_NOT_SIGNED_IN', `not signed in to Cleo Nexus at ${ctx.apiUrl}`, 'run `cleo login nexus`');
989
1129
  let userId = opts.userId ?? upgrade.device?.userId ?? null;
990
1130
  if (userId === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"nexus-enrol.js","sourceRoot":"","sources":["../../src/cloud/nexus-enrol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nexus-enrol.js","sourceRoot":"","sources":["../../src/cloud/nexus-enrol.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@
34
34
  * @epic T12322
35
35
  */
36
36
  import type { NexusProjectLink, NexusProjectLinkResult } from '@cleocode/contracts';
37
+ import { type ProjectReplicaBinder } from './nexus-attach.js';
37
38
  import { type NexusFlowOptions } from './nexus-auth.js';
38
39
  import { type NexusDeviceStore } from './nexus-device.js';
39
40
  /** File name of the binding, inside the project's `.cleo/` directory. */
@@ -46,8 +47,14 @@ export interface NexusLinkOptions extends NexusFlowOptions {
46
47
  projectRoot?: string;
47
48
  /** Label to register (`--label`); defaults to {@link getProjectDisplayName}. */
48
49
  label?: string;
49
- /** Device store (with `CLEO_NEXUS_DEVICE=1`); defaults to `<cleoHome>/nexus-device.json`. */
50
+ /** Device store (with device credentials); defaults to `<cleoHome>/nexus-device.json`. */
50
51
  deviceStore?: NexusDeviceStore;
52
+ /** Replica binding (tests); defaults to the canonical project store. */
53
+ replicaBinder?: ProjectReplicaBinder;
54
+ /** CLEO version reported in presence; defaults to the installed one. */
55
+ cliVersion?: string;
56
+ /** `--rebind`: give this store a new replica id before attaching (see {@link attachProjectReplica}). */
57
+ rebind?: boolean;
51
58
  }
52
59
  /**
53
60
  * Validate a project label: 1-120 characters; no path separator or look-alike
@@ -1 +1 @@
1
- {"version":3,"file":"nexus-link.d.ts","sourceRoot":"","sources":["../../src/cloud/nexus-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAOpF,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIhF,yEAAyE;AACzE,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,yEAAyE;AACzE,eAAO,MAAM,eAAe,MAAM,CAAC;AAmBnC,8CAA8C;AAC9C,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB7D;AAmBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAaD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEjG;AA0CD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAsFjC"}
1
+ {"version":3,"file":"nexus-link.d.ts","sourceRoot":"","sources":["../../src/cloud/nexus-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAOpF,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAIhF,yEAAyE;AACzE,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,yEAAyE;AACzE,eAAO,MAAM,eAAe,MAAM,CAAC;AAgFnC,8CAA8C;AAC9C,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0FAA0F;IAC1F,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,wEAAwE;IACxE,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wGAAwG;IACxG,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB7D;AAmBD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEzD;AAaD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEjG;AA0CD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,sBAAsB,CAAC,CAgKjC"}