@fabric-harness/databricks 0.16.1 → 1.0.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/dist/agent.d.ts +45 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +206 -0
- package/dist/agent.js.map +1 -0
- package/dist/ai.d.ts +19 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +22 -0
- package/dist/ai.js.map +1 -0
- package/dist/app.d.ts +81 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +87 -0
- package/dist/app.js.map +1 -0
- package/dist/client.d.ts +44 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +114 -0
- package/dist/client.js.map +1 -0
- package/dist/consumption.d.ts +45 -0
- package/dist/consumption.d.ts.map +1 -0
- package/dist/consumption.js +85 -0
- package/dist/consumption.js.map +1 -0
- package/dist/cost-budget-actuals.d.ts +27 -0
- package/dist/cost-budget-actuals.d.ts.map +1 -0
- package/dist/cost-budget-actuals.js +265 -0
- package/dist/cost-budget-actuals.js.map +1 -0
- package/dist/embeddings.d.ts +18 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +24 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/feature-serving.d.ts +17 -0
- package/dist/feature-serving.d.ts.map +1 -0
- package/dist/feature-serving.js +29 -0
- package/dist/feature-serving.js.map +1 -0
- package/dist/genie.d.ts +22 -0
- package/dist/genie.d.ts.map +1 -0
- package/dist/genie.js +60 -0
- package/dist/genie.js.map +1 -0
- package/dist/governance.d.ts +70 -0
- package/dist/governance.d.ts.map +1 -0
- package/dist/governance.js +123 -0
- package/dist/governance.js.map +1 -0
- package/dist/identity.d.ts +72 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +119 -0
- package/dist/identity.js.map +1 -0
- package/dist/index.d.ts +143 -80
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -227
- package/dist/index.js.map +1 -1
- package/dist/lakebase.d.ts +49 -0
- package/dist/lakebase.d.ts.map +1 -0
- package/dist/lakebase.js +25 -0
- package/dist/lakebase.js.map +1 -0
- package/dist/lakeflow.d.ts +28 -0
- package/dist/lakeflow.d.ts.map +1 -0
- package/dist/lakeflow.js +75 -0
- package/dist/lakeflow.js.map +1 -0
- package/dist/mlflow-tracing.d.ts +111 -0
- package/dist/mlflow-tracing.d.ts.map +1 -0
- package/dist/mlflow-tracing.js +167 -0
- package/dist/mlflow-tracing.js.map +1 -0
- package/dist/mock-provider.d.ts +26 -0
- package/dist/mock-provider.d.ts.map +1 -0
- package/dist/mock-provider.js +66 -0
- package/dist/mock-provider.js.map +1 -0
- package/dist/model.d.ts +29 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +50 -0
- package/dist/model.js.map +1 -0
- package/dist/persistence.d.ts +73 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +82 -0
- package/dist/persistence.js.map +1 -0
- package/dist/serving-usage.d.ts +48 -0
- package/dist/serving-usage.d.ts.map +1 -0
- package/dist/serving-usage.js +100 -0
- package/dist/serving-usage.js.map +1 -0
- package/dist/sql-exec.d.ts +17 -0
- package/dist/sql-exec.d.ts.map +1 -0
- package/dist/sql-exec.js +36 -0
- package/dist/sql-exec.js.map +1 -0
- package/dist/sql-sandbox.d.ts +1 -1
- package/dist/sql-sandbox.d.ts.map +1 -1
- package/dist/sql-sandbox.js +1 -1
- package/dist/sql-sandbox.js.map +1 -1
- package/dist/telemetry-sink.d.ts +29 -0
- package/dist/telemetry-sink.d.ts.map +1 -0
- package/dist/telemetry-sink.js +129 -0
- package/dist/telemetry-sink.js.map +1 -0
- package/dist/tools.d.ts +71 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +176 -0
- package/dist/tools.js.map +1 -0
- package/dist/vector-search.d.ts +24 -0
- package/dist/vector-search.d.ts.map +1 -0
- package/dist/vector-search.js +63 -0
- package/dist/vector-search.js.map +1 -0
- package/dist/volumes-attachment-store.d.ts +64 -0
- package/dist/volumes-attachment-store.d.ts.map +1 -0
- package/dist/volumes-attachment-store.js +172 -0
- package/dist/volumes-attachment-store.js.map +1 -0
- package/package.json +20 -3
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { AttachmentStoreError, redactText, verifyAttachmentBytes, } from '@fabric-harness/sdk';
|
|
2
|
+
export class UcVolumesAttachmentStore {
|
|
3
|
+
host;
|
|
4
|
+
token;
|
|
5
|
+
fetchImpl;
|
|
6
|
+
volumeRoot;
|
|
7
|
+
rootPrefix;
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.host = options.host.replace(/\/$/, '');
|
|
10
|
+
this.token = options.token;
|
|
11
|
+
this.fetchImpl = options.fetchImpl ?? fetch;
|
|
12
|
+
this.rootPrefix = options.rootPrefix ?? 'fh-attachments';
|
|
13
|
+
this.volumeRoot = `/Volumes/${options.catalog}/${options.schema}/${options.volume}/${this.rootPrefix}`;
|
|
14
|
+
}
|
|
15
|
+
async put(input) {
|
|
16
|
+
await verifyAttachmentBytes(input.ref, input.bytes);
|
|
17
|
+
const refPath = this.refPath(input.scope, input.ref.digest);
|
|
18
|
+
// First-write-wins per (scope, digest): the sidecar marks a complete record.
|
|
19
|
+
if (await this.readFile(refPath))
|
|
20
|
+
return;
|
|
21
|
+
await this.writeFile(this.bytesPath(input.scope, input.ref.digest), input.bytes);
|
|
22
|
+
await this.writeFile(refPath, new TextEncoder().encode(JSON.stringify(input.ref)));
|
|
23
|
+
}
|
|
24
|
+
async get(scope, digest) {
|
|
25
|
+
const refBytes = await this.readFile(this.refPath(scope, digest));
|
|
26
|
+
if (!refBytes)
|
|
27
|
+
return null;
|
|
28
|
+
const ref = parseAttachmentRef(refBytes);
|
|
29
|
+
const bytes = await this.readFile(this.bytesPath(scope, digest));
|
|
30
|
+
// Sidecar without bytes is an incomplete (interrupted) record — a miss.
|
|
31
|
+
if (!bytes)
|
|
32
|
+
return null;
|
|
33
|
+
return { ref, bytes };
|
|
34
|
+
}
|
|
35
|
+
async getByAttachmentId(scope, attachmentId) {
|
|
36
|
+
for (const ref of await this.list(scope)) {
|
|
37
|
+
if (ref.id === attachmentId)
|
|
38
|
+
return this.get(scope, ref.digest);
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
async list(scope) {
|
|
43
|
+
const refs = [];
|
|
44
|
+
for (const prefixDir of await this.listDirectory(this.scopeDir(scope))) {
|
|
45
|
+
if (!prefixDir.is_directory || !prefixDir.path)
|
|
46
|
+
continue;
|
|
47
|
+
for (const entry of await this.listDirectory(prefixDir.path)) {
|
|
48
|
+
if (entry.is_directory || !entry.path || !entry.path.endsWith('.json'))
|
|
49
|
+
continue;
|
|
50
|
+
const refBytes = await this.readFile(entry.path);
|
|
51
|
+
if (refBytes)
|
|
52
|
+
refs.push(parseAttachmentRef(refBytes));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return refs;
|
|
56
|
+
}
|
|
57
|
+
async delete(scope, digest) {
|
|
58
|
+
// The sidecar is the record marker — delete it first so the record
|
|
59
|
+
// disappears even if the bytes delete below fails.
|
|
60
|
+
if (!(await this.deleteFile(this.refPath(scope, digest)))) {
|
|
61
|
+
throw new AttachmentStoreError('NOT_FOUND', `Attachment not found: ${scope}/${digest}`);
|
|
62
|
+
}
|
|
63
|
+
await this.deleteFile(this.bytesPath(scope, digest));
|
|
64
|
+
}
|
|
65
|
+
// ─── Volume paths ─────────────────────────────────────────────────────────
|
|
66
|
+
scopeDir(scope) {
|
|
67
|
+
return `${this.volumeRoot}/${encodeURIComponent(scope)}`;
|
|
68
|
+
}
|
|
69
|
+
bytesPath(scope, digest) {
|
|
70
|
+
return `${this.scopeDir(scope)}/${digest.slice(0, 2)}/${digest}`;
|
|
71
|
+
}
|
|
72
|
+
refPath(scope, digest) {
|
|
73
|
+
return `${this.bytesPath(scope, digest)}.json`;
|
|
74
|
+
}
|
|
75
|
+
// ─── Files API ────────────────────────────────────────────────────────────
|
|
76
|
+
async writeFile(path, bytes) {
|
|
77
|
+
const response = await this.request('PUT', 'files', path, {
|
|
78
|
+
query: { overwrite: 'true' },
|
|
79
|
+
body: bytes,
|
|
80
|
+
});
|
|
81
|
+
if (!response.ok)
|
|
82
|
+
await this.fail(`PUT ${path}`, response);
|
|
83
|
+
}
|
|
84
|
+
/** Raw file bytes, or `null` when the file does not exist (404). */
|
|
85
|
+
async readFile(path) {
|
|
86
|
+
const response = await this.request('GET', 'files', path);
|
|
87
|
+
if (response.status === 404)
|
|
88
|
+
return null;
|
|
89
|
+
if (!response.ok)
|
|
90
|
+
await this.fail(`GET ${path}`, response);
|
|
91
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
92
|
+
}
|
|
93
|
+
/** True when the file existed and was deleted; false on 404. */
|
|
94
|
+
async deleteFile(path) {
|
|
95
|
+
const response = await this.request('DELETE', 'files', path);
|
|
96
|
+
if (response.status === 404)
|
|
97
|
+
return false;
|
|
98
|
+
if (!response.ok)
|
|
99
|
+
await this.fail(`DELETE ${path}`, response);
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
/** Immediate children of a directory; empty for a missing directory (404). */
|
|
103
|
+
async listDirectory(path) {
|
|
104
|
+
const entries = [];
|
|
105
|
+
let pageToken;
|
|
106
|
+
do {
|
|
107
|
+
const response = await this.request('GET', 'directories', path, {
|
|
108
|
+
query: pageToken ? { page_token: pageToken } : {},
|
|
109
|
+
});
|
|
110
|
+
if (response.status === 404)
|
|
111
|
+
return entries;
|
|
112
|
+
if (!response.ok)
|
|
113
|
+
await this.fail(`LIST ${path}`, response);
|
|
114
|
+
const listing = (await response.json());
|
|
115
|
+
entries.push(...(listing.contents ?? []));
|
|
116
|
+
pageToken = listing.next_page_token;
|
|
117
|
+
} while (pageToken);
|
|
118
|
+
return entries;
|
|
119
|
+
}
|
|
120
|
+
async request(method, api, path, options = {}) {
|
|
121
|
+
const url = new URL(`${this.host}/api/2.0/fs/${api}${encodeVolumePath(path)}`);
|
|
122
|
+
for (const [key, value] of Object.entries(options.query ?? {})) {
|
|
123
|
+
url.searchParams.set(key, value);
|
|
124
|
+
}
|
|
125
|
+
const token = typeof this.token === 'function' ? await this.token() : this.token;
|
|
126
|
+
return this.fetchImpl(url, {
|
|
127
|
+
method,
|
|
128
|
+
headers: {
|
|
129
|
+
authorization: `Bearer ${token}`,
|
|
130
|
+
...(options.body !== undefined ? { 'content-type': 'application/octet-stream' } : {}),
|
|
131
|
+
},
|
|
132
|
+
...(options.body !== undefined ? { body: viewToBuffer(options.body) } : {}),
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
async fail(operation, response) {
|
|
136
|
+
const token = typeof this.token === 'function' ? await this.token() : this.token;
|
|
137
|
+
const text = redactText(await response.text().catch(() => ''), { additionalSecrets: [token] });
|
|
138
|
+
throw new Error(`databricks volumes: ${operation}: ${response.status} ${response.statusText}: ${text.slice(0, 1000)}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Percent-encode each segment of a volume path for use in a Files API URL.
|
|
143
|
+
* The scope directory name is itself `encodeURIComponent(scope)` (a literal
|
|
144
|
+
* name containing `%xx` sequences), so its `%` signs are re-encoded here and
|
|
145
|
+
* the server-decoded path matches the literal layout exactly.
|
|
146
|
+
*/
|
|
147
|
+
function encodeVolumePath(path) {
|
|
148
|
+
return path
|
|
149
|
+
.split('/')
|
|
150
|
+
.map((segment) => encodeURIComponent(segment))
|
|
151
|
+
.join('/');
|
|
152
|
+
}
|
|
153
|
+
function parseAttachmentRef(bytes) {
|
|
154
|
+
const parsed = JSON.parse(new TextDecoder().decode(bytes));
|
|
155
|
+
if (typeof parsed.id !== 'string' ||
|
|
156
|
+
typeof parsed.mimeType !== 'string' ||
|
|
157
|
+
typeof parsed.sizeBytes !== 'number' ||
|
|
158
|
+
typeof parsed.digest !== 'string') {
|
|
159
|
+
throw new Error('databricks volumes: malformed attachment ref sidecar');
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
id: parsed.id,
|
|
163
|
+
mimeType: parsed.mimeType,
|
|
164
|
+
sizeBytes: parsed.sizeBytes,
|
|
165
|
+
digest: parsed.digest,
|
|
166
|
+
...(typeof parsed.filename === 'string' ? { filename: parsed.filename } : {}),
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
function viewToBuffer(bytes) {
|
|
170
|
+
return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=volumes-attachment-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumes-attachment-store.js","sourceRoot":"","sources":["../src/volumes-attachment-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fabric-harness/databricks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Databricks tools and filesystem sources for Fabric Harness agents.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fabric",
|
|
@@ -37,6 +37,10 @@
|
|
|
37
37
|
"types": "./dist/index.d.ts",
|
|
38
38
|
"import": "./dist/index.js"
|
|
39
39
|
},
|
|
40
|
+
"./agent": {
|
|
41
|
+
"types": "./dist/agent.d.ts",
|
|
42
|
+
"import": "./dist/agent.js"
|
|
43
|
+
},
|
|
40
44
|
"./sql-sandbox": {
|
|
41
45
|
"types": "./dist/sql-sandbox.d.ts",
|
|
42
46
|
"import": "./dist/sql-sandbox.js"
|
|
@@ -48,11 +52,24 @@
|
|
|
48
52
|
"LICENSE"
|
|
49
53
|
],
|
|
50
54
|
"dependencies": {
|
|
51
|
-
"@fabric-harness/sdk": "^
|
|
55
|
+
"@fabric-harness/sdk": "^2.0.0"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"pg": "^8.11.0",
|
|
59
|
+
"@fabric-harness/node": ">=1.14.0 <3"
|
|
60
|
+
},
|
|
61
|
+
"peerDependenciesMeta": {
|
|
62
|
+
"pg": {
|
|
63
|
+
"optional": true
|
|
64
|
+
},
|
|
65
|
+
"@fabric-harness/node": {
|
|
66
|
+
"optional": true
|
|
67
|
+
}
|
|
52
68
|
},
|
|
53
69
|
"devDependencies": {
|
|
54
70
|
"typescript": "^5.8.3",
|
|
55
|
-
"vitest": "^4.1.5"
|
|
71
|
+
"vitest": "^4.1.5",
|
|
72
|
+
"@fabric-harness/node": "^2.0.0"
|
|
56
73
|
},
|
|
57
74
|
"scripts": {
|
|
58
75
|
"build": "tsc -p tsconfig.json",
|