@nebius/js-sdk 0.2.8 → 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/api/nebius/iam/v2/index.d.ts +5 -0
- package/dist/cjs/api/nebius/iam/v2/index.d.ts.map +1 -1
- package/dist/cjs/api/nebius/iam/v2/index.js +23 -0
- package/dist/cjs/api/nebius/iam/v2/index.js.map +1 -1
- package/dist/cjs/api/nebius/storage/v1/index.d.ts +11 -6
- package/dist/cjs/api/nebius/storage/v1/index.d.ts.map +1 -1
- package/dist/cjs/api/nebius/storage/v1/index.js +9 -1
- package/dist/cjs/api/nebius/storage/v1/index.js.map +1 -1
- package/dist/cjs/api/nebius/vpc/v1/index.d.ts +18 -0
- package/dist/cjs/api/nebius/vpc/v1/index.d.ts.map +1 -1
- package/dist/cjs/api/nebius/vpc/v1/index.js +32 -3
- package/dist/cjs/api/nebius/vpc/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/api/nebius/iam/v2/index.d.ts +5 -0
- package/dist/esm/api/nebius/iam/v2/index.d.ts.map +1 -1
- package/dist/esm/api/nebius/iam/v2/index.js +23 -0
- package/dist/esm/api/nebius/iam/v2/index.js.map +1 -1
- package/dist/esm/api/nebius/storage/v1/index.d.ts +11 -6
- package/dist/esm/api/nebius/storage/v1/index.d.ts.map +1 -1
- package/dist/esm/api/nebius/storage/v1/index.js +9 -1
- package/dist/esm/api/nebius/storage/v1/index.js.map +1 -1
- package/dist/esm/api/nebius/vpc/v1/index.d.ts +18 -0
- package/dist/esm/api/nebius/vpc/v1/index.d.ts.map +1 -1
- package/dist/esm/api/nebius/vpc/v1/index.js +29 -0
- package/dist/esm/api/nebius/vpc/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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchangeable.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"exchangeable.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAI3C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,SAAS,EAAE,MAAM;CAI9B;AA0GD,qBAAa,kBAAmB,SAAQ,MAAM;IAqB5C,CAAC,MAAM,CAAC,QAAI,MAAM;IAfhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAR1B,SAAgB,KAAK,mCAAmC;IACxD,OAAO,CAAC,GAAG,CAAmD;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG3B,SAAS,EAAE,cAAc,EAC1C,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,EAC/B,UAAU,GAAE,MAAU,EACtB,MAAM,CAAC,EAAE,MAAM,YAAA,EAChC,OAAO,CAAC,EAAE,gBAAgB;IAO5B,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAO3C,CAAC,UAAU,CAAC,IAAI,OAAO;IAQvB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI;IAmB9D,QAAQ,IAAI,QAAQ;CAUrB;AAED,MAAM,WAAW,cAAc;IAC7B,uBAAuB,IAAI,oBAAoB,CAAC;CACjD"}
|
|
@@ -4,6 +4,7 @@ exports.ExchangeableBearer = exports.UnsupportedTokenTypeError = exports.Unsuppo
|
|
|
4
4
|
const util_1 = require("util");
|
|
5
5
|
const grpc_js_1 = require("@grpc/grpc-js");
|
|
6
6
|
const index_js_1 = require("../../api/nebius/iam/v1/index.js");
|
|
7
|
+
const metrics_js_1 = require("../metrics.js");
|
|
7
8
|
const token_js_1 = require("../token.js");
|
|
8
9
|
const token_sanitizer_js_1 = require("../token_sanitizer.js");
|
|
9
10
|
const logging_js_1 = require("../util/logging.js");
|
|
@@ -26,14 +27,16 @@ class ExchangeableReceiver extends token_js_1.Receiver {
|
|
|
26
27
|
svcOrPromise;
|
|
27
28
|
defaultMaxRetries;
|
|
28
29
|
logger;
|
|
30
|
+
metrics;
|
|
29
31
|
$type = 'nebius.sdk.ExchangeableReceiver';
|
|
30
32
|
trial = 0;
|
|
31
|
-
constructor(requester, svcOrPromise, defaultMaxRetries = 2, logger) {
|
|
33
|
+
constructor(requester, svcOrPromise, defaultMaxRetries = 2, logger, metrics = (0, metrics_js_1.authMetricsRecorder)(undefined, 'token-exchange')) {
|
|
32
34
|
super();
|
|
33
35
|
this.requester = requester;
|
|
34
36
|
this.svcOrPromise = svcOrPromise;
|
|
35
37
|
this.defaultMaxRetries = defaultMaxRetries;
|
|
36
38
|
this.logger = logger;
|
|
39
|
+
this.metrics = metrics;
|
|
37
40
|
this.logger =
|
|
38
41
|
this.logger?.withFields({ trial: this.trial, defaultMaxRetries: this.defaultMaxRetries }) ??
|
|
39
42
|
undefined;
|
|
@@ -54,41 +57,51 @@ class ExchangeableReceiver extends token_js_1.Receiver {
|
|
|
54
57
|
}
|
|
55
58
|
async _fetch(timeoutMs, _options) {
|
|
56
59
|
this.trial += 1;
|
|
57
|
-
const
|
|
60
|
+
const start = (0, metrics_js_1.metricStart)();
|
|
58
61
|
const now = Date.now();
|
|
59
62
|
this.logger = this.logger?.withFields({ trial: this.trial, start: now }) ?? undefined;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
try {
|
|
64
|
+
const req = this.requester.getExchangeTokenRequest();
|
|
65
|
+
const md = new grpc_js_1.Metadata();
|
|
66
|
+
// Disable SDK-side authorization for this call
|
|
67
|
+
const options = {
|
|
68
|
+
authorizationDisable: true,
|
|
69
|
+
};
|
|
70
|
+
if (typeof timeoutMs === 'number' && Number.isFinite(timeoutMs)) {
|
|
71
|
+
this.logger = this.logger?.withFields({ timeoutMs }) ?? undefined;
|
|
72
|
+
this.logger?.trace('setting deadline for exchange call');
|
|
73
|
+
options.deadline = new Date(now + Math.max(0, timeoutMs));
|
|
74
|
+
}
|
|
75
|
+
this.logger?.trace('fetching service client');
|
|
76
|
+
const svc = await this.getSvc();
|
|
77
|
+
this.logger?.trace('making exchange call');
|
|
78
|
+
const res = await svc.exchange(req, md, options).result;
|
|
79
|
+
if (!res || typeof res !== 'object') {
|
|
80
|
+
throw new UnsupportedResponseError('CreateTokenResponse', res);
|
|
81
|
+
}
|
|
82
|
+
if (res.tokenType !== 'Bearer') {
|
|
83
|
+
throw new UnsupportedTokenTypeError(res.tokenType ?? String(res.tokenType));
|
|
84
|
+
}
|
|
85
|
+
const expSec = typeof res.expiresIn === 'object' &&
|
|
86
|
+
res.expiresIn !== null &&
|
|
87
|
+
typeof res.expiresIn.toString === 'function'
|
|
88
|
+
? Number(res.expiresIn.toString())
|
|
89
|
+
: Number(res.expiresIn ?? 0);
|
|
90
|
+
this.logger?.debug('token fetched', {
|
|
91
|
+
expires_in: res.expiresIn,
|
|
92
|
+
expiresInSec: expSec,
|
|
93
|
+
access_token: token_sanitizer_js_1.TokenSanitizer.accessTokenSanitizer().sanitize(res.accessToken),
|
|
94
|
+
});
|
|
95
|
+
const expiration = isFinite(expSec) && expSec > 0 ? new Date(now + expSec * 1000) : undefined;
|
|
96
|
+
const token = new token_js_1.Token(res.accessToken, expiration);
|
|
97
|
+
this.metrics.tokenAcquire(metrics_js_1.METRIC_RESULT_SUCCESS, (0, metrics_js_1.metricDurationMs)(start), this.trial);
|
|
98
|
+
this.metrics.tokenLifetime(token);
|
|
99
|
+
return token;
|
|
76
100
|
}
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
catch (err) {
|
|
102
|
+
this.metrics.tokenAcquire(metrics_js_1.METRIC_RESULT_ERROR, (0, metrics_js_1.metricDurationMs)(start), this.trial);
|
|
103
|
+
throw err;
|
|
79
104
|
}
|
|
80
|
-
const expSec = typeof res.expiresIn === 'object' &&
|
|
81
|
-
res.expiresIn !== null &&
|
|
82
|
-
typeof res.expiresIn.toString === 'function'
|
|
83
|
-
? Number(res.expiresIn.toString())
|
|
84
|
-
: Number(res.expiresIn ?? 0);
|
|
85
|
-
this.logger?.debug('token fetched', {
|
|
86
|
-
expires_in: res.expiresIn,
|
|
87
|
-
expiresInSec: expSec,
|
|
88
|
-
access_token: token_sanitizer_js_1.TokenSanitizer.accessTokenSanitizer().sanitize(res.accessToken),
|
|
89
|
-
});
|
|
90
|
-
const expiration = isFinite(expSec) && expSec > 0 ? new Date(now + expSec * 1000) : undefined;
|
|
91
|
-
return new token_js_1.Token(res.accessToken, expiration);
|
|
92
105
|
}
|
|
93
106
|
canRetry(_err, options) {
|
|
94
107
|
this.logger?.trace('canRetry check', { options });
|
|
@@ -107,13 +120,18 @@ class ExchangeableBearer extends token_js_1.Bearer {
|
|
|
107
120
|
logger;
|
|
108
121
|
$type = 'nebius.sdk.ExchangeableBearer';
|
|
109
122
|
svc = null;
|
|
110
|
-
|
|
123
|
+
metrics;
|
|
124
|
+
constructor(requester, sdk, maxRetries = 2, logger, metrics) {
|
|
111
125
|
super();
|
|
112
126
|
this.requester = requester;
|
|
113
127
|
this.maxRetries = maxRetries;
|
|
114
128
|
this.logger = logger;
|
|
129
|
+
this.metrics = (0, metrics_js_1.authMetricsRecorder)(metrics, 'token-exchange');
|
|
115
130
|
this.setSDK(sdk);
|
|
116
131
|
}
|
|
132
|
+
setMetrics(metrics) {
|
|
133
|
+
this.metrics.setMetrics(metrics);
|
|
134
|
+
}
|
|
117
135
|
[logging_js_1.custom]() {
|
|
118
136
|
return `${this.$type}(requester=${(0, util_1.inspect)(this.requester)})`;
|
|
119
137
|
}
|
|
@@ -144,7 +162,7 @@ class ExchangeableBearer extends token_js_1.Bearer {
|
|
|
144
162
|
receiver() {
|
|
145
163
|
if (!this.svc)
|
|
146
164
|
throw new Error('SDK is not set for the bearer.');
|
|
147
|
-
return new ExchangeableReceiver(this.requester, this.svc, this.maxRetries, this.logger);
|
|
165
|
+
return new ExchangeableReceiver(this.requester, this.svc, this.maxRetries, this.logger, this.metrics);
|
|
148
166
|
}
|
|
149
167
|
}
|
|
150
168
|
exports.ExchangeableBearer = ExchangeableBearer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exchangeable.js","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;
|
|
1
|
+
{"version":3,"file":"exchangeable.js","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,2CAA0F;AAE1F,+DAG0C;AAC1C,8CAQuB;AACvB,0CAAsD;AACtD,8DAAuD;AACvD,mDAA6E;AAK7E,MAAa,wBAAyB,SAAQ,KAAK;IACjD,YAAY,QAAgB,EAAE,GAAY;QACxC,KAAK,CAAC,2CAA2C,QAAQ,cAAc,OAAO,GAAG,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AALD,4DAKC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,SAAiB;QAC3B,KAAK,CAAC,yDAAyD,SAAS,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAED,MAAM,oBAAqB,SAAQ,mBAAQ;IAI/B;IACA;IACA;IACA;IACA;IAPM,KAAK,GAAG,iCAAiC,CAAC;IAClD,KAAK,GAAG,CAAC,CAAC;IAClB,YACU,SAAyB,EACzB,YAAgD,EAChD,oBAA4B,CAAC,EAC7B,MAAe,EACf,UAA+B,IAAA,gCAAmB,EAAC,SAAS,EAAE,gBAAgB,CAAC;QAEvF,KAAK,EAAE,CAAC;QANA,cAAS,GAAT,SAAS,CAAgB;QACzB,iBAAY,GAAZ,YAAY,CAAoC;QAChD,sBAAiB,GAAjB,iBAAiB,CAAY;QAC7B,WAAM,GAAN,MAAM,CAAS;QACf,YAAO,GAAP,OAAO,CAAwE;QAGvF,IAAI,CAAC,MAAM;YACT,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzF,SAAS,CAAC;IACd,CAAC;IAED,CAAC,mBAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,cAAc,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,KAAK,GAAG,CAAC;IACpF,CAAC;IACD,CAAC,uBAAU,CAAC;QACV,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC,SAAS,CAAC;YACtC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC;IACjC,CAAC;IAES,KAAK,CAAC,MAAM,CACpB,SAAkB,EAClB,QAA2C;QAE3C,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,MAAM,KAAK,GAAG,IAAA,wBAAW,GAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,SAAS,CAAC;QACtF,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;YACrD,MAAM,EAAE,GAAa,IAAI,kBAAY,EAAE,CAAC;YAExC,+CAA+C;YAC/C,MAAM,OAAO,GAA6D;gBACxE,oBAAoB,EAAE,IAAI;aAC3B,CAAC;YAEF,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,SAAS,CAAC;gBAClE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACzD,OAAO,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;YAExD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,wBAAwB,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC/B,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBACjC,GAAG,CAAC,SAAS,KAAK,IAAI;gBACtB,OAAO,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU;gBAC1C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAClC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;YAEjC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,EAAE;gBAClC,UAAU,EAAE,GAAG,CAAC,SAAS;gBACzB,YAAY,EAAE,MAAM;gBACpB,YAAY,EAAE,mCAAc,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;aAC9E,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,KAAK,GAAG,IAAI,gBAAK,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,kCAAqB,EAAE,IAAA,6BAAgB,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,gCAAmB,EAAE,IAAA,6BAAgB,EAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAa,EAAE,OAA0C;QAChE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,iBAAiB,CAAC;QACjE,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,yCAAyC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAa,kBAAmB,SAAQ,iBAAM;IAMzB;IAEA;IACA;IARH,KAAK,GAAG,+BAA+B,CAAC;IAChD,GAAG,GAA8C,IAAI,CAAC;IAC7C,OAAO,CAAsB;IAE9C,YACmB,SAAyB,EAC1C,GAAgD,EAC/B,aAAqB,CAAC,EACtB,MAAe,EAChC,OAA0B;QAE1B,KAAK,EAAE,CAAC;QANS,cAAS,GAAT,SAAS,CAAgB;QAEzB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAS;QAIhC,IAAI,CAAC,OAAO,GAAG,IAAA,gCAAmB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,OAAyB;QAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,CAAC,mBAAM,CAAC;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,cAAc,IAAA,cAAO,EAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;IAC/D,CAAC;IACD,CAAC,uBAAU,CAAC;QACV,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,SAAS,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC,SAAS,CAAC;YACtC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAgD;QACrD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IACE,OAAO,GAAG,KAAK,QAAQ;YACvB,GAAG,KAAK,IAAI;YACZ,MAAM,IAAI,GAAG;YACb,OAAQ,GAA6B,CAAC,IAAI,KAAK,UAAU,EACzD,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAClE,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,+BAAW,CAAC,MAAO,GAA6B,CAAC,CAAC,EAAE,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,GAAG,IAAI,+BAAW,CAAC,GAAmB,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACjE,OAAO,IAAI,oBAAoB,CAC7B,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;CACF;AA7DD,gDA6DC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
3
|
-
import { FederatedCredentialsTokenRequester } from '../service_account/federated_credentials.js';
|
|
1
|
+
import { type AuthMetricsInput } from '../metrics.js';
|
|
2
|
+
import { type FederatedCredentialsReader, FederatedCredentialsTokenRequester } from '../service_account/federated_credentials.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 FederatedCredentialsBearer extends Bearer {
|
|
7
7
|
[custom]: () => string;
|
|
8
8
|
readonly $type = "nebius.sdk.FederatedCredentialsBearer";
|
|
9
9
|
private _exchangeable;
|
|
10
|
+
private _renewable;
|
|
10
11
|
private _source;
|
|
12
|
+
private readonly metrics;
|
|
11
13
|
constructor(federatedCredentials: FederatedCredentialsTokenRequester | FederatedCredentialsReader | string, opts?: {
|
|
12
14
|
sdk?: SDKInterface | Promise<SDKInterface> | null;
|
|
13
15
|
maxRetries?: number;
|
|
@@ -17,10 +19,12 @@ export declare class FederatedCredentialsBearer extends Bearer {
|
|
|
17
19
|
retryTimeoutExponent?: number;
|
|
18
20
|
refreshRequestTimeoutMs?: number;
|
|
19
21
|
serviceAccountId?: string | null;
|
|
22
|
+
metrics?: AuthMetricsInput;
|
|
20
23
|
logger?: Logger;
|
|
21
24
|
});
|
|
22
25
|
[customJson](): unknown;
|
|
23
26
|
setSDK(sdk: SDKInterface | Promise<SDKInterface> | null): void;
|
|
27
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
24
28
|
get wrapped(): Bearer | undefined;
|
|
25
29
|
receiver(): Receiver;
|
|
26
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federated_credentials.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/federated_credentials.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"federated_credentials.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/federated_credentials.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,0BAA0B,EAC/B,kCAAkC,EAEnC,MAAM,6CAA6C,CAAC;AACrD,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,0BAA2B,SAAQ,MAAM;IA+FpD,CAAC,MAAM,CAAC,QAAI,MAAM;IA9FlB,SAAgB,KAAK,2CAA2C;IAChE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG5C,oBAAoB,EAAE,kCAAkC,GAAG,0BAA0B,GAAG,MAAM,EAC9F,IAAI,CAAC,EAAE;QACL,GAAG,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QAClD,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,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FederatedCredentialsBearer = void 0;
|
|
4
4
|
const util_1 = require("util");
|
|
5
|
+
const metrics_js_1 = require("../metrics.js");
|
|
5
6
|
const federated_credentials_js_1 = require("../service_account/federated_credentials.js");
|
|
6
7
|
const token_js_1 = require("../token.js");
|
|
7
8
|
const logging_js_1 = require("../util/logging.js");
|
|
@@ -10,7 +11,9 @@ const renewable_js_1 = require("./renewable.js");
|
|
|
10
11
|
class FederatedCredentialsBearer extends token_js_1.Bearer {
|
|
11
12
|
$type = 'nebius.sdk.FederatedCredentialsBearer';
|
|
12
13
|
_exchangeable;
|
|
14
|
+
_renewable;
|
|
13
15
|
_source;
|
|
16
|
+
metrics;
|
|
14
17
|
constructor(federatedCredentials, opts) {
|
|
15
18
|
super();
|
|
16
19
|
let fc = null;
|
|
@@ -33,17 +36,20 @@ class FederatedCredentialsBearer extends token_js_1.Bearer {
|
|
|
33
36
|
throw new TypeError(`federatedCredentials must be FederatedCredentialsTokenRequester, FederatedCredentialsReader or string, got ${typeof federatedCredentials}`);
|
|
34
37
|
}
|
|
35
38
|
const maxRetries = opts?.maxRetries ?? 2;
|
|
36
|
-
this.
|
|
37
|
-
|
|
39
|
+
this.metrics = (0, metrics_js_1.authMetricsRecorder)(opts?.metrics, 'federated-credentials');
|
|
40
|
+
this._exchangeable = new exchangeable_js_1.ExchangeableBearer(fc, opts?.sdk ?? null, maxRetries, opts?.logger?.child('exchangeable'), this.metrics);
|
|
41
|
+
this._renewable = new renewable_js_1.RenewableBearer(this._exchangeable, {
|
|
38
42
|
maxRetries,
|
|
39
43
|
lifetimeSafeFraction: opts?.lifetimeSafeFraction,
|
|
40
44
|
initialRetryTimeoutMs: opts?.initialRetryTimeoutMs,
|
|
41
45
|
maxRetryTimeoutMs: opts?.maxRetryTimeoutMs,
|
|
42
46
|
retryTimeoutExponent: opts?.retryTimeoutExponent,
|
|
43
47
|
refreshRequestTimeoutMs: opts?.refreshRequestTimeoutMs,
|
|
48
|
+
metrics: this.metrics,
|
|
49
|
+
provider: 'federated-credentials',
|
|
44
50
|
logger: opts?.logger?.child('renewable'),
|
|
45
51
|
});
|
|
46
|
-
this._source =
|
|
52
|
+
this._source = this._renewable;
|
|
47
53
|
if (fc instanceof federated_credentials_js_1.FederatedCredentialsTokenRequester &&
|
|
48
54
|
fc.credentials instanceof federated_credentials_js_1.FileFederatedCredentials) {
|
|
49
55
|
opts?.logger?.debug('wrapping with NamedBearer as the credentials are file-based', {
|
|
@@ -65,6 +71,11 @@ class FederatedCredentialsBearer extends token_js_1.Bearer {
|
|
|
65
71
|
setSDK(sdk) {
|
|
66
72
|
this._exchangeable.setSDK(sdk);
|
|
67
73
|
}
|
|
74
|
+
setMetrics(metrics) {
|
|
75
|
+
this.metrics.setMetrics(metrics);
|
|
76
|
+
this._exchangeable.setMetrics(this.metrics);
|
|
77
|
+
this._renewable.setMetrics(this.metrics);
|
|
78
|
+
}
|
|
68
79
|
get wrapped() {
|
|
69
80
|
return this._source;
|
|
70
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federated_credentials.js","sourceRoot":"","sources":["../../../../src/runtime/token/federated_credentials.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;
|
|
1
|
+
{"version":3,"file":"federated_credentials.js","sourceRoot":"","sources":["../../../../src/runtime/token/federated_credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { type AuthMetricsInput } 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 FederationAccountBearer extends Bearer {
|
|
4
5
|
[custom]: () => string;
|
|
5
6
|
readonly $type = "nebius.sdk.FederationAccountBearer";
|
|
6
7
|
private _source;
|
|
8
|
+
private readonly metrics;
|
|
7
9
|
constructor(profileName: string, clientId: string, federationEndpoint: string, federationId: string, opts?: {
|
|
8
10
|
writer?: (s: string) => void;
|
|
9
11
|
logger?: Logger;
|
|
@@ -19,9 +21,11 @@ export declare class FederationAccountBearer extends Bearer {
|
|
|
19
21
|
fileCacheThrottleMs?: number;
|
|
20
22
|
cacheFilePath?: string;
|
|
21
23
|
ca?: Buffer | string | string[];
|
|
24
|
+
metrics?: AuthMetricsInput;
|
|
22
25
|
});
|
|
23
26
|
[customJson](): unknown;
|
|
24
27
|
get wrapped(): Bearer | undefined;
|
|
28
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
25
29
|
receiver(): Receiver;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=federation_account.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation_account.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/federation_account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"federation_account.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/federation_account.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI7E,qBAAa,uBAAwB,SAAQ,MAAM;IA6DjD,CAAC,MAAM,CAAC,QAAI,MAAM;IA5DlB,SAAgB,KAAK,wCAAwC;IAC7D,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG5C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,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,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,EAAE,gBAAgB,CAAC;KAC5B;IAsCH,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAK3C,QAAQ,IAAI,QAAQ;CAGrB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FederationAccountBearer = void 0;
|
|
4
4
|
const util_1 = require("util");
|
|
5
|
+
const metrics_js_1 = require("../metrics.js");
|
|
5
6
|
const token_js_1 = require("../token.js");
|
|
6
7
|
const logging_js_1 = require("../util/logging.js");
|
|
7
8
|
const index_js_1 = require("./federation_bearer/index.js");
|
|
@@ -9,9 +10,11 @@ const async_renewable_bearer_js_1 = require("./file_cache/async_renewable_bearer
|
|
|
9
10
|
class FederationAccountBearer extends token_js_1.Bearer {
|
|
10
11
|
$type = 'nebius.sdk.FederationAccountBearer';
|
|
11
12
|
_source;
|
|
13
|
+
metrics;
|
|
12
14
|
constructor(profileName, clientId, federationEndpoint, federationId, opts) {
|
|
13
15
|
super();
|
|
14
|
-
|
|
16
|
+
this.metrics = (0, metrics_js_1.authMetricsRecorder)(opts?.metrics, 'federation');
|
|
17
|
+
const auth = new index_js_1.FederationBearer(profileName, clientId, federationEndpoint, federationId, opts?.writer, opts?.noBrowserOpen ?? false, opts?.ca instanceof Buffer ? opts.ca : undefined, opts?.logger?.child('federation_auth'), this.metrics);
|
|
15
18
|
const renewable = new async_renewable_bearer_js_1.AsyncRenewableBearer(auth, {
|
|
16
19
|
maxRetries: opts?.maxRetries ?? 2,
|
|
17
20
|
initialSafetyMarginMs: opts?.initialSafetyMarginMs ?? 2 * 60 * 60 * 1000,
|
|
@@ -23,6 +26,8 @@ class FederationAccountBearer extends token_js_1.Bearer {
|
|
|
23
26
|
refreshRequestTimeoutMs: opts?.timeoutMs ?? 5 * 60 * 1000,
|
|
24
27
|
fileCacheThrottleMs: opts?.fileCacheThrottleMs ?? 5 * 60 * 1000,
|
|
25
28
|
cacheFilePath: opts?.cacheFilePath,
|
|
29
|
+
metrics: this.metrics,
|
|
30
|
+
provider: 'federation',
|
|
26
31
|
logger: opts?.logger?.child('renewable'),
|
|
27
32
|
});
|
|
28
33
|
this._source = renewable;
|
|
@@ -39,6 +44,10 @@ class FederationAccountBearer extends token_js_1.Bearer {
|
|
|
39
44
|
get wrapped() {
|
|
40
45
|
return this._source;
|
|
41
46
|
}
|
|
47
|
+
setMetrics(metrics) {
|
|
48
|
+
this.metrics.setMetrics(metrics);
|
|
49
|
+
this._source.setMetrics(this.metrics);
|
|
50
|
+
}
|
|
42
51
|
receiver() {
|
|
43
52
|
return this._source.receiver();
|
|
44
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"federation_account.js","sourceRoot":"","sources":["../../../../src/runtime/token/federation_account.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,0CAA+C;AAC/C,mDAA6E;
|
|
1
|
+
{"version":3,"file":"federation_account.js","sourceRoot":"","sources":["../../../../src/runtime/token/federation_account.ts"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,8CAIuB;AACvB,0CAA+C;AAC/C,mDAA6E;AAC7E,2DAAwF;AACxF,sFAA8E;AAE9E,MAAa,uBAAwB,SAAQ,iBAAM;IACjC,KAAK,GAAG,oCAAoC,CAAC;IACrD,OAAO,CAAuB;IACrB,OAAO,CAAsB;IAE9C,YACE,WAAmB,EACnB,QAAgB,EAChB,kBAA0B,EAC1B,YAAoB,EACpB,IAgBC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAA,gCAAmB,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAG,IAAI,2BAAoB,CACnC,WAAW,EACX,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,IAAI,KAAK,EAC5B,IAAI,EAAE,EAAE,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAChD,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,EACtC,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,gDAAoB,CAAC,IAAI,EAAE;YAC/C,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC;YACjC,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;YACxE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;YACpE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,IAAI,GAAG;YACvD,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,IAAI,KAAK;YAC3D,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,MAAM;YACpD,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,IAAI,GAAG;YACvD,uBAAuB,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YACzD,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;YAC/D,aAAa,EAAE,IAAI,EAAE,aAAa;YAClC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;SACzC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IACD,CAAC,mBAAM,CAAC;QACN,OAAO,kCAAkC,IAAA,cAAO,EAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;IACpE,CAAC;IACD,CAAC,uBAAU,CAAC;QACV,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,MAAM,EAAE,IAAA,wBAAW,EAAC,IAAI,CAAC,OAAO,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,UAAU,CAAC,OAAyB;QAClC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AAnFD,0DAmFC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AuthMetricsInput } 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 FederationBearer extends Bearer {
|
|
@@ -11,7 +12,9 @@ export declare class FederationBearer extends Bearer {
|
|
|
11
12
|
private readonly ca?;
|
|
12
13
|
readonly $type = "nebius.sdk.FederationBearer";
|
|
13
14
|
private readonly logger?;
|
|
14
|
-
|
|
15
|
+
private readonly metrics;
|
|
16
|
+
constructor(profileName: string, clientId: string, federationEndpoint: string, federationId: string, writer?: ((s: string) => void) | undefined, noBrowserOpen?: boolean, ca?: Buffer | undefined, logger?: Logger, metrics?: AuthMetricsInput);
|
|
17
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
15
18
|
[customJson](): unknown;
|
|
16
19
|
get name(): string | undefined;
|
|
17
20
|
receiver(): Receiver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/token/federation_bearer/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/runtime/token/federation_bearer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA+EnE,qBAAa,gBAAiB,SAAQ,MAAM;IA6B1C,CAAC,MAAM,CAAC,QAAI,MAAM;IAxBhB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAVtB,SAAgB,KAAK,iCAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAE3B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,aAAA,EAC5B,aAAa,GAAE,OAAe,EAC9B,EAAE,CAAC,EAAE,MAAM,YAAA,EAC5B,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,gBAAgB;IAa5B,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAM3C,CAAC,UAAU,CAAC,IAAI,OAAO;IAWvB,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,QAAQ,IAAI,QAAQ;CAarB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FederationBearer = void 0;
|
|
4
|
+
const metrics_js_1 = require("../../metrics.js");
|
|
4
5
|
const token_js_1 = require("../../token.js");
|
|
5
6
|
const token_sanitizer_js_1 = require("../../token_sanitizer.js");
|
|
6
7
|
const logging_js_1 = require("../../util/logging.js");
|
|
@@ -13,8 +14,9 @@ class FederationReceiver extends token_js_1.Receiver {
|
|
|
13
14
|
noBrowserOpen;
|
|
14
15
|
ca;
|
|
15
16
|
logger;
|
|
17
|
+
metrics;
|
|
16
18
|
$type = 'nebius.sdk.FederationReceiver';
|
|
17
|
-
constructor(clientId, federationEndpoint, federationId, writer, noBrowserOpen = false, ca, logger) {
|
|
19
|
+
constructor(clientId, federationEndpoint, federationId, writer, noBrowserOpen = false, ca, logger, metrics = (0, metrics_js_1.authMetricsRecorder)(undefined, 'federation')) {
|
|
18
20
|
super();
|
|
19
21
|
this.clientId = clientId;
|
|
20
22
|
this.federationEndpoint = federationEndpoint;
|
|
@@ -23,6 +25,7 @@ class FederationReceiver extends token_js_1.Receiver {
|
|
|
23
25
|
this.noBrowserOpen = noBrowserOpen;
|
|
24
26
|
this.ca = ca;
|
|
25
27
|
this.logger = logger;
|
|
28
|
+
this.metrics = metrics;
|
|
26
29
|
}
|
|
27
30
|
[logging_js_1.custom]() {
|
|
28
31
|
return `${this.$type}(clientId=${this.clientId}, federationEndpoint=${this.federationEndpoint}, federationId=${this.federationId}, noBrowserOpen=${this.noBrowserOpen})`;
|
|
@@ -39,29 +42,38 @@ class FederationReceiver extends token_js_1.Receiver {
|
|
|
39
42
|
};
|
|
40
43
|
}
|
|
41
44
|
async _fetch(timeoutMs, _options) {
|
|
42
|
-
const start =
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
45
|
+
const start = (0, metrics_js_1.metricStart)();
|
|
46
|
+
const startWallMs = Date.now();
|
|
47
|
+
this.logger?.debug('receiver._fetch: start', { timeoutMs, start: startWallMs });
|
|
48
|
+
try {
|
|
49
|
+
const res = await (0, auth_js_1.authorize)({
|
|
50
|
+
clientId: this.clientId,
|
|
51
|
+
federationEndpoint: this.federationEndpoint,
|
|
52
|
+
federationId: this.federationId,
|
|
53
|
+
writer: this.writer,
|
|
54
|
+
noBrowserOpen: this.noBrowserOpen,
|
|
55
|
+
timeoutMs: timeoutMs === undefined ? undefined : Math.max(0, timeoutMs - (Date.now() - startWallMs)),
|
|
56
|
+
ca: this.ca,
|
|
57
|
+
logger: this.logger?.child('auth'),
|
|
58
|
+
});
|
|
59
|
+
this.logger?.trace('receiver._fetch: authorize result', {
|
|
60
|
+
expires_in: res?.expires_in,
|
|
61
|
+
access_token: token_sanitizer_js_1.TokenSanitizer.accessTokenSanitizer().sanitize(res?.access_token),
|
|
62
|
+
});
|
|
63
|
+
if (!res || typeof res.access_token !== 'string' || typeof res.expires_in !== 'number') {
|
|
64
|
+
throw new Error('invalid token response');
|
|
65
|
+
}
|
|
66
|
+
const expiration = res.expires_in > 0 ? new Date(Date.now() + res.expires_in * 1000) : undefined;
|
|
67
|
+
const tok = new token_js_1.Token(res.access_token, expiration);
|
|
68
|
+
this.metrics.tokenAcquire(metrics_js_1.METRIC_RESULT_SUCCESS, (0, metrics_js_1.metricDurationMs)(start), 1);
|
|
69
|
+
this.metrics.tokenLifetime(tok);
|
|
70
|
+
this.logger?.debug('receiver._fetch: received token', { token: tok });
|
|
71
|
+
return tok;
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
this.metrics.tokenAcquire(metrics_js_1.METRIC_RESULT_ERROR, (0, metrics_js_1.metricDurationMs)(start), 1);
|
|
75
|
+
throw err;
|
|
60
76
|
}
|
|
61
|
-
const expiration = res.expires_in > 0 ? new Date(Date.now() + res.expires_in * 1000) : undefined;
|
|
62
|
-
const tok = new token_js_1.Token(res.access_token, expiration);
|
|
63
|
-
this.logger?.debug('receiver._fetch: received token', { token: tok });
|
|
64
|
-
return tok;
|
|
65
77
|
}
|
|
66
78
|
canRetry(_err, _options) {
|
|
67
79
|
this.logger?.debug('receiver.canRetry -> false');
|
|
@@ -78,7 +90,8 @@ class FederationBearer extends token_js_1.Bearer {
|
|
|
78
90
|
ca;
|
|
79
91
|
$type = 'nebius.sdk.FederationBearer';
|
|
80
92
|
logger;
|
|
81
|
-
|
|
93
|
+
metrics;
|
|
94
|
+
constructor(profileName, clientId, federationEndpoint, federationId, writer, noBrowserOpen = false, ca, logger, metrics) {
|
|
82
95
|
super();
|
|
83
96
|
this.profileName = profileName;
|
|
84
97
|
this.clientId = clientId;
|
|
@@ -87,6 +100,7 @@ class FederationBearer extends token_js_1.Bearer {
|
|
|
87
100
|
this.writer = writer;
|
|
88
101
|
this.noBrowserOpen = noBrowserOpen;
|
|
89
102
|
this.ca = ca;
|
|
103
|
+
this.metrics = (0, metrics_js_1.authMetricsRecorder)(metrics, 'federation');
|
|
90
104
|
this.logger = logger?.withFields({
|
|
91
105
|
profile: profileName,
|
|
92
106
|
federationEndpoint,
|
|
@@ -95,6 +109,9 @@ class FederationBearer extends token_js_1.Bearer {
|
|
|
95
109
|
});
|
|
96
110
|
this.logger?.trace('bearer: created');
|
|
97
111
|
}
|
|
112
|
+
setMetrics(metrics) {
|
|
113
|
+
this.metrics.setMetrics(metrics);
|
|
114
|
+
}
|
|
98
115
|
[logging_js_1.custom]() {
|
|
99
116
|
return `${this.$type}(profileName=${this.profileName}, clientId=${this.clientId}, federationEndpoint=${this.federationEndpoint}, federationId=${this.federationId}, noBrowserOpen=${this.noBrowserOpen})`;
|
|
100
117
|
}
|
|
@@ -113,7 +130,7 @@ class FederationBearer extends token_js_1.Bearer {
|
|
|
113
130
|
}
|
|
114
131
|
receiver() {
|
|
115
132
|
this.logger?.trace('bearer.receiver');
|
|
116
|
-
return new FederationReceiver(this.clientId, this.federationEndpoint, this.federationId, this.writer, this.noBrowserOpen, this.ca, this.logger);
|
|
133
|
+
return new FederationReceiver(this.clientId, this.federationEndpoint, this.federationId, this.writer, this.noBrowserOpen, this.ca, this.logger, this.metrics);
|
|
117
134
|
}
|
|
118
135
|
}
|
|
119
136
|
exports.FederationBearer = FederationBearer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/token/federation_bearer/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/runtime/token/federation_bearer/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type AuthMetricsInput } from '../metrics.js';
|
|
2
|
+
import { Bearer, Receiver, Token } from '../token.js';
|
|
2
3
|
import { custom, customJson } from '../util/logging.js';
|
|
3
4
|
export declare class FileBearer extends Bearer {
|
|
4
5
|
[custom]: () => string;
|
|
5
6
|
readonly $type = "nebius.sdk.FileBearer";
|
|
6
7
|
private readonly filePath;
|
|
7
|
-
|
|
8
|
+
private readonly metrics;
|
|
9
|
+
constructor(filePath: string, metrics?: AuthMetricsInput);
|
|
8
10
|
[customJson](): unknown;
|
|
9
11
|
receiver(): Receiver;
|
|
12
|
+
fetchToken(): Promise<Token>;
|
|
13
|
+
setMetrics(metrics: AuthMetricsInput): void;
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/file.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/file.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EAOtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgCxD,qBAAa,UAAW,SAAQ,MAAM;IAUpC,CAAC,MAAM,CAAC,QAAI,MAAM;IATlB,SAAgB,KAAK,2BAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAElC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAQxD,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,QAAQ,IAAI,QAAQ;IAId,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;IAkBlC,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;CAG5C"}
|