@fias/arche-sdk 1.5.3 → 1.6.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/dist/hooks.d.ts +11 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +86 -0
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +86 -0
- package/dist/types.d.ts +87 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/default/AGENTS.md +69 -2
- package/templates/default/CLAUDE.md +68 -1
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, ImageGenerationApi, FiasNavigationApi, StepNavigationApi, FiasDataStoreApi } from './types';
|
|
1
|
+
import type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, ImageGenerationApi, FiasNavigationApi, StepNavigationApi, FiasDataStoreApi, FiasStoreApi } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Access the current user's profile information.
|
|
4
4
|
* Requires the `user:profile:read` permission in fias-plugin.json.
|
|
@@ -88,4 +88,14 @@ export declare function useStepNavigation(initialStep?: string): StepNavigationA
|
|
|
88
88
|
* });
|
|
89
89
|
*/
|
|
90
90
|
export declare function useFiasDataStore(): FiasDataStoreApi;
|
|
91
|
+
/**
|
|
92
|
+
* Access the in-arche purchase (IAP) store.
|
|
93
|
+
* Provides product listing, purchase initiation, entitlement checking,
|
|
94
|
+
* and purchase history. All purchases are mediated by the platform.
|
|
95
|
+
*
|
|
96
|
+
* Requires the `store:purchase` permission in fias-plugin.json.
|
|
97
|
+
*
|
|
98
|
+
* @returns Store API with products, entitlements, and purchase methods.
|
|
99
|
+
*/
|
|
100
|
+
export declare function useFiasStore(): FiasStoreApi;
|
|
91
101
|
//# sourceMappingURL=hooks.d.ts.map
|
package/dist/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EAGnB,kBAAkB,EAGlB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,mBAAmB,EAGnB,kBAAkB,EAGlB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAIhB,YAAY,EAMb,MAAM,SAAS,CAAC;AAcjB;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAe7C;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAS/C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,cAAc,CAqC/C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,CAoCzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,kBAAkB,CA2BvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,CAgBrD;AAED;;;;;;;GAOG;AACH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GACd,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CA2C5C;AAED,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAWzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAyFnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAqG3C"}
|
package/dist/hooks.js
CHANGED
|
@@ -9,6 +9,7 @@ exports.useFiasNavigation = useFiasNavigation;
|
|
|
9
9
|
exports.usePersistentState = usePersistentState;
|
|
10
10
|
exports.useStepNavigation = useStepNavigation;
|
|
11
11
|
exports.useFiasDataStore = useFiasDataStore;
|
|
12
|
+
exports.useFiasStore = useFiasStore;
|
|
12
13
|
const react_1 = require("react");
|
|
13
14
|
const react_dom_1 = require("react-dom");
|
|
14
15
|
const context_1 = require("./context");
|
|
@@ -299,4 +300,89 @@ function useFiasDataStore() {
|
|
|
299
300
|
delete: deleteDoc,
|
|
300
301
|
}), [createCollection, listCollections, deleteCollection, put, get, query, deleteDoc]);
|
|
301
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Access the in-arche purchase (IAP) store.
|
|
305
|
+
* Provides product listing, purchase initiation, entitlement checking,
|
|
306
|
+
* and purchase history. All purchases are mediated by the platform.
|
|
307
|
+
*
|
|
308
|
+
* Requires the `store:purchase` permission in fias-plugin.json.
|
|
309
|
+
*
|
|
310
|
+
* @returns Store API with products, entitlements, and purchase methods.
|
|
311
|
+
*/
|
|
312
|
+
function useFiasStore() {
|
|
313
|
+
const bridge = useBridge();
|
|
314
|
+
const [products, setProducts] = (0, react_1.useState)([]);
|
|
315
|
+
const [entitlements, setEntitlements] = (0, react_1.useState)([]);
|
|
316
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(true);
|
|
317
|
+
// Load products and entitlements on mount
|
|
318
|
+
(0, react_1.useEffect)(() => {
|
|
319
|
+
let mounted = true;
|
|
320
|
+
Promise.all([
|
|
321
|
+
bridge.request('store_get_products', {}),
|
|
322
|
+
bridge.request('store_get_entitlements', {}),
|
|
323
|
+
])
|
|
324
|
+
.then(([prods, ents]) => {
|
|
325
|
+
if (mounted) {
|
|
326
|
+
setProducts(prods);
|
|
327
|
+
setEntitlements(ents);
|
|
328
|
+
setIsLoading(false);
|
|
329
|
+
}
|
|
330
|
+
})
|
|
331
|
+
.catch(() => {
|
|
332
|
+
if (mounted)
|
|
333
|
+
setIsLoading(false);
|
|
334
|
+
});
|
|
335
|
+
return () => {
|
|
336
|
+
mounted = false;
|
|
337
|
+
};
|
|
338
|
+
}, [bridge]);
|
|
339
|
+
const purchase = (0, react_1.useCallback)(async (productIdentifier, options) => {
|
|
340
|
+
const result = await bridge.request('store_purchase', {
|
|
341
|
+
productIdentifier,
|
|
342
|
+
...options,
|
|
343
|
+
});
|
|
344
|
+
// If purchase succeeded and returned an entitlement, update local state
|
|
345
|
+
if (result.success && result.entitlement) {
|
|
346
|
+
setEntitlements((prev) => {
|
|
347
|
+
const existing = prev.findIndex((e) => e.productIdentifier === result.entitlement.productIdentifier);
|
|
348
|
+
if (existing >= 0) {
|
|
349
|
+
const updated = [...prev];
|
|
350
|
+
updated[existing] = result.entitlement;
|
|
351
|
+
return updated;
|
|
352
|
+
}
|
|
353
|
+
return [...prev, result.entitlement];
|
|
354
|
+
});
|
|
355
|
+
}
|
|
356
|
+
return result;
|
|
357
|
+
}, [bridge]);
|
|
358
|
+
const hasEntitlement = (0, react_1.useCallback)((productIdentifier) => {
|
|
359
|
+
return entitlements.some((e) => e.productIdentifier === productIdentifier && e.isActive);
|
|
360
|
+
}, [entitlements]);
|
|
361
|
+
const getPurchaseHistory = (0, react_1.useCallback)(async () => {
|
|
362
|
+
const res = await bridge.request('store_get_purchase_history', {});
|
|
363
|
+
return res.purchases;
|
|
364
|
+
}, [bridge]);
|
|
365
|
+
const restorePurchases = (0, react_1.useCallback)(async () => {
|
|
366
|
+
const restored = await bridge.request('store_restore', {});
|
|
367
|
+
setEntitlements(restored);
|
|
368
|
+
return restored;
|
|
369
|
+
}, [bridge]);
|
|
370
|
+
return (0, react_1.useMemo)(() => ({
|
|
371
|
+
products,
|
|
372
|
+
purchase,
|
|
373
|
+
entitlements,
|
|
374
|
+
hasEntitlement,
|
|
375
|
+
getPurchaseHistory,
|
|
376
|
+
restorePurchases,
|
|
377
|
+
isLoading,
|
|
378
|
+
}), [
|
|
379
|
+
products,
|
|
380
|
+
purchase,
|
|
381
|
+
entitlements,
|
|
382
|
+
hasEntitlement,
|
|
383
|
+
getPurchaseHistory,
|
|
384
|
+
restorePurchases,
|
|
385
|
+
isLoading,
|
|
386
|
+
]);
|
|
387
|
+
}
|
|
302
388
|
//# sourceMappingURL=hooks.js.map
|
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { FiasProvider } from './provider';
|
|
2
|
-
export { useFiasUser, useFiasTheme, useFiasStorage, useEntityInvocation, useImageGeneration, useFiasNavigation, useStepNavigation, usePersistentState, useFiasDataStore, } from './hooks';
|
|
2
|
+
export { useFiasUser, useFiasTheme, useFiasStorage, useEntityInvocation, useImageGeneration, useFiasNavigation, useStepNavigation, usePersistentState, useFiasDataStore, useFiasStore, } from './hooks';
|
|
3
3
|
export { fias } from './fias';
|
|
4
4
|
export { DARK_THEME, LIGHT_THEME, getDefaultTheme } from './theme';
|
|
5
5
|
export { THEME_CATALOG, getThemeById } from './themes';
|
|
@@ -7,5 +7,5 @@ export type { ThemeCatalogEntry } from './themes';
|
|
|
7
7
|
export { FONT_PAIRINGS, getFontPairingById } from './themes/fonts';
|
|
8
8
|
export type { FontPairing } from './themes/fonts';
|
|
9
9
|
export { FiasBridge, getBridge, resetBridge } from './bridge';
|
|
10
|
-
export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, FiasNavigationApi, StepNavigationApi, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
|
|
10
|
+
export type { FiasUser, FiasTheme, FiasStorageApi, EntityInvocationApi, EntityInvocationParams, EntityInvocationResult, ImageGenerationApi, ImageGenerationParams, ImageGenerationResult, FiasNavigationApi, StepNavigationApi, FiasDataStoreApi, DataStoreCollection, DataStoreDocument, DataStoreQueryFilter, DataStoreQueryOptions, DataStoreQueryResult, FiasStoreApi, StoreProduct, StoreProductType, StoreSubscriptionPeriod, StoreEntitlement, StorePurchase, StorePurchaseResult, StorePurchaseOptions, PluginPermission, BridgeMessage, BridgeResponse, BridgeInitMessage, PluginToHostMessageType, HostToPluginMessageType, } from './types';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EACL,WAAW,EACX,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,GACb,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG9D,YAAY,EAEV,QAAQ,EACR,SAAS,EAET,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EAEtB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAErB,iBAAiB,EAEjB,iBAAiB,EAEjB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EAEpB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EAEpB,gBAAgB,EAEhB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resetBridge = exports.getBridge = exports.FiasBridge = exports.getFontPairingById = exports.FONT_PAIRINGS = exports.getThemeById = exports.THEME_CATALOG = exports.getDefaultTheme = exports.LIGHT_THEME = exports.DARK_THEME = exports.fias = exports.useFiasDataStore = exports.usePersistentState = exports.useStepNavigation = exports.useFiasNavigation = exports.useImageGeneration = exports.useEntityInvocation = exports.useFiasStorage = exports.useFiasTheme = exports.useFiasUser = exports.FiasProvider = void 0;
|
|
3
|
+
exports.resetBridge = exports.getBridge = exports.FiasBridge = exports.getFontPairingById = exports.FONT_PAIRINGS = exports.getThemeById = exports.THEME_CATALOG = exports.getDefaultTheme = exports.LIGHT_THEME = exports.DARK_THEME = exports.fias = exports.useFiasStore = exports.useFiasDataStore = exports.usePersistentState = exports.useStepNavigation = exports.useFiasNavigation = exports.useImageGeneration = exports.useEntityInvocation = exports.useFiasStorage = exports.useFiasTheme = exports.useFiasUser = exports.FiasProvider = void 0;
|
|
4
4
|
// Components
|
|
5
5
|
var provider_1 = require("./provider");
|
|
6
6
|
Object.defineProperty(exports, "FiasProvider", { enumerable: true, get: function () { return provider_1.FiasProvider; } });
|
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "useFiasNavigation", { enumerable: true, get: fun
|
|
|
15
15
|
Object.defineProperty(exports, "useStepNavigation", { enumerable: true, get: function () { return hooks_1.useStepNavigation; } });
|
|
16
16
|
Object.defineProperty(exports, "usePersistentState", { enumerable: true, get: function () { return hooks_1.usePersistentState; } });
|
|
17
17
|
Object.defineProperty(exports, "useFiasDataStore", { enumerable: true, get: function () { return hooks_1.useFiasDataStore; } });
|
|
18
|
+
Object.defineProperty(exports, "useFiasStore", { enumerable: true, get: function () { return hooks_1.useFiasStore; } });
|
|
18
19
|
// Utilities
|
|
19
20
|
var fias_1 = require("./fias");
|
|
20
21
|
Object.defineProperty(exports, "fias", { enumerable: true, get: function () { return fias_1.fias; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AAErB,QAAQ;AACR,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,aAAa;AACb,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AAErB,QAAQ;AACR,iCAWiB;AAVf,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AACnB,2GAAA,kBAAkB,OAAA;AAClB,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,2GAAA,kBAAkB,OAAA;AAClB,yGAAA,gBAAgB,OAAA;AAChB,qGAAA,YAAY,OAAA;AAGd,YAAY;AACZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AAEb,kBAAkB;AAClB,iCAAmE;AAA1D,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,wGAAA,eAAe,OAAA;AAEjD,gBAAgB;AAChB,mCAAuD;AAA9C,uGAAA,aAAa,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGpC,gBAAgB;AAChB,wCAAmE;AAA1D,sGAAA,aAAa,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAG1C,oCAAoC;AACpC,mCAA8D;AAArD,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -588,6 +588,91 @@ function useFiasDataStore() {
|
|
|
588
588
|
[createCollection, listCollections, deleteCollection, put, get, query, deleteDoc]
|
|
589
589
|
);
|
|
590
590
|
}
|
|
591
|
+
function useFiasStore() {
|
|
592
|
+
const bridge = useBridge();
|
|
593
|
+
const [products, setProducts] = useState2([]);
|
|
594
|
+
const [entitlements, setEntitlements] = useState2([]);
|
|
595
|
+
const [isLoading, setIsLoading] = useState2(true);
|
|
596
|
+
useEffect2(() => {
|
|
597
|
+
let mounted = true;
|
|
598
|
+
Promise.all([
|
|
599
|
+
bridge.request("store_get_products", {}),
|
|
600
|
+
bridge.request("store_get_entitlements", {})
|
|
601
|
+
]).then(([prods, ents]) => {
|
|
602
|
+
if (mounted) {
|
|
603
|
+
setProducts(prods);
|
|
604
|
+
setEntitlements(ents);
|
|
605
|
+
setIsLoading(false);
|
|
606
|
+
}
|
|
607
|
+
}).catch(() => {
|
|
608
|
+
if (mounted) setIsLoading(false);
|
|
609
|
+
});
|
|
610
|
+
return () => {
|
|
611
|
+
mounted = false;
|
|
612
|
+
};
|
|
613
|
+
}, [bridge]);
|
|
614
|
+
const purchase = useCallback(
|
|
615
|
+
async (productIdentifier, options) => {
|
|
616
|
+
const result = await bridge.request("store_purchase", {
|
|
617
|
+
productIdentifier,
|
|
618
|
+
...options
|
|
619
|
+
});
|
|
620
|
+
if (result.success && result.entitlement) {
|
|
621
|
+
setEntitlements((prev) => {
|
|
622
|
+
const existing = prev.findIndex(
|
|
623
|
+
(e) => e.productIdentifier === result.entitlement.productIdentifier
|
|
624
|
+
);
|
|
625
|
+
if (existing >= 0) {
|
|
626
|
+
const updated = [...prev];
|
|
627
|
+
updated[existing] = result.entitlement;
|
|
628
|
+
return updated;
|
|
629
|
+
}
|
|
630
|
+
return [...prev, result.entitlement];
|
|
631
|
+
});
|
|
632
|
+
}
|
|
633
|
+
return result;
|
|
634
|
+
},
|
|
635
|
+
[bridge]
|
|
636
|
+
);
|
|
637
|
+
const hasEntitlement = useCallback(
|
|
638
|
+
(productIdentifier) => {
|
|
639
|
+
return entitlements.some((e) => e.productIdentifier === productIdentifier && e.isActive);
|
|
640
|
+
},
|
|
641
|
+
[entitlements]
|
|
642
|
+
);
|
|
643
|
+
const getPurchaseHistory = useCallback(async () => {
|
|
644
|
+
const res = await bridge.request(
|
|
645
|
+
"store_get_purchase_history",
|
|
646
|
+
{}
|
|
647
|
+
);
|
|
648
|
+
return res.purchases;
|
|
649
|
+
}, [bridge]);
|
|
650
|
+
const restorePurchases = useCallback(async () => {
|
|
651
|
+
const restored = await bridge.request("store_restore", {});
|
|
652
|
+
setEntitlements(restored);
|
|
653
|
+
return restored;
|
|
654
|
+
}, [bridge]);
|
|
655
|
+
return useMemo2(
|
|
656
|
+
() => ({
|
|
657
|
+
products,
|
|
658
|
+
purchase,
|
|
659
|
+
entitlements,
|
|
660
|
+
hasEntitlement,
|
|
661
|
+
getPurchaseHistory,
|
|
662
|
+
restorePurchases,
|
|
663
|
+
isLoading
|
|
664
|
+
}),
|
|
665
|
+
[
|
|
666
|
+
products,
|
|
667
|
+
purchase,
|
|
668
|
+
entitlements,
|
|
669
|
+
hasEntitlement,
|
|
670
|
+
getPurchaseHistory,
|
|
671
|
+
restorePurchases,
|
|
672
|
+
isLoading
|
|
673
|
+
]
|
|
674
|
+
);
|
|
675
|
+
}
|
|
591
676
|
|
|
592
677
|
// src/fias.ts
|
|
593
678
|
var fias = {
|
|
@@ -2458,6 +2543,7 @@ export {
|
|
|
2458
2543
|
useFiasDataStore,
|
|
2459
2544
|
useFiasNavigation,
|
|
2460
2545
|
useFiasStorage,
|
|
2546
|
+
useFiasStore,
|
|
2461
2547
|
useFiasTheme,
|
|
2462
2548
|
useFiasUser,
|
|
2463
2549
|
useImageGeneration,
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Permission scopes that plugins can request in their manifest.
|
|
3
3
|
*/
|
|
4
|
-
export type PluginPermission = 'user:profile:read' | 'entities:invoke' | 'storage:sandbox' | 'theme:read' | 'data:store';
|
|
4
|
+
export type PluginPermission = 'user:profile:read' | 'entities:invoke' | 'storage:sandbox' | 'theme:read' | 'data:store' | 'store:purchase';
|
|
5
5
|
/**
|
|
6
6
|
* User profile data available via useFiasUser() hook.
|
|
7
7
|
*/
|
|
@@ -144,7 +144,7 @@ export interface FiasNavigationApi {
|
|
|
144
144
|
/**
|
|
145
145
|
* Message types sent from the plugin iframe to the parent frame.
|
|
146
146
|
*/
|
|
147
|
-
export type PluginToHostMessageType = 'ready' | 'resize' | 'toast' | 'get_user' | 'get_theme' | 'storage_read' | 'storage_write' | 'storage_list' | 'storage_delete' | 'entity_invoke' | 'image_generate' | 'navigate' | 'data_create_collection' | 'data_list_collections' | 'data_delete_collection' | 'data_put' | 'data_get' | 'data_query' | 'data_delete';
|
|
147
|
+
export type PluginToHostMessageType = 'ready' | 'resize' | 'toast' | 'get_user' | 'get_theme' | 'storage_read' | 'storage_write' | 'storage_list' | 'storage_delete' | 'entity_invoke' | 'image_generate' | 'navigate' | 'data_create_collection' | 'data_list_collections' | 'data_delete_collection' | 'data_put' | 'data_get' | 'data_query' | 'data_delete' | 'store_get_products' | 'store_purchase' | 'store_get_entitlements' | 'store_get_purchase_history' | 'store_restore' | 'store_cancel_subscription';
|
|
148
148
|
/**
|
|
149
149
|
* Step navigation API available via useStepNavigation() hook.
|
|
150
150
|
*/
|
|
@@ -264,4 +264,89 @@ export interface FiasDataStoreApi {
|
|
|
264
264
|
/** Delete a document by key. */
|
|
265
265
|
delete: (collection: string, key: string) => Promise<void>;
|
|
266
266
|
}
|
|
267
|
+
/**
|
|
268
|
+
* IAP product type (mirrors Apple StoreKit).
|
|
269
|
+
*/
|
|
270
|
+
export type StoreProductType = 'consumable' | 'non_consumable' | 'auto_renewable' | 'non_renewing';
|
|
271
|
+
/**
|
|
272
|
+
* Subscription billing period.
|
|
273
|
+
*/
|
|
274
|
+
export type StoreSubscriptionPeriod = 'weekly' | 'monthly' | 'quarterly' | 'yearly';
|
|
275
|
+
/**
|
|
276
|
+
* A product available for purchase in this arche.
|
|
277
|
+
*/
|
|
278
|
+
export interface StoreProduct {
|
|
279
|
+
productIdentifier: string;
|
|
280
|
+
type: StoreProductType;
|
|
281
|
+
name: string;
|
|
282
|
+
description: string | null;
|
|
283
|
+
priceCredits: number;
|
|
284
|
+
metadata: Record<string, unknown>;
|
|
285
|
+
subscriptionPeriod?: StoreSubscriptionPeriod;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* An active entitlement (non-consumable or subscription).
|
|
289
|
+
* Consumable purchases do not create entitlements.
|
|
290
|
+
*/
|
|
291
|
+
export interface StoreEntitlement {
|
|
292
|
+
productIdentifier: string;
|
|
293
|
+
productType: Exclude<StoreProductType, 'consumable'>;
|
|
294
|
+
expiresAt: string | null;
|
|
295
|
+
isActive: boolean;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* A past purchase record.
|
|
299
|
+
*/
|
|
300
|
+
export interface StorePurchase {
|
|
301
|
+
purchaseId: string;
|
|
302
|
+
productIdentifier: string;
|
|
303
|
+
productType: StoreProductType;
|
|
304
|
+
productName: string;
|
|
305
|
+
priceCredits: number;
|
|
306
|
+
status: 'active' | 'refunded';
|
|
307
|
+
purchasedAt: string;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Result of a purchase request.
|
|
311
|
+
*/
|
|
312
|
+
export interface StorePurchaseResult {
|
|
313
|
+
success: boolean;
|
|
314
|
+
purchaseId?: string;
|
|
315
|
+
error?: string;
|
|
316
|
+
entitlement?: StoreEntitlement;
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Options for initiating a purchase.
|
|
320
|
+
*/
|
|
321
|
+
export interface StorePurchaseOptions {
|
|
322
|
+
/** Buy multiple units of a consumable at once. */
|
|
323
|
+
quantity?: number;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Store API available via useFiasStore() hook.
|
|
327
|
+
*
|
|
328
|
+
* Provides in-arche purchase (IAP) capabilities. All purchases are mediated
|
|
329
|
+
* by the platform — the arche never handles payment directly.
|
|
330
|
+
*
|
|
331
|
+
* Requires the `store:purchase` permission in fias-plugin.json.
|
|
332
|
+
*/
|
|
333
|
+
export interface FiasStoreApi {
|
|
334
|
+
/** Products available for purchase in this arche. Loaded on mount. */
|
|
335
|
+
products: StoreProduct[];
|
|
336
|
+
/**
|
|
337
|
+
* Initiate a purchase. Triggers a platform confirmation overlay.
|
|
338
|
+
* The user must confirm before credits are charged.
|
|
339
|
+
*/
|
|
340
|
+
purchase: (productIdentifier: string, options?: StorePurchaseOptions) => Promise<StorePurchaseResult>;
|
|
341
|
+
/** Active entitlements (non-consumables + subscriptions). Loaded on mount. */
|
|
342
|
+
entitlements: StoreEntitlement[];
|
|
343
|
+
/** Check if the user has an active entitlement for a product. */
|
|
344
|
+
hasEntitlement: (productIdentifier: string) => boolean;
|
|
345
|
+
/** Get past purchase history (all types including consumables). */
|
|
346
|
+
getPurchaseHistory: () => Promise<StorePurchase[]>;
|
|
347
|
+
/** Re-sync entitlements from platform (like Apple's "Restore Purchases"). */
|
|
348
|
+
restorePurchases: () => Promise<StoreEntitlement[]>;
|
|
349
|
+
/** Whether the store data is still loading. */
|
|
350
|
+
isLoading: boolean;
|
|
351
|
+
}
|
|
267
352
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,YAAY,GACZ,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
This project is a FIAS platform plugin — a React application that runs in a sandboxed iframe within the FIAS marketplace. This file provides the context AI coding assistants need to build, test, and submit plugins effectively.
|
|
4
4
|
|
|
5
|
-
For other AI tool instruction files, see `
|
|
5
|
+
For other AI tool instruction files, see `AGENTS.md` (identical content).
|
|
6
6
|
|
|
7
7
|
## Project Structure
|
|
8
8
|
|
|
@@ -95,6 +95,73 @@ const files = await listFiles('data/'); // string[]
|
|
|
95
95
|
await deleteFile('data/old.json');
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
+
**Error handling:** Storage calls can reject on infrastructure errors. Always use `.catch()` or `try/catch` -- an unhandled rejection will crash the plugin to a white screen.
|
|
99
|
+
|
|
100
|
+
### `useFiasDataStore()` — Document database
|
|
101
|
+
|
|
102
|
+
**Permission:** `data:store`
|
|
103
|
+
**Returns:** `FiasDataStoreApi`
|
|
104
|
+
|
|
105
|
+
A document database with collections, queries, and filtering. Data persists across sessions in live mode. Each collection can be `user`-scoped (private to each user) or `shared` (visible to all users of the plugin).
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import { useFiasDataStore } from '@fias/arche-sdk';
|
|
109
|
+
|
|
110
|
+
function MyComponent() {
|
|
111
|
+
const dataStore = useFiasDataStore();
|
|
112
|
+
|
|
113
|
+
// Collection management
|
|
114
|
+
await dataStore.createCollection('scores', { userScope: 'user' }); // or 'shared'
|
|
115
|
+
const collections = await dataStore.listCollections();
|
|
116
|
+
await dataStore.deleteCollection('scores');
|
|
117
|
+
|
|
118
|
+
// Document CRUD
|
|
119
|
+
await dataStore.put<MyType>('scores', 'doc-key', { score: 100, name: 'Alice' });
|
|
120
|
+
const doc = await dataStore.get<MyType>('scores', 'doc-key'); // MyType | null
|
|
121
|
+
await dataStore.delete('scores', 'doc-key');
|
|
122
|
+
|
|
123
|
+
// Query with filters, sorting, pagination
|
|
124
|
+
const results = await dataStore.query<MyType>('scores', {
|
|
125
|
+
filters: [
|
|
126
|
+
{ field: 'score', op: 'gte', value: 50 },
|
|
127
|
+
{ field: 'name', op: 'eq', value: 'Alice' },
|
|
128
|
+
],
|
|
129
|
+
orderBy: { field: 'score', direction: 'desc' },
|
|
130
|
+
limit: 20,
|
|
131
|
+
cursor: nextCursor, // for pagination
|
|
132
|
+
});
|
|
133
|
+
// results = { documents: [{ key, data, updatedAt }], nextCursor: string | null }
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Also available as an imperative API outside React components:
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
import { fias } from '@fias/arche-sdk';
|
|
141
|
+
|
|
142
|
+
await fias.dataStore.put('scores', 'key', { score: 100 });
|
|
143
|
+
const doc = await fias.dataStore.get('scores', 'key');
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Collection scopes:**
|
|
147
|
+
|
|
148
|
+
- `user` (default): Each user sees only their own documents
|
|
149
|
+
- `shared`: All users of the plugin see and share the same documents
|
|
150
|
+
|
|
151
|
+
**Filter operators:** `eq`, `neq`, `gt`, `gte`, `lt`, `lte`, `contains` (JSONB containment), `exists`
|
|
152
|
+
|
|
153
|
+
**Limits:**
|
|
154
|
+
|
|
155
|
+
- 50 collections per plugin
|
|
156
|
+
- 10,000 documents per collection
|
|
157
|
+
- 100 KB per document
|
|
158
|
+
- 100 MB total storage per plugin
|
|
159
|
+
- Max 100 results per query, max 10 filters, max field path depth 5
|
|
160
|
+
|
|
161
|
+
**Rate limits (per minute):** `put` 120, `get` 300, `query` 60, `delete` 60, `createCollection` 10
|
|
162
|
+
|
|
163
|
+
**Error handling:** Data store calls can reject on infrastructure errors or limit violations. Always use `try/catch`. Common error codes: `COLLECTION_NOT_FOUND`, `DOCUMENT_TOO_LARGE`, `STORAGE_LIMIT_REACHED`, `RATE_LIMIT`.
|
|
164
|
+
|
|
98
165
|
### `useEntityInvocation()` — Invoke AI models
|
|
99
166
|
|
|
100
167
|
**Permission:** `entities:invoke`
|
|
@@ -242,7 +309,7 @@ fias.showToast('Saved!', 'success'); // Toast: 'info' | 'success' | 'warning' |
|
|
|
242
309
|
| `sdk` | Yes | SDK version range |
|
|
243
310
|
| `dependencies` | No | npm packages with **exact** versions (max 20) |
|
|
244
311
|
|
|
245
|
-
**Permissions:** `theme:read`, `user:profile:read`, `storage:sandbox`, `entities:invoke`, `entities:image_generate`
|
|
312
|
+
**Permissions:** `theme:read`, `user:profile:read`, `storage:sandbox`, `data:store`, `entities:invoke`, `entities:image_generate`
|
|
246
313
|
|
|
247
314
|
**Using AI:** Add `"entities:invoke"` to permissions, then use `useEntityInvocation()` with a model entity ID and your own `systemPrompt`. Browse available models with `npx fias-dev entities`.
|
|
248
315
|
|
|
@@ -95,6 +95,73 @@ const files = await listFiles('data/'); // string[]
|
|
|
95
95
|
await deleteFile('data/old.json');
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
+
**Error handling:** Storage calls can reject on infrastructure errors. Always use `.catch()` or `try/catch` -- an unhandled rejection will crash the plugin to a white screen.
|
|
99
|
+
|
|
100
|
+
### `useFiasDataStore()` — Document database
|
|
101
|
+
|
|
102
|
+
**Permission:** `data:store`
|
|
103
|
+
**Returns:** `FiasDataStoreApi`
|
|
104
|
+
|
|
105
|
+
A document database with collections, queries, and filtering. Data persists across sessions in live mode. Each collection can be `user`-scoped (private to each user) or `shared` (visible to all users of the plugin).
|
|
106
|
+
|
|
107
|
+
```tsx
|
|
108
|
+
import { useFiasDataStore } from '@fias/arche-sdk';
|
|
109
|
+
|
|
110
|
+
function MyComponent() {
|
|
111
|
+
const dataStore = useFiasDataStore();
|
|
112
|
+
|
|
113
|
+
// Collection management
|
|
114
|
+
await dataStore.createCollection('scores', { userScope: 'user' }); // or 'shared'
|
|
115
|
+
const collections = await dataStore.listCollections();
|
|
116
|
+
await dataStore.deleteCollection('scores');
|
|
117
|
+
|
|
118
|
+
// Document CRUD
|
|
119
|
+
await dataStore.put<MyType>('scores', 'doc-key', { score: 100, name: 'Alice' });
|
|
120
|
+
const doc = await dataStore.get<MyType>('scores', 'doc-key'); // MyType | null
|
|
121
|
+
await dataStore.delete('scores', 'doc-key');
|
|
122
|
+
|
|
123
|
+
// Query with filters, sorting, pagination
|
|
124
|
+
const results = await dataStore.query<MyType>('scores', {
|
|
125
|
+
filters: [
|
|
126
|
+
{ field: 'score', op: 'gte', value: 50 },
|
|
127
|
+
{ field: 'name', op: 'eq', value: 'Alice' },
|
|
128
|
+
],
|
|
129
|
+
orderBy: { field: 'score', direction: 'desc' },
|
|
130
|
+
limit: 20,
|
|
131
|
+
cursor: nextCursor, // for pagination
|
|
132
|
+
});
|
|
133
|
+
// results = { documents: [{ key, data, updatedAt }], nextCursor: string | null }
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Also available as an imperative API outside React components:
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
import { fias } from '@fias/arche-sdk';
|
|
141
|
+
|
|
142
|
+
await fias.dataStore.put('scores', 'key', { score: 100 });
|
|
143
|
+
const doc = await fias.dataStore.get('scores', 'key');
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**Collection scopes:**
|
|
147
|
+
|
|
148
|
+
- `user` (default): Each user sees only their own documents
|
|
149
|
+
- `shared`: All users of the plugin see and share the same documents
|
|
150
|
+
|
|
151
|
+
**Filter operators:** `eq`, `neq`, `gt`, `gte`, `lt`, `lte`, `contains` (JSONB containment), `exists`
|
|
152
|
+
|
|
153
|
+
**Limits:**
|
|
154
|
+
|
|
155
|
+
- 50 collections per plugin
|
|
156
|
+
- 10,000 documents per collection
|
|
157
|
+
- 100 KB per document
|
|
158
|
+
- 100 MB total storage per plugin
|
|
159
|
+
- Max 100 results per query, max 10 filters, max field path depth 5
|
|
160
|
+
|
|
161
|
+
**Rate limits (per minute):** `put` 120, `get` 300, `query` 60, `delete` 60, `createCollection` 10
|
|
162
|
+
|
|
163
|
+
**Error handling:** Data store calls can reject on infrastructure errors or limit violations. Always use `try/catch`. Common error codes: `COLLECTION_NOT_FOUND`, `DOCUMENT_TOO_LARGE`, `STORAGE_LIMIT_REACHED`, `RATE_LIMIT`.
|
|
164
|
+
|
|
98
165
|
### `useEntityInvocation()` — Invoke AI models
|
|
99
166
|
|
|
100
167
|
**Permission:** `entities:invoke`
|
|
@@ -242,7 +309,7 @@ fias.showToast('Saved!', 'success'); // Toast: 'info' | 'success' | 'warning' |
|
|
|
242
309
|
| `sdk` | Yes | SDK version range |
|
|
243
310
|
| `dependencies` | No | npm packages with **exact** versions (max 20) |
|
|
244
311
|
|
|
245
|
-
**Permissions:** `theme:read`, `user:profile:read`, `storage:sandbox`, `entities:invoke`, `entities:image_generate`
|
|
312
|
+
**Permissions:** `theme:read`, `user:profile:read`, `storage:sandbox`, `data:store`, `entities:invoke`, `entities:image_generate`
|
|
246
313
|
|
|
247
314
|
**Using AI:** Add `"entities:invoke"` to permissions, then use `useEntityInvocation()` with a model entity ID and your own `systemPrompt`. Browse available models with `npx fias-dev entities`.
|
|
248
315
|
|