cribl-control-plane 0.0.58 → 0.0.60

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 (36) hide show
  1. package/README.md +13 -11
  2. package/RUNTIMES.md +6 -6
  3. package/dist/commonjs/hooks/clientcredentials.d.ts +3 -4
  4. package/dist/commonjs/hooks/clientcredentials.d.ts.map +1 -1
  5. package/dist/commonjs/hooks/clientcredentials.js +47 -40
  6. package/dist/commonjs/hooks/clientcredentials.js.map +1 -1
  7. package/dist/commonjs/lib/config.d.ts +3 -3
  8. package/dist/commonjs/lib/config.js +3 -3
  9. package/dist/commonjs/lib/config.js.map +1 -1
  10. package/dist/commonjs/lib/oauth2-sessions.d.ts +18 -0
  11. package/dist/commonjs/lib/oauth2-sessions.d.ts.map +1 -0
  12. package/dist/commonjs/lib/oauth2-sessions.js +105 -0
  13. package/dist/commonjs/lib/oauth2-sessions.js.map +1 -0
  14. package/dist/esm/hooks/clientcredentials.d.ts +3 -4
  15. package/dist/esm/hooks/clientcredentials.d.ts.map +1 -1
  16. package/dist/esm/hooks/clientcredentials.js +47 -40
  17. package/dist/esm/hooks/clientcredentials.js.map +1 -1
  18. package/dist/esm/lib/config.d.ts +3 -3
  19. package/dist/esm/lib/config.js +3 -3
  20. package/dist/esm/lib/config.js.map +1 -1
  21. package/dist/esm/lib/oauth2-sessions.d.ts +18 -0
  22. package/dist/esm/lib/oauth2-sessions.d.ts.map +1 -0
  23. package/dist/esm/lib/oauth2-sessions.js +101 -0
  24. package/dist/esm/lib/oauth2-sessions.js.map +1 -0
  25. package/examples/example-cloud-auth.ts +2 -2
  26. package/examples/example-cloud-search-packs-lake.ts +2 -2
  27. package/examples/example-cloud-worker-group.ts +2 -2
  28. package/examples/package-lock.json +1 -1
  29. package/jsr.json +1 -1
  30. package/package.json +1 -1
  31. package/src/hooks/clientcredentials.ts +66 -56
  32. package/src/lib/config.ts +3 -3
  33. package/src/lib/oauth2-sessions.ts +147 -0
  34. package/docs/sdks/auth/README.md +0 -6
  35. package/docs/sdks/criblcontrolplane/README.md +0 -7
  36. package/docs/sdks/versions/README.md +0 -6
package/README.md CHANGED
@@ -1,9 +1,18 @@
1
1
  # cribl-control-plane-sdk-typescript
2
- <!-- Start Summary [summary] -->
3
- ## Summary
4
2
 
5
- Cribl API Reference: This API Reference lists available REST endpoints, along with their supported operations for accessing, creating, updating, or deleting resources. See our complementary product documentation at [docs.cribl.io](http://docs.cribl.io).
6
- <!-- End Summary [summary] -->
3
+ The Cribl TypeScript SDK for the control plane provides operational control over Cribl resources and helps streamline the process of integrating with Cribl.
4
+
5
+ In addition to the usage examples in this repository, you can adapt the [code examples for common use cases](https://docs.cribl.io/cribl-as-code/code-examples) in the Cribl documentation to use TypeScript instead of Python.
6
+
7
+ Complementary API reference documentation is available at https://docs.cribl.io/cribl-as-code/api-reference. Product documentation is available at https://docs.cribl.io.
8
+
9
+ > [!IMPORTANT]
10
+ > **Preview Feature**
11
+ > The Cribl SDKs are Preview features that are still being developed. We do not recommend using them in a production environment, because the features might not be fully tested or optimized for performance, and related documentation could be incomplete.
12
+ >
13
+ > Please continue to submit feedback through normal Cribl support channels, but assistance might be limited while the features remain in Preview.
14
+
15
+ <!-- No Summary [summary] -->
7
16
 
8
17
  <!-- Start Table of Contents [toc] -->
9
18
  ## Table of Contents
@@ -227,14 +236,10 @@ run();
227
236
  <details open>
228
237
  <summary>Available methods</summary>
229
238
 
230
- ### [auth](docs/sdks/auth/README.md)
231
-
232
-
233
239
  #### [auth.tokens](docs/sdks/tokens/README.md)
234
240
 
235
241
  * [get](docs/sdks/tokens/README.md#get) - Log in and fetch an authentication token
236
242
 
237
-
238
243
  ### [destinations](docs/sdks/destinations/README.md)
239
244
 
240
245
  * [list](docs/sdks/destinations/README.md#list) - List all Destinations
@@ -331,9 +336,6 @@ run();
331
336
  * [create](docs/sdks/hectokens/README.md#create) - Add an HEC token and optional metadata to a Splunk HEC Source
332
337
  * [update](docs/sdks/hectokens/README.md#update) - Update metadata for an HEC token for a Splunk HEC Source
333
338
 
334
- ### [versions](docs/sdks/versions/README.md)
335
-
336
-
337
339
  #### [versions.branches](docs/sdks/branches/README.md)
338
340
 
339
341
  * [list](docs/sdks/branches/README.md#list) - List all branches in the Git repository used for Cribl configuration
package/RUNTIMES.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  This SDK is intended to be used in JavaScript runtimes that support ECMAScript 2020 or newer. The SDK uses the following features:
4
4
 
5
- * [Web Fetch API][web-fetch]
6
- * [Web Streams API][web-streams] and in particular `ReadableStream`
7
- * [Async iterables][async-iter] using `Symbol.asyncIterator`
5
+ - [Web Fetch API][web-fetch]
6
+ - [Web Streams API][web-streams] and in particular `ReadableStream`
7
+ - [Async iterables][async-iter] using `Symbol.asyncIterator`
8
8
 
9
9
  [web-fetch]: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
10
10
  [web-streams]: https://developer.mozilla.org/en-US/docs/Web/API/Streams_API
@@ -25,7 +25,7 @@ Runtime environments that are explicitly supported are:
25
25
 
26
26
  The following `tsconfig.json` options are recommended for projects using this
27
27
  SDK in order to get static type support for features like async iterables,
28
- streams and `fetch`-related APIs ([`for await...of`][for-await-of],
28
+ streams and `fetch`-related APIs ([`for await...of`][for-await-of],
29
29
  [`AbortSignal`][abort-signal], [`Request`][request], [`Response`][response] and
30
30
  so on):
31
31
 
@@ -38,11 +38,11 @@ so on):
38
38
  {
39
39
  "compilerOptions": {
40
40
  "target": "es2020", // or higher
41
- "lib": ["es2020", "dom", "dom.iterable"],
41
+ "lib": ["es2020", "dom", "dom.iterable"]
42
42
  }
43
43
  }
44
44
  ```
45
45
 
46
46
  While `target` can be set to older ECMAScript versions, it may result in extra,
47
47
  unnecessary compatibility code being generated if you are not targeting old
48
- runtimes.
48
+ runtimes.
@@ -2,8 +2,9 @@ import { SDKOptions } from "../lib/config.js";
2
2
  import { AfterErrorContext, AfterErrorHook, BeforeRequestContext, BeforeRequestHook, SDKInitHook } from "./types.js";
3
3
  export declare class ClientCredentialsHook implements SDKInitHook, BeforeRequestHook, AfterErrorHook {
4
4
  private client?;
5
- private sessions;
5
+ private sessionStore;
6
6
  sdkInit(opts: SDKOptions): SDKOptions;
7
+ private isHookDisabled;
7
8
  beforeRequest(hookCtx: BeforeRequestContext, request: Request): Promise<Request>;
8
9
  afterError(hookCtx: AfterErrorContext, response: Response | null, error: unknown): Promise<{
9
10
  response: Response | null;
@@ -13,8 +14,6 @@ export declare class ClientCredentialsHook implements SDKInitHook, BeforeRequest
13
14
  private getCredentials;
14
15
  private getCredentialsGlobal;
15
16
  private getSessionKey;
16
- private hasRequiredScopes;
17
- private getScopes;
18
- private hasTokenExpired;
17
+ private getRequiredScopes;
19
18
  }
20
19
  //# sourceMappingURL=clientcredentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientcredentials.d.ts","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAgBpB,qBAAa,qBACX,YAAW,WAAW,EAAE,iBAAiB,EAAE,cAAc;IAEzD,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAM/B,aAAa,CACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAiCb,UAAU,CACd,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;YAuB3C,cAAc;YAuEd,cAAc;YAiBd,oBAAoB;IA8BlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"clientcredentials.d.ts","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAgBpB,qBAAa,qBACX,YAAW,WAAW,EAAE,iBAAiB,EAAE,cAAc;IAEzD,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAMrC,OAAO,CAAC,cAAc;IAIhB,aAAa,CACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAiCb,UAAU,CACd,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;YA2B3C,cAAc;YAuEd,cAAc;YAiBd,oBAAoB;IAmClC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;CAS1B"}
@@ -37,22 +37,31 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.ClientCredentialsHook = void 0;
40
+ const z = __importStar(require("zod"));
40
41
  const base64_js_1 = require("../lib/base64.js");
41
42
  const env_js_1 = require("../lib/env.js");
42
43
  const http_js_1 = require("../lib/http.js");
44
+ const oauth2_sessions_js_1 = require("../lib/oauth2-sessions.js");
43
45
  const schemas_js_1 = require("../lib/schemas.js");
44
46
  const models = __importStar(require("../models/index.js"));
47
+ const TokenResponseDataSchema = z.object({
48
+ access_token: z.string(),
49
+ token_type: z.string(),
50
+ expires_in: z.number().optional(),
51
+ });
45
52
  class ClientCredentialsHook {
46
53
  constructor() {
47
- this.sessions = {};
54
+ this.sessionStore = new oauth2_sessions_js_1.OAuth2SessionStore();
48
55
  }
49
56
  sdkInit(opts) {
50
57
  this.client = opts.httpClient || new http_js_1.HTTPClient();
51
58
  return opts;
52
59
  }
60
+ isHookDisabled(hookCtx) {
61
+ return !hookCtx.oAuth2Scopes;
62
+ }
53
63
  async beforeRequest(hookCtx, request) {
54
- if (!hookCtx.oAuth2Scopes) {
55
- // OAuth2 not in use
64
+ if (this.isHookDisabled(hookCtx)) {
56
65
  return request;
57
66
  }
58
67
  const credentials = await this.getCredentials(hookCtx);
@@ -60,12 +69,11 @@ class ClientCredentialsHook {
60
69
  return request;
61
70
  }
62
71
  const sessionKey = this.getSessionKey(credentials);
63
- let session = this.sessions[sessionKey];
64
- if (!session
65
- || !this.hasRequiredScopes(session.scopes, hookCtx.oAuth2Scopes)
66
- || this.hasTokenExpired(session.expiresAt)) {
67
- session = await this.doTokenRequest(hookCtx, credentials, this.getScopes(hookCtx.oAuth2Scopes, session));
68
- this.sessions[sessionKey] = session;
72
+ const requiredScopes = this.getRequiredScopes(credentials, hookCtx.oAuth2Scopes);
73
+ let session = this.sessionStore.getSession(sessionKey, requiredScopes);
74
+ if (!session) {
75
+ session = await this.doTokenRequest(hookCtx, credentials, requiredScopes);
76
+ this.sessionStore.storeSession(sessionKey, requiredScopes, session);
69
77
  }
70
78
  request.headers.set("Authorization", `Bearer ${session.token}`);
71
79
  return request;
@@ -84,7 +92,8 @@ class ClientCredentialsHook {
84
92
  }
85
93
  if (response && response?.status === 401) {
86
94
  const sessionKey = this.getSessionKey(credentials);
87
- delete this.sessions[sessionKey];
95
+ const requiredScopes = this.getRequiredScopes(credentials, hookCtx.oAuth2Scopes);
96
+ this.sessionStore.deleteSession(sessionKey, requiredScopes);
88
97
  }
89
98
  return { response, error };
90
99
  }
@@ -116,28 +125,25 @@ class ClientCredentialsHook {
116
125
  throw new Error("Failed to fetch token");
117
126
  }
118
127
  if (res.status < 200 || res.status >= 300) {
119
- throw new Error("Unexpected status code");
120
- }
121
- const data = await res.json();
122
- if (!data || typeof data !== "object") {
123
- throw new Error("Unexpected response format");
124
- }
125
- if (data.token_type?.toLowerCase() !== "bearer") {
126
- throw new Error("Unexpected token type");
127
- }
128
- let expiresAt;
129
- if (data.expires_in) {
130
- expiresAt = Date.now() + data.expires_in * 1000;
128
+ let errorMessage = `Received unexpected status code ${res.status} while fetching token`;
129
+ try {
130
+ errorMessage += `: ${await res.text()}`;
131
+ }
132
+ catch {
133
+ // ignore response body
134
+ }
135
+ throw new Error(errorMessage);
131
136
  }
132
- const sess = {
133
- credentials,
134
- token: data.access_token,
137
+ const rawData = await res.json();
138
+ const tokenResponseData = (0, schemas_js_1.parse)(rawData, (val) => TokenResponseDataSchema.parse(val), "Invalid token response format");
139
+ const session = {
140
+ token: tokenResponseData.access_token,
135
141
  scopes,
136
142
  };
137
- if (expiresAt !== undefined) {
138
- sess.expiresAt = expiresAt;
143
+ if (tokenResponseData.expires_in !== undefined) {
144
+ session.expiresAt = Date.now() + tokenResponseData.expires_in * 1000;
139
145
  }
140
- return sess;
146
+ return session;
141
147
  }
142
148
  async getCredentials(hookCtx) {
143
149
  const source = hookCtx.securitySource;
@@ -152,10 +158,12 @@ class ClientCredentialsHook {
152
158
  }
153
159
  async getCredentialsGlobal(security) {
154
160
  const out = (0, schemas_js_1.parse)(security, (val) => models.Security$outboundSchema.parse(val), "unexpected security type");
161
+ const DEFAULT_TOKEN_URL = "https://login.cribl.cloud/oauth/token";
162
+ const envTokenURL = (0, env_js_1.env)().CRIBLCONTROLPLANE_TOKEN_URL ?? DEFAULT_TOKEN_URL;
155
163
  const additionalProperties = {};
156
164
  for (const [key, value] of Object.entries(out?.clientOauth ?? {})) {
157
- if (key !== "clientID" && key !== "clientSecret" && key !== "tokenURL"
158
- && typeof value === "string") {
165
+ if (typeof value === "string"
166
+ && !["clientID", "clientSecret", "tokenURL", "scopes"].includes(key)) {
159
167
  additionalProperties[key] = value;
160
168
  }
161
169
  }
@@ -164,8 +172,10 @@ class ClientCredentialsHook {
164
172
  ?? "",
165
173
  clientSecret: out?.clientOauth?.clientSecret
166
174
  ?? (0, env_js_1.env)().CRIBLCONTROLPLANE_CLIENT_SECRET ?? "",
167
- tokenURL: out?.clientOauth?.tokenURL ?? (0, env_js_1.env)().CRIBLCONTROLPLANE_TOKEN_URL
168
- ?? "",
175
+ tokenURL: out?.clientOauth?.tokenURL !== DEFAULT_TOKEN_URL
176
+ ? out?.clientOauth?.tokenURL
177
+ : envTokenURL,
178
+ scopes: undefined,
169
179
  additionalProperties,
170
180
  };
171
181
  }
@@ -173,14 +183,11 @@ class ClientCredentialsHook {
173
183
  const key = `${credentials.clientID}:${credentials.clientSecret}`;
174
184
  return (0, base64_js_1.stringToBase64)(key);
175
185
  }
176
- hasRequiredScopes(scopes, requiredScopes) {
177
- return requiredScopes.every((scope) => scopes.includes(scope));
178
- }
179
- getScopes(requiredScopes, sess) {
180
- return [...new Set((sess?.scopes ?? []).concat(requiredScopes))];
181
- }
182
- hasTokenExpired(expiresAt) {
183
- return !expiresAt || Date.now() + 60000 > expiresAt;
186
+ getRequiredScopes(credentials, oAuth2Scopes) {
187
+ if (credentials.scopes !== undefined) {
188
+ return credentials.scopes;
189
+ }
190
+ return oAuth2Scopes;
184
191
  }
185
192
  }
186
193
  exports.ClientCredentialsHook = ClientCredentialsHook;
@@ -1 +1 @@
1
- {"version":3,"file":"clientcredentials.js","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientcredentials.js","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"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"}
@@ -35,8 +35,8 @@ export declare function serverURLFromOptions(options: SDKOptions): URL | null;
35
35
  export declare const SDK_METADATA: {
36
36
  readonly language: "typescript";
37
37
  readonly openapiDocVersion: "4.14.0-837595d5";
38
- readonly sdkVersion: "0.0.58";
39
- readonly genVersion: "2.721.0";
40
- readonly userAgent: "speakeasy-sdk/typescript 0.0.58 2.721.0 4.14.0-837595d5 cribl-control-plane";
38
+ readonly sdkVersion: "0.0.60";
39
+ readonly genVersion: "2.723.11";
40
+ readonly userAgent: "speakeasy-sdk/typescript 0.0.60 2.723.11 4.14.0-837595d5 cribl-control-plane";
41
41
  };
42
42
  //# sourceMappingURL=config.d.ts.map
@@ -28,8 +28,8 @@ function serverURLFromOptions(options) {
28
28
  exports.SDK_METADATA = {
29
29
  language: "typescript",
30
30
  openapiDocVersion: "4.14.0-837595d5",
31
- sdkVersion: "0.0.58",
32
- genVersion: "2.721.0",
33
- userAgent: "speakeasy-sdk/typescript 0.0.58 2.721.0 4.14.0-837595d5 cribl-control-plane",
31
+ sdkVersion: "0.0.60",
32
+ genVersion: "2.723.11",
33
+ userAgent: "speakeasy-sdk/typescript 0.0.60 2.723.11 4.14.0-837595d5 cribl-control-plane",
34
34
  };
35
35
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA0CH,oDAeC;AAnDD,qCAA8C;AAE9C;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,GAAG;CACK,CAAC;AA6BX,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,kBAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,iBAAiB;IACpC,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,SAAS;IACrB,SAAS,EACP,6EAA6E;CACvE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA0CH,oDAeC;AAnDD,qCAA8C;AAE9C;;GAEG;AACU,QAAA,UAAU,GAAG;IACxB,GAAG;CACK,CAAC;AA6BX,SAAgB,oBAAoB,CAAC,OAAmB;IACtD,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAElC,MAAM,MAAM,GAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACzC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,kBAAU,CAAC,MAAM,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,SAAS,GAAG,kBAAU,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAEY,QAAA,YAAY,GAAG;IAC1B,QAAQ,EAAE,YAAY;IACtB,iBAAiB,EAAE,iBAAiB;IACpC,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,UAAU;IACtB,SAAS,EACP,8EAA8E;CACxE,CAAC"}
@@ -0,0 +1,18 @@
1
+ export type OAuth2Session = {
2
+ token: string;
3
+ expiresAt?: number;
4
+ scopes: string[];
5
+ };
6
+ export declare class OAuth2SessionStore {
7
+ #private;
8
+ cache: Map<string, Map<string, OAuth2Session>>;
9
+ getSession(ownerKey: string, scopes: string[]): OAuth2Session | undefined;
10
+ storeSession(ownerKey: string, scopes: string[], entry: OAuth2Session): void;
11
+ deleteSession(ownerKey: string, scopes: string[]): OAuth2Session | undefined;
12
+ statistics(): {
13
+ total: number;
14
+ active: number;
15
+ expired: number;
16
+ };
17
+ }
18
+ //# sourceMappingURL=oauth2-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-sessions.d.ts","sourceRoot":"","sources":["../../../src/lib/oauth2-sessions.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,qBAAa,kBAAkB;;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAa;IAE3D,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,aAAa,GAAG,SAAS;IA6B5B,YAAY,CACV,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,aAAa,GACnB,IAAI;IAUP,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,GACf,aAAa,GAAG,SAAS;IAkB5B,UAAU,IAAI;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB;CA8DF"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
6
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
7
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
8
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
9
+ };
10
+ var _OAuth2SessionStore_instances, _OAuth2SessionStore_getScopesKey, _OAuth2SessionStore_hasRequiredScopes, _OAuth2SessionStore_hasTokenExpired;
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OAuth2SessionStore = void 0;
13
+ class OAuth2SessionStore {
14
+ constructor() {
15
+ _OAuth2SessionStore_instances.add(this);
16
+ this.cache = new Map();
17
+ }
18
+ getSession(ownerKey, scopes) {
19
+ const tokens = this.cache.get(ownerKey);
20
+ if (!tokens) {
21
+ return;
22
+ }
23
+ const scopeKey = __classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_getScopesKey).call(this, scopes);
24
+ // First look for an exact match
25
+ const exactMatch = tokens.get(scopeKey);
26
+ if (exactMatch !== undefined && !__classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_hasTokenExpired).call(this, exactMatch.expiresAt)) {
27
+ return exactMatch;
28
+ }
29
+ // If no exact match was found or it was expired, look for a superset match
30
+ for (const [_, session] of tokens) {
31
+ if (__classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_hasRequiredScopes).call(this, session.scopes, scopes)
32
+ && !__classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_hasTokenExpired).call(this, session.expiresAt)) {
33
+ return session;
34
+ }
35
+ }
36
+ return undefined;
37
+ }
38
+ storeSession(ownerKey, scopes, entry) {
39
+ let tokens = this.cache.get(ownerKey);
40
+ if (tokens == null) {
41
+ tokens = new Map();
42
+ this.cache.set(ownerKey, tokens);
43
+ }
44
+ tokens.set(__classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_getScopesKey).call(this, scopes), entry);
45
+ }
46
+ deleteSession(ownerKey, scopes) {
47
+ const tokens = this.cache.get(ownerKey);
48
+ if (!tokens) {
49
+ return;
50
+ }
51
+ const scopeKey = __classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_getScopesKey).call(this, scopes);
52
+ const outgoing = tokens.get(scopeKey);
53
+ tokens.delete(scopeKey);
54
+ // Clean up empty owner maps
55
+ if (tokens.size === 0) {
56
+ this.cache.delete(ownerKey);
57
+ }
58
+ return outgoing;
59
+ }
60
+ statistics() {
61
+ let total = 0;
62
+ let active = 0;
63
+ let expired = 0;
64
+ for (const [_, sessions] of this.cache) {
65
+ for (const [_, session] of sessions) {
66
+ total += 1;
67
+ if (__classPrivateFieldGet(this, _OAuth2SessionStore_instances, "m", _OAuth2SessionStore_hasTokenExpired).call(this, session.expiresAt)) {
68
+ expired += 1;
69
+ }
70
+ else {
71
+ active += 1;
72
+ }
73
+ }
74
+ }
75
+ return { total, active, expired };
76
+ }
77
+ }
78
+ exports.OAuth2SessionStore = OAuth2SessionStore;
79
+ _OAuth2SessionStore_instances = new WeakSet(), _OAuth2SessionStore_getScopesKey = function _OAuth2SessionStore_getScopesKey(scopes) {
80
+ if (!scopes?.length) {
81
+ return "";
82
+ }
83
+ const p = new URLSearchParams();
84
+ const sorted = scopes.slice().sort();
85
+ for (const scope of sorted) {
86
+ p.append("s", scope);
87
+ }
88
+ return p.toString();
89
+ }, _OAuth2SessionStore_hasRequiredScopes = function _OAuth2SessionStore_hasRequiredScopes(sessionScopes, requiredScopes) {
90
+ // If no scopes are required, any token works
91
+ if (requiredScopes.length === 0) {
92
+ return true;
93
+ }
94
+ // Check if session has all required scopes
95
+ const sessionScopeSet = new Set(sessionScopes);
96
+ for (const requiredScope of requiredScopes) {
97
+ if (!sessionScopeSet.has(requiredScope)) {
98
+ return false;
99
+ }
100
+ }
101
+ return true;
102
+ }, _OAuth2SessionStore_hasTokenExpired = function _OAuth2SessionStore_hasTokenExpired(expiresAt) {
103
+ return expiresAt !== undefined && Date.now() + 60000 >= expiresAt;
104
+ };
105
+ //# sourceMappingURL=oauth2-sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-sessions.js","sourceRoot":"","sources":["../../../src/lib/oauth2-sessions.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import { SDKOptions } from "../lib/config.js";
2
2
  import { AfterErrorContext, AfterErrorHook, BeforeRequestContext, BeforeRequestHook, SDKInitHook } from "./types.js";
3
3
  export declare class ClientCredentialsHook implements SDKInitHook, BeforeRequestHook, AfterErrorHook {
4
4
  private client?;
5
- private sessions;
5
+ private sessionStore;
6
6
  sdkInit(opts: SDKOptions): SDKOptions;
7
+ private isHookDisabled;
7
8
  beforeRequest(hookCtx: BeforeRequestContext, request: Request): Promise<Request>;
8
9
  afterError(hookCtx: AfterErrorContext, response: Response | null, error: unknown): Promise<{
9
10
  response: Response | null;
@@ -13,8 +14,6 @@ export declare class ClientCredentialsHook implements SDKInitHook, BeforeRequest
13
14
  private getCredentials;
14
15
  private getCredentialsGlobal;
15
16
  private getSessionKey;
16
- private hasRequiredScopes;
17
- private getScopes;
18
- private hasTokenExpired;
17
+ private getRequiredScopes;
19
18
  }
20
19
  //# sourceMappingURL=clientcredentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientcredentials.d.ts","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAgBpB,qBAAa,qBACX,YAAW,WAAW,EAAE,iBAAiB,EAAE,cAAc;IAEzD,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAA+B;IAE/C,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAM/B,aAAa,CACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAiCb,UAAU,CACd,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;YAuB3C,cAAc;YAuEd,cAAc;YAiBd,oBAAoB;IA8BlC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"clientcredentials.d.ts","sourceRoot":"","sources":["../../../src/hooks/clientcredentials.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAM9C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,YAAY,CAAC;AAgBpB,qBAAa,qBACX,YAAW,WAAW,EAAE,iBAAiB,EAAE,cAAc;IAEzD,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU;IAMrC,OAAO,CAAC,cAAc;IAIhB,aAAa,CACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC;IAiCb,UAAU,CACd,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,QAAQ,GAAG,IAAI,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;YA2B3C,cAAc;YAuEd,cAAc;YAiBd,oBAAoB;IAmClC,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;CAS1B"}