@dbx-tools/shared-core 0.9.65 → 0.9.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
 
5
5
  export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-core";
6
- export const PACKAGE_VERSION = "0.9.65";
6
+ export const PACKAGE_VERSION = "0.9.68";
7
7
  export * as asyncUtils from "./src/async-utils.ts";
8
8
  export * as bindings from "./src/bindings.ts";
9
9
  export * as brandUtils from "./src/brand-utils.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-core";
2
- export declare const PACKAGE_VERSION = "0.9.65";
2
+ export declare const PACKAGE_VERSION = "0.9.68";
3
3
  export * as asyncUtils from "./src/async-utils.ts";
4
4
  export * as bindings from "./src/bindings.ts";
5
5
  export * as brandUtils from "./src/brand-utils.ts";
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Regenerated from the exporting modules in ./src.
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
  export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-core";
5
- export const PACKAGE_VERSION = "0.9.65";
5
+ export const PACKAGE_VERSION = "0.9.68";
6
6
  export * as asyncUtils from "./src/async-utils.js";
7
7
  export * as bindings from "./src/bindings.js";
8
8
  export * as brandUtils from "./src/brand-utils.js";
@@ -25,4 +25,4 @@ export { DEFAULT_BRAND_ASSETS, BrandAssetSetSchema, BrandColorsSchema, BrandVoic
25
25
  export { MAX_TCP_PORT } from "./src/net.js";
26
26
  export { DatabricksEnvironmentNamesSchema, databricksEnvironmentNames, PostgresEnvironmentNamesSchema, postgresEnvironmentNames, postgresRoleSchema, PostgresOptionsSchema, tcpPortSchema, tcpPortOrZeroSchema, normalizedUrlSchema, DatabricksOptionsSchema, LakebaseOptionsSchema } from "./src/options.js";
27
27
  export { ACCESS_TOKEN_HEADER, USER_ID_HEADER, USER_EMAIL_HEADER } from "./src/token.js";
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU8vSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzVDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs5UyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuNjVcIjtcbmV4cG9ydCAqIGFzIGFzeW5jVXRpbHMgZnJvbSBcIi4vc3JjL2FzeW5jLXV0aWxzLnRzXCI7XG5leHBvcnQgKiBhcyBiaW5kaW5ncyBmcm9tIFwiLi9zcmMvYmluZGluZ3MudHNcIjtcbmV4cG9ydCAqIGFzIGJyYW5kVXRpbHMgZnJvbSBcIi4vc3JjL2JyYW5kLXV0aWxzLnRzXCI7XG5leHBvcnQgKiBhcyBlbnZpcm9ubWVudFV0aWxzIGZyb20gXCIuL3NyYy9lbnZpcm9ubWVudC11dGlscy50c1wiO1xuZXhwb3J0ICogYXMgZXJyb3JVdGlscyBmcm9tIFwiLi9zcmMvZXJyb3ItdXRpbHMudHNcIjtcbmV4cG9ydCAqIGFzIGV4ZWN1dGlvbiBmcm9tIFwiLi9zcmMvZXhlY3V0aW9uLnRzXCI7XG5leHBvcnQgKiBhcyBmdW5jdGlvblV0aWxzIGZyb20gXCIuL3NyYy9mdW5jdGlvbi11dGlscy50c1wiO1xuZXhwb3J0ICogYXMgaGFzaCBmcm9tIFwiLi9zcmMvaGFzaC50c1wiO1xuZXhwb3J0ICogYXMgaHR0cCBmcm9tIFwiLi9zcmMvaHR0cC50c1wiO1xuZXhwb3J0ICogYXMganNvbiBmcm9tIFwiLi9zcmMvanNvbi50c1wiO1xuZXhwb3J0ICogYXMgbG9nIGZyb20gXCIuL3NyYy9sb2cudHNcIjtcbmV4cG9ydCAqIGFzIG5ldCBmcm9tIFwiLi9zcmMvbmV0LnRzXCI7XG5leHBvcnQgKiBhcyBvYmplY3QgZnJvbSBcIi4vc3JjL29iamVjdC50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9zcmMvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgcGF0dGVybiBmcm9tIFwiLi9zcmMvcGF0dGVybi50c1wiO1xuZXhwb3J0ICogYXMgcHJlZGljYXRlIGZyb20gXCIuL3NyYy9wcmVkaWNhdGUudHNcIjtcbmV4cG9ydCAqIGFzIHN0cmluZ1V0aWxzIGZyb20gXCIuL3NyYy9zdHJpbmctdXRpbHMudHNcIjtcbmV4cG9ydCAqIGFzIHRva2VuIGZyb20gXCIuL3NyYy90b2tlbi50c1wiO1xuZXhwb3J0IHR5cGUgeyBDb25jdXJyZW50RXJyb3JNb2RlLCBNYXBDb25jdXJyZW50T3B0aW9ucywgUG9sbENvbnRleHQsIFBvbGxQcm9kdWNlciwgUG9sbE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYXN5bmMtdXRpbHMudHNcIjtcbmV4cG9ydCB7IERFRkFVTFRfQlJBTkRfQVNTRVRTLCBCcmFuZEFzc2V0U2V0U2NoZW1hLCBCcmFuZENvbG9yc1NjaGVtYSwgQnJhbmRWb2ljZVNjaGVtYSwgQnJhbmRDb250ZXh0U2NoZW1hLCBkZWZhdWx0QnJhbmRDb250ZXh0IH0gZnJvbSBcIi4vc3JjL2JyYW5kLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJyYW5kQ29udGV4dCwgQnJhbmRDb250ZXh0SW5wdXQsIEJyYW5kQXNzZXRTZXQgfSBmcm9tIFwiLi9zcmMvYnJhbmQtdXRpbHMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRXJyb3JDb250ZXh0IH0gZnJvbSBcIi4vc3JjL2Vycm9yLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgRXhlY3V0b3IsIEV4ZWN1dGlvbkZhaWx1cmUsIFJ1bk9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZXhlY3V0aW9uLnRzXCI7XG5leHBvcnQgdHlwZSB7IE1lbW9pemVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2Z1bmN0aW9uLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEhlYWRlckxpa2UgfSBmcm9tIFwiLi9zcmMvaHR0cC50c1wiO1xuZXhwb3J0IHR5cGUgeyBMb2dMZXZlbCwgTG9nZ2VyIH0gZnJvbSBcIi4vc3JjL2xvZy50c1wiO1xuZXhwb3J0IHsgTUFYX1RDUF9QT1JUIH0gZnJvbSBcIi4vc3JjL25ldC50c1wiO1xuZXhwb3J0IHR5cGUgeyBVcmxMaWtlLCBJcFZlcnNpb24sIFBhcnNlZElwLCBDaWRyLCBVcmxCdWlsZGVyLCBQYXJzZUVtYWlsc09wdGlvbnMgfSBmcm9tIFwiLi9zcmMvbmV0LnRzXCI7XG5leHBvcnQgdHlwZSB7IFNlcXVlbmNlLCBDb250YWluZXIsIENvbGxlY3Rpb24sIE9uZU9yTWFueSwgTmFtZUxpa2UsIE5vbkZ1bmN0aW9uS2V5cywgU2VyaWFsaXphYmxlUHJpbWl0aXZlLCBTZXJpYWxpemFibGVWYWx1ZSwgVG9OdW1iZXJPcHRpb25zLCBUb0RhdGVPcHRpb25zLCBUb0R1cmF0aW9uT3B0aW9ucywgRGVlcEVxdWFsQ29tcGFyYXRvciB9IGZyb20gXCIuL3NyYy9vYmplY3QudHNcIjtcbmV4cG9ydCB7IERhdGFicmlja3NFbnZpcm9ubWVudE5hbWVzU2NoZW1hLCBkYXRhYnJpY2tzRW52aXJvbm1lbnROYW1lcywgUG9zdGdyZXNFbnZpcm9ubWVudE5hbWVzU2NoZW1hLCBwb3N0Z3Jlc0Vudmlyb25tZW50TmFtZXMsIHBvc3RncmVzUm9sZVNjaGVtYSwgUG9zdGdyZXNPcHRpb25zU2NoZW1hLCB0Y3BQb3J0U2NoZW1hLCB0Y3BQb3J0T3JaZXJvU2NoZW1hLCBub3JtYWxpemVkVXJsU2NoZW1hLCBEYXRhYnJpY2tzT3B0aW9uc1NjaGVtYSwgTGFrZWJhc2VPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRGF0YWJyaWNrc0Vudmlyb25tZW50TmFtZXMsIFBvc3RncmVzRW52aXJvbm1lbnROYW1lcywgUG9zdGdyZXNPcHRpb25zLCBEYXRhYnJpY2tzT3B0aW9ucywgT3B0aW9uU2VyaWFsaXphdGlvbkZvcm1hdCwgTGFrZWJhc2VPcHRpb25zLCBPcHRpb25WYWx1ZU1hcCwgTGlzdGVuU2NoZW1lLCBUY3BMaXN0ZW5BZGRyZXNzLCBVbml4TGlzdGVuQWRkcmVzcywgTGlzdGVuQWRkcmVzcywgTGlzdGVuQWRkcmVzc09wdGlvbnMsIExpc3RlbkFkZHJlc3NJbnB1dCB9IGZyb20gXCIuL3NyYy9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFBhdHRlcm5PcHRpb25zIH0gZnJvbSBcIi4vc3JjL3BhdHRlcm4udHNcIjtcbmV4cG9ydCB0eXBlIHsgUHJlZGljYXRlRnVuY3Rpb24sIFR5cGVQcmVkaWNhdGVGdW5jdGlvbiwgUHJlZGljYXRlSW5wdXQsIFByZWRpY2F0ZSB9IGZyb20gXCIuL3NyYy9wcmVkaWNhdGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgVG9rZW5pemVPcHRpb25zLCBLZXlPcHRpb25zLCBJZGVudGlmaWVyT3B0aW9ucywgRGVkZW50T3B0aW9ucywgRGVzY3JpcHRpb24gfSBmcm9tIFwiLi9zcmMvc3RyaW5nLXV0aWxzLnRzXCI7XG5leHBvcnQgeyBBQ0NFU1NfVE9LRU5fSEVBREVSLCBVU0VSX0lEX0hFQURFUiwgVVNFUl9FTUFJTF9IRUFERVIgfSBmcm9tIFwiLi9zcmMvdG9rZW4udHNcIjtcbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxLQUFLLFFBQVEsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEtBQUssVUFBVSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssSUFBSSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssR0FBRyxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxLQUFLLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU8vSixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRzVDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSwwQkFBMEIsRUFBRSw4QkFBOEIsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUs5UyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHRU5FUkFURUQgYnkgcHJvamVuIHdhdGNoIC0gRE8gTk9UIEVESVQuXG4vLyBSZWdlbmVyYXRlZCBmcm9tIHRoZSBleHBvcnRpbmcgbW9kdWxlcyBpbiAuL3NyYy5cbi8vIEhhbmQgZWRpdHMgYXJlIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IHdhdGNoOyB0aGlzIGZpbGUgaXMgcmVhZC1vbmx5LlxuXG5leHBvcnQgY29uc3QgUEFDS0FHRV9JREVOVElGSUVSID0gXCJAZGJ4LXRvb2xzL3NoYXJlZC1jb3JlXCI7XG5leHBvcnQgY29uc3QgUEFDS0FHRV9WRVJTSU9OID0gXCIwLjkuNjhcIjtcbmV4cG9ydCAqIGFzIGFzeW5jVXRpbHMgZnJvbSBcIi4vc3JjL2FzeW5jLXV0aWxzLnRzXCI7XG5leHBvcnQgKiBhcyBiaW5kaW5ncyBmcm9tIFwiLi9zcmMvYmluZGluZ3MudHNcIjtcbmV4cG9ydCAqIGFzIGJyYW5kVXRpbHMgZnJvbSBcIi4vc3JjL2JyYW5kLXV0aWxzLnRzXCI7XG5leHBvcnQgKiBhcyBlbnZpcm9ubWVudFV0aWxzIGZyb20gXCIuL3NyYy9lbnZpcm9ubWVudC11dGlscy50c1wiO1xuZXhwb3J0ICogYXMgZXJyb3JVdGlscyBmcm9tIFwiLi9zcmMvZXJyb3ItdXRpbHMudHNcIjtcbmV4cG9ydCAqIGFzIGV4ZWN1dGlvbiBmcm9tIFwiLi9zcmMvZXhlY3V0aW9uLnRzXCI7XG5leHBvcnQgKiBhcyBmdW5jdGlvblV0aWxzIGZyb20gXCIuL3NyYy9mdW5jdGlvbi11dGlscy50c1wiO1xuZXhwb3J0ICogYXMgaGFzaCBmcm9tIFwiLi9zcmMvaGFzaC50c1wiO1xuZXhwb3J0ICogYXMgaHR0cCBmcm9tIFwiLi9zcmMvaHR0cC50c1wiO1xuZXhwb3J0ICogYXMganNvbiBmcm9tIFwiLi9zcmMvanNvbi50c1wiO1xuZXhwb3J0ICogYXMgbG9nIGZyb20gXCIuL3NyYy9sb2cudHNcIjtcbmV4cG9ydCAqIGFzIG5ldCBmcm9tIFwiLi9zcmMvbmV0LnRzXCI7XG5leHBvcnQgKiBhcyBvYmplY3QgZnJvbSBcIi4vc3JjL29iamVjdC50c1wiO1xuZXhwb3J0ICogYXMgb3B0aW9ucyBmcm9tIFwiLi9zcmMvb3B0aW9ucy50c1wiO1xuZXhwb3J0ICogYXMgcGF0dGVybiBmcm9tIFwiLi9zcmMvcGF0dGVybi50c1wiO1xuZXhwb3J0ICogYXMgcHJlZGljYXRlIGZyb20gXCIuL3NyYy9wcmVkaWNhdGUudHNcIjtcbmV4cG9ydCAqIGFzIHN0cmluZ1V0aWxzIGZyb20gXCIuL3NyYy9zdHJpbmctdXRpbHMudHNcIjtcbmV4cG9ydCAqIGFzIHRva2VuIGZyb20gXCIuL3NyYy90b2tlbi50c1wiO1xuZXhwb3J0IHR5cGUgeyBDb25jdXJyZW50RXJyb3JNb2RlLCBNYXBDb25jdXJyZW50T3B0aW9ucywgUG9sbENvbnRleHQsIFBvbGxQcm9kdWNlciwgUG9sbE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvYXN5bmMtdXRpbHMudHNcIjtcbmV4cG9ydCB7IERFRkFVTFRfQlJBTkRfQVNTRVRTLCBCcmFuZEFzc2V0U2V0U2NoZW1hLCBCcmFuZENvbG9yc1NjaGVtYSwgQnJhbmRWb2ljZVNjaGVtYSwgQnJhbmRDb250ZXh0U2NoZW1hLCBkZWZhdWx0QnJhbmRDb250ZXh0IH0gZnJvbSBcIi4vc3JjL2JyYW5kLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEJyYW5kQ29udGV4dCwgQnJhbmRDb250ZXh0SW5wdXQsIEJyYW5kQXNzZXRTZXQgfSBmcm9tIFwiLi9zcmMvYnJhbmQtdXRpbHMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRXJyb3JDb250ZXh0IH0gZnJvbSBcIi4vc3JjL2Vycm9yLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgRXhlY3V0b3IsIEV4ZWN1dGlvbkZhaWx1cmUsIFJ1bk9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvZXhlY3V0aW9uLnRzXCI7XG5leHBvcnQgdHlwZSB7IE1lbW9pemVPcHRpb25zIH0gZnJvbSBcIi4vc3JjL2Z1bmN0aW9uLXV0aWxzLnRzXCI7XG5leHBvcnQgdHlwZSB7IEhlYWRlckxpa2UgfSBmcm9tIFwiLi9zcmMvaHR0cC50c1wiO1xuZXhwb3J0IHR5cGUgeyBMb2dMZXZlbCwgTG9nZ2VyIH0gZnJvbSBcIi4vc3JjL2xvZy50c1wiO1xuZXhwb3J0IHsgTUFYX1RDUF9QT1JUIH0gZnJvbSBcIi4vc3JjL25ldC50c1wiO1xuZXhwb3J0IHR5cGUgeyBVcmxMaWtlLCBJcFZlcnNpb24sIFBhcnNlZElwLCBDaWRyLCBVcmxCdWlsZGVyLCBQYXJzZUVtYWlsc09wdGlvbnMgfSBmcm9tIFwiLi9zcmMvbmV0LnRzXCI7XG5leHBvcnQgdHlwZSB7IFNlcXVlbmNlLCBDb250YWluZXIsIENvbGxlY3Rpb24sIE9uZU9yTWFueSwgTmFtZUxpa2UsIE5vbkZ1bmN0aW9uS2V5cywgU2VyaWFsaXphYmxlUHJpbWl0aXZlLCBTZXJpYWxpemFibGVWYWx1ZSwgVG9OdW1iZXJPcHRpb25zLCBUb0RhdGVPcHRpb25zLCBUb0R1cmF0aW9uT3B0aW9ucywgRGVlcEVxdWFsQ29tcGFyYXRvciB9IGZyb20gXCIuL3NyYy9vYmplY3QudHNcIjtcbmV4cG9ydCB7IERhdGFicmlja3NFbnZpcm9ubWVudE5hbWVzU2NoZW1hLCBkYXRhYnJpY2tzRW52aXJvbm1lbnROYW1lcywgUG9zdGdyZXNFbnZpcm9ubWVudE5hbWVzU2NoZW1hLCBwb3N0Z3Jlc0Vudmlyb25tZW50TmFtZXMsIHBvc3RncmVzUm9sZVNjaGVtYSwgUG9zdGdyZXNPcHRpb25zU2NoZW1hLCB0Y3BQb3J0U2NoZW1hLCB0Y3BQb3J0T3JaZXJvU2NoZW1hLCBub3JtYWxpemVkVXJsU2NoZW1hLCBEYXRhYnJpY2tzT3B0aW9uc1NjaGVtYSwgTGFrZWJhc2VPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL29wdGlvbnMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRGF0YWJyaWNrc0Vudmlyb25tZW50TmFtZXMsIFBvc3RncmVzRW52aXJvbm1lbnROYW1lcywgUG9zdGdyZXNPcHRpb25zLCBEYXRhYnJpY2tzT3B0aW9ucywgT3B0aW9uU2VyaWFsaXphdGlvbkZvcm1hdCwgTGFrZWJhc2VPcHRpb25zLCBPcHRpb25WYWx1ZU1hcCwgTGlzdGVuU2NoZW1lLCBUY3BMaXN0ZW5BZGRyZXNzLCBVbml4TGlzdGVuQWRkcmVzcywgTGlzdGVuQWRkcmVzcywgTGlzdGVuQWRkcmVzc09wdGlvbnMsIExpc3RlbkFkZHJlc3NJbnB1dCB9IGZyb20gXCIuL3NyYy9vcHRpb25zLnRzXCI7XG5leHBvcnQgdHlwZSB7IFBhdHRlcm5PcHRpb25zIH0gZnJvbSBcIi4vc3JjL3BhdHRlcm4udHNcIjtcbmV4cG9ydCB0eXBlIHsgUHJlZGljYXRlRnVuY3Rpb24sIFR5cGVQcmVkaWNhdGVGdW5jdGlvbiwgUHJlZGljYXRlSW5wdXQsIFByZWRpY2F0ZSB9IGZyb20gXCIuL3NyYy9wcmVkaWNhdGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgVG9rZW5pemVPcHRpb25zLCBLZXlPcHRpb25zLCBJZGVudGlmaWVyT3B0aW9ucywgRGVkZW50T3B0aW9ucywgRGVzY3JpcHRpb24gfSBmcm9tIFwiLi9zcmMvc3RyaW5nLXV0aWxzLnRzXCI7XG5leHBvcnQgeyBBQ0NFU1NfVE9LRU5fSEVBREVSLCBVU0VSX0lEX0hFQURFUiwgVVNFUl9FTUFJTF9IRUFERVIgfSBmcm9tIFwiLi9zcmMvdG9rZW4udHNcIjtcbiJdfQ==
@@ -1,2 +1,2 @@
1
- /** Detect a Databricks App runtime from its required host and App-specific port. */
1
+ /** Detect a Databricks App runtime from its workspace host plus App name or port. */
2
2
  export declare function isDatabricksAppEnv(source?: Record<string, string | undefined>): boolean;
@@ -3,7 +3,7 @@ import { toBoolean } from "./object.js";
3
3
  function runtimeEnvironment() {
4
4
  return (globalThis.process?.env ?? {});
5
5
  }
6
- /** Detect a Databricks App runtime from its required host and App-specific port. */
6
+ /** Detect a Databricks App runtime from its workspace host plus App name or port. */
7
7
  export function isDatabricksAppEnv(source = runtimeEnvironment()) {
8
8
  const override = toBoolean(source.DBX_TOOLS_DATABRICKS_APP_ENV);
9
9
  if (override !== undefined)
@@ -11,11 +11,15 @@ export function isDatabricksAppEnv(source = runtimeEnvironment()) {
11
11
  const name = source.DATABRICKS_APP_NAME?.trim();
12
12
  const host = source.DATABRICKS_HOST?.trim();
13
13
  const port = source.DATABRICKS_APP_PORT?.trim();
14
- if ((name && /\$\{[^}]+\}/.test(name)) || !host || !port || !/^\d+$/.test(port))
15
- return false;
16
- const parsedPort = Number(port);
17
- if (!Number.isInteger(parsedPort) || parsedPort < 1 || parsedPort > MAX_TCP_PORT)
14
+ if (!host || (!name && !port) || (name && /\$\{[^}]+\}/.test(name)))
18
15
  return false;
16
+ if (port) {
17
+ if (!/^\d+$/.test(port))
18
+ return false;
19
+ const parsedPort = Number(port);
20
+ if (!Number.isInteger(parsedPort) || parsedPort < 1 || parsedPort > MAX_TCP_PORT)
21
+ return false;
22
+ }
19
23
  try {
20
24
  const url = new URL(host);
21
25
  return (url.protocol === "http:" || url.protocol === "https:") && Boolean(url.hostname);
@@ -24,4 +28,4 @@ export function isDatabricksAppEnv(source = runtimeEnvironment()) {
24
28
  return false;
25
29
  }
26
30
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW52aXJvbm1lbnQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLFNBQVMsa0JBQWtCO0lBQ3pCLE9BQU8sQ0FFSCxVQUdELENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsU0FBNkMsa0JBQWtCLEVBQUU7SUFFakUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hFLElBQUksUUFBUSxLQUFLLFNBQVM7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEQsSUFBSSxDQUFDLElBQUksSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQzlGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLFVBQVUsR0FBRyxZQUFZO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDL0YsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1BWF9UQ1BfUE9SVCB9IGZyb20gXCIuL25ldC50c1wiO1xuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSBcIi4vb2JqZWN0LnRzXCI7XG5cbmZ1bmN0aW9uIHJ1bnRpbWVFbnZpcm9ubWVudCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIChcbiAgICAoXG4gICAgICBnbG9iYWxUaGlzIGFzIHR5cGVvZiBnbG9iYWxUaGlzICYge1xuICAgICAgICBwcm9jZXNzPzogeyBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IH07XG4gICAgICB9XG4gICAgKS5wcm9jZXNzPy5lbnYgPz8ge31cbiAgKTtcbn1cblxuLyoqIERldGVjdCBhIERhdGFicmlja3MgQXBwIHJ1bnRpbWUgZnJvbSBpdHMgcmVxdWlyZWQgaG9zdCBhbmQgQXBwLXNwZWNpZmljIHBvcnQuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRhYnJpY2tzQXBwRW52KFxuICBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gPSBydW50aW1lRW52aXJvbm1lbnQoKSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBvdmVycmlkZSA9IHRvQm9vbGVhbihzb3VyY2UuREJYX1RPT0xTX0RBVEFCUklDS1NfQVBQX0VOVik7XG4gIGlmIChvdmVycmlkZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gb3ZlcnJpZGU7XG4gIGNvbnN0IG5hbWUgPSBzb3VyY2UuREFUQUJSSUNLU19BUFBfTkFNRT8udHJpbSgpO1xuICBjb25zdCBob3N0ID0gc291cmNlLkRBVEFCUklDS1NfSE9TVD8udHJpbSgpO1xuICBjb25zdCBwb3J0ID0gc291cmNlLkRBVEFCUklDS1NfQVBQX1BPUlQ/LnRyaW0oKTtcbiAgaWYgKChuYW1lICYmIC9cXCRcXHtbXn1dK1xcfS8udGVzdChuYW1lKSkgfHwgIWhvc3QgfHwgIXBvcnQgfHwgIS9eXFxkKyQvLnRlc3QocG9ydCkpIHJldHVybiBmYWxzZTtcbiAgY29uc3QgcGFyc2VkUG9ydCA9IE51bWJlcihwb3J0KTtcbiAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlZFBvcnQpIHx8IHBhcnNlZFBvcnQgPCAxIHx8IHBhcnNlZFBvcnQgPiBNQVhfVENQX1BPUlQpIHJldHVybiBmYWxzZTtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGhvc3QpO1xuICAgIHJldHVybiAodXJsLnByb3RvY29sID09PSBcImh0dHA6XCIgfHwgdXJsLnByb3RvY29sID09PSBcImh0dHBzOlwiKSAmJiBCb29sZWFuKHVybC5ob3N0bmFtZSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW52aXJvbm1lbnQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXhDLFNBQVMsa0JBQWtCO0lBQ3pCLE9BQU8sQ0FFSCxVQUdELENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQ3JCLENBQUM7QUFDSixDQUFDO0FBRUQscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsU0FBNkMsa0JBQWtCLEVBQUU7SUFFakUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2hFLElBQUksUUFBUSxLQUFLLFNBQVM7UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDaEQsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ2xGLElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN0QyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsWUFBWTtZQUFFLE9BQU8sS0FBSyxDQUFDO0lBQ2pHLENBQUM7SUFDRCxJQUFJLENBQUM7UUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUFYX1RDUF9QT1JUIH0gZnJvbSBcIi4vbmV0LnRzXCI7XG5pbXBvcnQgeyB0b0Jvb2xlYW4gfSBmcm9tIFwiLi9vYmplY3QudHNcIjtcblxuZnVuY3Rpb24gcnVudGltZUVudmlyb25tZW50KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICByZXR1cm4gKFxuICAgIChcbiAgICAgIGdsb2JhbFRoaXMgYXMgdHlwZW9mIGdsb2JhbFRoaXMgJiB7XG4gICAgICAgIHByb2Nlc3M/OiB7IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfTtcbiAgICAgIH1cbiAgICApLnByb2Nlc3M/LmVudiA/PyB7fVxuICApO1xufVxuXG4vKiogRGV0ZWN0IGEgRGF0YWJyaWNrcyBBcHAgcnVudGltZSBmcm9tIGl0cyB3b3Jrc3BhY2UgaG9zdCBwbHVzIEFwcCBuYW1lIG9yIHBvcnQuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXRhYnJpY2tzQXBwRW52KFxuICBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gPSBydW50aW1lRW52aXJvbm1lbnQoKSxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBvdmVycmlkZSA9IHRvQm9vbGVhbihzb3VyY2UuREJYX1RPT0xTX0RBVEFCUklDS1NfQVBQX0VOVik7XG4gIGlmIChvdmVycmlkZSAhPT0gdW5kZWZpbmVkKSByZXR1cm4gb3ZlcnJpZGU7XG4gIGNvbnN0IG5hbWUgPSBzb3VyY2UuREFUQUJSSUNLU19BUFBfTkFNRT8udHJpbSgpO1xuICBjb25zdCBob3N0ID0gc291cmNlLkRBVEFCUklDS1NfSE9TVD8udHJpbSgpO1xuICBjb25zdCBwb3J0ID0gc291cmNlLkRBVEFCUklDS1NfQVBQX1BPUlQ/LnRyaW0oKTtcbiAgaWYgKCFob3N0IHx8ICghbmFtZSAmJiAhcG9ydCkgfHwgKG5hbWUgJiYgL1xcJFxce1tefV0rXFx9Ly50ZXN0KG5hbWUpKSkgcmV0dXJuIGZhbHNlO1xuICBpZiAocG9ydCkge1xuICAgIGlmICghL15cXGQrJC8udGVzdChwb3J0KSkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IHBhcnNlZFBvcnQgPSBOdW1iZXIocG9ydCk7XG4gICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHBhcnNlZFBvcnQpIHx8IHBhcnNlZFBvcnQgPCAxIHx8IHBhcnNlZFBvcnQgPiBNQVhfVENQX1BPUlQpIHJldHVybiBmYWxzZTtcbiAgfVxuICB0cnkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoaG9zdCk7XG4gICAgcmV0dXJuICh1cmwucHJvdG9jb2wgPT09IFwiaHR0cDpcIiB8fCB1cmwucHJvdG9jb2wgPT09IFwiaHR0cHM6XCIpICYmIEJvb2xlYW4odXJsLmhvc3RuYW1lKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -110,7 +110,7 @@
110
110
  "./package.json": "./package.json"
111
111
  }
112
112
  },
113
- "version": "0.9.65",
113
+ "version": "0.9.68",
114
114
  "types": "./lib/index.d.ts",
115
115
  "dbxToolsConfig": {
116
116
  "tags": [
@@ -11,7 +11,7 @@ function runtimeEnvironment(): Record<string, string | undefined> {
11
11
  );
12
12
  }
13
13
 
14
- /** Detect a Databricks App runtime from its required host and App-specific port. */
14
+ /** Detect a Databricks App runtime from its workspace host plus App name or port. */
15
15
  export function isDatabricksAppEnv(
16
16
  source: Record<string, string | undefined> = runtimeEnvironment(),
17
17
  ): boolean {
@@ -20,9 +20,12 @@ export function isDatabricksAppEnv(
20
20
  const name = source.DATABRICKS_APP_NAME?.trim();
21
21
  const host = source.DATABRICKS_HOST?.trim();
22
22
  const port = source.DATABRICKS_APP_PORT?.trim();
23
- if ((name && /\$\{[^}]+\}/.test(name)) || !host || !port || !/^\d+$/.test(port)) return false;
24
- const parsedPort = Number(port);
25
- if (!Number.isInteger(parsedPort) || parsedPort < 1 || parsedPort > MAX_TCP_PORT) return false;
23
+ if (!host || (!name && !port) || (name && /\$\{[^}]+\}/.test(name))) return false;
24
+ if (port) {
25
+ if (!/^\d+$/.test(port)) return false;
26
+ const parsedPort = Number(port);
27
+ if (!Number.isInteger(parsedPort) || parsedPort < 1 || parsedPort > MAX_TCP_PORT) return false;
28
+ }
26
29
  try {
27
30
  const url = new URL(host);
28
31
  return (url.protocol === "http:" || url.protocol === "https:") && Boolean(url.hostname);