@vymalo/opencode-oauth2 0.12.0 → 0.14.0

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.
Files changed (57) hide show
  1. package/dist/cache.d.ts +6 -6
  2. package/dist/cache.js +100 -104
  3. package/dist/cache.js.map +1 -1
  4. package/dist/config.d.ts +107 -107
  5. package/dist/config.js +173 -182
  6. package/dist/config.js.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib.js +1 -0
  10. package/dist/lib.js.map +1 -1
  11. package/dist/logging.d.ts +6 -6
  12. package/dist/logging.js +57 -56
  13. package/dist/logging.js.map +1 -1
  14. package/dist/model-discovery.d.ts +3 -3
  15. package/dist/model-discovery.js +61 -66
  16. package/dist/model-discovery.js.map +1 -1
  17. package/dist/model-normalization.js +84 -73
  18. package/dist/model-normalization.js.map +1 -1
  19. package/dist/oauth/browser.js +29 -25
  20. package/dist/oauth/browser.js.map +1 -1
  21. package/dist/oauth/client.d.ts +46 -46
  22. package/dist/oauth/client.js +411 -430
  23. package/dist/oauth/client.js.map +1 -1
  24. package/dist/oauth/device-code.d.ts +23 -23
  25. package/dist/oauth/device-code.js +225 -235
  26. package/dist/oauth/device-code.js.map +1 -1
  27. package/dist/oauth/discovery.d.ts +5 -5
  28. package/dist/oauth/discovery.js +34 -34
  29. package/dist/oauth/discovery.js.map +1 -1
  30. package/dist/oauth/http-utils.d.ts +27 -27
  31. package/dist/oauth/http-utils.js +96 -107
  32. package/dist/oauth/http-utils.js.map +1 -1
  33. package/dist/oauth/local-callback.d.ts +5 -5
  34. package/dist/oauth/local-callback.js +76 -74
  35. package/dist/oauth/local-callback.js.map +1 -1
  36. package/dist/oauth/pkce.d.ts +2 -2
  37. package/dist/oauth/pkce.js +9 -5
  38. package/dist/oauth/pkce.js.map +1 -1
  39. package/dist/oauth/subject-token.d.ts +15 -15
  40. package/dist/oauth/subject-token.js +68 -73
  41. package/dist/oauth/subject-token.js.map +1 -1
  42. package/dist/opencode.d.ts +15 -15
  43. package/dist/opencode.js +477 -497
  44. package/dist/opencode.js.map +1 -1
  45. package/dist/plugin.d.ts +39 -39
  46. package/dist/plugin.js +270 -277
  47. package/dist/plugin.js.map +1 -1
  48. package/dist/responses-repair.d.ts +12 -35
  49. package/dist/responses-repair.js +119 -125
  50. package/dist/responses-repair.js.map +1 -1
  51. package/dist/scheduler.d.ts +5 -5
  52. package/dist/scheduler.js +43 -45
  53. package/dist/scheduler.js.map +1 -1
  54. package/dist/types.d.ts +25 -25
  55. package/dist/types.js +1 -0
  56. package/dist/types.js.map +1 -1
  57. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"device-code.js","sourceRoot":"","sources":["../../src/oauth/device-code.ts"],"names":[],"mappings":"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"}
1
+ {"mappings":"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","names":[],"sources":["../../src/oauth/device-code.ts"],"version":3,"file":"device-code.js","sourceRoot":""}
@@ -1,8 +1,8 @@
1
1
  export interface OidcMetadata {
2
- issuer: string;
3
- authorization_endpoint?: string;
4
- token_endpoint: string;
5
- device_authorization_endpoint?: string;
6
- jwks_uri?: string;
2
+ issuer: string;
3
+ authorization_endpoint?: string;
4
+ token_endpoint: string;
5
+ device_authorization_endpoint?: string;
6
+ jwks_uri?: string;
7
7
  }
8
8
  export declare function discoverOidcMetadata(issuer: string, fetchImpl?: typeof fetch, timeoutMs?: number): Promise<OidcMetadata>;
@@ -1,38 +1,38 @@
1
1
  function buildWellKnownUrl(issuer) {
2
- const normalizedIssuer = issuer.endsWith("/") ? issuer : `${issuer}/`;
3
- const url = new URL(".well-known/openid-configuration", normalizedIssuer);
4
- return url.toString();
2
+ const normalizedIssuer = issuer.endsWith("/") ? issuer : `${issuer}/`;
3
+ const url = new URL(".well-known/openid-configuration", normalizedIssuer);
4
+ return url.toString();
5
5
  }
6
- export async function discoverOidcMetadata(issuer, fetchImpl = fetch, timeoutMs = 15_000) {
7
- const url = buildWellKnownUrl(issuer);
8
- const controller = new AbortController();
9
- const timeout = setTimeout(() => controller.abort(), timeoutMs);
10
- try {
11
- const response = await fetchImpl(url, {
12
- method: "GET",
13
- headers: { Accept: "application/json" },
14
- signal: controller.signal
15
- });
16
- if (!response.ok) {
17
- throw new Error(`OIDC discovery failed (${response.status})`);
18
- }
19
- const metadata = (await response.json());
20
- // Only the token_endpoint is universally required — every grant we support
21
- // needs it. authorization_endpoint and device_authorization_endpoint are
22
- // grant-specific; callers validate per their chosen flow.
23
- if (!metadata.token_endpoint) {
24
- throw new Error("OIDC metadata is missing token_endpoint");
25
- }
26
- return {
27
- issuer: metadata.issuer ?? issuer,
28
- authorization_endpoint: metadata.authorization_endpoint,
29
- token_endpoint: metadata.token_endpoint,
30
- device_authorization_endpoint: metadata.device_authorization_endpoint,
31
- jwks_uri: metadata.jwks_uri
32
- };
33
- }
34
- finally {
35
- clearTimeout(timeout);
36
- }
6
+ export async function discoverOidcMetadata(issuer, fetchImpl = fetch, timeoutMs = 15e3) {
7
+ const url = buildWellKnownUrl(issuer);
8
+ const controller = new AbortController();
9
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
10
+ try {
11
+ const response = await fetchImpl(url, {
12
+ method: "GET",
13
+ headers: { Accept: "application/json" },
14
+ signal: controller.signal
15
+ });
16
+ if (!response.ok) {
17
+ throw new Error(`OIDC discovery failed (${response.status})`);
18
+ }
19
+ const metadata = await response.json();
20
+ // Only the token_endpoint is universally required — every grant we support
21
+ // needs it. authorization_endpoint and device_authorization_endpoint are
22
+ // grant-specific; callers validate per their chosen flow.
23
+ if (!metadata.token_endpoint) {
24
+ throw new Error("OIDC metadata is missing token_endpoint");
25
+ }
26
+ return {
27
+ issuer: metadata.issuer ?? issuer,
28
+ authorization_endpoint: metadata.authorization_endpoint,
29
+ token_endpoint: metadata.token_endpoint,
30
+ device_authorization_endpoint: metadata.device_authorization_endpoint,
31
+ jwks_uri: metadata.jwks_uri
32
+ };
33
+ } finally {
34
+ clearTimeout(timeout);
35
+ }
37
36
  }
37
+
38
38
  //# sourceMappingURL=discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/oauth/discovery.ts"],"names":[],"mappings":"AAYA,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC;IACtE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAC;IAC1E,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc,EACd,YAA0B,KAAK,EAC/B,SAAS,GAAG,MAAM;IAElB,MAAM,GAAG,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACvC,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;QAClE,2EAA2E;QAC3E,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,MAAM;YACjC,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,6BAA6B,EAAE,QAAQ,CAAC,6BAA6B;YACrE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
1
+ {"mappings":"AAYA,SAAS,kBAAkB,QAAwB;CACjD,MAAM,mBAAmB,OAAO,SAAS,GAAG,IAAI,SAAS,GAAG,OAAO;CACnE,MAAM,MAAM,IAAI,IAAI,oCAAoC,gBAAgB;CACxE,OAAO,IAAI,SAAS;AACtB;AAEA,OAAO,eAAe,qBACpB,QACA,YAA0B,OAC1B,YAAY,MACW;CACvB,MAAM,MAAM,kBAAkB,MAAM;CACpC,MAAM,aAAa,IAAI,gBAAgB;CACvC,MAAM,UAAU,iBAAiB,WAAW,MAAM,GAAG,SAAS;CAE9D,IAAI;EACF,MAAM,WAAW,MAAM,UAAU,KAAK;GACpC,QAAQ;GACR,SAAS,EAAE,QAAQ,mBAAmB;GACtC,QAAQ,WAAW;EACrB,CAAC;EAED,IAAI,CAAC,SAAS,IAAI;GAChB,MAAM,IAAI,MAAM,0BAA0B,SAAS,OAAO,EAAE;EAC9D;EAEA,MAAM,WAAY,MAAM,SAAS,KAAK;;;;EAItC,IAAI,CAAC,SAAS,gBAAgB;GAC5B,MAAM,IAAI,MAAM,yCAAyC;EAC3D;EAEA,OAAO;GACL,QAAQ,SAAS,UAAU;GAC3B,wBAAwB,SAAS;GACjC,gBAAgB,SAAS;GACzB,+BAA+B,SAAS;GACxC,UAAU,SAAS;EACrB;CACF,UAAU;EACR,aAAa,OAAO;CACtB;AACF","names":[],"sources":["../../src/oauth/discovery.ts"],"version":3,"file":"discovery.js","sourceRoot":""}
@@ -1,33 +1,33 @@
1
1
  /**
2
- * Strip credentials (`user:pass@`) and the query string from a URL before
3
- * including it in user-facing error messages or thrown exceptions. The query
4
- * string can contain access tokens, session ids, or other secrets supplied by
5
- * caller-controlled config — `baseURL` and `issuer` are not validated as
6
- * credential-free.
7
- */
2
+ * Strip credentials (`user:pass@`) and the query string from a URL before
3
+ * including it in user-facing error messages or thrown exceptions. The query
4
+ * string can contain access tokens, session ids, or other secrets supplied by
5
+ * caller-controlled config — `baseURL` and `issuer` are not validated as
6
+ * credential-free.
7
+ */
8
8
  export declare function redactUrl(rawUrl: string): string;
9
9
  /**
10
- * Read at most `maxChars` characters from a `Response`'s body without
11
- * buffering the rest. Cancels the underlying stream once the cap is reached so
12
- * the network isn't drained on a huge error page.
13
- *
14
- * Returns an empty string if the body is unreadable or empty.
15
- */
10
+ * Read at most `maxChars` characters from a `Response`'s body without
11
+ * buffering the rest. Cancels the underlying stream once the cap is reached so
12
+ * the network isn't drained on a huge error page.
13
+ *
14
+ * Returns an empty string if the body is unreadable or empty.
15
+ */
16
16
  export declare function readResponseBodyPreview(response: Response, maxChars?: number): Promise<string>;
17
17
  /**
18
- * Mask token/credential substrings inside an arbitrary text body before it
19
- * lands in a structured log entry. Field-name-based redaction in upstream
20
- * loggers only matches whole field NAMES — it does not scrub secrets embedded
21
- * in arbitrary string VALUES (like an IdP error body that echoes back the
22
- * client_secret it received).
23
- *
24
- * Catches:
25
- * - JSON: `"access_token": "..."` and the other SECRET_FIELD_NAMES
26
- * - form bodies: `client_secret=...`
27
- * - Bearer/Basic auth headers
28
- * - bare JWT-shaped strings
29
- *
30
- * Anything not matching stays intact, so error messages keep their diagnostic
31
- * value (status code, error kind, descriptions, etc.).
32
- */
18
+ * Mask token/credential substrings inside an arbitrary text body before it
19
+ * lands in a structured log entry. Field-name-based redaction in upstream
20
+ * loggers only matches whole field NAMES — it does not scrub secrets embedded
21
+ * in arbitrary string VALUES (like an IdP error body that echoes back the
22
+ * client_secret it received).
23
+ *
24
+ * Catches:
25
+ * - JSON: `"access_token": "..."` and the other SECRET_FIELD_NAMES
26
+ * - form bodies: `client_secret=...`
27
+ * - Bearer/Basic auth headers
28
+ * - bare JWT-shaped strings
29
+ *
30
+ * Anything not matching stays intact, so error messages keep their diagnostic
31
+ * value (status code, error kind, descriptions, etc.).
32
+ */
33
33
  export declare function scrubSecrets(text: string): string;
@@ -1,129 +1,118 @@
1
1
  /**
2
- * Strip credentials (`user:pass@`) and the query string from a URL before
3
- * including it in user-facing error messages or thrown exceptions. The query
4
- * string can contain access tokens, session ids, or other secrets supplied by
5
- * caller-controlled config — `baseURL` and `issuer` are not validated as
6
- * credential-free.
7
- */
2
+ * Strip credentials (`user:pass@`) and the query string from a URL before
3
+ * including it in user-facing error messages or thrown exceptions. The query
4
+ * string can contain access tokens, session ids, or other secrets supplied by
5
+ * caller-controlled config — `baseURL` and `issuer` are not validated as
6
+ * credential-free.
7
+ */
8
8
  export function redactUrl(rawUrl) {
9
- try {
10
- const url = new URL(rawUrl);
11
- url.username = "";
12
- url.password = "";
13
- url.search = "";
14
- url.hash = "";
15
- return url.toString();
16
- }
17
- catch {
18
- // Not a parseable URL — strip anything that looks like a query and any
19
- // userinfo separator, then return.
20
- return rawUrl
21
- .replace(/\/\/[^/@]*@/, "//")
22
- .replace(/\?.*$/, "")
23
- .replace(/#.*$/, "");
24
- }
9
+ try {
10
+ const url = new URL(rawUrl);
11
+ url.username = "";
12
+ url.password = "";
13
+ url.search = "";
14
+ url.hash = "";
15
+ return url.toString();
16
+ } catch {
17
+ // Not a parseable URL — strip anything that looks like a query and any
18
+ // userinfo separator, then return.
19
+ return rawUrl.replace(/\/\/[^/@]*@/, "//").replace(/\?.*$/, "").replace(/#.*$/, "");
20
+ }
25
21
  }
26
22
  /**
27
- * Read at most `maxChars` characters from a `Response`'s body without
28
- * buffering the rest. Cancels the underlying stream once the cap is reached so
29
- * the network isn't drained on a huge error page.
30
- *
31
- * Returns an empty string if the body is unreadable or empty.
32
- */
23
+ * Read at most `maxChars` characters from a `Response`'s body without
24
+ * buffering the rest. Cancels the underlying stream once the cap is reached so
25
+ * the network isn't drained on a huge error page.
26
+ *
27
+ * Returns an empty string if the body is unreadable or empty.
28
+ */
33
29
  export async function readResponseBodyPreview(response, maxChars = 500) {
34
- if (!response.body) {
35
- // Some runtimes attach the body lazily; fall back to text() but still cap.
36
- try {
37
- const text = await response.text();
38
- return text.slice(0, maxChars);
39
- }
40
- catch {
41
- return "";
42
- }
43
- }
44
- const reader = response.body.getReader();
45
- const decoder = new TextDecoder("utf-8", { fatal: false });
46
- let collected = "";
47
- try {
48
- while (collected.length < maxChars) {
49
- const { done, value } = await reader.read();
50
- if (done) {
51
- break;
52
- }
53
- if (!value) {
54
- continue;
55
- }
56
- collected += decoder.decode(value, { stream: true });
57
- if (collected.length >= maxChars) {
58
- collected = collected.slice(0, maxChars);
59
- break;
60
- }
61
- }
62
- }
63
- catch {
64
- // partial body is fine
65
- }
66
- finally {
67
- try {
68
- await reader.cancel();
69
- }
70
- catch {
71
- // best-effort
72
- }
73
- }
74
- return collected;
30
+ if (!response.body) {
31
+ // Some runtimes attach the body lazily; fall back to text() but still cap.
32
+ try {
33
+ const text = await response.text();
34
+ return text.slice(0, maxChars);
35
+ } catch {
36
+ return "";
37
+ }
38
+ }
39
+ const reader = response.body.getReader();
40
+ const decoder = new TextDecoder("utf-8", { fatal: false });
41
+ let collected = "";
42
+ try {
43
+ while (collected.length < maxChars) {
44
+ const { done, value } = await reader.read();
45
+ if (done) {
46
+ break;
47
+ }
48
+ if (!value) {
49
+ continue;
50
+ }
51
+ collected += decoder.decode(value, { stream: true });
52
+ if (collected.length >= maxChars) {
53
+ collected = collected.slice(0, maxChars);
54
+ break;
55
+ }
56
+ }
57
+ } catch {} finally {
58
+ try {
59
+ await reader.cancel();
60
+ } catch {}
61
+ }
62
+ return collected;
75
63
  }
76
64
  // Names of token/credential fields commonly echoed back by misbehaving IdPs in
77
65
  // error responses. Used both for JSON-style ("name":"value") and form-style
78
66
  // (name=value&...) substitution.
79
67
  const SECRET_FIELD_NAMES = [
80
- "access_token",
81
- "refresh_token",
82
- "id_token",
83
- "client_secret",
84
- "client_assertion",
85
- "code",
86
- "device_code",
87
- "password",
88
- "assertion",
89
- "subject_token",
90
- "actor_token"
68
+ "access_token",
69
+ "refresh_token",
70
+ "id_token",
71
+ "client_secret",
72
+ "client_assertion",
73
+ "code",
74
+ "device_code",
75
+ "password",
76
+ "assertion",
77
+ "subject_token",
78
+ "actor_token"
91
79
  ];
92
80
  const REDACTED = "[redacted]";
93
81
  // Pre-built patterns so we don't re-compile on every call.
94
82
  const SECRET_JSON_PATTERN = new RegExp(
95
- // "name" : "value" (also handles escaped quotes inside value)
96
- `("(?:${SECRET_FIELD_NAMES.join("|")})"\\s*:\\s*)"(?:\\\\.|[^"\\\\])*"`, "gi");
83
+ // "name" : "value" (also handles escaped quotes inside value)
84
+ `("(?:${SECRET_FIELD_NAMES.join("|")})"\\s*:\\s*)"(?:\\\\.|[^"\\\\])*"`,
85
+ "gi"
86
+ );
97
87
  const SECRET_FORM_PATTERN = new RegExp(
98
- // name=value (terminated by & or end-of-string)
99
- `(\\b(?:${SECRET_FIELD_NAMES.join("|")}))=([^&\\s]+)`, "gi");
88
+ // name=value (terminated by & or end-of-string)
89
+ `(\\b(?:${SECRET_FIELD_NAMES.join("|")}))=([^&\\s]+)`,
90
+ "gi"
91
+ );
100
92
  // Bearer / Basic prefixes in headers/messages, plus bare JWT-shaped strings.
101
93
  const BEARER_PATTERN = /\b(Bearer|Basic)\s+([A-Za-z0-9._\-+/=]+)/g;
102
94
  const JWT_PATTERN = /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g;
103
95
  /**
104
- * Mask token/credential substrings inside an arbitrary text body before it
105
- * lands in a structured log entry. Field-name-based redaction in upstream
106
- * loggers only matches whole field NAMES — it does not scrub secrets embedded
107
- * in arbitrary string VALUES (like an IdP error body that echoes back the
108
- * client_secret it received).
109
- *
110
- * Catches:
111
- * - JSON: `"access_token": "..."` and the other SECRET_FIELD_NAMES
112
- * - form bodies: `client_secret=...`
113
- * - Bearer/Basic auth headers
114
- * - bare JWT-shaped strings
115
- *
116
- * Anything not matching stays intact, so error messages keep their diagnostic
117
- * value (status code, error kind, descriptions, etc.).
118
- */
96
+ * Mask token/credential substrings inside an arbitrary text body before it
97
+ * lands in a structured log entry. Field-name-based redaction in upstream
98
+ * loggers only matches whole field NAMES — it does not scrub secrets embedded
99
+ * in arbitrary string VALUES (like an IdP error body that echoes back the
100
+ * client_secret it received).
101
+ *
102
+ * Catches:
103
+ * - JSON: `"access_token": "..."` and the other SECRET_FIELD_NAMES
104
+ * - form bodies: `client_secret=...`
105
+ * - Bearer/Basic auth headers
106
+ * - bare JWT-shaped strings
107
+ *
108
+ * Anything not matching stays intact, so error messages keep their diagnostic
109
+ * value (status code, error kind, descriptions, etc.).
110
+ */
119
111
  export function scrubSecrets(text) {
120
- if (!text) {
121
- return text;
122
- }
123
- return text
124
- .replace(SECRET_JSON_PATTERN, `$1"${REDACTED}"`)
125
- .replace(SECRET_FORM_PATTERN, `$1=${REDACTED}`)
126
- .replace(BEARER_PATTERN, `$1 ${REDACTED}`)
127
- .replace(JWT_PATTERN, REDACTED);
112
+ if (!text) {
113
+ return text;
114
+ }
115
+ return text.replace(SECRET_JSON_PATTERN, `$1"${REDACTED}"`).replace(SECRET_FORM_PATTERN, `$1=${REDACTED}`).replace(BEARER_PATTERN, `$1 ${REDACTED}`).replace(JWT_PATTERN, REDACTED);
128
116
  }
117
+
129
118
  //# sourceMappingURL=http-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-utils.js","sourceRoot":"","sources":["../../src/oauth/http-utils.ts"],"names":[],"mappings":"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"}
1
+ {"mappings":";;;;;;;AAOA,OAAO,SAAS,UAAU,QAAwB;CAChD,IAAI;EACF,MAAM,MAAM,IAAI,IAAI,MAAM;EAC1B,IAAI,WAAW;EACf,IAAI,WAAW;EACf,IAAI,SAAS;EACb,IAAI,OAAO;EACX,OAAO,IAAI,SAAS;CACtB,QAAQ;;;EAGN,OAAO,OACJ,QAAQ,eAAe,IAAI,CAAC,CAC5B,QAAQ,SAAS,EAAE,CAAC,CACpB,QAAQ,QAAQ,EAAE;CACvB;AACF;;;;;;;;AASA,OAAO,eAAe,wBAAwB,UAAoB,WAAW,KAAsB;CACjG,IAAI,CAAC,SAAS,MAAM;;EAElB,IAAI;GACF,MAAM,OAAO,MAAM,SAAS,KAAK;GACjC,OAAO,KAAK,MAAM,GAAG,QAAQ;EAC/B,QAAQ;GACN,OAAO;EACT;CACF;CAEA,MAAM,SAAS,SAAS,KAAK,UAAU;CACvC,MAAM,UAAU,IAAI,YAAY,SAAS,EAAE,OAAO,MAAM,CAAC;CACzD,IAAI,YAAY;CAEhB,IAAI;EACF,OAAO,UAAU,SAAS,UAAU;GAClC,MAAM,EAAE,MAAM,UAAU,MAAM,OAAO,KAAK;GAC1C,IAAI,MAAM;IACR;GACF;GACA,IAAI,CAAC,OAAO;IACV;GACF;GACA,aAAa,QAAQ,OAAO,OAAO,EAAE,QAAQ,KAAK,CAAC;GACnD,IAAI,UAAU,UAAU,UAAU;IAChC,YAAY,UAAU,MAAM,GAAG,QAAQ;IACvC;GACF;EACF;CACF,QAAQ,CAER,UAAU;EACR,IAAI;GACF,MAAM,OAAO,OAAO;EACtB,QAAQ,CAER;CACF;CAEA,OAAO;AACT;;;;AAKA,MAAM,qBAAqB;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,WAAW;;AAGjB,MAAM,sBAAsB,IAAI;;CAE9B,QAAQ,mBAAmB,KAAK,GAAG,EAAE;CACrC;AACF;AACA,MAAM,sBAAsB,IAAI;;CAE9B,UAAU,mBAAmB,KAAK,GAAG,EAAE;CACvC;AACF;;AAEA,MAAM,iBAAiB;AACvB,MAAM,cAAc;;;;;;;;;;;;;;;;;AAkBpB,OAAO,SAAS,aAAa,MAAsB;CACjD,IAAI,CAAC,MAAM;EACT,OAAO;CACT;CACA,OAAO,KACJ,QAAQ,qBAAqB,MAAM,SAAS,EAAE,CAAC,CAC/C,QAAQ,qBAAqB,MAAM,UAAU,CAAC,CAC9C,QAAQ,gBAAgB,MAAM,UAAU,CAAC,CACzC,QAAQ,aAAa,QAAQ;AAClC","names":[],"sources":["../../src/oauth/http-utils.ts"],"version":3,"file":"http-utils.js","sourceRoot":""}
@@ -1,10 +1,10 @@
1
1
  export interface OAuthCallbackResult {
2
- code: string;
3
- state: string;
2
+ code: string;
3
+ state: string;
4
4
  }
5
5
  export interface LocalCallbackServer {
6
- redirectUri: string;
7
- waitForCode: (timeoutMs?: number) => Promise<OAuthCallbackResult>;
8
- close: () => Promise<void>;
6
+ redirectUri: string;
7
+ waitForCode: (timeoutMs?: number) => Promise<OAuthCallbackResult>;
8
+ close: () => Promise<void>;
9
9
  }
10
10
  export declare function startLocalCallbackServer(callbackPath?: string, port?: number): Promise<LocalCallbackServer>;