@fabric-harness/databricks 0.15.0 → 0.18.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.
Files changed (77) hide show
  1. package/dist/agent.d.ts +45 -0
  2. package/dist/agent.d.ts.map +1 -0
  3. package/dist/agent.js +206 -0
  4. package/dist/agent.js.map +1 -0
  5. package/dist/ai.d.ts +19 -0
  6. package/dist/ai.d.ts.map +1 -0
  7. package/dist/ai.js +22 -0
  8. package/dist/ai.js.map +1 -0
  9. package/dist/client.d.ts +37 -0
  10. package/dist/client.d.ts.map +1 -0
  11. package/dist/client.js +110 -0
  12. package/dist/client.js.map +1 -0
  13. package/dist/consumption.d.ts +45 -0
  14. package/dist/consumption.d.ts.map +1 -0
  15. package/dist/consumption.js +85 -0
  16. package/dist/consumption.js.map +1 -0
  17. package/dist/cost-budget-actuals.d.ts +27 -0
  18. package/dist/cost-budget-actuals.d.ts.map +1 -0
  19. package/dist/cost-budget-actuals.js +265 -0
  20. package/dist/cost-budget-actuals.js.map +1 -0
  21. package/dist/embeddings.d.ts +18 -0
  22. package/dist/embeddings.d.ts.map +1 -0
  23. package/dist/embeddings.js +24 -0
  24. package/dist/embeddings.js.map +1 -0
  25. package/dist/feature-serving.d.ts +17 -0
  26. package/dist/feature-serving.d.ts.map +1 -0
  27. package/dist/feature-serving.js +29 -0
  28. package/dist/feature-serving.js.map +1 -0
  29. package/dist/genie.d.ts +22 -0
  30. package/dist/genie.d.ts.map +1 -0
  31. package/dist/genie.js +60 -0
  32. package/dist/genie.js.map +1 -0
  33. package/dist/governance.d.ts +66 -0
  34. package/dist/governance.d.ts.map +1 -0
  35. package/dist/governance.js +111 -0
  36. package/dist/governance.js.map +1 -0
  37. package/dist/identity.d.ts +38 -0
  38. package/dist/identity.d.ts.map +1 -0
  39. package/dist/identity.js +56 -0
  40. package/dist/identity.js.map +1 -0
  41. package/dist/index.d.ts +131 -80
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +105 -227
  44. package/dist/index.js.map +1 -1
  45. package/dist/lakebase.d.ts +49 -0
  46. package/dist/lakebase.d.ts.map +1 -0
  47. package/dist/lakebase.js +25 -0
  48. package/dist/lakebase.js.map +1 -0
  49. package/dist/lakeflow.d.ts +28 -0
  50. package/dist/lakeflow.d.ts.map +1 -0
  51. package/dist/lakeflow.js +75 -0
  52. package/dist/lakeflow.js.map +1 -0
  53. package/dist/mock-provider.d.ts +26 -0
  54. package/dist/mock-provider.d.ts.map +1 -0
  55. package/dist/mock-provider.js +66 -0
  56. package/dist/mock-provider.js.map +1 -0
  57. package/dist/model.d.ts +29 -0
  58. package/dist/model.d.ts.map +1 -0
  59. package/dist/model.js +50 -0
  60. package/dist/model.js.map +1 -0
  61. package/dist/sql-exec.d.ts +17 -0
  62. package/dist/sql-exec.d.ts.map +1 -0
  63. package/dist/sql-exec.js +36 -0
  64. package/dist/sql-exec.js.map +1 -0
  65. package/dist/sql-sandbox.d.ts +1 -1
  66. package/dist/sql-sandbox.d.ts.map +1 -1
  67. package/dist/sql-sandbox.js +1 -1
  68. package/dist/sql-sandbox.js.map +1 -1
  69. package/dist/tools.d.ts +71 -0
  70. package/dist/tools.d.ts.map +1 -0
  71. package/dist/tools.js +176 -0
  72. package/dist/tools.js.map +1 -0
  73. package/dist/vector-search.d.ts +24 -0
  74. package/dist/vector-search.d.ts.map +1 -0
  75. package/dist/vector-search.js +63 -0
  76. package/dist/vector-search.js.map +1 -0
  77. package/package.json +14 -2
@@ -0,0 +1,63 @@
1
+ const SCORE_COLUMN = 'score';
2
+ /** Databricks Mosaic AI Vector Search as a {@link Retriever}. Runs under the bundle's UC principal. */
3
+ export function databricksVectorSearch(options) {
4
+ const queryType = options.queryType ?? 'text';
5
+ const columns = options.columns ?? dedupe([options.textColumn, ...(options.idColumn ? [options.idColumn] : [])]);
6
+ return {
7
+ name: options.name ?? `databricks-vector-search:${options.index}`,
8
+ async retrieve(query, opts = {}) {
9
+ const body = { columns, num_results: opts.k ?? 5 };
10
+ if (opts.filter)
11
+ body.filters_json = JSON.stringify(opts.filter);
12
+ if (queryType === 'vector') {
13
+ if (!options.embeddings)
14
+ throw new Error('databricks vector search: queryType "vector" requires an embeddings provider.');
15
+ const [vector] = await options.embeddings.embed([query]);
16
+ if (!vector)
17
+ throw new Error('databricks vector search: embeddings returned no vector for the query.');
18
+ body.query_vector = vector;
19
+ }
20
+ else {
21
+ body.query_text = query;
22
+ }
23
+ const response = await options.client.post(`/api/2.0/vector-search/indexes/${encodeURIComponent(options.index)}/query`, body);
24
+ return mapResults(response, options, columns);
25
+ },
26
+ };
27
+ }
28
+ function mapResults(response, options, requestedColumns) {
29
+ const names = (response.manifest?.columns ?? []).map((c) => c.name);
30
+ const requested = new Set(requestedColumns);
31
+ // Identify the score column: a literal `score`, else a single trailing column the response
32
+ // appended beyond what we requested (Databricks adds the similarity score). Never treat a
33
+ // requested column as the score — that would mis-attribute a numeric metadata field.
34
+ const lastName = names[names.length - 1];
35
+ const scoreColumn = names.includes(SCORE_COLUMN)
36
+ ? SCORE_COLUMN
37
+ : (lastName && !requested.has(lastName) ? lastName : undefined);
38
+ const rows = response.result?.data_array ?? [];
39
+ return rows.map((row) => {
40
+ const record = {};
41
+ names.forEach((name, i) => { record[name] = row[i]; });
42
+ const text = String(record[options.textColumn] ?? '');
43
+ const scoreRaw = scoreColumn ? record[scoreColumn] : undefined;
44
+ const score = typeof scoreRaw === 'number' ? scoreRaw : undefined;
45
+ const idRaw = options.idColumn ? record[options.idColumn] : undefined;
46
+ const metadata = { ...record };
47
+ delete metadata[options.textColumn];
48
+ if (scoreColumn)
49
+ delete metadata[scoreColumn];
50
+ if (options.idColumn)
51
+ delete metadata[options.idColumn];
52
+ return {
53
+ ...(idRaw != null ? { id: String(idRaw) } : {}),
54
+ text,
55
+ ...(score !== undefined ? { score } : {}),
56
+ metadata,
57
+ };
58
+ });
59
+ }
60
+ function dedupe(values) {
61
+ return [...new Set(values)];
62
+ }
63
+ //# sourceMappingURL=vector-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-search.js","sourceRoot":"","sources":["../src/vector-search.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.15.0",
3
+ "version": "0.18.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,7 +52,15 @@
48
52
  "LICENSE"
49
53
  ],
50
54
  "dependencies": {
51
- "@fabric-harness/sdk": "1.1.0"
55
+ "@fabric-harness/sdk": "^1.14.0"
56
+ },
57
+ "peerDependencies": {
58
+ "pg": "^8.11.0"
59
+ },
60
+ "peerDependenciesMeta": {
61
+ "pg": {
62
+ "optional": true
63
+ }
52
64
  },
53
65
  "devDependencies": {
54
66
  "typescript": "^5.8.3",