@jr200-labs/xstate-nats 0.9.21 → 0.9.23

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 (43) hide show
  1. package/README.md +75 -10
  2. package/dist/actions/connection.d.ts +2 -0
  3. package/dist/actions/connection.d.ts.map +1 -1
  4. package/dist/actions/connection.js +20 -9
  5. package/dist/actions/connection.js.map +1 -1
  6. package/dist/actions/subject.d.ts +5 -1
  7. package/dist/actions/subject.d.ts.map +1 -1
  8. package/dist/actions/subject.js +60 -16
  9. package/dist/actions/subject.js.map +1 -1
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/machines/credentials.d.ts +112 -0
  15. package/dist/machines/credentials.d.ts.map +1 -0
  16. package/dist/machines/credentials.js +252 -0
  17. package/dist/machines/credentials.js.map +1 -0
  18. package/dist/machines/root.d.ts +190 -3
  19. package/dist/machines/root.d.ts.map +1 -1
  20. package/dist/machines/root.js +107 -13
  21. package/dist/machines/root.js.map +1 -1
  22. package/dist/machines/subject.d.ts +7 -2
  23. package/dist/machines/subject.d.ts.map +1 -1
  24. package/dist/machines/subject.js +11 -1
  25. package/dist/machines/subject.js.map +1 -1
  26. package/dist/telemetry.d.ts +2 -0
  27. package/dist/telemetry.d.ts.map +1 -1
  28. package/dist/telemetry.js +18 -1
  29. package/dist/telemetry.js.map +1 -1
  30. package/package.json +17 -19
  31. package/src/actions/connection.test.ts +62 -7
  32. package/src/actions/connection.ts +28 -8
  33. package/src/actions/subject.test.ts +120 -0
  34. package/src/actions/subject.ts +79 -19
  35. package/src/index.ts +9 -0
  36. package/src/machines/credentials.telemetry.test.ts +66 -0
  37. package/src/machines/credentials.test.ts +175 -0
  38. package/src/machines/credentials.ts +320 -0
  39. package/src/machines/root.test.ts +88 -1
  40. package/src/machines/root.ts +115 -13
  41. package/src/machines/subject.test.ts +60 -0
  42. package/src/machines/subject.ts +18 -1
  43. package/src/telemetry.ts +35 -1
@@ -0,0 +1,252 @@
1
+ import { deadline } from '@nats-io/nats-core';
2
+ import { assign, fromPromise, setup } from 'xstate';
3
+ import { recordCredentialOperation, recordCredentialState, withSpan } from '../telemetry';
4
+ function asError(error) {
5
+ return error instanceof Error ? error : new Error(String(error));
6
+ }
7
+ function operationTimeout(config) {
8
+ return config.operationTimeoutMs ?? 30_000;
9
+ }
10
+ function refreshBeforeExpiry(config) {
11
+ return config.refreshBeforeExpiryMs ?? 60_000;
12
+ }
13
+ function credentialDiagnostic(config, event, attributes) {
14
+ if (config.diagnostics)
15
+ console.debug('xstate-nats credentials', { event, ...attributes });
16
+ }
17
+ async function runCredentialOperation(config, operation, fn) {
18
+ const timeout = operationTimeout(config);
19
+ const startedAt = performance.now();
20
+ credentialDiagnostic(config, 'operation.start', { operation, timeout_ms: timeout });
21
+ let originalError;
22
+ try {
23
+ const result = await withSpan(`xstate.nats.credentials.${operation}`, 'xstate.nats.credentials.error', { 'credentials.operation': operation, 'credentials.timeout.ms': timeout }, async (span) => {
24
+ try {
25
+ const value = await deadline(Promise.resolve().then(fn), timeout);
26
+ span.setAttribute('credentials.outcome', 'success');
27
+ return value;
28
+ }
29
+ catch (error) {
30
+ originalError = error;
31
+ span.setAttribute('credentials.outcome', 'error');
32
+ // Keep provider error messages, stacks, tokens, and claims out of traces.
33
+ throw new Error(`NATS credential ${operation} failed`);
34
+ }
35
+ });
36
+ const durationMs = performance.now() - startedAt;
37
+ recordCredentialOperation(operation, 'success', durationMs);
38
+ credentialDiagnostic(config, 'operation.finish', {
39
+ operation,
40
+ outcome: 'success',
41
+ duration_ms: durationMs,
42
+ });
43
+ return result;
44
+ }
45
+ catch {
46
+ const durationMs = performance.now() - startedAt;
47
+ recordCredentialOperation(operation, 'error', durationMs);
48
+ credentialDiagnostic(config, 'operation.finish', {
49
+ operation,
50
+ outcome: 'error',
51
+ duration_ms: durationMs,
52
+ });
53
+ throw originalError ?? new Error(`NATS credential ${operation} failed`);
54
+ }
55
+ }
56
+ function credentialStateEntry(state) {
57
+ return ({ context }) => {
58
+ recordCredentialState(state);
59
+ credentialDiagnostic(context.config, 'state.enter', {
60
+ state,
61
+ pending_waiters: context.waiters.length,
62
+ });
63
+ };
64
+ }
65
+ function notify(waiter, result) {
66
+ try {
67
+ waiter(result);
68
+ }
69
+ catch (error) {
70
+ console.error('NATS credential waiter failed', error);
71
+ }
72
+ }
73
+ export const credentialMachine = setup({
74
+ types: {
75
+ context: {},
76
+ events: {},
77
+ input: {},
78
+ },
79
+ actors: {
80
+ load: fromPromise(({ input }) => runCredentialOperation(input, 'load', input.adapter.load)),
81
+ refresh: fromPromise(({ input }) => {
82
+ const refresh = input.config.adapter.refresh;
83
+ if (!refresh)
84
+ throw new Error('NATS credentials cannot be refreshed');
85
+ return runCredentialOperation(input.config, 'refresh', async () => {
86
+ const credentials = await refresh(input.current);
87
+ const expiresAt = credentials.expiresAt;
88
+ if (expiresAt !== undefined &&
89
+ expiresAt - refreshBeforeExpiry(input.config) <= Date.now()) {
90
+ throw new Error('Refreshed NATS credentials are already expired or too close to expiry');
91
+ }
92
+ return credentials;
93
+ });
94
+ }),
95
+ },
96
+ delays: {
97
+ credentialDeadline: ({ context }) => {
98
+ const expiresAt = context.current?.expiresAt;
99
+ if (expiresAt === undefined)
100
+ return 2_147_483_647;
101
+ const advance = context.config.adapter.refresh ? refreshBeforeExpiry(context.config) : 0;
102
+ return Math.max(0, expiresAt - advance - Date.now());
103
+ },
104
+ },
105
+ guards: {
106
+ canRefresh: ({ context }) => Boolean(context.current && context.config.adapter.refresh),
107
+ hasExpiry: ({ context }) => context.current?.expiresAt !== undefined,
108
+ shouldRefreshNow: ({ context }) => {
109
+ const expiresAt = context.current?.expiresAt;
110
+ return Boolean(context.config.adapter.refresh &&
111
+ expiresAt !== undefined &&
112
+ expiresAt - refreshBeforeExpiry(context.config) <= Date.now());
113
+ },
114
+ isExpired: ({ context }) => {
115
+ const expiresAt = context.current?.expiresAt;
116
+ return expiresAt !== undefined && expiresAt <= Date.now();
117
+ },
118
+ outputShouldRefresh: ({ context, event }) => {
119
+ if (!('output' in event) || !context.config.adapter.refresh)
120
+ return false;
121
+ const expiresAt = event.output.expiresAt;
122
+ return (expiresAt !== undefined && expiresAt - refreshBeforeExpiry(context.config) <= Date.now());
123
+ },
124
+ outputExpired: ({ event }) => {
125
+ if (!('output' in event))
126
+ return false;
127
+ const expiresAt = event.output.expiresAt;
128
+ return expiresAt !== undefined && expiresAt <= Date.now();
129
+ },
130
+ },
131
+ actions: {
132
+ queue: assign({
133
+ waiters: ({ context, event }) => event.type === 'CREDENTIALS.GET' ? [...context.waiters, event.reply] : context.waiters,
134
+ }),
135
+ replyReady: ({ context, event }) => {
136
+ if (event.type === 'CREDENTIALS.GET' && context.current) {
137
+ notify(event.reply, { ok: true, credentials: context.current });
138
+ }
139
+ },
140
+ acceptCredentials: assign(({ context, event }) => {
141
+ if (!('output' in event))
142
+ return {};
143
+ const credentials = event.output;
144
+ context.waiters.forEach((waiter) => notify(waiter, { ok: true, credentials }));
145
+ return { current: credentials, waiters: [], error: undefined };
146
+ }),
147
+ storeCredentials: assign(({ event }) => 'output' in event ? { current: event.output, error: undefined } : {}),
148
+ rejectWaiters: assign(({ context, event }) => {
149
+ const error = 'error' in event
150
+ ? asError(event.error)
151
+ : (context.error ?? new Error('NATS credentials are unavailable'));
152
+ context.waiters.forEach((waiter) => notify(waiter, { ok: false, error }));
153
+ return { waiters: [], error };
154
+ }),
155
+ markExpired: assign({
156
+ error: (_) => new Error('NATS credentials expired'),
157
+ }),
158
+ notifyUnavailable: ({ context }) => {
159
+ const error = context.error ?? new Error('NATS credentials are unavailable');
160
+ try {
161
+ context.config.onUnavailable?.(error);
162
+ }
163
+ catch (callbackError) {
164
+ console.error('NATS credential unavailable callback failed', callbackError);
165
+ }
166
+ },
167
+ },
168
+ }).createMachine({
169
+ id: 'credentials',
170
+ initial: 'loading',
171
+ context: ({ input }) => ({ config: input, waiters: [] }),
172
+ states: {
173
+ loading: {
174
+ entry: credentialStateEntry('loading'),
175
+ on: {
176
+ 'CREDENTIALS.GET': { actions: 'queue' },
177
+ },
178
+ invoke: {
179
+ src: 'load',
180
+ input: ({ context }) => context.config,
181
+ onDone: [
182
+ { guard: 'outputShouldRefresh', target: 'refreshing', actions: 'storeCredentials' },
183
+ { guard: 'outputExpired', target: 'expired', actions: 'storeCredentials' },
184
+ { target: 'ready', actions: 'acceptCredentials' },
185
+ ],
186
+ onError: { target: 'failed', actions: 'rejectWaiters' },
187
+ },
188
+ },
189
+ ready: {
190
+ entry: credentialStateEntry('ready'),
191
+ after: {
192
+ credentialDeadline: [
193
+ { guard: 'canRefresh', target: 'refreshing' },
194
+ { guard: 'hasExpiry', target: 'expired' },
195
+ ],
196
+ },
197
+ on: {
198
+ 'CREDENTIALS.GET': [
199
+ { guard: 'shouldRefreshNow', target: 'refreshing', actions: 'queue' },
200
+ { guard: 'isExpired', target: 'expired', actions: 'queue' },
201
+ { actions: 'replyReady' },
202
+ ],
203
+ 'CREDENTIALS.RELOAD': { target: 'loading' },
204
+ },
205
+ },
206
+ refreshing: {
207
+ entry: credentialStateEntry('refreshing'),
208
+ on: {
209
+ 'CREDENTIALS.GET': { actions: 'queue' },
210
+ },
211
+ invoke: {
212
+ src: 'refresh',
213
+ input: ({ context }) => ({ config: context.config, current: context.current }),
214
+ onDone: { target: 'ready', actions: 'acceptCredentials' },
215
+ onError: { target: 'failed', actions: 'rejectWaiters' },
216
+ },
217
+ },
218
+ expired: {
219
+ entry: [credentialStateEntry('expired'), 'markExpired', 'rejectWaiters', 'notifyUnavailable'],
220
+ on: {
221
+ 'CREDENTIALS.GET': {
222
+ actions: ({ event }) => notify(event.reply, { ok: false, error: new Error('NATS credentials expired') }),
223
+ },
224
+ 'CREDENTIALS.RELOAD': { target: 'loading' },
225
+ },
226
+ },
227
+ failed: {
228
+ entry: [credentialStateEntry('failed'), 'notifyUnavailable'],
229
+ on: {
230
+ 'CREDENTIALS.GET': {
231
+ actions: ({ context, event }) => notify(event.reply, {
232
+ ok: false,
233
+ error: context.error ?? new Error('NATS credentials are unavailable'),
234
+ }),
235
+ },
236
+ 'CREDENTIALS.RELOAD': { target: 'loading' },
237
+ },
238
+ },
239
+ },
240
+ });
241
+ export function getCredentials(actor) {
242
+ if (actor.getSnapshot().status === 'stopped') {
243
+ return Promise.reject(new Error('NATS credential actor is stopped'));
244
+ }
245
+ return new Promise((resolve, reject) => {
246
+ actor.send({
247
+ type: 'CREDENTIALS.GET',
248
+ reply: (result) => (result.ok ? resolve(result.credentials) : reject(result.error)),
249
+ });
250
+ });
251
+ }
252
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/machines/credentials.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,14 @@ import { ExternalEvents as SubjectExternalEvents } from './subject';
4
4
  import { type AuthConfig } from '../actions/types';
5
5
  import { InternalStatusEvents as NatsStatusEvents } from '../actions/connection';
6
6
  import { NatsTrafficResetEvent } from '../traffic';
7
+ import { CredentialActor, NatsCredentialConfig } from './credentials';
7
8
  export interface NatsDiagnosticsConfig {
8
9
  lifecycle?: boolean;
9
10
  }
10
11
  export interface NatsConnectionConfig {
11
12
  opts: ConnectionOptions;
12
13
  auth?: AuthConfig;
14
+ credentials?: NatsCredentialConfig;
13
15
  maxRetries: number;
14
16
  diagnostics?: NatsDiagnosticsConfig;
15
17
  }
@@ -22,6 +24,7 @@ export interface Context {
22
24
  kvManagerReady: boolean;
23
25
  configureAfterClose: boolean;
24
26
  connectAfterClose: boolean;
27
+ credentialActor?: CredentialActor;
25
28
  }
26
29
  export type ExternalEvents = {
27
30
  type: 'CONFIGURE';
@@ -32,6 +35,8 @@ export type ExternalEvents = {
32
35
  type: 'DISCONNECT';
33
36
  } | {
34
37
  type: 'RESET';
38
+ } | {
39
+ type: 'CREDENTIALS.RELOAD';
35
40
  } | NatsTrafficResetEvent | SubjectExternalEvents | KvExternalEvents;
36
41
  export declare const natsMachine: import("xstate").StateMachine<Context, {
37
42
  type: 'METRICS.RESET_UPLOAD';
@@ -150,6 +155,7 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
150
155
  opts?: import("@nats-io/nats-core").RequestOptions;
151
156
  callback: (data: any) => void;
152
157
  onRequestResult?: (result: import("../actions/subject").RequestResult) => void;
158
+ requestHeaders?: () => Promise<import("@nats-io/nats-core").MsgHdrs | undefined>;
153
159
  } | {
154
160
  type: 'SUBJECT.SUBSCRIBE';
155
161
  config: import("../actions/subject").SubjectSubscriptionConfig;
@@ -170,6 +176,9 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
170
176
  type: 'RECONNECT';
171
177
  } | {
172
178
  type: 'CLOSE';
179
+ } | {
180
+ type: 'CREDENTIALS.UNAVAILABLE';
181
+ error: Error;
173
182
  } | {
174
183
  type: 'CONFIGURE';
175
184
  config: NatsConnectionConfig;
@@ -179,14 +188,92 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
179
188
  type: 'DISCONNECT';
180
189
  } | {
181
190
  type: 'RESET';
191
+ } | {
192
+ type: 'CREDENTIALS.RELOAD';
182
193
  }, {
183
194
  [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<void, {
184
195
  connection: NatsConnection | null;
185
196
  }, import("xstate").EventObject> | import("xstate").PromiseActorLogic<NatsConnection, {
186
197
  opts: ConnectionOptions;
187
198
  auth?: AuthConfig;
199
+ credentialActor?: CredentialActor;
188
200
  onStatus?: (event: NatsStatusEvents) => void;
189
- }, import("xstate").EventObject>> | undefined;
201
+ }, import("xstate").EventObject> | import("xstate").StateMachine<import("./credentials").CredentialContext, {
202
+ type: 'CREDENTIALS.GET';
203
+ reply: (result: {
204
+ ok: true;
205
+ credentials: import("./credentials").NatsCredentials;
206
+ } | {
207
+ ok: false;
208
+ error: Error;
209
+ }) => void;
210
+ } | {
211
+ type: 'CREDENTIALS.RELOAD';
212
+ }, {
213
+ [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, NatsCredentialConfig, import("xstate").EventObject> | import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, {
214
+ config: NatsCredentialConfig;
215
+ current: import("./credentials").NatsCredentials;
216
+ }, import("xstate").EventObject>> | undefined;
217
+ }, {
218
+ src: "load";
219
+ logic: import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, NatsCredentialConfig, import("xstate").EventObject>;
220
+ id: string | undefined;
221
+ } | {
222
+ src: "refresh";
223
+ logic: import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, {
224
+ config: NatsCredentialConfig;
225
+ current: import("./credentials").NatsCredentials;
226
+ }, import("xstate").EventObject>;
227
+ id: string | undefined;
228
+ }, {
229
+ type: "acceptCredentials";
230
+ params: import("xstate").NonReducibleUnknown;
231
+ } | {
232
+ type: "markExpired";
233
+ params: import("xstate").NonReducibleUnknown;
234
+ } | {
235
+ type: "notifyUnavailable";
236
+ params: unknown;
237
+ } | {
238
+ type: "queue";
239
+ params: import("xstate").NonReducibleUnknown;
240
+ } | {
241
+ type: "rejectWaiters";
242
+ params: import("xstate").NonReducibleUnknown;
243
+ } | {
244
+ type: "replyReady";
245
+ params: unknown;
246
+ } | {
247
+ type: "storeCredentials";
248
+ params: import("xstate").NonReducibleUnknown;
249
+ }, {
250
+ type: "canRefresh";
251
+ params: unknown;
252
+ } | {
253
+ type: "hasExpiry";
254
+ params: unknown;
255
+ } | {
256
+ type: "isExpired";
257
+ params: unknown;
258
+ } | {
259
+ type: "outputExpired";
260
+ params: unknown;
261
+ } | {
262
+ type: "outputShouldRefresh";
263
+ params: unknown;
264
+ } | {
265
+ type: "shouldRefreshNow";
266
+ params: unknown;
267
+ }, "credentialDeadline", "expired" | "failed" | "loading" | "ready" | "refreshing", string, NatsCredentialConfig, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
268
+ id: "credentials";
269
+ states: {
270
+ readonly loading: {};
271
+ readonly ready: {};
272
+ readonly refreshing: {};
273
+ readonly expired: {};
274
+ readonly failed: {};
275
+ };
276
+ }>> | undefined;
190
277
  kv?: import("xstate").ActorRefFromLogic<import("xstate").StateMachine<import("./kv").Context, import("..").NatsTrafficRecordEvent | {
191
278
  type: 'METRICS.RESET_UPLOAD';
192
279
  source?: import("..").NatsTrafficMetricSource;
@@ -337,6 +424,7 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
337
424
  opts?: import("@nats-io/nats-core").RequestOptions;
338
425
  callback: (data: any) => void;
339
426
  onRequestResult?: (result: import("../actions/subject").RequestResult) => void;
427
+ requestHeaders?: () => Promise<import("@nats-io/nats-core").MsgHdrs | undefined>;
340
428
  } | {
341
429
  type: 'SUBJECT.SUBSCRIBE';
342
430
  config: import("../actions/subject").SubjectSubscriptionConfig;
@@ -345,7 +433,10 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
345
433
  subject: string;
346
434
  } | {
347
435
  type: 'SUBJECT.UNSUBSCRIBE_ALL';
348
- }, {}, never, never, {
436
+ }, {}, never, {
437
+ type: "rejectUnavailableRequest";
438
+ params: unknown;
439
+ }, {
349
440
  type: "hasPendingSync";
350
441
  params: unknown;
351
442
  }, never, "subject_check_sync" | "subject_connected" | "subject_disconnecting" | "subject_error" | "subject_idle" | "subject_syncing", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
@@ -363,9 +454,89 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
363
454
  logic: import("xstate").PromiseActorLogic<NatsConnection, {
364
455
  opts: ConnectionOptions;
365
456
  auth?: AuthConfig;
457
+ credentialActor?: CredentialActor;
366
458
  onStatus?: (event: NatsStatusEvents) => void;
367
459
  }, import("xstate").EventObject>;
368
460
  id: string | undefined;
461
+ } | {
462
+ src: "credentials";
463
+ logic: import("xstate").StateMachine<import("./credentials").CredentialContext, {
464
+ type: 'CREDENTIALS.GET';
465
+ reply: (result: {
466
+ ok: true;
467
+ credentials: import("./credentials").NatsCredentials;
468
+ } | {
469
+ ok: false;
470
+ error: Error;
471
+ }) => void;
472
+ } | {
473
+ type: 'CREDENTIALS.RELOAD';
474
+ }, {
475
+ [x: string]: import("xstate").ActorRefFromLogic<import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, NatsCredentialConfig, import("xstate").EventObject> | import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, {
476
+ config: NatsCredentialConfig;
477
+ current: import("./credentials").NatsCredentials;
478
+ }, import("xstate").EventObject>> | undefined;
479
+ }, {
480
+ src: "load";
481
+ logic: import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, NatsCredentialConfig, import("xstate").EventObject>;
482
+ id: string | undefined;
483
+ } | {
484
+ src: "refresh";
485
+ logic: import("xstate").PromiseActorLogic<import("./credentials").NatsCredentials, {
486
+ config: NatsCredentialConfig;
487
+ current: import("./credentials").NatsCredentials;
488
+ }, import("xstate").EventObject>;
489
+ id: string | undefined;
490
+ }, {
491
+ type: "acceptCredentials";
492
+ params: import("xstate").NonReducibleUnknown;
493
+ } | {
494
+ type: "markExpired";
495
+ params: import("xstate").NonReducibleUnknown;
496
+ } | {
497
+ type: "notifyUnavailable";
498
+ params: unknown;
499
+ } | {
500
+ type: "queue";
501
+ params: import("xstate").NonReducibleUnknown;
502
+ } | {
503
+ type: "rejectWaiters";
504
+ params: import("xstate").NonReducibleUnknown;
505
+ } | {
506
+ type: "replyReady";
507
+ params: unknown;
508
+ } | {
509
+ type: "storeCredentials";
510
+ params: import("xstate").NonReducibleUnknown;
511
+ }, {
512
+ type: "canRefresh";
513
+ params: unknown;
514
+ } | {
515
+ type: "hasExpiry";
516
+ params: unknown;
517
+ } | {
518
+ type: "isExpired";
519
+ params: unknown;
520
+ } | {
521
+ type: "outputExpired";
522
+ params: unknown;
523
+ } | {
524
+ type: "outputShouldRefresh";
525
+ params: unknown;
526
+ } | {
527
+ type: "shouldRefreshNow";
528
+ params: unknown;
529
+ }, "credentialDeadline", "expired" | "failed" | "loading" | "ready" | "refreshing", string, NatsCredentialConfig, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
530
+ id: "credentials";
531
+ states: {
532
+ readonly loading: {};
533
+ readonly ready: {};
534
+ readonly refreshing: {};
535
+ readonly expired: {};
536
+ readonly failed: {};
537
+ };
538
+ }>;
539
+ id: string | undefined;
369
540
  } | {
370
541
  src: "disconnectNats";
371
542
  logic: import("xstate").PromiseActorLogic<void, {
@@ -527,6 +698,7 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
527
698
  opts?: import("@nats-io/nats-core").RequestOptions;
528
699
  callback: (data: any) => void;
529
700
  onRequestResult?: (result: import("../actions/subject").RequestResult) => void;
701
+ requestHeaders?: () => Promise<import("@nats-io/nats-core").MsgHdrs | undefined>;
530
702
  } | {
531
703
  type: 'SUBJECT.SUBSCRIBE';
532
704
  config: import("../actions/subject").SubjectSubscriptionConfig;
@@ -535,7 +707,10 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
535
707
  subject: string;
536
708
  } | {
537
709
  type: 'SUBJECT.UNSUBSCRIBE_ALL';
538
- }, {}, never, never, {
710
+ }, {}, never, {
711
+ type: "rejectUnavailableRequest";
712
+ params: unknown;
713
+ }, {
539
714
  type: "hasPendingSync";
540
715
  params: unknown;
541
716
  }, never, "subject_check_sync" | "subject_connected" | "subject_disconnecting" | "subject_error" | "subject_idle" | "subject_syncing", string, import("xstate").NonReducibleUnknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, {
@@ -564,6 +739,18 @@ export declare const natsMachine: import("xstate").StateMachine<Context, {
564
739
  } | {
565
740
  type: "reconnectAfterClose";
566
741
  params: import("xstate").NonReducibleUnknown;
742
+ } | {
743
+ type: "recordCredentialError";
744
+ params: import("xstate").NonReducibleUnknown;
745
+ } | {
746
+ type: "rejectUnavailableRequest";
747
+ params: unknown;
748
+ } | {
749
+ type: "reloadCredentials";
750
+ params: unknown;
751
+ } | {
752
+ type: "stopCredentialActor";
753
+ params: import("xstate").NonReducibleUnknown;
567
754
  }, {
568
755
  type: "allManagersReady";
569
756
  params: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/machines/root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEtE,OAAO,EAAkB,cAAc,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AACzE,OAAO,EAAuB,cAAc,IAAI,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAExF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAEhF,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,iBAAiB,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,qBAAqB,CAAA;CACpC;AAED,MAAM,WAAW,OAAO;IACtB,UAAU,EAAE,cAAc,GAAG,IAAI,CAAA;IACjC,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,mBAAmB,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,mBAAmB,EAAE,OAAO,CAAA;IAC5B,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAYD,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB,qBAAqB,GACrB,qBAAqB,GACrB,gBAAgB,CAAA;AAkDpB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAjEZ,WAAW;gBAAc,cAAc;;UACvC,cAAc;;UACd,MAAM;WAAS,KAAK;;UACpB,WAAW;;UACX,OAAO;;UAKP,WAAW;YAAU,oBAAoB;;UACzC,SAAS;;UACT,YAAY;;UACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuejB,CAAA"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/machines/root.ts"],"names":[],"mappings":"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"}