@fabric-harness/databricks 0.18.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.
Files changed (51) hide show
  1. package/README.md +72 -32
  2. package/dist/app.d.ts +84 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +91 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/client.d.ts +19 -7
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +14 -5
  9. package/dist/client.js.map +1 -1
  10. package/dist/feature-serving.js +1 -1
  11. package/dist/feature-serving.js.map +1 -1
  12. package/dist/governance.d.ts +4 -0
  13. package/dist/governance.d.ts.map +1 -1
  14. package/dist/governance.js +14 -2
  15. package/dist/governance.js.map +1 -1
  16. package/dist/identity.d.ts +34 -0
  17. package/dist/identity.d.ts.map +1 -1
  18. package/dist/identity.js +63 -0
  19. package/dist/identity.js.map +1 -1
  20. package/dist/index.d.ts +19 -5
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +9 -3
  23. package/dist/index.js.map +1 -1
  24. package/dist/lakebase.d.ts +29 -17
  25. package/dist/lakebase.d.ts.map +1 -1
  26. package/dist/lakebase.js +77 -1
  27. package/dist/lakebase.js.map +1 -1
  28. package/dist/mlflow-tracing.d.ts +111 -0
  29. package/dist/mlflow-tracing.d.ts.map +1 -0
  30. package/dist/mlflow-tracing.js +167 -0
  31. package/dist/mlflow-tracing.js.map +1 -0
  32. package/dist/persistence.d.ts +73 -0
  33. package/dist/persistence.d.ts.map +1 -0
  34. package/dist/persistence.js +82 -0
  35. package/dist/persistence.js.map +1 -0
  36. package/dist/serving-usage.d.ts +48 -0
  37. package/dist/serving-usage.d.ts.map +1 -0
  38. package/dist/serving-usage.js +100 -0
  39. package/dist/serving-usage.js.map +1 -0
  40. package/dist/telemetry-sink.d.ts +29 -0
  41. package/dist/telemetry-sink.d.ts.map +1 -0
  42. package/dist/telemetry-sink.js +129 -0
  43. package/dist/telemetry-sink.js.map +1 -0
  44. package/dist/tools.d.ts.map +1 -1
  45. package/dist/tools.js +4 -2
  46. package/dist/tools.js.map +1 -1
  47. package/dist/volumes-attachment-store.d.ts +64 -0
  48. package/dist/volumes-attachment-store.d.ts.map +1 -0
  49. package/dist/volumes-attachment-store.js +172 -0
  50. package/dist/volumes-attachment-store.js.map +1 -0
  51. package/package.json +9 -4
package/dist/identity.js CHANGED
@@ -53,4 +53,67 @@ function base64(value) {
53
53
  return Buffer.from(value, 'utf8').toString('base64');
54
54
  return btoa(value);
55
55
  }
56
+ // ─── Identity propagation (v2, workstream C3) ───────────────────────────────
57
+ /**
58
+ * The service principal a Databricks App runs as, from the standard app
59
+ * runtime environment (`DATABRICKS_HOST` / `DATABRICKS_CLIENT_ID` /
60
+ * `DATABRICKS_CLIENT_SECRET`). Returns `undefined` when any variable is
61
+ * missing, so callers can fall back to explicit configuration.
62
+ */
63
+ export function appServicePrincipalFromEnv(env = typeof process !== 'undefined' ? process.env : {}) {
64
+ const host = env.DATABRICKS_HOST;
65
+ const clientId = env.DATABRICKS_CLIENT_ID;
66
+ const clientSecret = env.DATABRICKS_CLIENT_SECRET;
67
+ if (!host || !clientId || !clientSecret)
68
+ return undefined;
69
+ return {
70
+ kind: 'service-principal',
71
+ host: host.includes('://') ? host : `https://${host}`,
72
+ clientId,
73
+ clientSecret,
74
+ };
75
+ }
76
+ /**
77
+ * On-behalf-of principal from Databricks Apps user-authorization headers:
78
+ * the platform forwards the signed-in user's access token as
79
+ * `x-forwarded-access-token` (plus `x-forwarded-email`/`x-forwarded-user`).
80
+ * Returns `undefined` when the request carries no user token (e.g. app
81
+ * service-to-service traffic) so callers fall back to the app principal.
82
+ */
83
+ export function onBehalfOfFromHeaders(headers) {
84
+ const read = (name) => {
85
+ if (typeof headers.get === 'function')
86
+ return headers.get(name) ?? undefined;
87
+ const value = headers[name];
88
+ return Array.isArray(value) ? value[0] : value;
89
+ };
90
+ const token = read('x-forwarded-access-token');
91
+ if (!token)
92
+ return undefined;
93
+ const label = read('x-forwarded-email') ?? read('x-forwarded-user');
94
+ return { kind: 'on-behalf-of', userToken: () => token, ...(label ? { label } : {}) };
95
+ }
96
+ /**
97
+ * Map a Databricks principal onto the SDK's {@link FabricPrincipal} so the
98
+ * governed identity rides submissions → tool calls → lineage/cost records.
99
+ * Never carries a token — ids and labels only.
100
+ */
101
+ export function fabricPrincipalFor(principal, overrides = {}) {
102
+ if (principal.kind === 'service-principal') {
103
+ const id = overrides.id ?? principal.clientId;
104
+ return {
105
+ kind: overrides.asAppPrincipal ? 'app-principal' : 'service-principal',
106
+ id,
107
+ ucPrincipal: overrides.ucPrincipal ?? id,
108
+ ...(overrides.displayName ? { displayName: overrides.displayName } : {}),
109
+ };
110
+ }
111
+ const id = overrides.id ?? principal.label ?? (principal.kind === 'pat' ? 'pat-user' : 'on-behalf-of-user');
112
+ return {
113
+ kind: 'user',
114
+ id,
115
+ ...(overrides.ucPrincipal ? { ucPrincipal: overrides.ucPrincipal } : {}),
116
+ ...(overrides.displayName ? { displayName: overrides.displayName } : {}),
117
+ };
118
+ }
56
119
  //# sourceMappingURL=identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,17 +6,29 @@ 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';
13
13
  export type { DatabricksModelOptions } from './model.js';
14
- export { databricksIdentity } from './identity.js';
15
- export type { DatabricksPrincipal, DatabricksTokenProvider } from './identity.js';
14
+ export { appServicePrincipalFromEnv, databricksIdentity, fabricPrincipalFor, onBehalfOfFromHeaders } from './identity.js';
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';
19
- export type { LakebaseClient, LakebaseClientOptions, LakebasePoolConfig, LakebasePoolFactory } from './lakebase.js';
18
+ export { lakebaseClient, lakebaseCredentialProvider } from './lakebase.js';
19
+ export { databricksPersistence } from './persistence.js';
20
+ export { databricksTelemetry, ensureDatabricksTelemetryTables } from './telemetry-sink.js';
21
+ export { databricksApp } from './app.js';
22
+ export type { DatabricksAppOptions, DatabricksAppRuntime } from './app.js';
23
+ export type { DatabricksTelemetry, DatabricksTelemetryOptions } from './telemetry-sink.js';
24
+ export type { DatabricksPersistence, DatabricksPersistenceOptions, DatabricksPersistenceStoreModule } from './persistence.js';
25
+ export type { LakebaseClient, LakebaseClientOptions, LakebaseCredentialProviderOptions, LakebasePoolConfig, LakebasePoolFactory } from './lakebase.js';
26
+ export { UcVolumesAttachmentStore } from './volumes-attachment-store.js';
27
+ export type { UcVolumesAttachmentStoreOptions } from './volumes-attachment-store.js';
28
+ export { buildMlflowTrace, mlflowTraceExporter } from './mlflow-tracing.js';
29
+ export type { MlflowTraceExporter, MlflowTraceExporterOptions, MlflowTraceInput, MlflowTracePayload } from './mlflow-tracing.js';
30
+ export { inferenceTableUsageQuery, servingUsageCapture } from './serving-usage.js';
31
+ export type { InferenceTableUsageQueryOptions, ServingUsageCaptureOptions } from './serving-usage.js';
20
32
  export { databricksEmbeddings } from './embeddings.js';
21
33
  export type { DatabricksEmbeddingsOptions } from './embeddings.js';
22
34
  export { databricksVectorSearch } from './vector-search.js';
@@ -64,6 +76,8 @@ export interface DatabricksBundleConfig {
64
76
  host: string;
65
77
  database: string;
66
78
  user: string;
79
+ /** Lakebase endpoint resource name used for database credential exchange. */
80
+ endpoint: string;
67
81
  port?: number;
68
82
  ssl?: boolean | {
69
83
  rejectUnauthorized?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,9 +17,15 @@ import { databricksActualCostSource, databricksTenantCostLimit } from './cost-bu
17
17
  export { DatabricksRestClient, createDatabricksClient, waitForDatabricksRun, waitForDatabricksStatement } from './client.js';
18
18
  export { databricksSqlTool, databricksRunJobTool, databricksNotebookTool, databricksMlflowLogMetricTool, databricksMlflowLogParamTool, unityCatalogTablesTool, databricksTableInfoTool, databricksWorkspaceSource } from './tools.js';
19
19
  export { databricksFoundationModelProvider, registerDatabricksModelProvider } from './model.js';
20
- export { databricksIdentity } from './identity.js';
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
+ export { databricksPersistence } from './persistence.js';
24
+ export { databricksTelemetry, ensureDatabricksTelemetryTables } from './telemetry-sink.js';
25
+ export { databricksApp } from './app.js';
26
+ export { UcVolumesAttachmentStore } from './volumes-attachment-store.js';
27
+ export { buildMlflowTrace, mlflowTraceExporter } from './mlflow-tracing.js';
28
+ export { inferenceTableUsageQuery, servingUsageCapture } from './serving-usage.js';
23
29
  export { databricksEmbeddings } from './embeddings.js';
24
30
  export { databricksVectorSearch } from './vector-search.js';
25
31
  export { databricksAiQueryTool } from './ai.js';
@@ -96,7 +102,7 @@ export function databricks(config) {
96
102
  ...(config.consumption && config.warehouseId ? { consumption: databricksConsumption(client, { warehouseId: config.warehouseId }) } : {}),
97
103
  };
98
104
  if (config.lakebase) {
99
- const lakebase = lakebaseClient({ ...config.lakebase, token: identity });
105
+ const lakebase = lakebaseClient({ ...config.lakebase, workspaceHost: config.host, token: identity });
100
106
  bundle.lakebase = lakebase;
101
107
  if (config.sessionStoreFactory)
102
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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -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
- /** Rotating OAuth token (from {@link databricksIdentity}) or a static password. */
37
- token: string | DatabricksTokenProvider;
38
- /** Default 5432. */
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;
@@ -1 +1 @@
1
- {"version":3,"file":"lakebase.d.ts","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAI7D;;;;;;;;;;GAUG;AACH,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,4FAA4F;IAC5F,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,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,KAAK,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACxC,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAW7E"}
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: options.token,
86
+ password,
11
87
  ssl: options.ssl ?? { rejectUnauthorized: true },
12
88
  ...(options.max !== undefined ? { max: options.max } : {}),
13
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"lakebase.js","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AA8C/C,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAC5D,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,CAAC,KAAK;QACvB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,QAA4D,CAAC;IACjE,IAAI,CAAC;QACH,QAAQ,GAAI,OAAO,CAAC,IAAI,CAAkE,CAAC,IAAI,CAAC;IAClG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2GAA2G,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvL,CAAC;IACD,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"lakebase.js","sourceRoot":"","sources":["../src/lakebase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import type { FabricEvent, SubmissionTelemetrySink, TelemetrySpan } from '@fabric-harness/sdk';
2
+ import type { DatabricksRestClient } from './client.js';
3
+ /**
4
+ * MLflow trace export (v2 migration, workstream C6): one MLflow trace per
5
+ * settled submission, so agent activity shows up in the workspace's MLflow
6
+ * experiment UI next to models and evaluations.
7
+ *
8
+ * Wiring: `sink` goes into `createSubmissionRunner({ telemetry })` and
9
+ * `onEvent` fans in with the app's `onEvent` callback. A `submission_started`
10
+ * telemetry event opens a span buffer keyed by the store session id
11
+ * (`agent:<agent>:<instanceId>:<session>` — the `sessionId` stamped on
12
+ * `FabricEvent`s during the attempt); every event that matches an open buffer
13
+ * and converts via the SDK's `eventToTelemetrySpan` (i.e. carries
14
+ * `data.durationMs`) is appended as a child span. `submission_settled` builds
15
+ * the trace and POSTs it to the MLflow **V3 traces API**
16
+ * (`POST /api/3.0/mlflow/traces`), then drops the buffer.
17
+ *
18
+ * The V3 payload ({@link buildMlflowTrace}) is implemented to the published
19
+ * API spec — OTLP-shaped spans with base64 ids, unix-nano timestamps and
20
+ * typed attributes — but live verification requires a workspace: run the
21
+ * live-gated smoke test (`DATABRICKS_LIVE_TEST=1` +
22
+ * `DATABRICKS_MLFLOW_EXPERIMENT_ID`) against yours before relying on it.
23
+ *
24
+ * Both `sink.record` and `onEvent` never throw — failures (including the
25
+ * async POST) are reported through `onError`.
26
+ */
27
+ export interface MlflowTraceExporterOptions {
28
+ client: DatabricksRestClient;
29
+ /** MLflow experiment receiving the traces. */
30
+ experimentId: string;
31
+ /** Failure reporter (default console.error). */
32
+ onError?: (context: string, error: unknown) => void;
33
+ }
34
+ export interface MlflowTraceExporter {
35
+ /** Wire into `createSubmissionRunner({ telemetry })`. */
36
+ sink: SubmissionTelemetrySink;
37
+ /** Fan in with the app's `onEvent` to capture per-turn/tool spans. */
38
+ onEvent: (event: FabricEvent) => void;
39
+ }
40
+ export declare function mlflowTraceExporter(options: MlflowTraceExporterOptions): MlflowTraceExporter;
41
+ export interface MlflowTraceInput {
42
+ submissionId: string;
43
+ agent: string;
44
+ instanceId: string;
45
+ session: string;
46
+ experimentId: string;
47
+ /** Epoch ms when the submission started executing. */
48
+ startedAtMs: number;
49
+ /** Epoch ms when the submission settled. */
50
+ settledAtMs: number;
51
+ state: 'OK' | 'ERROR';
52
+ /** Child spans (from `eventToTelemetrySpan`) buffered during execution. */
53
+ spans: TelemetrySpan[];
54
+ attemptCount?: number;
55
+ tenantId?: string;
56
+ error?: string;
57
+ }
58
+ interface OtlpAttribute {
59
+ key: string;
60
+ value: {
61
+ string_value: string;
62
+ } | {
63
+ double_value: number;
64
+ } | {
65
+ int_value: string;
66
+ };
67
+ }
68
+ interface MlflowSpan {
69
+ trace_id: string;
70
+ span_id: string;
71
+ parent_span_id?: string;
72
+ name: string;
73
+ start_time_unix_nano: string;
74
+ end_time_unix_nano: string;
75
+ attributes: OtlpAttribute[];
76
+ status: {
77
+ code: 'STATUS_CODE_OK' | 'STATUS_CODE_ERROR';
78
+ message?: string;
79
+ };
80
+ }
81
+ export interface MlflowTracePayload {
82
+ trace: {
83
+ trace_info: {
84
+ trace_id: string;
85
+ trace_location: {
86
+ type: 'MLFLOW_EXPERIMENT';
87
+ mlflow_experiment: {
88
+ experiment_id: string;
89
+ };
90
+ };
91
+ request_time: string;
92
+ execution_duration: string;
93
+ state: 'OK' | 'ERROR';
94
+ trace_metadata: Record<string, string>;
95
+ tags: Record<string, string>;
96
+ };
97
+ trace_data: {
98
+ spans: MlflowSpan[];
99
+ };
100
+ };
101
+ }
102
+ /**
103
+ * Build the MLflow V3 `POST /api/3.0/mlflow/traces` payload for one settled
104
+ * submission. Pure and deterministic: trace/span ids derive from the
105
+ * submission id (+ span index) via SHA-256, so replaying the same settled
106
+ * submission produces byte-identical ids. The root span covers the whole
107
+ * submission; buffered {@link TelemetrySpan}s become its children.
108
+ */
109
+ export declare function buildMlflowTrace(input: MlflowTraceInput): MlflowTracePayload;
110
+ export {};
111
+ //# sourceMappingURL=mlflow-tracing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mlflow-tracing.d.ts","sourceRoot":"","sources":["../src/mlflow-tracing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,uBAAuB,EACvB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,IAAI,EAAE,uBAAuB,CAAC;IAC9B,sEAAsE;IACtE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC;AAaD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAoE5F;AAID,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACpF;AAED,UAAU,UAAU;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,MAAM,EAAE;QAAE,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5E;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE;QACL,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE;gBACd,IAAI,EAAE,mBAAmB,CAAC;gBAC1B,iBAAiB,EAAE;oBAAE,aAAa,EAAE,MAAM,CAAA;iBAAE,CAAC;aAC9C,CAAC;YACF,YAAY,EAAE,MAAM,CAAC;YACrB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC9B,CAAC;QACF,UAAU,EAAE;YAAE,KAAK,EAAE,UAAU,EAAE,CAAA;SAAE,CAAC;KACrC,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB,CAmE5E"}