Skip to content

well known type work#74

Open
parthban-db wants to merge 1 commit into
mainfrom
parthban-db/stack/fix-well-known-types
Open

well known type work#74
parthban-db wants to merge 1 commit into
mainfrom
parthban-db/stack/fix-well-known-types

Conversation

@parthban-db
Copy link
Copy Markdown
Contributor

@parthban-db parthban-db commented Apr 10, 2026

🥞 Stacked PR

Use this link to review incremental changes.


Summary

Why

What changed

Interface changes

Behavioral changes

Internal changes

How is this tested?

@parthban-db parthban-db force-pushed the parthban-db/stack/fix-well-known-types branch 2 times, most recently from e8873b9 to 43c62ff Compare April 14, 2026 14:01
@parthban-db
Copy link
Copy Markdown
Contributor Author

Range-diff: main (e8873b9 -> 43c62ff)
package-lock.json
@@ -0,0 +1,535 @@
+diff --git a/package-lock.json b/package-lock.json
+--- a/package-lock.json
++++ b/package-lock.json
+       "os": [
+         "netbsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "openbsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "openharmony"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "aix"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "android"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "android"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "android"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "darwin"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "darwin"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "freebsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "freebsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "linux"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "netbsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "openbsd"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "sunos"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "win32"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "win32"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "win32"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": ">=18"
+       }
+       "os": [
+         "darwin"
+       ],
+-      "peer": true,
+       "engines": {
+         "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+       }
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
+       "version": "0.1.0",
+       "license": "Apache-2.0",
+       "dependencies": {
++        "@databricks/sdk-core": "*",
+         "@databricks/sdk-databricks": "*",
+         "@js-temporal/polyfill": "^0.5.0",
+         "zod": "^4.3.6"
\ No newline at end of file
packages/abacpolicies/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/abacpolicies/package.json b/packages/abacpolicies/package.json
+--- a/packages/abacpolicies/package.json
++++ b/packages/abacpolicies/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/abacpolicies/src/v1/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/abacpolicies/src/v1/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  export enum PolicyType {
@@ -21,7 +21,7 @@
 -    update_mask: z.string().optional(),
 +    update_mask: z
 +      .string()
-+      .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++      .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +      .optional(),
    })
    .transform(d => ({
packages/abacpolicies/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/abacpolicies/tsconfig.json b/packages/abacpolicies/tsconfig.json
+--- a/packages/abacpolicies/tsconfig.json
++++ b/packages/abacpolicies/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/accountaccesscontrol/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/accountaccesscontrol/package.json b/packages/accountaccesscontrol/package.json
+--- a/packages/accountaccesscontrol/package.json
++++ b/packages/accountaccesscontrol/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/accountaccesscontrol/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/accountaccesscontrol/tsconfig.json b/packages/accountaccesscontrol/tsconfig.json
+--- a/packages/accountaccesscontrol/tsconfig.json
++++ b/packages/accountaccesscontrol/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/accountaccesscontrolproxy/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/accountaccesscontrolproxy/package.json b/packages/accountaccesscontrolproxy/package.json
+--- a/packages/accountaccesscontrolproxy/package.json
++++ b/packages/accountaccesscontrolproxy/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/accountaccesscontrolproxy/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/accountaccesscontrolproxy/tsconfig.json b/packages/accountaccesscontrolproxy/tsconfig.json
+--- a/packages/accountaccesscontrolproxy/tsconfig.json
++++ b/packages/accountaccesscontrolproxy/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/alerts/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/alerts/package.json b/packages/alerts/package.json
+--- a/packages/alerts/package.json
++++ b/packages/alerts/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/alerts/src/v1/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  export enum AlertOperator {
@@ -23,7 +23,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
        id: z.string().optional(),
        auto_resolve_display_name: z.boolean().optional(),
packages/alerts/src/v2/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  export enum Aggregation {
@@ -23,7 +23,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/alerts/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/alerts/tsconfig.json b/packages/alerts/tsconfig.json
+--- a/packages/alerts/tsconfig.json
++++ b/packages/alerts/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/artifactallowlists/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/artifactallowlists/package.json b/packages/artifactallowlists/package.json
+--- a/packages/artifactallowlists/package.json
++++ b/packages/artifactallowlists/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/artifactallowlists/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/artifactallowlists/tsconfig.json b/packages/artifactallowlists/tsconfig.json
+--- a/packages/artifactallowlists/tsconfig.json
++++ b/packages/artifactallowlists/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/billableusagedownload/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/billableusagedownload/package.json b/packages/billableusagedownload/package.json
+--- a/packages/billableusagedownload/package.json
++++ b/packages/billableusagedownload/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/billableusagedownload/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/billableusagedownload/tsconfig.json b/packages/billableusagedownload/tsconfig.json
+--- a/packages/billableusagedownload/tsconfig.json
++++ b/packages/billableusagedownload/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/catalogs/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/catalogs/package.json b/packages/catalogs/package.json
+--- a/packages/catalogs/package.json
++++ b/packages/catalogs/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/catalogs/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/catalogs/tsconfig.json b/packages/catalogs/tsconfig.json
+--- a/packages/catalogs/tsconfig.json
++++ b/packages/catalogs/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/connections/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/connections/package.json b/packages/connections/package.json
+--- a/packages/connections/package.json
++++ b/packages/connections/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/connections/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/connections/tsconfig.json b/packages/connections/tsconfig.json
+--- a/packages/connections/tsconfig.json
++++ b/packages/connections/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/credentials/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/credentials/package.json b/packages/credentials/package.json
+--- a/packages/credentials/package.json
++++ b/packages/credentials/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/credentials/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/credentials/tsconfig.json b/packages/credentials/tsconfig.json
+--- a/packages/credentials/tsconfig.json
++++ b/packages/credentials/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/dataclassification/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/dataclassification/package.json b/packages/dataclassification/package.json
+--- a/packages/dataclassification/package.json
++++ b/packages/dataclassification/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/dataclassification/src/v1/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/dataclassification/src/v1/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** Auto-tagging mode. */
@@ -21,7 +21,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/dataclassification/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/dataclassification/tsconfig.json b/packages/dataclassification/tsconfig.json
+--- a/packages/dataclassification/tsconfig.json
++++ b/packages/dataclassification/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/dataquality/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/dataquality/package.json b/packages/dataquality/package.json
+--- a/packages/dataquality/package.json
++++ b/packages/dataquality/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/dataquality/src/v1/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/dataquality/src/v1/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** The granularity for aggregating data into time windows based on their timestamp. */
@@ -29,7 +29,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -40,7 +40,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/dataquality/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/dataquality/tsconfig.json b/packages/dataquality/tsconfig.json
+--- a/packages/dataquality/tsconfig.json
++++ b/packages/dataquality/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/entitytagassignments/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/entitytagassignments/package.json b/packages/entitytagassignments/package.json
+--- a/packages/entitytagassignments/package.json
++++ b/packages/entitytagassignments/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/entitytagassignments/src/v1/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** Enum representing the source type of a tag assignment */
@@ -23,7 +23,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/entitytagassignments/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/entitytagassignments/tsconfig.json b/packages/entitytagassignments/tsconfig.json
+--- a/packages/entitytagassignments/tsconfig.json
++++ b/packages/entitytagassignments/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/environments/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/environments/package.json b/packages/environments/package.json
+--- a/packages/environments/package.json
++++ b/packages/environments/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/environments/src/v1/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** If changed, also update estore/namespaces/defaultbaseenvironments/latest.proto */
@@ -23,7 +23,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/environments/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/environments/tsconfig.json b/packages/environments/tsconfig.json
+--- a/packages/environments/tsconfig.json
++++ b/packages/environments/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/externallocations/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/externallocations/package.json b/packages/externallocations/package.json
+--- a/packages/externallocations/package.json
++++ b/packages/externallocations/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/externallocations/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/externallocations/tsconfig.json b/packages/externallocations/tsconfig.json
+--- a/packages/externallocations/tsconfig.json
++++ b/packages/externallocations/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/features/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/features/package.json b/packages/features/package.json
+--- a/packages/features/package.json
++++ b/packages/features/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/features/src/v1/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /**
@@ -39,7 +39,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -50,7 +50,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -61,7 +61,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/features/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/features/tsconfig.json b/packages/features/tsconfig.json
+--- a/packages/features/tsconfig.json
++++ b/packages/features/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/featurestore/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/featurestore/package.json b/packages/featurestore/package.json
+--- a/packages/featurestore/package.json
++++ b/packages/featurestore/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/featurestore/src/v1/model.ts
@@ -5,7 +5,7 @@
  
  import {Temporal} from '@js-temporal/polyfill';
 +
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  // eslint-disable-next-line @typescript-eslint/naming-convention -- Proto-style nested enum name.
@@ -23,7 +23,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/featurestore/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/featurestore/tsconfig.json b/packages/featurestore/tsconfig.json
+--- a/packages/featurestore/tsconfig.json
++++ b/packages/featurestore/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/functions/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/functions/package.json b/packages/functions/package.json
+--- a/packages/functions/package.json
++++ b/packages/functions/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/functions/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/functions/tsconfig.json b/packages/functions/tsconfig.json
+--- a/packages/functions/tsconfig.json
++++ b/packages/functions/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/genie/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/genie/package.json b/packages/genie/package.json
+--- a/packages/genie/package.json
++++ b/packages/genie/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/genie/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/genie/tsconfig.json b/packages/genie/tsconfig.json
+--- a/packages/genie/tsconfig.json
++++ b/packages/genie/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/grants/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/grants/package.json b/packages/grants/package.json
+--- a/packages/grants/package.json
++++ b/packages/grants/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/grants/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/grants/tsconfig.json b/packages/grants/tsconfig.json
+--- a/packages/grants/tsconfig.json
++++ b/packages/grants/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/iam/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/iam/package.json b/packages/iam/package.json
+--- a/packages/iam/package.json
++++ b/packages/iam/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/iam/src/v2/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/iam/src/v2/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** The action type for an account access identity rule (currently DENY only). */
@@ -77,7 +77,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -88,7 +88,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -99,7 +99,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -110,7 +110,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -121,7 +121,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -132,7 +132,7 @@
 -    update_mask: z.string().optional(),
 +    update_mask: z
 +      .string()
-+      .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++      .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +      .optional(),
    })
    .transform(d => ({
@@ -143,7 +143,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
@@ -154,7 +154,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/iam/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/iam/tsconfig.json b/packages/iam/tsconfig.json
+--- a/packages/iam/tsconfig.json
++++ b/packages/iam/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/materializedfeatures/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/materializedfeatures/package.json b/packages/materializedfeatures/package.json
+--- a/packages/materializedfeatures/package.json
++++ b/packages/materializedfeatures/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/materializedfeatures/src/v1/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/materializedfeatures/src/v1/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-databricks';
++import {FieldMask} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  /** Request message for CreateFeatureTag. */
@@ -21,7 +21,7 @@
 -      update_mask: z.string().optional(),
 +      update_mask: z
 +        .string()
-+        .transform(s => FieldMask.fromPaths(s === '' ? [] : s.split(',')))
++        .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
 +        .optional(),
      })
      .transform(d => ({
packages/materializedfeatures/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/materializedfeatures/tsconfig.json b/packages/materializedfeatures/tsconfig.json
+--- a/packages/materializedfeatures/tsconfig.json
++++ b/packages/materializedfeatures/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/metastores/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/metastores/package.json b/packages/metastores/package.json
+--- a/packages/metastores/package.json
++++ b/packages/metastores/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/metastores/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/metastores/tsconfig.json b/packages/metastores/tsconfig.json
+--- a/packages/metastores/tsconfig.json
++++ b/packages/metastores/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/notificationdestinations/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/notificationdestinations/package.json b/packages/notificationdestinations/package.json
+--- a/packages/notificationdestinations/package.json
++++ b/packages/notificationdestinations/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/notificationdestinations/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/notificationdestinations/tsconfig.json b/packages/notificationdestinations/tsconfig.json
+--- a/packages/notificationdestinations/tsconfig.json
++++ b/packages/notificationdestinations/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/oauthcustomappintegration/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/oauthcustomappintegration/package.json b/packages/oauthcustomappintegration/package.json
+--- a/packages/oauthcustomappintegration/package.json
++++ b/packages/oauthcustomappintegration/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/oauthcustomappintegration/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/oauthcustomappintegration/tsconfig.json b/packages/oauthcustomappintegration/tsconfig.json
+--- a/packages/oauthcustomappintegration/tsconfig.json
++++ b/packages/oauthcustomappintegration/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/oauthpublishedapp/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/oauthpublishedapp/package.json b/packages/oauthpublishedapp/package.json
+--- a/packages/oauthpublishedapp/package.json
++++ b/packages/oauthpublishedapp/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/oauthpublishedapp/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/oauthpublishedapp/tsconfig.json b/packages/oauthpublishedapp/tsconfig.json
+--- a/packages/oauthpublishedapp/tsconfig.json
++++ b/packages/oauthpublishedapp/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/permissionmigration/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/permissionmigration/package.json b/packages/permissionmigration/package.json
+--- a/packages/permissionmigration/package.json
++++ b/packages/permissionmigration/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/permissionmigration/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/permissionmigration/tsconfig.json b/packages/permissionmigration/tsconfig.json
+--- a/packages/permissionmigration/tsconfig.json
++++ b/packages/permissionmigration/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/permissions/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/permissions/package.json b/packages/permissions/package.json
+--- a/packages/permissions/package.json
++++ b/packages/permissions/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file
packages/permissions/tsconfig.json
@@ -0,0 +1,9 @@
+diff --git a/packages/permissions/tsconfig.json b/packages/permissions/tsconfig.json
+--- a/packages/permissions/tsconfig.json
++++ b/packages/permissions/tsconfig.json
+   },
+   "include": ["src"],
+   "exclude": ["dist", "node_modules", "tests"],
+-  "references": [{"path": "../databricks"}]
++  "references": [{"path": "../core"}, {"path": "../databricks"}]
+ }
\ No newline at end of file
packages/postgres/package.json
@@ -0,0 +1,10 @@
+diff --git a/packages/postgres/package.json b/packages/postgres/package.json
+--- a/packages/postgres/package.json
++++ b/packages/postgres/package.json
+   "author": "Databricks",
+   "license": "Apache-2.0",
+   "dependencies": {
++    "@databricks/sdk-core": "*",
+     "@databricks/sdk-databricks": "*",
+     "@js-temporal/polyfill": "^0.5.0",
+     "zod": "^4.3.6"
\ No newline at end of file

... (truncated, output exceeded 60000 bytes)

Reproduce locally: git range-diff 5496458..e8873b9 b377d9d..43c62ff | Disable: git config gitstack.push-range-diff false

Uses FieldMask from @databricks/sdk-core/wkt for google.protobuf.FieldMask
fields. Uses JsonValue/JsonObject types from core/wkt with inline
jsonValueSchema/jsonObjectSchema Zod declarations per model file for
google.protobuf.Value, ListValue, Struct fields.

Co-authored-by: Isaac
@parthban-db parthban-db force-pushed the parthban-db/stack/fix-well-known-types branch from 43c62ff to f3798f4 Compare April 17, 2026 12:50
@parthban-db
Copy link
Copy Markdown
Contributor Author

Range-diff: main (43c62ff -> f3798f4)
packages/abacpolicies/src/v1/client.ts
@@ -1,11 +1,156 @@
 diff --git a/packages/abacpolicies/src/v1/client.ts b/packages/abacpolicies/src/v1/client.ts
 --- a/packages/abacpolicies/src/v1/client.ts
 +++ b/packages/abacpolicies/src/v1/client.ts
+ import type {ClientOptions} from '@databricks/sdk-databricks/options';
+ import type {HttpClient} from '@databricks/sdk-databricks/transport';
+ import {newHttpClient} from '@databricks/sdk-databricks/transport';
+-import {
+-  buildHttpRequest,
+-  executeHttpCall,
+-  marshalRequest,
+-  parseResponse,
+-} from './utils';
++import {buildHttpRequest, executeHttpCall, marshalRequest, parseResponse} from './utils';
+ import type {
+   CreatePolicy,
+   DeletePolicy,
+    * Creates a new policy on a securable.
+    * The new policy applies to the securable and all its descendants.
+    */
+-  async createPolicy(
+-    signal: AbortSignal | undefined,
+-    req: CreatePolicy,
+-    options?: Options
+-  ): Promise<PolicyInfo> {
++  async createPolicy(signal: AbortSignal | undefined, req: CreatePolicy, options?: Options): Promise<PolicyInfo> {
+     const url = `${this.host}/api/2.1/unity-catalog/policies`;
+     const body = marshalRequest(req.policyInfo, marshalPolicyInfoSchema);
+     let resp: PolicyInfo | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('POST', url, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalPolicyInfoSchema);
+     };
+     await execute(signal, call, options);
+   }
+ 
+   /** Delete an ABAC policy defined on a securable. */
+-  async deletePolicy(
+-    signal: AbortSignal | undefined,
+-    req: DeletePolicy,
+-    options?: Options
+-  ): Promise<DeletePolicy_Response> {
++  async deletePolicy(signal: AbortSignal | undefined, req: DeletePolicy, options?: Options): Promise<DeletePolicy_Response> {
      const url = `${this.host}/api/2.1/unity-catalog/policies/${req.onSecurableType ?? ''}/${req.onSecurableFullname ?? ''}/${req.name ?? ''}`;
+     let resp: DeletePolicy_Response | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('DELETE', url, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalDeletePolicy_ResponseSchema);
+     };
+     await execute(signal, call, options);
+   }
+ 
+   /** Get the policy definition on a securable */
+-  async getPolicy(
+-    signal: AbortSignal | undefined,
+-    req: GetPolicy,
+-    options?: Options
+-  ): Promise<PolicyInfo> {
++  async getPolicy(signal: AbortSignal | undefined, req: GetPolicy, options?: Options): Promise<PolicyInfo> {
+     const url = `${this.host}/api/2.1/unity-catalog/policies/${req.onSecurableType ?? ''}/${req.onSecurableFullname ?? ''}/${req.name ?? ''}`;
+     let resp: PolicyInfo | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', url, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalPolicyInfoSchema);
+     };
+     await execute(signal, call, options);
+   /**
+    * List all policies defined on a securable.
+    * Optionally, the list can include inherited policies defined on the securable's parent schema or catalog.
+-   *
++   * 
+    * PAGINATION BEHAVIOR: The API is by default paginated, a page may contain zero results while still providing a next_page_token.
+    * Clients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.
+    */
+-  async listPolicies(
+-    signal: AbortSignal | undefined,
+-    req: ListPolicies,
+-    options?: Options
+-  ): Promise<ListPolicies_Response> {
++  async listPolicies(signal: AbortSignal | undefined, req: ListPolicies, options?: Options): Promise<ListPolicies_Response> {
+     const url = `${this.host}/api/2.1/unity-catalog/policies/${req.onSecurableType ?? ''}/${req.onSecurableFullname ?? ''}`;
      const params = new URLSearchParams();
+     if (req.includeInherited !== undefined) {
+     let resp: ListPolicies_Response | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalListPolicies_ResponseSchema);
+     };
+     await execute(signal, call, options);
+     return resp;
+   }
+ 
+-  async *listPoliciesIter(
+-    signal: AbortSignal | undefined,
+-    req: ListPolicies,
+-    options?: Options
+-  ): AsyncGenerator<PolicyInfo> {
++
++  async *listPoliciesIter(signal: AbortSignal | undefined, req: ListPolicies, options?: Options): AsyncGenerator<PolicyInfo> {
+     const pageReq: ListPolicies = {...req};
+     for (;;) {
+       const resp = await this.listPolicies(signal, pageReq, options);
+     }
+   }
+ 
++
+   /** Update an ABAC policy on a securable. */
+-  async updatePolicy(
+-    signal: AbortSignal | undefined,
+-    req: UpdatePolicy,
+-    options?: Options
+-  ): Promise<PolicyInfo> {
++  async updatePolicy(signal: AbortSignal | undefined, req: UpdatePolicy, options?: Options): Promise<PolicyInfo> {
+     const url = `${this.host}/api/2.1/unity-catalog/policies/${req.onSecurableType ?? ''}/${req.onSecurableFullname ?? ''}/${req.name ?? ''}`;
+     const params = new URLSearchParams();
      if (req.updateMask !== undefined) {
 -      params.append('update_mask', req.updateMask);
 +      params.append('update_mask', req.updateMask.paths.join(','));
      }
      const query = params.toString();
-     const fullUrl = query !== '' ? `${url}?${query}` : url;
\ No newline at end of file
+     const fullUrl = query !== '' ? `${url}?${query}` : url;
+     let resp: PolicyInfo | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('PATCH', fullUrl, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalPolicyInfoSchema);
+     };
+     await execute(signal, call, options);
\ No newline at end of file
packages/abacpolicies/src/v1/index.ts
@@ -0,0 +1,16 @@
+diff --git a/packages/abacpolicies/src/v1/index.ts b/packages/abacpolicies/src/v1/index.ts
+--- a/packages/abacpolicies/src/v1/index.ts
++++ b/packages/abacpolicies/src/v1/index.ts
+ // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
+ 
++
+ export {Client} from './client';
+ 
+-export {PolicyType, SecurableType} from './model';
++export {
++  PolicyType,
++  SecurableType,
++} from './model';
+ 
+ export type {
+   ColumnMaskOptions,
\ No newline at end of file
packages/abacpolicies/src/v1/model.ts
@@ -3,7 +3,7 @@
 +++ b/packages/abacpolicies/src/v1/model.ts
  // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
  
-+import {FieldMask} from '@databricks/sdk-core/wkt';
++import {FieldMask, type FieldPaths} from '@databricks/sdk-core/wkt';
  import {z} from 'zod';
  
  export enum PolicyType {
@@ -11,29 +11,172 @@
     * fields to update in the request.
     */
 -  updateMask?: string | undefined;
-+  updateMask?: FieldMask | undefined;
++  updateMask?: FieldMask<FieldPaths<PolicyInfo>> | undefined;
  }
  
  export const unmarshalColumnMaskOptionsSchema: z.ZodType<ColumnMaskOptions> = z
+     using: d.using,
+   }));
+ 
+-export const unmarshalColumnTagValueExtractionSchema: z.ZodType<ColumnTagValueExtraction> =
+-  z
+-    .object({
+-      column_alias: z.string().optional(),
+-      tag_key: z.string().optional(),
+-    })
+-    .transform(d => ({
+-      columnAlias: d.column_alias,
+-      tagKey: d.tag_key,
+-    }));
++export const unmarshalColumnTagValueExtractionSchema: z.ZodType<ColumnTagValueExtraction> = z
++  .object({
++    column_alias: z.string().optional(),
++    tag_key: z.string().optional(),
++  })
++  .transform(d => ({
++    columnAlias: d.column_alias,
++    tagKey: d.tag_key,
++  }));
+ 
+ export const unmarshalCreatePolicySchema: z.ZodType<CreatePolicy> = z
+   .object({
+   }));
+ 
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- Proto-style nested message name.
+-export const unmarshalDeletePolicy_ResponseSchema: z.ZodType<DeletePolicy_Response> =
+-  z.object({});
++export const unmarshalDeletePolicy_ResponseSchema: z.ZodType<DeletePolicy_Response> = z
++  .object({
++  });
+ 
+ export const unmarshalDenyOptionsSchema: z.ZodType<DenyOptions> = z
+   .object({
+   .object({
+     alias: z.string().optional(),
+     constant: z.string().optional(),
+-    metadata_extraction: z
+-      .lazy(() => unmarshalMetadataExtractionExpressionSchema)
+-      .optional(),
++    metadata_extraction: z.lazy(() => unmarshalMetadataExtractionExpressionSchema).optional(),
+   })
+   .transform(d => ({
+     alias: d.alias,
+   }));
+ 
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- Proto-style nested message name.
+-export const unmarshalListPolicies_ResponseSchema: z.ZodType<ListPolicies_Response> =
+-  z
+-    .object({
+-      policies: z.array(z.lazy(() => unmarshalPolicyInfoSchema)).optional(),
+-      next_page_token: z.string().optional(),
+-    })
+-    .transform(d => ({
+-      policies: d.policies,
+-      nextPageToken: d.next_page_token,
+-    }));
++export const unmarshalListPolicies_ResponseSchema: z.ZodType<ListPolicies_Response> = z
++  .object({
++    policies: z.array(z.lazy(() => unmarshalPolicyInfoSchema)).optional(),
++    next_page_token: z.string().optional(),
++  })
++  .transform(d => ({
++    policies: d.policies,
++    nextPageToken: d.next_page_token,
++  }));
+ 
+ export const unmarshalMatchColumnSchema: z.ZodType<MatchColumn> = z
+   .object({
+     alias: d.alias,
+   }));
+ 
+-export const unmarshalMetadataExtractionExpressionSchema: z.ZodType<MetadataExtractionExpression> =
+-  z
+-    .object({
+-      tag_value: z.lazy(() => unmarshalTagValueExtractionSchema).optional(),
+-      column_tag_value: z
+-        .lazy(() => unmarshalColumnTagValueExtractionSchema)
+-        .optional(),
+-    })
+-    .transform(d => ({
+-      tagValue: d.tag_value,
+-      columnTagValue: d.column_tag_value,
+-    }));
++export const unmarshalMetadataExtractionExpressionSchema: z.ZodType<MetadataExtractionExpression> = z
++  .object({
++    tag_value: z.lazy(() => unmarshalTagValueExtractionSchema).optional(),
++    column_tag_value: z.lazy(() => unmarshalColumnTagValueExtractionSchema).optional(),
++  })
++  .transform(d => ({
++    tagValue: d.tag_value,
++    columnTagValue: d.column_tag_value,
++  }));
+ 
+ export const unmarshalPolicyInfoSchema: z.ZodType<PolicyInfo> = z
+   .object({
+     using: d.using,
+   }));
+ 
+-export const unmarshalTagValueExtractionSchema: z.ZodType<TagValueExtraction> =
+-  z
+-    .object({
+-      tag_key: z.string().optional(),
+-    })
+-    .transform(d => ({
+-      tagKey: d.tag_key,
+-    }));
++export const unmarshalTagValueExtractionSchema: z.ZodType<TagValueExtraction> = z
++  .object({
++    tag_key: z.string().optional(),
++  })
++  .transform(d => ({
++    tagKey: d.tag_key,
++  }));
+ 
+ export const unmarshalUpdatePolicySchema: z.ZodType<UpdatePolicy> = z
+   .object({
      on_securable_fullname: z.string().optional(),
      name: z.string().optional(),
      policy_info: z.lazy(() => unmarshalPolicyInfoSchema).optional(),
 -    update_mask: z.string().optional(),
-+    update_mask: z
-+      .string()
-+      .transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))))
-+      .optional(),
++    update_mask: z.string().transform(s => FieldMask.of(...(s === '' ? [] : s.split(','))) as FieldMask<FieldPaths<PolicyInfo>>).optional(),
    })
    .transform(d => ({
      onSecurableType: d.on_securable_type,
+   }));
+ 
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- Proto-style nested message name.
+-export const marshalDeletePolicy_ResponseSchema: z.ZodType = z.object({});
++export const marshalDeletePolicy_ResponseSchema: z.ZodType = z
++  .object({
++  });
+ 
+ export const marshalDenyOptionsSchema: z.ZodType = z
+   .object({
+   .object({
+     alias: z.string().optional(),
+     constant: z.string().optional(),
+-    metadataExtraction: z
+-      .lazy(() => marshalMetadataExtractionExpressionSchema)
+-      .optional(),
++    metadataExtraction: z.lazy(() => marshalMetadataExtractionExpressionSchema).optional(),
+   })
+   .transform(d => ({
+     alias: d.alias,
+ export const marshalMetadataExtractionExpressionSchema: z.ZodType = z
+   .object({
+     tagValue: z.lazy(() => marshalTagValueExtractionSchema).optional(),
+-    columnTagValue: z
+-      .lazy(() => marshalColumnTagValueExtractionSchema)
+-      .optional(),
++    columnTagValue: z.lazy(() => marshalColumnTagValueExtractionSchema).optional(),
+   })
+   .transform(d => ({
+     tag_value: d.tagValue,
      onSecurableFullname: z.string().optional(),
      name: z.string().optional(),
      policyInfo: z.lazy(() => marshalPolicyInfoSchema).optional(),
 -    updateMask: z.string().optional(),
-+    updateMask: z
-+      .any()
-+      .transform((d: FieldMask) => d.paths.join(','))
-+      .optional(),
++    updateMask: z.any().transform((d: FieldMask<FieldPaths<PolicyInfo>>) => d.paths.join(',')).optional(),
    })
    .transform(d => ({
      on_securable_type: d.onSecurableType,
\ No newline at end of file
packages/abacpolicies/src/v1/utils.ts
@@ -0,0 +1,27 @@
+diff --git a/packages/abacpolicies/src/v1/utils.ts b/packages/abacpolicies/src/v1/utils.ts
+--- a/packages/abacpolicies/src/v1/utils.ts
++++ b/packages/abacpolicies/src/v1/utils.ts
+ }
+ 
+ async function readAll(
+-  body: ReadableStream<Uint8Array> | null
++  body: ReadableStream<Uint8Array> | null,
+ ): Promise<Uint8Array> {
+   if (body === null) {
+     return new Uint8Array(0);
+ }
+ 
+ export async function executeHttpCall(
+-  opts: HttpCallOptions
++  opts: HttpCallOptions,
+ ): Promise<Uint8Array> {
+   opts.logger.debug('HTTP request', {
+     method: opts.request.method,
+   method: string,
+   url: string,
+   signal?: AbortSignal,
+-  body?: string
++  body?: string,
+ ): HttpRequest {
+   const headers = new Headers();
+   headers.set('Content-Type', 'application/json');
\ No newline at end of file
packages/accountaccesscontrol/src/v1/client.ts
@@ -0,0 +1,92 @@
+diff --git a/packages/accountaccesscontrol/src/v1/client.ts b/packages/accountaccesscontrol/src/v1/client.ts
+--- a/packages/accountaccesscontrol/src/v1/client.ts
++++ b/packages/accountaccesscontrol/src/v1/client.ts
+ import type {ClientOptions} from '@databricks/sdk-databricks/options';
+ import type {HttpClient} from '@databricks/sdk-databricks/transport';
+ import {newHttpClient} from '@databricks/sdk-databricks/transport';
+-import {
+-  buildHttpRequest,
+-  executeHttpCall,
+-  marshalRequest,
+-  parseResponse,
+-} from './utils';
++import {buildHttpRequest, executeHttpCall, marshalRequest, parseResponse} from './utils';
+ import type {
+   GetAssignableRolesForResourceRequest,
+   GetAssignableRolesForResourceResponse,
+    * Gets all the roles that can be granted on an account level resource. A role is grantable if the rule set on the
+    * resource can contain an access rule of the role.
+    */
+-  async getAssignableRolesForResource(
+-    signal: AbortSignal | undefined,
+-    req: GetAssignableRolesForResourceRequest,
+-    options?: Options
+-  ): Promise<GetAssignableRolesForResourceResponse> {
++  async getAssignableRolesForResource(signal: AbortSignal | undefined, req: GetAssignableRolesForResourceRequest, options?: Options): Promise<GetAssignableRolesForResourceResponse> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/assignable-roles`;
+     const params = new URLSearchParams();
+     if (req.accountId !== undefined) {
+     let resp: GetAssignableRolesForResourceResponse | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
+-      resp = parseResponse(
+-        respBody,
+-        unmarshalGetAssignableRolesForResourceResponseSchema
+-      );
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
++      resp = parseResponse(respBody, unmarshalGetAssignableRolesForResourceResponseSchema);
+     };
+     await execute(signal, call, options);
+     if (resp === undefined) {
+    * Get a rule set by its name. A rule set is always attached to a resource and contains a list of access rules on the
+    * said resource. Currently only a default rule set for each resource is supported.
+    */
+-  async getRuleSet(
+-    signal: AbortSignal | undefined,
+-    req: GetRuleSetRequest,
+-    options?: Options
+-  ): Promise<RuleSet> {
++  async getRuleSet(signal: AbortSignal | undefined, req: GetRuleSetRequest, options?: Options): Promise<RuleSet> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/rule-sets`;
+     const params = new URLSearchParams();
+     if (req.accountId !== undefined) {
+     let resp: RuleSet | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalRuleSetSchema);
+     };
+     await execute(signal, call, options);
+    * Replace the rules of a rule set. First, use get to read the current version of the rule set before modifying it.
+    * This pattern helps prevent conflicts between concurrent updates.
+    */
+-  async updateRuleSet(
+-    signal: AbortSignal | undefined,
+-    req: UpdateRuleSetRequest,
+-    options?: Options
+-  ): Promise<RuleSet> {
++  async updateRuleSet(signal: AbortSignal | undefined, req: UpdateRuleSetRequest, options?: Options): Promise<RuleSet> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/rule-sets`;
+     const body = marshalRequest(req, marshalUpdateRuleSetRequestSchema);
+     let resp: RuleSet | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('PUT', url, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalRuleSetSchema);
+     };
+     await execute(signal, call, options);
\ No newline at end of file
packages/accountaccesscontrol/src/v1/index.ts
@@ -0,0 +1,14 @@
+diff --git a/packages/accountaccesscontrol/src/v1/index.ts b/packages/accountaccesscontrol/src/v1/index.ts
+--- a/packages/accountaccesscontrol/src/v1/index.ts
++++ b/packages/accountaccesscontrol/src/v1/index.ts
+ // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
+ 
++
+ export {Client} from './client';
+ 
+-export {} from './model';
++export {
++} from './model';
+ 
+ export type {
+   GetAssignableRolesForResourceRequest,
\ No newline at end of file
packages/accountaccesscontrol/src/v1/model.ts
@@ -0,0 +1,121 @@
+diff --git a/packages/accountaccesscontrol/src/v1/model.ts b/packages/accountaccesscontrol/src/v1/model.ts
+--- a/packages/accountaccesscontrol/src/v1/model.ts
++++ b/packages/accountaccesscontrol/src/v1/model.ts
+   accountId?: string | undefined;
+   /**
+    * The resource name for which assignable roles will be listed.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `resource=accounts/<ACCOUNT_ID>` | A resource name for the account.
+   accountId?: string | undefined;
+   /**
+    * The ruleset name associated with the request.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `name=accounts/<ACCOUNT_ID>/ruleSets/default` | A name for a rule set on the account.
+    * strongly suggested that systems make use of the etag in the read -> modify -> write pattern to perform rule set
+    * updates in order to avoid race conditions that is get an etag from a GET rule set request, and pass it with the
+    * PUT update request to identify the rule set version you are updating.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `etag=` | An empty etag can only be used in GET to indicate no freshness requirements.
+   ruleSet?: RuleSetUpdateRequest | undefined;
+ }
+ 
+-export const unmarshalGetAssignableRolesForResourceRequestSchema: z.ZodType<GetAssignableRolesForResourceRequest> =
+-  z
+-    .object({
+-      account_id: z.string().optional(),
+-      resource: z.string().optional(),
+-    })
+-    .transform(d => ({
+-      accountId: d.account_id,
+-      resource: d.resource,
+-    }));
++export const unmarshalGetAssignableRolesForResourceRequestSchema: z.ZodType<GetAssignableRolesForResourceRequest> = z
++  .object({
++    account_id: z.string().optional(),
++    resource: z.string().optional(),
++  })
++  .transform(d => ({
++    accountId: d.account_id,
++    resource: d.resource,
++  }));
+ 
+-export const unmarshalGetAssignableRolesForResourceResponseSchema: z.ZodType<GetAssignableRolesForResourceResponse> =
+-  z
+-    .object({
+-      roles: z.array(z.lazy(() => unmarshalRoleSchema)).optional(),
+-    })
+-    .transform(d => ({
+-      roles: d.roles,
+-    }));
++export const unmarshalGetAssignableRolesForResourceResponseSchema: z.ZodType<GetAssignableRolesForResourceResponse> = z
++  .object({
++    roles: z.array(z.lazy(() => unmarshalRoleSchema)).optional(),
++  })
++  .transform(d => ({
++    roles: d.roles,
++  }));
+ 
+ export const unmarshalGetRuleSetRequestSchema: z.ZodType<GetRuleSetRequest> = z
+   .object({
+     grantRules: d.grant_rules,
+   }));
+ 
+-export const unmarshalRuleSetUpdateRequestSchema: z.ZodType<RuleSetUpdateRequest> =
+-  z
+-    .object({
+-      name: z.string().optional(),
+-      etag: z.string().optional(),
+-      grant_rules: z.array(z.lazy(() => unmarshalGrantRuleSchema)).optional(),
+-    })
+-    .transform(d => ({
+-      name: d.name,
+-      etag: d.etag,
+-      grantRules: d.grant_rules,
+-    }));
++export const unmarshalRuleSetUpdateRequestSchema: z.ZodType<RuleSetUpdateRequest> = z
++  .object({
++    name: z.string().optional(),
++    etag: z.string().optional(),
++    grant_rules: z.array(z.lazy(() => unmarshalGrantRuleSchema)).optional(),
++  })
++  .transform(d => ({
++    name: d.name,
++    etag: d.etag,
++    grantRules: d.grant_rules,
++  }));
+ 
+-export const unmarshalUpdateRuleSetRequestSchema: z.ZodType<UpdateRuleSetRequest> =
+-  z
+-    .object({
+-      account_id: z.string().optional(),
+-      name: z.string().optional(),
+-      rule_set: z.lazy(() => unmarshalRuleSetUpdateRequestSchema).optional(),
+-    })
+-    .transform(d => ({
+-      accountId: d.account_id,
+-      name: d.name,
+-      ruleSet: d.rule_set,
+-    }));
++export const unmarshalUpdateRuleSetRequestSchema: z.ZodType<UpdateRuleSetRequest> = z
++  .object({
++    account_id: z.string().optional(),
++    name: z.string().optional(),
++    rule_set: z.lazy(() => unmarshalRuleSetUpdateRequestSchema).optional(),
++  })
++  .transform(d => ({
++    accountId: d.account_id,
++    name: d.name,
++    ruleSet: d.rule_set,
++  }));
+ 
+ export const marshalGetAssignableRolesForResourceRequestSchema: z.ZodType = z
+   .object({
\ No newline at end of file
packages/accountaccesscontrol/src/v1/utils.ts
@@ -0,0 +1,27 @@
+diff --git a/packages/accountaccesscontrol/src/v1/utils.ts b/packages/accountaccesscontrol/src/v1/utils.ts
+--- a/packages/accountaccesscontrol/src/v1/utils.ts
++++ b/packages/accountaccesscontrol/src/v1/utils.ts
+ }
+ 
+ async function readAll(
+-  body: ReadableStream<Uint8Array> | null
++  body: ReadableStream<Uint8Array> | null,
+ ): Promise<Uint8Array> {
+   if (body === null) {
+     return new Uint8Array(0);
+ }
+ 
+ export async function executeHttpCall(
+-  opts: HttpCallOptions
++  opts: HttpCallOptions,
+ ): Promise<Uint8Array> {
+   opts.logger.debug('HTTP request', {
+     method: opts.request.method,
+   method: string,
+   url: string,
+   signal?: AbortSignal,
+-  body?: string
++  body?: string,
+ ): HttpRequest {
+   const headers = new Headers();
+   headers.set('Content-Type', 'application/json');
\ No newline at end of file
packages/accountaccesscontrolproxy/src/v1/client.ts
@@ -0,0 +1,92 @@
+diff --git a/packages/accountaccesscontrolproxy/src/v1/client.ts b/packages/accountaccesscontrolproxy/src/v1/client.ts
+--- a/packages/accountaccesscontrolproxy/src/v1/client.ts
++++ b/packages/accountaccesscontrolproxy/src/v1/client.ts
+ import type {ClientOptions} from '@databricks/sdk-databricks/options';
+ import type {HttpClient} from '@databricks/sdk-databricks/transport';
+ import {newHttpClient} from '@databricks/sdk-databricks/transport';
+-import {
+-  buildHttpRequest,
+-  executeHttpCall,
+-  marshalRequest,
+-  parseResponse,
+-} from './utils';
++import {buildHttpRequest, executeHttpCall, marshalRequest, parseResponse} from './utils';
+ import type {
+   GetAssignableRolesForResourceRequest,
+   GetAssignableRolesForResourceResponse,
+    * Gets all the roles that can be granted on an account level resource. A role is grantable if the rule set on the
+    * resource can contain an access rule of the role.
+    */
+-  async getAssignableRolesForResource(
+-    signal: AbortSignal | undefined,
+-    req: GetAssignableRolesForResourceRequest,
+-    options?: Options
+-  ): Promise<GetAssignableRolesForResourceResponse> {
++  async getAssignableRolesForResource(signal: AbortSignal | undefined, req: GetAssignableRolesForResourceRequest, options?: Options): Promise<GetAssignableRolesForResourceResponse> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/assignable-roles`;
+     const params = new URLSearchParams();
+     if (req.accountId !== undefined) {
+     let resp: GetAssignableRolesForResourceResponse | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
+-      resp = parseResponse(
+-        respBody,
+-        unmarshalGetAssignableRolesForResourceResponseSchema
+-      );
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
++      resp = parseResponse(respBody, unmarshalGetAssignableRolesForResourceResponseSchema);
+     };
+     await execute(signal, call, options);
+     if (resp === undefined) {
+    * Get a rule set by its name. A rule set is always attached to a resource and contains a list of access rules on the
+    * said resource. Currently only a default rule set for each resource is supported.
+    */
+-  async getRuleSet(
+-    signal: AbortSignal | undefined,
+-    req: GetRuleSetRequest,
+-    options?: Options
+-  ): Promise<RuleSet> {
++  async getRuleSet(signal: AbortSignal | undefined, req: GetRuleSetRequest, options?: Options): Promise<RuleSet> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/rule-sets`;
+     const params = new URLSearchParams();
+     if (req.accountId !== undefined) {
+     let resp: RuleSet | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalRuleSetSchema);
+     };
+     await execute(signal, call, options);
+    * Replace the rules of a rule set. First, use get to read the current version of the rule set before modifying it.
+    * This pattern helps prevent conflicts between concurrent updates.
+    */
+-  async updateRuleSet(
+-    signal: AbortSignal | undefined,
+-    req: UpdateRuleSetRequest,
+-    options?: Options
+-  ): Promise<RuleSet> {
++  async updateRuleSet(signal: AbortSignal | undefined, req: UpdateRuleSetRequest, options?: Options): Promise<RuleSet> {
+     const url = `${this.host}/api/2.0/preview/accounts/{account_id}/access-control/rule-sets`;
+     const body = marshalRequest(req, marshalUpdateRuleSetRequestSchema);
+     let resp: RuleSet | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('PUT', url, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalRuleSetSchema);
+     };
+     await execute(signal, call, options);
\ No newline at end of file
packages/accountaccesscontrolproxy/src/v1/index.ts
@@ -0,0 +1,14 @@
+diff --git a/packages/accountaccesscontrolproxy/src/v1/index.ts b/packages/accountaccesscontrolproxy/src/v1/index.ts
+--- a/packages/accountaccesscontrolproxy/src/v1/index.ts
++++ b/packages/accountaccesscontrolproxy/src/v1/index.ts
+ // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
+ 
++
+ export {Client} from './client';
+ 
+-export {} from './model';
++export {
++} from './model';
+ 
+ export type {
+   GetAssignableRolesForResourceRequest,
\ No newline at end of file
packages/accountaccesscontrolproxy/src/v1/model.ts
@@ -0,0 +1,121 @@
+diff --git a/packages/accountaccesscontrolproxy/src/v1/model.ts b/packages/accountaccesscontrolproxy/src/v1/model.ts
+--- a/packages/accountaccesscontrolproxy/src/v1/model.ts
++++ b/packages/accountaccesscontrolproxy/src/v1/model.ts
+   accountId?: string | undefined;
+   /**
+    * The resource name for which assignable roles will be listed.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `resource=accounts/<ACCOUNT_ID>` | A resource name for the account.
+   accountId?: string | undefined;
+   /**
+    * The ruleset name associated with the request.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `name=accounts/<ACCOUNT_ID>/ruleSets/default` | A name for a rule set on the account.
+    * strongly suggested that systems make use of the etag in the read -> modify -> write pattern to perform rule set
+    * updates in order to avoid race conditions that is get an etag from a GET rule set request, and pass it with the
+    * PUT update request to identify the rule set version you are updating.
+-   *
++   * 
+    * Examples | Summary
+    * :--- | :---
+    * `etag=` | An empty etag can only be used in GET to indicate no freshness requirements.
+   ruleSet?: RuleSetUpdateRequest | undefined;
+ }
+ 
+-export const unmarshalGetAssignableRolesForResourceRequestSchema: z.ZodType<GetAssignableRolesForResourceRequest> =
+-  z
+-    .object({
+-      account_id: z.string().optional(),
+-      resource: z.string().optional(),
+-    })
+-    .transform(d => ({
+-      accountId: d.account_id,
+-      resource: d.resource,
+-    }));
++export const unmarshalGetAssignableRolesForResourceRequestSchema: z.ZodType<GetAssignableRolesForResourceRequest> = z
++  .object({
++    account_id: z.string().optional(),
++    resource: z.string().optional(),
++  })
++  .transform(d => ({
++    accountId: d.account_id,
++    resource: d.resource,
++  }));
+ 
+-export const unmarshalGetAssignableRolesForResourceResponseSchema: z.ZodType<GetAssignableRolesForResourceResponse> =
+-  z
+-    .object({
+-      roles: z.array(z.lazy(() => unmarshalRoleSchema)).optional(),
+-    })
+-    .transform(d => ({
+-      roles: d.roles,
+-    }));
++export const unmarshalGetAssignableRolesForResourceResponseSchema: z.ZodType<GetAssignableRolesForResourceResponse> = z
++  .object({
++    roles: z.array(z.lazy(() => unmarshalRoleSchema)).optional(),
++  })
++  .transform(d => ({
++    roles: d.roles,
++  }));
+ 
+ export const unmarshalGetRuleSetRequestSchema: z.ZodType<GetRuleSetRequest> = z
+   .object({
+     grantRules: d.grant_rules,
+   }));
+ 
+-export const unmarshalRuleSetUpdateRequestSchema: z.ZodType<RuleSetUpdateRequest> =
+-  z
+-    .object({
+-      name: z.string().optional(),
+-      etag: z.string().optional(),
+-      grant_rules: z.array(z.lazy(() => unmarshalGrantRuleSchema)).optional(),
+-    })
+-    .transform(d => ({
+-      name: d.name,
+-      etag: d.etag,
+-      grantRules: d.grant_rules,
+-    }));
++export const unmarshalRuleSetUpdateRequestSchema: z.ZodType<RuleSetUpdateRequest> = z
++  .object({
++    name: z.string().optional(),
++    etag: z.string().optional(),
++    grant_rules: z.array(z.lazy(() => unmarshalGrantRuleSchema)).optional(),
++  })
++  .transform(d => ({
++    name: d.name,
++    etag: d.etag,
++    grantRules: d.grant_rules,
++  }));
+ 
+-export const unmarshalUpdateRuleSetRequestSchema: z.ZodType<UpdateRuleSetRequest> =
+-  z
+-    .object({
+-      account_id: z.string().optional(),
+-      name: z.string().optional(),
+-      rule_set: z.lazy(() => unmarshalRuleSetUpdateRequestSchema).optional(),
+-    })
+-    .transform(d => ({
+-      accountId: d.account_id,
+-      name: d.name,
+-      ruleSet: d.rule_set,
+-    }));
++export const unmarshalUpdateRuleSetRequestSchema: z.ZodType<UpdateRuleSetRequest> = z
++  .object({
++    account_id: z.string().optional(),
++    name: z.string().optional(),
++    rule_set: z.lazy(() => unmarshalRuleSetUpdateRequestSchema).optional(),
++  })
++  .transform(d => ({
++    accountId: d.account_id,
++    name: d.name,
++    ruleSet: d.rule_set,
++  }));
+ 
+ export const marshalGetAssignableRolesForResourceRequestSchema: z.ZodType = z
+   .object({
\ No newline at end of file
packages/accountaccesscontrolproxy/src/v1/utils.ts
@@ -0,0 +1,27 @@
+diff --git a/packages/accountaccesscontrolproxy/src/v1/utils.ts b/packages/accountaccesscontrolproxy/src/v1/utils.ts
+--- a/packages/accountaccesscontrolproxy/src/v1/utils.ts
++++ b/packages/accountaccesscontrolproxy/src/v1/utils.ts
+ }
+ 
+ async function readAll(
+-  body: ReadableStream<Uint8Array> | null
++  body: ReadableStream<Uint8Array> | null,
+ ): Promise<Uint8Array> {
+   if (body === null) {
+     return new Uint8Array(0);
+ }
+ 
+ export async function executeHttpCall(
+-  opts: HttpCallOptions
++  opts: HttpCallOptions,
+ ): Promise<Uint8Array> {
+   opts.logger.debug('HTTP request', {
+     method: opts.request.method,
+   method: string,
+   url: string,
+   signal?: AbortSignal,
+-  body?: string
++  body?: string,
+ ): HttpRequest {
+   const headers = new Headers();
+   headers.set('Content-Type', 'application/json');
\ No newline at end of file
packages/alerts/src/v1/client.ts
@@ -0,0 +1,145 @@
+diff --git a/packages/alerts/src/v1/client.ts b/packages/alerts/src/v1/client.ts
+--- a/packages/alerts/src/v1/client.ts
++++ b/packages/alerts/src/v1/client.ts
+ import type {ClientOptions} from '@databricks/sdk-databricks/options';
+ import type {HttpClient} from '@databricks/sdk-databricks/transport';
+ import {newHttpClient} from '@databricks/sdk-databricks/transport';
+-import {
+-  buildHttpRequest,
+-  executeHttpCall,
+-  marshalRequest,
+-  parseResponse,
+-} from './utils';
++import {buildHttpRequest, executeHttpCall, marshalRequest, parseResponse} from './utils';
+ import type {
+   Alert,
+   CreateAlertRequest,
+   }
+ 
+   /** Creates an alert. */
+-  async createAlert(
+-    signal: AbortSignal | undefined,
+-    req: CreateAlertRequest,
+-    options?: Options
+-  ): Promise<Alert> {
++  async createAlert(signal: AbortSignal | undefined, req: CreateAlertRequest, options?: Options): Promise<Alert> {
+     const url = `${this.host}/api/2.0/sql/alerts`;
+     const body = marshalRequest(req, marshalCreateAlertRequestSchema);
+     let resp: Alert | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('POST', url, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalAlertSchema);
+     };
+     await execute(signal, call, options);
+   }
+ 
+   /** Gets an alert. */
+-  async getAlert(
+-    signal: AbortSignal | undefined,
+-    req: GetAlertRequest,
+-    options?: Options
+-  ): Promise<Alert> {
++  async getAlert(signal: AbortSignal | undefined, req: GetAlertRequest, options?: Options): Promise<Alert> {
+     const url = `${this.host}/api/2.0/sql/alerts/${req.id ?? ''}`;
+     let resp: Alert | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', url, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalAlertSchema);
+     };
+     await execute(signal, call, options);
+   }
+ 
+   /** Gets a list of alerts accessible to the user, ordered by creation time. **Warning:** Calling this API concurrently 10 or more times could result in throttling, service degradation, or a temporary ban. */
+-  async listAlerts(
+-    signal: AbortSignal | undefined,
+-    req: ListAlertsRequest,
+-    options?: Options
+-  ): Promise<ListAlertsResponse> {
++  async listAlerts(signal: AbortSignal | undefined, req: ListAlertsRequest, options?: Options): Promise<ListAlertsResponse> {
+     const url = `${this.host}/api/2.0/sql/alerts`;
+     const params = new URLSearchParams();
+     if (req.pageToken !== undefined) {
+     let resp: ListAlertsResponse | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('GET', fullUrl, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalListAlertsResponseSchema);
+     };
+     await execute(signal, call, options);
+     return resp;
+   }
+ 
+-  async *listAlertsIter(
+-    signal: AbortSignal | undefined,
+-    req: ListAlertsRequest,
+-    options?: Options
+-  ): AsyncGenerator<ListAlertsResponseAlert> {
++
++  async *listAlertsIter(signal: AbortSignal | undefined, req: ListAlertsRequest, options?: Options): AsyncGenerator<ListAlertsResponseAlert> {
+     const pageReq: ListAlertsRequest = {...req};
+     for (;;) {
+       const resp = await this.listAlerts(signal, pageReq, options);
+     }
+   }
+ 
++
+   /** Moves an alert to the trash. Trashed alerts immediately disappear from searches and list views, and can no longer trigger. You can restore a trashed alert through the UI. A trashed alert is permanently deleted after 30 days. */
+-  async trashAlert(
+-    signal: AbortSignal | undefined,
+-    req: TrashAlertRequest,
+-    options?: Options
+-  ): Promise<Empty> {
++  async trashAlert(signal: AbortSignal | undefined, req: TrashAlertRequest, options?: Options): Promise<Empty> {
+     const url = `${this.host}/api/2.0/sql/alerts/${req.id ?? ''}`;
+     let resp: Empty | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('DELETE', url, callSignal);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalEmptySchema);
+     };
+     await execute(signal, call, options);
+   }
+ 
+   /** Updates an alert. */
+-  async updateAlert(
+-    signal: AbortSignal | undefined,
+-    req: UpdateAlertRequest,
+-    options?: Options
+-  ): Promise<Alert> {
++  async updateAlert(signal: AbortSignal | undefined, req: UpdateAlertRequest, options?: Options): Promise<Alert> {
+     const url = `${this.host}/api/2.0/sql/alerts/${req.id ?? ''}`;
+     const body = marshalRequest(req, marshalUpdateAlertRequestSchema);
+     let resp: Alert | undefined;
+     const call: Call = async (callSignal?: AbortSignal): Promise<void> => {
+       const httpReq = buildHttpRequest('PATCH', url, callSignal, body);
+-      const respBody = await executeHttpCall({
+-        request: httpReq,
+-        httpClient: this.httpClient,
+-        logger: this.logger,
+-      });
++      const respBody = await executeHttpCall({request: httpReq, httpClient: this.httpClient, logger: this.logger});
+       resp = parseResponse(respBody, unmarshalAlertSchema);
+     };
+     await execute(signal, call, options);
\ No newline at end of file
packages/alerts/src/v1/index.ts
@@ -0,0 +1,17 @@
+diff --git a/packages/alerts/src/v1/index.ts b/packages/alerts/src/v1/index.ts
+--- a/packages/alerts/src/v1/index.ts
++++ b/packages/alerts/src/v1/index.ts
+ // Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.
+ 
++
+ export {Client} from './client';
+ 
+-export {AlertOperator, AlertState, LifecycleState} from './model';
++export {
++  AlertOperator,
++  AlertState,
++  LifecycleState,
++} from './model';
+ 
+ export type {
+   Alert,
\ No newline at end of file

... (truncated, output exceeded 60000 bytes)

Reproduce locally: git range-diff b377d9d..43c62ff a8b2943..f3798f4 | Disable: git config gitstack.push-range-diff false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant