@oxyhq/services 17.0.0 → 18.1.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 (81) hide show
  1. package/README.md +77 -98
  2. package/lib/commonjs/index.js +19 -0
  3. package/lib/commonjs/index.js.map +1 -1
  4. package/lib/commonjs/ui/components/OxyAccountDialog.js +62 -84
  5. package/lib/commonjs/ui/components/OxyAccountDialog.js.map +1 -1
  6. package/lib/commonjs/ui/components/OxyConsentScreen.js +461 -0
  7. package/lib/commonjs/ui/components/OxyConsentScreen.js.map +1 -0
  8. package/lib/commonjs/ui/components/OxyProvider.js +3 -1
  9. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  10. package/lib/commonjs/ui/components/OxySignInButton.js +176 -7
  11. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  12. package/lib/commonjs/ui/components/oauthNavigation.js +73 -0
  13. package/lib/commonjs/ui/components/oauthNavigation.js.map +1 -0
  14. package/lib/commonjs/ui/context/OxyContext.js +31 -4
  15. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  16. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +11 -0
  17. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  18. package/lib/module/index.js +2 -2
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/ui/components/OxyAccountDialog.js +63 -85
  21. package/lib/module/ui/components/OxyAccountDialog.js.map +1 -1
  22. package/lib/module/ui/components/OxyConsentScreen.js +454 -0
  23. package/lib/module/ui/components/OxyConsentScreen.js.map +1 -0
  24. package/lib/module/ui/components/OxyProvider.js +3 -1
  25. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  26. package/lib/module/ui/components/OxySignInButton.js +177 -7
  27. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  28. package/lib/module/ui/components/oauthNavigation.js +70 -0
  29. package/lib/module/ui/components/oauthNavigation.js.map +1 -0
  30. package/lib/module/ui/context/OxyContext.js +31 -4
  31. package/lib/module/ui/context/OxyContext.js.map +1 -1
  32. package/lib/module/ui/context/hooks/useAuthOperations.js +11 -0
  33. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  34. package/lib/typescript/commonjs/index.d.ts +4 -1
  35. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts +18 -2
  37. package/lib/typescript/commonjs/ui/components/OxyAccountDialog.d.ts.map +1 -1
  38. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts +45 -0
  39. package/lib/typescript/commonjs/ui/components/OxyConsentScreen.d.ts.map +1 -0
  40. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +56 -0
  42. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts +36 -0
  44. package/lib/typescript/commonjs/ui/components/oauthNavigation.d.ts.map +1 -0
  45. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +14 -0
  46. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  49. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/ui/types/navigation.d.ts +18 -0
  51. package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
  52. package/lib/typescript/module/index.d.ts +4 -1
  53. package/lib/typescript/module/index.d.ts.map +1 -1
  54. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts +18 -2
  55. package/lib/typescript/module/ui/components/OxyAccountDialog.d.ts.map +1 -1
  56. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts +45 -0
  57. package/lib/typescript/module/ui/components/OxyConsentScreen.d.ts.map +1 -0
  58. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  59. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +56 -0
  60. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  61. package/lib/typescript/module/ui/components/oauthNavigation.d.ts +36 -0
  62. package/lib/typescript/module/ui/components/oauthNavigation.d.ts.map +1 -0
  63. package/lib/typescript/module/ui/context/OxyContext.d.ts +14 -0
  64. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  65. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  66. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  67. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  68. package/lib/typescript/module/ui/types/navigation.d.ts +18 -0
  69. package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
  70. package/package.json +4 -4
  71. package/src/index.ts +12 -1
  72. package/src/ui/components/OxyAccountDialog.tsx +60 -85
  73. package/src/ui/components/OxyConsentScreen.tsx +456 -0
  74. package/src/ui/components/OxyProvider.tsx +2 -0
  75. package/src/ui/components/OxySignInButton.tsx +222 -6
  76. package/src/ui/components/__tests__/OxyConsentScreen.test.tsx +130 -0
  77. package/src/ui/components/oauthNavigation.ts +89 -0
  78. package/src/ui/context/OxyContext.tsx +44 -4
  79. package/src/ui/context/__tests__/OxyContext.coldBoot.test.tsx +165 -0
  80. package/src/ui/context/hooks/useAuthOperations.ts +7 -0
  81. package/src/ui/types/navigation.ts +18 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","refreshToken","deviceToken","loadDeviceToken","undefined","save","sessionId","userId","user","id","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getUserBySession","allDeviceSessions","fallbackDeviceId","deviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","status","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","DeviceManager","fetchSessionsWithFallback","handleAuthError","isInvalidSessionError","SignatureService","LOGIN_ERROR_CODE","LOGOUT_ERROR_CODE","LOGOUT_ALL_ERROR_CODE","clearPersistedAuthSafe","store","logger","clear","catch","clearError","useAuthOperations","oxyServices","activeSessionId","setActiveSessionId","updateSessions","saveActiveSessionId","clearSessionState","switchSession","sessionClient","syncFromClient","applyLanguagePreference","onAuthStateChange","onError","loginSuccess","loginFailure","logoutStore","setAuthState","performSignIn","publicKey","deviceFingerprintObj","getDeviceFingerprint","deviceFingerprint","JSON","stringify","deviceInfo","getDeviceInfo","deviceName","getDefaultDeviceName","challengeResponse","requestChallenge","challenge","signature","timestamp","signChallenge","fullUser","sessionResponse","verifyChallenge","refreshToken","deviceToken","loadDeviceToken","undefined","deviceSecret","save","sessionId","userId","user","id","deviceId","accessToken","expiresAt","persistError","registerAndActivate","registrationError","getUserBySession","allDeviceSessions","fallbackDeviceId","fallbackUserId","error","__DEV__","existingSession","find","session","toString","logoutSession","logoutError","filter","merge","signIn","isLoading","message","defaultMessage","code","setAuthError","msg","logout","targetSessionId","sessionToLogout","targetAccountId","getState","accounts","account","accountId","Error","signOut","remainingAccounts","length","isInvalid","status","logoutAll","all"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useAuthOperations.ts"],"mappings":"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","ignoreList":[]}
@@ -51,10 +51,13 @@ export { useFileFiltering } from './ui/hooks/useFileFiltering';
51
51
  export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
52
52
  export { default as Avatar } from './ui/components/Avatar';
53
53
  export type { AvatarProps } from './ui/components/Avatar';
54
- export { OxySignInButton } from './ui/components/OxySignInButton';
54
+ export { OxySignInButton, OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, } from './ui/components/OxySignInButton';
55
+ export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton';
55
56
  export { OxyAuthPrompt } from './ui/components/OxyAuthPrompt';
56
57
  export type { OxyAuthPromptProps } from './ui/components/OxyAuthPrompt';
57
58
  export { default as OxyLogo } from './ui/components/OxyLogo';
59
+ export { OxyConsentScreen } from './ui/components/OxyConsentScreen';
60
+ export type { OxyConsentScreenProps, OxyConsentApplication, OxyConsentUser, } from './ui/components/OxyConsentScreen';
58
61
  export { RequireOxyAuth } from './ui/components/RequireOxyAuth';
59
62
  export type { RequireOxyAuthProps, RequireOxyAuthPrompt } from './ui/components/RequireOxyAuth';
60
63
  export { default as FollowButton } from './ui/components/FollowButton';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,24 @@
22
22
  * Per-account color re-theming uses Bloom's `APP_COLOR_PRESETS` + `BloomColorScope`
23
23
  * (same visual language auth.oxy.so uses). Base theming is `useTheme()` + a
24
24
  * `StyleSheet`, so the dialog renders correctly in EVERY consumer — including apps
25
- * that do not use NativeWind (e.g. the accounts app). Modal contents are wrapped
26
- * in `<GestureHandlerRootView>` because RN's `Modal` renders into its own window.
25
+ * that do not use NativeWind (e.g. the accounts app).
26
+ *
27
+ * The surface is Bloom's `<Dialog>` (`@oxyhq/bloom/dialog`) with a responsive
28
+ * `placement` — a bottom sheet on narrow viewports, a centered card on wide ones.
29
+ * It REPLACES the hand-rolled RN `<Modal>` + `<GestureHandlerRootView>` + manual
30
+ * backdrop/card wrapper this component used before. That RN `<Modal>` is invisible
31
+ * under React StrictMode on web: react-native-web's `ModalPortal` appends its host
32
+ * node during render but removes it in an effect cleanup and never re-attaches, so
33
+ * the dialog never paints in a dev Vite build. Bloom's `<Dialog>` renders through
34
+ * its own Portal and has no such lifecycle hazard.
35
+ *
36
+ * Open/close is CONTROLLED by `isAccountDialogOpen` (the `open` prop); the Dialog
37
+ * stays mounted whenever the controller exists so it can animate its own close.
38
+ * Backdrop / swipe-to-dismiss is disabled (`dismissOnBackdrop={false}`) on purpose:
39
+ * Bloom's controlled `bottom` placement does not fire `onClose` on a gesture or
40
+ * backdrop dismissal, so allowing it would desync `isAccountDialogOpen` from the
41
+ * sheet and block reopening. The header close button (and a successful switch)
42
+ * drive `closeAccountDialog`, which flips `open` and runs the exit animation.
27
43
  */
28
44
  import type React from 'react';
29
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OxyAccountDialog.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkE/B;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAgJ7B,CAAC;AAqgBF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"OxyAccountDialog.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiE/B;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA+H7B,CAAC;AA8eF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /** The requesting application, resolved by the caller (never user-supplied raw). */
2
+ export interface OxyConsentApplication {
3
+ /** Display name of the requesting application. */
4
+ name: string;
5
+ /** Application icon — a URL or bare file id passed straight to `<Avatar source>`. */
6
+ iconUrl?: string;
7
+ /** Public website of the application, shown as a link when present. */
8
+ websiteUrl?: string;
9
+ /** Privacy policy URL, shown as a link when present. */
10
+ privacyPolicyUrl?: string;
11
+ /** Terms of service URL, shown as a link when present. */
12
+ termsUrl?: string;
13
+ /** Human-readable publisher, used for the "Published by …" provenance line. */
14
+ developerName?: string;
15
+ /** True for first-party / official Oxy applications. */
16
+ isOfficial?: boolean;
17
+ }
18
+ /** The account that will authorize the request (the currently signed-in user). */
19
+ export interface OxyConsentUser {
20
+ /** Real display name, when the profile has one. */
21
+ displayName?: string;
22
+ /** Normalized handle — the sanctioned fallback when `displayName` is absent. */
23
+ handle?: string;
24
+ /** Avatar — a URL or bare file id passed straight to `<Avatar source>`. */
25
+ avatarUri?: string;
26
+ }
27
+ export interface OxyConsentScreenProps {
28
+ /** The resolved requesting application. */
29
+ application: OxyConsentApplication;
30
+ /** OAuth scopes requested by the client (mapped to friendly labels). */
31
+ scopes: string[];
32
+ /** The account that will authorize the request, when known. */
33
+ user?: OxyConsentUser;
34
+ /** Approve handler — the caller mints the code / completes the flow. */
35
+ onAllow: () => void | Promise<void>;
36
+ /** Deny handler — the caller cancels the flow. */
37
+ onDeny: () => void;
38
+ /** True while a decision is in flight; disables both actions and spins Allow. */
39
+ busy?: boolean;
40
+ /** A blocking error message for the request, when present. */
41
+ error?: string | null;
42
+ }
43
+ export declare function OxyConsentScreen({ application, scopes, user, onAllow, onDeny, busy, error, }: OxyConsentScreenProps): import("react").JSX.Element;
44
+ export default OxyConsentScreen;
45
+ //# sourceMappingURL=OxyConsentScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyConsentScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyConsentScreen.tsx"],"names":[],"mappings":"AA8BA,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAmED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAY,EACZ,KAAY,GACb,EAAE,qBAAqB,+BA+KvB;AAoID,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAIjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAuOrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAIjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyOrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,32 @@
1
1
  import type React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ /**
4
+ * `sessionStorage` keys under which a third-party "Sign in with Oxy" OAuth flow
5
+ * persists its CSRF `state` and PKCE `code_verifier` across the authorize
6
+ * redirect. The Relying Party's redirect-URI callback reads them back to
7
+ * validate the returned `state` and replay the verifier on the token exchange.
8
+ *
9
+ * Web only: a browser RP navigates away to `auth.oxy.so` and back, so the
10
+ * handshake must survive a full-page redirect. Native completes the flow inside
11
+ * a single `WebBrowser` auth session and surfaces the handshake via
12
+ * {@link OxySignInButtonProps.onOAuthResult} instead.
13
+ */
14
+ export declare const OXY_OAUTH_STATE_STORAGE_KEY = "oxy_oauth_state";
15
+ export declare const OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = "oxy_oauth_code_verifier";
16
+ /**
17
+ * The OAuth handshake surfaced to a NATIVE third-party RP via
18
+ * {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
19
+ * (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
20
+ * back from `sessionStorage` across the redirect and do not need this callback.
21
+ */
22
+ export interface OxyOAuthResult {
23
+ /** Deep-link URL the native auth session returned to (`?code=…&state=…`), or `null` if unobserved. */
24
+ redirectUrl: string | null;
25
+ /** The CSRF `state` sent on the authorize request; the RP must match it on return. */
26
+ state: string;
27
+ /** The PKCE `code_verifier` to replay on the token exchange. */
28
+ codeVerifier: string;
29
+ }
3
30
  export interface OxySignInButtonProps {
4
31
  /**
5
32
  * Controls the appearance of the button
@@ -34,6 +61,35 @@ export interface OxySignInButtonProps {
34
61
  * @default false
35
62
  */
36
63
  showWhenAuthenticated?: boolean;
64
+ /**
65
+ * Exact registered redirect URI the OAuth authorization code is returned to.
66
+ * REQUIRED only for third-party (`type: 'third_party'`) applications, which
67
+ * sign in via an OAuth + PKCE redirect to `auth.oxy.so`. First-party /
68
+ * official apps open the in-app dialog and ignore this prop. If a third-party
69
+ * app resolves without it, the button logs an error and does nothing (it will
70
+ * not invent a redirect URI).
71
+ */
72
+ oauthRedirectUri?: string;
73
+ /**
74
+ * Native only: receives the OAuth handshake after a third-party auth session
75
+ * so the RP can finish the token exchange. On web the handshake is read back
76
+ * from `sessionStorage` across the full-page redirect, so this is not used
77
+ * there. A native third-party sign-in with NO `onOAuthResult` handler cannot
78
+ * complete (the `state` + `code_verifier` are lost) and logs a warning.
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * <OxySignInButton
83
+ * oauthRedirectUri="myapp://oauth/callback"
84
+ * onOAuthResult={({ redirectUrl, state, codeVerifier }) => {
85
+ * if (!redirectUrl) return;
86
+ * const code = new URL(redirectUrl).searchParams.get('code');
87
+ * // → POST /auth/oauth/token { code, code_verifier: codeVerifier, state }
88
+ * }}
89
+ * />
90
+ * ```
91
+ */
92
+ onOAuthResult?: (result: OxyOAuthResult) => void;
37
93
  }
38
94
  /**
39
95
  * A pre-styled button component for signing in with Oxy identity
@@ -1 +1 @@
1
- {"version":3,"file":"OxySignInButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxySignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA4C,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAY,MAAM,cAAc,CAAC;AAQlI,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8I1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"OxySignInButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxySignInButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA4C,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAY,MAAM,cAAc,CAAC;AAgBlI;;;;;;;;;;GAUG;AACH,eAAO,MAAM,2BAA2B,oBAAoB,CAAC;AAC7D,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,sGAAsG;IACtG,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;CACxB;AA0BD,MAAM,WAAW,oBAAoB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;IAE9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAE7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEjC;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0Q1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Platform navigation for the third-party "Sign in with Oxy" OAuth flow.
3
+ *
4
+ * Kept out of `OxySignInButton` so the button's routing logic can be unit-tested
5
+ * without driving a real browser navigation (jsdom's `location.assign` is
6
+ * non-configurable and cannot be spied). Both entry points hand a fully-built
7
+ * `auth.oxy.so/authorize` URL to the platform — never FedCM, an SSO bounce, or
8
+ * an Oxy session cookie.
9
+ */
10
+ /** Outcome of opening the authorize URL on native. */
11
+ export interface OpenAuthorizeResult {
12
+ /**
13
+ * The deep-link URL the auth session returned to (carries `?code=…&state=…`)
14
+ * when `expo-web-browser` observed it, else `null`. `null` means the RP must
15
+ * complete the exchange from its own deep-link handler (e.g. after the
16
+ * `Linking.openURL` fallback, which cannot observe the return URL).
17
+ */
18
+ redirectUrl: string | null;
19
+ }
20
+ /**
21
+ * Web: hand the TOP-LEVEL document to the OAuth authorize URL (a full-page
22
+ * redirect, not a popup) so the RP returns to its registered `redirect_uri`.
23
+ * No-op where `location` is unavailable (SSR / non-browser hosts).
24
+ */
25
+ export declare function redirectToAuthorize(url: string): void;
26
+ /**
27
+ * Native: open the authorize URL in an in-app auth session via the optional
28
+ * `expo-web-browser` module (`openAuthSessionAsync` returns to `redirectUri`),
29
+ * degrading to `Linking.openURL` when the module is not installed — the same
30
+ * dynamic-import-with-fallback pattern services uses for haptics/netinfo.
31
+ *
32
+ * Returns the deep-link URL the session came back to when it can be observed, so
33
+ * the caller can hand `?code=…&state=…` back to the RP for the token exchange.
34
+ */
35
+ export declare function openAuthorizeUrlNative(url: string, redirectUri: string): Promise<OpenAuthorizeResult>;
36
+ //# sourceMappingURL=oauthNavigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauthNavigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/oauthNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgBH,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAChC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CACxC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC,CAgC9B"}
@@ -158,6 +158,20 @@ export interface OxyContextProviderProps {
158
158
  * for the cross-app device sign-in flow. See {@link OxyContextState.clientId}.
159
159
  */
160
160
  clientId?: string;
161
+ /**
162
+ * Whether this provider is the device-first **session authority**. `true`
163
+ * (default) runs `runSessionColdBoot` on mount and opens the signed-out
164
+ * device-state socket — the correct behavior for every Relying Party app.
165
+ *
166
+ * `false` is the IdP host (`auth.oxy.so`) opt-out: the IdP is NOT a session
167
+ * authority (handoff "IdP vs RP"), so it must NOT restore or reproject an
168
+ * ambient device session. With `coldBoot={false}` the cold boot never runs
169
+ * and the signed-out device socket never opens; auth resolves immediately as
170
+ * signed out. Interactive sign-in still commits a normal session on this
171
+ * origin — only the automatic restore/reproject is suppressed.
172
+ * @default true
173
+ */
174
+ coldBoot?: boolean;
161
175
  onAuthStateChange?: (user: User | null) => void;
162
176
  onError?: (error: ApiError) => void;
163
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,0JAA0J;IAC1J,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,+MAA+M;IAC/M,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,GAClD,IAAI,CAIN;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,wRAmB/B,wBAAwB,KAAG,uBAsR7B,CAAC"}
1
+ {"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;;;;;OAOG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,0JAA0J;IAC1J,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,+MAA+M;IAC/M,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,uBAAuB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,GAClD,IAAI,CAIN;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,wRAmB/B,wBAAwB,KAAG,uBA6R7B,CAAC"}
@@ -16,7 +16,7 @@ export declare const useSession: (sessionId: string | null, options?: {
16
16
  */
17
17
  export declare const useDeviceSessions: (options?: {
18
18
  enabled?: boolean;
19
- }) => import("@tanstack/react-query").UseQueryResult<NoInfer<any[]>, Error>;
19
+ }) => import("@tanstack/react-query").UseQueryResult<NoInfer<import("@oxyhq/core").DeviceLinkedSession[]>, Error>;
20
20
  /**
21
21
  * Get user devices
22
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW9E;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oFAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,kFA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;UAY9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gGAgBrE,CAAC"}
1
+ {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAW9E;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oFAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,kFA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gHAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0EAgB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;UAY9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gGAgBrE,CAAC"}
@@ -51,5 +51,23 @@ export interface OxyProviderProps {
51
51
  * @default 'off'
52
52
  */
53
53
  requireAuth?: 'off' | 'soft' | 'hard';
54
+ /**
55
+ * Whether this provider acts as the ecosystem's device-first **session
56
+ * authority**. `true` (default) runs the full device-first cold boot on
57
+ * mount (bootstrap-return → stored tokens → shared key / bootstrap hop) and
58
+ * opens the signed-out device-state socket so an idle tab self-acquires when
59
+ * a sibling signs in — the correct behavior for every Relying Party app.
60
+ *
61
+ * Set `false` for the **IdP host** (`auth.oxy.so`): the IdP is NOT a session
62
+ * authority (see the handoff "IdP vs RP" section). With `coldBoot={false}`
63
+ * the provider skips `runSessionColdBoot` entirely and never opens the
64
+ * signed-out device socket — auth resolves immediately as signed out (no
65
+ * boot spinner). Interactive sign-in is unaffected: a user who signs in
66
+ * through this provider (password, 2FA, or the "Sign in with Oxy" QR device
67
+ * flow) still commits a normal session scoped to this origin, which is all
68
+ * the IdP needs to drive its OAuth authorize/consent flow.
69
+ * @default true
70
+ */
71
+ coldBoot?: boolean;
54
72
  }
55
73
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;CACzC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../../../src/ui/types/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAG9C,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAGlC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAGjE,aAAa,CAAC,EAAE,SAAS,CAAC;IAG1B,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IAMtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACtC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -51,10 +51,13 @@ export { useFileFiltering } from './ui/hooks/useFileFiltering.js';
51
51
  export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering.js';
52
52
  export { default as Avatar } from './ui/components/Avatar.js';
53
53
  export type { AvatarProps } from './ui/components/Avatar.js';
54
- export { OxySignInButton } from './ui/components/OxySignInButton.js';
54
+ export { OxySignInButton, OXY_OAUTH_STATE_STORAGE_KEY, OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY, } from './ui/components/OxySignInButton.js';
55
+ export type { OxySignInButtonProps, OxyOAuthResult } from './ui/components/OxySignInButton.js';
55
56
  export { OxyAuthPrompt } from './ui/components/OxyAuthPrompt.js';
56
57
  export type { OxyAuthPromptProps } from './ui/components/OxyAuthPrompt.js';
57
58
  export { default as OxyLogo } from './ui/components/OxyLogo.js';
59
+ export { OxyConsentScreen } from './ui/components/OxyConsentScreen.js';
60
+ export type { OxyConsentScreenProps, OxyConsentApplication, OxyConsentUser, } from './ui/components/OxyConsentScreen.js';
58
61
  export { RequireOxyAuth } from './ui/components/RequireOxyAuth.js';
59
62
  export type { RequireOxyAuthProps, RequireOxyAuthPrompt } from './ui/components/RequireOxyAuth.js';
60
63
  export { default as FollowButton } from './ui/components/FollowButton.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAYH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gCAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAAyB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAAyB,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,uBAAoB,CAAC;AAKhF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA4B,CAAC;AAKxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAAuB,CAAC;AACrD,OAAO,EACH,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,2BAAwB,CAAC;AAKhC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAsB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,yBAAsB,CAAC;AAKpE,OAAO,EACH,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,GACnB,MAAM,yCAAsC,CAAC;AAC9C,OAAO,EACH,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,GACzB,MAAM,0CAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,0CAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,yBAAyB,GAC5B,MAAM,yCAAsC,CAAC;AAG9C,YAAY,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,oCAAiC,CAAC;AAKzC,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,wBAAwB,EACxB,qBAAqB,EACrB,aAAa,GAChB,MAAM,6CAA0C,CAAC;AAClD,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAClB,MAAM,8CAA2C,CAAC;AACnD,OAAO,EACH,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,yCAAsC,CAAC;AAC9C,YAAY,EACR,qBAAqB,EACrB,qBAAqB,GACxB,MAAM,yCAAsC,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAmC,CAAC;AAQjE,OAAO,EACH,SAAS,EACT,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,yBAAyB,EACzB,8BAA8B,GACjC,MAAM,iCAA8B,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAA8B,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAA8B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA4B,CAAC;AAK7D,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,6BAA0B,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA0B,CAAC;AAKvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAA6B,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,gCAA6B,CAAC;AAK/E,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,2BAAwB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,oCAAiC,CAAC;AACzC,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oCAAiC,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,MAAM,kCAA+B,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAA+B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAkC,CAAC;AACpE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,qCAAkC,CAAC;AAO1C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAgC,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iCAA8B,CAAC;AACvE,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,iCAA8B,CAAC;AACvH,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAA+B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAA+B,CAAC;AAKzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kCAA+B,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAA+B,CAAC;AAQxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAkC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,MAAM,qCAAkC,CAAC;AAGpF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,mCAAgC,CAAC;AAC9E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAkC,CAAC;AAGlF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,qCAAkC,CAAC;AAClF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,sCAAmC,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAKtF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uCAAoC,CAAC;AACvF,YAAY,EAAE,SAAS,EAAE,MAAM,2BAAwB,CAAC;AAQxD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yCAAsC,CAAC"}
@@ -22,8 +22,24 @@
22
22
  * Per-account color re-theming uses Bloom's `APP_COLOR_PRESETS` + `BloomColorScope`
23
23
  * (same visual language auth.oxy.so uses). Base theming is `useTheme()` + a
24
24
  * `StyleSheet`, so the dialog renders correctly in EVERY consumer — including apps
25
- * that do not use NativeWind (e.g. the accounts app). Modal contents are wrapped
26
- * in `<GestureHandlerRootView>` because RN's `Modal` renders into its own window.
25
+ * that do not use NativeWind (e.g. the accounts app).
26
+ *
27
+ * The surface is Bloom's `<Dialog>` (`@oxyhq/bloom/dialog`) with a responsive
28
+ * `placement` — a bottom sheet on narrow viewports, a centered card on wide ones.
29
+ * It REPLACES the hand-rolled RN `<Modal>` + `<GestureHandlerRootView>` + manual
30
+ * backdrop/card wrapper this component used before. That RN `<Modal>` is invisible
31
+ * under React StrictMode on web: react-native-web's `ModalPortal` appends its host
32
+ * node during render but removes it in an effect cleanup and never re-attaches, so
33
+ * the dialog never paints in a dev Vite build. Bloom's `<Dialog>` renders through
34
+ * its own Portal and has no such lifecycle hazard.
35
+ *
36
+ * Open/close is CONTROLLED by `isAccountDialogOpen` (the `open` prop); the Dialog
37
+ * stays mounted whenever the controller exists so it can animate its own close.
38
+ * Backdrop / swipe-to-dismiss is disabled (`dismissOnBackdrop={false}`) on purpose:
39
+ * Bloom's controlled `bottom` placement does not fire `onClose` on a gesture or
40
+ * backdrop dismissal, so allowing it would desync `isAccountDialogOpen` from the
41
+ * sheet and block reopening. The header close button (and a successful switch)
42
+ * drive `closeAccountDialog`, which flips `open` and runs the exit animation.
27
43
  */
28
44
  import type React from 'react';
29
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OxyAccountDialog.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkE/B;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAgJ7B,CAAC;AAqgBF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"OxyAccountDialog.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyAccountDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiE/B;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA+H7B,CAAC;AA8eF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,45 @@
1
+ /** The requesting application, resolved by the caller (never user-supplied raw). */
2
+ export interface OxyConsentApplication {
3
+ /** Display name of the requesting application. */
4
+ name: string;
5
+ /** Application icon — a URL or bare file id passed straight to `<Avatar source>`. */
6
+ iconUrl?: string;
7
+ /** Public website of the application, shown as a link when present. */
8
+ websiteUrl?: string;
9
+ /** Privacy policy URL, shown as a link when present. */
10
+ privacyPolicyUrl?: string;
11
+ /** Terms of service URL, shown as a link when present. */
12
+ termsUrl?: string;
13
+ /** Human-readable publisher, used for the "Published by …" provenance line. */
14
+ developerName?: string;
15
+ /** True for first-party / official Oxy applications. */
16
+ isOfficial?: boolean;
17
+ }
18
+ /** The account that will authorize the request (the currently signed-in user). */
19
+ export interface OxyConsentUser {
20
+ /** Real display name, when the profile has one. */
21
+ displayName?: string;
22
+ /** Normalized handle — the sanctioned fallback when `displayName` is absent. */
23
+ handle?: string;
24
+ /** Avatar — a URL or bare file id passed straight to `<Avatar source>`. */
25
+ avatarUri?: string;
26
+ }
27
+ export interface OxyConsentScreenProps {
28
+ /** The resolved requesting application. */
29
+ application: OxyConsentApplication;
30
+ /** OAuth scopes requested by the client (mapped to friendly labels). */
31
+ scopes: string[];
32
+ /** The account that will authorize the request, when known. */
33
+ user?: OxyConsentUser;
34
+ /** Approve handler — the caller mints the code / completes the flow. */
35
+ onAllow: () => void | Promise<void>;
36
+ /** Deny handler — the caller cancels the flow. */
37
+ onDeny: () => void;
38
+ /** True while a decision is in flight; disables both actions and spins Allow. */
39
+ busy?: boolean;
40
+ /** A blocking error message for the request, when present. */
41
+ error?: string | null;
42
+ }
43
+ export declare function OxyConsentScreen({ application, scopes, user, onAllow, onDeny, busy, error, }: OxyConsentScreenProps): import("react").JSX.Element;
44
+ export default OxyConsentScreen;
45
+ //# sourceMappingURL=OxyConsentScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OxyConsentScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyConsentScreen.tsx"],"names":[],"mappings":"AA8BA,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,2CAA2C;IAC3C,WAAW,EAAE,qBAAqB,CAAC;IACnC,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,wEAAwE;IACxE,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,kDAAkD;IAClD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAmED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,IAAY,EACZ,KAAY,GACb,EAAE,qBAAqB,+BA+KvB;AAoID,eAAe,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAIjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAqB,CAAC;AAqE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAuOrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAIjH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAqB,CAAC;AAqE5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAyOrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,5 +1,32 @@
1
1
  import type React from 'react';
2
2
  import { type ViewStyle, type TextStyle, type StyleProp } from 'react-native';
3
+ /**
4
+ * `sessionStorage` keys under which a third-party "Sign in with Oxy" OAuth flow
5
+ * persists its CSRF `state` and PKCE `code_verifier` across the authorize
6
+ * redirect. The Relying Party's redirect-URI callback reads them back to
7
+ * validate the returned `state` and replay the verifier on the token exchange.
8
+ *
9
+ * Web only: a browser RP navigates away to `auth.oxy.so` and back, so the
10
+ * handshake must survive a full-page redirect. Native completes the flow inside
11
+ * a single `WebBrowser` auth session and surfaces the handshake via
12
+ * {@link OxySignInButtonProps.onOAuthResult} instead.
13
+ */
14
+ export declare const OXY_OAUTH_STATE_STORAGE_KEY = "oxy_oauth_state";
15
+ export declare const OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY = "oxy_oauth_code_verifier";
16
+ /**
17
+ * The OAuth handshake surfaced to a NATIVE third-party RP via
18
+ * {@link OxySignInButtonProps.onOAuthResult} so it can finish the code exchange
19
+ * (`POST /auth/oauth/token`). Web RPs read the same `state` / `code_verifier`
20
+ * back from `sessionStorage` across the redirect and do not need this callback.
21
+ */
22
+ export interface OxyOAuthResult {
23
+ /** Deep-link URL the native auth session returned to (`?code=…&state=…`), or `null` if unobserved. */
24
+ redirectUrl: string | null;
25
+ /** The CSRF `state` sent on the authorize request; the RP must match it on return. */
26
+ state: string;
27
+ /** The PKCE `code_verifier` to replay on the token exchange. */
28
+ codeVerifier: string;
29
+ }
3
30
  export interface OxySignInButtonProps {
4
31
  /**
5
32
  * Controls the appearance of the button
@@ -34,6 +61,35 @@ export interface OxySignInButtonProps {
34
61
  * @default false
35
62
  */
36
63
  showWhenAuthenticated?: boolean;
64
+ /**
65
+ * Exact registered redirect URI the OAuth authorization code is returned to.
66
+ * REQUIRED only for third-party (`type: 'third_party'`) applications, which
67
+ * sign in via an OAuth + PKCE redirect to `auth.oxy.so`. First-party /
68
+ * official apps open the in-app dialog and ignore this prop. If a third-party
69
+ * app resolves without it, the button logs an error and does nothing (it will
70
+ * not invent a redirect URI).
71
+ */
72
+ oauthRedirectUri?: string;
73
+ /**
74
+ * Native only: receives the OAuth handshake after a third-party auth session
75
+ * so the RP can finish the token exchange. On web the handshake is read back
76
+ * from `sessionStorage` across the full-page redirect, so this is not used
77
+ * there. A native third-party sign-in with NO `onOAuthResult` handler cannot
78
+ * complete (the `state` + `code_verifier` are lost) and logs a warning.
79
+ *
80
+ * @example
81
+ * ```tsx
82
+ * <OxySignInButton
83
+ * oauthRedirectUri="myapp://oauth/callback"
84
+ * onOAuthResult={({ redirectUrl, state, codeVerifier }) => {
85
+ * if (!redirectUrl) return;
86
+ * const code = new URL(redirectUrl).searchParams.get('code');
87
+ * // → POST /auth/oauth/token { code, code_verifier: codeVerifier, state }
88
+ * }}
89
+ * />
90
+ * ```
91
+ */
92
+ onOAuthResult?: (result: OxyOAuthResult) => void;
37
93
  }
38
94
  /**
39
95
  * A pre-styled button component for signing in with Oxy identity