@pellux/goodvibes-sdk 0.18.50 → 0.18.52
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/dist/_internal/platform/auth/index.d.ts +0 -2
- package/dist/_internal/platform/auth/index.d.ts.map +1 -1
- package/dist/_internal/platform/auth/index.js +4 -1
- package/dist/_internal/platform/auth/oauth-client.d.ts +3 -3
- package/dist/_internal/platform/auth/oauth-client.d.ts.map +1 -1
- package/dist/_internal/platform/auth/oauth-client.js +1 -1
- package/dist/_internal/platform/auth/oauth-types.d.ts +21 -0
- package/dist/_internal/platform/auth/oauth-types.d.ts.map +1 -0
- package/dist/_internal/platform/auth/oauth-types.js +8 -0
- package/dist/_internal/platform/config/openai-codex-auth.d.ts +1 -1
- package/dist/_internal/platform/config/openai-codex-auth.d.ts.map +1 -1
- package/dist/_internal/platform/config/openai-codex-auth.js +2 -2
- package/dist/_internal/platform/config/subscriptions.d.ts +2 -2
- package/dist/_internal/platform/config/subscriptions.d.ts.map +1 -1
- package/dist/_internal/platform/config/subscriptions.js +2 -2
- package/dist/_internal/platform/runtime/auth/crypto-adapter.d.ts +22 -0
- package/dist/_internal/platform/runtime/auth/crypto-adapter.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/auth/crypto-adapter.js +40 -0
- package/dist/_internal/platform/runtime/auth/oauth-core.d.ts +4 -15
- package/dist/_internal/platform/runtime/auth/oauth-core.d.ts.map +1 -1
- package/dist/_internal/platform/runtime/auth/oauth-core.js +13 -8
- package/dist/_internal/platform/runtime/transports/{http.d.ts → daemon-http-client.d.ts} +1 -1
- package/dist/_internal/platform/runtime/transports/daemon-http-client.d.ts.map +1 -0
- package/dist/_internal/platform/runtime/transports/realtime.js +1 -1
- package/dist/_internal/platform/security/http-auth.d.ts.map +1 -1
- package/dist/_internal/platform/security/http-auth.js +7 -4
- package/dist/_internal/platform/version.js +1 -1
- package/dist/auth.d.ts +2 -2
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +4 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +3 -17
- package/dist/oauth.d.ts +26 -0
- package/dist/oauth.d.ts.map +1 -0
- package/dist/oauth.js +24 -0
- package/dist/react-native.d.ts +1 -1
- package/dist/react-native.d.ts.map +1 -1
- package/dist/react-native.js +0 -6
- package/package.json +8 -1
- package/dist/_internal/platform/runtime/transports/http.d.ts.map +0 -1
- /package/dist/_internal/platform/runtime/transports/{http.js → daemon-http-client.js} +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
export { OAuthClient } from './oauth-client.js';
|
|
2
|
-
export type { OAuthStartState, OAuthTokenPayload } from './oauth-client.js';
|
|
3
1
|
export { PermissionResolver } from './permission-resolver.js';
|
|
4
2
|
export { SessionManager } from './session-manager.js';
|
|
5
3
|
export { TokenStore } from './token-store.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/auth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/auth/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
// OAuthClient is intentionally NOT re-exported from this barrel.
|
|
2
|
+
// It depends on node:crypto (via oauth-core.ts) and must not enter the
|
|
3
|
+
// React Native / browser module graph.
|
|
4
|
+
// Consumers: import OAuthClient from @pellux/goodvibes-sdk/oauth (Node only).
|
|
2
5
|
export { PermissionResolver } from './permission-resolver.js';
|
|
3
6
|
export { SessionManager } from './session-manager.js';
|
|
4
7
|
export { TokenStore } from './token-store.js';
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* `OAuthProviderConfig` through every call.
|
|
7
7
|
*/
|
|
8
8
|
import type { OAuthProviderConfig } from '../config/subscriptions.js';
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
export type { OAuthStartState, OAuthTokenPayload } from './oauth-types.js';
|
|
10
|
+
import type { OAuthStartState, OAuthTokenPayload } from './oauth-types.js';
|
|
11
11
|
export declare class OAuthClient {
|
|
12
12
|
#private;
|
|
13
13
|
constructor(config: OAuthProviderConfig);
|
|
@@ -19,7 +19,7 @@ export declare class OAuthClient {
|
|
|
19
19
|
readonly state?: string;
|
|
20
20
|
readonly verifier?: string;
|
|
21
21
|
readonly redirectUri?: string;
|
|
22
|
-
}): OAuthStartState
|
|
22
|
+
}): Promise<OAuthStartState>;
|
|
23
23
|
/**
|
|
24
24
|
* Exchange an authorization code (returned via the redirect) for tokens.
|
|
25
25
|
* Use the `state` and `verifier` from the matching `beginAuthorization` call.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/auth/oauth-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,
|
|
1
|
+
{"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/auth/oauth-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,qBAAa,WAAW;;gBAGV,MAAM,EAAE,mBAAmB;IAIvC;;;OAGG;IACG,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,eAAe,CAAC;IAI5B;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI9B;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIpE;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,6DAA6D;IAC7D,IAAI,MAAM,IAAI,mBAAmB,CAEhC;CACF"}
|
|
@@ -15,7 +15,7 @@ export class OAuthClient {
|
|
|
15
15
|
* Build the authorization URL and PKCE state needed to start an OAuth flow.
|
|
16
16
|
* Redirect the user's browser to `result.authorizationUrl`.
|
|
17
17
|
*/
|
|
18
|
-
beginAuthorization(input) {
|
|
18
|
+
async beginAuthorization(input) {
|
|
19
19
|
return buildOAuthAuthorizationStart(this.#config, input);
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared OAuth type definitions.
|
|
3
|
+
*
|
|
4
|
+
* Isolated from oauth-core.ts so that these types can be re-exported from
|
|
5
|
+
* runtime-neutral entry points (auth.ts, react-native.ts, browser.ts, etc.)
|
|
6
|
+
* without pulling in node:crypto.
|
|
7
|
+
*/
|
|
8
|
+
export interface OAuthStartState {
|
|
9
|
+
readonly authorizationUrl: string;
|
|
10
|
+
readonly state: string;
|
|
11
|
+
readonly verifier: string;
|
|
12
|
+
readonly redirectUri: string;
|
|
13
|
+
}
|
|
14
|
+
export interface OAuthTokenPayload {
|
|
15
|
+
readonly accessToken: string;
|
|
16
|
+
readonly refreshToken?: string;
|
|
17
|
+
readonly tokenType: string;
|
|
18
|
+
readonly expiresAt?: number;
|
|
19
|
+
readonly scopes?: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=oauth-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-types.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/auth/oauth-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC"}
|
|
@@ -15,7 +15,7 @@ export interface OpenAICodexTokenResult {
|
|
|
15
15
|
readonly expiresAt: number;
|
|
16
16
|
readonly scopes?: readonly string[];
|
|
17
17
|
}
|
|
18
|
-
export declare function beginOpenAICodexLogin(): OpenAICodexLoginStart
|
|
18
|
+
export declare function beginOpenAICodexLogin(): Promise<OpenAICodexLoginStart>;
|
|
19
19
|
export declare function exchangeOpenAICodexCode(code: string, verifier: string): Promise<OpenAICodexTokenResult>;
|
|
20
20
|
export declare function refreshOpenAICodexToken(refreshToken: string): Promise<OpenAICodexTokenResult>;
|
|
21
21
|
//# sourceMappingURL=openai-codex-auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-codex-auth.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/openai-codex-auth.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AACrE,eAAO,MAAM,0BAA0B,4CAA4C,CAAC;AACpF,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAC5E,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAG/E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,
|
|
1
|
+
{"version":3,"file":"openai-codex-auth.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/openai-codex-auth.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,iCAAiC,CAAC;AACrE,eAAO,MAAM,0BAA0B,4CAA4C,CAAC;AACpF,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAC5E,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAG/E,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAsB5E;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAyB7G;AAED,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAqBnG"}
|
|
@@ -4,8 +4,8 @@ export const OPENAI_CODEX_AUTHORIZE_URL = 'https://auth.openai.com/oauth/authori
|
|
|
4
4
|
export const OPENAI_CODEX_TOKEN_URL = 'https://auth.openai.com/oauth/token';
|
|
5
5
|
export const OPENAI_CODEX_REDIRECT_URI = 'http://localhost:1455/auth/callback';
|
|
6
6
|
const OPENAI_CODEX_SCOPE = 'openid profile email offline_access';
|
|
7
|
-
export function beginOpenAICodexLogin() {
|
|
8
|
-
const started = buildOAuthAuthorizationStart({
|
|
7
|
+
export async function beginOpenAICodexLogin() {
|
|
8
|
+
const started = await buildOAuthAuthorizationStart({
|
|
9
9
|
authUrl: OPENAI_CODEX_AUTHORIZE_URL,
|
|
10
10
|
tokenUrl: OPENAI_CODEX_TOKEN_URL,
|
|
11
11
|
clientId: OPENAI_CODEX_CLIENT_ID,
|
|
@@ -51,10 +51,10 @@ export declare class SubscriptionManager {
|
|
|
51
51
|
get(provider: string): ProviderSubscription | null;
|
|
52
52
|
getAccessToken(provider: string): string | null;
|
|
53
53
|
resolveAccessToken(provider: string, config: OAuthProviderConfig): Promise<string | null>;
|
|
54
|
-
beginOAuthLogin(provider: string, config: OAuthProviderConfig): {
|
|
54
|
+
beginOAuthLogin(provider: string, config: OAuthProviderConfig): Promise<{
|
|
55
55
|
authorizationUrl: string;
|
|
56
56
|
pending: PendingSubscriptionLogin;
|
|
57
|
-
}
|
|
57
|
+
}>;
|
|
58
58
|
completeOAuthLogin(provider: string, config: OAuthProviderConfig, code: string): Promise<ProviderSubscription>;
|
|
59
59
|
refreshOAuthToken(provider: string, config: OAuthProviderConfig): Promise<ProviderSubscription>;
|
|
60
60
|
logout(provider: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/subscriptions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/config/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,7 @@ export class SubscriptionManager {
|
|
|
52
52
|
: subscription;
|
|
53
53
|
return active.accessToken;
|
|
54
54
|
}
|
|
55
|
-
beginOAuthLogin(provider, config) {
|
|
55
|
+
async beginOAuthLogin(provider, config) {
|
|
56
56
|
const store = this.read();
|
|
57
57
|
const state = createOAuthState();
|
|
58
58
|
const verifier = createPkceVerifier();
|
|
@@ -64,7 +64,7 @@ export class SubscriptionManager {
|
|
|
64
64
|
redirectUri,
|
|
65
65
|
createdAt: Date.now(),
|
|
66
66
|
};
|
|
67
|
-
const started = buildOAuthAuthorizationStart(config, { state, verifier, redirectUri });
|
|
67
|
+
const started = await buildOAuthAuthorizationStart(config, { state, verifier, redirectUri });
|
|
68
68
|
store.pending[provider] = pending;
|
|
69
69
|
this.write(store);
|
|
70
70
|
return {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto adapter — runtime-neutral interface for PKCE and random-bytes
|
|
3
|
+
* operations used by oauth-core.ts.
|
|
4
|
+
*
|
|
5
|
+
* This file uses the Web Crypto API (globalThis.crypto), which is available
|
|
6
|
+
* in React Native (Hermes / JavaScriptCore), modern browsers, and Node >= 19.
|
|
7
|
+
*
|
|
8
|
+
* API:
|
|
9
|
+
* createSha256Hash(input: string): Promise<string> — returns base64url digest
|
|
10
|
+
* randomBytesBase64url(n: number): string — returns n random bytes as base64url
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Compute SHA-256 of `input` and return the result as a base64url string.
|
|
14
|
+
* Uses Web Crypto API — safe in React Native, browser, and modern Node.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createSha256Hash(input: string): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Generate `n` cryptographically random bytes and return as base64url.
|
|
19
|
+
* Uses Web Crypto API — safe in React Native, browser, and modern Node.
|
|
20
|
+
*/
|
|
21
|
+
export declare function randomBytesBase64url(n: number): string;
|
|
22
|
+
//# sourceMappingURL=crypto-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/auth/crypto-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Crypto adapter — runtime-neutral interface for PKCE and random-bytes
|
|
3
|
+
* operations used by oauth-core.ts.
|
|
4
|
+
*
|
|
5
|
+
* This file uses the Web Crypto API (globalThis.crypto), which is available
|
|
6
|
+
* in React Native (Hermes / JavaScriptCore), modern browsers, and Node >= 19.
|
|
7
|
+
*
|
|
8
|
+
* API:
|
|
9
|
+
* createSha256Hash(input: string): Promise<string> — returns base64url digest
|
|
10
|
+
* randomBytesBase64url(n: number): string — returns n random bytes as base64url
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Compute SHA-256 of `input` and return the result as a base64url string.
|
|
14
|
+
* Uses Web Crypto API — safe in React Native, browser, and modern Node.
|
|
15
|
+
*/
|
|
16
|
+
export async function createSha256Hash(input) {
|
|
17
|
+
const encoder = new TextEncoder();
|
|
18
|
+
const data = encoder.encode(input);
|
|
19
|
+
const hashBuffer = await globalThis.crypto.subtle.digest('SHA-256', data);
|
|
20
|
+
return uint8ArrayToBase64url(new Uint8Array(hashBuffer));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Generate `n` cryptographically random bytes and return as base64url.
|
|
24
|
+
* Uses Web Crypto API — safe in React Native, browser, and modern Node.
|
|
25
|
+
*/
|
|
26
|
+
export function randomBytesBase64url(n) {
|
|
27
|
+
const bytes = new Uint8Array(n);
|
|
28
|
+
globalThis.crypto.getRandomValues(bytes);
|
|
29
|
+
return uint8ArrayToBase64url(bytes);
|
|
30
|
+
}
|
|
31
|
+
function uint8ArrayToBase64url(bytes) {
|
|
32
|
+
let binary = '';
|
|
33
|
+
for (let i = 0; i < bytes.byteLength; i++) {
|
|
34
|
+
binary += String.fromCharCode(bytes[i]);
|
|
35
|
+
}
|
|
36
|
+
return btoa(binary)
|
|
37
|
+
.replace(/\+/g, '-')
|
|
38
|
+
.replace(/\//g, '_')
|
|
39
|
+
.replace(/=/g, '');
|
|
40
|
+
}
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
import type { OAuthProviderConfig } from '../../config/subscriptions.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
readonly state: string;
|
|
5
|
-
readonly verifier: string;
|
|
6
|
-
readonly redirectUri: string;
|
|
7
|
-
}
|
|
8
|
-
export interface OAuthTokenPayload {
|
|
9
|
-
readonly accessToken: string;
|
|
10
|
-
readonly refreshToken?: string;
|
|
11
|
-
readonly tokenType: string;
|
|
12
|
-
readonly expiresAt?: number;
|
|
13
|
-
readonly scopes?: readonly string[];
|
|
14
|
-
}
|
|
2
|
+
import type { OAuthStartState, OAuthTokenPayload } from '../../auth/oauth-types.js';
|
|
3
|
+
export type { OAuthStartState, OAuthTokenPayload } from '../../auth/oauth-types.js';
|
|
15
4
|
export declare function createOAuthState(bytes?: number): string;
|
|
16
5
|
export declare function createPkceVerifier(bytes?: number): string;
|
|
17
|
-
export declare function createPkceChallenge(verifier: string): string
|
|
6
|
+
export declare function createPkceChallenge(verifier: string): Promise<string>;
|
|
18
7
|
export declare function parseOAuthScopes(raw: unknown): readonly string[] | undefined;
|
|
19
8
|
export declare function buildOAuthAuthorizationStart(config: OAuthProviderConfig, input?: {
|
|
20
9
|
readonly state?: string;
|
|
21
10
|
readonly verifier?: string;
|
|
22
11
|
readonly redirectUri?: string;
|
|
23
|
-
}): OAuthStartState
|
|
12
|
+
}): Promise<OAuthStartState>;
|
|
24
13
|
export declare function exchangeOAuthAuthorizationCode(config: OAuthProviderConfig, input: {
|
|
25
14
|
readonly code: string;
|
|
26
15
|
readonly verifier: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/auth/oauth-core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth-core.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/auth/oauth-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpF,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEpF,wBAAgB,gBAAgB,CAAC,KAAK,SAAK,GAAG,MAAM,CAEnD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,SAAK,GAAG,MAAM,CAErD;AAED,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAI5E;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,CAAC,EAAE;IACN,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B,GACA,OAAO,CAAC,eAAe,CAAC,CA4B1B;AA4CD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE;IACL,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createSha256Hash, randomBytesBase64url } from './crypto-adapter.js';
|
|
2
2
|
export function createOAuthState(bytes = 24) {
|
|
3
|
-
return
|
|
3
|
+
return randomBytesBase64url(bytes);
|
|
4
4
|
}
|
|
5
5
|
export function createPkceVerifier(bytes = 32) {
|
|
6
|
-
return
|
|
6
|
+
return randomBytesBase64url(bytes);
|
|
7
7
|
}
|
|
8
|
-
export function createPkceChallenge(verifier) {
|
|
9
|
-
return
|
|
8
|
+
export async function createPkceChallenge(verifier) {
|
|
9
|
+
return createSha256Hash(verifier);
|
|
10
10
|
}
|
|
11
11
|
export function parseOAuthScopes(raw) {
|
|
12
12
|
if (typeof raw !== 'string')
|
|
@@ -14,7 +14,7 @@ export function parseOAuthScopes(raw) {
|
|
|
14
14
|
const scopes = raw.split(' ').map((value) => value.trim()).filter(Boolean);
|
|
15
15
|
return scopes.length > 0 ? scopes : undefined;
|
|
16
16
|
}
|
|
17
|
-
export function buildOAuthAuthorizationStart(config, input) {
|
|
17
|
+
export async function buildOAuthAuthorizationStart(config, input) {
|
|
18
18
|
const state = input?.state ?? createOAuthState();
|
|
19
19
|
const verifier = input?.verifier ?? createPkceVerifier();
|
|
20
20
|
const redirectUri = input?.redirectUri ?? config.redirectUri;
|
|
@@ -30,7 +30,7 @@ export function buildOAuthAuthorizationStart(config, input) {
|
|
|
30
30
|
url.searchParams.set('audience', config.audience);
|
|
31
31
|
}
|
|
32
32
|
if (config.usePkce ?? true) {
|
|
33
|
-
url.searchParams.set('code_challenge', createPkceChallenge(verifier));
|
|
33
|
+
url.searchParams.set('code_challenge', await createPkceChallenge(verifier));
|
|
34
34
|
url.searchParams.set('code_challenge_method', 'S256');
|
|
35
35
|
}
|
|
36
36
|
for (const [key, value] of Object.entries(config.authParams ?? {})) {
|
|
@@ -109,11 +109,16 @@ export async function refreshOAuthAccessToken(config, refreshToken) {
|
|
|
109
109
|
return exchangeOAuthRequest(config.tokenUrl, config.refreshRequestEncoding ?? config.tokenRequestEncoding ?? 'form', payload);
|
|
110
110
|
}
|
|
111
111
|
export function decodeJwtPayload(token) {
|
|
112
|
+
if (typeof atob !== 'function') {
|
|
113
|
+
throw new Error('decodeJwtPayload requires a global atob(); available in browsers, RN Hermes, and Node >= 16');
|
|
114
|
+
}
|
|
112
115
|
const parts = token.split('.');
|
|
113
116
|
if (parts.length < 2)
|
|
114
117
|
return null;
|
|
115
118
|
try {
|
|
116
|
-
|
|
119
|
+
// atob is universally available (browsers, React Native, modern Node)
|
|
120
|
+
const base64 = (parts[1]).replace(/-/g, '+').replace(/_/g, '/');
|
|
121
|
+
return JSON.parse(atob(base64));
|
|
117
122
|
}
|
|
118
123
|
catch {
|
|
119
124
|
return null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"daemon-http-client.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/transports/daemon-http-client.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAoBV,aAAa,EAEb,oBAAoB,EAKrB,MAAM,iBAAiB,CAAC;AA0fzB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA8ChF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createHttpTransport } from './http.js';
|
|
1
|
+
import { createHttpTransport } from './daemon-http-client.js';
|
|
2
2
|
import { createClientTransport } from '@pellux/goodvibes-sdk/platform/runtime/transports/client-transport';
|
|
3
3
|
import { createWebSocketConnector } from './shared.js';
|
|
4
4
|
import { createRemoteUiRuntimeEvents } from './ui-runtime-events.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-auth.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/security/http-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEN,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmCD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,MAAM,CAQR;AAOD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACP,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACzE,GACA,4BAA4B,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"http-auth.d.ts","sourceRoot":"","sources":["../../../../src/_internal/platform/security/http-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,MAAM,MAAM,4BAA4B,GACpC;IACE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC,CAAC;AAEN,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAmCD,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,GACX,MAAM,CAQR;AAOD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE;IACP,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACzE,GACA,4BAA4B,GAAG,IAAI,CAuBrC;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE;IACP,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAC;CACzE,GACA,4BAA4B,GAAG,IAAI,CAErC;AAED,wBAAgB,eAAe,CAAC,aAAa,EAAE,4BAA4B,GAAG,IAAI,GAAG,OAAO,CAG3F;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAa/F;AAED,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,UAAQ,GAAG,MAAM,CAW1F"}
|
|
@@ -56,10 +56,13 @@ export function authenticateOperatorToken(token, context) {
|
|
|
56
56
|
const normalized = token.trim();
|
|
57
57
|
if (!normalized)
|
|
58
58
|
return null;
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
// Try shared-token first. If present AND it matches, grant shared-token access.
|
|
60
|
+
// Critically: do NOT return null here if it doesn't match — fall through to
|
|
61
|
+
// session validation so that session cookies remain valid even when a shared
|
|
62
|
+
// token is also configured (e.g. when the daemon is enabled with a bearer token
|
|
63
|
+
// for operator tooling but the companion app uses session-cookie auth).
|
|
64
|
+
if (context.sharedToken && matchesSharedToken(normalized, context.sharedToken)) {
|
|
65
|
+
return { kind: 'shared-token', token: normalized };
|
|
63
66
|
}
|
|
64
67
|
const session = context.userAuth.validateSession(normalized);
|
|
65
68
|
if (!session)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
|
-
let version = '0.18.
|
|
3
|
+
let version = '0.18.52';
|
|
4
4
|
try {
|
|
5
5
|
const pkg = JSON.parse(readFileSync(join(import.meta.dir, '..', '..', 'package.json'), 'utf-8'));
|
|
6
6
|
version = pkg.version ?? version;
|
package/dist/auth.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { OperatorMethodInput, OperatorMethodOutput } from './_internal/contracts/index.js';
|
|
2
2
|
import type { AuthTokenResolver } from './_internal/transport-http/index.js';
|
|
3
3
|
import type { OperatorSdk } from './_internal/operator/index.js';
|
|
4
|
-
export {
|
|
5
|
-
export type { OAuthStartState, OAuthTokenPayload } from './_internal/platform/auth/
|
|
4
|
+
export { PermissionResolver, SessionManager, TokenStore, } from './_internal/platform/auth/index.js';
|
|
5
|
+
export type { OAuthStartState, OAuthTokenPayload } from './_internal/platform/auth/oauth-types.js';
|
|
6
6
|
export type GoodVibesCurrentAuth = OperatorMethodOutput<'control.auth.current'>;
|
|
7
7
|
export type GoodVibesLoginInput = OperatorMethodInput<'control.auth.login'>;
|
|
8
8
|
export type GoodVibesLoginOutput = OperatorMethodOutput<'control.auth.login'>;
|
package/dist/auth.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAOjE,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAEnG,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;AAChF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAE9E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtG;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,GAAE,MAAM,GAAG,IAAW,GAAG,mBAAmB,CAa9F;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,GAAE,wBAA6B,GAAG,mBAAmB,CAmBnG;AAwBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,mBAAmB,GAAG,IAAI,EACtC,YAAY,CAAC,EAAE,iBAAiB,GAC/B,mBAAmB,CA0BrB"}
|
package/dist/auth.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { ConfigurationError } from './_internal/errors/index.js';
|
|
2
2
|
// Re-export focused responsibility classes for consumers who prefer
|
|
3
3
|
// narrower, single-concern APIs over the combined GoodVibesAuthClient facade.
|
|
4
|
-
|
|
4
|
+
// NOTE: OAuthClient is intentionally NOT re-exported here. It depends on
|
|
5
|
+
// node:crypto and is not safe in React Native / browser bundles.
|
|
6
|
+
// Use @pellux/goodvibes-sdk/oauth for Node.js consumers who need OAuthClient.
|
|
7
|
+
export { PermissionResolver, SessionManager, TokenStore, } from './_internal/platform/auth/index.js';
|
|
5
8
|
function requireStorage(storage) {
|
|
6
9
|
const resolved = storage ?? globalThis.localStorage;
|
|
7
10
|
if (!resolved) {
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAClD,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;CACzF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAE1C;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAE/B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAErC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IAEjC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC;IAE1C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IACpD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAClD,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;CACzF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;AA+CD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,YAAY,CA+Cd"}
|
package/dist/client.js
CHANGED
|
@@ -25,21 +25,7 @@ function requireWebSocketImplementation(webSocketImpl) {
|
|
|
25
25
|
}
|
|
26
26
|
return resolved;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
const getAuthToken = options.tokenStore
|
|
30
|
-
? () => options.tokenStore.getToken()
|
|
31
|
-
: options.getAuthToken;
|
|
32
|
-
return {
|
|
33
|
-
baseUrl: requireBaseUrl(options.baseUrl),
|
|
34
|
-
authToken: options.authToken ?? null,
|
|
35
|
-
...(getAuthToken ? { getAuthToken } : {}),
|
|
36
|
-
...(options.fetch ? { fetch: options.fetch } : {}),
|
|
37
|
-
...(options.headers ? { headers: options.headers } : {}),
|
|
38
|
-
...(options.getHeaders ? { getHeaders: options.getHeaders } : {}),
|
|
39
|
-
...(options.retry ? { retry: options.retry } : {}),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function createPeerOptions(options) {
|
|
28
|
+
function createClientOptions(options) {
|
|
43
29
|
const getAuthToken = options.tokenStore
|
|
44
30
|
? () => options.tokenStore.getToken()
|
|
45
31
|
: options.getAuthToken;
|
|
@@ -85,11 +71,11 @@ export function createGoodVibesSdk(options) {
|
|
|
85
71
|
// Single normalized resolver used by realtime connectors.
|
|
86
72
|
const tokenResolver = normalizeAuthToken(getAuthToken ?? options.authToken ?? undefined);
|
|
87
73
|
const fetchImpl = () => requireFetchImplementation(options.fetch);
|
|
88
|
-
const operator = createOperatorSdk(
|
|
74
|
+
const operator = createOperatorSdk(createClientOptions({
|
|
89
75
|
...options,
|
|
90
76
|
tokenStore: tokenStore ?? undefined,
|
|
91
77
|
}));
|
|
92
|
-
const peer = createPeerSdk(
|
|
78
|
+
const peer = createPeerSdk(createClientOptions({
|
|
93
79
|
...options,
|
|
94
80
|
tokenStore: tokenStore ?? undefined,
|
|
95
81
|
}));
|
package/dist/oauth.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @pellux/goodvibes-sdk/oauth
|
|
3
|
+
*
|
|
4
|
+
* Node.js-only subpath export for OAuth 2.0 / PKCE flows.
|
|
5
|
+
*
|
|
6
|
+
* This entrypoint imports oauth-core.ts which depends on node:crypto.
|
|
7
|
+
* It is intentionally excluded from the RN/browser bundle graph.
|
|
8
|
+
* React Native and browser consumers should perform OAuth flows on a
|
|
9
|
+
* server-side proxy and exchange tokens via the standard auth flow instead.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { OAuthClient } from '@pellux/goodvibes-sdk/oauth';
|
|
13
|
+
*
|
|
14
|
+
* const client = new OAuthClient({
|
|
15
|
+
* clientId: process.env.OAUTH_CLIENT_ID!,
|
|
16
|
+
* authUrl: 'https://auth.example.com/authorize',
|
|
17
|
+
* tokenUrl: 'https://auth.example.com/token',
|
|
18
|
+
* redirectUri: 'http://localhost:4000/callback',
|
|
19
|
+
* scopes: ['openid', 'profile'],
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* const { authorizationUrl, state, verifier } = client.beginAuthorization();
|
|
23
|
+
*/
|
|
24
|
+
export { OAuthClient } from './_internal/platform/auth/oauth-client.js';
|
|
25
|
+
export type { OAuthStartState, OAuthTokenPayload } from './_internal/platform/auth/oauth-types.js';
|
|
26
|
+
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../src/oauth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC"}
|
package/dist/oauth.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @pellux/goodvibes-sdk/oauth
|
|
3
|
+
*
|
|
4
|
+
* Node.js-only subpath export for OAuth 2.0 / PKCE flows.
|
|
5
|
+
*
|
|
6
|
+
* This entrypoint imports oauth-core.ts which depends on node:crypto.
|
|
7
|
+
* It is intentionally excluded from the RN/browser bundle graph.
|
|
8
|
+
* React Native and browser consumers should perform OAuth flows on a
|
|
9
|
+
* server-side proxy and exchange tokens via the standard auth flow instead.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* import { OAuthClient } from '@pellux/goodvibes-sdk/oauth';
|
|
13
|
+
*
|
|
14
|
+
* const client = new OAuthClient({
|
|
15
|
+
* clientId: process.env.OAUTH_CLIENT_ID!,
|
|
16
|
+
* authUrl: 'https://auth.example.com/authorize',
|
|
17
|
+
* tokenUrl: 'https://auth.example.com/token',
|
|
18
|
+
* redirectUri: 'http://localhost:4000/callback',
|
|
19
|
+
* scopes: ['openid', 'profile'],
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* const { authorizationUrl, state, verifier } = client.beginAuthorization();
|
|
23
|
+
*/
|
|
24
|
+
export { OAuthClient } from './_internal/platform/auth/oauth-client.js';
|
package/dist/react-native.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type RemoteRuntimeEvents } from './_internal/transport-realtime/index.js';
|
|
2
2
|
import { type GoodVibesSdkOptions, type GoodVibesSdk, type RuntimeEventRecord } from './client.js';
|
|
3
|
-
export interface ReactNativeGoodVibesSdkOptions extends
|
|
3
|
+
export interface ReactNativeGoodVibesSdkOptions extends GoodVibesSdkOptions {
|
|
4
4
|
readonly WebSocketImpl?: typeof WebSocket;
|
|
5
5
|
}
|
|
6
6
|
export interface ReactNativeGoodVibesRealtime {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.d.ts","sourceRoot":"","sources":["../src/react-native.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"react-native.d.ts","sourceRoot":"","sources":["../src/react-native.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IACnD,YAAY,CAAC,aAAa,CAAC,EAAE,OAAO,SAAS,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;CACzF;AAED,MAAM,MAAM,uBAAuB,GACjC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG;IAC/B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;CACjD,CAAC;AAYJ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAoDzB"}
|
package/dist/react-native.js
CHANGED
|
@@ -44,12 +44,6 @@ export function createReactNativeGoodVibesSdk(options) {
|
|
|
44
44
|
maxDelayMs: 2_000,
|
|
45
45
|
},
|
|
46
46
|
realtime: {
|
|
47
|
-
sseReconnect: {
|
|
48
|
-
enabled: true,
|
|
49
|
-
baseDelayMs: 500,
|
|
50
|
-
maxDelayMs: 5_000,
|
|
51
|
-
...(options.realtime?.sseReconnect ?? {}),
|
|
52
|
-
},
|
|
53
47
|
webSocketReconnect: {
|
|
54
48
|
enabled: true,
|
|
55
49
|
baseDelayMs: 500,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pellux/goodvibes-sdk",
|
|
3
|
-
"version": "0.18.
|
|
3
|
+
"version": "0.18.52",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/mgd34msu/goodvibes-sdk.git"
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
"types": "./dist/auth.d.ts",
|
|
53
53
|
"import": "./dist/auth.js"
|
|
54
54
|
},
|
|
55
|
+
"./oauth": {
|
|
56
|
+
"types": "./dist/oauth.d.ts",
|
|
57
|
+
"import": "./dist/oauth.js"
|
|
58
|
+
},
|
|
55
59
|
"./errors": {
|
|
56
60
|
"types": "./dist/errors.d.ts",
|
|
57
61
|
"import": "./dist/errors.js"
|
|
@@ -129,6 +133,9 @@
|
|
|
129
133
|
"publishConfig": {
|
|
130
134
|
"access": "public"
|
|
131
135
|
},
|
|
136
|
+
"engines": {
|
|
137
|
+
"node": ">=19"
|
|
138
|
+
},
|
|
132
139
|
"sideEffects": false,
|
|
133
140
|
"type": "module",
|
|
134
141
|
"types": "./dist/index.d.ts"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../../../src/_internal/platform/runtime/transports/http.ts"],"names":[],"mappings":"AAiDA,OAAO,KAAK,EAoBV,aAAa,EAEb,oBAAoB,EAKrB,MAAM,iBAAiB,CAAC;AA0fzB,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CA8ChF"}
|
|
File without changes
|