@oxy.so/services 11.10.0 → 11.12.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.
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/index.js +17 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/appAssertion/AppAssertionContext.js +79 -0
- package/lib/commonjs/ui/appAssertion/AppAssertionContext.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appAssertionManager.js +309 -0
- package/lib/commonjs/ui/appAssertion/appAssertionManager.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.js +18 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.native.js +30 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityPlatform.native.js.map +1 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityTypes.js +6 -0
- package/lib/commonjs/ui/appAssertion/appIntegrityTypes.js.map +1 -0
- package/lib/commonjs/ui/components/fileManagement/FileAppAccessSection.js +121 -0
- package/lib/commonjs/ui/components/fileManagement/FileAppAccessSection.js.map +1 -0
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +6 -2
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +10 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js +4 -0
- package/lib/commonjs/ui/hooks/mutations/mutationKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +49 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +6 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js +35 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/commonjs/ui/index.js +7 -0
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/appAssertion/AppAssertionContext.js +72 -0
- package/lib/module/ui/appAssertion/AppAssertionContext.js.map +1 -0
- package/lib/module/ui/appAssertion/appAssertionManager.js +304 -0
- package/lib/module/ui/appAssertion/appAssertionManager.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.js +14 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.native.js +26 -0
- package/lib/module/ui/appAssertion/appIntegrityPlatform.native.js.map +1 -0
- package/lib/module/ui/appAssertion/appIntegrityTypes.js +4 -0
- package/lib/module/ui/appAssertion/appIntegrityTypes.js.map +1 -0
- package/lib/module/ui/components/fileManagement/FileAppAccessSection.js +116 -0
- package/lib/module/ui/components/fileManagement/FileAppAccessSection.js.map +1 -0
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +6 -2
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +10 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationKeys.js +4 -0
- package/lib/module/ui/hooks/mutations/mutationKeys.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +47 -0
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +6 -1
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js +33 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/module/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/module/ui/index.js +1 -0
- package/lib/module/ui/index.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/appAssertion/AppAssertionContext.d.ts +41 -0
- package/lib/typescript/commonjs/ui/appAssertion/AppAssertionContext.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appAssertionManager.d.ts +92 -0
- package/lib/typescript/commonjs/ui/appAssertion/appAssertionManager.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.d.ts +9 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.native.d.ts +3 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityPlatform.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityTypes.d.ts +22 -0
- package/lib/typescript/commonjs/ui/appAssertion/appIntegrityTypes.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileAppAccessSection.d.ts +15 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileAppAccessSection.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts +3 -0
- package/lib/typescript/commonjs/ui/hooks/mutations/mutationKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +13 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +5 -0
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +11 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/index.d.ts +2 -0
- package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/appAssertion/AppAssertionContext.d.ts +41 -0
- package/lib/typescript/module/ui/appAssertion/AppAssertionContext.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appAssertionManager.d.ts +92 -0
- package/lib/typescript/module/ui/appAssertion/appAssertionManager.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.d.ts +9 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.native.d.ts +3 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityPlatform.native.d.ts.map +1 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityTypes.d.ts +22 -0
- package/lib/typescript/module/ui/appAssertion/appIntegrityTypes.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileAppAccessSection.d.ts +15 -0
- package/lib/typescript/module/ui/components/fileManagement/FileAppAccessSection.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +2 -1
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts +3 -0
- package/lib/typescript/module/ui/hooks/mutations/mutationKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +13 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +5 -0
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +11 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/module/ui/index.d.ts +2 -0
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/package.json +7 -5
- package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/src/assets/fonts/icons/manifest.json +5 -4
- package/src/index.ts +12 -0
- package/src/ui/appAssertion/AppAssertionContext.tsx +109 -0
- package/src/ui/appAssertion/appAssertionManager.ts +363 -0
- package/src/ui/appAssertion/appIntegrityPlatform.native.ts +27 -0
- package/src/ui/appAssertion/appIntegrityPlatform.ts +12 -0
- package/src/ui/appAssertion/appIntegrityTypes.ts +23 -0
- package/src/ui/components/fileManagement/FileAppAccessSection.tsx +111 -0
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +5 -1
- package/src/ui/context/OxyContext.tsx +13 -1
- package/src/ui/hooks/mutations/mutationKeys.ts +5 -0
- package/src/ui/hooks/mutations/useAccountMutations.ts +33 -0
- package/src/ui/hooks/queries/queryKeys.ts +5 -0
- package/src/ui/hooks/queries/useFileQueries.ts +44 -2
- package/src/ui/icons/subsetGlyphMaps.ts +1 -0
- package/src/ui/index.ts +2 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `useAppAssertion()` (ADR 0045): this app's Oxy-signed assertion of which app
|
|
3
|
+
* it is, for the signed-in session.
|
|
4
|
+
*
|
|
5
|
+
* `OxyProvider` mounts {@link AppAssertionProvider} itself and the manager
|
|
6
|
+
* obtains and refreshes the assertion on its own; an app never handles the
|
|
7
|
+
* proof. Something that calls a service which needs to know the app (Alia's
|
|
8
|
+
* SDK, for an agent confined to its application) attaches
|
|
9
|
+
* `await getAppAssertionHeaders()` to the request.
|
|
10
|
+
*/
|
|
11
|
+
import type { OxyServices } from '@oxy.so/core';
|
|
12
|
+
import { type ReactNode } from 'react';
|
|
13
|
+
import type { StorageInterface } from '../utils/storageHelpers.js';
|
|
14
|
+
import { type AppAssertionSnapshot } from './appAssertionManager.js';
|
|
15
|
+
import type { AppIntegrityPlatform } from './appIntegrityTypes.js';
|
|
16
|
+
export interface AppAssertionProviderProps {
|
|
17
|
+
readonly children: ReactNode;
|
|
18
|
+
readonly oxyServices: OxyServices;
|
|
19
|
+
readonly clientId: string | null;
|
|
20
|
+
/** The signed-in person, once the session can call Oxy; `null` otherwise. */
|
|
21
|
+
readonly userId: string | null;
|
|
22
|
+
readonly sessionId: string | null;
|
|
23
|
+
readonly storage: StorageInterface | null;
|
|
24
|
+
readonly storageKeyPrefix: string;
|
|
25
|
+
/** Replaces the build's own platform, in tests. */
|
|
26
|
+
readonly integrity?: AppIntegrityPlatform;
|
|
27
|
+
}
|
|
28
|
+
export declare function AppAssertionProvider({ children, oxyServices, clientId, userId, sessionId, storage, storageKeyPrefix, integrity, }: AppAssertionProviderProps): import("react").JSX.Element;
|
|
29
|
+
export interface UseAppAssertionResult extends AppAssertionSnapshot {
|
|
30
|
+
/** A current assertion, obtained now when there is none or it is about to expire; `null` when there can be none. */
|
|
31
|
+
readonly getAppAssertion: () => Promise<string | null>;
|
|
32
|
+
/** `{ 'X-Oxy-App-Assertion': <assertion> }`, or `{}` when there is none. */
|
|
33
|
+
readonly getAppAssertionHeaders: () => Promise<Record<string, string>>;
|
|
34
|
+
}
|
|
35
|
+
export declare class AppAssertionProviderMissingError extends Error {
|
|
36
|
+
readonly code = "oxy_provider_missing";
|
|
37
|
+
constructor();
|
|
38
|
+
}
|
|
39
|
+
/** This app's assertion of which app it is, kept current for the signed-in session. */
|
|
40
|
+
export declare function useAppAssertion(): UseAppAssertionResult;
|
|
41
|
+
//# sourceMappingURL=AppAssertionContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppAssertionContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/appAssertion/AppAssertionContext.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAAyB,CAAC;AAEhE,OAAO,EAAuB,KAAK,oBAAoB,EAAE,MAAM,0BAAuB,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAqB,CAAC;AAIhE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,mDAAmD;IACnD,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAC3C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,gBAAgB,EAChB,SAAgC,GACjC,EAAE,yBAAyB,+BA0B3B;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,oHAAoH;IACpH,QAAQ,CAAC,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvD,4EAA4E;IAC5E,QAAQ,CAAC,sBAAsB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACxE;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,IAAI,0BAA0B;;CAMxC;AAED,uFAAuF;AACvF,wBAAgB,eAAe,IAAI,qBAAqB,CAavD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The app's assertion of which app it is (ADR 0045), obtained and refreshed for
|
|
3
|
+
* the signed-in session without any app code.
|
|
4
|
+
*
|
|
5
|
+
* One manager per `OxyProvider`. For the active session it resolves the app's
|
|
6
|
+
* application id from its registered `clientId`, proves the app by platform —
|
|
7
|
+
* the browser's `Origin` on the web, Play Integrity on Android, App Attest on
|
|
8
|
+
* iOS — trades the proof for an Oxy-signed `OXY-APP+JWT`, and refreshes it a
|
|
9
|
+
* minute before it expires. A session change drops the assertion at once: an
|
|
10
|
+
* assertion names exactly one person and one session.
|
|
11
|
+
*
|
|
12
|
+
* Outcomes are values, never thrown: `ready`, `unsupported` (this build cannot
|
|
13
|
+
* prove itself: no `clientId`, no native module, App Attest unavailable) or
|
|
14
|
+
* `unavailable` (Oxy refused or could not be reached). A refusal that will not
|
|
15
|
+
* change for this session (an unregistered origin or platform) is not retried
|
|
16
|
+
* until the session changes; anything else is retried with a backoff.
|
|
17
|
+
*/
|
|
18
|
+
import type { AppAssertionPlatform } from '@oxy.so/contracts';
|
|
19
|
+
import type { OxyServices } from '@oxy.so/core';
|
|
20
|
+
import type { StorageInterface } from '../utils/storageHelpers.js';
|
|
21
|
+
import type { AppIntegrityPlatform } from './appIntegrityTypes.js';
|
|
22
|
+
export type AppAssertionStatus = 'idle' | 'pending' | 'ready' | 'unavailable' | 'unsupported';
|
|
23
|
+
export interface AppAssertionSnapshot {
|
|
24
|
+
readonly status: AppAssertionStatus;
|
|
25
|
+
/** The `OXY-APP+JWT`, to send as `X-Oxy-App-Assertion`. */
|
|
26
|
+
readonly assertion: string | null;
|
|
27
|
+
readonly applicationId: string | null;
|
|
28
|
+
readonly platform: AppAssertionPlatform | null;
|
|
29
|
+
/** Epoch milliseconds. */
|
|
30
|
+
readonly expiresAt: number | null;
|
|
31
|
+
/** Why there is none: an `APP_ASSERTION_ERROR_CODES` value, or an SDK reason. */
|
|
32
|
+
readonly error: string | null;
|
|
33
|
+
}
|
|
34
|
+
export interface AppAssertionSession {
|
|
35
|
+
readonly userId: string;
|
|
36
|
+
readonly sessionId: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AppAssertionManagerOptions {
|
|
39
|
+
readonly oxyServices: Pick<OxyServices, 'apps'>;
|
|
40
|
+
readonly clientId: string | null;
|
|
41
|
+
readonly integrity: AppIntegrityPlatform;
|
|
42
|
+
/** Where an iOS install keeps its App Attest key id. */
|
|
43
|
+
readonly storage: () => StorageInterface | null;
|
|
44
|
+
readonly storageKeyPrefix: string;
|
|
45
|
+
readonly now?: () => number;
|
|
46
|
+
readonly setTimer?: (run: () => void, ms: number) => unknown;
|
|
47
|
+
readonly clearTimer?: (timer: unknown) => void;
|
|
48
|
+
}
|
|
49
|
+
export declare class AppAssertionManager {
|
|
50
|
+
private readonly options;
|
|
51
|
+
private snapshot;
|
|
52
|
+
private readonly listeners;
|
|
53
|
+
private session;
|
|
54
|
+
/** Bumped on every session change; a result for an older generation is dropped. */
|
|
55
|
+
private generation;
|
|
56
|
+
private inflight;
|
|
57
|
+
private timer;
|
|
58
|
+
private retryMs;
|
|
59
|
+
private retryAt;
|
|
60
|
+
private applicationId;
|
|
61
|
+
private preparedProject;
|
|
62
|
+
private readonly now;
|
|
63
|
+
private readonly setTimer;
|
|
64
|
+
private readonly clearTimer;
|
|
65
|
+
constructor(options: AppAssertionManagerOptions);
|
|
66
|
+
readonly subscribe: (listener: () => void) => (() => void);
|
|
67
|
+
readonly getSnapshot: () => AppAssertionSnapshot;
|
|
68
|
+
/**
|
|
69
|
+
* A current assertion for the active session, obtaining one when there is
|
|
70
|
+
* none or it is about to expire; `null` when this app cannot have one now.
|
|
71
|
+
*/
|
|
72
|
+
readonly getAppAssertion: () => Promise<string | null>;
|
|
73
|
+
/**
|
|
74
|
+
* `{ 'X-Oxy-App-Assertion': <assertion> }` for a request to a service that
|
|
75
|
+
* needs to know the app (Alia), or `{}` when there is none.
|
|
76
|
+
*/
|
|
77
|
+
readonly getAppAssertionHeaders: () => Promise<Record<string, string>>;
|
|
78
|
+
/** Follow the active session; `null` when signed out or not yet able to call Oxy. */
|
|
79
|
+
setSession(session: AppAssertionSession | null): void;
|
|
80
|
+
/** Stop all work. A later `setSession` starts again. */
|
|
81
|
+
dispose(): void;
|
|
82
|
+
private refresh;
|
|
83
|
+
private obtain;
|
|
84
|
+
private resolveApplicationId;
|
|
85
|
+
private proveAndroid;
|
|
86
|
+
private proveIos;
|
|
87
|
+
private attestKey;
|
|
88
|
+
private schedule;
|
|
89
|
+
private cancelTimer;
|
|
90
|
+
private publish;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=appAssertionManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appAssertionManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/appAssertion/appAssertionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Web: the app proves itself with the browser's `Origin`, which Oxy reads from
|
|
3
|
+
* the request itself (ADR 0045). Nothing to load.
|
|
4
|
+
*
|
|
5
|
+
* Native builds resolve `appIntegrityPlatform.native.ts` instead.
|
|
6
|
+
*/
|
|
7
|
+
import type { AppIntegrityPlatform } from './appIntegrityTypes.js';
|
|
8
|
+
export declare const appIntegrityPlatform: AppIntegrityPlatform;
|
|
9
|
+
//# sourceMappingURL=appIntegrityPlatform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appIntegrityPlatform.d.ts","sourceRoot":"","sources":["../../../../../src/ui/appAssertion/appIntegrityPlatform.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAqB,CAAC;AAEhE,eAAO,MAAM,oBAAoB,EAAE,oBAGlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appIntegrityPlatform.native.d.ts","sourceRoot":"","sources":["../../../../../src/ui/appAssertion/appIntegrityPlatform.native.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAsB,oBAAoB,EAAE,MAAM,wBAAqB,CAAC;AAWpF,eAAO,MAAM,oBAAoB,EAAE,oBAIlC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AppAssertionPlatform } from '@oxy.so/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* The part of `@expo/app-integrity` the SDK uses: App Attest on iOS, the Play
|
|
4
|
+
* Integrity standard request on Android. Declared here rather than imported so
|
|
5
|
+
* the web build never names the native package.
|
|
6
|
+
*/
|
|
7
|
+
export interface AppIntegrityModule {
|
|
8
|
+
/** Whether this iOS device offers App Attest. `true` on Android. */
|
|
9
|
+
readonly isSupported: boolean;
|
|
10
|
+
generateKeyAsync(): Promise<string>;
|
|
11
|
+
attestKeyAsync(keyId: string, challenge: string): Promise<string>;
|
|
12
|
+
generateAssertionAsync(keyId: string, challenge: string): Promise<string>;
|
|
13
|
+
prepareIntegrityTokenProviderAsync(cloudProjectNumber: string): Promise<void>;
|
|
14
|
+
requestIntegrityCheckAsync(requestHash: string): Promise<string>;
|
|
15
|
+
}
|
|
16
|
+
/** How this build proves which app it is. */
|
|
17
|
+
export interface AppIntegrityPlatform {
|
|
18
|
+
readonly platform: AppAssertionPlatform;
|
|
19
|
+
/** The native integrity module, or `null` where there is none (web, or a binary without it). */
|
|
20
|
+
loadIntegrity(): Promise<AppIntegrityModule | null>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=appIntegrityTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appIntegrityTypes.d.ts","sourceRoot":"","sources":["../../../../../src/ui/appAssertion/appIntegrityTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,kCAAkC,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC;IACxC,gGAAgG;IAChG,aAAa,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CACrD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
interface FileAppAccessSectionProps {
|
|
3
|
+
fileId: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* "Apps with access" (ADR 0043 stage 4c): the applications that can open this
|
|
7
|
+
* file on their own — one that stored it for the person (`upload`), one the
|
|
8
|
+
* person attached it to (`link`) — each with a Revoke action behind a
|
|
9
|
+
* confirmation. Revoking stops the application reading the file and every
|
|
10
|
+
* playback it started; the row leaves the list at once and comes back if the
|
|
11
|
+
* revoke fails. Shown only on the owner's own file.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FileAppAccessSection: React.FC<FileAppAccessSectionProps>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=FileAppAccessSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileAppAccessSection.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/FileAppAccessSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAiB/B,UAAU,yBAAyB;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAiFpE,CAAC"}
|
|
@@ -11,7 +11,8 @@ interface FileDetailsModalProps {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* File-detail panel — a rich presented surface (NOT a yes/no confirm): a file's
|
|
14
|
-
* icon + metadata
|
|
14
|
+
* icon + metadata, for the owner the applications that can open it ("Apps with
|
|
15
|
+
* access", ADR 0043 stage 4c), plus download / delete / cancel actions. Each action first
|
|
15
16
|
* dismisses this surface, then runs its handler, so a follow-up delete confirm
|
|
16
17
|
* stacks cleanly above whatever remains. Presented via {@link presentFileDetails}.
|
|
17
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileDetailsModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/FileDetailsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"FileDetailsModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/FileDetailsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,UAAU,qBAAqB;IAC7B,mEAAmE;IACnE,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2F5D,CAAC;AAEF,iFAAiF;AACjF,KAAK,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAExE,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAE3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4G/B,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAe,MAAM,sBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"OxyContext.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/OxyContext.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4G/B,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAe,MAAM,sBAAmB,CAAC;AAW/F,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAmB,CAAC;AAMhG,KAAK,0BAA0B,GAAG,IAAI,CACpC,eAAe,EACb,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,iBAAiB,GACjB,aAAa,GACb,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,CACtB,GAAG;IAAE,uBAAuB,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAI5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA6jDhE,CAAC;AAMF,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,0BAA0B;;CAMxC;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,QAAO,eAMzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,QAAO,eAAe,GAAG,IAAqC,CAAC;AAE1F,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,QAAO,0BAMpC,CAAC"}
|
|
@@ -26,5 +26,8 @@ export declare const mutationKeys: {
|
|
|
26
26
|
readonly connectedApps: {
|
|
27
27
|
readonly revoke: readonly ["mutation", "connectedApps", "revoke"];
|
|
28
28
|
};
|
|
29
|
+
readonly fileAppAccess: {
|
|
30
|
+
readonly revoke: readonly ["mutation", "fileAppAccess", "revoke"];
|
|
31
|
+
};
|
|
29
32
|
};
|
|
30
33
|
//# sourceMappingURL=mutationKeys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutationKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/mutationKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"mutationKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/mutationKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAkCf,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AssetMetadata, AssetUploadInput, NotificationPreferences, PrivacySettings, User, UserPreferences } from '@oxy.so/core';
|
|
1
|
+
import type { AssetMetadata, AssetUploadInput, FileApplicationAccessRevocation, NotificationPreferences, PrivacySettings, User, UserPreferences } from '@oxy.so/core';
|
|
2
2
|
/**
|
|
3
3
|
* Update user profile with optimistic updates and offline queue support
|
|
4
4
|
*/
|
|
@@ -314,5 +314,17 @@ export declare const useUploadFile: () => import("@tanstack/react-query").UseMut
|
|
|
314
314
|
metadata?: AssetMetadata;
|
|
315
315
|
onProgress?: (progress: number) => void;
|
|
316
316
|
}, unknown>;
|
|
317
|
+
/**
|
|
318
|
+
* Take an application's access to one of the person's files away (ADR 0043
|
|
319
|
+
* stage 4c): optimistic — the application leaves the cached list at once and
|
|
320
|
+
* comes back if the revoke fails — then the list is re-read either way. The
|
|
321
|
+
* caller shows its own toasts (it knows the application's name).
|
|
322
|
+
*/
|
|
323
|
+
export declare const useRevokeFileAppAccess: () => import("@tanstack/react-query").UseMutationResult<FileApplicationAccessRevocation, Error, {
|
|
324
|
+
fileId: string;
|
|
325
|
+
applicationId: string;
|
|
326
|
+
}, {
|
|
327
|
+
previous: import("@oxy.so/core").FileApplicationAccess[] | undefined;
|
|
328
|
+
}>;
|
|
317
329
|
export {};
|
|
318
330
|
//# sourceMappingURL=useAccountMutations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,IAAI,EACJ,eAAe,EAChB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,6 +80,11 @@ export declare const queryKeys: {
|
|
|
80
80
|
readonly list: (ownerId?: string) => readonly ["files", "list", string];
|
|
81
81
|
/** The owner's trash (ADR 0043 D5) — under `files.all`, so one invalidation covers both. */
|
|
82
82
|
readonly trash: (ownerId?: string) => readonly ["files", "trash", string];
|
|
83
|
+
/**
|
|
84
|
+
* The applications that can read one file with their own token (ADR 0043
|
|
85
|
+
* stage 4c) — under `files.all`, so a library invalidation refreshes it too.
|
|
86
|
+
*/
|
|
87
|
+
readonly appAccess: (fileId: string) => readonly ["files", "appAccess", string];
|
|
83
88
|
};
|
|
84
89
|
readonly connectedApps: {
|
|
85
90
|
readonly all: readonly ["connectedApps"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;uCACJ,MAAM,GAAG,IAAI;;;;;;iCAWnB,MAAM,EAAE;;kCAEP,MAAM;QACvB,yFAAyF;2CAC/D,MAAM,YAAY,MAAM;QAElD;;;;;WAKG;wCACoB,MAAM,YAAY,MAAM;sCAQ1B,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;uCAOH,MAAM;;oCAET,MAAM;;;;qCAML,MAAM;QAE1B,uDAAuD;kCACtC,MAAM;;;;oCAMJ,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCACJ,MAAM,cAAc,MAAM;;IAK9C,4GAA4G;;;oCAGvF,MAAM;;;;iCAKT,MAAM;;;;wCAMC,MAAM;;;;kCAOZ,MAAM;QACvB,4FAA4F;mCAC1E,MAAM;;;;;;;;
|
|
1
|
+
{"version":3,"file":"queryKeys.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/queryKeys.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,eAAO,MAAM,SAAS;;;;oCAKC,MAAM,EAAE;;qCAEP,MAAM;uCACJ,MAAM,GAAG,IAAI;;;;;;iCAWnB,MAAM,EAAE;;kCAEP,MAAM;QACvB,yFAAyF;2CAC/D,MAAM,YAAY,MAAM;QAElD;;;;;WAKG;wCACoB,MAAM,YAAY,MAAM;sCAQ1B,MAAM;;;;;iCAOX,MAAM;;qCAEF,MAAM;;oCAEP,MAAM;;;;;uCAOH,MAAM;;oCAET,MAAM;;;;qCAML,MAAM;QAE1B,uDAAuD;kCACtC,MAAM;;;;oCAMJ,MAAM,WAAW,MAAM,cAAc,MAAM;iCAE9C,MAAM;mCACJ,MAAM,cAAc,MAAM;;IAK9C,4GAA4G;;;oCAGvF,MAAM;;;;iCAKT,MAAM;;;;wCAMC,MAAM;;;;kCAOZ,MAAM;QACvB,4FAA4F;mCAC1E,MAAM;QACxB;;;WAGG;qCACiB,MAAM;;;;;;;;kCAYT,MAAM;;;;oCAMJ,MAAM;wCAEF,MAAM,GAAG,SAAS,SAAS,MAAM;;;;;;iCASxC,MAAM;;;;yCAME,MAAM;oCAEX,MAAM;mCAEP,MAAM;8CAEK,MAAM,WAAW,MAAM,WAAW,MAAM;;CAU/D,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,WAAW,KAAG,IAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,WAAW,KAAG,IAEhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,WAAW,KAAG,IAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,aAAa,WAAW,KAAG,IAElE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,WAAW,KAAG,IAEnE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,aAAa,WAAW,KAAG,IAEpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,aAAa,WAAW,KAAG,IAEnE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,4BAA4B,GAAI,aAAa,WAAW,KAAG,IAEvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,aAAa,WAAW,KAAG,IAEpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,GAAI,aAAa,WAAW,KAAG,IAEzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,aAAa,WAAW,KAAG,IAEhE,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* infinite scroll, pull-to-refresh, and optimistic upload reconciliation.
|
|
10
10
|
*/
|
|
11
11
|
import { type InfiniteData, type QueryClient } from '@tanstack/react-query';
|
|
12
|
-
import type { FileMetadata } from '@oxy.so/core';
|
|
12
|
+
import type { FileApplicationAccess, FileMetadata } from '@oxy.so/core';
|
|
13
13
|
/** Files fetched per page. */
|
|
14
14
|
export declare const FILES_PAGE_SIZE = 40;
|
|
15
15
|
/** Raw file record as returned by `oxyServices.assets.list` / `assetUpload`. */
|
|
@@ -63,4 +63,14 @@ export declare function removeFileFromCache(queryClient: QueryClient, ownerId: s
|
|
|
63
63
|
export declare function replaceFileInCache(queryClient: QueryClient, ownerId: string | undefined, oldId: string, newFile: FileMetadata): void;
|
|
64
64
|
/** Shallow-merge a metadata patch into a cached file (e.g. visibility change). */
|
|
65
65
|
export declare function patchFileMetadataInCache(queryClient: QueryClient, ownerId: string | undefined, fileId: string, metadataPatch: Record<string, unknown>): void;
|
|
66
|
+
/**
|
|
67
|
+
* The applications that can open one of the owner's files with their own
|
|
68
|
+
* token: one that stored it for the person, or one the person attached it to.
|
|
69
|
+
* Fetched when `enabled` (the owner's own file); `staleTime: 0` re-reads it
|
|
70
|
+
* every time the details open, since an application can gain access at any
|
|
71
|
+
* time (a new upload on the person's behalf).
|
|
72
|
+
*/
|
|
73
|
+
export declare const useFileAppAccess: (fileId: string, enabled?: boolean) => import("@tanstack/react-query").UseQueryResult<FileApplicationAccess[], Error>;
|
|
74
|
+
/** Drop one application from a file's cached access list (the optimistic half of a revoke). */
|
|
75
|
+
export declare function removeAppAccessFromCache(queryClient: QueryClient, fileId: string, applicationId: string): FileApplicationAccess[] | undefined;
|
|
66
76
|
//# sourceMappingURL=useFileQueries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useFileQueries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"useFileQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useFileQueries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/** Glyphs are decorative: hidden from assistive technology (see `decorativeIconSet`). */
|
|
2
|
-
declare const MaterialCommunityIcons: import("@expo/vector-icons/build/createIconSet").Icon<"function" | "devices" | "sort" | "at" | "security" | "account" | "message" | "network" | "email" | "bio" | "phone" | "web" | "read" | "android" | "logout" | "store" | "label" | "pan" | "text" | "solid" | "scale" | "link" | "loading" | "image" | "key" | "resize" | "ellipse" | "switch" | "opacity" | "wrap" | "alert" | "radio" | "contain" | "account-circle" | "account-cog-outline" | "account-eye-outline" | "account-group" | "account-multiple" | "account-multiple-outline" | "account-outline" | "account-plus" | "account-search" | "account-switch" | "alert-circle" | "alert-circle-outline" | "apps" | "archive" | "archive-arrow-down" | "arrow-down" | "arrow-left" | "arrow-up" | "bell" | "bell-outline" | "briefcase-outline" | "bug" | "bullhorn" | "cake-variant" | "cake-variant-outline" | "calendar" | "calendar-outline" | "camera" | "camera-outline" | "cancel" | "card" | "card-outline" | "cart-outline" | "cellphone" | "cellphone-basic" | "cellphone-message" | "cellphone-screenshot" | "chart-line" | "check-all" | "check-circle" | "chevron-down" | "chevron-up" | "chip" | "circle-outline" | "clock" | "clock-outline" | "close" | "close-circle" | "cloud-outline" | "cloud-upload" | "cloud-upload-outline" | "code-tags" | "cog" | "cog-outline" | "contacts" | "content-copy" | "controller" | "cookie" | "credit-card" | "cube-outline" | "database-outline" | "decimal" | "delete" | "delete-outline" | "dots-horizontal" | "download" | "download-outline" | "earth" | "ellipse-outline" | "email-outline" | "eye" | "eye-off-outline" | "file" | "file-document" | "file-document-edit-outline" | "file-document-outline" | "file-excel-outline" | "file-outline" | "file-pdf-box" | "filter-outline" | "flash" | "folder" | "folder-image" | "folder-open-outline" | "folder-outline" | "folder-zip-outline" | "ghost" | "gift" | "gift-outline" | "grid" | "heart" | "heart-outline" | "help-circle" | "help-circle-outline" | "history" | "image-multiple-outline" | "image-outline" | "information" | "information-outline" | "leaf" | "library" | "link-variant" | "lock-outline" | "magnify" | "map-marker" | "map-marker-multiple" | "map-marker-outline" | "message-outline" | "minus-circle" | "motion" | "music-note-outline" | "null" | "numeric" | "open-in-app" | "openid" | "palette" | "palette-outline" | "pencil-outline" | "phone-outline" | "play" | "plus" | "plus-circle" | "post" | "presentation" | "pulse" | "react" | "receipt-outline" | "rocket" | "school-outline" | "server" | "share-outline" | "shield" | "shield-account-outline" | "shield-check" | "shield-search" | "signature" | "sort-alphabetical-variant" | "sort-numeric-variant" | "star" | "sync" | "tag" | "tag-outline" | "text-box-outline" | "theme-light-dark" | "transfer" | "translate" | "trash-can-outline" | "tray-arrow-down" | "trophy" | "trophy-outline" | "update" | "video-outline" | "volume-off" | "wallet" | "wallet-outline" | "watch" | "wifi" | "wifi-off" | "wrench" | "xml", "OxyServicesMaterialCommunityIcons">;
|
|
2
|
+
declare const MaterialCommunityIcons: import("@expo/vector-icons/build/createIconSet").Icon<"function" | "devices" | "sort" | "at" | "security" | "account" | "message" | "network" | "email" | "bio" | "phone" | "web" | "read" | "android" | "logout" | "store" | "label" | "pan" | "text" | "solid" | "scale" | "link" | "loading" | "image" | "key" | "resize" | "ellipse" | "switch" | "opacity" | "wrap" | "alert" | "radio" | "contain" | "account-circle" | "account-cog-outline" | "account-eye-outline" | "account-group" | "account-multiple" | "account-multiple-outline" | "account-outline" | "account-plus" | "account-search" | "account-switch" | "alert-circle" | "alert-circle-outline" | "apps" | "archive" | "archive-arrow-down" | "arrow-down" | "arrow-left" | "arrow-up" | "bell" | "bell-outline" | "briefcase-outline" | "bug" | "bullhorn" | "cake-variant" | "cake-variant-outline" | "calendar" | "calendar-outline" | "camera" | "camera-outline" | "cancel" | "card" | "card-outline" | "cart-outline" | "cellphone" | "cellphone-basic" | "cellphone-message" | "cellphone-screenshot" | "chart-line" | "check-all" | "check-circle" | "chevron-down" | "chevron-up" | "chip" | "circle-outline" | "clock" | "clock-outline" | "close" | "close-circle" | "cloud-outline" | "cloud-upload" | "cloud-upload-outline" | "code-tags" | "cog" | "cog-outline" | "contacts" | "content-copy" | "controller" | "cookie" | "credit-card" | "cube-outline" | "database-outline" | "decimal" | "delete" | "delete-outline" | "dots-horizontal" | "download" | "download-outline" | "earth" | "ellipse-outline" | "email-outline" | "eye" | "eye-off-outline" | "file" | "file-document" | "file-document-edit-outline" | "file-document-outline" | "file-excel-outline" | "file-outline" | "file-pdf-box" | "filter-outline" | "flash" | "folder" | "folder-image" | "folder-open-outline" | "folder-outline" | "folder-zip-outline" | "ghost" | "gift" | "gift-outline" | "grid" | "heart" | "heart-outline" | "help-circle" | "help-circle-outline" | "history" | "image-multiple-outline" | "image-outline" | "information" | "information-outline" | "leaf" | "library" | "link-variant" | "lock-outline" | "magnify" | "map-marker" | "map-marker-multiple" | "map-marker-outline" | "message-outline" | "minus-circle" | "motion" | "music-note-outline" | "null" | "numeric" | "open-in-app" | "openid" | "palette" | "palette-outline" | "pencil-outline" | "phone-outline" | "play" | "plus" | "plus-circle" | "post" | "presentation" | "pulse" | "react" | "receipt-outline" | "rocket" | "school-outline" | "server" | "share-outline" | "shield" | "shield-account-outline" | "shield-check" | "shield-search" | "signature" | "sort-alphabetical-variant" | "sort-numeric-variant" | "star" | "sync" | "tag" | "tag-outline" | "text-box-outline" | "theme-light-dark" | "transfer" | "translate" | "trash-can-outline" | "tray-arrow-down" | "trophy" | "trophy-outline" | "update" | "upload" | "video-outline" | "volume-off" | "wallet" | "wallet-outline" | "watch" | "wifi" | "wifi-off" | "wrench" | "xml", "OxyServicesMaterialCommunityIcons">;
|
|
3
3
|
export default MaterialCommunityIcons;
|
|
4
4
|
//# sourceMappingURL=MaterialCommunityIcons.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialCommunityIcons.d.ts","sourceRoot":"","sources":["../../../../../src/ui/icons/MaterialCommunityIcons.ts"],"names":[],"mappings":"AAKA,yFAAyF;AACzF,QAAA,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"MaterialCommunityIcons.d.ts","sourceRoot":"","sources":["../../../../../src/ui/icons/MaterialCommunityIcons.ts"],"names":[],"mappings":"AAKA,yFAAyF;AACzF,QAAA,MAAM,sBAAsB,y9FAG3B,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
|
@@ -322,6 +322,7 @@ export declare const materialCommunityIconsGlyphMap: {
|
|
|
322
322
|
readonly trophy: 984376;
|
|
323
323
|
readonly "trophy-outline": 984378;
|
|
324
324
|
readonly update: 984752;
|
|
325
|
+
readonly upload: 984402;
|
|
325
326
|
readonly "video-outline": 986076;
|
|
326
327
|
readonly "volume-off": 984449;
|
|
327
328
|
readonly wallet: 984452;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsetGlyphMaps.d.ts","sourceRoot":"","sources":["../../../../../src/ui/icons/subsetGlyphMaps.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4InB,CAAC;AAEX,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"subsetGlyphMaps.d.ts","sourceRoot":"","sources":["../../../../../src/ui/icons/subsetGlyphMaps.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4InB,CAAC;AAEX,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmMjC,CAAC"}
|
|
@@ -29,6 +29,8 @@ export { default as OxyPayButton } from './components/OxyPayButton.js';
|
|
|
29
29
|
export type { OxyPayButtonProps } from './components/OxyPayButton.js';
|
|
30
30
|
export { default as ProfileButton } from './components/ProfileButton.js';
|
|
31
31
|
export { useOxy, useOptionalOxy, OxyProviderMissingError } from './context/OxyContext.js';
|
|
32
|
+
export { useAppAssertion } from './appAssertion/AppAssertionContext.js';
|
|
33
|
+
export type { UseAppAssertionResult } from './appAssertion/AppAssertionContext.js';
|
|
32
34
|
export { useAuth } from './hooks/useAuth.js';
|
|
33
35
|
export type { AuthActions, AuthState, SignInOutcome, UseAuthReturn } from './hooks/useAuth.js';
|
|
34
36
|
export { useFollow, useSeedFollowStatuses } from './hooks/useFollow.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAE7F,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAiC,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,8CAA8C;AAC9C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,mDAAmD;AACnD,YAAY,EAAE,iBAAiB,EAAE,MAAM,8BAA2B,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,yBAAsB,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAoC,CAAC;AACrE,YAAY,EAAE,qBAAqB,EAAE,MAAM,uCAAoC,CAAC;AAChF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAiB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAM9E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAGlD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mCAAgC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxy.so/services",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.12.0",
|
|
4
4
|
"description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -140,15 +140,16 @@
|
|
|
140
140
|
},
|
|
141
141
|
"dependencies": {
|
|
142
142
|
"@expo/config-plugins": "57.0.9",
|
|
143
|
-
"@oxy.so/contracts": "^4.
|
|
143
|
+
"@oxy.so/contracts": "^4.24.0",
|
|
144
144
|
"color": "^5.0.3",
|
|
145
145
|
"@peable.to/sdk": "0.2.7"
|
|
146
146
|
},
|
|
147
147
|
"devDependencies": {
|
|
148
148
|
"@commitlint/cli": "^21.2.1",
|
|
149
149
|
"@commitlint/config-conventional": "^21.2.0",
|
|
150
|
+
"@expo/app-integrity": "~57.0.2",
|
|
150
151
|
"@expo/vector-icons": "^15.0.3",
|
|
151
|
-
"@oxy.so/core": "4.
|
|
152
|
+
"@oxy.so/core": "4.21.0",
|
|
152
153
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
153
154
|
"@react-native-community/netinfo": "^12.0.1",
|
|
154
155
|
"@react-native/babel-preset": "^0.86.2",
|
|
@@ -197,11 +198,12 @@
|
|
|
197
198
|
"zustand": "^5.0.14"
|
|
198
199
|
},
|
|
199
200
|
"//@oxy.so/bloom": "RE-RAISE THIS FLOOR ON EVERY BREAKING BLOOM RELEASE, in the same commit as the root package.json catalog entry and the code that requires it. The breaking position is the MAJOR, so `^3.0.1` means `>=3.0.1 <4.0.0`: 3.x minors are admitted on semver's additive promise, and Bloom 4.0.0 is refused until someone raises this deliberately. The CAP is the part that is load-bearing. An earlier revision of this key recorded the opposite trade -- an uncapped `>=` floor, accepted so that intentionally-breaking Bloom 0.x minors would not be blocked -- and that trade is closed by evidence rather than by preference: an unbounded range is exactly what let `bun install` pair this package with Bloom 1.0.0 and emit no warning at all, and 1.0.0 broke it four ways (a deleted provider, a renamed confirm option, a renamed Chip fill, and two REMOVED SUBPATHS that fail at bundle time, before any typecheck runs). A floor is a claim about what was measured; a cap is the claim that nothing beyond it was. RAISED TO 3.0.1 from `^2.1.0`. Bloom 3.0.0 breaks exactly two things -- `PageHeader` defaults to `presentation=\"floating\"` and stops hiding the title under `transparent`, and `Field disabled` now reaches the control that reads the field context -- and THIS PACKAGE IMPORTS NEITHER: it renders no `PageHeader` and no `Field`, and 3.0 removes no subpath (unlike 2.0.0, which is why that floor cost code changes and this one does not). Its six `transparent` occurrences are CSS colour values, not the PageHeader prop. The cap had to move rather than widen to a union, because leaving `^2.1.0` in place is what made `bun install` resolve a SECOND, nested Bloom 2.12.4 under this package for any app on Bloom 3 -- two copies of a library whose 3.0 contracts (`control-surface`, `TopEdgeProvider`, `ScrollOffsetProvider`) are React contexts, so a provider from one copy cannot be read by a consumer from the other. Mention's `oxyRuntimeCompatibility` test is what caught it; nothing in a typecheck can. RAISED AGAIN TO 3.2.0 from `^3.0.1`, for the same class of reason the 2.x note records, only in the other direction: 3.2.0 ADDS the per-glyph icon subpaths (`@oxy.so/bloom/icons/RiAtLine`) that this package's screens now import instead of the `@oxy.so/bloom/icons` barrel, and a missing subpath fails at bundle time, in the consumer's Metro, long after this package has typechecked and shipped. `^3.0.1` would have admitted Bloom 3.0.1 and 3.1.0, neither of which has those subpaths, so the floor is the only thing standing between a consumer and a red build. Nothing else about 3.1.0 or 3.2.0 is required here; the cap stays at the major. RAISED TO ^4.2.0: FollowButton now delegates its visuals to Bloom media-header FollowButton with loading, textStyle and large size; the new shared UI contracts require one Bloom4 context across Services and its consumer. RAISED TO ^4.31.0: the sign-in and account screens type one-time codes into `InputOtp` with `type=\"alphanumeric\"` (the long sign-in code and backup codes), which 4.31.0 adds; older 4.x drops the letters. RAISED TO ^4.35.0: every password field passes `revealable` to `TextFieldInput` (the eye button, 4.35.0); older 4.x drops the prop silently and the password cannot be shown. The provider also mounts `@oxy.so/bloom/locale` (4.32.0+). RAISED TO ^5.1.0 (services 9.0.0, a major because consumers must move to Bloom 5 with it): Bloom 5.0.0 types `Card`'s `style` without radius, border width or `overflow` (geometry goes through `radius`/`border`/`clipContent`) and stops clipping a Card's children by default, so `BenefitList`'s `overflow: 'visible'` became both a type error and unnecessary; it is removed. The cap MOVES rather than widening to a `^4 || ^5` union, for the reason the 3.0.1 note records: a union lets an app resolve a second, nested Bloom copy and split the React contexts. The floor is 5.1.0 because that is the version measured here (every package builds and tests against it); 5.0.0 was not measured. RAISED TO ^6.0.0 (services 10.0.0, a major because consumers must move to Bloom 6 with it, and because this package's own `FollowButton`/`FollowTargetButton` `size` moves with Bloom's vocabulary): Bloom 6.0.0 removes the duplicate spellings its 5.x types still admitted, and this package used four of them. The control `size` narrows to `xs|sm|md|lg`, so every `small`/`medium`/`large` handed to a Bloom control became `sm`/`md`/`lg`, and the Follow buttons' public `size` became `sm|md|lg` because it is passed straight through to Bloom's media-header `FollowButton`. `Switch` is controlled by `checked`/`onCheckedChange`, not `value`/`onValueChange`. `Button` has no `variant`: each call site names `appearance` and `tone` (the pair the 5.x recipe resolved the variant to, so nothing repaints), `LinkButton`'s colour is `linkTone`, and `PeableButton` renders `InverseButton`. `Card` takes `appearance=\"outline\"` for `variant=\"outlined\"`. The deprecated spellings Bloom 6 still accepts (`isInvalid`, Chip `color`/`variant`) are not breaks and are left alone. The cap MOVES rather than widening to a `^5 || ^6` union, for the reason the 3.0.1 note records: a union lets an app resolve a second, nested Bloom copy and split the React contexts. The floor is 6.0.0 because that is the version measured when this raise was made; the workspace catalog has since moved to ^6.2.0, which adds only the `cover-header` subpath this package does not import, so the floor stays. MAINTENANCE 6.2.1: floor >=6.2.1 and cap <6.3.0 deliberately admit only the reviewed patch line with native Back/X completion and SVG paint/resize fixes. Known 6.4.0 lacks these fixes; the exact root catalog pin prevents a caret from selecting it. A broader minor range requires forward-port and consumer acceptance. VERIFIED 7.1.2: the additional >=7.1.2 <7.2.0 line contains the reviewed native fixes. Services build/types and the website real browser provider/theme tests pass with one byte-verified Bloom copy at both the root and Services importer. The root catalog remains pinned to 6.2.1; consumers explicitly choose one supported line. Versions 6.3.x, 6.4.x and 7.1.0/7.1.1 remain excluded. VERIFIED 7.7.0: admit the progressive media-preview release as another explicit line, so consumers selecting it share one Bloom provider/theme/font context with Services. Existing supported lines and the workspace catalog stay unchanged; unreviewed 7.2-7.6 and 7.8+ remain excluded. VERIFIED 7.13.1: admit the accessible bottom-sheet dialog release so consumers selecting this line share Bloom surface, theme and overlay contexts with Services. Stable Services 11.1.1 validates the unchanged 11.1.0 source against 7.13.1 with 1040 tests, types and packed exports; the existing catalog and other supported peer lines stay unchanged. VERIFIED 7.14.0: the additive outlined Stepper release is covered by Services build, types and 1040 tests against the published package on the 11.1 maintenance branch. VERIFIED 7.15.0: additive Button focus, hover and keyboard events; the stable maintenance line passes types and all 1040 tests against the official package, preserving the existing peer lines. VERIFIED 7.16.1: the stable 11.1 maintenance line passes types and all 1040 tests against the official Accordion, rating and Dialog release; packed exports are verified. Preserve every existing peer line. VERIFIED 7.17.0: Services 11.1.5 maintenance types, 1040 tests, fresh build and packed exports pass against the official additive Carousel/Search and dialog-focus release. Preserve the existing catalog and peer lines on main. VERIFIED 7.18/7.19: the 11.1 maintenance line passed types and 1040 tests separately against both official releases; this main line passed types and all 1042 tests against 7.19.0 after building its workspace dependencies. The root catalog remains 6.2.1; apps choose one admitted line. VERIFIED 7.20.0: additive viewport observation, opt-in Meter/RatingBar reveal and Dialog minimum side gutter; Services types and all 1042 tests pass against the release candidate tarball. Existing peer lines and the workspace catalog remain unchanged. VERIFIED 7.21.0: configurable Dialog/BottomSheet backdrop and transition preserve defaults; this main line passes types and all 1042 tests against the byte-verified release candidate. Existing supported peer lines and the workspace catalog remain unchanged. VERIFIED 7.22.0: controlled Collapsible and rich RadioGroup composition preserve Services compatibility; maintenance Services types and all 1040 tests pass against the release candidate, with unchanged 11.1.0 runtime source. Mercaria validates the composed purchase panels in eight browser scenarios and all four client typechecks. VERIFIED 7.27.0: exact ColorScope roles, local mode and portal propagation preserve Services defaults. This main line passes types and all 114 suites / 1042 tests against the official 7.27.0 package with a single Bloom resolution. Stable 11.1.13 maintenance also passes types and all 113 suites / 1040 tests. Preserve the existing main catalog and earlier admitted peer lines. VERIFIED 7.28.0: types and all 114 suites / 1042 tests pass with the official CSS 3.1.0-rc.0 / NativeWind 5.0.0-rc.0 compiler pair. Maintenance also verifies Expo 56.0.23 and RN 0.85.3; no runtime source or framework peer changes are required. VERIFIED 7.29.0: TypeScript and all 114 suites / 1042 tests pass with the paired NativeWind 5.0.0-rc.0 and react-native-css 3.1.0-rc.0. Optional gallery lifecycle callback preserves existing surface behavior; runtime source unchanged. VERIFIED 7.30.0: TypeScript and all 114 suites / 1042 tests pass against the video-overlay release candidate with one Bloom runtime; existing framework catalog and runtime source stay unchanged. VERIFIED 7.31.0: TypeScript and all 114 suites / 1042 tests pass against the official 7.31.0 package with one Bloom runtime. It adds the `video-view` subpath (expo-video's VideoView with `playsInline` on, so web video plays inline on iPhone Safari) and routes MediaSurface through it; this package imports neither, and runtime source and framework catalog stay unchanged. VERIFIED 7.32.0 AND 7.33.0 (11.2.0-oxy-one.4): each official package installed as the one Bloom resolution; types and all 115 suites / 1050 tests pass against both (and against the 6.2.1 catalog). 7.32.0 adds the shared agent-avatar renderer and Clippo; 7.33.0 adds the lean `settings-modal/modal` and `settings-modal/fields` entries. Both are additive (no subpath removed, no peer or dependency changed) and this package imports neither family. The cap moves to <7.34.0 so a 7.33 patch (7.33.1 restores web TextField side padding) needs no services release. The root catalog stays 6.2.1. Same verification and fix as maintenance 11.1.18. VERIFIED 8.0.0 (11.2.0-oxy-one.4): types and all 115 suites / 1050 tests pass with 8.0.0 as the one Bloom resolution. Its only break is that `LinkPreviewCard` leaves the root barrel for `@oxy.so/bloom/link-preview` (its cover now loads through `expo-image`, which the root barrel must not link); this package imports neither. The 8.0 line is admitted beside 7.x, so an app moves to Bloom 8 without a services major. VERIFIED 8.1.1 AND 9.0.0 (11.2.0-oxy-one.5): each installed as the one Bloom resolution (8.1.1 from the registry, 9.0.0 from the packed release candidate); types and all 115 suites / 1050 tests pass against both, and against the 6.2.1 catalog. 8.1.x adds the unified agent-avatar renderer and changes nothing this package imports. 9.0.0 removes the `small` / `medium` / `large` spellings from control sizes (Chip, Badge, Sidebar, Rating and others), renames `AlertDialog` / `Command` `visible` + `onClose` to `open` + `onOpenChange`, replaces the composer's `listening` with `voiceState`, and swaps the glass material for blur and tint; this package used one of those, Chip `size=\"small\"` (three screens), now `sm`, which every admitted line accepts. The 8.1 minor joins the 8.0 line (one 8.x range) and the 9.0 line is admitted beside the earlier ones. The root catalog stays 6.2.1. VERIFIED 10.0.0 (11.2.0-oxy-one.7): installed from the registry as the one Bloom resolution; types and all 115 suites / 1050 tests pass. 10.0.0 makes an avatar one flat `AvatarCharacter` and removes `AvatarConfig` with its constants from `@oxy.so/bloom/agent-avatar`; this package imports nothing from that family, so nothing here changes. The 10.0 line is admitted beside the earlier ones. The root catalog stays 6.2.1.",
|
|
200
|
-
"//@oxy.so/core": "The core peer is the root catalog's `^4.
|
|
201
|
+
"//@oxy.so/core": "The core peer is the root catalog's `^4.21.0` (>=4.21.0 <5.0.0), and contracts is a `workspace:^` dependency (packed as ^<its version>). Both were EXACT pins: core since the Oxy One prerelease (4.5.0-oxy-one.0, which a caret range could not admit) and contracts by `workspace:*`; the reason left with the prerelease, and an exact pin made every core or contracts minor a peer conflict or a second nested copy in each app until services was republished. The FLOOR is the core this package is built and tested against and needs (4.21.0: `assets.listAppAccess` / `revokeAppAccess` for \"Apps with access\"; 4.18.0 before it: `assets.list({ status: 'trash' })`, `FileMetadata.trashedAt`, `AssetLiveStatus`); raise it, in the same commit, to the first core a change here requires. The CAP is the major: core 4.x minors are admitted on semver's additive promise, and core 5.0.0 is refused until it is measured here, because a second core copy splits the one OxyServices instance and session an app shares with this package.",
|
|
201
202
|
"peerDependencies": {
|
|
203
|
+
"@expo/app-integrity": ">=56.0.0 <58.0.0",
|
|
202
204
|
"@expo/vector-icons": "^15.0.3",
|
|
203
205
|
"@oxy.so/bloom": ">=6.2.1 <6.3.0 || >=7.1.2 <7.2.0 || >=7.7.0 <7.8.0 || >=7.13.1 <7.34.0 || >=8.0.0 <8.2.0 || >=9.0.0 <9.1.0 || >=10.0.0",
|
|
204
|
-
"@oxy.so/core": "^4.
|
|
206
|
+
"@oxy.so/core": "^4.21.0",
|
|
205
207
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
206
208
|
"@react-native-community/netinfo": ">=11.4.1 <13.0.0",
|
|
207
209
|
"@tanstack/query-async-storage-persister": "^5.101",
|
|
Binary file
|
|
Binary file
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"fontFamily": "OxyServicesIonicons",
|
|
7
7
|
"file": "src/assets/fonts/icons/OxyServicesIonicons.ttf",
|
|
8
8
|
"bytes": 43160,
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "d96ec296f01cc237bf8e087401879aeef569c82871f40e4447d63bc8a9eaab3e",
|
|
10
10
|
"names": [
|
|
11
11
|
"add",
|
|
12
12
|
"add-circle-outline",
|
|
@@ -152,8 +152,8 @@
|
|
|
152
152
|
"materialCommunityIcons": {
|
|
153
153
|
"fontFamily": "OxyServicesMaterialCommunityIcons",
|
|
154
154
|
"file": "src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf",
|
|
155
|
-
"bytes":
|
|
156
|
-
"sha256": "
|
|
155
|
+
"bytes": 29292,
|
|
156
|
+
"sha256": "a3bef5c42424d459860676f20d7f1e9aaea4f7295aba3d5361ca2195d8f1d59c",
|
|
157
157
|
"names": [
|
|
158
158
|
"account",
|
|
159
159
|
"account-circle",
|
|
@@ -337,6 +337,7 @@
|
|
|
337
337
|
"trophy",
|
|
338
338
|
"trophy-outline",
|
|
339
339
|
"update",
|
|
340
|
+
"upload",
|
|
340
341
|
"video-outline",
|
|
341
342
|
"volume-off",
|
|
342
343
|
"wallet",
|
|
@@ -352,5 +353,5 @@
|
|
|
352
353
|
}
|
|
353
354
|
},
|
|
354
355
|
"glyphMapsFile": "src/ui/icons/subsetGlyphMaps.ts",
|
|
355
|
-
"glyphMapsSha256": "
|
|
356
|
+
"glyphMapsSha256": "b0a3d21006a83bf10deac1c8e5bb1a4dacac3c0afe9d445ed856f766f49b6c01"
|
|
356
357
|
}
|
package/src/index.ts
CHANGED
|
@@ -58,6 +58,18 @@ export type {
|
|
|
58
58
|
} from './ui/runtime';
|
|
59
59
|
export type { LogoutResult, OxyContextState } from './ui/context/OxyContext';
|
|
60
60
|
export { useAuth } from './ui/hooks/useAuth';
|
|
61
|
+
// This app's Oxy-signed assertion of which app it is (ADR 0045), obtained and
|
|
62
|
+
// refreshed by the provider; attach `getAppAssertionHeaders()` to a request
|
|
63
|
+
// for a service that needs to know the app.
|
|
64
|
+
export {
|
|
65
|
+
useAppAssertion,
|
|
66
|
+
AppAssertionProviderMissingError,
|
|
67
|
+
} from './ui/appAssertion/AppAssertionContext';
|
|
68
|
+
export type { UseAppAssertionResult } from './ui/appAssertion/AppAssertionContext';
|
|
69
|
+
export type {
|
|
70
|
+
AppAssertionSnapshot,
|
|
71
|
+
AppAssertionStatus,
|
|
72
|
+
} from './ui/appAssertion/appAssertionManager';
|
|
61
73
|
export type { AuthState, AuthActions, SignInOutcome, UseAuthReturn } from './ui/hooks/useAuth';
|
|
62
74
|
export { createDeferredProductAnalytics } from './ui/analytics/productAnalytics';
|
|
63
75
|
export type { OxyProductEvent, ProductAnalytics } from './ui/analytics/productAnalytics';
|