{"_id":"@databricks/sdk-experimental","_rev":"18-e303ad7d7942adcac2e8883a8fc5598b","name":"@databricks/sdk-experimental","dist-tags":{"latest":"0.18.0"},"versions":{"0.12.0":{"name":"@databricks/sdk-experimental","version":"0.12.0","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.12.0","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"chrisst44","email":"chrisst@gmail.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"56644fccf0898297632021ee8bf71a54b4185ac4","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.12.0.tgz","fileCount":618,"integrity":"sha512-CNxhCweF2Ru5S5UqN/xY3yXtDIHhlLy9BRmjLCGNUmUCfeME7vXHAR+TeE2IsfZhRLAJ6BejHn78ah+3zl7jkQ==","signatures":[{"sig":"MEQCIG3f3H2geQ9kL/ABHPPbBtb/OZ0BM/lh5pdm5k/CAP7jAiANH0sM1W0swdTiajNvLEf1bVYlqjz8/6zhkSE6xGGQIw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6678642},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0"},"gitHead":"40ecc83c3f9492b3b85059bc83f0ce33903edc2b","scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"fjakobs","email":"fabian.jakobs@web.de"},"repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"10.9.3","description":"Databricks SDK","directories":{},"_nodeVersion":"22.19.0","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^24.9.2","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.12.0_1763124368891_0.6560468035478804","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@databricks/sdk-experimental","version":"0.14.2","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.14.2","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"rhatert","email":"renaud.hartert@databricks.com"},{"name":"chrisst44","email":"chrisst@gmail.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"82ad80a234070ee46bcd0832b7463a4c5e5eafe8","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.14.2.tgz","fileCount":618,"integrity":"sha512-G7lwQYOyF95IGdTiY9RRVYN5VlGZQ4xVIcfGYIBtW5VjJGKDSC3h8BN0JHKdhZceMNePF0aQ62iBiWpJZ3tQkg==","signatures":[{"sig":"MEYCIQD6fXEuPMk7vPFu/6rIIDZMhNUgSV0vZznrke+tGnkJTAIhAPGvZhE1d1PvxdrNUnq444C1iNYKx1KjVOXhO+wYnCBj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6678907},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":">=18.0"},"gitHead":"b4f9fb1829ae3b398db6bae97977e61ff038d856","scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bb78bad-f356-4b53-a0a0-a370f6ea0ff3"}},"repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"11.6.2","description":"Databricks SDK","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^24.9.2","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.14.2_1763136669325_0.39659109342935683","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@databricks/sdk-experimental","version":"0.15.0","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.15.0","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"rhatert","email":"renaud.hartert@databricks.com"},{"name":"chrisst44","email":"chrisst@gmail.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"34f711f953f30f36d98402aabaa4ee5c6f14333b","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.15.0.tgz","fileCount":618,"integrity":"sha512-HkoMiF7dNDt6WRW0xhi7oPlBJQfxJ9suJhEZRFt08VwLMaWcw2PiF8monfHlkD4lkufEYV6CTxi5njQkciqiHA==","signatures":[{"sig":"MEYCIQD6pQ8Yp/Q/2GdNTHtBQMiW8EfikixU6LX+rZ6iuGYj/QIhAJbLGYu8yFV9O2fNsm7ExYBvs/TukxriblZDq5B3JUGw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6680681},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0"},"gitHead":"c80817168c11407f902b73001037279177f4c01d","scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bb78bad-f356-4b53-a0a0-a370f6ea0ff3"}},"repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"11.6.4","description":"Databricks SDK","directories":{},"_nodeVersion":"20.19.5","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^22.0.0","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.15.0_1764681172127_0.35036048409964216","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"name":"@databricks/sdk-experimental","version":"0.16.0","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.16.0","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"rhatert","email":"renaud.hartert@databricks.com"},{"name":"chrisst44","email":"chrisst@gmail.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"9e87aa323c8645bf23b66aa20d7f0c0efd609f06","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.16.0.tgz","fileCount":635,"integrity":"sha512-9c2RxWYoRDFupdt4ZnBc1IPE1XaXgN+/wyV4DVcEqOnIa31ep51OnwAD/3014BImfKdyXg32nmgrB9dwvB6+lg==","signatures":[{"sig":"MEUCIQDHhV/BJSBnwj8QYTJS6a9zIYrKBQ4wsJnY+dhTDVHPfAIgR/60PsklCWyskAALRVF3kJXSzr4qNtIN3FfZKopzGek=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6742249},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0"},"gitHead":"dedf24076c6ea30f3d24561b30a94d1796c76ec2","scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4bb78bad-f356-4b53-a0a0-a370f6ea0ff3"}},"repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"11.8.0","description":"Databricks SDK","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^22.0.0","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","eventsource-parser":"^3.0.6","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.16.0_1769520807868_0.028620241302462768","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@databricks/sdk-experimental","version":"0.17.0","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.17.0","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"chrisst44","email":"chrisst@gmail.com"},{"name":"rhatert","email":"renaud.hartert@databricks.com"},{"name":"mdavids","email":"michael.davidson@databricks.com"},{"name":"stevenxu-db","email":"steven.xu@databricks.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"3b605d79540f543502bc2a0e0db4de23d2545dce","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.17.0.tgz","fileCount":635,"integrity":"sha512-dOJIt4F2nBk6HKObnv7Xbmy/qLYTy2835qhXSuW0Qw1QAXui9plmCet1KqG3yeQcMTyncWGbnhjGdQi8GEGQSA==","signatures":[{"sig":"MEQCIHlRhcM0+9Inm9N4ftGvIi9uaExGMvAuku1Ey5LhM61eAiBTUZ7KE3Mo+D/OwSXcyICFmzwHA7Rz4yAXT13s4LKP5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6762006},"main":"dist/index.js","_from":"file:dist/databricks-sdk-experimental-0.17.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0"},"scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8f87392e-d604-4597-9b51-69baf2c82509"}},"_resolved":"/home/runner/work/secure-public-registry-releases-eng/secure-public-registry-releases-eng/dist/databricks-sdk-experimental-0.17.0.tgz","overrides":{"serialize-javascript":"^7.0.5"},"_integrity":"sha512-dOJIt4F2nBk6HKObnv7Xbmy/qLYTy2835qhXSuW0Qw1QAXui9plmCet1KqG3yeQcMTyncWGbnhjGdQi8GEGQSA==","repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"10.9.4","description":"Databricks SDK","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^24.10.1","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","eventsource-parser":"^3.0.6","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.17.0_1778069338846_0.11992626610040857","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@databricks/sdk-experimental","version":"0.18.0","license":"Apache-2.0","_id":"@databricks/sdk-experimental@0.18.0","maintainers":[{"name":"fjakobs","email":"fabian.jakobs@web.de"},{"name":"stevenxu-db","email":"steven.xu@databricks.com"},{"name":"chrisst44","email":"chrisst@gmail.com"},{"name":"rhatert","email":"renaud.hartert@databricks.com"}],"homepage":"https://github.com/databricks/databricks-sdk-js","bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"nyc":{"all":true,"exclude":["src/**/*.test.ts","src/**/*.integ.ts","src/apis/**","src/test/**"],"extends":"@istanbuljs/nyc-config-typescript","include":["src/**/*.ts"],"reporter":["lcov","json"],"report-dir":"coverage","skip-empty":true,"check-coverage":false},"dist":{"shasum":"30c1c55208b5c13fc98b8761f75e50f487ed2598","tarball":"https://registry.npmjs.org/@databricks/sdk-experimental/-/sdk-experimental-0.18.0.tgz","fileCount":639,"integrity":"sha512-ZkrmM9b9pOViKXFMuGJ4HV0HA+lRcoresLP3bp2rR4Kghxvu34+sufI4hjK4NVbLW+TKlt8sM6CbBMiZGdIWmQ==","signatures":[{"sig":"MEYCIQDC+Y1MFkHLQPpEZ2ojlah6Y3AdiOU7oOMGne0dWM3gMQIhAKOHb42YruRRrHeme9hOAJTDflqbkSY959cLM1yZyh0S","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7088938},"main":"dist/index.js","_from":"file:dist/databricks-sdk-experimental-0.18.0.tgz","types":"dist/index.d.ts","engines":{"npm":">=10.0.0","node":">=22.0"},"scripts":{"fix":"knip --fix; eslint src --ext ts --fix; prettier . --write && npm run generate:notice","test":"npm run test:lint && npm run test:examples && npm run test:knip && npm run test:unit","build":"tsc --build --force","clean":"rm -rf dist node_modules","watch":"tsc --build --watch","prepack":"npm run build","test:cov":"nyc --report-dir ./coverage/unit npm run test:unit","test:knip":"knip","test:lint":"eslint src --ext ts && prettier . -c","test:unit":"ts-mocha --type-check \"src/**/*.test.ts\"","test:integ":"ts-mocha --type-check \"src/**/*.integ.ts\"","generate:api":".codegen/genkit update-sdk","test:examples":"npm run test:examples:types && npm run test:examples:lint","generate:tests":"deco code auth-tests && prettier src/config/UnifiedAuth.test.ts --write","test:integ:cov":"nyc --report-dir ./coverage/integration npm run test:integ","generate:notice":"./scripts/generate_notice.sh","test:examples:lint":"eslint examples/auth --ext ts","test:examples:types":"tsc --project examples/tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8f87392e-d604-4597-9b51-69baf2c82509"}},"_resolved":"/home/runner/work/secure-public-registry-releases-eng/secure-public-registry-releases-eng/dist/databricks-sdk-experimental-0.18.0.tgz","overrides":{"serialize-javascript":"^7.0.5"},"_integrity":"sha512-ZkrmM9b9pOViKXFMuGJ4HV0HA+lRcoresLP3bp2rR4Kghxvu34+sufI4hjK4NVbLW+TKlt8sM6CbBMiZGdIWmQ==","repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"_npmVersion":"10.9.4","description":"Databricks SDK","directories":{},"_nodeVersion":"22.22.1","dependencies":{"ini":"^6.0.0","semver":"^7.7.3","reflect-metadata":"^0.2.2","google-auth-library":"^10.5.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^17.1.0","knip":"^5.66.4","mocha":"^11.7.4","eslint":"^9.38.0","marked":"^11.0.0","globals":"^16.4.0","ts-node":"^10.9.2","prettier":"^3.6.2","ts-mocha":"^11.1.0","@eslint/js":"^9.38.0","@types/ini":"^4.1.1","ts-mockito":"^2.6.1","typescript":"^5.9.3","@types/node":"^24.10.1","proxy-agent":"^6.5.0","@types/mocha":"^10.0.10","@types/semver":"^7.7.1","tsconfig-paths":"^4.2.0","marked-terminal":"^6.1.1","eventsource-parser":"^3.0.6","@sinonjs/fake-timers":"^15.0.0","@types/marked-terminal":"^6.1.1","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.46.2","@types/sinonjs__fake-timers":"^15.0.1","eslint-plugin-no-only-tests":"^3.3.0","@typescript-eslint/eslint-plugin":"^8.46.2","@istanbuljs/nyc-config-typescript":"^1.0.2"},"_npmOperationalInternal":{"tmp":"tmp/sdk-experimental_0.18.0_1779981658159_0.4520720401358729","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-11-14T12:46:08.776Z","modified":"2026-08-12T17:37:28.775Z","0.12.0":"2025-11-14T12:46:09.120Z","0.14.2":"2025-11-14T16:11:09.580Z","0.15.0":"2025-12-02T13:12:52.345Z","0.16.0":"2026-01-27T13:33:28.103Z","0.17.0":"2026-05-06T12:08:59.009Z","0.18.0":"2026-05-28T15:20:58.422Z"},"bugs":{"url":"https://github.com/databricks/databricks-sdk-js/issues"},"license":"Apache-2.0","homepage":"https://github.com/databricks/databricks-sdk-js","repository":{"url":"git+https://github.com/databricks/databricks-sdk-js.git#main","type":"git"},"description":"Databricks SDK","maintainers":[{"email":"fabian.jakobs@web.de","name":"fjakobs"},{"email":"chrisst@gmail.com","name":"chrisst44"},{"email":"renaud.hartert@databricks.com","name":"rhatert"}],"readme":"# Databricks SDK for JavaScript\n\n[![npm version](https://badge.fury.io/js/%40databricks%2Fdatabricks-sdk.svg)](https://www.npmjs.com/package/@databricks/sdk-experimental)\n[![CI](https://github.com/databricks/databricks-sdk-js/actions/workflows/tests.yml/badge.svg)](https://github.com/databricks/databricks-sdk-js/actions)\n\n> [!WARNING]\n> ## ⚠️ PREVIEW - NOT FOR PRODUCTION USE\n>\n> **This SDK is in preview and is subject to change without notice.**\n>\n> - ❌ **Do NOT use in production environments**\n> - ⚠️ **Breaking changes may occur at any time**\n> - 🔬 **APIs are experimental and unstable**\n> - 📝 **Use for development and testing only**\n>\n> For production use cases, please wait for the stable 1.0.0 release.\n\nThe Databricks SDK for JavaScript provides a convenient way to interact with Databricks REST APIs in Node.js and TypeScript applications. It covers all public Databricks REST API operations and the SDK's internal HTTP client is robust and handles failures on different levels by performing intelligent retries.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Getting Started](#getting-started)\n- [Authentication](#authentication)\n    - [Default Authentication Flow](#default-authentication-flow)\n    - [Databricks Native Authentication](#databricks-native-authentication)\n    - [Azure Native Authentication](#azure-native-authentication)\n    - [Google Cloud Platform Native Authentication](#google-cloud-platform-native-authentication)\n    - [Configuration File](#configuration-file)\n    - [Environment Variables](#environment-variables)\n- [Usage Examples](#usage-examples)\n    - [Listing Clusters](#listing-clusters)\n    - [Creating and Waiting for Clusters](#creating-and-waiting-for-clusters)\n    - [Submitting Jobs](#submitting-jobs)\n    - [Unity Catalog Operations](#unity-catalog-operations)\n- [Long-Running Operations](#long-running-operations)\n- [Pagination](#pagination)\n- [Error Handling](#error-handling)\n- [Configuration](#configuration)\n    - [Timeouts](#timeouts)\n    - [HTTP Proxy](#http-proxy)\n    - [Rate Limiting](#rate-limiting)\n- [Logging and Debugging](#logging-and-debugging)\n- [Requirements](#requirements)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nInstall the SDK using your preferred package manager:\n\n### npm\n\n```bash\nnpm install @databricks/sdk-experimental\n```\n\n### pnpm\n\n```bash\npnpm add @databricks/sdk-experimental\n```\n\n## Getting Started\n\nThe simplest way to get started is to create a `WorkspaceClient` and let it automatically detect your credentials:\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\n// Create client (automatically detects credentials)\nconst client = new WorkspaceClient();\n\n// List all clusters\nfor await (const cluster of client.clusters.list({})) {\n    console.log(cluster.cluster_name);\n}\n\n// Get current user\nconst user = await client.currentUser.me();\nconsole.log(`Logged in as: ${user.user_name}`);\n```\n\n## Authentication\n\nIf you use Databricks configuration profiles or Databricks-specific environment variables for Databricks authentication, the only code required to start working with a Databricks workspace is:\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\nconst client = new WorkspaceClient();\n```\n\n### Default Authentication Flow\n\nThe SDK tries the following authentication methods in order until it succeeds:\n\n1. **Databricks Native Authentication** (PAT tokens, OAuth M2M, Workload Identity Federation)\n2. **Azure Native Authentication** (Azure CLI, Azure MSI, Azure Client Secret)\n3. **Google Cloud Platform Native Authentication** (GCP credentials, default application credentials)\n4. If unsuccessful, returns an authentication error\n\nFor each authentication method, the SDK searches for compatible credentials in the following locations:\n\n1. Credentials explicitly passed to the `Config` constructor\n2. Databricks-specific environment variables (e.g., `DATABRICKS_HOST`, `DATABRICKS_TOKEN`)\n3. Configuration file (`~/.databrickscfg`)\n4. Cloud provider authentication (Azure CLI, GCP default credentials, AWS instance profiles)\n\n### Databricks Native Authentication\n\n#### Personal Access Token (PAT)\n\nThe most common authentication method for development:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    token: \"dapi...\",\n});\nconst client = new WorkspaceClient(config);\n```\n\nOr using environment variables:\n\n```bash\nexport DATABRICKS_HOST=\"https://your-workspace.cloud.databricks.com\"\nexport DATABRICKS_TOKEN=\"dapi...\"\n```\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\n// Automatically uses environment variables\nconst client = new WorkspaceClient();\n```\n\n#### OAuth Machine-to-Machine (M2M) - Service Principal\n\nFor production service-to-service authentication:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    clientId: \"your-client-id\",\n    clientSecret: \"your-client-secret\",\n});\nconst client = new WorkspaceClient(config);\n```\n\nEnvironment variables:\n\n```bash\nexport DATABRICKS_HOST=\"https://your-workspace.cloud.databricks.com\"\nexport DATABRICKS_CLIENT_ID=\"your-client-id\"\nexport DATABRICKS_CLIENT_SECRET=\"your-client-secret\"\n```\n\n#### OAuth User-to-Machine (U2M) - External Browser\n\nFor interactive user authentication with SSO:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    clientId: \"your-client-id\",\n    authType: \"oauth-u2m\",\n});\nconst client = new WorkspaceClient(config);\n```\n\nThe SDK will automatically open a browser for user authentication.\n\n### Azure Native Authentication\n\n#### Azure CLI\n\nIf you've authenticated with `az login`, the SDK will automatically use those credentials:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://adb-<workspace-id>.<random>.azuredatabricks.net\",\n    authType: \"azure-cli\",\n});\nconst client = new WorkspaceClient(config);\n```\n\n#### Azure Managed Service Identity (MSI)\n\nFor applications running in Azure:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://adb-<workspace-id>.<random>.azuredatabricks.net\",\n    azureClientId: \"your-managed-identity-client-id\",\n});\nconst client = new WorkspaceClient(config);\n```\n\n#### Azure Service Principal\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://adb-<workspace-id>.<random>.azuredatabricks.net\",\n    azureClientId: \"your-client-id\",\n    azureClientSecret: \"your-client-secret\",\n    azureTenantId: \"your-tenant-id\",\n});\nconst client = new WorkspaceClient(config);\n```\n\n### Google Cloud Platform Native Authentication\n\n#### GCP Default Application Credentials\n\nIf you've authenticated with `gcloud auth application-default login`:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.gcp.databricks.com\",\n    authType: \"google-credentials\",\n});\nconst client = new WorkspaceClient(config);\n```\n\n#### GCP Service Account\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.gcp.databricks.com\",\n    googleServiceAccount: \"service-account@project.iam.gserviceaccount.com\",\n});\nconst client = new WorkspaceClient(config);\n```\n\n### Configuration File\n\nCreate a `~/.databrickscfg` file:\n\n```ini\n[DEFAULT]\nhost = https://your-workspace.cloud.databricks.com\ntoken = dapi...\n\n[PROD]\nhost = https://prod-workspace.cloud.databricks.com\ntoken = dapi...\n\n[STAGING]\nhost = https://staging-workspace.cloud.databricks.com\ntoken = dapi...\n```\n\nUse profiles in your code:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\n// Use DEFAULT profile\nconst client = new WorkspaceClient();\n\n// Use specific profile\nconst prodClient = new WorkspaceClient(new Config({profile: \"PROD\"}));\nconst stagingClient = new WorkspaceClient(new Config({profile: \"STAGING\"}));\n```\n\n### Environment Variables\n\nThe SDK supports the following environment variables:\n\n| Variable                            | Description                                          |\n| ----------------------------------- | ---------------------------------------------------- |\n| `DATABRICKS_HOST`                   | Workspace or account URL                             |\n| `DATABRICKS_TOKEN`                  | Personal access token                                |\n| `DATABRICKS_CLIENT_ID`              | OAuth client ID / Azure client ID                    |\n| `DATABRICKS_CLIENT_SECRET`          | OAuth client secret / Azure client secret            |\n| `DATABRICKS_ACCOUNT_ID`             | Databricks account ID (for account-level operations) |\n| `DATABRICKS_AZURE_TENANT_ID`        | Azure tenant ID                                      |\n| `DATABRICKS_GOOGLE_SERVICE_ACCOUNT` | GCP service account email                            |\n| `DATABRICKS_AUTH_TYPE`              | Force specific auth type                             |\n\n## Usage Examples\n\n### Listing Clusters\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// List all clusters\nfor await (const cluster of client.clusters.list({})) {\n    console.log(`Cluster: ${cluster.cluster_name} (${cluster.cluster_id})`);\n    console.log(`  State: ${cluster.state}`);\n    console.log(`  Spark Version: ${cluster.spark_version}`);\n}\n```\n\n### Creating and Waiting for Clusters\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// Create cluster and wait for it to be running\nconst waiter = await client.clusters.create({\n    cluster_name: \"my-cluster\",\n    spark_version: \"13.3.x-scala2.12\",\n    node_type_id: \"i3.xlarge\",\n    num_workers: 2,\n    autotermination_minutes: 60,\n});\n\n// Wait with progress callback\nconst cluster = await waiter.wait({\n    timeout: 15 * 60 * 1000, // 15 minutes\n    onProgress: (c) => {\n        console.log(`Cluster state: ${c.state}`);\n    },\n});\n\nconsole.log(`Cluster ${cluster.cluster_id} is running!`);\n```\n\n### Submitting Jobs\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// Submit a one-time job run\nconst waiter = await client.jobs.submit({\n    run_name: \"my-job-run\",\n    tasks: [\n        {\n            task_key: \"main\",\n            notebook_task: {\n                notebook_path: \"/Users/user@example.com/my-notebook\",\n                source: \"WORKSPACE\",\n            },\n            new_cluster: {\n                spark_version: \"13.3.x-scala2.12\",\n                node_type_id: \"i3.xlarge\",\n                num_workers: 2,\n            },\n        },\n    ],\n});\n\n// Wait for job to complete\nconst run = await waiter.wait({\n    timeout: 30 * 60 * 1000, // 30 minutes\n    onProgress: (r) => {\n        console.log(`Job state: ${r.state?.life_cycle_state}`);\n    },\n});\n\nconsole.log(`Job completed with result state: ${run.state?.result_state}`);\n```\n\n### Unity Catalog Operations\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// List all catalogs\nconsole.log(\"Catalogs:\");\nfor await (const catalog of client.catalogs.list({})) {\n    console.log(`  - ${catalog.name}`);\n}\n\n// Create a new schema\nconst schema = await client.schemas.create({\n    name: \"my_schema\",\n    catalog_name: \"my_catalog\",\n    comment: \"Schema for analytics\",\n});\nconsole.log(`Created schema: ${schema.full_name}`);\n\n// List tables in a schema\nconsole.log(\"Tables in my_catalog.my_schema:\");\nfor await (const table of client.tables.list({\n    catalog_name: \"my_catalog\",\n    schema_name: \"my_schema\",\n})) {\n    console.log(`  - ${table.full_name}`);\n}\n\n// Create a volume\nconst volume = await client.volumes.create({\n    catalog_name: \"my_catalog\",\n    schema_name: \"my_schema\",\n    name: \"my_volume\",\n    volume_type: \"MANAGED\",\n});\nconsole.log(`Created volume: ${volume.full_name}`);\n```\n\n## Workspace Examples\n\nThe SDK includes 18+ complete, runnable examples covering common Databricks workspace operations. These examples demonstrate best practices and patterns for real-world use cases.\n\n### Available Examples\n\n-   **Clusters** (3 examples) - Create, list, start/stop clusters\n-   **Jobs** (4 examples) - Submit, create, trigger, and monitor jobs\n-   **Unity Catalog** (4 examples) - Manage catalogs, schemas, tables, volumes, and permissions\n-   **SQL Warehouses** (2 examples) - Create warehouses and execute queries\n-   **ML/MLflow** (3 examples) - Track experiments, log models, model registry\n-   **Notebooks** (2 examples) - Upload and export notebooks\n-   **Files/DBFS** (2 examples) - Upload and download files\n\nEach example is self-contained, includes cleanup code, and demonstrates SDK best practices like the waiter pattern, pagination, and error handling.\n\n**See [Workspace Examples](./examples/workspace/README.md)** for the complete catalog with usage instructions.\n\n### Quick Start\n\n```bash\n# Run any example with npx ts-node\nnpx ts-node examples/workspace/clusters/create-cluster.ts\n\n# Or make executable and run directly\nchmod +x examples/workspace/clusters/create-cluster.ts\n./examples/workspace/clusters/create-cluster.ts\n```\n\n### Example: Create and Monitor a Job\n\n```typescript\nimport {WorkspaceClient, Time, TimeUnits} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient({});\n\n// Submit a one-time job run\nconst waiter = await client.jobs.submit({\n    run_name: `my-job-${Date.now()}`,\n    tasks: [\n        {\n            task_key: \"main_task\",\n            notebook_task: {\n                notebook_path: \"/Shared/my-notebook\",\n                source: \"WORKSPACE\",\n            },\n            new_cluster: {\n                spark_version: \"13.3.x-scala2.12\",\n                node_type_id: \"i3.xlarge\",\n                num_workers: 2,\n            },\n        },\n    ],\n});\n\n// Wait for completion with progress updates\nconst result = await waiter.wait({\n    timeout: new Time(20, TimeUnits.minutes),\n    onProgress: async (run) => {\n        console.log(`State: ${run.state?.life_cycle_state}`);\n    },\n});\n\nconsole.log(\n    `Job ${result.state?.result_state === \"SUCCESS\" ? \"succeeded\" : \"failed\"}`\n);\n```\n\nFor authentication examples and setup, see [Authentication Examples](./examples/auth/README.md).\n\n## Long-Running Operations\n\nMany Databricks operations are asynchronous. The SDK provides a `Waiter` interface for these operations:\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// Start an async operation\nconst waiter = await client.clusters.create({\n    cluster_name: \"my-cluster\",\n    spark_version: \"13.3.x-scala2.12\",\n    node_type_id: \"i3.xlarge\",\n    num_workers: 2,\n});\n\n// Configure wait behavior\nconst cluster = await waiter.wait({\n    timeout: 20 * 60 * 1000, // 20 minutes\n    onProgress: (intermediate) => {\n        console.log(`Current state: ${intermediate.state}`);\n        console.log(`State message: ${intermediate.state_message}`);\n    },\n});\n\nconsole.log(`Operation completed! Cluster ID: ${cluster.cluster_id}`);\n```\n\n### Retrying Failed Operations\n\nThe SDK automatically retries transient errors (rate limits, temporary unavailability):\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\nimport {Config} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    token: \"dapi...\",\n    retryTimeoutSeconds: 600, // Retry for up to 10 minutes\n});\n\nconst client = new WorkspaceClient(config);\n```\n\n## Pagination\n\nThe SDK automatically handles pagination using async iterators:\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\n// Automatically handles pagination\nfor await (const job of client.jobs.list({limit: 25})) {\n    console.log(`Job: ${job.settings?.name} (${job.job_id})`);\n}\n\n// Collect all results into an array\nconst allJobs = [];\nfor await (const job of client.jobs.list({})) {\n    allJobs.push(job);\n}\nconsole.log(`Total jobs: ${allJobs.length}`);\n```\n\n## Error Handling\n\nThe SDK provides structured error handling:\n\n```typescript\nimport {WorkspaceClient} from \"@databricks/sdk-experimental\";\nimport {ApiError} from \"@databricks/sdk-experimental\";\n\nconst client = new WorkspaceClient();\n\ntry {\n    const cluster = await client.clusters.get({cluster_id: \"invalid-id\"});\n} catch (error) {\n    if (error instanceof ApiError) {\n        console.error(`API Error: ${error.message}`);\n        console.error(`Status Code: ${error.statusCode}`);\n        console.error(`Error Code: ${error.errorCode}`);\n\n        // Check for specific error types\n        if (error.statusCode === 404) {\n            console.error(\"Cluster not found\");\n        } else if (error.statusCode === 403) {\n            console.error(\"Permission denied\");\n        } else if (error.statusCode === 429) {\n            console.error(\"Rate limited - will automatically retry\");\n        }\n    } else {\n        console.error(\"Unexpected error:\", error);\n    }\n}\n```\n\nThe SDK automatically retries the following errors:\n\n- **429**: Too Many Requests (rate limiting)\n- **503**: Service Temporarily Unavailable\n- **Connection errors**: Network issues, timeouts\n\n## Configuration\n\n### Timeouts\n\nConfigure HTTP and retry timeouts:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    token: \"dapi...\",\n    httpTimeoutSeconds: 60, // HTTP request timeout (default: 5s)\n    retryTimeoutSeconds: 300, // Total retry timeout (default: 300s)\n});\n\nconst client = new WorkspaceClient(config);\n```\n\n### HTTP Proxy\n\nConfigure an HTTP proxy for all requests:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    token: \"dapi...\",\n    proxy: \"http://proxy.example.com:8080\",\n});\n\nconst client = new WorkspaceClient(config);\n```\n\nOr using environment variables:\n\n```bash\nexport HTTPS_PROXY=\"http://proxy.example.com:8080\"\nexport HTTP_PROXY=\"http://proxy.example.com:8080\"\n```\n\n### Rate Limiting\n\nConfigure client-side rate limiting:\n\n```typescript\nimport {Config, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\nconst config = new Config({\n    host: \"https://your-workspace.cloud.databricks.com\",\n    token: \"dapi...\",\n    rateLimitPerSecond: 10, // Maximum 10 requests per second\n});\n\nconst client = new WorkspaceClient(config);\n```\n\n## Logging and Debugging\n\nEnable debug logging to troubleshoot issues:\n\n```typescript\nimport {setLogger, WorkspaceClient} from \"@databricks/sdk-experimental\";\n\n// Set up custom logger\nsetLogger({\n    log: (level, message, context) => {\n        console.log(`[${level}] ${message}`, context);\n    },\n});\n\nconst client = new WorkspaceClient();\n```\n\nUse environment variables for debugging:\n\n```bash\n# Enable header debugging (redacts sensitive data)\nexport DATABRICKS_DEBUG_HEADERS=true\n\n# Limit debug output truncation\nexport DATABRICKS_DEBUG_TRUNCATE_BYTES=2000\n```\n\n## Requirements\n\n- **Node.js**: 18.0 or higher\n- **TypeScript**: 4.5 or higher (if using TypeScript)\n\n## Authentication Examples\n\nThe SDK supports 10+ authentication methods. See **[Authentication Examples](./examples/auth/README.md)** for complete, runnable examples covering:\n\n- Personal Access Tokens (PAT)\n- OAuth Machine-to-Machine (Service Principals)\n- OAuth User-to-Machine (SSO)\n- Configuration file profiles\n- Azure authentication (CLI, MSI, Service Principal)\n- Google Cloud Platform authentication\n- AWS instance profiles\n- Custom credentials providers\n\nEach example includes setup instructions and can be run with `npx ts-node`.\n\n## Authentication Examples\n\nThe SDK supports 10+ authentication methods. See **[Authentication Examples](./examples/auth/README.md)** for complete, runnable examples covering:\n\n- Personal Access Tokens (PAT)\n- OAuth Machine-to-Machine (Service Principals)\n- OAuth User-to-Machine (SSO)\n- Configuration file profiles\n- Azure authentication (CLI, MSI, Service Principal)\n- Google Cloud Platform authentication\n- AWS instance profiles\n- Custom credentials providers\n\nEach example includes setup instructions and can be run with `npx ts-node`.\n\n## Testing\n\n### Unit Tests\n\nRun unit tests:\n\n```bash\nnpm run test\n```\n\n### Integration Tests\n\nMost tests are integration tests and must be run against a live cluster. Configure the following environment variables:\n\n| Name                      | Value                                                                                               |\n| ------------------------- | --------------------------------------------------------------------------------------------------- |\n| `DATABRICKS_HOST`         | Hostname of the Databricks workspace (starts with https://)                                         |\n| `DATABRICKS_TOKEN`        | Personal access token                                                                               |\n| `TEST_DEFAULT_CLUSTER_ID` | (optional) ID of a cluster to run tests against. If missing, tests will create a cluster on demand. |\n\nRun integration tests:\n\n```bash\nexport DATABRICKS_HOST=\"https://your-workspace.cloud.databricks.com\"\nexport DATABRICKS_TOKEN=\"dapi...\"\nnpm run test\n```\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and contribution guidelines.\n\nThe Databricks SDK for JavaScript is developed as part of the broader Databricks SDK ecosystem. We welcome contributions from the community!\n\n## License\n\nApache License 2.0. See [LICENSE](LICENSE) for details.\n","readmeFilename":"README.md"}