@databricks/sdk-usagedashboards 0.1.0-dev.4 → 0.1.0-dev.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # @databricks/sdk-usagedashboards
2
+
3
+ > [!WARNING]
4
+ >
5
+ > ## PREVIEW - NOT FOR PRODUCTION USE
6
+ >
7
+ > **This SDK is in preview and is subject to change without notice.**
8
+ >
9
+ > - **Do NOT use in production environments**
10
+ > - **Breaking changes may occur at any time**
11
+ > - **APIs are experimental and unstable**
12
+ > - **Use for development and testing only**
13
+
14
+ ## Installation
15
+
16
+ ```bash
17
+ npm install @databricks/sdk-usagedashboards
18
+ ```
19
+
20
+ ## Usage
21
+
22
+ ```typescript
23
+ import {UsageDashboardsClient} from '@databricks/sdk-usagedashboards/v1';
24
+
25
+ const client = new UsageDashboardsClient({});
26
+ ```
27
+
28
+ For a full getting-started guide, see the [root README](../../README.md).
@@ -2,12 +2,12 @@ import type { CallOptions } from '@databricks/sdk-options/call';
2
2
  import type { ClientOptions } from '@databricks/sdk-options/client';
3
3
  import type { CreateBillingUsageDashboardRequest, CreateBillingUsageDashboardResponse, GetBillingUsageDashboardRequest, GetBillingUsageDashboardResponse } from './model';
4
4
  export declare class UsageDashboardsClient {
5
- private readonly host;
6
- private readonly accountId;
7
- private readonly httpClient;
5
+ private readonly options;
8
6
  private readonly logger;
9
7
  private readonly userAgent;
8
+ private config;
10
9
  constructor(options: ClientOptions);
10
+ private resolveConfig;
11
11
  /** Create a usage dashboard specified by workspaceId, accountId, and dashboard type. */
12
12
  createBillingUsageDashboard(req: CreateBillingUsageDashboardRequest, options?: CallOptions): Promise<CreateBillingUsageDashboardResponse>;
13
13
  /** Get a usage dashboard specified by workspaceId, accountId, and dashboard type. */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/v1/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAWlE,OAAO,KAAK,EACV,kCAAkC,EAClC,mCAAmC,EACnC,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAajB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,aAAa;IAelC,wFAAwF;IAClF,2BAA2B,CAC/B,GAAG,EAAE,kCAAkC,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mCAAmC,CAAC;IA4B/C,qFAAqF;IAC/E,wBAAwB,CAC5B,GAAG,EAAE,+BAA+B,EACpC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gCAAgC,CAAC;CAgC7C"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/v1/client.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAWlE,OAAO,KAAK,EACV,kCAAkC,EAClC,mCAAmC,EACnC,+BAA+B,EAC/B,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAajB,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAInC,OAAO,CAAC,MAAM,CAA4C;gBAE9C,OAAO,EAAE,aAAa;IAUlC,OAAO,CAAC,aAAa;IAKrB,wFAAwF;IAClF,2BAA2B,CAC/B,GAAG,EAAE,kCAAkC,EACvC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,mCAAmC,CAAC;IA6B/C,qFAAqF;IAC/E,wBAAwB,CAC5B,GAAG,EAAE,+BAA+B,EACpC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,gCAAgC,CAAC;CAiC7C"}
package/dist/v1/client.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { VERSION as AUTH_VERSION } from '@databricks/sdk-auth';
3
3
  import { createDefault } from '@databricks/sdk-core/clientinfo';
4
4
  import { NoOpLogger } from '@databricks/sdk-core/logger';
5
- import { newHttpClient } from './transport';
5
+ import { resolveClientConfig } from './transport';
6
6
  import { buildHttpRequest, executeCall, executeHttpCall, marshalRequest, parseResponse, } from './utils';
7
7
  import pkgJson from '../../package.json' with { type: 'json' };
8
8
  import { marshalCreateBillingUsageDashboardRequestSchema, unmarshalCreateBillingUsageDashboardResponseSchema, unmarshalGetBillingUsageDashboardResponseSchema, } from './model';
@@ -12,33 +12,33 @@ const PACKAGE_SEGMENT = {
12
12
  value: pkgJson.version,
13
13
  };
14
14
  export class UsageDashboardsClient {
15
- host;
16
- // Fallback for endpoints whose path contains {account_id}. If the request
17
- // already carries an accountId, that value wins.
18
- accountId;
19
- httpClient;
15
+ options;
20
16
  logger;
21
17
  // User-Agent header value. Composed once at construction from
22
18
  // createDefault() merged with this package's identity and the active
23
19
  // credential's name.
24
20
  userAgent;
21
+ // Memoized configuration. The profile is resolved once, lazily, on the first
22
+ // request, then reused; host, workspaceId/accountId, and credentials are
23
+ // filled from it when not set explicitly on the options.
24
+ config;
25
25
  constructor(options) {
26
- if (options.host === undefined) {
27
- throw new Error('Host is required.');
28
- }
29
- this.host = options.host.replace(/\/$/, '');
30
- this.accountId = options.accountId;
26
+ this.options = options;
31
27
  this.logger = options.logger ?? new NoOpLogger();
32
28
  const info = createDefault()
33
29
  .with(PACKAGE_SEGMENT)
34
30
  .with({ key: 'sdk-js-auth', value: AUTH_VERSION })
35
31
  .with({ key: 'auth', value: options.credentials?.name() ?? 'default' });
36
32
  this.userAgent = info.toString();
37
- this.httpClient = newHttpClient(options);
33
+ }
34
+ resolveConfig() {
35
+ this.config ??= resolveClientConfig(this.options);
36
+ return this.config;
38
37
  }
39
38
  /** Create a usage dashboard specified by workspaceId, accountId, and dashboard type. */
40
39
  async createBillingUsageDashboard(req, options) {
41
- const url = `${this.host}/api/2.0/accounts/${req.accountId ?? this.accountId ?? ''}/dashboard`;
40
+ const { host, accountId, httpClient } = await this.resolveConfig();
41
+ const url = `${host}/api/2.0/accounts/${req.accountId ?? accountId ?? ''}/dashboard`;
42
42
  const body = marshalRequest(req, marshalCreateBillingUsageDashboardRequestSchema);
43
43
  let resp;
44
44
  const call = async (callSignal) => {
@@ -47,7 +47,7 @@ export class UsageDashboardsClient {
47
47
  const httpReq = buildHttpRequest('POST', url, headers, callSignal, body);
48
48
  const respBody = await executeHttpCall({
49
49
  request: httpReq,
50
- httpClient: this.httpClient,
50
+ httpClient,
51
51
  logger: this.logger,
52
52
  });
53
53
  resp = parseResponse(respBody, unmarshalCreateBillingUsageDashboardResponseSchema);
@@ -60,7 +60,8 @@ export class UsageDashboardsClient {
60
60
  }
61
61
  /** Get a usage dashboard specified by workspaceId, accountId, and dashboard type. */
62
62
  async getBillingUsageDashboard(req, options) {
63
- const url = `${this.host}/api/2.0/accounts/${req.accountId ?? this.accountId ?? ''}/dashboard`;
63
+ const { host, accountId, httpClient } = await this.resolveConfig();
64
+ const url = `${host}/api/2.0/accounts/${req.accountId ?? accountId ?? ''}/dashboard`;
64
65
  const params = new URLSearchParams();
65
66
  if (req.workspaceId !== undefined) {
66
67
  params.append('workspace_id', String(req.workspaceId));
@@ -77,7 +78,7 @@ export class UsageDashboardsClient {
77
78
  const httpReq = buildHttpRequest('GET', fullUrl, headers, callSignal);
78
79
  const respBody = await executeHttpCall({
79
80
  request: httpReq,
80
- httpClient: this.httpClient,
81
+ httpClient,
81
82
  logger: this.logger,
82
83
  });
83
84
  resp = parseResponse(respBody, unmarshalGetBillingUsageDashboardResponseSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/v1/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/v1/client.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,33 @@
1
1
  import type { HttpClient } from '@databricks/sdk-core/http';
2
2
  import type { ClientOptions } from '@databricks/sdk-options/client';
3
- /** Creates a new HTTP client with the given options. */
4
- export declare function newHttpClient(options?: ClientOptions): HttpClient;
3
+ /**
4
+ * The configuration a client needs to issue requests, resolved from
5
+ * {@link ClientOptions} and a configuration profile.
6
+ */
7
+ export interface ResolvedClientConfig {
8
+ /** Host with any trailing slash removed. */
9
+ host: string;
10
+ /**
11
+ * Default account ID for account-level paths that contain an account_id
12
+ * segment. A request's own accountId still wins.
13
+ */
14
+ accountId?: string;
15
+ /**
16
+ * Workspace ID used to route workspace-level calls on unified hosts (SPOG).
17
+ */
18
+ workspaceId?: string;
19
+ /** HTTP client with authentication, and any configured timeout, applied. */
20
+ httpClient: HttpClient;
21
+ }
22
+ /**
23
+ * Resolves {@link ClientOptions} into a {@link ResolvedClientConfig}.
24
+ *
25
+ * A configuration profile is always resolved from the config file and
26
+ * environment variables (per options.profileOptions); it supplies host,
27
+ * accountId, workspaceId, and credentials wherever the caller did not set them
28
+ * explicitly. Explicit options always take precedence.
29
+ *
30
+ * @throws if host is neither provided nor present in the resolved profile.
31
+ */
32
+ export declare function resolveClientConfig(options: ClientOptions): Promise<ResolvedClientConfig>;
5
33
  //# sourceMappingURL=transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/v1/transport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAElE,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,UAAU,CAwBjE"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/v1/transport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,UAAU,EAGX,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,4EAA4E;IAC5E,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,CAAC,CA4B/B"}
@@ -1,24 +1,41 @@
1
1
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
2
2
  import { defaultCredentials } from '@databricks/sdk-auth/credentials';
3
3
  import { newFetchHttpClient } from '@databricks/sdk-core/http';
4
- /** Creates a new HTTP client with the given options. */
5
- export function newHttpClient(options) {
6
- const opts = options ?? {};
7
- // If an HTTP client is provided, use it as-is. Throw if other options are
8
- // also set, since they would be silently ignored.
9
- if (opts.httpClient !== undefined) {
10
- if (opts.credentials !== undefined || opts.timeout !== undefined) {
11
- throw new Error('httpClient cannot be combined with credentials or timeout');
12
- }
13
- return opts.httpClient;
4
+ import { resolve } from '@databricks/sdk-core/profiles';
5
+ /**
6
+ * Resolves {@link ClientOptions} into a {@link ResolvedClientConfig}.
7
+ *
8
+ * A configuration profile is always resolved from the config file and
9
+ * environment variables (per options.profileOptions); it supplies host,
10
+ * accountId, workspaceId, and credentials wherever the caller did not set them
11
+ * explicitly. Explicit options always take precedence.
12
+ *
13
+ * @throws if host is neither provided nor present in the resolved profile.
14
+ */
15
+ export async function resolveClientConfig(options) {
16
+ const profile = await resolve(options.profileOptions);
17
+ const host = options.host ?? profile.host;
18
+ if (host === undefined) {
19
+ throw new Error('Host is required.');
14
20
  }
15
- const credentials = opts.credentials ?? defaultCredentials();
16
- const base = newFetchHttpClient();
17
- let client = new AuthHttpClient(base, credentials);
18
- if (opts.timeout !== undefined) {
19
- client = new TimeoutHttpClient(client, opts.timeout);
21
+ // The provided httpClient (or the default fetch client) is the base wire;
22
+ // authentication and the optional timeout are layered on top of it. The
23
+ // default credential chain reuses the profile resolved above so that the
24
+ // same profileOptions govern host and authentication alike.
25
+ const base = options.httpClient ?? newFetchHttpClient();
26
+ const credentials = options.credentials ?? defaultCredentials({ profile });
27
+ let httpClient = new AuthHttpClient(base, credentials);
28
+ if (options.timeout !== undefined) {
29
+ httpClient = new TimeoutHttpClient(httpClient, options.timeout);
20
30
  }
21
- return client;
31
+ const accountId = options.accountId ?? profile.accountId;
32
+ const workspaceId = options.workspaceId ?? profile.workspaceId;
33
+ return {
34
+ host: host.replace(/\/$/, ''),
35
+ httpClient,
36
+ ...(accountId !== undefined && { accountId }),
37
+ ...(workspaceId !== undefined && { workspaceId }),
38
+ };
22
39
  }
23
40
  /** Wraps an HttpClient and adds authentication headers to requests. */
24
41
  class AuthHttpClient {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/v1/transport.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAG/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AAMpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAG7D,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,OAAuB;IACnD,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAE3B,0EAA0E;IAC1E,kDAAkD;IAClD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAClC,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAE7D,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,IAAI,MAAM,GAAe,IAAI,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAE/D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,MAAM,cAAc;IAEC;IACA;IAFnB,YACmB,IAAgB,EAChB,WAAwB;QADxB,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAa;IACxC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QACzD,sCAAsC;QACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,qEAAqE;AACrE,MAAM,iBAAiB;IAEF;IACA;IAFnB,YACmB,IAAgB,EAChB,OAAe;QADf,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAQ;IAC/B,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,GAAG,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/v1/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databricks/sdk-usagedashboards",
3
- "version": "0.1.0-dev.4",
3
+ "version": "0.1.0-dev.5",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "exports": {
@@ -27,10 +27,15 @@
27
27
  },
28
28
  "author": "Databricks",
29
29
  "license": "Apache-2.0",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/databricks/sdk-js.git",
33
+ "directory": "packages/usagedashboards"
34
+ },
30
35
  "dependencies": {
31
- "@databricks/sdk-auth": ">=0.1.0-dev.5 <1.0.0",
32
- "@databricks/sdk-core": ">=0.1.0-dev.6 <1.0.0",
33
- "@databricks/sdk-options": ">=0.1.0-dev.5 <1.0.0",
36
+ "@databricks/sdk-auth": ">=0.1.0-dev.6 <1.0.0",
37
+ "@databricks/sdk-core": ">=0.1.0-dev.7 <1.0.0",
38
+ "@databricks/sdk-options": ">=0.1.0-dev.6 <1.0.0",
34
39
  "@js-temporal/polyfill": "^0.5.0",
35
40
  "json-bigint": "^1.0.0",
36
41
  "zod": "^4.3.6"