@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
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ServiceAccountBearer = void 0;
4
4
  const util_1 = require("util");
5
+ const metrics_js_1 = require("../metrics.js");
5
6
  const service_account_js_1 = require("../service_account/service_account.js");
6
7
  const static_js_1 = require("../service_account/static.js");
7
8
  const token_js_1 = require("../token.js");
@@ -11,7 +12,9 @@ const renewable_js_1 = require("./renewable.js");
11
12
  class ServiceAccountBearer extends token_js_1.Bearer {
12
13
  $type = 'nebius.sdk.ServiceAccountBearer';
13
14
  _exchangeable;
15
+ _renewable;
14
16
  _source;
17
+ metrics;
15
18
  constructor(serviceAccount, opts) {
16
19
  super();
17
20
  let reader = null;
@@ -53,17 +56,20 @@ class ServiceAccountBearer extends token_js_1.Bearer {
53
56
  const saId = serviceAccount.serviceAccountId;
54
57
  const publicKeyId = serviceAccount.publicKeyId;
55
58
  const maxRetries = opts?.maxRetries ?? 2;
56
- this._exchangeable = new exchangeable_js_1.ExchangeableBearer(reader, opts?.sdk ?? null, maxRetries, opts?.logger?.child('exchangeable'));
57
- const renewable = new renewable_js_1.RenewableBearer(this._exchangeable, {
59
+ this.metrics = (0, metrics_js_1.authMetricsRecorder)(opts?.metrics, 'service-account');
60
+ this._exchangeable = new exchangeable_js_1.ExchangeableBearer(reader, opts?.sdk ?? null, maxRetries, opts?.logger?.child('exchangeable'), this.metrics);
61
+ this._renewable = new renewable_js_1.RenewableBearer(this._exchangeable, {
58
62
  maxRetries,
59
63
  lifetimeSafeFraction: opts?.lifetimeSafeFraction,
60
64
  initialRetryTimeoutMs: opts?.initialRetryTimeoutMs,
61
65
  maxRetryTimeoutMs: opts?.maxRetryTimeoutMs,
62
66
  retryTimeoutExponent: opts?.retryTimeoutExponent,
63
67
  refreshRequestTimeoutMs: opts?.refreshRequestTimeoutMs,
68
+ metrics: this.metrics,
69
+ provider: 'service-account',
64
70
  logger: opts?.logger?.child('renewable'),
65
71
  });
66
- this._source = new token_js_1.NamedBearer(renewable, `service-account/${saId}/${publicKeyId}`);
72
+ this._source = new token_js_1.NamedBearer(this._renewable, `service-account/${saId}/${publicKeyId}`);
67
73
  }
68
74
  [logging_js_1.custom]() {
69
75
  return `${this.$type}(${(0, util_1.inspect)(this._source)})`;
@@ -77,6 +83,11 @@ class ServiceAccountBearer extends token_js_1.Bearer {
77
83
  setSDK(sdk) {
78
84
  this._exchangeable.setSDK(sdk);
79
85
  }
86
+ setMetrics(metrics) {
87
+ this.metrics.setMetrics(metrics);
88
+ this._exchangeable.setMetrics(this.metrics);
89
+ this._renewable.setMetrics(this.metrics);
90
+ }
80
91
  get wrapped() {
81
92
  return this._source;
82
93
  }
@@ -85,11 +96,12 @@ class ServiceAccountBearer extends token_js_1.Bearer {
85
96
  }
86
97
  }
87
98
  exports.ServiceAccountBearer = ServiceAccountBearer;
88
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
99
  function isServiceAccountReader(x) {
90
- return (x &&
91
- typeof x === 'object' &&
100
+ return (isObject(x) &&
92
101
  typeof x.read === 'function' &&
93
102
  typeof x.getExchangeTokenRequest === 'function');
94
103
  }
104
+ function isObject(value) {
105
+ return typeof value === 'object' && value !== null;
106
+ }
95
107
  //# sourceMappingURL=service_account.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service_account.js","sourceRoot":"","sources":["../../../../src/runtime/token/service_account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service_account.js","sourceRoot":"","sources":["../../../../src/runtime/token/service_account.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,8 @@ export declare abstract class Bearer {
36
36
  abstract receiver(): Receiver;
37
37
  get name(): string | undefined;
38
38
  get wrapped(): Bearer | undefined;
39
- close(_graceMs?: number): Promise<void>;
39
+ get metricProvider(): string;
40
+ close(graceMs?: number): Promise<void>;
40
41
  }
41
42
  export declare class NamedBearer extends Bearer {
42
43
  [custom]: () => string;
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/runtime/token.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,qBAAa,KAAK;IAUhB,CAAC,MAAM,CAAC,QAAI,MAAM;IATlB,SAAgB,KAAK,EAAE,wBAAwB,CAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAO;gBAEjB,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI;IAS5C,CAAC,UAAU,CAAC,IAAI,MAAM;IAQtB,QAAQ,IAAI,MAAM;IAYlB,MAAM,CAAC,KAAK,IAAI,KAAK;IAIrB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,UAAU,IAAI,IAAI,GAAG,SAAS,CAEjC;IAED,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,OAAO;IAKpB,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK;IAO5E,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAMhC;AAGD,8BAAsB,QAAQ;IAC5B,kBAAyB,KAAK,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;IAErC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GACzC,OAAO,CAAC,KAAK,CAAC;IAEjB,IAAI,MAAM,IAAI,KAAK,GAAG,SAAS,CAE9B;IAEK,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAM3F,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO;CACrF;AAGD,8BAAsB,MAAM;IAC1B,kBAAyB,KAAK,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,IAAI,QAAQ;IAE7B,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAEK,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK9C;AAGD,qBAAa,WAAY,SAAQ,MAAM;IAQrC,CAAC,MAAM,CAAC,QAAI,MAAM;IALhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHxB,SAAgB,KAAK,4BAA4B;gBAE9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAOhC,CAAC,UAAU,CAAC,IAAI,OAAO;IAQvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,QAAQ,IAAI,QAAQ;CAGrB"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/runtime/token.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAe,MAAM,mBAAmB,CAAC;AAEpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,qBAAa,KAAK;IAUhB,CAAC,MAAM,CAAC,QAAI,MAAM;IATlB,SAAgB,KAAK,EAAE,wBAAwB,CAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAO;gBAEjB,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI;IAS5C,CAAC,UAAU,CAAC,IAAI,MAAM;IAQtB,QAAQ,IAAI,MAAM;IAYlB,MAAM,CAAC,KAAK,IAAI,KAAK;IAIrB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,UAAU,IAAI,IAAI,GAAG,SAAS,CAEjC;IAED,OAAO,IAAI,OAAO;IAIlB,SAAS,IAAI,OAAO;IAKpB,MAAM,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,KAAK;IAO5E,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAMhC;AAGD,8BAAsB,QAAQ;IAC5B,kBAAyB,KAAK,EAAE,MAAM,CAAC;IACvC,SAAS,CAAC,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;IAErC,SAAS,CAAC,QAAQ,CAAC,MAAM,CACvB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GACzC,OAAO,CAAC,KAAK,CAAC;IAEjB,IAAI,MAAM,IAAI,KAAK,GAAG,SAAS,CAE9B;IAEK,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IAM3F,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO;CACrF;AAGD,8BAAsB,MAAM;IAC1B,kBAAyB,KAAK,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,QAAQ,IAAI,QAAQ;IAE7B,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,cAAc,IAAI,MAAM,CAI3B;IAEK,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7C;AAGD,qBAAa,WAAY,SAAQ,MAAM;IAQrC,CAAC,MAAM,CAAC,QAAI,MAAM;IALhB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAHxB,SAAgB,KAAK,4BAA4B;gBAE9B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM;IAOhC,CAAC,UAAU,CAAC,IAAI,OAAO;IAQvB,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,QAAQ,IAAI,QAAQ;CAGrB"}
@@ -94,10 +94,14 @@ class Bearer {
94
94
  get wrapped() {
95
95
  return undefined;
96
96
  }
97
- async close(_graceMs) {
98
- if (this.wrapped && typeof this.wrapped.close === 'function') {
99
- await this.wrapped.close(_graceMs);
100
- }
97
+ get metricProvider() {
98
+ const namedProvider = this.name?.split('/')[0];
99
+ if (namedProvider)
100
+ return namedProvider;
101
+ return this.wrapped?.metricProvider ?? this.$type;
102
+ }
103
+ async close(graceMs) {
104
+ await this.wrapped?.close(graceMs);
101
105
  }
102
106
  }
103
107
  exports.Bearer = Bearer;
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/runtime/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/runtime/token.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class GolangDurationParser {
2
+ static parseMs(name: string, value: string): number;
3
+ }
4
+ export declare class GolangBoolParser {
5
+ static parse(name: string, value: string): boolean;
6
+ }
7
+ //# sourceMappingURL=golang_parsers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golang_parsers.d.ts","sourceRoot":"","sources":["../../../../src/runtime/util/golang_parsers.ts"],"names":[],"mappings":"AAaA,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CA4CpD;AAED,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;CAoBnD"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GolangBoolParser = exports.GolangDurationParser = void 0;
4
+ const durationUnitsMs = {
5
+ h: 60 * 60 * 1000,
6
+ m: 60 * 1000,
7
+ ms: 1,
8
+ ns: 1 / 1_000_000,
9
+ s: 1000,
10
+ us: 1 / 1000,
11
+ µs: 1 / 1000,
12
+ μs: 1 / 1000,
13
+ };
14
+ class GolangDurationParser {
15
+ static parseMs(name, value) {
16
+ const trimmed = value.trim();
17
+ if (trimmed === '') {
18
+ throw new Error(`${name} is empty`);
19
+ }
20
+ if (trimmed === '0') {
21
+ return 0;
22
+ }
23
+ let sign = 1;
24
+ let input = trimmed;
25
+ if (input.startsWith('+') || input.startsWith('-')) {
26
+ sign = input.startsWith('-') ? -1 : 1;
27
+ input = input.slice(1);
28
+ }
29
+ if (input === '') {
30
+ throw new Error(`parse ${name}: invalid duration ${JSON.stringify(value)}`);
31
+ }
32
+ let index = 0;
33
+ let totalMs = 0;
34
+ const token = /(\d+(?:\.\d*)?|\.\d+)(ns|us|µs|μs|ms|s|m|h)/y;
35
+ while (index < input.length) {
36
+ token.lastIndex = index;
37
+ const match = token.exec(input);
38
+ if (!match) {
39
+ throw new Error(`parse ${name}: invalid duration ${JSON.stringify(value)}`);
40
+ }
41
+ const amount = Number(match[1]);
42
+ if (!Number.isFinite(amount)) {
43
+ throw new Error(`parse ${name}: invalid duration ${JSON.stringify(value)}`);
44
+ }
45
+ const unit = match[2];
46
+ totalMs += amount * durationUnitsMs[unit];
47
+ index = token.lastIndex;
48
+ }
49
+ totalMs *= sign;
50
+ if (totalMs < 0) {
51
+ throw new Error(`${name} must not be negative`);
52
+ }
53
+ const rounded = Math.round(totalMs);
54
+ return totalMs > 0 && rounded === 0 ? 1 : rounded;
55
+ }
56
+ }
57
+ exports.GolangDurationParser = GolangDurationParser;
58
+ class GolangBoolParser {
59
+ static parse(name, value) {
60
+ switch (value.trim()) {
61
+ case '1':
62
+ case 't':
63
+ case 'T':
64
+ case 'TRUE':
65
+ case 'true':
66
+ case 'True':
67
+ return true;
68
+ case '0':
69
+ case 'f':
70
+ case 'F':
71
+ case 'FALSE':
72
+ case 'false':
73
+ case 'False':
74
+ return false;
75
+ default:
76
+ throw new Error(`parse ${name}: invalid boolean ${JSON.stringify(value)}`);
77
+ }
78
+ }
79
+ }
80
+ exports.GolangBoolParser = GolangBoolParser;
81
+ //# sourceMappingURL=golang_parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"golang_parsers.js","sourceRoot":"","sources":["../../../../src/runtime/util/golang_parsers.ts"],"names":[],"mappings":"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"}
package/dist/cjs/sdk.d.ts CHANGED
@@ -1,12 +1,15 @@
1
- import { CallOptions, ChannelCredentials, Client, ClientOptions, Interceptor, Metadata } from '@grpc/grpc-js';
1
+ import { Client, Metadata } from '@grpc/grpc-js';
2
+ import type { CallOptions, ChannelCredentials, ClientOptions, Interceptor } from '@grpc/grpc-js';
2
3
  import { GetProfileRequest, type GetProfileResponse } from './api/nebius/iam/v1/index.js';
4
+ import { type KeepaliveOptions } from './runtime/keepalive.js';
5
+ import { type AuthMetricsLike, type MetricsLike } from './runtime/metrics.js';
6
+ import { type Resolver } from './runtime/resolver.js';
7
+ import { ServiceAccount as SA, type Reader as SAReader } from './runtime/service_account/service_account.js';
8
+ import { Handler as SDKHandler, Logger as SDKLogger } from './runtime/util/logging.js';
3
9
  import type { Provider as AuthorizationProvider } from './runtime/authorization/provider.js';
4
10
  import type { ConfigReaderLike } from './runtime/cli_config_interfaces.js';
5
11
  import type { Request, RetryOptions } from './runtime/request.js';
6
- import { type Resolver } from './runtime/resolver.js';
7
- import { ServiceAccount as SA, type Reader as SAReader } from './runtime/service_account/service_account.js';
8
12
  import type { Token as AccessToken, Bearer as TokenBearer } from './runtime/token.js';
9
- import { Handler as SDKHandler, Logger as SDKLogger } from './runtime/util/logging.js';
10
13
  export interface SDKInterface {
11
14
  getClientByAddress(address: string): Client;
12
15
  getAddressFromServiceName(serviceName: string, apiServiceName?: string): string;
@@ -48,6 +51,9 @@ export interface SDKOptions {
48
51
  federationInvitationNoBrowserOpen?: boolean;
49
52
  federationInvitationTimeoutMs?: number;
50
53
  userAgentPrefix?: string;
54
+ keepalive?: KeepaliveOptions | false;
55
+ metrics?: MetricsLike;
56
+ authMetrics?: AuthMetricsLike;
51
57
  logger?: SDKLogger | SDKHandler | string | number;
52
58
  perAddress?: Record<string, {
53
59
  credentials?: ChannelCredentials;
@@ -68,9 +74,14 @@ export declare class SDK implements SDKInterface {
68
74
  private _perAddress;
69
75
  private _tlsRootCAs?;
70
76
  private _userAgent;
77
+ private _keepaliveConfig;
78
+ private _metrics;
79
+ private _authMetrics;
71
80
  constructor(options?: SDKOptions);
72
81
  get logger(): SDKLogger;
73
82
  private _initAuthorization;
83
+ private _configureMetricsOnReader;
84
+ private _isConfigMetricsAwareConfigReader;
74
85
  private _normalizeCredentials;
75
86
  private _mkSABearer;
76
87
  private _isAuthProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/sdk.ts"],"names":[],"mappings":"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"}
package/dist/cjs/sdk.js CHANGED
@@ -5,6 +5,8 @@ const grpc_js_1 = require("@grpc/grpc-js");
5
5
  const index_js_1 = require("./api/nebius/iam/v1/index.js");
6
6
  const token_js_1 = require("./runtime/authorization/token.js");
7
7
  const constants_js_1 = require("./runtime/constants.js");
8
+ const keepalive_js_1 = require("./runtime/keepalive.js");
9
+ const metrics_js_1 = require("./runtime/metrics.js");
8
10
  const resolver_js_1 = require("./runtime/resolver.js");
9
11
  const service_account_js_1 = require("./runtime/service_account/service_account.js");
10
12
  const system_certs_js_1 = require("./runtime/tls/system_certs.js");
@@ -15,6 +17,9 @@ const static_js_1 = require("./runtime/token/static.js");
15
17
  const logging_js_1 = require("./runtime/util/logging.js");
16
18
  const version_js_1 = require("./version.js");
17
19
  const DEFAULT_CLOSE_TIMEOUT = 20000;
20
+ function isObject(value) {
21
+ return typeof value === 'object' && value !== null;
22
+ }
18
23
  class SDK {
19
24
  _resolver;
20
25
  _parentId;
@@ -27,9 +32,22 @@ class SDK {
27
32
  _perAddress = new Map();
28
33
  _tlsRootCAs;
29
34
  _userAgent;
35
+ _keepaliveConfig;
36
+ _metrics;
37
+ _authMetrics;
30
38
  constructor(options) {
31
39
  this._logger = (0, logging_js_1.resolveLogger)(options?.logger, 'nebius.sdk');
32
40
  this._logger.debug('Initializing Nebius SDK');
41
+ this._metrics = options?.metrics;
42
+ this._authMetrics = options?.metrics ?? options?.authMetrics;
43
+ if (options?.metrics && options?.authMetrics) {
44
+ this._logger.warn('Both metrics and authMetrics provided; using metrics for auth callbacks.');
45
+ }
46
+ this._keepaliveConfig = (0, keepalive_js_1.keepaliveConfigFromOptions)(options?.keepalive);
47
+ this._logger.debug('Using gRPC keepalive config', { keepalive: this._keepaliveConfig });
48
+ if (options?.configReader) {
49
+ this._configureMetricsOnReader(options.configReader);
50
+ }
33
51
  // Resolve domain
34
52
  let domain = options?.domain;
35
53
  if (domain && domain.trim() !== '') {
@@ -179,6 +197,8 @@ class SDK {
179
197
  // Finally: pull from configReader if available
180
198
  const cr = options.configReader;
181
199
  if (cr) {
200
+ const configMetricsAware = this._isConfigMetricsAwareConfigReader(cr);
201
+ const start = (0, metrics_js_1.metricStart)();
182
202
  try {
183
203
  this._logger.debug('Using config reader for authorization.');
184
204
  const cred = cr.getCredentials({
@@ -188,15 +208,34 @@ class SDK {
188
208
  sdk: this,
189
209
  logger: this._logger.child('config_reader'),
190
210
  });
211
+ if (!configMetricsAware) {
212
+ (0, metrics_js_1.recordConfigMetric)(this._metrics, 'credentialsResolve', 'config-reader', metrics_js_1.METRIC_RESULT_SUCCESS, (0, metrics_js_1.metricDurationMs)(start));
213
+ }
191
214
  const prov2 = this._normalizeCredentials(cred);
192
215
  if (prov2)
193
216
  this._authorizationProvider = prov2;
194
217
  }
195
218
  catch (err) {
219
+ if (!configMetricsAware) {
220
+ (0, metrics_js_1.recordConfigMetric)(this._metrics, 'credentialsResolve', 'config-reader', metrics_js_1.METRIC_RESULT_ERROR, (0, metrics_js_1.metricDurationMs)(start));
221
+ }
196
222
  this._logger.warn('Error using config reader for authorization.', { err });
197
223
  }
198
224
  }
199
225
  }
226
+ _configureMetricsOnReader(configReader) {
227
+ const reader = configReader;
228
+ if (this._metrics && typeof reader.setMetrics === 'function') {
229
+ reader.setMetrics(this._metrics);
230
+ return;
231
+ }
232
+ if (this._authMetrics && typeof reader.setAuthMetrics === 'function') {
233
+ reader.setAuthMetrics(this._authMetrics);
234
+ }
235
+ }
236
+ _isConfigMetricsAwareConfigReader(configReader) {
237
+ return Boolean(this._metrics) && configReader.emitsCredentialsResolveMetrics === true;
238
+ }
200
239
  _normalizeCredentials(init) {
201
240
  if (!init) {
202
241
  this._logger.trace('No credentials provided; authorization disabled.');
@@ -210,49 +249,52 @@ class SDK {
210
249
  // Bearer
211
250
  if (this._isBearer(init)) {
212
251
  this._logger.trace('Using token bearer provider for authorization.');
213
- return new token_js_1.TokenProvider(init);
252
+ return new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(init, this._authMetrics));
214
253
  }
215
254
  // Token
216
255
  if (this._isAccessToken(init)) {
217
256
  this._logger.trace('Using static token for authorization.', {
218
257
  token: init,
219
258
  });
220
- return new token_js_1.TokenProvider(new static_js_1.StaticBearer(init));
259
+ return new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(new static_js_1.StaticBearer(init), this._authMetrics));
221
260
  }
222
261
  // token string
223
262
  if (typeof init === 'string') {
224
263
  this._logger.trace('Using token string for authorization.');
225
- return new token_js_1.TokenProvider(new static_js_1.StaticBearer(init));
264
+ return new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(new static_js_1.StaticBearer(init), this._authMetrics));
226
265
  }
227
266
  // token file
228
267
  if (this._isTokenFile(init)) {
229
268
  this._logger.trace('Using token file for authorization.', {
230
269
  tokenFile: init.tokenFile,
231
270
  });
232
- return new token_js_1.TokenProvider(new file_js_1.FileBearer(init.tokenFile));
271
+ return new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(new file_js_1.FileBearer(init.tokenFile), this._authMetrics));
233
272
  }
234
273
  // Federation direct config
235
274
  if (this._isFederationInit(init)) {
236
- const f = init;
237
275
  this._logger.trace('Using federation credentials for authorization.', {
238
- profile: f.profileName,
239
- clientId: f.clientId,
240
- federationEndpoint: f.federationEndpoint,
241
- federationId: f.federationId,
276
+ profile: init.profileName,
277
+ clientId: init.clientId,
278
+ federationEndpoint: init.federationEndpoint,
279
+ federationId: init.federationId,
242
280
  });
243
- return new token_js_1.TokenProvider(new federation_account_js_1.FederationAccountBearer(f.profileName, f.clientId, f.federationEndpoint, f.federationId, {
244
- writer: f.writer,
245
- noBrowserOpen: !!f.noBrowserOpen,
246
- timeoutMs: f.timeoutMs,
281
+ const bearer = new federation_account_js_1.FederationAccountBearer(init.profileName, init.clientId, init.federationEndpoint, init.federationId, {
282
+ writer: init.writer,
283
+ noBrowserOpen: !!init.noBrowserOpen,
284
+ timeoutMs: init.timeoutMs,
247
285
  ca: this._tlsRootCAs,
286
+ metrics: this._authMetrics,
248
287
  logger: this._logger.child('federation_account'),
249
- }));
288
+ });
289
+ return new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(bearer, this._authMetrics));
250
290
  }
251
291
  // Service account (reader or concrete or raw params)
252
292
  if (this._isSAReader(init) || this._isSA(init) || this._isSAParams(init)) {
253
293
  this._logger.trace('Using service account for authorization.');
254
294
  const bearer = this._mkSABearer(init);
255
- return bearer ? new token_js_1.TokenProvider(bearer) : undefined;
295
+ return bearer
296
+ ? new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(bearer, this._authMetrics))
297
+ : undefined;
256
298
  }
257
299
  this._logger.warn('Unrecognized credentials format; authorization disabled.', { init });
258
300
  return undefined;
@@ -265,6 +307,7 @@ class SDK {
265
307
  });
266
308
  return new service_account_js_2.ServiceAccountBearer(sa, {
267
309
  sdk: this,
310
+ metrics: this._authMetrics,
268
311
  logger: this._logger.child('service_account'),
269
312
  });
270
313
  }
@@ -272,6 +315,7 @@ class SDK {
272
315
  this._logger.trace('Using service account for authorization.', { sa });
273
316
  return new service_account_js_2.ServiceAccountBearer(sa, {
274
317
  sdk: this,
318
+ metrics: this._authMetrics,
275
319
  logger: this._logger.child('service_account'),
276
320
  });
277
321
  }
@@ -280,11 +324,11 @@ class SDK {
280
324
  serviceAccountId: sa.serviceAccountId,
281
325
  publicKeyId: sa.publicKeyId,
282
326
  });
283
- const p = sa;
284
- return new service_account_js_2.ServiceAccountBearer(p.serviceAccountId, {
285
- publicKeyId: p.publicKeyId,
286
- privateKeyPem: p.privateKeyPem,
327
+ return new service_account_js_2.ServiceAccountBearer(sa.serviceAccountId, {
328
+ publicKeyId: sa.publicKeyId,
329
+ privateKeyPem: sa.privateKeyPem,
287
330
  sdk: this,
331
+ metrics: this._authMetrics,
288
332
  logger: this._logger.child('service_account'),
289
333
  });
290
334
  }
@@ -298,50 +342,37 @@ class SDK {
298
342
  return undefined;
299
343
  }
300
344
  }
301
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
302
345
  _isAuthProvider(x) {
303
- return x && typeof x === 'object' && typeof x.authenticator === 'function';
346
+ return isObject(x) && typeof x.authenticator === 'function';
304
347
  }
305
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
306
348
  _isBearer(x) {
307
- return x && typeof x === 'object' && typeof x.receiver === 'function';
349
+ return isObject(x) && typeof x.receiver === 'function';
308
350
  }
309
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
310
351
  _isAccessToken(x) {
311
- return (x &&
312
- typeof x === 'object' &&
352
+ return (isObject(x) &&
313
353
  typeof x.token === 'string' &&
314
354
  x.$type === 'nebius.iam.AccessToken');
315
355
  }
316
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
317
356
  _isTokenFile(x) {
318
- return x && typeof x === 'object' && typeof x.tokenFile === 'string';
357
+ return isObject(x) && typeof x.tokenFile === 'string';
319
358
  }
320
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
321
359
  _isFederationInit(x) {
322
- return (x &&
323
- typeof x === 'object' &&
360
+ return (isObject(x) &&
324
361
  x.type === 'federation' &&
325
362
  typeof x.clientId === 'string' &&
326
363
  typeof x.federationEndpoint === 'string' &&
327
364
  typeof x.federationId === 'string');
328
365
  }
329
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
330
366
  _isSAReader(x) {
331
- return (x &&
332
- typeof x === 'object' &&
367
+ return (isObject(x) &&
333
368
  typeof x.read === 'function' &&
334
369
  typeof x.getExchangeTokenRequest === 'function');
335
370
  }
336
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
371
  _isSA(x) {
338
372
  return x instanceof service_account_js_1.ServiceAccount;
339
373
  }
340
- _isSAParams(
341
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
342
- x) {
343
- return (x &&
344
- typeof x === 'object' &&
374
+ _isSAParams(x) {
375
+ return (isObject(x) &&
345
376
  typeof x.serviceAccountId === 'string' &&
346
377
  typeof x.publicKeyId === 'string' &&
347
378
  typeof x.privateKeyPem === 'string');
@@ -398,15 +429,12 @@ class SDK {
398
429
  const logger = this._logger.withFields({ address });
399
430
  logger.trace('Getting gRPC client options by address.');
400
431
  const addrCfg = this._perAddress.get(address);
401
- const combinedInterceptors = [
402
- ...(this._extraInterceptors || []),
403
- ...(addrCfg?.interceptors ?? []),
404
- ];
432
+ const combinedInterceptors = [...this._extraInterceptors, ...(addrCfg?.interceptors ?? [])];
405
433
  const hasInts = combinedInterceptors.length > 0;
406
434
  if (hasInts) {
407
435
  logger.trace('Using combined interceptors.', {
408
436
  count: combinedInterceptors.length,
409
- hasExtraInterceptors: (this._extraInterceptors || []).length > 0,
437
+ hasExtraInterceptors: this._extraInterceptors.length > 0,
410
438
  hasPerAddressInterceptors: (addrCfg?.interceptors ?? []).length > 0,
411
439
  });
412
440
  }
@@ -423,10 +451,11 @@ class SDK {
423
451
  };
424
452
  collect(this._clientOptions);
425
453
  collect(addrCfg?.clientOptions);
426
- const primaryUA = (primaryParts.length > 0 ? primaryParts.join(' ') + ' ' : '') + this._userAgent;
454
+ const primaryUA = [...primaryParts, this._userAgent].join(' ');
427
455
  const ret = {
428
- ...(this._clientOptions || {}),
429
- ...(addrCfg?.clientOptions || {}),
456
+ ...(0, keepalive_js_1.keepaliveClientOptions)(this._keepaliveConfig),
457
+ ...(this._clientOptions ?? {}),
458
+ ...(addrCfg?.clientOptions ?? {}),
430
459
  ...(hasInts ? { interceptors: combinedInterceptors } : {}),
431
460
  'grpc.primary_user_agent': primaryUA,
432
461
  };
@@ -446,7 +475,7 @@ class SDK {
446
475
  }
447
476
  setTokenBearerAsAuthorization(bearer) {
448
477
  this._logger.trace('Setting token bearer as authorization.', { bearer });
449
- this._authorizationProvider = new token_js_1.TokenProvider(bearer);
478
+ this._authorizationProvider = new token_js_1.TokenProvider((0, metrics_js_1.instrumentBearer)(bearer, this._authMetrics));
450
479
  }
451
480
  // Allow adding extra interceptors (idempotency/cleaner analogs)
452
481
  addInterceptors(...ints) {