@nebius/js-sdk 0.2.9 → 0.2.10
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.
- package/dist/cjs/api/nebius/iam/v1/index.d.ts +4 -0
- package/dist/cjs/api/nebius/iam/v1/index.d.ts.map +1 -1
- package/dist/cjs/api/nebius/iam/v1/index.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/runtime/cli_config.d.ts +12 -1
- package/dist/cjs/runtime/cli_config.d.ts.map +1 -1
- package/dist/cjs/runtime/cli_config.js +243 -135
- package/dist/cjs/runtime/cli_config.js.map +1 -1
- package/dist/cjs/runtime/cli_config_interfaces.d.ts +11 -2
- package/dist/cjs/runtime/cli_config_interfaces.d.ts.map +1 -1
- package/dist/cjs/runtime/error.d.ts.map +1 -1
- package/dist/cjs/runtime/error.js.map +1 -1
- package/dist/cjs/runtime/keepalive.d.ts +29 -0
- package/dist/cjs/runtime/keepalive.d.ts.map +1 -0
- package/dist/cjs/runtime/keepalive.js +112 -0
- package/dist/cjs/runtime/keepalive.js.map +1 -0
- package/dist/cjs/runtime/metrics.d.ts +85 -0
- package/dist/cjs/runtime/metrics.d.ts.map +1 -0
- package/dist/cjs/runtime/metrics.js +241 -0
- package/dist/cjs/runtime/metrics.js.map +1 -0
- package/dist/cjs/runtime/protos/wkt.d.ts.map +1 -1
- package/dist/cjs/runtime/protos/wkt.js.map +1 -1
- package/dist/cjs/runtime/token/exchangeable.d.ts +5 -2
- package/dist/cjs/runtime/token/exchangeable.d.ts.map +1 -1
- package/dist/cjs/runtime/token/exchangeable.js +52 -34
- package/dist/cjs/runtime/token/exchangeable.js.map +1 -1
- package/dist/cjs/runtime/token/federated_credentials.d.ts +7 -3
- package/dist/cjs/runtime/token/federated_credentials.d.ts.map +1 -1
- package/dist/cjs/runtime/token/federated_credentials.js +14 -3
- package/dist/cjs/runtime/token/federated_credentials.js.map +1 -1
- package/dist/cjs/runtime/token/federation_account.d.ts +4 -0
- package/dist/cjs/runtime/token/federation_account.d.ts.map +1 -1
- package/dist/cjs/runtime/token/federation_account.js +10 -1
- package/dist/cjs/runtime/token/federation_account.js.map +1 -1
- package/dist/cjs/runtime/token/federation_bearer/index.d.ts +4 -1
- package/dist/cjs/runtime/token/federation_bearer/index.d.ts.map +1 -1
- package/dist/cjs/runtime/token/federation_bearer/index.js +42 -25
- package/dist/cjs/runtime/token/federation_bearer/index.js.map +1 -1
- package/dist/cjs/runtime/token/file.d.ts +6 -2
- package/dist/cjs/runtime/token/file.d.ts.map +1 -1
- package/dist/cjs/runtime/token/file.js +33 -11
- package/dist/cjs/runtime/token/file.js.map +1 -1
- package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.d.ts +8 -3
- package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.d.ts.map +1 -1
- package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.js +110 -56
- package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.js.map +1 -1
- package/dist/cjs/runtime/token/file_cache/file_bearer.d.ts +4 -1
- package/dist/cjs/runtime/token/file_cache/file_bearer.d.ts.map +1 -1
- package/dist/cjs/runtime/token/file_cache/file_bearer.js +25 -4
- package/dist/cjs/runtime/token/file_cache/file_bearer.js.map +1 -1
- package/dist/cjs/runtime/token/file_cache/renewable_bearer.d.ts +5 -2
- package/dist/cjs/runtime/token/file_cache/renewable_bearer.d.ts.map +1 -1
- package/dist/cjs/runtime/token/file_cache/renewable_bearer.js +47 -7
- package/dist/cjs/runtime/token/file_cache/renewable_bearer.js.map +1 -1
- package/dist/cjs/runtime/token/renewable.d.ts +8 -3
- package/dist/cjs/runtime/token/renewable.d.ts.map +1 -1
- package/dist/cjs/runtime/token/renewable.js +101 -54
- package/dist/cjs/runtime/token/renewable.js.map +1 -1
- package/dist/cjs/runtime/token/service_account.d.ts +7 -3
- package/dist/cjs/runtime/token/service_account.d.ts.map +1 -1
- package/dist/cjs/runtime/token/service_account.js +18 -6
- package/dist/cjs/runtime/token/service_account.js.map +1 -1
- package/dist/cjs/runtime/token.d.ts +2 -1
- package/dist/cjs/runtime/token.d.ts.map +1 -1
- package/dist/cjs/runtime/token.js +8 -4
- package/dist/cjs/runtime/token.js.map +1 -1
- package/dist/cjs/runtime/util/golang_parsers.d.ts +7 -0
- package/dist/cjs/runtime/util/golang_parsers.d.ts.map +1 -0
- package/dist/cjs/runtime/util/golang_parsers.js +81 -0
- package/dist/cjs/runtime/util/golang_parsers.js.map +1 -0
- package/dist/cjs/sdk.d.ts +15 -4
- package/dist/cjs/sdk.d.ts.map +1 -1
- package/dist/cjs/sdk.js +78 -49
- package/dist/cjs/sdk.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.d.ts.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/api/nebius/iam/v1/index.d.ts +4 -0
- package/dist/esm/api/nebius/iam/v1/index.d.ts.map +1 -1
- package/dist/esm/api/nebius/iam/v1/index.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/runtime/cli_config.d.ts +12 -1
- package/dist/esm/runtime/cli_config.d.ts.map +1 -1
- package/dist/esm/runtime/cli_config.js +243 -135
- package/dist/esm/runtime/cli_config.js.map +1 -1
- package/dist/esm/runtime/cli_config_interfaces.d.ts +11 -2
- package/dist/esm/runtime/cli_config_interfaces.d.ts.map +1 -1
- package/dist/esm/runtime/error.d.ts.map +1 -1
- package/dist/esm/runtime/error.js +1 -1
- package/dist/esm/runtime/error.js.map +1 -1
- package/dist/esm/runtime/keepalive.d.ts +29 -0
- package/dist/esm/runtime/keepalive.d.ts.map +1 -0
- package/dist/esm/runtime/keepalive.js +105 -0
- package/dist/esm/runtime/keepalive.js.map +1 -0
- package/dist/esm/runtime/metrics.d.ts +85 -0
- package/dist/esm/runtime/metrics.d.ts.map +1 -0
- package/dist/esm/runtime/metrics.js +228 -0
- package/dist/esm/runtime/metrics.js.map +1 -0
- package/dist/esm/runtime/protos/wkt.d.ts.map +1 -1
- package/dist/esm/runtime/protos/wkt.js +1 -1
- package/dist/esm/runtime/protos/wkt.js.map +1 -1
- package/dist/esm/runtime/token/exchangeable.d.ts +5 -2
- package/dist/esm/runtime/token/exchangeable.d.ts.map +1 -1
- package/dist/esm/runtime/token/exchangeable.js +52 -34
- package/dist/esm/runtime/token/exchangeable.js.map +1 -1
- package/dist/esm/runtime/token/federated_credentials.d.ts +7 -3
- package/dist/esm/runtime/token/federated_credentials.d.ts.map +1 -1
- package/dist/esm/runtime/token/federated_credentials.js +14 -3
- package/dist/esm/runtime/token/federated_credentials.js.map +1 -1
- package/dist/esm/runtime/token/federation_account.d.ts +4 -0
- package/dist/esm/runtime/token/federation_account.d.ts.map +1 -1
- package/dist/esm/runtime/token/federation_account.js +10 -1
- package/dist/esm/runtime/token/federation_account.js.map +1 -1
- package/dist/esm/runtime/token/federation_bearer/index.d.ts +4 -1
- package/dist/esm/runtime/token/federation_bearer/index.d.ts.map +1 -1
- package/dist/esm/runtime/token/federation_bearer/index.js +42 -25
- package/dist/esm/runtime/token/federation_bearer/index.js.map +1 -1
- package/dist/esm/runtime/token/file.d.ts +6 -2
- package/dist/esm/runtime/token/file.d.ts.map +1 -1
- package/dist/esm/runtime/token/file.js +33 -11
- package/dist/esm/runtime/token/file.js.map +1 -1
- package/dist/esm/runtime/token/file_cache/async_renewable_bearer.d.ts +8 -3
- package/dist/esm/runtime/token/file_cache/async_renewable_bearer.d.ts.map +1 -1
- package/dist/esm/runtime/token/file_cache/async_renewable_bearer.js +110 -56
- package/dist/esm/runtime/token/file_cache/async_renewable_bearer.js.map +1 -1
- package/dist/esm/runtime/token/file_cache/file_bearer.d.ts +4 -1
- package/dist/esm/runtime/token/file_cache/file_bearer.d.ts.map +1 -1
- package/dist/esm/runtime/token/file_cache/file_bearer.js +25 -4
- package/dist/esm/runtime/token/file_cache/file_bearer.js.map +1 -1
- package/dist/esm/runtime/token/file_cache/renewable_bearer.d.ts +5 -2
- package/dist/esm/runtime/token/file_cache/renewable_bearer.d.ts.map +1 -1
- package/dist/esm/runtime/token/file_cache/renewable_bearer.js +47 -7
- package/dist/esm/runtime/token/file_cache/renewable_bearer.js.map +1 -1
- package/dist/esm/runtime/token/renewable.d.ts +8 -3
- package/dist/esm/runtime/token/renewable.d.ts.map +1 -1
- package/dist/esm/runtime/token/renewable.js +101 -54
- package/dist/esm/runtime/token/renewable.js.map +1 -1
- package/dist/esm/runtime/token/service_account.d.ts +7 -3
- package/dist/esm/runtime/token/service_account.d.ts.map +1 -1
- package/dist/esm/runtime/token/service_account.js +19 -7
- package/dist/esm/runtime/token/service_account.js.map +1 -1
- package/dist/esm/runtime/token.d.ts +2 -1
- package/dist/esm/runtime/token.d.ts.map +1 -1
- package/dist/esm/runtime/token.js +8 -4
- package/dist/esm/runtime/token.js.map +1 -1
- package/dist/esm/runtime/util/golang_parsers.d.ts +7 -0
- package/dist/esm/runtime/util/golang_parsers.d.ts.map +1 -0
- package/dist/esm/runtime/util/golang_parsers.js +76 -0
- package/dist/esm/runtime/util/golang_parsers.js.map +1 -0
- package/dist/esm/sdk.d.ts +15 -4
- package/dist/esm/sdk.d.ts.map +1 -1
- package/dist/esm/sdk.js +80 -51
- package/dist/esm/sdk.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.d.ts.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
import { type AuthMetricsInput, type AuthMetricsRecorder } from '../../metrics.js';
|
|
1
2
|
import { Bearer, Receiver } from '../../token.js';
|
|
2
3
|
import { custom, customJson, Logger } from '../../util/logging.js';
|
|
3
4
|
export declare class RenewableFileCacheBearer extends Bearer {
|
|
4
5
|
[custom]: () => string;
|
|
5
|
-
private readonly _wrapped;
|
|
6
6
|
private logger?;
|
|
7
7
|
readonly $type = "nebius.sdk.RenewableFileCacheBearer";
|
|
8
8
|
private readonly _cache;
|
|
9
|
+
private _wrapped;
|
|
10
|
+
readonly metrics: AuthMetricsRecorder;
|
|
9
11
|
safetyMargin: number | null;
|
|
10
|
-
constructor(_wrapped: Bearer, safetyMarginMs?: number, cacheFile?: string, throttleMs?: number, logger?: Logger | undefined);
|
|
12
|
+
constructor(_wrapped: Bearer, safetyMarginMs?: number, cacheFile?: string, throttleMs?: number, logger?: Logger | undefined, metrics?: AuthMetricsInput, provider?: string);
|
|
11
13
|
[customJson](): unknown;
|
|
12
14
|
get wrapped(): Bearer | undefined;
|
|
13
15
|
receiver(): Receiver;
|
|
16
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=renewable_bearer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewable_bearer.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/token/file_cache/renewable_bearer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renewable_bearer.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/token/file_cache/renewable_bearer.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EAIzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAoIhF,qBAAa,wBAAyB,SAAQ,MAAM;IA+BlD,CAAC,MAAM,CAAC,QAAI,MAAM;IAnBhB,OAAO,CAAC,MAAM,CAAC;IAXjB,SAAgB,KAAK,yCAAyC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAS;IACzB,SAAgB,OAAO,EAAE,mBAAmB,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGjC,QAAQ,EAAE,MAAM,EAChB,cAAc,GAAE,MAA2B,EAC3C,SAAS,GAAE,MAAwD,EACnE,UAAU,GAAE,MAAsB,EAC1B,MAAM,CAAC,EAAE,MAAM,YAAA,EACvB,OAAO,CAAC,EAAE,gBAAgB,EAC1B,QAAQ,CAAC,EAAE,MAAM;IAoBnB,CAAC,UAAU,CAAC,IAAI,OAAO;IASvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,QAAQ,IAAI,QAAQ;IAIpB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAI5C"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { inspect } from 'util';
|
|
2
2
|
import { defaultConfigDir, defaultCredentialsFile } from '../../constants.js';
|
|
3
|
+
import { authMetricProvider, authMetricsRecorder, bindAuthMetrics, METRIC_RESULT_ERROR, METRIC_RESULT_SUCCESS, } from '../../metrics.js';
|
|
3
4
|
import { Bearer, Receiver, Token } from '../../token.js';
|
|
4
5
|
import { custom, customJson, inspectJson } from '../../util/logging.js';
|
|
5
6
|
import { ThrottledTokenCache } from './throttled_token_cache.js';
|
|
@@ -34,15 +35,30 @@ class RenewableFileCacheReceiver extends Receiver {
|
|
|
34
35
|
let token;
|
|
35
36
|
if (this.fromCache) {
|
|
36
37
|
this.logger?.trace('Fetching token from cache');
|
|
37
|
-
|
|
38
|
+
try {
|
|
39
|
+
token = await this.cache.get();
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
this.bearer.metrics.cacheMiss(METRIC_RESULT_ERROR);
|
|
43
|
+
throw err;
|
|
44
|
+
}
|
|
38
45
|
}
|
|
39
46
|
else {
|
|
40
47
|
this.logger?.trace('Refreshing token from file cache as refresh requested');
|
|
41
|
-
|
|
48
|
+
try {
|
|
49
|
+
token = await this.cache.refresh();
|
|
50
|
+
}
|
|
51
|
+
catch (err) {
|
|
52
|
+
this.bearer.metrics.cacheRefresh(METRIC_RESULT_ERROR);
|
|
53
|
+
throw err;
|
|
54
|
+
}
|
|
42
55
|
if (this.lastSaved && token && this.lastSaved.equals(token)) {
|
|
43
56
|
this.logger?.debug('Token in file cache is same as last saved, need renewal');
|
|
44
57
|
token = undefined; // avoid reusing the same token on error
|
|
45
58
|
}
|
|
59
|
+
else if (token) {
|
|
60
|
+
this.bearer.metrics.cacheRefresh(METRIC_RESULT_SUCCESS);
|
|
61
|
+
}
|
|
46
62
|
}
|
|
47
63
|
if (token && !token.isExpired()) {
|
|
48
64
|
const margin = this.bearer.safetyMargin;
|
|
@@ -50,6 +66,7 @@ class RenewableFileCacheReceiver extends Receiver {
|
|
|
50
66
|
this.logger?.trace('Using token from cache', { token });
|
|
51
67
|
this.fromCache = true;
|
|
52
68
|
this.lastSaved = token;
|
|
69
|
+
this.bearer.metrics.cacheHit();
|
|
53
70
|
return token;
|
|
54
71
|
}
|
|
55
72
|
this.logger?.debug('Token from cache is expired or outside safety margin, needs renewal', {
|
|
@@ -61,19 +78,35 @@ class RenewableFileCacheReceiver extends Receiver {
|
|
|
61
78
|
const wrapped = this.bearer.wrapped;
|
|
62
79
|
if (!wrapped) {
|
|
63
80
|
this.logger?.debug('Fresh token source is not available, returning empty token');
|
|
81
|
+
this.bearer.metrics.cacheMiss(METRIC_RESULT_SUCCESS);
|
|
64
82
|
return Token.empty();
|
|
65
83
|
}
|
|
66
84
|
if (!this.receiver)
|
|
67
85
|
this.receiver = wrapped.receiver();
|
|
68
86
|
this.logger?.trace('Fetching fresh token from wrapped bearer', { wrapped });
|
|
69
|
-
|
|
87
|
+
let fresh;
|
|
88
|
+
try {
|
|
89
|
+
fresh = await this.receiver.fetch(timeoutMs);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
this.bearer.metrics.cacheMiss(METRIC_RESULT_ERROR);
|
|
93
|
+
throw err;
|
|
94
|
+
}
|
|
95
|
+
this.bearer.metrics.cacheMiss(METRIC_RESULT_SUCCESS);
|
|
70
96
|
if (fresh.isEmpty()) {
|
|
71
97
|
this.logger?.debug('Wrapped bearer returned empty token, not updating cache');
|
|
72
98
|
this.lastSaved = undefined;
|
|
73
99
|
return fresh;
|
|
74
100
|
}
|
|
75
101
|
this.logger?.trace('Storing fresh token to cache', { token: fresh });
|
|
76
|
-
|
|
102
|
+
try {
|
|
103
|
+
await this.cache.set(fresh);
|
|
104
|
+
this.bearer.metrics.cacheStore(METRIC_RESULT_SUCCESS);
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
this.bearer.metrics.cacheStore(METRIC_RESULT_ERROR);
|
|
108
|
+
throw err;
|
|
109
|
+
}
|
|
77
110
|
this.lastSaved = fresh;
|
|
78
111
|
this.logger?.debug('Fetched fresh token', { token: fresh });
|
|
79
112
|
return fresh;
|
|
@@ -83,6 +116,7 @@ class RenewableFileCacheReceiver extends Receiver {
|
|
|
83
116
|
if (this.fromCache) {
|
|
84
117
|
this.logger?.debug('Error occurred while using cached token, will try refreshing', { err });
|
|
85
118
|
this.fromCache = false;
|
|
119
|
+
this.bearer.metrics.cacheInvalidate();
|
|
86
120
|
return true;
|
|
87
121
|
}
|
|
88
122
|
if (!this.receiver) {
|
|
@@ -94,16 +128,18 @@ class RenewableFileCacheReceiver extends Receiver {
|
|
|
94
128
|
}
|
|
95
129
|
}
|
|
96
130
|
export class RenewableFileCacheBearer extends Bearer {
|
|
97
|
-
_wrapped;
|
|
98
131
|
logger;
|
|
99
132
|
$type = 'nebius.sdk.RenewableFileCacheBearer';
|
|
100
133
|
_cache;
|
|
134
|
+
_wrapped;
|
|
135
|
+
metrics;
|
|
101
136
|
safetyMargin; // in ms
|
|
102
|
-
constructor(_wrapped, safetyMarginMs = 2 * 60 * 60 * 1000, cacheFile = `${defaultConfigDir}/${defaultCredentialsFile}`, throttleMs = 5 * 60 * 1000, logger) {
|
|
137
|
+
constructor(_wrapped, safetyMarginMs = 2 * 60 * 60 * 1000, cacheFile = `${defaultConfigDir}/${defaultCredentialsFile}`, throttleMs = 5 * 60 * 1000, logger, metrics, provider) {
|
|
103
138
|
super();
|
|
104
|
-
this._wrapped = _wrapped;
|
|
105
139
|
this.logger = logger;
|
|
106
140
|
this.safetyMargin = safetyMarginMs;
|
|
141
|
+
this.metrics = authMetricsRecorder(metrics, provider ?? authMetricProvider(_wrapped));
|
|
142
|
+
this._wrapped = bindAuthMetrics(_wrapped, this.metrics);
|
|
107
143
|
const name = _wrapped.name;
|
|
108
144
|
if (!name)
|
|
109
145
|
throw new Error('Bearer must have a name for the cache.');
|
|
@@ -127,5 +163,9 @@ export class RenewableFileCacheBearer extends Bearer {
|
|
|
127
163
|
receiver() {
|
|
128
164
|
return new RenewableFileCacheReceiver(this, this._cache, this.logger);
|
|
129
165
|
}
|
|
166
|
+
setMetrics(metrics) {
|
|
167
|
+
this.metrics.setMetrics(metrics);
|
|
168
|
+
this._wrapped = bindAuthMetrics(this._wrapped, this.metrics);
|
|
169
|
+
}
|
|
130
170
|
}
|
|
131
171
|
//# sourceMappingURL=renewable_bearer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewable_bearer.js","sourceRoot":"","sources":["../../../../../src/runtime/token/file_cache/renewable_bearer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"renewable_bearer.js","sourceRoot":"","sources":["../../../../../src/runtime/token/file_cache/renewable_bearer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AuthMetricsInput } from '../metrics.js';
|
|
2
2
|
import { Bearer, Receiver, Token } from '../token.js';
|
|
3
3
|
import { custom, customJson, Logger } from '../util/logging.js';
|
|
4
|
+
import type { AuthorizationOptions } from '../authorization/provider.js';
|
|
4
5
|
export declare class RenewalError extends Error {
|
|
5
6
|
constructor(message: string);
|
|
6
7
|
}
|
|
7
8
|
export declare class RenewableBearer extends Bearer {
|
|
8
9
|
[custom]: () => string;
|
|
9
|
-
private readonly source;
|
|
10
10
|
readonly $type = "nebius.sdk.RenewableBearer";
|
|
11
11
|
private refreshTimer;
|
|
12
12
|
private stopped;
|
|
@@ -25,6 +25,8 @@ export declare class RenewableBearer extends Bearer {
|
|
|
25
25
|
private readonly maxRetries;
|
|
26
26
|
private readonly jitterFraction;
|
|
27
27
|
private readonly logger?;
|
|
28
|
+
private readonly metrics;
|
|
29
|
+
private source;
|
|
28
30
|
constructor(source: Bearer, opts?: {
|
|
29
31
|
maxRetries?: number;
|
|
30
32
|
lifetimeSafeFraction?: number;
|
|
@@ -35,10 +37,13 @@ export declare class RenewableBearer extends Bearer {
|
|
|
35
37
|
safetyMinRemainingMs?: number;
|
|
36
38
|
jitterFraction?: number;
|
|
37
39
|
logger?: Logger;
|
|
40
|
+
metrics?: AuthMetricsInput;
|
|
41
|
+
provider?: string;
|
|
38
42
|
});
|
|
39
43
|
[customJson](): unknown;
|
|
40
44
|
get wrapped(): Bearer | undefined;
|
|
41
45
|
receiver(): Receiver;
|
|
46
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
42
47
|
/** Schedules next background renewal. Always de-dupes existing timer. */
|
|
43
48
|
private scheduleNext;
|
|
44
49
|
/** Compute when to renew next, based on token expiration. */
|
|
@@ -51,7 +56,7 @@ export declare class RenewableBearer extends Bearer {
|
|
|
51
56
|
private startRenewal;
|
|
52
57
|
fetch(timeoutMs?: number, options?: AuthorizationOptions): Promise<Token>;
|
|
53
58
|
isRenewalRequired(): boolean;
|
|
54
|
-
requestRenewal(): void;
|
|
59
|
+
requestRenewal(invalidate?: boolean): void;
|
|
55
60
|
/** Background runner: serialize renewals, backoff with jitter, reschedule next. */
|
|
56
61
|
private run;
|
|
57
62
|
close(graceMs?: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewable.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/renewable.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"renewable.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/renewable.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,gBAAgB,EAQtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAmDD,qBAAa,eAAgB,SAAQ,MAAM;IA6DzC,CAAC,MAAM,CAAC,QAAI,MAAM;IA5DlB,SAAgB,KAAK,gCAAgC;IACrD,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,gBAAgB,CAAS;IAEjC,OAAO,CAAC,YAAY,CAAK;IAGzB,OAAO,CAAC,eAAe,CAGP;IAGhB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,MAAM,CAAS;gBAGrB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;IAkBH,CAAC,UAAU,CAAC,IAAI,OAAO;IAWvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,QAAQ,IAAI,QAAQ;IAIpB,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK3C,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAepB,6DAA6D;IAC7D,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,SAAS;YAqBH,YAAY;IAsDpB,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC;IAmI/E,iBAAiB,IAAI,OAAO;IAM5B,cAAc,CAAC,UAAU,UAAQ,GAAG,IAAI;IAcxC,mFAAmF;YACrE,GAAG;IAkCX,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAY7C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { inspect } from 'util';
|
|
2
|
+
import { authMetricProvider, authMetricsRecorder, bindAuthMetrics, METRIC_RESULT_ERROR, METRIC_RESULT_SUCCESS, metricDurationMs, metricStart, } from '../metrics.js';
|
|
2
3
|
import { Bearer, Receiver } from '../token.js';
|
|
3
4
|
import { withTimeout } from '../util/cancelable.js';
|
|
4
5
|
import { custom, customJson, inspectJson } from '../util/logging.js';
|
|
@@ -48,13 +49,12 @@ class RenewableReceiver extends Receiver {
|
|
|
48
49
|
}
|
|
49
50
|
// Non-blocking renewal request for async path
|
|
50
51
|
if (!synchronous)
|
|
51
|
-
this.parent.requestRenewal();
|
|
52
|
+
this.parent.requestRenewal(true);
|
|
52
53
|
this.logger?.trace('canRetry -> true', { trial: this.trial, maxRetries, synchronous });
|
|
53
54
|
return true;
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
export class RenewableBearer extends Bearer {
|
|
57
|
-
source;
|
|
58
58
|
$type = 'nebius.sdk.RenewableBearer';
|
|
59
59
|
refreshTimer = null;
|
|
60
60
|
stopped = false;
|
|
@@ -75,9 +75,10 @@ export class RenewableBearer extends Bearer {
|
|
|
75
75
|
maxRetries;
|
|
76
76
|
jitterFraction;
|
|
77
77
|
logger;
|
|
78
|
+
metrics;
|
|
79
|
+
source;
|
|
78
80
|
constructor(source, opts) {
|
|
79
81
|
super();
|
|
80
|
-
this.source = source;
|
|
81
82
|
this.lifetimeSafeFraction = opts?.lifetimeSafeFraction ?? 0.9;
|
|
82
83
|
this.initialRetryTimeoutMs = opts?.initialRetryTimeoutMs ?? 1_000;
|
|
83
84
|
this.maxRetryTimeoutMs = opts?.maxRetryTimeoutMs ?? 60_000;
|
|
@@ -86,6 +87,8 @@ export class RenewableBearer extends Bearer {
|
|
|
86
87
|
this.maxRetries = opts?.maxRetries ?? 2;
|
|
87
88
|
this.jitterFraction = Math.min(Math.max(opts?.jitterFraction ?? 0.2, 0), 1);
|
|
88
89
|
this.logger = opts?.logger;
|
|
90
|
+
this.metrics = authMetricsRecorder(opts?.metrics, opts?.provider ?? authMetricProvider(source));
|
|
91
|
+
this.source = bindAuthMetrics(source, this.metrics);
|
|
89
92
|
this.logger?.trace('ctor', { opts });
|
|
90
93
|
}
|
|
91
94
|
[custom]() {
|
|
@@ -107,6 +110,10 @@ export class RenewableBearer extends Bearer {
|
|
|
107
110
|
receiver() {
|
|
108
111
|
return new RenewableReceiver(this, this.maxRetries, this.logger);
|
|
109
112
|
}
|
|
113
|
+
setMetrics(metrics) {
|
|
114
|
+
this.metrics.setMetrics(metrics);
|
|
115
|
+
this.source = bindAuthMetrics(this.source, this.metrics);
|
|
116
|
+
}
|
|
110
117
|
/** Schedules next background renewal. Always de-dupes existing timer. */
|
|
111
118
|
scheduleNext(ms) {
|
|
112
119
|
if (this.stopped) {
|
|
@@ -118,9 +125,8 @@ export class RenewableBearer extends Bearer {
|
|
|
118
125
|
const delay = Math.max(0, ms);
|
|
119
126
|
this.logger?.debug('scheduleNext', { delayMs: delay });
|
|
120
127
|
this.refreshTimer = setTimeout(() => void this.run(), delay);
|
|
121
|
-
// Don't keep Node process alive because of this timer
|
|
122
|
-
|
|
123
|
-
this.refreshTimer?.unref?.();
|
|
128
|
+
// Don't keep Node process alive because of this timer.
|
|
129
|
+
this.refreshTimer.unref?.();
|
|
124
130
|
}
|
|
125
131
|
/** Compute when to renew next, based on token expiration. */
|
|
126
132
|
computeNextTimeoutMs(tok) {
|
|
@@ -192,11 +198,12 @@ export class RenewableBearer extends Bearer {
|
|
|
192
198
|
});
|
|
193
199
|
return res;
|
|
194
200
|
}
|
|
195
|
-
async startRenewal() {
|
|
201
|
+
async startRenewal(background) {
|
|
196
202
|
if (this.inFlightRenewal) {
|
|
197
203
|
this.logger?.debug('startRenewal: reuse inFlight promise');
|
|
198
204
|
return this.inFlightRenewal;
|
|
199
205
|
}
|
|
206
|
+
const start = metricStart();
|
|
200
207
|
const useSyncOpts = this.nextSyncOptions;
|
|
201
208
|
this.nextSyncOptions = null;
|
|
202
209
|
const timeoutMs = useSyncOpts?.timeoutMs ?? this.refreshRequestTimeoutMs;
|
|
@@ -215,12 +222,18 @@ export class RenewableBearer extends Bearer {
|
|
|
215
222
|
this.renewalRequested = false;
|
|
216
223
|
this.logger?.debug('startRenewal: success', { token: tok });
|
|
217
224
|
this.drainWaitersWithToken(tok);
|
|
225
|
+
if (background) {
|
|
226
|
+
this.metrics.tokenRefresh(METRIC_RESULT_SUCCESS, metricDurationMs(start), true);
|
|
227
|
+
}
|
|
218
228
|
return tok;
|
|
219
229
|
};
|
|
220
230
|
const p = doRenew()
|
|
221
231
|
.catch((e) => {
|
|
222
232
|
this.fresh = false;
|
|
223
233
|
this.logger?.debug('startRenewal: error', { err: e });
|
|
234
|
+
if (background) {
|
|
235
|
+
this.metrics.tokenRefresh(METRIC_RESULT_ERROR, metricDurationMs(start), true);
|
|
236
|
+
}
|
|
224
237
|
this.drainWaitersWithError(e);
|
|
225
238
|
throw e;
|
|
226
239
|
})
|
|
@@ -249,6 +262,11 @@ export class RenewableBearer extends Bearer {
|
|
|
249
262
|
if (!this.refreshTimer)
|
|
250
263
|
this.scheduleNext(0);
|
|
251
264
|
const mustRenew = renewRequired || this.needRenew();
|
|
265
|
+
if (!mustRenew && this.cacheToken && !this.cacheToken.isExpired()) {
|
|
266
|
+
this.metrics.cacheHit();
|
|
267
|
+
this.logger?.debug('fetch: return cached token', { token: this.cacheToken });
|
|
268
|
+
return this.cacheToken;
|
|
269
|
+
}
|
|
252
270
|
if (mustRenew) {
|
|
253
271
|
if (renewSynchronous) {
|
|
254
272
|
// Ensure this attempt uses provided timeouts/options
|
|
@@ -265,63 +283,89 @@ export class RenewableBearer extends Bearer {
|
|
|
265
283
|
this.requestRenewal();
|
|
266
284
|
this.logger?.debug('fetch: mustRenew (async) -> requested');
|
|
267
285
|
}
|
|
268
|
-
const renewalPromise = this.startRenewal();
|
|
286
|
+
const renewalPromise = this.startRenewal(false);
|
|
269
287
|
// Synchronous callers or error-reporting callers await the result (with optional timeout)
|
|
270
288
|
if (renewSynchronous || reportError) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
289
|
+
try {
|
|
290
|
+
if (!timeoutMs) {
|
|
291
|
+
const token = await renewalPromise;
|
|
292
|
+
this.metrics.cacheMiss(METRIC_RESULT_SUCCESS);
|
|
293
|
+
return token;
|
|
294
|
+
}
|
|
295
|
+
this.logger?.trace('fetch: awaiting renewal with timeout', { timeoutMs });
|
|
296
|
+
const token = await withTimeout(renewalPromise, timeoutMs);
|
|
297
|
+
this.metrics.cacheMiss(METRIC_RESULT_SUCCESS);
|
|
298
|
+
return token;
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
this.metrics.cacheMiss(METRIC_RESULT_ERROR);
|
|
302
|
+
throw err;
|
|
303
|
+
}
|
|
275
304
|
}
|
|
276
305
|
// Asynchronous callers: optionally wait up to timeout for freshness
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
};
|
|
289
|
-
const onReject = (err) => {
|
|
290
|
-
if (handle) {
|
|
291
|
-
clearTimeout(handle);
|
|
292
|
-
handle = undefined;
|
|
293
|
-
}
|
|
294
|
-
this.logger?.debug('fetch: async freshness error', { err });
|
|
295
|
-
reject(err);
|
|
296
|
-
};
|
|
297
|
-
this.addWaiter(onResolve, onReject);
|
|
298
|
-
handle = setTimeout(() => {
|
|
299
|
-
handle = undefined;
|
|
300
|
-
// If already fresh, resolve; otherwise remove our waiter and timeout
|
|
301
|
-
if (this.fresh)
|
|
306
|
+
try {
|
|
307
|
+
if (timeoutMs) {
|
|
308
|
+
this.logger?.trace('fetch: async path waiting for freshness', { timeoutMs });
|
|
309
|
+
await new Promise((resolve, reject) => {
|
|
310
|
+
let handle;
|
|
311
|
+
const onResolve = (token) => {
|
|
312
|
+
if (handle) {
|
|
313
|
+
clearTimeout(handle);
|
|
314
|
+
handle = undefined;
|
|
315
|
+
}
|
|
316
|
+
this.logger?.debug('fetch: async freshness satisfied', { token });
|
|
302
317
|
resolve();
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
318
|
+
};
|
|
319
|
+
const onReject = (err) => {
|
|
320
|
+
if (handle) {
|
|
321
|
+
clearTimeout(handle);
|
|
322
|
+
handle = undefined;
|
|
323
|
+
}
|
|
324
|
+
this.logger?.debug('fetch: async freshness error', { err });
|
|
325
|
+
reject(err);
|
|
326
|
+
};
|
|
327
|
+
this.addWaiter(onResolve, onReject);
|
|
328
|
+
handle = setTimeout(() => {
|
|
329
|
+
handle = undefined;
|
|
330
|
+
// If already fresh, resolve; otherwise remove our waiter and timeout
|
|
331
|
+
if (this.fresh)
|
|
332
|
+
resolve();
|
|
333
|
+
else {
|
|
334
|
+
// Remove our waiter (linear removal; list is small in practice)
|
|
335
|
+
const idx = this.waiters.findIndex((w) => w.resolve === onResolve && w.reject === onReject);
|
|
336
|
+
if (idx >= 0)
|
|
337
|
+
this.waiters.splice(idx, 1);
|
|
338
|
+
this.logger?.debug('fetch: async freshness timeout');
|
|
339
|
+
reject(new RenewalError('Timeout waiting fresh token'));
|
|
340
|
+
}
|
|
341
|
+
}, timeoutMs);
|
|
342
|
+
handle.unref();
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
else if (!this.cacheToken) {
|
|
346
|
+
// No token available yet: wait for current renewal to finish even in async mode
|
|
347
|
+
this.logger?.debug('fetch: async path, no token, awaiting renewal');
|
|
348
|
+
await renewalPromise;
|
|
349
|
+
}
|
|
314
350
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
await renewalPromise;
|
|
351
|
+
catch (err) {
|
|
352
|
+
this.metrics.cacheMiss(METRIC_RESULT_ERROR);
|
|
353
|
+
throw err;
|
|
319
354
|
}
|
|
320
355
|
}
|
|
321
356
|
if (!this.cacheToken || this.cacheToken.isExpired()) {
|
|
322
357
|
this.logger?.debug('fetch: no valid token -> throw');
|
|
358
|
+
if (mustRenew) {
|
|
359
|
+
this.metrics.cacheMiss(METRIC_RESULT_ERROR);
|
|
360
|
+
}
|
|
323
361
|
throw new RenewalError('No valid token available');
|
|
324
362
|
}
|
|
363
|
+
if (mustRenew) {
|
|
364
|
+
this.metrics.cacheMiss(METRIC_RESULT_SUCCESS);
|
|
365
|
+
}
|
|
366
|
+
else {
|
|
367
|
+
this.metrics.cacheHit();
|
|
368
|
+
}
|
|
325
369
|
this.logger?.debug('fetch: return cached token', { token: this.cacheToken });
|
|
326
370
|
return this.cacheToken;
|
|
327
371
|
}
|
|
@@ -330,13 +374,16 @@ export class RenewableBearer extends Bearer {
|
|
|
330
374
|
this.logger?.trace('isRenewalRequired', { result: v });
|
|
331
375
|
return v;
|
|
332
376
|
}
|
|
333
|
-
requestRenewal() {
|
|
377
|
+
requestRenewal(invalidate = false) {
|
|
334
378
|
if (this.stopped) {
|
|
335
379
|
this.logger?.debug('requestRenewal ignored (stopped)');
|
|
336
380
|
return;
|
|
337
381
|
}
|
|
338
382
|
this.fresh = false;
|
|
339
383
|
this.renewalRequested = true;
|
|
384
|
+
if (invalidate && this.cacheToken) {
|
|
385
|
+
this.metrics.cacheInvalidate();
|
|
386
|
+
}
|
|
340
387
|
this.logger?.debug('requestRenewal -> scheduled');
|
|
341
388
|
this.scheduleNext(0);
|
|
342
389
|
}
|
|
@@ -349,7 +396,7 @@ export class RenewableBearer extends Bearer {
|
|
|
349
396
|
let nextDelayMs = 0;
|
|
350
397
|
try {
|
|
351
398
|
this.logger?.trace('run: starting renewal', { attempt: this.renewAttempt + 1 });
|
|
352
|
-
const tok = await this.startRenewal();
|
|
399
|
+
const tok = await this.startRenewal(true);
|
|
353
400
|
// Schedule next proactive renewal
|
|
354
401
|
nextDelayMs = this.computeNextTimeoutMs(tok);
|
|
355
402
|
this.renewAttempt = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renewable.js","sourceRoot":"","sources":["../../../../src/runtime/token/renewable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"renewable.js","sourceRoot":"","sources":["../../../../src/runtime/token/renewable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import { ServiceAccount } from '../service_account/service_account.js';
|
|
1
|
+
import { type AuthMetricsInput } from '../metrics.js';
|
|
2
|
+
import { ServiceAccount, type Reader as ServiceAccountReader } from '../service_account/service_account.js';
|
|
4
3
|
import { Bearer, Receiver } from '../token.js';
|
|
5
4
|
import { custom, customJson, Logger } from '../util/logging.js';
|
|
5
|
+
import type { SDKInterface } from '../../sdk.js';
|
|
6
6
|
export declare class ServiceAccountBearer extends Bearer {
|
|
7
7
|
[custom]: () => string;
|
|
8
8
|
readonly $type = "nebius.sdk.ServiceAccountBearer";
|
|
9
9
|
private _exchangeable;
|
|
10
|
+
private _renewable;
|
|
10
11
|
private _source;
|
|
12
|
+
private readonly metrics;
|
|
11
13
|
constructor(serviceAccount: ServiceAccountReader | ServiceAccount | string, opts?: {
|
|
12
14
|
sdk?: SDKInterface | Promise<SDKInterface> | null;
|
|
13
15
|
privateKeyPem?: string;
|
|
@@ -18,10 +20,12 @@ export declare class ServiceAccountBearer extends Bearer {
|
|
|
18
20
|
maxRetryTimeoutMs?: number;
|
|
19
21
|
retryTimeoutExponent?: number;
|
|
20
22
|
refreshRequestTimeoutMs?: number;
|
|
23
|
+
metrics?: AuthMetricsInput;
|
|
21
24
|
logger?: Logger;
|
|
22
25
|
});
|
|
23
26
|
[customJson](): unknown;
|
|
24
27
|
setSDK(sdk: SDKInterface | Promise<SDKInterface> | null): void;
|
|
28
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
25
29
|
get wrapped(): Bearer | undefined;
|
|
26
30
|
receiver(): Receiver;
|
|
27
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service_account.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/service_account.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"service_account.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/service_account.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,cAAc,EACd,KAAK,MAAM,IAAI,oBAAoB,EACpC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAe,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,oBAAqB,SAAQ,MAAM;IAgG9C,CAAC,MAAM,CAAC,QAAI,MAAM;IA/FlB,SAAgB,KAAK,qCAAqC;IAC1D,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG5C,cAAc,EAAE,oBAAoB,GAAG,cAAc,GAAG,MAAM,EAC9D,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAClD,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,OAAO,CAAC,EAAE,gBAAgB,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IA8EH,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI;IAI9D,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAM3C,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,QAAQ,IAAI,QAAQ;CAGrB"}
|