@mnemonik/cli 0.0.0 → 7.99.5
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/LICENSE +38 -0
- package/dist/auth/credentials.d.ts +38 -0
- package/dist/auth/credentials.d.ts.map +1 -0
- package/dist/auth/credentials.js +7464 -0
- package/dist/auth/credentials.js.map +1 -0
- package/dist/auth/device.d.ts +23 -0
- package/dist/auth/device.d.ts.map +1 -0
- package/dist/auth/device.js +108 -0
- package/dist/auth/device.js.map +1 -0
- package/dist/auth/index.d.ts +34 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +5048 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/installSession.d.ts +22 -0
- package/dist/auth/installSession.d.ts.map +1 -0
- package/dist/auth/installSession.js +4717 -0
- package/dist/auth/installSession.js.map +1 -0
- package/dist/auth/pkce.d.ts +35 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/pkce.js +182 -0
- package/dist/auth/pkce.js.map +1 -0
- package/dist/auth/status.d.ts +30 -0
- package/dist/auth/status.d.ts.map +1 -0
- package/dist/auth/status.js +4799 -0
- package/dist/auth/status.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +28 -0
- package/dist/bin.js.map +1 -0
- package/dist/diagnostics.d.ts +42 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +7405 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/digests.json +175 -0
- package/dist/identity/migrate.d.ts +62 -0
- package/dist/identity/migrate.d.ts.map +1 -0
- package/dist/identity/migrate.js +5416 -0
- package/dist/identity/migrate.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/install/adapters.d.ts +65 -0
- package/dist/install/adapters.d.ts.map +1 -0
- package/dist/install/adapters.js +91 -0
- package/dist/install/adapters.js.map +1 -0
- package/dist/install/hosts.d.ts +83 -0
- package/dist/install/hosts.d.ts.map +1 -0
- package/dist/install/hosts.js +5733 -0
- package/dist/install/hosts.js.map +1 -0
- package/dist/install/journal.d.ts +113 -0
- package/dist/install/journal.d.ts.map +1 -0
- package/dist/install/journal.js +6836 -0
- package/dist/install/journal.js.map +1 -0
- package/dist/install/journey.d.ts +11 -0
- package/dist/install/journey.d.ts.map +1 -0
- package/dist/install/journey.js +5594 -0
- package/dist/install/journey.js.map +1 -0
- package/dist/install/ownership.d.ts +55 -0
- package/dist/install/ownership.d.ts.map +1 -0
- package/dist/install/ownership.js +4942 -0
- package/dist/install/ownership.js.map +1 -0
- package/dist/install/transaction.d.ts +71 -0
- package/dist/install/transaction.d.ts.map +1 -0
- package/dist/install/transaction.js +5254 -0
- package/dist/install/transaction.js.map +1 -0
- package/dist/install/ui.d.ts +14 -0
- package/dist/install/ui.d.ts.map +1 -0
- package/dist/install/ui.js +4925 -0
- package/dist/install/ui.js.map +1 -0
- package/dist/installSession.d.ts +33 -0
- package/dist/installSession.d.ts.map +1 -0
- package/dist/installSession.js +4893 -0
- package/dist/installSession.js.map +1 -0
- package/dist/installation.d.ts +11 -0
- package/dist/installation.d.ts.map +1 -0
- package/dist/installation.js +6618 -0
- package/dist/installation.js.map +1 -0
- package/dist/launcher.d.ts +27 -0
- package/dist/launcher.d.ts.map +1 -0
- package/dist/launcher.js +6862 -0
- package/dist/launcher.js.map +1 -0
- package/dist/output.d.ts +22 -0
- package/dist/output.d.ts.map +1 -0
- package/dist/output.js +68 -0
- package/dist/output.js.map +1 -0
- package/dist/preflight.d.ts +43 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +5265 -0
- package/dist/preflight.js.map +1 -0
- package/dist/project/eligibility.d.ts +19 -0
- package/dist/project/eligibility.d.ts.map +1 -0
- package/dist/project/eligibility.js +4835 -0
- package/dist/project/eligibility.js.map +1 -0
- package/dist/project/records.d.ts +14 -0
- package/dist/project/records.d.ts.map +1 -0
- package/dist/project/records.js +6598 -0
- package/dist/project/records.js.map +1 -0
- package/dist/project.d.ts +127 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +7857 -0
- package/dist/project.js.map +1 -0
- package/dist/router.d.ts +63 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +6168 -0
- package/dist/router.js.map +1 -0
- package/dist/runtime/bootstrap.d.ts +31 -0
- package/dist/runtime/bootstrap.d.ts.map +1 -0
- package/dist/runtime/bootstrap.js +386 -0
- package/dist/runtime/bootstrap.js.map +1 -0
- package/dist/runtime/releaseSource.d.ts +26 -0
- package/dist/runtime/releaseSource.d.ts.map +1 -0
- package/dist/runtime/releaseSource.js +4992 -0
- package/dist/runtime/releaseSource.js.map +1 -0
- package/dist/runtime/selfUpdate.d.ts +12 -0
- package/dist/runtime/selfUpdate.d.ts.map +1 -0
- package/dist/runtime/selfUpdate.js +4943 -0
- package/dist/runtime/selfUpdate.js.map +1 -0
- package/dist/runtime/signers.d.ts +2 -0
- package/dist/runtime/signers.d.ts.map +1 -0
- package/dist/runtime/signers.js +1697 -0
- package/dist/runtime/signers.js.map +1 -0
- package/dist/runtime/store.d.ts +30 -0
- package/dist/runtime/store.d.ts.map +1 -0
- package/dist/runtime/store.js +977 -0
- package/dist/runtime/store.js.map +1 -0
- package/dist/sbom.json +308 -0
- package/dist/scanner/control.d.ts +38 -0
- package/dist/scanner/control.d.ts.map +1 -0
- package/dist/scanner/control.js +6568 -0
- package/dist/scanner/control.js.map +1 -0
- package/dist/scanner/data.d.ts +9 -0
- package/dist/scanner/data.d.ts.map +1 -0
- package/dist/scanner/data.js +4715 -0
- package/dist/scanner/data.js.map +1 -0
- package/dist/scanner/discover.d.ts +35 -0
- package/dist/scanner/discover.d.ts.map +1 -0
- package/dist/scanner/discover.js +5266 -0
- package/dist/scanner/discover.js.map +1 -0
- package/dist/scanner/enable.d.ts +69 -0
- package/dist/scanner/enable.d.ts.map +1 -0
- package/dist/scanner/enable.js +6923 -0
- package/dist/scanner/enable.js.map +1 -0
- package/dist/scanner/picker.d.ts +58 -0
- package/dist/scanner/picker.d.ts.map +1 -0
- package/dist/scanner/picker.js +4993 -0
- package/dist/scanner/picker.js.map +1 -0
- package/dist/scanner/service.d.ts +49 -0
- package/dist/scanner/service.d.ts.map +1 -0
- package/dist/scanner/service.js +4888 -0
- package/dist/scanner/service.js.map +1 -0
- package/dist/scanner/update.d.ts +4 -0
- package/dist/scanner/update.d.ts.map +1 -0
- package/dist/scanner/update.js +6569 -0
- package/dist/scanner/update.js.map +1 -0
- package/dist/scanner-release.json +129 -0
- package/dist/screens/journey.d.ts +23 -0
- package/dist/screens/journey.d.ts.map +1 -0
- package/dist/screens/journey.js +110 -0
- package/dist/screens/journey.js.map +1 -0
- package/dist/screens.d.ts +18 -0
- package/dist/screens.d.ts.map +1 -0
- package/dist/screens.js +79 -0
- package/dist/screens.js.map +1 -0
- package/dist/status.d.ts +64 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +5281 -0
- package/dist/status.js.map +1 -0
- package/dist/transport/server.d.ts +79 -0
- package/dist/transport/server.d.ts.map +1 -0
- package/dist/transport/server.js +136 -0
- package/dist/transport/server.js.map +1 -0
- package/dist/vendor/local-setup.js +6971 -0
- package/dist/vendor/shared/runtimeReader.js +408 -0
- package/dist/vendor/shared/runtimeSigners.js +512 -0
- package/package.json +258 -7
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/auth/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,mCAAmC,GAGpC,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AACtC,sEAAsE;AACtE,MAAM,UAAU,oBAAoB,CAAC,OAAO,GAA6B,EAAE;IACzE,OAAO,4BAA4B,CAAC;QAClC,GAAG,OAAO;QACV,YAAY,CAAC,IAAI;YACf,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAO,GAA6B,EAAE;IAO9E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;QACtE,OAAO;YACL,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,MAAM;YAClC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;YAC5B,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;SAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,mCAAmC,CAAC,KAAK,CAAC;YAC5C,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK;gBACd,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC;gBAC7B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC;QACJ,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,uBAAuB,CAAC,EAAE,CAAC;IACjG,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CliTokenResponse } from '@mnemonik/credentials';
|
|
2
|
+
export interface DeviceOptions {
|
|
3
|
+
scannerRoots?: string;
|
|
4
|
+
deviceInstallationId?: string;
|
|
5
|
+
deviceInstallationIds?: string[];
|
|
6
|
+
issuer: string;
|
|
7
|
+
resource: string;
|
|
8
|
+
scopes: readonly string[];
|
|
9
|
+
clientId: string;
|
|
10
|
+
deviceName: string;
|
|
11
|
+
print: (line: string) => void;
|
|
12
|
+
fetch?: typeof fetch;
|
|
13
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
14
|
+
now?: () => number;
|
|
15
|
+
}
|
|
16
|
+
/** Shown with every device code, byte for byte, as required by the OAuth contract. */
|
|
17
|
+
export declare const DEVICE_WARNING = "Approve only a request you just started on a device you control. Compare this code with the one in that device's terminal. If you received this code or link from someone else, deny it.";
|
|
18
|
+
export interface DeviceResult {
|
|
19
|
+
clientId: string;
|
|
20
|
+
tokens: CliTokenResponse;
|
|
21
|
+
}
|
|
22
|
+
export declare function runDeviceFlow(options: DeviceOptions): Promise<DeviceResult>;
|
|
23
|
+
//# sourceMappingURL=device.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/auth/device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,eAAO,MAAM,cAAc,6LACiK,CAAC;AAE7L,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAgCD,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA6GjF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { createRequire as __createRequire } from "node:module"; const require = __createRequire(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// packages/cli/src/auth/device.ts
|
|
4
|
+
import { URL, URLSearchParams } from "node:url";
|
|
5
|
+
import { OAuthProtocolError } from "./pkce.js";
|
|
6
|
+
var DEVICE_WARNING = "Approve only a request you just started on a device you control. Compare this code with the one in that device's terminal. If you received this code or link from someone else, deny it.";
|
|
7
|
+
var wait = (milliseconds) => new Promise((resolve) => setTimeout(resolve, milliseconds));
|
|
8
|
+
function validVerificationUris(issuer, userCode, verificationUri, completeUri) {
|
|
9
|
+
try {
|
|
10
|
+
const expected = new URL("/oauth/device", `${issuer}/`);
|
|
11
|
+
const verification = new URL(verificationUri);
|
|
12
|
+
const complete = new URL(completeUri);
|
|
13
|
+
const parameters = [...complete.searchParams];
|
|
14
|
+
return verification.href === expected.href && complete.origin === expected.origin && complete.pathname === expected.pathname && !complete.username && !complete.password && !complete.hash && parameters.length === 1 && parameters[0]?.[0] === "user_code" && parameters[0]?.[1] === userCode;
|
|
15
|
+
} catch {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function runDeviceFlow(options) {
|
|
20
|
+
const issuer = options.issuer.replace(/\/$/u, "");
|
|
21
|
+
const fetchImpl = options.fetch ?? fetch;
|
|
22
|
+
const sleep = options.sleep ?? wait;
|
|
23
|
+
const now = options.now ?? Date.now;
|
|
24
|
+
const started = now();
|
|
25
|
+
const response = await fetchImpl(`${issuer}/oauth/device_authorization`, {
|
|
26
|
+
method: "POST",
|
|
27
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
28
|
+
body: new URLSearchParams({
|
|
29
|
+
client_id: options.clientId,
|
|
30
|
+
scope: options.scopes.join(" "),
|
|
31
|
+
resource: options.resource,
|
|
32
|
+
...options.scannerRoots ? { scanner_roots: options.scannerRoots } : {},
|
|
33
|
+
...options.deviceInstallationIds?.length ? { device_installation_ids: JSON.stringify(options.deviceInstallationIds) } : {},
|
|
34
|
+
...options.deviceInstallationId ? { device_installation_id: options.deviceInstallationId } : {},
|
|
35
|
+
device_name: options.deviceName
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
const issued = await response.json().catch(() => ({}));
|
|
39
|
+
if (!response.ok)
|
|
40
|
+
throw new OAuthProtocolError(
|
|
41
|
+
typeof issued.error === "string" ? issued.error : "device_authorization_failed"
|
|
42
|
+
);
|
|
43
|
+
if (typeof issued.device_code !== "string" || typeof issued.user_code !== "string" || !/^[BCDFGHJKLMNPQRSTVWXZ]{4}-[BCDFGHJKLMNPQRSTVWXZ]{4}$/u.test(issued.user_code) || typeof issued.verification_uri !== "string" || typeof issued.verification_uri_complete !== "string" || typeof issued.expires_in !== "number" || !Number.isSafeInteger(issued.expires_in) || issued.expires_in <= 0 || issued.expires_in > 600 || typeof issued.interval !== "number" || !Number.isSafeInteger(issued.interval) || issued.interval < 5 || !validVerificationUris(
|
|
44
|
+
issuer,
|
|
45
|
+
issued.user_code,
|
|
46
|
+
issued.verification_uri,
|
|
47
|
+
issued.verification_uri_complete
|
|
48
|
+
))
|
|
49
|
+
throw new OAuthProtocolError("invalid_device_response");
|
|
50
|
+
options.print(`Code: ${issued.user_code}`);
|
|
51
|
+
options.print(`Verification URI: ${issued.verification_uri}`);
|
|
52
|
+
options.print(`Complete URI: ${issued.verification_uri_complete}`);
|
|
53
|
+
options.print(DEVICE_WARNING);
|
|
54
|
+
let interval = issued.interval;
|
|
55
|
+
let transportBackoff = 0;
|
|
56
|
+
const deadline = started + issued.expires_in * 1e3;
|
|
57
|
+
while (now() < deadline) {
|
|
58
|
+
await sleep((transportBackoff || interval) * 1e3);
|
|
59
|
+
if (now() >= deadline) break;
|
|
60
|
+
let poll;
|
|
61
|
+
try {
|
|
62
|
+
poll = await fetchImpl(`${issuer}/oauth/token`, {
|
|
63
|
+
method: "POST",
|
|
64
|
+
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
65
|
+
body: new URLSearchParams({
|
|
66
|
+
grant_type: "urn:ietf:params:oauth:grant-type:device_code",
|
|
67
|
+
client_id: options.clientId,
|
|
68
|
+
device_code: issued.device_code,
|
|
69
|
+
resource: options.resource
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
} catch {
|
|
73
|
+
transportBackoff = Math.min(Math.max(interval, transportBackoff || interval) * 2, 60);
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
transportBackoff = 0;
|
|
77
|
+
const body = await poll.json().catch(() => ({}));
|
|
78
|
+
if (poll.ok) {
|
|
79
|
+
if (typeof body.access_token !== "string" || typeof body.refresh_token !== "string" || typeof body.expires_in !== "number" || typeof body.scope !== "string")
|
|
80
|
+
throw new OAuthProtocolError("invalid_token_response");
|
|
81
|
+
return {
|
|
82
|
+
clientId: options.clientId,
|
|
83
|
+
tokens: {
|
|
84
|
+
access_token: body.access_token,
|
|
85
|
+
refresh_token: body.refresh_token,
|
|
86
|
+
token_type: "Bearer",
|
|
87
|
+
expires_in: body.expires_in,
|
|
88
|
+
scope: body.scope
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const error = typeof body.error === "string" ? body.error : "device_poll_failed";
|
|
93
|
+
if (error === "authorization_pending") continue;
|
|
94
|
+
if (error === "slow_down") {
|
|
95
|
+
interval += 5;
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (error === "access_denied")
|
|
99
|
+
throw new OAuthProtocolError(error, "denied on the other device");
|
|
100
|
+
if (error === "expired_token") throw new OAuthProtocolError(error, "expired");
|
|
101
|
+
throw new OAuthProtocolError(error);
|
|
102
|
+
}
|
|
103
|
+
throw new OAuthProtocolError("expired_token", "expired");
|
|
104
|
+
}
|
|
105
|
+
export {
|
|
106
|
+
DEVICE_WARNING,
|
|
107
|
+
runDeviceFlow
|
|
108
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device.js","sourceRoot":"","sources":["../../src/auth/device.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type createCredentialAdapter, type CliOAuthCredential, type CredentialAdapterOptions } from '@mnemonik/credentials';
|
|
2
|
+
import { type PkceOptions } from './pkce.js';
|
|
3
|
+
export declare const CLI_SCOPES: readonly ['account:read', 'install:manage', 'components:manage', 'projects:manage', 'offline_access'];
|
|
4
|
+
export interface CliAuthOptions {
|
|
5
|
+
stateDir?: string;
|
|
6
|
+
scannerRoots?: string;
|
|
7
|
+
deviceInstallationId?: string;
|
|
8
|
+
issuer?: string;
|
|
9
|
+
resource?: string;
|
|
10
|
+
noBrowser?: boolean;
|
|
11
|
+
env?: NodeJS.ProcessEnv;
|
|
12
|
+
platform?: NodeJS.Platform;
|
|
13
|
+
deviceName?: string;
|
|
14
|
+
print?: (line: string) => void;
|
|
15
|
+
fetch?: typeof fetch;
|
|
16
|
+
openBrowser?: PkceOptions['openBrowser'];
|
|
17
|
+
sleep?: (milliseconds: number) => Promise<void>;
|
|
18
|
+
now?: () => number;
|
|
19
|
+
credentials?: ReturnType<typeof createCredentialAdapter>;
|
|
20
|
+
credentialOptions?: CredentialAdapterOptions;
|
|
21
|
+
}
|
|
22
|
+
export declare function noBrowserAvailable(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): boolean;
|
|
23
|
+
export declare function createCliAuth(options?: CliAuthOptions): {
|
|
24
|
+
signIn: () => Promise<CliOAuthCredential>;
|
|
25
|
+
getCliBearer: () => Promise<string | {
|
|
26
|
+
status: string;
|
|
27
|
+
reason: string;
|
|
28
|
+
}>;
|
|
29
|
+
accountEmail: (bearer: string) => Promise<string>;
|
|
30
|
+
logout: () => Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
export * from './device.js';
|
|
33
|
+
export * from './pkce.js';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAE9B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAwD,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAEnG,eAAO,MAAM,UAAU,YACrB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,CACR,CAAC;AAIX,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AAkBD,wBAAgB,aAAa,CAAC,OAAO,GAAE,cAAmB;kBA2E/B,OAAO,CAAC,kBAAkB,CAAC;wBAyErB,OAAO,CAAC,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;2BAW/C,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;kBAgBnC,OAAO,CAAC,IAAI,CAAC;EAiBvC;AAED,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
|