@mission_sciences/provider-sdk 0.3.0 → 0.4.0-dev.f853e1d
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/README.md +24 -5
- package/dist/adapters/react/index.js +11 -10
- package/dist/adapters/react/index.js.map +1 -1
- package/dist/adapters/react/useMarketplaceSession.d.ts.map +1 -1
- package/dist/adapters/vue/index.js +10 -9
- package/dist/adapters/vue/index.js.map +1 -1
- package/dist/adapters/vue/useMarketplaceSession.d.ts +4 -0
- package/dist/adapters/vue/useMarketplaceSession.d.ts.map +1 -1
- package/dist/core/MarketplaceSDK.d.ts +12 -0
- package/dist/core/MarketplaceSDK.d.ts.map +1 -1
- package/dist/core/PurchaseStateManager.d.ts +28 -0
- package/dist/core/PurchaseStateManager.d.ts.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/marketplace-sdk.es.js +316 -2
- package/dist/marketplace-sdk.es.js.map +1 -1
- package/dist/marketplace-sdk.umd.js +1 -1
- package/dist/marketplace-sdk.umd.js.map +1 -1
- package/dist/types/index.d.ts +81 -16
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/PurchaseModal.d.ts +30 -0
- package/dist/ui/PurchaseModal.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* SDK Configuration
|
|
3
3
|
*/
|
|
4
4
|
export interface SDKConfig {
|
|
5
|
-
/** JWKS endpoint URL (
|
|
6
|
-
jwksUri
|
|
5
|
+
/** JWKS endpoint URL — REQUIRED, environment-aware (e.g., https://api.dev.generalwisdom.com/.well-known/jwks.json) */
|
|
6
|
+
jwksUri: string;
|
|
7
7
|
/** URL query parameter name containing the JWT (default: 'gwSession') */
|
|
8
8
|
jwtParamName?: string;
|
|
9
9
|
/** API endpoint for backend integration (Phase 2) */
|
|
@@ -22,8 +22,8 @@ export interface SDKConfig {
|
|
|
22
22
|
themeMode?: ThemeMode;
|
|
23
23
|
/** Application ID for validation */
|
|
24
24
|
applicationId?: string;
|
|
25
|
-
/** Marketplace URL for redirects (
|
|
26
|
-
marketplaceUrl
|
|
25
|
+
/** Marketplace URL for redirects — REQUIRED, environment-aware (e.g., https://dev.generalwisdom.com/) */
|
|
26
|
+
marketplaceUrl: string;
|
|
27
27
|
/** Enable heartbeat system (default: false) */
|
|
28
28
|
enableHeartbeat?: boolean;
|
|
29
29
|
/** Heartbeat interval in seconds (default: 30) */
|
|
@@ -80,19 +80,15 @@ export interface ModalStyles {
|
|
|
80
80
|
*/
|
|
81
81
|
export type ThemeMode = 'light' | 'dark' | 'auto';
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
83
|
+
* Purchase Result
|
|
84
84
|
*/
|
|
85
|
-
export interface
|
|
86
|
-
/**
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
/** Called when session expires or is ended */
|
|
93
|
-
onSessionEnd: () => void;
|
|
94
|
-
/** Called on any error */
|
|
95
|
-
onError: (error: Error) => void;
|
|
85
|
+
export interface PurchaseResult {
|
|
86
|
+
/** Item ID that was purchased */
|
|
87
|
+
itemId: string;
|
|
88
|
+
/** Transaction ID from payment processor */
|
|
89
|
+
transactionId: string;
|
|
90
|
+
/** Purchase amount */
|
|
91
|
+
amount: number;
|
|
96
92
|
}
|
|
97
93
|
/**
|
|
98
94
|
* Session Lifecycle Hook Contexts
|
|
@@ -179,6 +175,43 @@ export declare class SDKError extends Error {
|
|
|
179
175
|
statusCode?: number | undefined;
|
|
180
176
|
constructor(message: string, code: string, statusCode?: number | undefined);
|
|
181
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Purchase Error
|
|
180
|
+
*/
|
|
181
|
+
export declare class PurchaseError extends SDKError {
|
|
182
|
+
itemId: string;
|
|
183
|
+
constructor(message: string, code: string, itemId: string, statusCode?: number);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* SDK Event Handlers
|
|
187
|
+
*/
|
|
188
|
+
export interface SDKEvents {
|
|
189
|
+
/** Called when session successfully initialized */
|
|
190
|
+
onSessionStart: (data: SessionData) => void;
|
|
191
|
+
/** Called when warning threshold reached */
|
|
192
|
+
onSessionWarning: (data: {
|
|
193
|
+
remainingSeconds: number;
|
|
194
|
+
}) => void;
|
|
195
|
+
/** Called when session expires or is ended */
|
|
196
|
+
onSessionEnd: () => void;
|
|
197
|
+
/** Called on any error */
|
|
198
|
+
onError: (error: Error) => void;
|
|
199
|
+
/** Called when purchase process starts */
|
|
200
|
+
onPurchaseStart: (data: {
|
|
201
|
+
itemId: string;
|
|
202
|
+
quantity: number;
|
|
203
|
+
}) => void;
|
|
204
|
+
/** Called when purchase succeeds */
|
|
205
|
+
onPurchaseSuccess: (result: PurchaseResult) => void;
|
|
206
|
+
/** Called when purchase fails */
|
|
207
|
+
onPurchaseError: (error: PurchaseError) => void;
|
|
208
|
+
/** Called after successful requestPurchase */
|
|
209
|
+
onPurchaseComplete: (itemId: string) => void;
|
|
210
|
+
/** Called when purchase is cancelled by user */
|
|
211
|
+
onPurchaseCancelled: (itemId: string) => void;
|
|
212
|
+
/** Called when user balance is updated */
|
|
213
|
+
onBalanceUpdate: (balance: number) => void;
|
|
214
|
+
}
|
|
182
215
|
/**
|
|
183
216
|
* JWT Header
|
|
184
217
|
*/
|
|
@@ -219,4 +252,36 @@ export interface JWKSKey {
|
|
|
219
252
|
export interface JWKSResponse {
|
|
220
253
|
keys: JWKSKey[];
|
|
221
254
|
}
|
|
255
|
+
/**
|
|
256
|
+
* Purchase State Constants
|
|
257
|
+
*/
|
|
258
|
+
export declare enum PurchaseState {
|
|
259
|
+
AVAILABLE = "AVAILABLE",
|
|
260
|
+
PRIVY_REQUIRED = "PRIVY_REQUIRED",
|
|
261
|
+
INSUFFICIENT_FUNDS = "INSUFFICIENT_FUNDS"
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Privy Eligibility Details (internal use - not exposed to apps)
|
|
265
|
+
*/
|
|
266
|
+
export interface PrivyEligibilityDetails {
|
|
267
|
+
requiresUpgrade: boolean;
|
|
268
|
+
currentLevel: number;
|
|
269
|
+
requiredLevel: number;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Raw Privy Eligibility Response (internal use - not exposed to apps)
|
|
273
|
+
*/
|
|
274
|
+
export interface PrivyEligibilityResponse {
|
|
275
|
+
state: PurchaseState;
|
|
276
|
+
privyEligibility?: {
|
|
277
|
+
[levelId: string]: PrivyEligibilityDetails;
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Filtered Purchase State Response (exposed to apps)
|
|
282
|
+
*/
|
|
283
|
+
export interface PurchaseStateResponse {
|
|
284
|
+
state: PurchaseState;
|
|
285
|
+
requiredLevel?: number;
|
|
286
|
+
}
|
|
222
287
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ModalStyles, ThemeMode } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Purchase confirmation modal for marketplace transactions
|
|
5
|
+
*/
|
|
6
|
+
export declare class PurchaseModal {
|
|
7
|
+
private modal;
|
|
8
|
+
private theme;
|
|
9
|
+
private legacyStyles;
|
|
10
|
+
constructor(themeMode?: ThemeMode, customStyles?: Partial<ModalStyles>);
|
|
11
|
+
private detectDarkMode;
|
|
12
|
+
private escapeHtml;
|
|
13
|
+
/**
|
|
14
|
+
* Show purchase confirmation modal
|
|
15
|
+
*/
|
|
16
|
+
show(options: {
|
|
17
|
+
itemId: string;
|
|
18
|
+
onConfirm?: () => void;
|
|
19
|
+
onCancel?: () => void;
|
|
20
|
+
}): void;
|
|
21
|
+
/**
|
|
22
|
+
* Hide and remove modal
|
|
23
|
+
*/
|
|
24
|
+
hide(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Check if modal is currently shown
|
|
27
|
+
*/
|
|
28
|
+
isShown(): boolean;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=PurchaseModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurchaseModal.d.ts","sourceRoot":"","sources":["../../src/ui/PurchaseModal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGlD;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAA4B;gBAG9C,SAAS,GAAE,SAAmB,EAC9B,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAqBrC,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB,GAAG,IAAI;IA2IR;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,OAAO,IAAI,OAAO;CAGnB"}
|
package/package.json
CHANGED