@cortexkit/antigravity-auth-core 3.0.37 → 3.0.39

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 (28) hide show
  1. package/dist/antigravity-command-menu.d.ts +2 -1
  2. package/dist/antigravity-command-menu.d.ts.map +1 -1
  3. package/dist/antigravity-command-menu.js +3 -2
  4. package/dist/antigravity-command-menu.js.map +1 -1
  5. package/dist/common-auth-embedded/claustrum/availability.d.ts +7 -1
  6. package/dist/common-auth-embedded/claustrum/availability.js +9 -1
  7. package/dist/common-auth-embedded/claustrum/custody.d.ts +11 -2
  8. package/dist/common-auth-embedded/claustrum/custody.js +89 -31
  9. package/dist/common-auth-embedded/claustrum/enrollment.d.ts +4 -0
  10. package/dist/common-auth-embedded/claustrum/enrollment.js +33 -2
  11. package/dist/common-auth-embedded/claustrum/host.js +11 -7
  12. package/dist/common-auth-embedded/claustrum/index.d.ts +1 -1
  13. package/dist/common-auth-embedded/claustrum/index.js +1 -1
  14. package/dist/common-auth-embedded/fs/lock-record.js +55 -0
  15. package/dist/common-auth-embedded/fs/refresh-file-lock.js +148 -92
  16. package/dist/common-auth-embedded/fs/with-lock.js +19 -13
  17. package/dist/common-auth-embedded/source-output.json +48 -40
  18. package/dist/model-registry.d.ts +3 -0
  19. package/dist/model-registry.d.ts.map +1 -1
  20. package/dist/model-registry.js +59 -0
  21. package/dist/model-registry.js.map +1 -1
  22. package/dist/transform/agy-generation.d.ts.map +1 -1
  23. package/dist/transform/agy-generation.js +7 -4
  24. package/dist/transform/agy-generation.js.map +1 -1
  25. package/dist/transform/model-resolver.d.ts.map +1 -1
  26. package/dist/transform/model-resolver.js +8 -3
  27. package/dist/transform/model-resolver.js.map +1 -1
  28. package/package.json +2 -2
@@ -96,7 +96,8 @@ export interface AntigravityRepositoryMenuOptions extends AntigravityMenuSharedO
96
96
  */
97
97
  readonly login?: {
98
98
  readonly label?: string;
99
- run(invocation: CommandInvocation): Promise<string | ActionOutcome>;
99
+ readonly knobs?: ActionDefinition['knobs'];
100
+ run(invocation: CommandInvocation, values: Parameters<ActionDefinition['run']>[0]['values']): Promise<string | ActionOutcome>;
100
101
  };
101
102
  /**
102
103
  * Per-account quota floors the host keeps. Without it the account items
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-command-menu.d.ts","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-command-menu.d.ts","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
@@ -178,8 +178,9 @@ function accountsSection(options, ids, now) {
178
178
  {
179
179
  id: 'add',
180
180
  label: options.login.label ?? 'Add account',
181
- run: ({ invocation }) => options.login
182
- ? options.login.run(invocation)
181
+ ...(options.login.knobs ? { knobs: options.login.knobs } : {}),
182
+ run: ({ invocation, values }) => options.login
183
+ ? options.login.run(invocation, values)
183
184
  : Promise.resolve(failure('Login is unavailable.', 'refused')),
184
185
  },
185
186
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-command-menu.js","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-command-menu.js","sourceRoot":"","sources":["../src/antigravity-command-menu.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,12 @@ export declare const VAULT_FAILURE_CLASSES: Readonly<{
85
85
  * kind stays `unavailable` for callers handling ClaustrumConsumerError.
86
86
  */
87
87
  export declare class ClaustrumUnreachableError extends ClaustrumConsumerError {
88
- constructor();
88
+ /**
89
+ * Non-secret host connection diagnostic. A missing accessor can recover
90
+ * once the host bridge installs; a failed accessor could not provide a client.
91
+ * Other unreachable failures leave this unset. Never use adapter error text.
92
+ */
93
+ readonly reason?: 'host-accessor-missing' | 'host-accessor-failed';
94
+ constructor(reason?: ClaustrumUnreachableError['reason']);
89
95
  }
90
96
  export declare function classifyVaultFailure(error: unknown): VaultFailureClass;
@@ -87,9 +87,17 @@ export const VAULT_FAILURE_CLASSES = Object.freeze({
87
87
  * kind stays `unavailable` for callers handling ClaustrumConsumerError.
88
88
  */
89
89
  export class ClaustrumUnreachableError extends ClaustrumConsumerError {
90
- constructor() {
90
+ /**
91
+ * Non-secret host connection diagnostic. A missing accessor can recover
92
+ * once the host bridge installs; a failed accessor could not provide a client.
93
+ * Other unreachable failures leave this unset. Never use adapter error text.
94
+ */
95
+ reason;
96
+ constructor(reason) {
91
97
  super('unavailable', 'Claustrum scoped operation unavailable');
92
98
  this.name = 'ClaustrumUnreachableError';
99
+ if (reason === 'host-accessor-missing' || reason === 'host-accessor-failed')
100
+ this.reason = reason;
93
101
  }
94
102
  }
95
103
  export function classifyVaultFailure(error) {
@@ -279,6 +279,15 @@ export declare class ClaustrumScopedCustody {
279
279
  setTimeoutImpl?: typeof setTimeout;
280
280
  clearTimeoutImpl?: typeof clearTimeout;
281
281
  });
282
+ /**
283
+ * Replace the connection to the same vault without discarding receipts or
284
+ * their enrollment tokens. Open roster watches restart on the new client;
285
+ * their existing handles remain usable. Passing the current client does nothing.
286
+ * Neither client is closed here: the caller closes the old one, and custody's
287
+ * close()/dispose() still closes the client it holds at shutdown.
288
+ * While hosted, next must come from connectVaultHost, as in the constructor.
289
+ */
290
+ replaceClient(next: ClaustrumScopedClient): void;
282
291
  /** A watch losing its transport is the same outage as an unreachable read. */
283
292
  transportLost(error?: unknown): void;
284
293
  /** Any vault answer ends transport fallback, even when it refuses access. */
@@ -312,8 +321,8 @@ export declare class ClaustrumScopedCustody {
312
321
  * Report that a send this consumer actually made was rejected. Only a 401
313
322
  * is reported (the vault refuses 429, 402 and 5xx reports), addressed by
314
323
  * credential id with the exact record version that send was served, and
315
- * sent through the client and enrollment token that authorized it. A receipt
316
- * this custody did not issue is refused rather than reported.
324
+ * sent through the current client with the enrollment token that authorized
325
+ * it. A receipt this custody did not issue is refused rather than reported.
317
326
  */
318
327
  reportFailure(attempt: ClaustrumScopedAttempt, status: number, reporterSource: ClaustrumReporterSource): Promise<void>;
319
328
  /**
@@ -238,8 +238,15 @@ export class ClaustrumScopedCustody {
238
238
  this.#warnShutdown = shutdownWarning(this.#logger);
239
239
  this.#setTimeout = options.setTimeoutImpl ?? setTimeout;
240
240
  this.#clearTimeout = options.clearTimeoutImpl ?? clearTimeout;
241
+ const currentClient = () => this.#client;
241
242
  this.#usage = new ScopedUsageReporter({
242
- client: this.#client,
243
+ client: {
244
+ // Queued readings follow a replacement without losing client capability checks.
245
+ get reportUsageScoped() {
246
+ const client = currentClient();
247
+ return client.reportUsageScoped?.bind(client);
248
+ },
249
+ },
243
250
  owns: (id) => this.#usageServed.has(id),
244
251
  token: async () => hasVaultHost() ? '' : checkedEnrollmentToken(await this.#readToken()),
245
252
  logger: this.#logger,
@@ -247,6 +254,24 @@ export class ClaustrumScopedCustody {
247
254
  clearTimeout: this.#clearTimeout,
248
255
  });
249
256
  }
257
+ /**
258
+ * Replace the connection to the same vault without discarding receipts or
259
+ * their enrollment tokens. Open roster watches restart on the new client;
260
+ * their existing handles remain usable. Passing the current client does nothing.
261
+ * Neither client is closed here: the caller closes the old one, and custody's
262
+ * close()/dispose() still closes the client it holds at shutdown.
263
+ * While hosted, next must come from connectVaultHost, as in the constructor.
264
+ */
265
+ replaceClient(next) {
266
+ this.#check();
267
+ if (next === this.#client)
268
+ return;
269
+ if (hasVaultHost() && !isVaultHostClient(next))
270
+ throw new ClaustrumUnreachableError();
271
+ this.#client = next;
272
+ for (const watch of this.#watches)
273
+ watch.restart();
274
+ }
250
275
  /** A watch losing its transport is the same outage as an unreachable read. */
251
276
  transportLost(error) {
252
277
  if (this.#closed || this.#outage)
@@ -255,7 +280,9 @@ export class ClaustrumScopedCustody {
255
280
  this.#outageError =
256
281
  error instanceof ClaustrumCredentialError
257
282
  ? error
258
- : new ClaustrumUnreachableError();
283
+ : new ClaustrumUnreachableError(error instanceof ClaustrumUnreachableError
284
+ ? error.reason
285
+ : undefined);
259
286
  this.#logger.warn('serving kept vault receipt', { reason: 'unreachable' });
260
287
  this.#scheduleProbe();
261
288
  }
@@ -367,7 +394,7 @@ export class ClaustrumScopedCustody {
367
394
  if (error instanceof ClaustrumCredentialError)
368
395
  throw error;
369
396
  if (classifyVaultFailure(error) === 'unreachable')
370
- throw new ClaustrumUnreachableError();
397
+ throw new ClaustrumUnreachableError(error instanceof ClaustrumUnreachableError ? error.reason : undefined);
371
398
  throw new ClaustrumConsumerError('unavailable', 'Claustrum scoped operation unavailable');
372
399
  }
373
400
  finally {
@@ -603,7 +630,7 @@ export class ClaustrumScopedCustody {
603
630
  if (kept.since === null)
604
631
  kept.since = this.#now();
605
632
  const attempt = Object.freeze(Object.defineProperty({ ...kept.attempt, fromKeptReceipt: true }, 'accessToken', { value: kept.attempt.accessToken, enumerable: false }));
606
- this.#provenance.set(attempt, this.#provenance.get(kept.attempt) ?? { token, client: this.#client });
633
+ this.#provenance.set(attempt, this.#provenance.get(kept.attempt) ?? { token });
607
634
  this.#keptAttempts.set(attempt, routeId);
608
635
  return attempt;
609
636
  }
@@ -684,15 +711,15 @@ export class ClaustrumScopedCustody {
684
711
  recordVersion: served.recordVersion,
685
712
  expiresAtMs,
686
713
  }, 'accessToken', { value: accessToken, enumerable: false }));
687
- this.#provenance.set(attempt, { token, client: this.#client });
714
+ this.#provenance.set(attempt, { token });
688
715
  return attempt;
689
716
  }
690
717
  /**
691
718
  * Report that a send this consumer actually made was rejected. Only a 401
692
719
  * is reported (the vault refuses 429, 402 and 5xx reports), addressed by
693
720
  * credential id with the exact record version that send was served, and
694
- * sent through the client and enrollment token that authorized it. A receipt
695
- * this custody did not issue is refused rather than reported.
721
+ * sent through the current client with the enrollment token that authorized
722
+ * it. A receipt this custody did not issue is refused rather than reported.
696
723
  */
697
724
  async reportFailure(attempt, status, reporterSource) {
698
725
  if (status !== 401)
@@ -719,7 +746,7 @@ export class ClaustrumScopedCustody {
719
746
  const pending = this.#reports.get(attempt);
720
747
  if (pending)
721
748
  return pending;
722
- const report = this.#call(() => provenance.client.reportAuthFailureScoped({
749
+ const report = this.#call(() => this.#client.reportAuthFailureScoped({
723
750
  credentialId: attempt.credentialId,
724
751
  enrollmentToken: provenance.token,
725
752
  providerStatus: 401,
@@ -761,36 +788,67 @@ export class ClaustrumScopedCustody {
761
788
  */
762
789
  watchRoster(options) {
763
790
  this.#check();
764
- const watch = new ScopedRosterWatch({
765
- client: this.#client,
766
- enrollmentToken: () => this.#token(),
767
- view: options.view ?? (() => this.#discoveredView),
768
- discover: async (view) => {
769
- await options.onView(view);
770
- },
771
- onRefused: (error) => {
772
- // Apply a refused watch as discover() applies a refused account
773
- // listing: every kept receipt is dropped.
774
- this.listFailed(error);
775
- options.onRefused?.(error);
791
+ const currentView = options.view ?? (() => this.#discoveredView);
792
+ let discovering;
793
+ let watch;
794
+ const create = (resubscribed = false) => {
795
+ const opened = new ScopedRosterWatch({
796
+ client: this.#client,
797
+ enrollmentToken: () => this.#token(),
798
+ // Nothing observed the gap between clients, even if the view is unchanged.
799
+ view: () => (resubscribed ? undefined : currentView()),
800
+ discover: async (view) => {
801
+ // An old watch's discovery may still be committing the host's roster.
802
+ while (discovering)
803
+ await discovering.catch(() => { });
804
+ if (watch !== opened)
805
+ return;
806
+ resubscribed = false;
807
+ discovering = Promise.resolve().then(() => options.onView(view));
808
+ try {
809
+ await discovering;
810
+ }
811
+ finally {
812
+ discovering = undefined;
813
+ }
814
+ },
815
+ onRefused: (error) => {
816
+ // Apply a refused watch as discover() applies a refused account
817
+ // listing: every kept receipt is dropped.
818
+ this.listFailed(error);
819
+ options.onRefused?.(error);
820
+ },
821
+ onTransportLost: () => this.transportLost(),
822
+ onReachable: () => this.reachable(),
823
+ onError: options.onError,
824
+ onMode: options.onMode,
825
+ logger: this.#logger,
826
+ now: this.#now,
827
+ setTimeoutImpl: this.#setTimeout,
828
+ clearTimeoutImpl: this.#clearTimeout,
829
+ });
830
+ return opened;
831
+ };
832
+ watch = create();
833
+ const tracked = {
834
+ restart: () => {
835
+ const previousMode = watch.mode;
836
+ watch.stop();
837
+ watch = create(true);
838
+ if (previousMode !== watch.mode)
839
+ options.onMode?.(watch.mode);
840
+ watch.start();
776
841
  },
777
- onTransportLost: () => this.transportLost(),
778
- onReachable: () => this.reachable(),
779
- onError: options.onError,
780
- onMode: options.onMode,
781
- logger: this.#logger,
782
- now: this.#now,
783
- setTimeoutImpl: this.#setTimeout,
784
- clearTimeoutImpl: this.#clearTimeout,
785
- });
786
- this.#watches.add(watch);
842
+ stop: () => watch.stop(),
843
+ };
844
+ this.#watches.add(tracked);
787
845
  watch.start();
788
846
  return {
789
847
  get mode() {
790
848
  return watch.mode;
791
849
  },
792
850
  close: () => {
793
- this.#watches.delete(watch);
851
+ this.#watches.delete(tracked);
794
852
  watch.stop();
795
853
  },
796
854
  };
@@ -29,10 +29,13 @@ export declare function classifyEnrollmentError(error: unknown): {
29
29
  * Each host enrolls separately so the operator can revoke one without the other.
30
30
  */
31
31
  export declare function enrollmentName(plugin: string, host: string): string;
32
+ /** Match the vault's plain-text, code-point limit before proposing a display name. */
33
+ export declare function validEnrollmentDisplayName(displayName: string): boolean;
32
34
  export interface ClaustrumEnrollmentClient {
33
35
  enrollPropose(input: {
34
36
  name: string;
35
37
  requestSecretHash: string;
38
+ displayName?: string;
36
39
  }): Promise<{
37
40
  requestId: string;
38
41
  }>;
@@ -142,6 +145,7 @@ export declare class ClaustrumEnrollmentManager {
142
145
  client: ClaustrumEnrollmentClient;
143
146
  paths: ClaustrumEnrollmentPaths;
144
147
  proposedName: string;
148
+ displayName?: string;
145
149
  now?: () => number;
146
150
  mintSecret?: () => string;
147
151
  writeTokenFile?: typeof writeEnrollmentTokenFile;
@@ -68,6 +68,13 @@ export function enrollmentName(plugin, host) {
68
68
  throw new ClaustrumConsumerError('invalid-state', 'Claustrum enrollment names use lowercase letters, digits and dashes');
69
69
  return `${plugin}-${host}`;
70
70
  }
71
+ /** Match the vault's plain-text, code-point limit before proposing a display name. */
72
+ export function validEnrollmentDisplayName(displayName) {
73
+ const length = Array.from(displayName).length;
74
+ return (length >= 1 &&
75
+ length <= 40 &&
76
+ !/[\p{Cc}\u061c\u200e\u200f\u202a-\u202e\u2066-\u2069\u200b-\u200d\u2060\ufeff]/u.test(displayName));
77
+ }
71
78
  /**
72
79
  * Connect the enrollment ceremony. Setup calls this; the request path never
73
80
  * does. `connectionFile` is required because this library reads no
@@ -559,15 +566,20 @@ export class ClaustrumEnrollmentManager {
559
566
  #client;
560
567
  #paths;
561
568
  #proposedName;
569
+ #displayName;
562
570
  #now;
563
571
  #mintSecret;
564
572
  #writeTokenFile;
565
573
  #ancestorOptions;
566
574
  constructor(options) {
575
+ if (options.displayName !== undefined &&
576
+ !validEnrollmentDisplayName(options.displayName))
577
+ throw new ClaustrumConsumerError('invalid-state', 'invalid Claustrum enrollment display name');
567
578
  this.#ancestorOptions = options.ancestorOptions ?? {};
568
579
  this.#client = options.client;
569
580
  this.#paths = options.paths;
570
581
  this.#proposedName = options.proposedName;
582
+ this.#displayName = options.displayName;
571
583
  this.#now = options.now ?? Date.now;
572
584
  this.#mintSecret =
573
585
  options.mintSecret ?? (() => randomBytes(32).toString('hex'));
@@ -665,10 +677,29 @@ export class ClaustrumEnrollmentManager {
665
677
  const requestSecretHash = createHash('sha256')
666
678
  .update(Buffer.from(state.requestSecret, 'hex'))
667
679
  .digest('hex');
668
- const proposed = await this.#client.enrollPropose({
680
+ const proposal = {
669
681
  name: state.proposedName,
670
682
  requestSecretHash,
671
- });
683
+ };
684
+ let proposed;
685
+ try {
686
+ proposed = await this.#client.enrollPropose({
687
+ ...proposal,
688
+ ...(this.#displayName !== undefined && {
689
+ displayName: this.#displayName,
690
+ }),
691
+ });
692
+ }
693
+ catch (error) {
694
+ if (this.#displayName === undefined ||
695
+ !(error instanceof ClaustrumCredentialError) ||
696
+ error.code !== 'invalid_params')
697
+ throw error;
698
+ // Locally validated names can only be refused by vaults that do
699
+ // not support displayName. A refused proposal stores nothing, so
700
+ // retry once with the same hash and let normal handling decide.
701
+ proposed = await this.#client.enrollPropose(proposal);
702
+ }
672
703
  state = {
673
704
  ...state,
674
705
  requestId: proposed.requestId,
@@ -29,7 +29,10 @@ function hostError(error) {
29
29
  (typeof value.code === 'string' &&
30
30
  classifyVaultFailure(Object.assign(new Error(), { code: value.code })) ===
31
31
  'unreachable'))
32
- return new ClaustrumUnreachableError();
32
+ return new ClaustrumUnreachableError(value.reason === 'host-accessor-missing' ||
33
+ value.reason === 'host-accessor-failed'
34
+ ? value.reason
35
+ : undefined);
33
36
  return error;
34
37
  }
35
38
  function call(operation) {
@@ -101,13 +104,14 @@ export function connectVaultHost(pluginId) {
101
104
  throw new ClaustrumUnreachableError();
102
105
  try {
103
106
  const accessor = globalThis[Symbol.for('cortexkit.vault')];
104
- if (typeof accessor !== 'function')
105
- throw new ClaustrumUnreachableError();
106
- const client = wrapHostClient(accessor(pluginId));
107
- hostClients.add(client);
108
- return client;
107
+ if (typeof accessor === 'function') {
108
+ const client = wrapHostClient(accessor(pluginId));
109
+ hostClients.add(client);
110
+ return client;
111
+ }
109
112
  }
110
113
  catch {
111
- throw new ClaustrumUnreachableError();
114
+ throw new ClaustrumUnreachableError('host-accessor-failed');
112
115
  }
116
+ throw new ClaustrumUnreachableError('host-accessor-missing');
113
117
  }
@@ -4,7 +4,7 @@ export { ClaustrumCredentialError, type ClaustrumReporterSource, type Enrollment
4
4
  export { ClaustrumUnreachableError, classifyVaultFailure, VAULT_FAILURE_CLASSES, type VaultFailureClass, } from './availability.js';
5
5
  export { ClaustrumConsumer, type ClaustrumConsumerOptions, type ClaustrumWatchState, DEFAULT_CONNECT_TIMEOUT_MS, type SendOptions, } from './consumer.js';
6
6
  export { type AccountIdentitySource, type ClassifyingClaustrumFamily, type ClaustrumFamily, type ClaustrumFamilyInput, type ClaustrumRosterWatch, type ClaustrumRosterWatchOptions, type ClaustrumScopedAttempt, type ClaustrumScopedClient, ClaustrumScopedCustody, type ClaustrumScopedIdentity, decideScopedRetryAfter401, type IdentityParser, isScopedCredentialRotation, KEPT_RECEIPT_MARGIN_MS, type KeptReceiptState, type ScopedRetryReason, SERVING_MARGIN_MS, type SkippedVaultReason, type SkippedVaultRecord, type VaultCredential, type VaultCredentialType, type VaultGrantReach, type VaultGrantTuple, type VaultInventory, type VaultRowFacts, } from './custody.js';
7
- export { type ClaustrumEnrollmentClient, type ClaustrumEnrollmentConnection, type ClaustrumEnrollmentDisconnectResult, ClaustrumEnrollmentManager, type ClaustrumEnrollmentPaths, type ClaustrumEnrollmentResetResult, type ClaustrumEnrollmentStatus, classifyEnrollmentError, connectClaustrumEnrollmentClient, disconnectClaustrumEnrollment, type EnrollmentDisposition, enrollmentAuthority, enrollmentName, getClaustrumEnrollmentPaths, hostEnrollmentPaths, RETRYABLE_ENROLLMENT_CODES, readClaustrumEnrollmentStatus, readClaustrumEnrollmentToken, resetClaustrumEnrollmentState, TERMINAL_ENROLLMENT_CODES, vaultAuthority, } from './enrollment.js';
7
+ export { type ClaustrumEnrollmentClient, type ClaustrumEnrollmentConnection, type ClaustrumEnrollmentDisconnectResult, ClaustrumEnrollmentManager, type ClaustrumEnrollmentPaths, type ClaustrumEnrollmentResetResult, type ClaustrumEnrollmentStatus, classifyEnrollmentError, connectClaustrumEnrollmentClient, disconnectClaustrumEnrollment, type EnrollmentDisposition, enrollmentAuthority, enrollmentName, getClaustrumEnrollmentPaths, hostEnrollmentPaths, RETRYABLE_ENROLLMENT_CODES, readClaustrumEnrollmentStatus, readClaustrumEnrollmentToken, resetClaustrumEnrollmentState, TERMINAL_ENROLLMENT_CODES, validEnrollmentDisplayName, vaultAuthority, } from './enrollment.js';
8
8
  export { ClaustrumConsumerError, type ClaustrumConsumerFailureKind, type ClaustrumLogger, } from './errors.js';
9
9
  export { connectVaultHost, hasVaultHost, VAULT_HOST_CONNECT_REFUSAL, VAULT_HOST_STATUS, } from './host.js';
10
10
  export { assertHostSlotMatchesMode, assertNotCustodyPlaceholder, CUSTODY_PLACEHOLDER_PREFIX, classifyHostSlot, custodyPlaceholder, custodyPlaceholderKey, type HostSlotContent, isCustodyPlaceholder, isCustodyPlaceholderValue, } from './host-slot.js';
@@ -10,7 +10,7 @@ export { ClaustrumCredentialError, } from '@cortexkit/claustrum-client';
10
10
  export { ClaustrumUnreachableError, classifyVaultFailure, VAULT_FAILURE_CLASSES, } from './availability.js';
11
11
  export { ClaustrumConsumer, DEFAULT_CONNECT_TIMEOUT_MS, } from './consumer.js';
12
12
  export { ClaustrumScopedCustody, decideScopedRetryAfter401, isScopedCredentialRotation, KEPT_RECEIPT_MARGIN_MS, SERVING_MARGIN_MS, } from './custody.js';
13
- export { ClaustrumEnrollmentManager, classifyEnrollmentError, connectClaustrumEnrollmentClient, disconnectClaustrumEnrollment, enrollmentAuthority, enrollmentName, getClaustrumEnrollmentPaths, hostEnrollmentPaths, RETRYABLE_ENROLLMENT_CODES, readClaustrumEnrollmentStatus, readClaustrumEnrollmentToken, resetClaustrumEnrollmentState, TERMINAL_ENROLLMENT_CODES, vaultAuthority, } from './enrollment.js';
13
+ export { ClaustrumEnrollmentManager, classifyEnrollmentError, connectClaustrumEnrollmentClient, disconnectClaustrumEnrollment, enrollmentAuthority, enrollmentName, getClaustrumEnrollmentPaths, hostEnrollmentPaths, RETRYABLE_ENROLLMENT_CODES, readClaustrumEnrollmentStatus, readClaustrumEnrollmentToken, resetClaustrumEnrollmentState, TERMINAL_ENROLLMENT_CODES, validEnrollmentDisplayName, vaultAuthority, } from './enrollment.js';
14
14
  export { ClaustrumConsumerError, } from './errors.js';
15
15
  export { connectVaultHost, hasVaultHost, VAULT_HOST_CONNECT_REFUSAL, VAULT_HOST_STATUS, } from './host.js';
16
16
  export { assertHostSlotMatchesMode, assertNotCustodyPlaceholder, CUSTODY_PLACEHOLDER_PREFIX, classifyHostSlot, custodyPlaceholder, custodyPlaceholderKey, isCustodyPlaceholder, isCustodyPlaceholderValue, } from './host-slot.js';
@@ -0,0 +1,55 @@
1
+ import { resolve } from 'node:path';
2
+ import { PrivateFileError } from './private-files.js';
3
+ /** A failed open is not evidence of deletion until the same path disappears. */
4
+ export class DisappearedLockRecordError extends Error {
5
+ path;
6
+ code = 'ENOENT';
7
+ constructor(path, cause) {
8
+ super(`Lock record disappeared: ${path}`, { cause });
9
+ this.path = path;
10
+ }
11
+ }
12
+ export function isWindowsAccessDeniedRead(error, paths) {
13
+ return (error instanceof PrivateFileError &&
14
+ error.reason === 'io-error' &&
15
+ error.win32Code === 5 &&
16
+ (error.stage === 'read' || error.stage === 'verify') &&
17
+ paths.some((path) => resolve(path) === error.path));
18
+ }
19
+ /**
20
+ * An exclusive create at the lock or eviction-directory name can fail with
21
+ * ACCESS_DENIED (5) while a holder's delete of that name is still pending. No
22
+ * reread settles a create refusal, so callers retry only under their existing
23
+ * bound and never infer staleness from it. owner.json is deliberately not a
24
+ * candidate: a marker directory created exclusively a moment ago cannot hold a
25
+ * delete-pending old owner.json, so a 5 there is a real refusal and the caller
26
+ * removes the directory it just created.
27
+ */
28
+ export function isWindowsAccessDeniedCreate(error, paths, stage) {
29
+ return (error instanceof PrivateFileError &&
30
+ error.reason === 'io-error' &&
31
+ error.win32Code === 5 &&
32
+ error.stage === stage &&
33
+ paths.some((path) => resolve(path) === error.path));
34
+ }
35
+ export async function readLockRecord(path, read) {
36
+ try {
37
+ return await read();
38
+ }
39
+ catch (error) {
40
+ if (!isWindowsAccessDeniedRead(error, [path]))
41
+ throw error;
42
+ // Windows commonly maps STATUS_DELETE_PENDING to ACCESS_DENIED (5),
43
+ // which can also mean a permission refusal, not a sharing violation.
44
+ // Only a successful fresh read or ENOENT resolves that ambiguity. A
45
+ // persistent refusal escapes to the caller's existing deadline/backoff.
46
+ try {
47
+ return await read();
48
+ }
49
+ catch (recheckError) {
50
+ if (recheckError.code === 'ENOENT')
51
+ throw new DisappearedLockRecordError(path, error);
52
+ throw error;
53
+ }
54
+ }
55
+ }