@fabric-harness/databricks 1.0.0 → 1.1.0
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 +72 -32
- package/dist/app.d.ts +6 -3
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +8 -4
- package/dist/app.js.map +1 -1
- package/dist/client.d.ts +12 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -5
- package/dist/client.js.map +1 -1
- package/dist/feature-serving.js +1 -1
- package/dist/feature-serving.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/lakebase.d.ts +29 -17
- package/dist/lakebase.d.ts.map +1 -1
- package/dist/lakebase.js +77 -1
- package/dist/lakebase.js.map +1 -1
- package/dist/persistence.d.ts +4 -4
- package/dist/persistence.js +2 -2
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +4 -2
- package/dist/tools.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1,17 +1,6 @@
|
|
|
1
1
|
# @fabric-harness/databricks
|
|
2
2
|
|
|
3
|
-
Databricks integration helpers for Fabric Harness.
|
|
4
|
-
|
|
5
|
-
## Current surface
|
|
6
|
-
|
|
7
|
-
- `DatabricksRestClient` — small token-authenticated REST client.
|
|
8
|
-
- `databricksSqlTool()` — run SQL Warehouse statements from an agent tool.
|
|
9
|
-
- `databricksRunJobTool()` — trigger an existing Databricks job.
|
|
10
|
-
- `databricksNotebookTool()` — submit a one-off notebook run.
|
|
11
|
-
- `unityCatalogTablesTool()` — list Unity Catalog tables.
|
|
12
|
-
- `databricksMlflowLogMetricTool()` / `databricksMlflowLogParamTool()` — write MLflow telemetry from an agent run.
|
|
13
|
-
- `databricksWorkspaceSource()` — mount exported workspace notebooks/files as a Fabric filesystem source.
|
|
14
|
-
- **`databricksSqlSandbox()`** (subpath: `@fabric-harness/databricks/sql-sandbox`) — full `SandboxEnv` whose `exec(sql)` runs against a SQL Warehouse, with results serialized as JSONL or CSV.
|
|
3
|
+
First-party Databricks integration helpers for Fabric Harness. The package is suitable for controlled pilots after a live workspace smoke test; most default coverage uses mocked HTTP clients.
|
|
15
4
|
|
|
16
5
|
## Install
|
|
17
6
|
|
|
@@ -19,9 +8,72 @@ Databricks integration helpers for Fabric Harness.
|
|
|
19
8
|
npm install @fabric-harness/databricks @fabric-harness/sdk
|
|
20
9
|
```
|
|
21
10
|
|
|
22
|
-
|
|
11
|
+
Add `@fabric-harness/node` and `pg` only when using the Node persistence helpers.
|
|
12
|
+
|
|
13
|
+
## Fast path
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { init } from '@fabric-harness/sdk';
|
|
17
|
+
import { databricks } from '@fabric-harness/databricks';
|
|
18
|
+
|
|
19
|
+
const dbx = databricks({
|
|
20
|
+
host: process.env.DATABRICKS_HOST!,
|
|
21
|
+
principal: {
|
|
22
|
+
kind: 'service-principal',
|
|
23
|
+
host: process.env.DATABRICKS_HOST!,
|
|
24
|
+
clientId: process.env.DATABRICKS_CLIENT_ID!,
|
|
25
|
+
clientSecret: process.env.DATABRICKS_CLIENT_SECRET!,
|
|
26
|
+
},
|
|
27
|
+
model: process.env.DATABRICKS_MODEL,
|
|
28
|
+
warehouseId: process.env.DATABRICKS_WAREHOUSE_ID,
|
|
29
|
+
vectorSearch: {
|
|
30
|
+
index: 'main.support.docs_index',
|
|
31
|
+
textColumn: 'chunk',
|
|
32
|
+
},
|
|
33
|
+
governance: { stewardAudience: 'data-steward' },
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const fabric = await init({
|
|
37
|
+
modelProvider: dbx.modelProvider,
|
|
38
|
+
tools: dbx.tools,
|
|
39
|
+
policy: dbx.policy,
|
|
40
|
+
});
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The bundle threads one PAT, OAuth service principal, or on-behalf-of token provider through Model Serving and REST tools. Unity Catalog remains the authorization source of truth; Fabric adds tool-call lineage, optional catalog defense in depth, approval routing, and a workspace-host network policy.
|
|
23
44
|
|
|
24
|
-
|
|
45
|
+
## Shipped surface
|
|
46
|
+
|
|
47
|
+
- Model Serving: `databricksFoundationModelProvider()`, `databricks/*`, and `mosaic-ai/*` model refs.
|
|
48
|
+
- Identity: PAT, cached OAuth M2M, Databricks Apps service principal, and forwarded user token helpers.
|
|
49
|
+
- Data and AI: SQL Warehouse, Unity Catalog discovery, Vector Search, embeddings, `ai_query()`, AI/BI Genie, Feature Serving, Jobs, notebooks, and workspace files.
|
|
50
|
+
- Data engineering: Lakeflow pipeline list/status/start/stop tools.
|
|
51
|
+
- Operations: System Tables consumption reporting, actual-cost budget source, MLflow tracing, serving usage capture, and Lakebase telemetry tables.
|
|
52
|
+
- Storage: Unity Catalog Volumes attachment store and Databricks Volume filesystem connector.
|
|
53
|
+
- Authoring: `databricks()`, `databricksAgent()`, `defineDatabricksAgent()`, and `MockDatabricksModelProvider`.
|
|
54
|
+
- Build/deploy: `databricks-app` and `databricks-serving` targets plus `fh doctor --target databricks-*`.
|
|
55
|
+
- Sandbox: `databricksSqlSandbox()` at `@fabric-harness/databricks/sql-sandbox`; file operations are in memory and `exec()` is SQL Statement Execution, not a general compute shell.
|
|
56
|
+
|
|
57
|
+
## Deployment boundaries
|
|
58
|
+
|
|
59
|
+
- `databricks-app` runs the Node server inside Databricks Apps and emits `app.yaml` plus bundle assets. Validate the generated artifact and app resource permissions in the target workspace.
|
|
60
|
+
- `databricks-serving` emits an MLflow `ChatAgent` proxy that calls an agent URL deployed elsewhere. It does not run the TypeScript agent inside Model Serving.
|
|
61
|
+
- `--mock` validates the local model loop only. It does not validate Databricks API contracts, OAuth scopes, Unity Catalog grants, SQL behavior, or a deployment.
|
|
62
|
+
|
|
63
|
+
Fabric Harness 2.x build manifests separate finite `jobs` from persistent `agents`. Node-derived
|
|
64
|
+
targets, including `databricks-app`, run the same v2 server used during development. Cloudflare
|
|
65
|
+
currently accepts finite jobs only and fails explicitly when a persistent agent is present.
|
|
66
|
+
|
|
67
|
+
## Lakebase authentication
|
|
68
|
+
|
|
69
|
+
Lakebase Autoscaling uses two-step authentication: obtain a workspace OAuth token, then exchange it at `POST /api/2.0/postgres/credentials` for a database credential. `lakebaseClient()` performs this exchange, caches the credential, refreshes early with jitter, and single-flights concurrent refreshes. `databricksApp().serverOptions()` wires the Lakebase session, submission, and conversation-stream stores into `startDevServer()`.
|
|
70
|
+
|
|
71
|
+
Set the full endpoint resource name (`projects/.../branches/.../endpoints/...`) with `DATABRICKS_LAKEBASE_ENDPOINT` or `ENDPOINT_NAME`. Local Postgres tests can use the explicit `password` option. Live Lakebase remains release-gated until the workspace deployment and restart suite passes. See the [Databricks Lakebase credential guide](https://docs.databricks.com/aws/en/oltp/projects/external-apps-manual-api).
|
|
72
|
+
|
|
73
|
+
Run the opt-in credential/connection smoke with `FABRIC_DATABRICKS_LAKEBASE_TEST=1` plus
|
|
74
|
+
`DATABRICKS_HOST`, `DATABRICKS_TOKEN`, `ENDPOINT_NAME`, `PGHOST`, `PGDATABASE`, and `PGUSER`.
|
|
75
|
+
|
|
76
|
+
## SQL Warehouse sandbox
|
|
25
77
|
|
|
26
78
|
```ts
|
|
27
79
|
import { init } from '@fabric-harness/sdk';
|
|
@@ -34,30 +86,18 @@ const fabric = await init({
|
|
|
34
86
|
warehouseId: process.env.DATABRICKS_WAREHOUSE_ID!,
|
|
35
87
|
catalog: 'main',
|
|
36
88
|
schema: 'analytics',
|
|
37
|
-
resultFormat: 'jsonl',
|
|
89
|
+
resultFormat: 'jsonl',
|
|
38
90
|
}),
|
|
39
91
|
});
|
|
40
92
|
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
console.log(result.stdout); // newline-delimited JSON rows
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
For real data files, mount with `databricksVolumeSource` from `@fabric-harness/connectors/databricks-volume`:
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
import { databricksVolumeSource } from '@fabric-harness/connectors/databricks-volume';
|
|
50
|
-
|
|
51
|
-
await session.mount('/mnt/landing', databricksVolumeSource({
|
|
52
|
-
host: process.env.DATABRICKS_HOST!,
|
|
53
|
-
token: process.env.DATABRICKS_TOKEN!,
|
|
54
|
-
volumePath: '/Volumes/main/landing/raw',
|
|
55
|
-
}));
|
|
93
|
+
const result = await (await fabric.session()).shell('SELECT current_user()');
|
|
94
|
+
console.log(result.stdout);
|
|
56
95
|
```
|
|
57
96
|
|
|
58
97
|
## Documentation
|
|
59
98
|
|
|
60
99
|
- [Databricks deployment guide](https://harness.fabric.pro/docs/deployment/databricks)
|
|
61
|
-
- [
|
|
100
|
+
- [Fabric Harness 2.0 migration](https://github.com/Fabric-Pro/fabric-harness/blob/main/docs/migration-v2.md)
|
|
101
|
+
- [Capability matrix](https://github.com/Fabric-Pro/fabric-harness/blob/main/docs/capability-matrix.md)
|
|
62
102
|
|
|
63
|
-
Keep Databricks
|
|
103
|
+
Keep Databricks credentials in environment variables or a secret store. Never place tokens in prompts, payloads, tool inputs, or lineage labels.
|
package/dist/app.d.ts
CHANGED
|
@@ -29,14 +29,16 @@ export interface DatabricksAppOptions {
|
|
|
29
29
|
model?: string;
|
|
30
30
|
/**
|
|
31
31
|
* Lakebase connection. Defaults from the app's database resource
|
|
32
|
-
* environment (`DATABRICKS_LAKEBASE_HOST`/`DATABASE`/`USER`,
|
|
33
|
-
* to `PGHOST`/`PGDATABASE`/`PGUSER`)
|
|
34
|
-
* OAuth
|
|
32
|
+
* environment (`DATABRICKS_LAKEBASE_HOST`/`DATABASE`/`USER`/`ENDPOINT`,
|
|
33
|
+
* falling back to `PGHOST`/`PGDATABASE`/`PGUSER`/`ENDPOINT_NAME`). Workspace
|
|
34
|
+
* OAuth is exchanged for a rotating database credential. Set `false` to
|
|
35
|
+
* run without durable persistence.
|
|
35
36
|
*/
|
|
36
37
|
lakebase?: false | {
|
|
37
38
|
host?: string;
|
|
38
39
|
database?: string;
|
|
39
40
|
user?: string;
|
|
41
|
+
endpoint?: string;
|
|
40
42
|
port?: number;
|
|
41
43
|
ssl?: boolean | {
|
|
42
44
|
rejectUnauthorized?: boolean;
|
|
@@ -64,6 +66,7 @@ export interface DatabricksAppRuntime {
|
|
|
64
66
|
* Lakebase is disabled.
|
|
65
67
|
*/
|
|
66
68
|
serverOptions(): Promise<{
|
|
69
|
+
sessionStore?: import('@fabric-harness/sdk').SessionStore;
|
|
67
70
|
submissionStore?: import('@fabric-harness/sdk').AgentSubmissionStore;
|
|
68
71
|
conversationStreamStore?: import('@fabric-harness/sdk').ConversationStreamStore;
|
|
69
72
|
}>;
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,gFAAgF;IAChF,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,oBAAoB;IACnC,iDAAiD;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,gFAAgF;IAChF,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,GAAG;YAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;IAC9L,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,4EAA4E;IAC5E,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,qBAAqB,EAAE,YAAY,CAAC;QAC1D,eAAe,CAAC,EAAE,OAAO,qBAAqB,EAAE,oBAAoB,CAAC;QACrE,uBAAuB,CAAC,EAAE,OAAO,qBAAqB,EAAE,uBAAuB,CAAC;KACjF,CAAC,CAAC;IACH;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG;QAAE,QAAQ,EAAE,uBAAuB,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,SAAS,CAAC;IACpJ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,oBAAoB,CA+FtF"}
|
package/dist/app.js
CHANGED
|
@@ -34,17 +34,21 @@ export function databricksApp(options = {}) {
|
|
|
34
34
|
const lakebase = options.lakebase === undefined ? {} : options.lakebase;
|
|
35
35
|
const lakebaseHost = lakebase.host ?? env.DATABRICKS_LAKEBASE_HOST ?? env.PGHOST;
|
|
36
36
|
const database = lakebase.database ?? env.DATABRICKS_LAKEBASE_DATABASE ?? env.PGDATABASE;
|
|
37
|
+
const endpoint = lakebase.endpoint ?? env.DATABRICKS_LAKEBASE_ENDPOINT ?? env.ENDPOINT_NAME;
|
|
37
38
|
const user = lakebase.user ??
|
|
38
39
|
env.DATABRICKS_LAKEBASE_USER ??
|
|
39
40
|
env.PGUSER ??
|
|
40
41
|
(principal.kind === 'service-principal' ? principal.clientId : undefined);
|
|
41
|
-
if (lakebaseHost && database && user) {
|
|
42
|
+
if (lakebaseHost && database && user && endpoint) {
|
|
42
43
|
persistence = databricksPersistence({
|
|
43
44
|
lakebase: {
|
|
44
45
|
host: lakebaseHost,
|
|
45
46
|
database,
|
|
46
47
|
user,
|
|
48
|
+
workspaceHost: host,
|
|
49
|
+
endpoint,
|
|
47
50
|
token: identity,
|
|
51
|
+
...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
|
|
48
52
|
...(lakebase.port !== undefined ? { port: lakebase.port } : env.PGPORT ? { port: Number(env.PGPORT) } : {}),
|
|
49
53
|
...(lakebase.ssl !== undefined ? { ssl: lakebase.ssl } : {}),
|
|
50
54
|
...(lakebase.poolFactory ? { poolFactory: lakebase.poolFactory } : {}),
|
|
@@ -52,7 +56,7 @@ export function databricksApp(options = {}) {
|
|
|
52
56
|
});
|
|
53
57
|
}
|
|
54
58
|
else if (options.lakebase !== undefined) {
|
|
55
|
-
throw new Error('databricksApp({ lakebase }) is missing connection details: provide host/database/user or the DATABRICKS_LAKEBASE_* (or PG
|
|
59
|
+
throw new Error('databricksApp({ lakebase }) is missing connection details: provide host/database/user/endpoint or the DATABRICKS_LAKEBASE_* (or PG*/ENDPOINT_NAME) environment variables from the app database resource.');
|
|
56
60
|
}
|
|
57
61
|
}
|
|
58
62
|
const telemetry = persistence && options.telemetry !== false ? databricksTelemetry({ client: persistence.client }) : undefined;
|
|
@@ -67,8 +71,8 @@ export function databricksApp(options = {}) {
|
|
|
67
71
|
async serverOptions() {
|
|
68
72
|
if (!persistence)
|
|
69
73
|
return {};
|
|
70
|
-
const { submissionStore, conversationStreamStore } = await persistence.connectAll();
|
|
71
|
-
return { submissionStore, conversationStreamStore };
|
|
74
|
+
const { store, submissionStore, conversationStreamStore } = await persistence.connectAll();
|
|
75
|
+
return { sessionStore: store, submissionStore, conversationStreamStore };
|
|
72
76
|
},
|
|
73
77
|
onBehalfOf(headers) {
|
|
74
78
|
const user = onBehalfOfFromHeaders(headers);
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -3,11 +3,8 @@ export interface DatabricksClientOptions {
|
|
|
3
3
|
token: string | (() => string | Promise<string>);
|
|
4
4
|
fetchImpl?: typeof fetch;
|
|
5
5
|
/**
|
|
6
|
-
* Retries
|
|
7
|
-
*
|
|
8
|
-
* mechanism: non-idempotent POSTs (e.g. `/sql/statements`, `/jobs/run-now`) can duplicate work if
|
|
9
|
-
* a request actually reached the server before failing. Set `maxRetries: 0` to disable, or use
|
|
10
|
-
* Databricks' own idempotency tokens where the API supports them.
|
|
6
|
+
* Retries after the initial request for transient failures. Default 3.
|
|
7
|
+
* Applied automatically only to reads and idempotency-protected mutations.
|
|
11
8
|
*/
|
|
12
9
|
maxRetries?: number;
|
|
13
10
|
/** Base backoff in ms (exponential per attempt; `Retry-After` honored when present). Default 500. */
|
|
@@ -21,6 +18,14 @@ export interface DatabricksClientOptions {
|
|
|
21
18
|
*/
|
|
22
19
|
extraHeaders?: Record<string, string> | (() => Record<string, string> | Promise<Record<string, string>>);
|
|
23
20
|
}
|
|
21
|
+
export interface DatabricksRequestOptions {
|
|
22
|
+
/** Explicitly classify a mutation. `always` must only be used for idempotent operations. */
|
|
23
|
+
retry?: 'safe' | 'always' | 'never';
|
|
24
|
+
/** Adds an Idempotency-Key header and permits transient retries. */
|
|
25
|
+
idempotencyKey?: string;
|
|
26
|
+
/** Per-operation retry count override. */
|
|
27
|
+
maxRetries?: number;
|
|
28
|
+
}
|
|
24
29
|
export declare class DatabricksRestClient {
|
|
25
30
|
private readonly host;
|
|
26
31
|
private readonly token;
|
|
@@ -31,8 +36,8 @@ export declare class DatabricksRestClient {
|
|
|
31
36
|
private readonly extraHeaders;
|
|
32
37
|
constructor(options: DatabricksClientOptions);
|
|
33
38
|
get<T>(path: string, query?: Record<string, string | number | boolean | undefined>): Promise<T>;
|
|
34
|
-
post<T>(path: string, body?: unknown, query?: Record<string, string | number | boolean | undefined
|
|
35
|
-
request<T>(method: string, path: string, body?: unknown, query?: Record<string, string | number | boolean | undefined
|
|
39
|
+
post<T>(path: string, body?: unknown, query?: Record<string, string | number | boolean | undefined>, options?: DatabricksRequestOptions): Promise<T>;
|
|
40
|
+
request<T>(method: string, path: string, body?: unknown, query?: Record<string, string | number | boolean | undefined>, options?: DatabricksRequestOptions): Promise<T>;
|
|
36
41
|
}
|
|
37
42
|
export declare function createDatabricksClient(options: DatabricksClientOptions): DatabricksRestClient;
|
|
38
43
|
export interface DatabricksWaitOptions {
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qGAAqG;IACrG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;CAC1G;AAED,MAAM,WAAW,wBAAwB;IACvC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAeD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmC;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;gBAE3D,OAAO,EAAE,uBAAuB;IAU5C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI/F,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC;IAI9I,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,EAAE,OAAO,GAAE,wBAA6B,GAAG,OAAO,CAAC,CAAC,CAAC;CAoDtL;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,oBAAoB,CAE7F;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAS7J;AAED,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASzK"}
|
package/dist/client.js
CHANGED
|
@@ -31,14 +31,18 @@ export class DatabricksRestClient {
|
|
|
31
31
|
get(path, query) {
|
|
32
32
|
return this.request('GET', path, undefined, query);
|
|
33
33
|
}
|
|
34
|
-
post(path, body, query) {
|
|
35
|
-
return this.request('POST', path, body, query);
|
|
34
|
+
post(path, body, query, options) {
|
|
35
|
+
return this.request('POST', path, body, query, options);
|
|
36
36
|
}
|
|
37
|
-
async request(method, path, body, query = {}) {
|
|
37
|
+
async request(method, path, body, query = {}, options = {}) {
|
|
38
38
|
const url = new URL(`${this.host}${path.startsWith('/') ? path : `/${path}`}`);
|
|
39
39
|
for (const [key, value] of Object.entries(query))
|
|
40
40
|
if (value !== undefined)
|
|
41
41
|
url.searchParams.set(key, String(value));
|
|
42
|
+
const bodyHasNativeIdempotency = typeof body === 'object' && body !== null &&
|
|
43
|
+
typeof body.idempotency_token === 'string';
|
|
44
|
+
const canRetry = options.retry === 'always' || (options.retry !== 'never' && (options.retry === 'safe' || method === 'GET' || method === 'HEAD' || Boolean(options.idempotencyKey) || bodyHasNativeIdempotency));
|
|
45
|
+
const maxRetries = canRetry ? (options.maxRetries ?? this.maxRetries) : 0;
|
|
42
46
|
for (let attempt = 0;; attempt += 1) {
|
|
43
47
|
// Resolve the (possibly rotating) token on every attempt.
|
|
44
48
|
const token = typeof this.token === 'function' ? await this.token() : this.token;
|
|
@@ -48,6 +52,7 @@ export class DatabricksRestClient {
|
|
|
48
52
|
headers: {
|
|
49
53
|
authorization: `Bearer ${token}`,
|
|
50
54
|
...(body !== undefined ? { 'content-type': 'application/json' } : {}),
|
|
55
|
+
...(options.idempotencyKey ? { 'idempotency-key': options.idempotencyKey } : {}),
|
|
51
56
|
...extra,
|
|
52
57
|
},
|
|
53
58
|
...(body !== undefined ? { body: JSON.stringify(body) } : {}),
|
|
@@ -59,7 +64,7 @@ export class DatabricksRestClient {
|
|
|
59
64
|
}
|
|
60
65
|
catch (error) {
|
|
61
66
|
// Network error — retry transient failures, but never swallow an abort.
|
|
62
|
-
if (this.signal?.aborted || attempt >=
|
|
67
|
+
if (this.signal?.aborted || attempt >= maxRetries)
|
|
63
68
|
throw error;
|
|
64
69
|
await new Promise((resolve) => setTimeout(resolve, this.retryBaseDelayMs * 2 ** attempt));
|
|
65
70
|
continue;
|
|
@@ -69,7 +74,7 @@ export class DatabricksRestClient {
|
|
|
69
74
|
return undefined;
|
|
70
75
|
return await response.json();
|
|
71
76
|
}
|
|
72
|
-
if (isRetryableStatus(response.status) && attempt <
|
|
77
|
+
if (isRetryableStatus(response.status) && attempt < maxRetries) {
|
|
73
78
|
await new Promise((resolve) => setTimeout(resolve, retryDelayMs(response, attempt, this.retryBaseDelayMs)));
|
|
74
79
|
continue;
|
|
75
80
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAgCjD,SAAS,iBAAiB,CAAC,MAAc;IACvC,OAAO,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,QAAkB,EAAE,OAAe,EAAE,IAAY;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,GAAG,IAAI,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC;AAC7B,CAAC;AAED,MAAM,OAAO,oBAAoB;IACd,IAAI,CAAS;IACb,KAAK,CAAmC;IACxC,SAAS,CAAe;IACxB,UAAU,CAAS;IACnB,gBAAgB,CAAS;IACzB,MAAM,CAA0B;IAChC,YAAY,CAA0C;IAEvE,YAAY,OAAgC;QAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;QAC5C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,GAAG,CAAI,IAAY,EAAE,KAA6D;QAChF,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAI,IAAY,EAAE,IAAc,EAAE,KAA6D,EAAE,OAAkC;QACrI,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,MAAc,EAAE,IAAY,EAAE,IAAc,EAAE,QAA+D,EAAE,EAAE,UAAoC,EAAE;QACtK,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,IAAI,KAAK,KAAK,SAAS;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpH,MAAM,wBAAwB,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YACxE,OAAQ,IAAgC,CAAC,iBAAiB,KAAK,QAAQ,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,KAAK,QAAQ,IAAI,CAC7C,OAAO,CAAC,KAAK,KAAK,OAAO,IAAI,CAC3B,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,wBAAwB,CACjI,CACF,CAAC;QACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;YACrC,0DAA0D;YAC1D,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACjF,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YACtG,MAAM,IAAI,GAAgB;gBACxB,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChF,GAAG,KAAK;iBACT;gBACD,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAChD,CAAC;YAEF,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wEAAwE;gBACxE,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,OAAO,IAAI,UAAU;oBAAE,MAAM,KAAK,CAAC;gBAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;gBAC1F,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,SAAc,CAAC;gBACnD,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAO,CAAC;YACpC,CAAC;YAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBAC5G,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,OAAO,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA4B,EAAE,KAAa,EAAE,UAAiC,EAAE;IACzH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IACjD,IAAI,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QACvE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAA4B,EAAE,WAAmB,EAAE,UAAiC,EAAE;IACrI,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC;IACjD,IAAI,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,2BAA2B,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACtH,OAAO,CAAC,kCAAkC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAA0B,2BAA2B,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAA4B;IAChE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAyE,CAAC;IAC5F,MAAM,SAAS,GAAG,KAAK,EAAE,gBAAgB,CAAC;IAC1C,OAAO,SAAS,KAAK,YAAY,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,gBAAgB,CAAC;AACjG,CAAC;AAED,SAAS,kCAAkC,CAAC,SAAkC;IAC5E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAwC,CAAC;IAClE,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,CAAC;IAC5B,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC;AACnG,CAAC"}
|
package/dist/feature-serving.js
CHANGED
|
@@ -23,7 +23,7 @@ export function databricksFeatureLookupTool(client, options) {
|
|
|
23
23
|
metadata: { effect: 'read', provider: 'databricks', service: 'feature-serving' },
|
|
24
24
|
execute: (input) => client.post(`/serving-endpoints/${encodeURIComponent(options.endpoint)}/invocations`, {
|
|
25
25
|
dataframe_records: input.records,
|
|
26
|
-
}),
|
|
26
|
+
}, {}, { retry: 'safe' }),
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
//# sourceMappingURL=feature-serving.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-serving.js","sourceRoot":"","sources":["../src/feature-serving.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAA4B,EAAE,OAA2C;IACnH,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,2BAA2B;QACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kGAAkG;QACtI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;oBACrD,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAChF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;YACxG,iBAAiB,EAAE,KAAK,CAAC,OAAO;SACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"feature-serving.js","sourceRoot":"","sources":["../src/feature-serving.ts"],"names":[],"mappings":"AAUA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAA4B,EAAE,OAA2C;IACnH,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,2BAA2B;QACjD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,kGAAkG;QACtI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;oBACrD,QAAQ,EAAE,CAAC;oBACX,WAAW,EAAE,iDAAiD;iBAC/D;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAChF,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE;YACxG,iBAAiB,EAAE,KAAK,CAAC,OAAO;SACjC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { DatabricksLineageRecord } from './governance.js';
|
|
|
6
6
|
import type { LakebaseClient, LakebasePoolFactory } from './lakebase.js';
|
|
7
7
|
import type { DatabricksConsumption } from './consumption.js';
|
|
8
8
|
export { DatabricksRestClient, createDatabricksClient, waitForDatabricksRun, waitForDatabricksStatement } from './client.js';
|
|
9
|
-
export type { DatabricksClientOptions, DatabricksWaitOptions } from './client.js';
|
|
9
|
+
export type { DatabricksClientOptions, DatabricksRequestOptions, DatabricksWaitOptions } from './client.js';
|
|
10
10
|
export { databricksSqlTool, databricksRunJobTool, databricksNotebookTool, databricksMlflowLogMetricTool, databricksMlflowLogParamTool, unityCatalogTablesTool, databricksTableInfoTool, databricksWorkspaceSource } from './tools.js';
|
|
11
11
|
export type { DatabricksSqlToolOptions, DatabricksWorkspaceSourceOptions } from './tools.js';
|
|
12
12
|
export { databricksFoundationModelProvider, registerDatabricksModelProvider } from './model.js';
|
|
@@ -15,14 +15,14 @@ export { appServicePrincipalFromEnv, databricksIdentity, fabricPrincipalFor, onB
|
|
|
15
15
|
export type { DatabricksPrincipal, DatabricksTokenProvider, FabricPrincipalOverrides } from './identity.js';
|
|
16
16
|
export { withGovernance, withGovernanceTools, databricksApprovalRules, databricksGovernancePolicy } from './governance.js';
|
|
17
17
|
export type { DatabricksGovernanceOptions, DatabricksLineageRecord, DatabricksApprovalRuleOptions, DatabricksGovernancePolicyOptions } from './governance.js';
|
|
18
|
-
export { lakebaseClient } from './lakebase.js';
|
|
18
|
+
export { lakebaseClient, lakebaseCredentialProvider } from './lakebase.js';
|
|
19
19
|
export { databricksPersistence } from './persistence.js';
|
|
20
20
|
export { databricksTelemetry, ensureDatabricksTelemetryTables } from './telemetry-sink.js';
|
|
21
21
|
export { databricksApp } from './app.js';
|
|
22
22
|
export type { DatabricksAppOptions, DatabricksAppRuntime } from './app.js';
|
|
23
23
|
export type { DatabricksTelemetry, DatabricksTelemetryOptions } from './telemetry-sink.js';
|
|
24
24
|
export type { DatabricksPersistence, DatabricksPersistenceOptions, DatabricksPersistenceStoreModule } from './persistence.js';
|
|
25
|
-
export type { LakebaseClient, LakebaseClientOptions, LakebasePoolConfig, LakebasePoolFactory } from './lakebase.js';
|
|
25
|
+
export type { LakebaseClient, LakebaseClientOptions, LakebaseCredentialProviderOptions, LakebasePoolConfig, LakebasePoolFactory } from './lakebase.js';
|
|
26
26
|
export { UcVolumesAttachmentStore } from './volumes-attachment-store.js';
|
|
27
27
|
export type { UcVolumesAttachmentStoreOptions } from './volumes-attachment-store.js';
|
|
28
28
|
export { buildMlflowTrace, mlflowTraceExporter } from './mlflow-tracing.js';
|
|
@@ -76,6 +76,8 @@ export interface DatabricksBundleConfig {
|
|
|
76
76
|
host: string;
|
|
77
77
|
database: string;
|
|
78
78
|
user: string;
|
|
79
|
+
/** Lakebase endpoint resource name used for database credential exchange. */
|
|
80
|
+
endpoint: string;
|
|
79
81
|
port?: number;
|
|
80
82
|
ssl?: boolean | {
|
|
81
83
|
rejectUnauthorized?: boolean;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAM9D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC7H,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAOzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAM9D,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAC7H,YAAY,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACtO,YAAY,EAAE,wBAAwB,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAE7F,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAChG,YAAY,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1H,YAAY,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC3H,YAAY,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AAC9J,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC3E,YAAY,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAC3F,YAAY,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AAC9H,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,iCAAiC,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvJ,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,YAAY,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACjI,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACnF,YAAY,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,YAAY,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3K,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACpF,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACjM,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACjG,YAAY,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACrF,YAAY,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,kCAAkC,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,SAAS,EAAE,mBAAmB,CAAC;IAC/B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,iFAAiF;QACjF,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,uGAAuG;QACvG,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,0EAA0E;QAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,+EAA+E;QAC/E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACvD,CAAC;IACF,gFAAgF;IAChF,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,6EAA6E;QAC7E,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,OAAO,GAAG;YAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACjD,WAAW,CAAC,EAAE,mBAAmB,CAAC;KACnC,CAAC;IACF;;;OAGG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,YAAY,CAAC;IAC/D,8FAA8F;IAC9F,YAAY,CAAC,EAAE;QACb,8CAA8C;QAC9C,KAAK,EAAE,MAAM,CAAC;QACd,qCAAqC;QACrC,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8GAA8G;QAC9G,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;QAC9B,uFAAuF;QACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wDAAwD;QACxD,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,+FAA+F;IAC/F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qFAAqF;IACrF,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oGAAoG;IACpG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,8FAA8F;IAC9F,QAAQ,EAAE,uBAAuB,CAAC;IAClC,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,oBAAoB,CAAC;IAC7B,wEAAwE;IACxE,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,2FAA2F;IAC3F,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,sEAAsE;IACtE,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gCAAgC,KAAK,gBAAgB,CAAC;IACpG,kEAAkE;IAClE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,qFAAqF;IACrF,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,+FAA+F;IAC/F,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB,CAqE3E"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ export { databricksSqlTool, databricksRunJobTool, databricksNotebookTool, databr
|
|
|
19
19
|
export { databricksFoundationModelProvider, registerDatabricksModelProvider } from './model.js';
|
|
20
20
|
export { appServicePrincipalFromEnv, databricksIdentity, fabricPrincipalFor, onBehalfOfFromHeaders } from './identity.js';
|
|
21
21
|
export { withGovernance, withGovernanceTools, databricksApprovalRules, databricksGovernancePolicy } from './governance.js';
|
|
22
|
-
export { lakebaseClient } from './lakebase.js';
|
|
22
|
+
export { lakebaseClient, lakebaseCredentialProvider } from './lakebase.js';
|
|
23
23
|
export { databricksPersistence } from './persistence.js';
|
|
24
24
|
export { databricksTelemetry, ensureDatabricksTelemetryTables } from './telemetry-sink.js';
|
|
25
25
|
export { databricksApp } from './app.js';
|
|
@@ -102,7 +102,7 @@ export function databricks(config) {
|
|
|
102
102
|
...(config.consumption && config.warehouseId ? { consumption: databricksConsumption(client, { warehouseId: config.warehouseId }) } : {}),
|
|
103
103
|
};
|
|
104
104
|
if (config.lakebase) {
|
|
105
|
-
const lakebase = lakebaseClient({ ...config.lakebase, token: identity });
|
|
105
|
+
const lakebase = lakebaseClient({ ...config.lakebase, workspaceHost: config.host, token: identity });
|
|
106
106
|
bundle.lakebase = lakebase;
|
|
107
107
|
if (config.sessionStoreFactory)
|
|
108
108
|
bundle.store = config.sessionStoreFactory(lakebase);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAElF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGjG,2FAA2F;AAC3F,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE7H,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGtO,OAAO,EAAE,iCAAiC,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAEhG,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE1H,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE3H,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lakebase.d.ts
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import type { DatabricksTokenProvider } from './identity.js';
|
|
2
|
-
/**
|
|
3
|
-
* Databricks Lakebase is managed Postgres. This builds a Postgres client whose **password is the
|
|
4
|
-
* rotating OAuth token** (from {@link databricksIdentity}) rather than a static string: `pg.Pool`
|
|
5
|
-
* evaluates the `password` function for every new connection, so a long-lived pool never pins a
|
|
6
|
-
* stale token. The returned client is structurally compatible with `PostgresClientLike` from
|
|
7
|
-
* `@fabric-harness/node`, so it drops straight into `new PostgresSessionStore({ client })` (and the
|
|
8
|
-
* Postgres cost-budget / session-memory stores) — sessions + dispatch journal live in the lakehouse.
|
|
9
|
-
*
|
|
10
|
-
* Kept decoupled from `@fabric-harness/node` on purpose: this package owns the rotating-token
|
|
11
|
-
* client; store assembly happens at the app / `databricks()` bundle layer where `node` is present.
|
|
12
|
-
*/
|
|
13
2
|
export interface LakebaseClient {
|
|
14
3
|
query<T = Record<string, unknown>>(sql: string, params?: unknown[]): Promise<{
|
|
15
4
|
rows: T[];
|
|
@@ -21,7 +10,6 @@ export interface LakebasePoolConfig {
|
|
|
21
10
|
port: number;
|
|
22
11
|
database: string;
|
|
23
12
|
user: string;
|
|
24
|
-
/** Static password or a resolver evaluated per new connection (the rotating token path). */
|
|
25
13
|
password: string | (() => string | Promise<string>);
|
|
26
14
|
ssl?: boolean | {
|
|
27
15
|
rejectUnauthorized?: boolean;
|
|
@@ -29,20 +17,44 @@ export interface LakebasePoolConfig {
|
|
|
29
17
|
max?: number;
|
|
30
18
|
}
|
|
31
19
|
export type LakebasePoolFactory = (config: LakebasePoolConfig) => LakebaseClient;
|
|
20
|
+
export interface LakebaseCredentialProviderOptions {
|
|
21
|
+
/** Databricks workspace URL, distinct from the Lakebase Postgres host. */
|
|
22
|
+
workspaceHost: string;
|
|
23
|
+
/** Full endpoint resource name: projects/.../branches/.../endpoints/.... */
|
|
24
|
+
endpoint: string;
|
|
25
|
+
/** Workspace OAuth token. It is exchanged for a database credential. */
|
|
26
|
+
token: string | DatabricksTokenProvider;
|
|
27
|
+
fetchImpl?: typeof fetch;
|
|
28
|
+
/** Refresh this long before expiry. Default five minutes. */
|
|
29
|
+
refreshBeforeMs?: number;
|
|
30
|
+
/** Additional randomized early-refresh window. Default thirty seconds. */
|
|
31
|
+
refreshJitterMs?: number;
|
|
32
|
+
now?: () => number;
|
|
33
|
+
random?: () => number;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Exchange a workspace OAuth token for a Lakebase database credential. The
|
|
37
|
+
* result is cached, refreshed early with jitter, and refreshes are single-flight.
|
|
38
|
+
*/
|
|
39
|
+
export declare function lakebaseCredentialProvider(options: LakebaseCredentialProviderOptions): () => Promise<string>;
|
|
32
40
|
export interface LakebaseClientOptions {
|
|
33
41
|
host: string;
|
|
34
42
|
database: string;
|
|
35
43
|
user: string;
|
|
36
|
-
/**
|
|
37
|
-
|
|
38
|
-
/**
|
|
44
|
+
/** Direct database password. Intended for local Postgres/testing, not workspace OAuth. */
|
|
45
|
+
password?: string | (() => string | Promise<string>);
|
|
46
|
+
/** Workspace OAuth token to exchange. Requires workspaceHost and endpoint. */
|
|
47
|
+
token?: string | DatabricksTokenProvider;
|
|
48
|
+
workspaceHost?: string;
|
|
49
|
+
endpoint?: string;
|
|
50
|
+
fetchImpl?: typeof fetch;
|
|
51
|
+
refreshBeforeMs?: number;
|
|
52
|
+
refreshJitterMs?: number;
|
|
39
53
|
port?: number;
|
|
40
|
-
/** Default `{ rejectUnauthorized: true }` — Lakebase requires TLS. */
|
|
41
54
|
ssl?: boolean | {
|
|
42
55
|
rejectUnauthorized?: boolean;
|
|
43
56
|
};
|
|
44
57
|
max?: number;
|
|
45
|
-
/** Inject a pg-like Pool factory for testing; defaults to the optional `pg` package. */
|
|
46
58
|
poolFactory?: LakebasePoolFactory;
|
|
47
59
|
}
|
|
48
60
|
export declare function lakebaseClient(options: LakebaseClientOptions): LakebaseClient;
|
package/dist/lakebase.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lakebase.d.ts","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lakebase.d.ts","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAI7D,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IAC5F,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,kBAAkB,KAAK,cAAc,CAAC;AAEjF,MAAM,WAAW,iCAAiC;IAChD,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;CACvB;AAOD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,iCAAiC,GACzC,MAAM,OAAO,CAAC,MAAM,CAAC,CA+CvB;AAYD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACrD,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CA2B7E"}
|
package/dist/lakebase.js
CHANGED
|
@@ -1,13 +1,89 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';
|
|
2
|
+
import { redactText } from '@fabric-harness/sdk';
|
|
2
3
|
const require = createRequire(import.meta.url);
|
|
4
|
+
/**
|
|
5
|
+
* Exchange a workspace OAuth token for a Lakebase database credential. The
|
|
6
|
+
* result is cached, refreshed early with jitter, and refreshes are single-flight.
|
|
7
|
+
*/
|
|
8
|
+
export function lakebaseCredentialProvider(options) {
|
|
9
|
+
const workspaceHost = options.workspaceHost.replace(/\/$/, '');
|
|
10
|
+
const fetchImpl = options.fetchImpl ?? fetch;
|
|
11
|
+
const now = options.now ?? Date.now;
|
|
12
|
+
const random = options.random ?? Math.random;
|
|
13
|
+
const refreshBeforeMs = options.refreshBeforeMs ?? 5 * 60_000;
|
|
14
|
+
const refreshJitterMs = options.refreshJitterMs ?? 30_000;
|
|
15
|
+
let cached;
|
|
16
|
+
let refreshing;
|
|
17
|
+
const refresh = async () => {
|
|
18
|
+
const workspaceToken = typeof options.token === 'function' ? await options.token() : options.token;
|
|
19
|
+
const response = await fetchImpl(`${workspaceHost}/api/2.0/postgres/credentials`, {
|
|
20
|
+
method: 'POST',
|
|
21
|
+
headers: {
|
|
22
|
+
authorization: `Bearer ${workspaceToken}`,
|
|
23
|
+
'content-type': 'application/json',
|
|
24
|
+
},
|
|
25
|
+
body: JSON.stringify({ endpoint: options.endpoint }),
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const text = redactText(await response.text(), { additionalSecrets: [workspaceToken] });
|
|
29
|
+
throw new Error(`Lakebase credential exchange failed: ${response.status} ${response.statusText}: ${text.slice(0, 2000)}`);
|
|
30
|
+
}
|
|
31
|
+
const value = await response.json();
|
|
32
|
+
if (typeof value.token !== 'string' || !value.token) {
|
|
33
|
+
throw new Error('Lakebase credential exchange returned no token.');
|
|
34
|
+
}
|
|
35
|
+
const expiresAt = parseExpireTime(value.expire_time);
|
|
36
|
+
if (!Number.isFinite(expiresAt)) {
|
|
37
|
+
throw new Error('Lakebase credential exchange returned an invalid expire_time.');
|
|
38
|
+
}
|
|
39
|
+
const jitter = Math.max(0, refreshJitterMs) * random();
|
|
40
|
+
cached = {
|
|
41
|
+
token: value.token,
|
|
42
|
+
refreshAt: Math.max(now(), expiresAt - Math.max(0, refreshBeforeMs) - jitter),
|
|
43
|
+
};
|
|
44
|
+
return value.token;
|
|
45
|
+
};
|
|
46
|
+
return async () => {
|
|
47
|
+
if (cached && now() < cached.refreshAt)
|
|
48
|
+
return cached.token;
|
|
49
|
+
refreshing ??= refresh().finally(() => {
|
|
50
|
+
refreshing = undefined;
|
|
51
|
+
});
|
|
52
|
+
return refreshing;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function parseExpireTime(value) {
|
|
56
|
+
if (typeof value === 'number') {
|
|
57
|
+
// Databricks APIs commonly use epoch milliseconds, but tolerate epoch
|
|
58
|
+
// seconds so credentials are not treated as already expired.
|
|
59
|
+
return value < 1_000_000_000_000 ? value * 1000 : value;
|
|
60
|
+
}
|
|
61
|
+
if (typeof value === 'string')
|
|
62
|
+
return new Date(value).getTime();
|
|
63
|
+
return Number.NaN;
|
|
64
|
+
}
|
|
3
65
|
export function lakebaseClient(options) {
|
|
4
66
|
const factory = options.poolFactory ?? defaultPoolFactory();
|
|
67
|
+
let password = options.password;
|
|
68
|
+
if (password === undefined) {
|
|
69
|
+
if (!options.token || !options.workspaceHost || !options.endpoint) {
|
|
70
|
+
throw new Error('Lakebase OAuth requires token, workspaceHost, and endpoint. A workspace token cannot be used directly as the Postgres password.');
|
|
71
|
+
}
|
|
72
|
+
password = lakebaseCredentialProvider({
|
|
73
|
+
workspaceHost: options.workspaceHost,
|
|
74
|
+
endpoint: options.endpoint,
|
|
75
|
+
token: options.token,
|
|
76
|
+
...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
|
|
77
|
+
...(options.refreshBeforeMs !== undefined ? { refreshBeforeMs: options.refreshBeforeMs } : {}),
|
|
78
|
+
...(options.refreshJitterMs !== undefined ? { refreshJitterMs: options.refreshJitterMs } : {}),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
5
81
|
return factory({
|
|
6
82
|
host: options.host,
|
|
7
83
|
port: options.port ?? 5432,
|
|
8
84
|
database: options.database,
|
|
9
85
|
user: options.user,
|
|
10
|
-
password
|
|
86
|
+
password,
|
|
11
87
|
ssl: options.ssl ?? { rejectUnauthorized: true },
|
|
12
88
|
...(options.max !== undefined ? { max: options.max } : {}),
|
|
13
89
|
});
|
package/dist/lakebase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lakebase.js","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"lakebase.js","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"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"}
|
package/dist/persistence.d.ts
CHANGED
|
@@ -23,8 +23,8 @@ export interface DatabricksPersistenceStoreModule {
|
|
|
23
23
|
}
|
|
24
24
|
export interface DatabricksPersistenceOptions {
|
|
25
25
|
/**
|
|
26
|
-
* Lakebase connection options (
|
|
27
|
-
* already-constructed client to reuse.
|
|
26
|
+
* Lakebase connection options (workspace OAuth credential exchange or an
|
|
27
|
+
* explicit local/test password), or an already-constructed client to reuse.
|
|
28
28
|
*/
|
|
29
29
|
lakebase: LakebaseClientOptions | LakebaseClient;
|
|
30
30
|
/** Override the `@fabric-harness/node` loader (tests / bundlers). */
|
|
@@ -58,7 +58,7 @@ export interface DatabricksPersistence extends PersistenceAdapter {
|
|
|
58
58
|
*
|
|
59
59
|
* ```ts
|
|
60
60
|
* const persistence = databricksPersistence({
|
|
61
|
-
* lakebase: { host, database: 'fabric', user: clientId, token: identity },
|
|
61
|
+
* lakebase: { host, database: 'fabric', user: clientId, workspaceHost, endpoint, token: identity },
|
|
62
62
|
* });
|
|
63
63
|
* const { store, submissionStore, conversationStreamStore } = await persistence.connectAll();
|
|
64
64
|
* await startDevServer({ submissionStore, conversationStreamStore });
|
|
@@ -66,7 +66,7 @@ export interface DatabricksPersistence extends PersistenceAdapter {
|
|
|
66
66
|
*
|
|
67
67
|
* The Postgres store implementations come from `@fabric-harness/node`
|
|
68
68
|
* (optional peer) and run unchanged against Lakebase — the only Databricks
|
|
69
|
-
* specifics are
|
|
69
|
+
* specifics are database-credential exchange, refresh caching, and TLS defaults from
|
|
70
70
|
* {@link lakebaseClient}.
|
|
71
71
|
*/
|
|
72
72
|
export declare function databricksPersistence(options: DatabricksPersistenceOptions): DatabricksPersistence;
|
package/dist/persistence.js
CHANGED
|
@@ -4,7 +4,7 @@ import { lakebaseClient } from './lakebase.js';
|
|
|
4
4
|
*
|
|
5
5
|
* ```ts
|
|
6
6
|
* const persistence = databricksPersistence({
|
|
7
|
-
* lakebase: { host, database: 'fabric', user: clientId, token: identity },
|
|
7
|
+
* lakebase: { host, database: 'fabric', user: clientId, workspaceHost, endpoint, token: identity },
|
|
8
8
|
* });
|
|
9
9
|
* const { store, submissionStore, conversationStreamStore } = await persistence.connectAll();
|
|
10
10
|
* await startDevServer({ submissionStore, conversationStreamStore });
|
|
@@ -12,7 +12,7 @@ import { lakebaseClient } from './lakebase.js';
|
|
|
12
12
|
*
|
|
13
13
|
* The Postgres store implementations come from `@fabric-harness/node`
|
|
14
14
|
* (optional peer) and run unchanged against Lakebase — the only Databricks
|
|
15
|
-
* specifics are
|
|
15
|
+
* specifics are database-credential exchange, refresh caching, and TLS defaults from
|
|
16
16
|
* {@link lakebaseClient}.
|
|
17
17
|
*/
|
|
18
18
|
export function databricksPersistence(options) {
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;CAC3C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,CAAC,CAwB7K;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.js
CHANGED
|
@@ -41,6 +41,7 @@ export function databricksRunJobTool(client, options = {}) {
|
|
|
41
41
|
metadata: { effect: 'execute', provider: 'databricks', service: 'jobs' },
|
|
42
42
|
execute: (input) => client.post('/api/2.1/jobs/run-now', {
|
|
43
43
|
job_id: input.jobId,
|
|
44
|
+
idempotency_token: globalThis.crypto.randomUUID(),
|
|
44
45
|
...(input.notebookParams ? { notebook_params: input.notebookParams } : {}),
|
|
45
46
|
...(input.pythonParams ? { python_params: input.pythonParams } : {}),
|
|
46
47
|
...(input.jarParams ? { jar_params: input.jarParams } : {}),
|
|
@@ -63,6 +64,7 @@ export function databricksNotebookTool(client, options = {}) {
|
|
|
63
64
|
},
|
|
64
65
|
metadata: { effect: 'execute', provider: 'databricks', service: 'jobs' },
|
|
65
66
|
execute: (input) => client.post('/api/2.1/jobs/runs/submit', {
|
|
67
|
+
idempotency_token: globalThis.crypto.randomUUID(),
|
|
66
68
|
run_name: input.runName ?? `fabric-harness:${input.notebookPath}`,
|
|
67
69
|
...(options.existingClusterId ? { existing_cluster_id: options.existingClusterId } : {}),
|
|
68
70
|
notebook_task: {
|
|
@@ -95,7 +97,7 @@ export function databricksMlflowLogMetricTool(client, options = {}) {
|
|
|
95
97
|
value: input.value,
|
|
96
98
|
timestamp: input.timestamp ?? Date.now(),
|
|
97
99
|
...(input.step !== undefined ? { step: input.step } : {}),
|
|
98
|
-
}),
|
|
100
|
+
}, {}, { retry: 'safe' }),
|
|
99
101
|
};
|
|
100
102
|
}
|
|
101
103
|
export function databricksMlflowLogParamTool(client, options = {}) {
|
|
@@ -109,7 +111,7 @@ export function databricksMlflowLogParamTool(client, options = {}) {
|
|
|
109
111
|
required: ['runId', 'key', 'value'],
|
|
110
112
|
},
|
|
111
113
|
metadata: { effect: 'write', provider: 'databricks', service: 'mlflow' },
|
|
112
|
-
execute: (input) => client.post('/api/2.0/mlflow/runs/log-parameter', { run_id: input.runId, key: input.key, value: input.value }),
|
|
114
|
+
execute: (input) => client.post('/api/2.0/mlflow/runs/log-parameter', { run_id: input.runId, key: input.key, value: input.value }, {}, { retry: 'safe' }),
|
|
113
115
|
};
|
|
114
116
|
}
|
|
115
117
|
export function unityCatalogTablesTool(client, options = {}) {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,iBAAiB,CAAC,MAA4B,EAAE,OAAiC;IAC/F,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,gBAAgB;QACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,oDAAoD;QACxF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC3B;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACxB;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE;QACvE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACzD,YAAY,EAAE,OAAO,CAAC,WAAW;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,YAAY,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;YAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,QAAQ;YAC5C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAA4B,EAAE,UAAmD,EAAE;IACtH,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,oBAAoB;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,+CAA+C;QACnF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;gBAC1D,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE;QACxE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACvD,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA4B,EAAE,UAA+E,EAAE;IACpJ,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,yBAAyB;QAC/C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,2CAA2C;QAC/E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;gBAC9D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC5B;YACD,QAAQ,EAAE,CAAC,cAAc,CAAC;SAC3B;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE;QACxE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YAC3D,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;YACjD,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,kBAAkB,KAAK,CAAC,YAAY,EAAE;YACjE,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,aAAa,EAAE;gBACb,aAAa,EAAE,KAAK,CAAC,YAAY;gBACjC,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E;SACF,CAAC;KACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA4B,EAAE,UAAmD,EAAE;IAC/H,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,8BAA8B;QACpD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,qDAAqD;QACzF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACxB,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aAC9B;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;SACpC;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;QACxE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE;YACjE,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;YACxC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAA4B,EAAE,UAAmD,EAAE;IAC9H,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,6BAA6B;QACnD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,wDAAwD;QAC5F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC7F,QAAQ,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;SACpC;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE;QACxE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAC7B,oCAAoC,EACpC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAC3D,EAAE,EACF,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAA4B,EAAE,UAAmD,EAAE;IACxH,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,iCAAiC;QACvD,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,oDAAoD;QACxF,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACvE,QAAQ,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;SAChC;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;QAC9E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAC5H,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAA4B,EAAE,UAAmD,EAAE;IACzH,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,uBAAuB;QAC7C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,mGAAmG;QACvI,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,oBAAoB,EAAE,KAAK;YAC3B,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC5C,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;QACD,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;QAC9E,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,iCAAiC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;KACtG,CAAC;AACJ,CAAC;AASD,MAAM,UAAU,yBAAyB,CAAC,MAA4B,EAAE,QAAgB,EAAE,UAA4C,EAAE;IACtI,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,wBAAwB,QAAQ,EAAE;QACxD,KAAK,CAAC,CAAC,OAAO;YACZ,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC;QACnH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,MAA4B,EAAE,IAAY,EAAE,OAAe,EAAE,OAAkC,EAAE,SAAkB,EAAE,MAAc;IAC/J,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAA8D,yBAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5I,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,SAAS;gBAAE,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC3F,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,SAAS;QAC9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAuB,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,EAAE,EAAE,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fabric-harness/databricks",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Databricks tools and filesystem sources for Fabric Harness agents.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fabric",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"LICENSE"
|
|
53
53
|
],
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@fabric-harness/sdk": "^2.
|
|
55
|
+
"@fabric-harness/sdk": "^2.1.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"pg": "^8.11.0",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"devDependencies": {
|
|
70
70
|
"typescript": "^5.8.3",
|
|
71
71
|
"vitest": "^4.1.5",
|
|
72
|
-
"@fabric-harness/node": "^2.
|
|
72
|
+
"@fabric-harness/node": "^2.1.0"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"build": "tsc -p tsconfig.json",
|