@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.
Files changed (189) hide show
  1. package/dist/cjs/api/nebius/iam/v1/index.d.ts +4 -0
  2. package/dist/cjs/api/nebius/iam/v1/index.d.ts.map +1 -1
  3. package/dist/cjs/api/nebius/iam/v1/index.js.map +1 -1
  4. package/dist/cjs/api/nebius/iam/v2/index.d.ts +5 -0
  5. package/dist/cjs/api/nebius/iam/v2/index.d.ts.map +1 -1
  6. package/dist/cjs/api/nebius/iam/v2/index.js +23 -0
  7. package/dist/cjs/api/nebius/iam/v2/index.js.map +1 -1
  8. package/dist/cjs/api/nebius/storage/v1/index.d.ts +11 -6
  9. package/dist/cjs/api/nebius/storage/v1/index.d.ts.map +1 -1
  10. package/dist/cjs/api/nebius/storage/v1/index.js +9 -1
  11. package/dist/cjs/api/nebius/storage/v1/index.js.map +1 -1
  12. package/dist/cjs/api/nebius/vpc/v1/index.d.ts +18 -0
  13. package/dist/cjs/api/nebius/vpc/v1/index.d.ts.map +1 -1
  14. package/dist/cjs/api/nebius/vpc/v1/index.js +32 -3
  15. package/dist/cjs/api/nebius/vpc/v1/index.js.map +1 -1
  16. package/dist/cjs/index.d.ts +2 -0
  17. package/dist/cjs/index.d.ts.map +1 -1
  18. package/dist/cjs/index.js +2 -0
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/runtime/cli_config.d.ts +12 -1
  21. package/dist/cjs/runtime/cli_config.d.ts.map +1 -1
  22. package/dist/cjs/runtime/cli_config.js +243 -135
  23. package/dist/cjs/runtime/cli_config.js.map +1 -1
  24. package/dist/cjs/runtime/cli_config_interfaces.d.ts +11 -2
  25. package/dist/cjs/runtime/cli_config_interfaces.d.ts.map +1 -1
  26. package/dist/cjs/runtime/error.d.ts.map +1 -1
  27. package/dist/cjs/runtime/error.js.map +1 -1
  28. package/dist/cjs/runtime/keepalive.d.ts +29 -0
  29. package/dist/cjs/runtime/keepalive.d.ts.map +1 -0
  30. package/dist/cjs/runtime/keepalive.js +112 -0
  31. package/dist/cjs/runtime/keepalive.js.map +1 -0
  32. package/dist/cjs/runtime/metrics.d.ts +85 -0
  33. package/dist/cjs/runtime/metrics.d.ts.map +1 -0
  34. package/dist/cjs/runtime/metrics.js +241 -0
  35. package/dist/cjs/runtime/metrics.js.map +1 -0
  36. package/dist/cjs/runtime/protos/wkt.d.ts.map +1 -1
  37. package/dist/cjs/runtime/protos/wkt.js.map +1 -1
  38. package/dist/cjs/runtime/token/exchangeable.d.ts +5 -2
  39. package/dist/cjs/runtime/token/exchangeable.d.ts.map +1 -1
  40. package/dist/cjs/runtime/token/exchangeable.js +52 -34
  41. package/dist/cjs/runtime/token/exchangeable.js.map +1 -1
  42. package/dist/cjs/runtime/token/federated_credentials.d.ts +7 -3
  43. package/dist/cjs/runtime/token/federated_credentials.d.ts.map +1 -1
  44. package/dist/cjs/runtime/token/federated_credentials.js +14 -3
  45. package/dist/cjs/runtime/token/federated_credentials.js.map +1 -1
  46. package/dist/cjs/runtime/token/federation_account.d.ts +4 -0
  47. package/dist/cjs/runtime/token/federation_account.d.ts.map +1 -1
  48. package/dist/cjs/runtime/token/federation_account.js +10 -1
  49. package/dist/cjs/runtime/token/federation_account.js.map +1 -1
  50. package/dist/cjs/runtime/token/federation_bearer/index.d.ts +4 -1
  51. package/dist/cjs/runtime/token/federation_bearer/index.d.ts.map +1 -1
  52. package/dist/cjs/runtime/token/federation_bearer/index.js +42 -25
  53. package/dist/cjs/runtime/token/federation_bearer/index.js.map +1 -1
  54. package/dist/cjs/runtime/token/file.d.ts +6 -2
  55. package/dist/cjs/runtime/token/file.d.ts.map +1 -1
  56. package/dist/cjs/runtime/token/file.js +33 -11
  57. package/dist/cjs/runtime/token/file.js.map +1 -1
  58. package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.d.ts +8 -3
  59. package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.d.ts.map +1 -1
  60. package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.js +110 -56
  61. package/dist/cjs/runtime/token/file_cache/async_renewable_bearer.js.map +1 -1
  62. package/dist/cjs/runtime/token/file_cache/file_bearer.d.ts +4 -1
  63. package/dist/cjs/runtime/token/file_cache/file_bearer.d.ts.map +1 -1
  64. package/dist/cjs/runtime/token/file_cache/file_bearer.js +25 -4
  65. package/dist/cjs/runtime/token/file_cache/file_bearer.js.map +1 -1
  66. package/dist/cjs/runtime/token/file_cache/renewable_bearer.d.ts +5 -2
  67. package/dist/cjs/runtime/token/file_cache/renewable_bearer.d.ts.map +1 -1
  68. package/dist/cjs/runtime/token/file_cache/renewable_bearer.js +47 -7
  69. package/dist/cjs/runtime/token/file_cache/renewable_bearer.js.map +1 -1
  70. package/dist/cjs/runtime/token/renewable.d.ts +8 -3
  71. package/dist/cjs/runtime/token/renewable.d.ts.map +1 -1
  72. package/dist/cjs/runtime/token/renewable.js +101 -54
  73. package/dist/cjs/runtime/token/renewable.js.map +1 -1
  74. package/dist/cjs/runtime/token/service_account.d.ts +7 -3
  75. package/dist/cjs/runtime/token/service_account.d.ts.map +1 -1
  76. package/dist/cjs/runtime/token/service_account.js +18 -6
  77. package/dist/cjs/runtime/token/service_account.js.map +1 -1
  78. package/dist/cjs/runtime/token.d.ts +2 -1
  79. package/dist/cjs/runtime/token.d.ts.map +1 -1
  80. package/dist/cjs/runtime/token.js +8 -4
  81. package/dist/cjs/runtime/token.js.map +1 -1
  82. package/dist/cjs/runtime/util/golang_parsers.d.ts +7 -0
  83. package/dist/cjs/runtime/util/golang_parsers.d.ts.map +1 -0
  84. package/dist/cjs/runtime/util/golang_parsers.js +81 -0
  85. package/dist/cjs/runtime/util/golang_parsers.js.map +1 -0
  86. package/dist/cjs/sdk.d.ts +15 -4
  87. package/dist/cjs/sdk.d.ts.map +1 -1
  88. package/dist/cjs/sdk.js +78 -49
  89. package/dist/cjs/sdk.js.map +1 -1
  90. package/dist/cjs/version.d.ts +1 -1
  91. package/dist/cjs/version.d.ts.map +1 -1
  92. package/dist/cjs/version.js +1 -1
  93. package/dist/cjs/version.js.map +1 -1
  94. package/dist/esm/api/nebius/iam/v1/index.d.ts +4 -0
  95. package/dist/esm/api/nebius/iam/v1/index.d.ts.map +1 -1
  96. package/dist/esm/api/nebius/iam/v1/index.js.map +1 -1
  97. package/dist/esm/api/nebius/iam/v2/index.d.ts +5 -0
  98. package/dist/esm/api/nebius/iam/v2/index.d.ts.map +1 -1
  99. package/dist/esm/api/nebius/iam/v2/index.js +23 -0
  100. package/dist/esm/api/nebius/iam/v2/index.js.map +1 -1
  101. package/dist/esm/api/nebius/storage/v1/index.d.ts +11 -6
  102. package/dist/esm/api/nebius/storage/v1/index.d.ts.map +1 -1
  103. package/dist/esm/api/nebius/storage/v1/index.js +9 -1
  104. package/dist/esm/api/nebius/storage/v1/index.js.map +1 -1
  105. package/dist/esm/api/nebius/vpc/v1/index.d.ts +18 -0
  106. package/dist/esm/api/nebius/vpc/v1/index.d.ts.map +1 -1
  107. package/dist/esm/api/nebius/vpc/v1/index.js +29 -0
  108. package/dist/esm/api/nebius/vpc/v1/index.js.map +1 -1
  109. package/dist/esm/index.d.ts +2 -0
  110. package/dist/esm/index.d.ts.map +1 -1
  111. package/dist/esm/index.js +2 -0
  112. package/dist/esm/index.js.map +1 -1
  113. package/dist/esm/runtime/cli_config.d.ts +12 -1
  114. package/dist/esm/runtime/cli_config.d.ts.map +1 -1
  115. package/dist/esm/runtime/cli_config.js +243 -135
  116. package/dist/esm/runtime/cli_config.js.map +1 -1
  117. package/dist/esm/runtime/cli_config_interfaces.d.ts +11 -2
  118. package/dist/esm/runtime/cli_config_interfaces.d.ts.map +1 -1
  119. package/dist/esm/runtime/error.d.ts.map +1 -1
  120. package/dist/esm/runtime/error.js +1 -1
  121. package/dist/esm/runtime/error.js.map +1 -1
  122. package/dist/esm/runtime/keepalive.d.ts +29 -0
  123. package/dist/esm/runtime/keepalive.d.ts.map +1 -0
  124. package/dist/esm/runtime/keepalive.js +105 -0
  125. package/dist/esm/runtime/keepalive.js.map +1 -0
  126. package/dist/esm/runtime/metrics.d.ts +85 -0
  127. package/dist/esm/runtime/metrics.d.ts.map +1 -0
  128. package/dist/esm/runtime/metrics.js +228 -0
  129. package/dist/esm/runtime/metrics.js.map +1 -0
  130. package/dist/esm/runtime/protos/wkt.d.ts.map +1 -1
  131. package/dist/esm/runtime/protos/wkt.js +1 -1
  132. package/dist/esm/runtime/protos/wkt.js.map +1 -1
  133. package/dist/esm/runtime/token/exchangeable.d.ts +5 -2
  134. package/dist/esm/runtime/token/exchangeable.d.ts.map +1 -1
  135. package/dist/esm/runtime/token/exchangeable.js +52 -34
  136. package/dist/esm/runtime/token/exchangeable.js.map +1 -1
  137. package/dist/esm/runtime/token/federated_credentials.d.ts +7 -3
  138. package/dist/esm/runtime/token/federated_credentials.d.ts.map +1 -1
  139. package/dist/esm/runtime/token/federated_credentials.js +14 -3
  140. package/dist/esm/runtime/token/federated_credentials.js.map +1 -1
  141. package/dist/esm/runtime/token/federation_account.d.ts +4 -0
  142. package/dist/esm/runtime/token/federation_account.d.ts.map +1 -1
  143. package/dist/esm/runtime/token/federation_account.js +10 -1
  144. package/dist/esm/runtime/token/federation_account.js.map +1 -1
  145. package/dist/esm/runtime/token/federation_bearer/index.d.ts +4 -1
  146. package/dist/esm/runtime/token/federation_bearer/index.d.ts.map +1 -1
  147. package/dist/esm/runtime/token/federation_bearer/index.js +42 -25
  148. package/dist/esm/runtime/token/federation_bearer/index.js.map +1 -1
  149. package/dist/esm/runtime/token/file.d.ts +6 -2
  150. package/dist/esm/runtime/token/file.d.ts.map +1 -1
  151. package/dist/esm/runtime/token/file.js +33 -11
  152. package/dist/esm/runtime/token/file.js.map +1 -1
  153. package/dist/esm/runtime/token/file_cache/async_renewable_bearer.d.ts +8 -3
  154. package/dist/esm/runtime/token/file_cache/async_renewable_bearer.d.ts.map +1 -1
  155. package/dist/esm/runtime/token/file_cache/async_renewable_bearer.js +110 -56
  156. package/dist/esm/runtime/token/file_cache/async_renewable_bearer.js.map +1 -1
  157. package/dist/esm/runtime/token/file_cache/file_bearer.d.ts +4 -1
  158. package/dist/esm/runtime/token/file_cache/file_bearer.d.ts.map +1 -1
  159. package/dist/esm/runtime/token/file_cache/file_bearer.js +25 -4
  160. package/dist/esm/runtime/token/file_cache/file_bearer.js.map +1 -1
  161. package/dist/esm/runtime/token/file_cache/renewable_bearer.d.ts +5 -2
  162. package/dist/esm/runtime/token/file_cache/renewable_bearer.d.ts.map +1 -1
  163. package/dist/esm/runtime/token/file_cache/renewable_bearer.js +47 -7
  164. package/dist/esm/runtime/token/file_cache/renewable_bearer.js.map +1 -1
  165. package/dist/esm/runtime/token/renewable.d.ts +8 -3
  166. package/dist/esm/runtime/token/renewable.d.ts.map +1 -1
  167. package/dist/esm/runtime/token/renewable.js +101 -54
  168. package/dist/esm/runtime/token/renewable.js.map +1 -1
  169. package/dist/esm/runtime/token/service_account.d.ts +7 -3
  170. package/dist/esm/runtime/token/service_account.d.ts.map +1 -1
  171. package/dist/esm/runtime/token/service_account.js +19 -7
  172. package/dist/esm/runtime/token/service_account.js.map +1 -1
  173. package/dist/esm/runtime/token.d.ts +2 -1
  174. package/dist/esm/runtime/token.d.ts.map +1 -1
  175. package/dist/esm/runtime/token.js +8 -4
  176. package/dist/esm/runtime/token.js.map +1 -1
  177. package/dist/esm/runtime/util/golang_parsers.d.ts +7 -0
  178. package/dist/esm/runtime/util/golang_parsers.d.ts.map +1 -0
  179. package/dist/esm/runtime/util/golang_parsers.js +76 -0
  180. package/dist/esm/runtime/util/golang_parsers.js.map +1 -0
  181. package/dist/esm/sdk.d.ts +15 -4
  182. package/dist/esm/sdk.d.ts.map +1 -1
  183. package/dist/esm/sdk.js +80 -51
  184. package/dist/esm/sdk.js.map +1 -1
  185. package/dist/esm/version.d.ts +1 -1
  186. package/dist/esm/version.d.ts.map +1 -1
  187. package/dist/esm/version.js +1 -1
  188. package/dist/esm/version.js.map +1 -1
  189. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"exchangeable.d.ts","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,oBAAoB,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE7E,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;CAI3C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,SAAS,EAAE,MAAM;CAI9B;AAiGD,qBAAa,kBAAmB,SAAQ,MAAM;IAc5C,CAAC,MAAM,CAAC,QAAI,MAAM;IAThB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,SAAgB,KAAK,mCAAmC;IACxD,OAAO,CAAC,GAAG,CAAmD;gBAG3C,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;IASlC,CAAC,UAAU,CAAC,IAAI,OAAO;IAQvB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI;IAmB9D,QAAQ,IAAI,QAAQ;CAIrB;AAED,MAAM,WAAW,cAAc;IAC7B,uBAAuB,IAAI,oBAAoB,CAAC;CACjD"}
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 req = this.requester.getExchangeTokenRequest();
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
- const md = new grpc_js_1.Metadata();
61
- // Disable SDK-side authorization for this call
62
- const options = {
63
- authorizationDisable: true,
64
- };
65
- if (typeof timeoutMs === 'number' && Number.isFinite(timeoutMs)) {
66
- this.logger = this.logger?.withFields({ timeoutMs }) ?? undefined;
67
- this.logger?.trace('setting deadline for exchange call');
68
- options.deadline = new Date(now + Math.max(0, timeoutMs));
69
- }
70
- this.logger?.trace('fetching service client');
71
- const svc = await this.getSvc();
72
- this.logger?.trace('making exchange call');
73
- const res = await svc.exchange(req, md, options).result;
74
- if (!res || typeof res !== 'object') {
75
- throw new UnsupportedResponseError('CreateTokenResponse', res);
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
- if (res.tokenType !== 'Bearer') {
78
- throw new UnsupportedTokenTypeError(res.tokenType ?? String(res.tokenType));
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
- constructor(requester, sdk, maxRetries = 2, logger) {
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":"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"}
1
+ {"version":3,"file":"exchangeable.js","sourceRoot":"","sources":["../../../../src/runtime/token/exchangeable.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import type { SDKInterface } from '../../sdk.js';
2
- import type { FederatedCredentialsReader } from '../service_account/federated_credentials.js';
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,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EACL,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;AAK7E,qBAAa,0BAA2B,SAAQ,MAAM;IAwFpD,CAAC,MAAM,CAAC,QAAI,MAAM;IAvFlB,SAAgB,KAAK,2CAA2C;IAChE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAS;gBAGtB,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,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IA0EH,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,IAAI;IAI9D,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,QAAQ,IAAI,QAAQ;CAGrB"}
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._exchangeable = new exchangeable_js_1.ExchangeableBearer(fc, opts?.sdk ?? null, maxRetries, opts?.logger?.child('exchangeable'));
37
- const renewable = new renewable_js_1.RenewableBearer(this._exchangeable, {
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 = renewable;
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":"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"}
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;AAK7E,qBAAa,uBAAwB,SAAQ,MAAM;IAuDjD,CAAC,MAAM,CAAC,QAAI,MAAM;IAtDlB,SAAgB,KAAK,wCAAwC;IAC7D,OAAO,CAAC,OAAO,CAAuB;gBAGpC,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;KACjC;IAkCH,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,QAAQ,IAAI,QAAQ;CAGrB"}
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
- 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'));
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;AAE7E,2DAAwF;AACxF,sFAA8E;AAE9E,MAAa,uBAAwB,SAAQ,iBAAM;IACjC,KAAK,GAAG,oCAAoC,CAAC;IACrD,OAAO,CAAuB;IAEtC,YACE,WAAmB,EACnB,QAAgB,EAChB,kBAA0B,EAC1B,YAAoB,EACpB,IAeC;QAED,KAAK,EAAE,CAAC;QAER,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,CACvC,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,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,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACF;AAxED,0DAwEC"}
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
- constructor(profileName: string, clientId: string, federationEndpoint: string, federationId: string, writer?: ((s: string) => void) | undefined, noBrowserOpen?: boolean, ca?: Buffer | undefined, logger?: Logger);
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":"AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAqEnE,qBAAa,gBAAiB,SAAQ,MAAM;IAsB1C,CAAC,MAAM,CAAC,QAAI,MAAM;IAlBhB,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;IATtB,SAAgB,KAAK,iCAAiC;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;gBAEd,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;IAcjB,CAAC,UAAU,CAAC,IAAI,OAAO;IAWvB,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,QAAQ,IAAI,QAAQ;CAYrB"}
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 = Date.now();
43
- this.logger?.debug('receiver._fetch: start', { timeoutMs, start });
44
- const res = await (0, auth_js_1.authorize)({
45
- clientId: this.clientId,
46
- federationEndpoint: this.federationEndpoint,
47
- federationId: this.federationId,
48
- writer: this.writer,
49
- noBrowserOpen: this.noBrowserOpen,
50
- timeoutMs: timeoutMs === undefined ? undefined : Math.max(0, timeoutMs - (Date.now() - start)),
51
- ca: this.ca,
52
- logger: this.logger?.child('auth'),
53
- });
54
- this.logger?.trace('receiver._fetch: authorize result', {
55
- expires_in: res?.expires_in,
56
- access_token: token_sanitizer_js_1.TokenSanitizer.accessTokenSanitizer().sanitize(res?.access_token),
57
- });
58
- if (!res || typeof res.access_token !== 'string' || typeof res.expires_in !== 'number') {
59
- throw new Error('invalid token response');
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
- constructor(profileName, clientId, federationEndpoint, federationId, writer, noBrowserOpen = false, ca, logger) {
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":"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"}
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 { Bearer, Receiver } from '../token.js';
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
- constructor(filePath: string);
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":"AAGA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAS,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAgCxD,qBAAa,UAAW,SAAQ,MAAM;IAOpC,CAAC,MAAM,CAAC,QAAI,MAAM;IANlB,SAAgB,KAAK,2BAA2B;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBACtB,QAAQ,EAAE,MAAM;IAO5B,CAAC,UAAU,CAAC,IAAI,OAAO;IAOvB,QAAQ,IAAI,QAAQ;CAGrB"}
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"}