@dbx-tools/shared-auth 0.9.32 → 0.9.36
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/README.md +9 -2
- package/index.ts +13 -1
- package/lib/index.d.ts +13 -1
- package/lib/index.js +11 -2
- package/lib/src/{_client.js → browser.js} +1 -1
- package/lib/src/client.d.ts +28 -0
- package/lib/src/client.js +18 -0
- package/lib/src/config-schema.d.ts +20 -0
- package/lib/src/config-schema.js +22 -0
- package/lib/src/config.d.ts +21 -0
- package/lib/src/config.js +20 -0
- package/lib/src/profile.d.ts +59 -0
- package/lib/src/profile.js +28 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +51 -13
- package/src/client.ts +22 -0
- package/src/config-schema.ts +25 -0
- package/src/config.ts +23 -0
- package/src/profile.ts +38 -0
- /package/lib/src/{_client.d.ts → browser.d.ts} +0 -0
- /package/src/{_client.ts → browser.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# `@dbx-tools/shared-auth`
|
|
2
2
|
|
|
3
|
-
Browser-safe schemas and types for
|
|
4
|
-
|
|
3
|
+
Browser-safe schemas and types for passwordless authentication and Databricks
|
|
4
|
+
profile selection.
|
|
5
5
|
|
|
6
6
|
Key features:
|
|
7
7
|
|
|
8
8
|
- compatibility schemas for email OTP request and verification routes;
|
|
9
9
|
- logout result and redirect contract;
|
|
10
10
|
- gate status with optional passkey capability;
|
|
11
|
+
- Databricks auth-type and target values;
|
|
12
|
+
- secret-free profile summaries, profile lists, and selector values;
|
|
13
|
+
- resolved Databricks authentication client fields for browser auth checks;
|
|
11
14
|
- one shared session-cookie name for Node transports and browser clients.
|
|
12
15
|
|
|
13
16
|
```ts
|
|
@@ -19,3 +22,7 @@ const status = authStatusSchema.parse(await response.json());
|
|
|
19
22
|
## Modules
|
|
20
23
|
|
|
21
24
|
- `auth` - passwordless gate wire schemas and types.
|
|
25
|
+
- `browser` - Better Auth and passkey browser client.
|
|
26
|
+
- `config` - Databricks auth-type and target values.
|
|
27
|
+
- `profile` - secret-free profile selector contracts.
|
|
28
|
+
- `client` - resolved Databricks authentication client fields.
|
package/index.ts
CHANGED
|
@@ -3,7 +3,19 @@
|
|
|
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-auth";
|
|
6
|
-
export const PACKAGE_VERSION = "0.9.
|
|
6
|
+
export const PACKAGE_VERSION = "0.9.36";
|
|
7
7
|
export * as auth from "./src/auth.ts";
|
|
8
|
+
export * as browser from "./src/browser.ts";
|
|
9
|
+
export * as client from "./src/client.ts";
|
|
10
|
+
export * as config from "./src/config.ts";
|
|
11
|
+
export * as configSchema from "./src/config-schema.ts";
|
|
12
|
+
export * as profile from "./src/profile.ts";
|
|
8
13
|
export { AUTH_BASE_PATH, SESSION_COOKIE_NAME, authRequestSchema, authRequestResultSchema, authVerifySchema, authVerifyResultSchema, authLogoutResultSchema, authStatusSchema } from "./src/auth.ts";
|
|
9
14
|
export type { AuthRequest, AuthRequestResult, AuthVerify, AuthVerifyResult, AuthLogoutResult, AuthStatus } from "./src/auth.ts";
|
|
15
|
+
export type { PasskeyOperation } from "./src/browser.ts";
|
|
16
|
+
export { databricksAuthClientInfoSchema } from "./src/client.ts";
|
|
17
|
+
export type { DatabricksAuthClientInfo } from "./src/client.ts";
|
|
18
|
+
export { AuthType, TargetKind } from "./src/config.ts";
|
|
19
|
+
export { authTypeSchema, targetKindSchema } from "./src/config-schema.ts";
|
|
20
|
+
export { databricksProfileSummarySchema, databricksProfileListSchema, databricksProfileSelectionSchema } from "./src/profile.ts";
|
|
21
|
+
export type { DatabricksProfileSummary, DatabricksProfileList, DatabricksProfileSelection } from "./src/profile.ts";
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-auth";
|
|
2
|
-
export declare const PACKAGE_VERSION = "0.9.
|
|
2
|
+
export declare const PACKAGE_VERSION = "0.9.36";
|
|
3
3
|
export * as auth from "./src/auth.ts";
|
|
4
|
+
export * as browser from "./src/browser.ts";
|
|
5
|
+
export * as client from "./src/client.ts";
|
|
6
|
+
export * as config from "./src/config.ts";
|
|
7
|
+
export * as configSchema from "./src/config-schema.ts";
|
|
8
|
+
export * as profile from "./src/profile.ts";
|
|
4
9
|
export { AUTH_BASE_PATH, SESSION_COOKIE_NAME, authRequestSchema, authRequestResultSchema, authVerifySchema, authVerifyResultSchema, authLogoutResultSchema, authStatusSchema } from "./src/auth.ts";
|
|
5
10
|
export type { AuthRequest, AuthRequestResult, AuthVerify, AuthVerifyResult, AuthLogoutResult, AuthStatus } from "./src/auth.ts";
|
|
11
|
+
export type { PasskeyOperation } from "./src/browser.ts";
|
|
12
|
+
export { databricksAuthClientInfoSchema } from "./src/client.ts";
|
|
13
|
+
export type { DatabricksAuthClientInfo } from "./src/client.ts";
|
|
14
|
+
export { AuthType, TargetKind } from "./src/config.ts";
|
|
15
|
+
export { authTypeSchema, targetKindSchema } from "./src/config-schema.ts";
|
|
16
|
+
export { databricksProfileSummarySchema, databricksProfileListSchema, databricksProfileSelectionSchema } from "./src/profile.ts";
|
|
17
|
+
export type { DatabricksProfileSummary, DatabricksProfileList, DatabricksProfileSelection } from "./src/profile.ts";
|
package/lib/index.js
CHANGED
|
@@ -2,7 +2,16 @@
|
|
|
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-auth";
|
|
5
|
-
export const PACKAGE_VERSION = "0.9.
|
|
5
|
+
export const PACKAGE_VERSION = "0.9.36";
|
|
6
6
|
export * as auth from "./src/auth.js";
|
|
7
|
+
export * as browser from "./src/browser.js";
|
|
8
|
+
export * as client from "./src/client.js";
|
|
9
|
+
export * as config from "./src/config.js";
|
|
10
|
+
export * as configSchema from "./src/config-schema.js";
|
|
11
|
+
export * as profile from "./src/profile.js";
|
|
7
12
|
export { AUTH_BASE_PATH, SESSION_COOKIE_NAME, authRequestSchema, authRequestResultSchema, authVerifySchema, authVerifyResultSchema, authLogoutResultSchema, authStatusSchema } from "./src/auth.js";
|
|
8
|
-
|
|
13
|
+
export { databricksAuthClientInfoSchema } from "./src/client.js";
|
|
14
|
+
export { AuthType, TargetKind } from "./src/config.js";
|
|
15
|
+
export { authTypeSchema, targetKindSchema } from "./src/config-schema.js";
|
|
16
|
+
export { databricksProfileSummarySchema, databricksProfileListSchema, databricksProfileSelectionSchema } from "./src/profile.js";
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFDNUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssTUFBTSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxZQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3BNLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtYXV0aFwiO1xuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfVkVSU0lPTiA9IFwiMC45LjM2XCI7XG5leHBvcnQgKiBhcyBhdXRoIGZyb20gXCIuL3NyYy9hdXRoLnRzXCI7XG5leHBvcnQgKiBhcyBicm93c2VyIGZyb20gXCIuL3NyYy9icm93c2VyLnRzXCI7XG5leHBvcnQgKiBhcyBjbGllbnQgZnJvbSBcIi4vc3JjL2NsaWVudC50c1wiO1xuZXhwb3J0ICogYXMgY29uZmlnIGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCAqIGFzIGNvbmZpZ1NjaGVtYSBmcm9tIFwiLi9zcmMvY29uZmlnLXNjaGVtYS50c1wiO1xuZXhwb3J0ICogYXMgcHJvZmlsZSBmcm9tIFwiLi9zcmMvcHJvZmlsZS50c1wiO1xuZXhwb3J0IHsgQVVUSF9CQVNFX1BBVEgsIFNFU1NJT05fQ09PS0lFX05BTUUsIGF1dGhSZXF1ZXN0U2NoZW1hLCBhdXRoUmVxdWVzdFJlc3VsdFNjaGVtYSwgYXV0aFZlcmlmeVNjaGVtYSwgYXV0aFZlcmlmeVJlc3VsdFNjaGVtYSwgYXV0aExvZ291dFJlc3VsdFNjaGVtYSwgYXV0aFN0YXR1c1NjaGVtYSB9IGZyb20gXCIuL3NyYy9hdXRoLnRzXCI7XG5leHBvcnQgdHlwZSB7IEF1dGhSZXF1ZXN0LCBBdXRoUmVxdWVzdFJlc3VsdCwgQXV0aFZlcmlmeSwgQXV0aFZlcmlmeVJlc3VsdCwgQXV0aExvZ291dFJlc3VsdCwgQXV0aFN0YXR1cyB9IGZyb20gXCIuL3NyYy9hdXRoLnRzXCI7XG5leHBvcnQgdHlwZSB7IFBhc3NrZXlPcGVyYXRpb24gfSBmcm9tIFwiLi9zcmMvYnJvd3Nlci50c1wiO1xuZXhwb3J0IHsgZGF0YWJyaWNrc0F1dGhDbGllbnRJbmZvU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2NsaWVudC50c1wiO1xuZXhwb3J0IHR5cGUgeyBEYXRhYnJpY2tzQXV0aENsaWVudEluZm8gfSBmcm9tIFwiLi9zcmMvY2xpZW50LnRzXCI7XG5leHBvcnQgeyBBdXRoVHlwZSwgVGFyZ2V0S2luZCB9IGZyb20gXCIuL3NyYy9jb25maWcudHNcIjtcbmV4cG9ydCB7IGF1dGhUeXBlU2NoZW1hLCB0YXJnZXRLaW5kU2NoZW1hIH0gZnJvbSBcIi4vc3JjL2NvbmZpZy1zY2hlbWEudHNcIjtcbmV4cG9ydCB7IGRhdGFicmlja3NQcm9maWxlU3VtbWFyeVNjaGVtYSwgZGF0YWJyaWNrc1Byb2ZpbGVMaXN0U2NoZW1hLCBkYXRhYnJpY2tzUHJvZmlsZVNlbGVjdGlvblNjaGVtYSB9IGZyb20gXCIuL3NyYy9wcm9maWxlLnRzXCI7XG5leHBvcnQgdHlwZSB7IERhdGFicmlja3NQcm9maWxlU3VtbWFyeSwgRGF0YWJyaWNrc1Byb2ZpbGVMaXN0LCBEYXRhYnJpY2tzUHJvZmlsZVNlbGVjdGlvbiB9IGZyb20gXCIuL3NyYy9wcm9maWxlLnRzXCI7XG4iXX0=
|
|
@@ -147,4 +147,4 @@ export async function removePasskey(id) {
|
|
|
147
147
|
const result = await client.passkey.deletePasskey({ id });
|
|
148
148
|
return result.error === null;
|
|
149
149
|
}
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9fY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDLFNBQVMsZUFBZTtJQUN0QixPQUFRLFVBQXdELENBQUMsUUFBUSxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLE9BQU87SUFDZCxNQUFNLE1BQU0sR0FBRyxlQUFlLEVBQUUsRUFBRSxNQUFNLElBQUksa0JBQWtCLENBQUM7SUFDL0QsT0FBTyxHQUFHLE1BQU0sR0FBRyxjQUFjLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsTUFBb0I7SUFDekMsT0FBTyxnQkFBZ0IsQ0FBQztRQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFO1FBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDO0tBQzdDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztBQUUvQixTQUFTLE1BQU0sQ0FBQyxLQUFjO0lBQzVCLE9BQU8sT0FBTyxLQUFLLEtBQUss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LHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM3QyxDQUFDO0FBRUQsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWTtJQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN2RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLCtCQUErQixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELGtDQUFrQztBQUNsQyxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxFQUFVLEVBQUUsSUFBWTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEUsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEVBQVU7SUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcm93c2VyLW9ubHkgQmV0dGVyIEF1dGggY2xpZW50IHNoYXJlZCBieSBSZWFjdCBhbmQgdGhlIGhvc3RlZCB0dW5uZWwgbG9naW4uXG4gKlxuICogVGhlIG9wZXJhdGlvbiBoZWxwZXJzIG93biBib3RoIG5ldHdvcmsgY2FuY2VsbGF0aW9uIGFuZCB0aGUgYWN0aXZlIFdlYkF1dGhuXG4gKiBjZXJlbW9ueS4gRWFjaCBvcGVyYXRpb24gY2FycmllcyBhbiBpZGVudGl0eSB0b2tlbiBzbyBjbGVhbnVwIGZyb20gYW4gb2xkZXJcbiAqIFJlYWN0IGVmZmVjdCBjYW5ub3QgY2FuY2VsIGEgbmV3ZXIgbWFudWFsIGF0dGVtcHQuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHBhc3NrZXlDbGllbnQsIHR5cGUgUGFzc2tleSB9IGZyb20gXCJAYmV0dGVyLWF1dGgvcGFzc2tleS9jbGllbnRcIjtcbmltcG9ydCB7IFdlYkF1dGhuQWJvcnRTZXJ2aWNlIH0gZnJvbSBcIkBzaW1wbGV3ZWJhdXRobi9icm93c2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVBdXRoQ2xpZW50IH0gZnJvbSBcImJldHRlci1hdXRoL2NsaWVudFwiO1xuaW1wb3J0IHsgZW1haWxPVFBDbGllbnQgfSBmcm9tIFwiYmV0dGVyLWF1dGgvY2xpZW50L3BsdWdpbnNcIjtcblxuaW1wb3J0IHsgQVVUSF9CQVNFX1BBVEggfSBmcm9tIFwiLi9fcm91dGUudHNcIjtcbmltcG9ydCB0eXBlIHsgQXV0aFN0YXR1cyB9IGZyb20gXCIuL2F1dGgudHNcIjtcblxuZXhwb3J0IHsgQVVUSF9CQVNFX1BBVEggfSBmcm9tIFwiLi9fcm91dGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgUGFzc2tleSB9IGZyb20gXCJAYmV0dGVyLWF1dGgvcGFzc2tleS9jbGllbnRcIjtcblxuaW50ZXJmYWNlIEJyb3dzZXJMb2NhdGlvbiB7XG4gIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nO1xuICBhc3NpZ24odXJsOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5mdW5jdGlvbiBicm93c2VyTG9jYXRpb24oKTogQnJvd3NlckxvY2F0aW9uIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgeyBsb2NhdGlvbj86IEJyb3dzZXJMb2NhdGlvbiB9KS5sb2NhdGlvbjtcbn1cblxuZnVuY3Rpb24gYmFzZVVSTCgpOiBzdHJpbmcge1xuICBjb25zdCBvcmlnaW4gPSBicm93c2VyTG9jYXRpb24oKT8ub3JpZ2luID8/IFwiaHR0cDovL2xvY2FsaG9zdFwiO1xuICByZXR1cm4gYCR7b3JpZ2lufSR7QVVUSF9CQVNFX1BBVEh9YDtcbn1cblxuZnVuY3Rpb24gYnJvd3NlckNsaWVudChzaWduYWw/OiBBYm9ydFNpZ25hbCkge1xuICByZXR1cm4gY3JlYXRlQXV0aENsaWVudCh7XG4gICAgYmFzZVVSTDogYmFzZVVSTCgpLFxuICAgIC4uLihzaWduYWwgPyB7IGZldGNoT3B0aW9uczogeyBzaWduYWwgfSB9IDoge30pLFxuICAgIHBsdWdpbnM6IFtlbWFpbE9UUENsaWVudCgpLCBwYXNza2V5Q2xpZW50KCldLFxuICB9KTtcbn1cblxuY29uc3QgY2xpZW50ID0gYnJvd3NlckNsaWVudCgpO1xuXG5mdW5jdGlvbiByZWNvcmQodmFsdWU6IHVua25vd24pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGxcbiAgICA/ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYXV0aFN0YXR1cyh2YWx1ZTogdW5rbm93bik6IEF1dGhTdGF0dXMge1xuICBjb25zdCBpdGVtID0gcmVjb3JkKHZhbHVlKTtcbiAgaWYgKFxuICAgICFpdGVtIHx8XG4gICAgdHlwZW9mIGl0ZW0uYXV0aGVudGljYXRlZCAhPT0gXCJib29sZWFuXCIgfHxcbiAgICB0eXBlb2YgaXRlbS5lbmFibGVkICE9PSBcImJvb2xlYW5cIiB8fFxuICAgIChpdGVtLmVtYWlsICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGl0ZW0uZW1haWwgIT09IFwic3RyaW5nXCIpIHx8XG4gICAgKGl0ZW0ucGFzc2tleXNFbmFibGVkICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGl0ZW0ucGFzc2tleXNFbmFibGVkICE9PSBcImJvb2xlYW5cIilcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQXV0aCBzdGF0dXMgcmV0dXJuZWQgYW4gaW52YWxpZCByZXNwb25zZVwiKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGF1dGhlbnRpY2F0ZWQ6IGl0ZW0uYXV0aGVudGljYXRlZCxcbiAgICBlbmFibGVkOiBpdGVtLmVuYWJsZWQsXG4gICAgLi4uKHR5cGVvZiBpdGVtLmVtYWlsID09PSBcInN0cmluZ1wiID8geyBlbWFpbDogaXRlbS5lbWFpbCB9IDoge30pLFxuICAgIC4uLih0eXBlb2YgaXRlbS5wYXNza2V5c0VuYWJsZWQgPT09IFwiYm9vbGVhblwiID8geyBwYXNza2V5c0VuYWJsZWQ6IGl0ZW0ucGFzc2tleXNFbmFibGVkIH0gOiB7fSksXG4gIH07XG59XG5cbi8qKiBBIGNhbmNlbGxhYmxlIHBhc3NrZXkgcmVxdWVzdCBhbmQgV2ViQXV0aG4gY2VyZW1vbnkuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NrZXlPcGVyYXRpb24ge1xuICByZWFkb25seSByZXN1bHQ6IFByb21pc2U8Ym9vbGVhbj47XG4gIGNhbmNlbCgpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgQWN0aXZlUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJlYWRvbmx5IGlkOiBzeW1ib2w7XG4gIGNhbmNlbCgpOiB2b2lkO1xufVxuXG5sZXQgYWN0aXZlUGFzc2tleU9wZXJhdGlvbjogQWN0aXZlUGFzc2tleU9wZXJhdGlvbiB8IHVuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNBYm9ydChlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gZXJyb3IgaW5zdGFuY2VvZiBET01FeGNlcHRpb24gJiYgZXJyb3IubmFtZSA9PT0gXCJBYm9ydEVycm9yXCI7XG59XG5cbmZ1bmN0aW9uIGJlZ2luUGFzc2tleU9wZXJhdGlvbihcbiAgaW52b2tlOiAob3BlcmF0aW9uQ2xpZW50OiBSZXR1cm5UeXBlPHR5cGVvZiBicm93c2VyQ2xpZW50PikgPT4gUHJvbWlzZTx7IGVycm9yOiB1bmtub3duIH0+LFxuKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24/LmNhbmNlbCgpO1xuXG4gIGNvbnN0IGlkID0gU3ltYm9sKFwicGFzc2tleS1vcGVyYXRpb25cIik7XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGxldCBjYW5jZWxsZWQgPSBmYWxzZTtcbiAgY29uc3QgY2FuY2VsID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmIChhY3RpdmVQYXNza2V5T3BlcmF0aW9uPy5pZCAhPT0gaWQpIHJldHVybjtcbiAgICBhY3RpdmVQYXNza2V5T3BlcmF0aW9uID0gdW5kZWZpbmVkO1xuICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgY29udHJvbGxlci5hYm9ydCgpO1xuICAgIFdlYkF1dGhuQWJvcnRTZXJ2aWNlLmNhbmNlbENlcmVtb255KCk7XG4gIH07XG4gIGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24gPSB7IGlkLCBjYW5jZWwgfTtcblxuICBjb25zdCByZXN1bHQgPSBpbnZva2UoYnJvd3NlckNsaWVudChjb250cm9sbGVyLnNpZ25hbCkpXG4gICAgLnRoZW4oKHJlc3BvbnNlKSA9PiAhY2FuY2VsbGVkICYmIHJlc3BvbnNlLmVycm9yID09PSBudWxsKVxuICAgIC5jYXRjaCgoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgIGlmIChjYW5jZWxsZWQgfHwgaXNBYm9ydChlcnJvcikpIHJldHVybiBmYWxzZTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgaWYgKGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24/LmlkID09PSBpZCkgYWN0aXZlUGFzc2tleU9wZXJhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KTtcblxuICByZXR1cm4geyByZXN1bHQsIGNhbmNlbCB9O1xufVxuXG4vKiogU3RhcnQgYSBwYXNza2V5IHNpZ24taW4gd2hvc2UgbGlmZXRpbWUgaXMgZXhwbGljaXRseSBvd25lZCBieSB0aGUgY2FsbGVyLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJlZ2luUGFzc2tleVNpZ25JbihhdXRvRmlsbCA9IGZhbHNlKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlPcGVyYXRpb24oKG9wZXJhdGlvbkNsaWVudCkgPT4gb3BlcmF0aW9uQ2xpZW50LnNpZ25Jbi5wYXNza2V5KHsgYXV0b0ZpbGwgfSkpO1xufVxuXG4vKiogU3RhcnQgYSBwYXNza2V5IHJlZ2lzdHJhdGlvbiB3aG9zZSBsaWZldGltZSBpcyBleHBsaWNpdGx5IG93bmVkIGJ5IHRoZSBjYWxsZXIuICovXG5leHBvcnQgZnVuY3Rpb24gYmVnaW5QYXNza2V5RW5yb2xsbWVudChuYW1lPzogc3RyaW5nKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlPcGVyYXRpb24oKG9wZXJhdGlvbkNsaWVudCkgPT5cbiAgICBvcGVyYXRpb25DbGllbnQucGFzc2tleS5hZGRQYXNza2V5KG5hbWUgPyB7IG5hbWUgfSA6IHVuZGVmaW5lZCksXG4gICk7XG59XG5cbi8qKiBDYW5jZWwgdGhlIGN1cnJlbnRseSBhY3RpdmUgcGFzc2tleSByZXF1ZXN0IGFuZCBicm93c2VyIGNlcmVtb255LCBpZiBhbnkuICovXG5leHBvcnQgZnVuY3Rpb24gY2FuY2VsUGFzc2tleU9wZXJhdGlvbigpOiB2b2lkIHtcbiAgYWN0aXZlUGFzc2tleU9wZXJhdGlvbj8uY2FuY2VsKCk7XG59XG5cbi8qKiBSZWFkIHRoZSBjdXJyZW50IGJyb3dzZXIgc2Vzc2lvbiBzdGF0dXMgZnJvbSB0aGUgc2hhcmVkIGF1dGggZW5kcG9pbnQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXV0aFN0YXR1cygpOiBQcm9taXNlPEF1dGhTdGF0dXM+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtBVVRIX0JBU0VfUEFUSH0vc3RhdHVzYCwgeyBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIgfSk7XG4gIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihgQXV0aCBzdGF0dXMgZmFpbGVkIHdpdGggJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gIHJldHVybiBhdXRoU3RhdHVzKGF3YWl0IHJlc3BvbnNlLmpzb24oKSk7XG59XG5cbi8qKiBFbmQgdGhlIGN1cnJlbnQgYnJvd3NlciBzZXNzaW9uIGFuZCBmb2xsb3cgdGhlIHNlcnZlcidzIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvZ291dCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtBVVRIX0JBU0VfUEFUSH0vbG9nb3V0YCwge1xuICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgY3JlZGVudGlhbHM6IFwiaW5jbHVkZVwiLFxuICB9KTtcbiAgY29uc3QgcmVzdWx0ID0gcmVjb3JkKGF3YWl0IHJlc3BvbnNlLmpzb24oKSk7XG4gIGlmICghcmVzcG9uc2Uub2sgfHwgcmVzdWx0Py5vayAhPT0gdHJ1ZSB8fCB0eXBlb2YgcmVzdWx0LnJlZGlyZWN0VG8gIT09IFwic3RyaW5nXCIpIHJldHVybiBmYWxzZTtcbiAgYnJvd3NlckxvY2F0aW9uKCk/LmFzc2lnbihyZXN1bHQucmVkaXJlY3RUbyk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogUmVxdWVzdCBhbiBlbWFpbCBvbmUtdGltZSBwYXNzd29yZCBmb3IgdGhlIHN1cHBsaWVkIGFkZHJlc3MuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdEVtYWlsT3RwKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LmVtYWlsT3RwLnNlbmRWZXJpZmljYXRpb25PdHAoeyBlbWFpbCwgdHlwZTogXCJzaWduLWluXCIgfSk7XG4gIHJldHVybiByZXN1bHQuZXJyb3IgPT09IG51bGw7XG59XG5cbi8qKiBWZXJpZnkgYW4gZW1haWwgb25lLXRpbWUgcGFzc3dvcmQgYW5kIGVzdGFibGlzaCBhIGJyb3dzZXIgc2Vzc2lvbi4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlFbWFpbE90cChlbWFpbDogc3RyaW5nLCBvdHA6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5zaWduSW4uZW1haWxPdHAoeyBlbWFpbCwgb3RwLCBuYW1lIH0pO1xuICByZXR1cm4gcmVzdWx0LmVycm9yID09PSBudWxsO1xufVxuXG4vKiogQXV0aGVudGljYXRlIHdpdGggYSBwYXNza2V5LCBvcHRpb25hbGx5IHVzaW5nIGNvbmRpdGlvbmFsIGJyb3dzZXIgbWVkaWF0aW9uLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25JblBhc3NrZXkoYXV0b0ZpbGwgPSBmYWxzZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICByZXR1cm4gYmVnaW5QYXNza2V5U2lnbkluKGF1dG9GaWxsKS5yZXN1bHQ7XG59XG5cbi8qKiBFbnJvbGwgYSBwYXNza2V5IGZvciB0aGUgY3VycmVudCBhdXRoZW50aWNhdGVkIGFjY291bnQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkUGFzc2tleShuYW1lPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlFbnJvbGxtZW50KG5hbWUpLnJlc3VsdDtcbn1cblxuLyoqIExpc3QgcGFzc2tleXMgZW5yb2xsZWQgZm9yIHRoZSBjdXJyZW50IGF1dGhlbnRpY2F0ZWQgYWNjb3VudC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsaXN0UGFzc2tleXMoKTogUHJvbWlzZTxQYXNza2V5W10+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LnBhc3NrZXkubGlzdFVzZXJQYXNza2V5cygpO1xuICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlID8/IGBQYXNza2V5IGxpc3RpbmcgZmFpbGVkIHdpdGggJHtyZXN1bHQuZXJyb3Iuc3RhdHVzfWApO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YSA/PyBbXTtcbn1cblxuLyoqIFJlbmFtZSBhbiBlbnJvbGxlZCBwYXNza2V5LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmFtZVBhc3NrZXkoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5wYXNza2V5LnVwZGF0ZVBhc3NrZXkoeyBpZCwgbmFtZSB9KTtcbiAgcmV0dXJuIHJlc3VsdC5lcnJvciA9PT0gbnVsbDtcbn1cblxuLyoqIFJlbW92ZSBhbiBlbnJvbGxlZCBwYXNza2V5LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZVBhc3NrZXkoaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjbGllbnQucGFzc2tleS5kZWxldGVQYXNza2V5KHsgaWQgfSk7XG4gIHJldHVybiByZXN1bHQuZXJyb3IgPT09IG51bGw7XG59XG4iXX0=
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9icm93c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUc3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTdDLFNBQVMsZUFBZTtJQUN0QixPQUFRLFVBQXdELENBQUMsUUFBUSxDQUFDO0FBQzVFLENBQUM7QUFFRCxTQUFTLE9BQU87SUFDZCxNQUFNLE1BQU0sR0FBRyxlQUFlLEVBQUUsRUFBRSxNQUFNLElBQUksa0JBQWtCLENBQUM7SUFDL0QsT0FBTyxHQUFHLE1BQU0sR0FBRyxjQUFjLEVBQUUsQ0FBQztBQUN0QyxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsTUFBb0I7SUFDekMsT0FBTyxnQkFBZ0IsQ0FBQztRQUN0QixPQUFPLEVBQUUsT0FBTyxFQUFFO1FBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxDQUFDO0tBQzdDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxhQUFhLEVBQUUsQ0FBQztBQUUvQixTQUFTLE1BQU0sQ0FBQyxLQUFjO0lBQzVCLE9BQU8sT0FBTyxLQUFLLEtBQUss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LHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUM3QyxDQUFDO0FBRUQsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWTtJQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN2RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLCtCQUErQixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7QUFDM0IsQ0FBQztBQUVELGtDQUFrQztBQUNsQyxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FBQyxFQUFVLEVBQUUsSUFBWTtJQUMxRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEUsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsYUFBYSxDQUFDLEVBQVU7SUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDMUQsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcm93c2VyLW9ubHkgQmV0dGVyIEF1dGggY2xpZW50IHNoYXJlZCBieSBSZWFjdCBhbmQgdGhlIGhvc3RlZCB0dW5uZWwgbG9naW4uXG4gKlxuICogVGhlIG9wZXJhdGlvbiBoZWxwZXJzIG93biBib3RoIG5ldHdvcmsgY2FuY2VsbGF0aW9uIGFuZCB0aGUgYWN0aXZlIFdlYkF1dGhuXG4gKiBjZXJlbW9ueS4gRWFjaCBvcGVyYXRpb24gY2FycmllcyBhbiBpZGVudGl0eSB0b2tlbiBzbyBjbGVhbnVwIGZyb20gYW4gb2xkZXJcbiAqIFJlYWN0IGVmZmVjdCBjYW5ub3QgY2FuY2VsIGEgbmV3ZXIgbWFudWFsIGF0dGVtcHQuXG4gKlxuICogQG1vZHVsZVxuICovXG5cbmltcG9ydCB7IHBhc3NrZXlDbGllbnQsIHR5cGUgUGFzc2tleSB9IGZyb20gXCJAYmV0dGVyLWF1dGgvcGFzc2tleS9jbGllbnRcIjtcbmltcG9ydCB7IFdlYkF1dGhuQWJvcnRTZXJ2aWNlIH0gZnJvbSBcIkBzaW1wbGV3ZWJhdXRobi9icm93c2VyXCI7XG5pbXBvcnQgeyBjcmVhdGVBdXRoQ2xpZW50IH0gZnJvbSBcImJldHRlci1hdXRoL2NsaWVudFwiO1xuaW1wb3J0IHsgZW1haWxPVFBDbGllbnQgfSBmcm9tIFwiYmV0dGVyLWF1dGgvY2xpZW50L3BsdWdpbnNcIjtcblxuaW1wb3J0IHsgQVVUSF9CQVNFX1BBVEggfSBmcm9tIFwiLi9fcm91dGUudHNcIjtcbmltcG9ydCB0eXBlIHsgQXV0aFN0YXR1cyB9IGZyb20gXCIuL2F1dGgudHNcIjtcblxuZXhwb3J0IHsgQVVUSF9CQVNFX1BBVEggfSBmcm9tIFwiLi9fcm91dGUudHNcIjtcbmV4cG9ydCB0eXBlIHsgUGFzc2tleSB9IGZyb20gXCJAYmV0dGVyLWF1dGgvcGFzc2tleS9jbGllbnRcIjtcblxuaW50ZXJmYWNlIEJyb3dzZXJMb2NhdGlvbiB7XG4gIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nO1xuICBhc3NpZ24odXJsOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5mdW5jdGlvbiBicm93c2VyTG9jYXRpb24oKTogQnJvd3NlckxvY2F0aW9uIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChnbG9iYWxUaGlzIGFzIHVua25vd24gYXMgeyBsb2NhdGlvbj86IEJyb3dzZXJMb2NhdGlvbiB9KS5sb2NhdGlvbjtcbn1cblxuZnVuY3Rpb24gYmFzZVVSTCgpOiBzdHJpbmcge1xuICBjb25zdCBvcmlnaW4gPSBicm93c2VyTG9jYXRpb24oKT8ub3JpZ2luID8/IFwiaHR0cDovL2xvY2FsaG9zdFwiO1xuICByZXR1cm4gYCR7b3JpZ2lufSR7QVVUSF9CQVNFX1BBVEh9YDtcbn1cblxuZnVuY3Rpb24gYnJvd3NlckNsaWVudChzaWduYWw/OiBBYm9ydFNpZ25hbCkge1xuICByZXR1cm4gY3JlYXRlQXV0aENsaWVudCh7XG4gICAgYmFzZVVSTDogYmFzZVVSTCgpLFxuICAgIC4uLihzaWduYWwgPyB7IGZldGNoT3B0aW9uczogeyBzaWduYWwgfSB9IDoge30pLFxuICAgIHBsdWdpbnM6IFtlbWFpbE9UUENsaWVudCgpLCBwYXNza2V5Q2xpZW50KCldLFxuICB9KTtcbn1cblxuY29uc3QgY2xpZW50ID0gYnJvd3NlckNsaWVudCgpO1xuXG5mdW5jdGlvbiByZWNvcmQodmFsdWU6IHVua25vd24pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiYgdmFsdWUgIT09IG51bGxcbiAgICA/ICh2YWx1ZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYXV0aFN0YXR1cyh2YWx1ZTogdW5rbm93bik6IEF1dGhTdGF0dXMge1xuICBjb25zdCBpdGVtID0gcmVjb3JkKHZhbHVlKTtcbiAgaWYgKFxuICAgICFpdGVtIHx8XG4gICAgdHlwZW9mIGl0ZW0uYXV0aGVudGljYXRlZCAhPT0gXCJib29sZWFuXCIgfHxcbiAgICB0eXBlb2YgaXRlbS5lbmFibGVkICE9PSBcImJvb2xlYW5cIiB8fFxuICAgIChpdGVtLmVtYWlsICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGl0ZW0uZW1haWwgIT09IFwic3RyaW5nXCIpIHx8XG4gICAgKGl0ZW0ucGFzc2tleXNFbmFibGVkICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIGl0ZW0ucGFzc2tleXNFbmFibGVkICE9PSBcImJvb2xlYW5cIilcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQXV0aCBzdGF0dXMgcmV0dXJuZWQgYW4gaW52YWxpZCByZXNwb25zZVwiKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGF1dGhlbnRpY2F0ZWQ6IGl0ZW0uYXV0aGVudGljYXRlZCxcbiAgICBlbmFibGVkOiBpdGVtLmVuYWJsZWQsXG4gICAgLi4uKHR5cGVvZiBpdGVtLmVtYWlsID09PSBcInN0cmluZ1wiID8geyBlbWFpbDogaXRlbS5lbWFpbCB9IDoge30pLFxuICAgIC4uLih0eXBlb2YgaXRlbS5wYXNza2V5c0VuYWJsZWQgPT09IFwiYm9vbGVhblwiID8geyBwYXNza2V5c0VuYWJsZWQ6IGl0ZW0ucGFzc2tleXNFbmFibGVkIH0gOiB7fSksXG4gIH07XG59XG5cbi8qKiBBIGNhbmNlbGxhYmxlIHBhc3NrZXkgcmVxdWVzdCBhbmQgV2ViQXV0aG4gY2VyZW1vbnkuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhc3NrZXlPcGVyYXRpb24ge1xuICByZWFkb25seSByZXN1bHQ6IFByb21pc2U8Ym9vbGVhbj47XG4gIGNhbmNlbCgpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgQWN0aXZlUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJlYWRvbmx5IGlkOiBzeW1ib2w7XG4gIGNhbmNlbCgpOiB2b2lkO1xufVxuXG5sZXQgYWN0aXZlUGFzc2tleU9wZXJhdGlvbjogQWN0aXZlUGFzc2tleU9wZXJhdGlvbiB8IHVuZGVmaW5lZDtcblxuZnVuY3Rpb24gaXNBYm9ydChlcnJvcjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gZXJyb3IgaW5zdGFuY2VvZiBET01FeGNlcHRpb24gJiYgZXJyb3IubmFtZSA9PT0gXCJBYm9ydEVycm9yXCI7XG59XG5cbmZ1bmN0aW9uIGJlZ2luUGFzc2tleU9wZXJhdGlvbihcbiAgaW52b2tlOiAob3BlcmF0aW9uQ2xpZW50OiBSZXR1cm5UeXBlPHR5cGVvZiBicm93c2VyQ2xpZW50PikgPT4gUHJvbWlzZTx7IGVycm9yOiB1bmtub3duIH0+LFxuKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24/LmNhbmNlbCgpO1xuXG4gIGNvbnN0IGlkID0gU3ltYm9sKFwicGFzc2tleS1vcGVyYXRpb25cIik7XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gIGxldCBjYW5jZWxsZWQgPSBmYWxzZTtcbiAgY29uc3QgY2FuY2VsID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmIChhY3RpdmVQYXNza2V5T3BlcmF0aW9uPy5pZCAhPT0gaWQpIHJldHVybjtcbiAgICBhY3RpdmVQYXNza2V5T3BlcmF0aW9uID0gdW5kZWZpbmVkO1xuICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgY29udHJvbGxlci5hYm9ydCgpO1xuICAgIFdlYkF1dGhuQWJvcnRTZXJ2aWNlLmNhbmNlbENlcmVtb255KCk7XG4gIH07XG4gIGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24gPSB7IGlkLCBjYW5jZWwgfTtcblxuICBjb25zdCByZXN1bHQgPSBpbnZva2UoYnJvd3NlckNsaWVudChjb250cm9sbGVyLnNpZ25hbCkpXG4gICAgLnRoZW4oKHJlc3BvbnNlKSA9PiAhY2FuY2VsbGVkICYmIHJlc3BvbnNlLmVycm9yID09PSBudWxsKVxuICAgIC5jYXRjaCgoZXJyb3I6IHVua25vd24pID0+IHtcbiAgICAgIGlmIChjYW5jZWxsZWQgfHwgaXNBYm9ydChlcnJvcikpIHJldHVybiBmYWxzZTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pXG4gICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgaWYgKGFjdGl2ZVBhc3NrZXlPcGVyYXRpb24/LmlkID09PSBpZCkgYWN0aXZlUGFzc2tleU9wZXJhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9KTtcblxuICByZXR1cm4geyByZXN1bHQsIGNhbmNlbCB9O1xufVxuXG4vKiogU3RhcnQgYSBwYXNza2V5IHNpZ24taW4gd2hvc2UgbGlmZXRpbWUgaXMgZXhwbGljaXRseSBvd25lZCBieSB0aGUgY2FsbGVyLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJlZ2luUGFzc2tleVNpZ25JbihhdXRvRmlsbCA9IGZhbHNlKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlPcGVyYXRpb24oKG9wZXJhdGlvbkNsaWVudCkgPT4gb3BlcmF0aW9uQ2xpZW50LnNpZ25Jbi5wYXNza2V5KHsgYXV0b0ZpbGwgfSkpO1xufVxuXG4vKiogU3RhcnQgYSBwYXNza2V5IHJlZ2lzdHJhdGlvbiB3aG9zZSBsaWZldGltZSBpcyBleHBsaWNpdGx5IG93bmVkIGJ5IHRoZSBjYWxsZXIuICovXG5leHBvcnQgZnVuY3Rpb24gYmVnaW5QYXNza2V5RW5yb2xsbWVudChuYW1lPzogc3RyaW5nKTogUGFzc2tleU9wZXJhdGlvbiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlPcGVyYXRpb24oKG9wZXJhdGlvbkNsaWVudCkgPT5cbiAgICBvcGVyYXRpb25DbGllbnQucGFzc2tleS5hZGRQYXNza2V5KG5hbWUgPyB7IG5hbWUgfSA6IHVuZGVmaW5lZCksXG4gICk7XG59XG5cbi8qKiBDYW5jZWwgdGhlIGN1cnJlbnRseSBhY3RpdmUgcGFzc2tleSByZXF1ZXN0IGFuZCBicm93c2VyIGNlcmVtb255LCBpZiBhbnkuICovXG5leHBvcnQgZnVuY3Rpb24gY2FuY2VsUGFzc2tleU9wZXJhdGlvbigpOiB2b2lkIHtcbiAgYWN0aXZlUGFzc2tleU9wZXJhdGlvbj8uY2FuY2VsKCk7XG59XG5cbi8qKiBSZWFkIHRoZSBjdXJyZW50IGJyb3dzZXIgc2Vzc2lvbiBzdGF0dXMgZnJvbSB0aGUgc2hhcmVkIGF1dGggZW5kcG9pbnQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXV0aFN0YXR1cygpOiBQcm9taXNlPEF1dGhTdGF0dXM+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtBVVRIX0JBU0VfUEFUSH0vc3RhdHVzYCwgeyBjcmVkZW50aWFsczogXCJpbmNsdWRlXCIgfSk7XG4gIGlmICghcmVzcG9uc2Uub2spIHRocm93IG5ldyBFcnJvcihgQXV0aCBzdGF0dXMgZmFpbGVkIHdpdGggJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gIHJldHVybiBhdXRoU3RhdHVzKGF3YWl0IHJlc3BvbnNlLmpzb24oKSk7XG59XG5cbi8qKiBFbmQgdGhlIGN1cnJlbnQgYnJvd3NlciBzZXNzaW9uIGFuZCBmb2xsb3cgdGhlIHNlcnZlcidzIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvZ291dCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtBVVRIX0JBU0VfUEFUSH0vbG9nb3V0YCwge1xuICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgY3JlZGVudGlhbHM6IFwiaW5jbHVkZVwiLFxuICB9KTtcbiAgY29uc3QgcmVzdWx0ID0gcmVjb3JkKGF3YWl0IHJlc3BvbnNlLmpzb24oKSk7XG4gIGlmICghcmVzcG9uc2Uub2sgfHwgcmVzdWx0Py5vayAhPT0gdHJ1ZSB8fCB0eXBlb2YgcmVzdWx0LnJlZGlyZWN0VG8gIT09IFwic3RyaW5nXCIpIHJldHVybiBmYWxzZTtcbiAgYnJvd3NlckxvY2F0aW9uKCk/LmFzc2lnbihyZXN1bHQucmVkaXJlY3RUbyk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogUmVxdWVzdCBhbiBlbWFpbCBvbmUtdGltZSBwYXNzd29yZCBmb3IgdGhlIHN1cHBsaWVkIGFkZHJlc3MuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWVzdEVtYWlsT3RwKGVtYWlsOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LmVtYWlsT3RwLnNlbmRWZXJpZmljYXRpb25PdHAoeyBlbWFpbCwgdHlwZTogXCJzaWduLWluXCIgfSk7XG4gIHJldHVybiByZXN1bHQuZXJyb3IgPT09IG51bGw7XG59XG5cbi8qKiBWZXJpZnkgYW4gZW1haWwgb25lLXRpbWUgcGFzc3dvcmQgYW5kIGVzdGFibGlzaCBhIGJyb3dzZXIgc2Vzc2lvbi4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2ZXJpZnlFbWFpbE90cChlbWFpbDogc3RyaW5nLCBvdHA6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5zaWduSW4uZW1haWxPdHAoeyBlbWFpbCwgb3RwLCBuYW1lIH0pO1xuICByZXR1cm4gcmVzdWx0LmVycm9yID09PSBudWxsO1xufVxuXG4vKiogQXV0aGVudGljYXRlIHdpdGggYSBwYXNza2V5LCBvcHRpb25hbGx5IHVzaW5nIGNvbmRpdGlvbmFsIGJyb3dzZXIgbWVkaWF0aW9uLiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25JblBhc3NrZXkoYXV0b0ZpbGwgPSBmYWxzZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICByZXR1cm4gYmVnaW5QYXNza2V5U2lnbkluKGF1dG9GaWxsKS5yZXN1bHQ7XG59XG5cbi8qKiBFbnJvbGwgYSBwYXNza2V5IGZvciB0aGUgY3VycmVudCBhdXRoZW50aWNhdGVkIGFjY291bnQuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWRkUGFzc2tleShuYW1lPzogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBiZWdpblBhc3NrZXlFbnJvbGxtZW50KG5hbWUpLnJlc3VsdDtcbn1cblxuLyoqIExpc3QgcGFzc2tleXMgZW5yb2xsZWQgZm9yIHRoZSBjdXJyZW50IGF1dGhlbnRpY2F0ZWQgYWNjb3VudC4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsaXN0UGFzc2tleXMoKTogUHJvbWlzZTxQYXNza2V5W10+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY2xpZW50LnBhc3NrZXkubGlzdFVzZXJQYXNza2V5cygpO1xuICBpZiAocmVzdWx0LmVycm9yKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKHJlc3VsdC5lcnJvci5tZXNzYWdlID8/IGBQYXNza2V5IGxpc3RpbmcgZmFpbGVkIHdpdGggJHtyZXN1bHQuZXJyb3Iuc3RhdHVzfWApO1xuICB9XG4gIHJldHVybiByZXN1bHQuZGF0YSA/PyBbXTtcbn1cblxuLyoqIFJlbmFtZSBhbiBlbnJvbGxlZCBwYXNza2V5LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbmFtZVBhc3NrZXkoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNsaWVudC5wYXNza2V5LnVwZGF0ZVBhc3NrZXkoeyBpZCwgbmFtZSB9KTtcbiAgcmV0dXJuIHJlc3VsdC5lcnJvciA9PT0gbnVsbDtcbn1cblxuLyoqIFJlbW92ZSBhbiBlbnJvbGxlZCBwYXNza2V5LiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbW92ZVBhc3NrZXkoaWQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjbGllbnQucGFzc2tleS5kZWxldGVQYXNza2V5KHsgaWQgfSk7XG4gIHJldHVybiByZXN1bHQuZXJyb3IgPT09IG51bGw7XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication status contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
/** Resolved secret-free Databricks authentication client fields. */
|
|
8
|
+
export declare const databricksAuthClientInfoSchema: z.ZodObject<{
|
|
9
|
+
profile: z.ZodOptional<z.ZodString>;
|
|
10
|
+
host: z.ZodString;
|
|
11
|
+
accountId: z.ZodOptional<z.ZodString>;
|
|
12
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
target: z.ZodEnum<{
|
|
14
|
+
account: "account";
|
|
15
|
+
workspace: "workspace";
|
|
16
|
+
unified: "unified";
|
|
17
|
+
}>;
|
|
18
|
+
authType: z.ZodEnum<{
|
|
19
|
+
"databricks-cli": "databricks-cli";
|
|
20
|
+
"oauth-m2m": "oauth-m2m";
|
|
21
|
+
pat: "pat";
|
|
22
|
+
app_obo: "app_obo";
|
|
23
|
+
app_sp: "app_sp";
|
|
24
|
+
}>;
|
|
25
|
+
principal: z.ZodString;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
/** Resolved secret-free Databricks authentication client fields. */
|
|
28
|
+
export type DatabricksAuthClientInfo = z.infer<typeof databricksAuthClientInfoSchema>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication status contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { authTypeSchema, targetKindSchema } from "./config-schema.js";
|
|
8
|
+
/** Resolved secret-free Databricks authentication client fields. */
|
|
9
|
+
export const databricksAuthClientInfoSchema = z.object({
|
|
10
|
+
profile: z.string().min(1).optional(),
|
|
11
|
+
host: z.string().url(),
|
|
12
|
+
accountId: z.string().min(1).optional(),
|
|
13
|
+
workspaceId: z.string().min(1).optional(),
|
|
14
|
+
target: targetKindSchema,
|
|
15
|
+
authType: authTypeSchema,
|
|
16
|
+
principal: z.string().min(1),
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEUsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckQsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQ3RCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN2QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekMsTUFBTSxFQUFFLGdCQUFnQjtJQUN4QixRQUFRLEVBQUUsY0FBYztJQUN4QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Q0FDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcm93c2VyLXNhZmUgRGF0YWJyaWNrcyBhdXRoZW50aWNhdGlvbiBzdGF0dXMgY29udHJhY3RzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyBhdXRoVHlwZVNjaGVtYSwgdGFyZ2V0S2luZFNjaGVtYSB9IGZyb20gXCIuL2NvbmZpZy1zY2hlbWEudHNcIjtcblxuLyoqIFJlc29sdmVkIHNlY3JldC1mcmVlIERhdGFicmlja3MgYXV0aGVudGljYXRpb24gY2xpZW50IGZpZWxkcy4gKi9cbmV4cG9ydCBjb25zdCBkYXRhYnJpY2tzQXV0aENsaWVudEluZm9TY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHByb2ZpbGU6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIGhvc3Q6IHouc3RyaW5nKCkudXJsKCksXG4gIGFjY291bnRJZDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgd29ya3NwYWNlSWQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIHRhcmdldDogdGFyZ2V0S2luZFNjaGVtYSxcbiAgYXV0aFR5cGU6IGF1dGhUeXBlU2NoZW1hLFxuICBwcmluY2lwYWw6IHouc3RyaW5nKCkubWluKDEpLFxufSk7XG4vKiogUmVzb2x2ZWQgc2VjcmV0LWZyZWUgRGF0YWJyaWNrcyBhdXRoZW50aWNhdGlvbiBjbGllbnQgZmllbGRzLiAqL1xuZXhwb3J0IHR5cGUgRGF0YWJyaWNrc0F1dGhDbGllbnRJbmZvID0gei5pbmZlcjx0eXBlb2YgZGF0YWJyaWNrc0F1dGhDbGllbnRJbmZvU2NoZW1hPjtcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe schemas for Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
/** Runtime schema for Databricks authentication type values. */
|
|
8
|
+
export declare const authTypeSchema: z.ZodEnum<{
|
|
9
|
+
"databricks-cli": "databricks-cli";
|
|
10
|
+
"oauth-m2m": "oauth-m2m";
|
|
11
|
+
pat: "pat";
|
|
12
|
+
app_obo: "app_obo";
|
|
13
|
+
app_sp: "app_sp";
|
|
14
|
+
}>;
|
|
15
|
+
/** Runtime schema for Databricks authentication target values. */
|
|
16
|
+
export declare const targetKindSchema: z.ZodEnum<{
|
|
17
|
+
account: "account";
|
|
18
|
+
workspace: "workspace";
|
|
19
|
+
unified: "unified";
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe schemas for Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { AuthType, TargetKind } from "./config.js";
|
|
8
|
+
/** Runtime schema for Databricks authentication type values. */
|
|
9
|
+
export const authTypeSchema = z.enum([
|
|
10
|
+
AuthType.DatabricksCli,
|
|
11
|
+
AuthType.OAuthM2M,
|
|
12
|
+
AuthType.PersonalAccessToken,
|
|
13
|
+
AuthType.AppOnBehalfOf,
|
|
14
|
+
AuthType.AppServicePrincipal,
|
|
15
|
+
]);
|
|
16
|
+
/** Runtime schema for Databricks authentication target values. */
|
|
17
|
+
export const targetKindSchema = z.enum([
|
|
18
|
+
TargetKind.Workspace,
|
|
19
|
+
TargetKind.Account,
|
|
20
|
+
TargetKind.Unified,
|
|
21
|
+
]);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWctc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRW5ELGdFQUFnRTtBQUNoRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuQyxRQUFRLENBQUMsYUFBYTtJQUN0QixRQUFRLENBQUMsUUFBUTtJQUNqQixRQUFRLENBQUMsbUJBQW1CO0lBQzVCLFFBQVEsQ0FBQyxhQUFhO0lBQ3RCLFFBQVEsQ0FBQyxtQkFBbUI7Q0FDN0IsQ0FBQyxDQUFDO0FBRUgsa0VBQWtFO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDckMsVUFBVSxDQUFDLFNBQVM7SUFDcEIsVUFBVSxDQUFDLE9BQU87SUFDbEIsVUFBVSxDQUFDLE9BQU87Q0FDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBCcm93c2VyLXNhZmUgc2NoZW1hcyBmb3IgRGF0YWJyaWNrcyBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uIHZhbHVlcy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgQXV0aFR5cGUsIFRhcmdldEtpbmQgfSBmcm9tIFwiLi9jb25maWcudHNcIjtcblxuLyoqIFJ1bnRpbWUgc2NoZW1hIGZvciBEYXRhYnJpY2tzIGF1dGhlbnRpY2F0aW9uIHR5cGUgdmFsdWVzLiAqL1xuZXhwb3J0IGNvbnN0IGF1dGhUeXBlU2NoZW1hID0gei5lbnVtKFtcbiAgQXV0aFR5cGUuRGF0YWJyaWNrc0NsaSxcbiAgQXV0aFR5cGUuT0F1dGhNMk0sXG4gIEF1dGhUeXBlLlBlcnNvbmFsQWNjZXNzVG9rZW4sXG4gIEF1dGhUeXBlLkFwcE9uQmVoYWxmT2YsXG4gIEF1dGhUeXBlLkFwcFNlcnZpY2VQcmluY2lwYWwsXG5dKTtcblxuLyoqIFJ1bnRpbWUgc2NoZW1hIGZvciBEYXRhYnJpY2tzIGF1dGhlbnRpY2F0aW9uIHRhcmdldCB2YWx1ZXMuICovXG5leHBvcnQgY29uc3QgdGFyZ2V0S2luZFNjaGVtYSA9IHouZW51bShbXG4gIFRhcmdldEtpbmQuV29ya3NwYWNlLFxuICBUYXJnZXRLaW5kLkFjY291bnQsXG4gIFRhcmdldEtpbmQuVW5pZmllZCxcbl0pO1xuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
/** Canonical Databricks authentication type values. */
|
|
7
|
+
export declare const AuthType: {
|
|
8
|
+
readonly DatabricksCli: "databricks-cli";
|
|
9
|
+
readonly OAuthM2M: "oauth-m2m";
|
|
10
|
+
readonly PersonalAccessToken: "pat";
|
|
11
|
+
readonly AppOnBehalfOf: "app_obo";
|
|
12
|
+
readonly AppServicePrincipal: "app_sp";
|
|
13
|
+
};
|
|
14
|
+
export type AuthType = (typeof AuthType)[keyof typeof AuthType];
|
|
15
|
+
/** Scope of a Databricks authentication target. */
|
|
16
|
+
export declare const TargetKind: {
|
|
17
|
+
readonly Workspace: "workspace";
|
|
18
|
+
readonly Account: "account";
|
|
19
|
+
readonly Unified: "unified";
|
|
20
|
+
};
|
|
21
|
+
export type TargetKind = (typeof TargetKind)[keyof typeof TargetKind];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
/** Canonical Databricks authentication type values. */
|
|
7
|
+
export const AuthType = {
|
|
8
|
+
DatabricksCli: "databricks-cli",
|
|
9
|
+
OAuthM2M: "oauth-m2m",
|
|
10
|
+
PersonalAccessToken: "pat",
|
|
11
|
+
AppOnBehalfOf: "app_obo",
|
|
12
|
+
AppServicePrincipal: "app_sp",
|
|
13
|
+
};
|
|
14
|
+
/** Scope of a Databricks authentication target. */
|
|
15
|
+
export const TargetKind = {
|
|
16
|
+
Workspace: "workspace",
|
|
17
|
+
Account: "account",
|
|
18
|
+
Unified: "unified",
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsdURBQXVEO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLG1CQUFtQixFQUFFLEtBQUs7SUFDMUIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsbUJBQW1CLEVBQUUsUUFBUTtDQUNyQixDQUFDO0FBR1gsbURBQW1EO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixTQUFTLEVBQUUsV0FBVztJQUN0QixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztDQUNWLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyb3dzZXItc2FmZSBEYXRhYnJpY2tzIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gdmFsdWVzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG4vKiogQ2Fub25pY2FsIERhdGFicmlja3MgYXV0aGVudGljYXRpb24gdHlwZSB2YWx1ZXMuICovXG5leHBvcnQgY29uc3QgQXV0aFR5cGUgPSB7XG4gIERhdGFicmlja3NDbGk6IFwiZGF0YWJyaWNrcy1jbGlcIixcbiAgT0F1dGhNMk06IFwib2F1dGgtbTJtXCIsXG4gIFBlcnNvbmFsQWNjZXNzVG9rZW46IFwicGF0XCIsXG4gIEFwcE9uQmVoYWxmT2Y6IFwiYXBwX29ib1wiLFxuICBBcHBTZXJ2aWNlUHJpbmNpcGFsOiBcImFwcF9zcFwiLFxufSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIEF1dGhUeXBlID0gKHR5cGVvZiBBdXRoVHlwZSlba2V5b2YgdHlwZW9mIEF1dGhUeXBlXTtcblxuLyoqIFNjb3BlIG9mIGEgRGF0YWJyaWNrcyBhdXRoZW50aWNhdGlvbiB0YXJnZXQuICovXG5leHBvcnQgY29uc3QgVGFyZ2V0S2luZCA9IHtcbiAgV29ya3NwYWNlOiBcIndvcmtzcGFjZVwiLFxuICBBY2NvdW50OiBcImFjY291bnRcIixcbiAgVW5pZmllZDogXCJ1bmlmaWVkXCIsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgVGFyZ2V0S2luZCA9ICh0eXBlb2YgVGFyZ2V0S2luZClba2V5b2YgdHlwZW9mIFRhcmdldEtpbmRdO1xuIl19
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks profile-selector contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
/** Secret-free Databricks profile metadata for profile selectors. */
|
|
8
|
+
export declare const databricksProfileSummarySchema: z.ZodObject<{
|
|
9
|
+
name: z.ZodString;
|
|
10
|
+
host: z.ZodOptional<z.ZodString>;
|
|
11
|
+
accountId: z.ZodOptional<z.ZodString>;
|
|
12
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
13
|
+
target: z.ZodEnum<{
|
|
14
|
+
account: "account";
|
|
15
|
+
workspace: "workspace";
|
|
16
|
+
unified: "unified";
|
|
17
|
+
}>;
|
|
18
|
+
authType: z.ZodEnum<{
|
|
19
|
+
"databricks-cli": "databricks-cli";
|
|
20
|
+
"oauth-m2m": "oauth-m2m";
|
|
21
|
+
pat: "pat";
|
|
22
|
+
app_obo: "app_obo";
|
|
23
|
+
app_sp: "app_sp";
|
|
24
|
+
}>;
|
|
25
|
+
principal: z.ZodString;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
/** Secret-free Databricks profile metadata. */
|
|
28
|
+
export type DatabricksProfileSummary = z.infer<typeof databricksProfileSummarySchema>;
|
|
29
|
+
/** Browser-safe list of configured Databricks profiles. */
|
|
30
|
+
export declare const databricksProfileListSchema: z.ZodArray<z.ZodObject<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
host: z.ZodOptional<z.ZodString>;
|
|
33
|
+
accountId: z.ZodOptional<z.ZodString>;
|
|
34
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
35
|
+
target: z.ZodEnum<{
|
|
36
|
+
account: "account";
|
|
37
|
+
workspace: "workspace";
|
|
38
|
+
unified: "unified";
|
|
39
|
+
}>;
|
|
40
|
+
authType: z.ZodEnum<{
|
|
41
|
+
"databricks-cli": "databricks-cli";
|
|
42
|
+
"oauth-m2m": "oauth-m2m";
|
|
43
|
+
pat: "pat";
|
|
44
|
+
app_obo: "app_obo";
|
|
45
|
+
app_sp: "app_sp";
|
|
46
|
+
}>;
|
|
47
|
+
principal: z.ZodString;
|
|
48
|
+
}, z.core.$strip>>;
|
|
49
|
+
/** List of secret-free Databricks profiles. */
|
|
50
|
+
export type DatabricksProfileList = z.infer<typeof databricksProfileListSchema>;
|
|
51
|
+
/** Profile-selector value for ambient or named-profile authentication. */
|
|
52
|
+
export declare const databricksProfileSelectionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
53
|
+
kind: z.ZodLiteral<"ambient">;
|
|
54
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
55
|
+
kind: z.ZodLiteral<"profile">;
|
|
56
|
+
profile: z.ZodString;
|
|
57
|
+
}, z.core.$strip>], "kind">;
|
|
58
|
+
/** Ambient or named-profile selector value. */
|
|
59
|
+
export type DatabricksProfileSelection = z.infer<typeof databricksProfileSelectionSchema>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks profile-selector contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
import { authTypeSchema, targetKindSchema } from "./config-schema.js";
|
|
8
|
+
/** Secret-free Databricks profile metadata for profile selectors. */
|
|
9
|
+
export const databricksProfileSummarySchema = z.object({
|
|
10
|
+
name: z.string().min(1),
|
|
11
|
+
host: z.string().url().optional(),
|
|
12
|
+
accountId: z.string().min(1).optional(),
|
|
13
|
+
workspaceId: z.string().min(1).optional(),
|
|
14
|
+
target: targetKindSchema,
|
|
15
|
+
authType: authTypeSchema,
|
|
16
|
+
principal: z.string().min(1),
|
|
17
|
+
});
|
|
18
|
+
/** Browser-safe list of configured Databricks profiles. */
|
|
19
|
+
export const databricksProfileListSchema = z.array(databricksProfileSummarySchema);
|
|
20
|
+
/** Profile-selector value for ambient or named-profile authentication. */
|
|
21
|
+
export const databricksProfileSelectionSchema = z.discriminatedUnion("kind", [
|
|
22
|
+
z.object({ kind: z.literal("ambient") }),
|
|
23
|
+
z.object({
|
|
24
|
+
kind: z.literal("profile"),
|
|
25
|
+
profile: z.string().trim().min(1),
|
|
26
|
+
}),
|
|
27
|
+
]);
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFFSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RSxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN6QyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztDQUM3QixDQUFDLENBQUM7QUFJSCwyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBSW5GLDBFQUEwRTtBQUMxRSxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFO0lBQzNFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO0lBQ3hDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDMUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ2xDLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJyb3dzZXItc2FmZSBEYXRhYnJpY2tzIHByb2ZpbGUtc2VsZWN0b3IgY29udHJhY3RzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5pbXBvcnQgeyBhdXRoVHlwZVNjaGVtYSwgdGFyZ2V0S2luZFNjaGVtYSB9IGZyb20gXCIuL2NvbmZpZy1zY2hlbWEudHNcIjtcblxuLyoqIFNlY3JldC1mcmVlIERhdGFicmlja3MgcHJvZmlsZSBtZXRhZGF0YSBmb3IgcHJvZmlsZSBzZWxlY3RvcnMuICovXG5leHBvcnQgY29uc3QgZGF0YWJyaWNrc1Byb2ZpbGVTdW1tYXJ5U2NoZW1hID0gei5vYmplY3Qoe1xuICBuYW1lOiB6LnN0cmluZygpLm1pbigxKSxcbiAgaG9zdDogei5zdHJpbmcoKS51cmwoKS5vcHRpb25hbCgpLFxuICBhY2NvdW50SWQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIHdvcmtzcGFjZUlkOiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICB0YXJnZXQ6IHRhcmdldEtpbmRTY2hlbWEsXG4gIGF1dGhUeXBlOiBhdXRoVHlwZVNjaGVtYSxcbiAgcHJpbmNpcGFsOiB6LnN0cmluZygpLm1pbigxKSxcbn0pO1xuLyoqIFNlY3JldC1mcmVlIERhdGFicmlja3MgcHJvZmlsZSBtZXRhZGF0YS4gKi9cbmV4cG9ydCB0eXBlIERhdGFicmlja3NQcm9maWxlU3VtbWFyeSA9IHouaW5mZXI8dHlwZW9mIGRhdGFicmlja3NQcm9maWxlU3VtbWFyeVNjaGVtYT47XG5cbi8qKiBCcm93c2VyLXNhZmUgbGlzdCBvZiBjb25maWd1cmVkIERhdGFicmlja3MgcHJvZmlsZXMuICovXG5leHBvcnQgY29uc3QgZGF0YWJyaWNrc1Byb2ZpbGVMaXN0U2NoZW1hID0gei5hcnJheShkYXRhYnJpY2tzUHJvZmlsZVN1bW1hcnlTY2hlbWEpO1xuLyoqIExpc3Qgb2Ygc2VjcmV0LWZyZWUgRGF0YWJyaWNrcyBwcm9maWxlcy4gKi9cbmV4cG9ydCB0eXBlIERhdGFicmlja3NQcm9maWxlTGlzdCA9IHouaW5mZXI8dHlwZW9mIGRhdGFicmlja3NQcm9maWxlTGlzdFNjaGVtYT47XG5cbi8qKiBQcm9maWxlLXNlbGVjdG9yIHZhbHVlIGZvciBhbWJpZW50IG9yIG5hbWVkLXByb2ZpbGUgYXV0aGVudGljYXRpb24uICovXG5leHBvcnQgY29uc3QgZGF0YWJyaWNrc1Byb2ZpbGVTZWxlY3Rpb25TY2hlbWEgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcImtpbmRcIiwgW1xuICB6Lm9iamVjdCh7IGtpbmQ6IHoubGl0ZXJhbChcImFtYmllbnRcIikgfSksXG4gIHoub2JqZWN0KHtcbiAgICBraW5kOiB6LmxpdGVyYWwoXCJwcm9maWxlXCIpLFxuICAgIHByb2ZpbGU6IHouc3RyaW5nKCkudHJpbSgpLm1pbigxKSxcbiAgfSksXG5dKTtcbi8qKiBBbWJpZW50IG9yIG5hbWVkLXByb2ZpbGUgc2VsZWN0b3IgdmFsdWUuICovXG5leHBvcnQgdHlwZSBEYXRhYnJpY2tzUHJvZmlsZVNlbGVjdGlvbiA9IHouaW5mZXI8dHlwZW9mIGRhdGFicmlja3NQcm9maWxlU2VsZWN0aW9uU2NoZW1hPjtcbiJdfQ==
|
package/lib/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/
|
|
1
|
+
{"root":["../src/_route.ts","../src/auth.ts","../src/browser.ts","../src/client.ts","../src/config-schema.ts","../src/config.ts","../src/profile.ts","../index.ts"],"version":"5.9.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dbx-tools/shared-auth",
|
|
3
|
-
"description": "Browser-safe
|
|
3
|
+
"description": "Browser-safe passwordless and Databricks authentication schemas and types",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/reggie-db/dbx-tools.git",
|
|
@@ -19,8 +19,6 @@
|
|
|
19
19
|
"projen": "projen"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@types/bun": "1.3.14",
|
|
23
|
-
"@types/node": "^24.6.0",
|
|
24
22
|
"typescript": "^5.9.3"
|
|
25
23
|
},
|
|
26
24
|
"dependencies": {
|
|
@@ -40,24 +38,69 @@
|
|
|
40
38
|
"types": "./lib/index.d.ts",
|
|
41
39
|
"default": "./lib/index.js"
|
|
42
40
|
},
|
|
41
|
+
"./auth": {
|
|
42
|
+
"types": "./lib/src/auth.d.ts",
|
|
43
|
+
"default": "./lib/src/auth.js"
|
|
44
|
+
},
|
|
45
|
+
"./browser": {
|
|
46
|
+
"types": "./lib/src/browser.d.ts",
|
|
47
|
+
"default": "./lib/src/browser.js"
|
|
48
|
+
},
|
|
43
49
|
"./client": {
|
|
44
|
-
"types": "./lib/src/
|
|
45
|
-
"default": "./lib/src/
|
|
50
|
+
"types": "./lib/src/client.d.ts",
|
|
51
|
+
"default": "./lib/src/client.js"
|
|
52
|
+
},
|
|
53
|
+
"./config-schema": {
|
|
54
|
+
"types": "./lib/src/config-schema.d.ts",
|
|
55
|
+
"default": "./lib/src/config-schema.js"
|
|
56
|
+
},
|
|
57
|
+
"./config": {
|
|
58
|
+
"types": "./lib/src/config.d.ts",
|
|
59
|
+
"default": "./lib/src/config.js"
|
|
60
|
+
},
|
|
61
|
+
"./profile": {
|
|
62
|
+
"types": "./lib/src/profile.d.ts",
|
|
63
|
+
"default": "./lib/src/profile.js"
|
|
46
64
|
},
|
|
47
65
|
"./package.json": "./package.json"
|
|
48
66
|
}
|
|
49
67
|
},
|
|
50
|
-
"version": "0.9.
|
|
68
|
+
"version": "0.9.36",
|
|
51
69
|
"types": "./lib/index.d.ts",
|
|
70
|
+
"dbxToolsConfig": {
|
|
71
|
+
"tags": [
|
|
72
|
+
"shared"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
52
75
|
"type": "module",
|
|
53
76
|
"exports": {
|
|
54
77
|
".": {
|
|
55
78
|
"types": "./lib/index.d.ts",
|
|
56
79
|
"default": "./lib/index.js"
|
|
57
80
|
},
|
|
81
|
+
"./auth": {
|
|
82
|
+
"types": "./lib/src/auth.d.ts",
|
|
83
|
+
"default": "./lib/src/auth.js"
|
|
84
|
+
},
|
|
85
|
+
"./browser": {
|
|
86
|
+
"types": "./lib/src/browser.d.ts",
|
|
87
|
+
"default": "./lib/src/browser.js"
|
|
88
|
+
},
|
|
58
89
|
"./client": {
|
|
59
|
-
"types": "./lib/src/
|
|
60
|
-
"default": "./lib/src/
|
|
90
|
+
"types": "./lib/src/client.d.ts",
|
|
91
|
+
"default": "./lib/src/client.js"
|
|
92
|
+
},
|
|
93
|
+
"./config-schema": {
|
|
94
|
+
"types": "./lib/src/config-schema.d.ts",
|
|
95
|
+
"default": "./lib/src/config-schema.js"
|
|
96
|
+
},
|
|
97
|
+
"./config": {
|
|
98
|
+
"types": "./lib/src/config.d.ts",
|
|
99
|
+
"default": "./lib/src/config.js"
|
|
100
|
+
},
|
|
101
|
+
"./profile": {
|
|
102
|
+
"types": "./lib/src/profile.d.ts",
|
|
103
|
+
"default": "./lib/src/profile.js"
|
|
61
104
|
},
|
|
62
105
|
"./package.json": "./package.json"
|
|
63
106
|
},
|
|
@@ -66,10 +109,5 @@
|
|
|
66
109
|
"src",
|
|
67
110
|
"lib"
|
|
68
111
|
],
|
|
69
|
-
"dbxToolsConfig": {
|
|
70
|
-
"tags": [
|
|
71
|
-
"shared"
|
|
72
|
-
]
|
|
73
|
-
},
|
|
74
112
|
"//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"bunx projen\"."
|
|
75
113
|
}
|
package/src/client.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication status contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { authTypeSchema, targetKindSchema } from "./config-schema.ts";
|
|
10
|
+
|
|
11
|
+
/** Resolved secret-free Databricks authentication client fields. */
|
|
12
|
+
export const databricksAuthClientInfoSchema = z.object({
|
|
13
|
+
profile: z.string().min(1).optional(),
|
|
14
|
+
host: z.string().url(),
|
|
15
|
+
accountId: z.string().min(1).optional(),
|
|
16
|
+
workspaceId: z.string().min(1).optional(),
|
|
17
|
+
target: targetKindSchema,
|
|
18
|
+
authType: authTypeSchema,
|
|
19
|
+
principal: z.string().min(1),
|
|
20
|
+
});
|
|
21
|
+
/** Resolved secret-free Databricks authentication client fields. */
|
|
22
|
+
export type DatabricksAuthClientInfo = z.infer<typeof databricksAuthClientInfoSchema>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe schemas for Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { AuthType, TargetKind } from "./config.ts";
|
|
10
|
+
|
|
11
|
+
/** Runtime schema for Databricks authentication type values. */
|
|
12
|
+
export const authTypeSchema = z.enum([
|
|
13
|
+
AuthType.DatabricksCli,
|
|
14
|
+
AuthType.OAuthM2M,
|
|
15
|
+
AuthType.PersonalAccessToken,
|
|
16
|
+
AuthType.AppOnBehalfOf,
|
|
17
|
+
AuthType.AppServicePrincipal,
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
/** Runtime schema for Databricks authentication target values. */
|
|
21
|
+
export const targetKindSchema = z.enum([
|
|
22
|
+
TargetKind.Workspace,
|
|
23
|
+
TargetKind.Account,
|
|
24
|
+
TargetKind.Unified,
|
|
25
|
+
]);
|
package/src/config.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks authentication configuration values.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** Canonical Databricks authentication type values. */
|
|
8
|
+
export const AuthType = {
|
|
9
|
+
DatabricksCli: "databricks-cli",
|
|
10
|
+
OAuthM2M: "oauth-m2m",
|
|
11
|
+
PersonalAccessToken: "pat",
|
|
12
|
+
AppOnBehalfOf: "app_obo",
|
|
13
|
+
AppServicePrincipal: "app_sp",
|
|
14
|
+
} as const;
|
|
15
|
+
export type AuthType = (typeof AuthType)[keyof typeof AuthType];
|
|
16
|
+
|
|
17
|
+
/** Scope of a Databricks authentication target. */
|
|
18
|
+
export const TargetKind = {
|
|
19
|
+
Workspace: "workspace",
|
|
20
|
+
Account: "account",
|
|
21
|
+
Unified: "unified",
|
|
22
|
+
} as const;
|
|
23
|
+
export type TargetKind = (typeof TargetKind)[keyof typeof TargetKind];
|
package/src/profile.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser-safe Databricks profile-selector contracts.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
|
|
9
|
+
import { authTypeSchema, targetKindSchema } from "./config-schema.ts";
|
|
10
|
+
|
|
11
|
+
/** Secret-free Databricks profile metadata for profile selectors. */
|
|
12
|
+
export const databricksProfileSummarySchema = z.object({
|
|
13
|
+
name: z.string().min(1),
|
|
14
|
+
host: z.string().url().optional(),
|
|
15
|
+
accountId: z.string().min(1).optional(),
|
|
16
|
+
workspaceId: z.string().min(1).optional(),
|
|
17
|
+
target: targetKindSchema,
|
|
18
|
+
authType: authTypeSchema,
|
|
19
|
+
principal: z.string().min(1),
|
|
20
|
+
});
|
|
21
|
+
/** Secret-free Databricks profile metadata. */
|
|
22
|
+
export type DatabricksProfileSummary = z.infer<typeof databricksProfileSummarySchema>;
|
|
23
|
+
|
|
24
|
+
/** Browser-safe list of configured Databricks profiles. */
|
|
25
|
+
export const databricksProfileListSchema = z.array(databricksProfileSummarySchema);
|
|
26
|
+
/** List of secret-free Databricks profiles. */
|
|
27
|
+
export type DatabricksProfileList = z.infer<typeof databricksProfileListSchema>;
|
|
28
|
+
|
|
29
|
+
/** Profile-selector value for ambient or named-profile authentication. */
|
|
30
|
+
export const databricksProfileSelectionSchema = z.discriminatedUnion("kind", [
|
|
31
|
+
z.object({ kind: z.literal("ambient") }),
|
|
32
|
+
z.object({
|
|
33
|
+
kind: z.literal("profile"),
|
|
34
|
+
profile: z.string().trim().min(1),
|
|
35
|
+
}),
|
|
36
|
+
]);
|
|
37
|
+
/** Ambient or named-profile selector value. */
|
|
38
|
+
export type DatabricksProfileSelection = z.infer<typeof databricksProfileSelectionSchema>;
|
|
File without changes
|
|
File without changes
|