@fias/arche-sdk 2.10.0 → 2.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/dist/bridge.test.js +4 -4
- package/dist/entity-ops.d.ts +24 -2
- package/dist/entity-ops.d.ts.map +1 -1
- package/dist/entity-ops.js +21 -1
- package/dist/entity-ops.js.map +1 -1
- package/dist/fias.d.ts +5 -1
- package/dist/fias.d.ts.map +1 -1
- package/dist/fias.js +21 -1
- package/dist/fias.js.map +1 -1
- package/dist/generated/permissions.d.ts +1 -1
- package/dist/generated/permissions.d.ts.map +1 -1
- package/dist/generated/permissions.js +5 -3
- package/dist/generated/permissions.js.map +1 -1
- package/dist/hooks.d.ts +28 -16
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +218 -55
- package/dist/hooks.js.map +1 -1
- package/dist/hooks.test.js +0 -36
- package/dist/hooks.test.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +221 -42
- package/dist/types.d.ts +178 -21
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/default/AGENTS.md +57 -18
- package/templates/default/CLAUDE.md +57 -18
package/dist/bridge.test.js
CHANGED
|
@@ -235,10 +235,10 @@ describe('FiasBridge', () => {
|
|
|
235
235
|
it('exposes a vendored library from the init payload, keyed by import specifier', async () => {
|
|
236
236
|
const bridge = new bridge_1.FiasBridge();
|
|
237
237
|
const pdfjs = {
|
|
238
|
-
mainModule: 'https://cdn.test/pdfjs/
|
|
239
|
-
worker: 'https://cdn.test/pdfjs/
|
|
240
|
-
cMapUrl: 'https://cdn.test/pdfjs/
|
|
241
|
-
standardFontDataUrl: 'https://cdn.test/pdfjs/
|
|
238
|
+
mainModule: 'https://cdn.test/pdfjs/6.2.108/build/pdf.min.mjs',
|
|
239
|
+
worker: 'https://cdn.test/pdfjs/6.2.108/build/pdf.worker.min.mjs',
|
|
240
|
+
cMapUrl: 'https://cdn.test/pdfjs/6.2.108/cmaps/',
|
|
241
|
+
standardFontDataUrl: 'https://cdn.test/pdfjs/6.2.108/standard_fonts/',
|
|
242
242
|
};
|
|
243
243
|
sendInit({ vendoredAssets: { 'pdfjs-dist': pdfjs } });
|
|
244
244
|
await bridge.waitForInit();
|
package/dist/entity-ops.d.ts
CHANGED
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* `{ entityId, payload: { op, ...args } }` shape, and the executor's result
|
|
7
7
|
* comes back wrapped as `{ output, metadata }`. This module hides both.
|
|
8
8
|
*
|
|
9
|
-
* Old published bundles keep emitting the aliases
|
|
10
|
-
* them
|
|
9
|
+
* Old published bundles keep emitting the aliases, but the server no longer
|
|
10
|
+
* serves them — they were retired in ADR-012 Phase L Job 3 Step 2, so an old
|
|
11
|
+
* bundle emitting one now gets a host-side "plugin needs updating" notice. A
|
|
12
|
+
* bundle built against THIS SDK emits `entity_invoke`. See the
|
|
11
13
|
* `useDataSubscription` hook, which has always used this shape.
|
|
12
14
|
*
|
|
13
15
|
* React-free on purpose: both the React hooks (`hooks.ts`) and the imperative
|
|
@@ -28,6 +30,26 @@ export declare const PLUGIN_STORE_ENTITY_ID = "ent_intg_plugin_store_0000000000"
|
|
|
28
30
|
/** Vault Documents entity — plugins may reach ONLY its consented-read verbs
|
|
29
31
|
* (user-granted documents via the host picker; `vault:user-documents:read`). */
|
|
30
32
|
export declare const VAULT_USER_DOCUMENTS_ENTITY_ID = "ent_intg_vault_documents_0000000";
|
|
33
|
+
/** Community Assets — user-published, moderated images readable by every
|
|
34
|
+
* authenticated user of the SAME arche. `assets:community:read` for the read
|
|
35
|
+
* verbs; the publish-side verbs additionally require
|
|
36
|
+
* `assets:community:publish`, enforced server-side per verb. */
|
|
37
|
+
export declare const COMMUNITY_ASSETS_ENTITY_ID = "ent_intg_community_assets_000000";
|
|
38
|
+
/**
|
|
39
|
+
* Server-side batch caps for the Community Assets verbs, duplicated here for
|
|
40
|
+
* the same reason the entity IDs are (no `@fias/db-types` dependency inside a
|
|
41
|
+
* plugin iframe) and pinned by
|
|
42
|
+
* `tests/architecture/sdk-entity-id-constants-match.test.ts`.
|
|
43
|
+
*
|
|
44
|
+
* These are enforced by a Zod `.max()` on the server, which rejects the WHOLE
|
|
45
|
+
* call — a 60-image gallery asking for 60 URLs in one request does not get 50
|
|
46
|
+
* back, it gets a validation error and no images at all. The hooks therefore
|
|
47
|
+
* chunk to these sizes rather than exposing the limit to plugin authors, who
|
|
48
|
+
* have no way to know it and whose most natural usage (one book, many pages) is
|
|
49
|
+
* exactly what exceeds it.
|
|
50
|
+
*/
|
|
51
|
+
export declare const COMMUNITY_ASSET_MAX_URL_BATCH = 50;
|
|
52
|
+
export declare const COMMUNITY_ASSET_MAX_PUBLISH_BATCH = 20;
|
|
31
53
|
/**
|
|
32
54
|
* Invoke a verb on a platform entity via the generic `entity_invoke` bridge op
|
|
33
55
|
* and return the executor's raw result, unwrapping the `{ output, metadata }`
|
package/dist/entity-ops.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-ops.d.ts","sourceRoot":"","sources":["../src/entity-ops.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"entity-ops.d.ts","sourceRoot":"","sources":["../src/entity-ops.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAC3E,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAC7E,eAAO,MAAM,2BAA2B,qCAAqC,CAAC;AAC9E,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AACzE;gFACgF;AAChF,eAAO,MAAM,8BAA8B,qCAAqC,CAAC;AACjF;;;iEAGiE;AACjE,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAAC,CAAC,EACpC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,MAAM,EAAE,UAAU,EAClB,EAAE,EAAE,MAAM,EACV,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,CAAC,CAAC,CAKZ"}
|
package/dist/entity-ops.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VAULT_USER_DOCUMENTS_ENTITY_ID = exports.PLUGIN_STORE_ENTITY_ID = exports.PLUGIN_WORKSPACES_ENTITY_ID = exports.PLUGIN_DATASTORE_ENTITY_ID = exports.PLUGIN_STORAGE_ENTITY_ID = void 0;
|
|
3
|
+
exports.COMMUNITY_ASSET_MAX_PUBLISH_BATCH = exports.COMMUNITY_ASSET_MAX_URL_BATCH = exports.COMMUNITY_ASSETS_ENTITY_ID = exports.VAULT_USER_DOCUMENTS_ENTITY_ID = exports.PLUGIN_STORE_ENTITY_ID = exports.PLUGIN_WORKSPACES_ENTITY_ID = exports.PLUGIN_DATASTORE_ENTITY_ID = exports.PLUGIN_STORAGE_ENTITY_ID = void 0;
|
|
4
4
|
exports.invokeEntityOp = invokeEntityOp;
|
|
5
5
|
exports.invokeStoreOp = invokeStoreOp;
|
|
6
6
|
exports.PLUGIN_STORAGE_ENTITY_ID = 'ent_intg_plugin_storage_00000000';
|
|
@@ -10,6 +10,26 @@ exports.PLUGIN_STORE_ENTITY_ID = 'ent_intg_plugin_store_0000000000';
|
|
|
10
10
|
/** Vault Documents entity — plugins may reach ONLY its consented-read verbs
|
|
11
11
|
* (user-granted documents via the host picker; `vault:user-documents:read`). */
|
|
12
12
|
exports.VAULT_USER_DOCUMENTS_ENTITY_ID = 'ent_intg_vault_documents_0000000';
|
|
13
|
+
/** Community Assets — user-published, moderated images readable by every
|
|
14
|
+
* authenticated user of the SAME arche. `assets:community:read` for the read
|
|
15
|
+
* verbs; the publish-side verbs additionally require
|
|
16
|
+
* `assets:community:publish`, enforced server-side per verb. */
|
|
17
|
+
exports.COMMUNITY_ASSETS_ENTITY_ID = 'ent_intg_community_assets_000000';
|
|
18
|
+
/**
|
|
19
|
+
* Server-side batch caps for the Community Assets verbs, duplicated here for
|
|
20
|
+
* the same reason the entity IDs are (no `@fias/db-types` dependency inside a
|
|
21
|
+
* plugin iframe) and pinned by
|
|
22
|
+
* `tests/architecture/sdk-entity-id-constants-match.test.ts`.
|
|
23
|
+
*
|
|
24
|
+
* These are enforced by a Zod `.max()` on the server, which rejects the WHOLE
|
|
25
|
+
* call — a 60-image gallery asking for 60 URLs in one request does not get 50
|
|
26
|
+
* back, it gets a validation error and no images at all. The hooks therefore
|
|
27
|
+
* chunk to these sizes rather than exposing the limit to plugin authors, who
|
|
28
|
+
* have no way to know it and whose most natural usage (one book, many pages) is
|
|
29
|
+
* exactly what exceeds it.
|
|
30
|
+
*/
|
|
31
|
+
exports.COMMUNITY_ASSET_MAX_URL_BATCH = 50;
|
|
32
|
+
exports.COMMUNITY_ASSET_MAX_PUBLISH_BATCH = 20;
|
|
13
33
|
/**
|
|
14
34
|
* Invoke a verb on a platform entity via the generic `entity_invoke` bridge op
|
|
15
35
|
* and return the executor's raw result, unwrapping the `{ output, metadata }`
|
package/dist/entity-ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-ops.js","sourceRoot":"","sources":["../src/entity-ops.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"entity-ops.js","sourceRoot":"","sources":["../src/entity-ops.ts"],"names":[],"mappings":";;;AAoEA,wCAWC;AAWD,sCASC;AAzEY,QAAA,wBAAwB,GAAG,kCAAkC,CAAC;AAC9D,QAAA,0BAA0B,GAAG,kCAAkC,CAAC;AAChE,QAAA,2BAA2B,GAAG,kCAAkC,CAAC;AACjE,QAAA,sBAAsB,GAAG,kCAAkC,CAAC;AACzE;gFACgF;AACnE,QAAA,8BAA8B,GAAG,kCAAkC,CAAC;AACjF;;;iEAGiE;AACpD,QAAA,0BAA0B,GAAG,kCAAkC,CAAC;AAE7E;;;;;;;;;;;;GAYG;AACU,QAAA,6BAA6B,GAAG,EAAE,CAAC;AACnC,QAAA,iCAAiC,GAAG,EAAE,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,cAAc,CAClC,MAAkB,EAClB,QAAgB,EAChB,EAAU,EACV,OAAgC,EAAE;IAElC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,OAAO,CAAgB,eAAe,EAAE;QAC/D,QAAQ;QACR,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE;KACzB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CACjC,MAAkB,EAClB,EAAU,EACV,OAAgC,EAAE;IAElC,OAAO,MAAM,CAAC,OAAO,CAAI,eAAe,EAAE;QACxC,QAAQ,EAAE,8BAAsB;QAChC,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE;KACzB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/fias.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DataStoreCollection, DataStoreQueryOptions, DataStoreQueryResult, DataStoreSearchOptions, DataStoreSearchMatch, DataStoreBatchOp } from './types';
|
|
1
|
+
import type { DataStoreCollection, DataStoreWritePolicy, DataStoreDocument, DataStoreQueryOptions, DataStoreQueryResult, DataStoreSearchOptions, DataStoreSearchMatch, DataStoreBatchOp } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Utility namespace for imperative bridge operations.
|
|
4
4
|
* These can be called outside of React components.
|
|
@@ -37,11 +37,15 @@ export declare const fias: {
|
|
|
37
37
|
searchable?: {
|
|
38
38
|
field: string;
|
|
39
39
|
};
|
|
40
|
+
writePolicy?: DataStoreWritePolicy;
|
|
40
41
|
}) => Promise<DataStoreCollection>;
|
|
41
42
|
readonly listCollections: () => Promise<DataStoreCollection[]>;
|
|
42
43
|
readonly deleteCollection: (name: string) => Promise<void>;
|
|
43
44
|
readonly put: <T extends Record<string, unknown> = Record<string, unknown>>(collection: string, key: string, data: T) => Promise<void>;
|
|
44
45
|
readonly get: <T extends Record<string, unknown> = Record<string, unknown>>(collection: string, key: string) => Promise<T | null>;
|
|
46
|
+
/** Like get(), but returns the full envelope incl. the shared-scope
|
|
47
|
+
* `authoredByCollaborator` trust signal. */
|
|
48
|
+
readonly getDocument: <T extends Record<string, unknown> = Record<string, unknown>>(collection: string, key: string) => Promise<DataStoreDocument<T> | null>;
|
|
45
49
|
readonly query: <T extends Record<string, unknown> = Record<string, unknown>>(collection: string, options?: DataStoreQueryOptions) => Promise<DataStoreQueryResult<T>>;
|
|
46
50
|
readonly search: <T extends Record<string, unknown> = Record<string, unknown>>(collection: string, query: string, options?: DataStoreSearchOptions) => Promise<DataStoreSearchMatch<T>[]>;
|
|
47
51
|
readonly delete: (collection: string, key: string) => Promise<void>;
|
package/dist/fias.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fias.d.ts","sourceRoot":"","sources":["../src/fias.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI;IACf;;;;OAIG;0BACM,IAAI;IAIb;;OAEG;8BACY,MAAM,KAAG,IAAI;IAI5B;;OAEG;kCACgB,MAAM,YAAW,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,KAAY,IAAI;IAI5F;;;OAGG;;0CAGO,MAAM,YACF;
|
|
1
|
+
{"version":3,"file":"fias.d.ts","sourceRoot":"","sources":["../src/fias.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI;IACf;;;;OAIG;0BACM,IAAI;IAIb;;OAEG;8BACY,MAAM,KAAG,IAAI;IAI5B;;OAEG;kCACgB,MAAM,YAAW,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,KAAY,IAAI;IAI5F;;;OAGG;;0CAGO,MAAM,YACF;YACR,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;YAC9B,UAAU,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;YAC/B,WAAW,CAAC,EAAE,oBAAoB,CAAC;SACpC,KACA,OAAO,CAAC,mBAAmB,CAAC;wCAeN,OAAO,CAAC,mBAAmB,EAAE,CAAC;0CAS1B,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;uBAIzC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCAC7B,MAAM,OACb,MAAM,QACL,CAAC,KACN,OAAO,CAAC,IAAI,CAAC;uBAQN,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCAC7B,MAAM,OACb,MAAM,KACV,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;QAUpB;qDAC6C;+BAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCACrC,MAAM,OACb,MAAM,KACV,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;yBAkB3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCAC/B,MAAM,YACR,qBAAqB,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;0BAStB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,wCAChC,MAAM,SACX,MAAM,YACH,sBAAsB,KAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;sCAUZ,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;QAI5D,uEAAuE;qCAC/C,gBAAgB,EAAE,KAAG,OAAO,CAAC,IAAI,CAAC;;CAIpD,CAAC"}
|
package/dist/fias.js
CHANGED
|
@@ -43,7 +43,12 @@ exports.fias = {
|
|
|
43
43
|
*/
|
|
44
44
|
dataStore: {
|
|
45
45
|
async createCollection(name, options) {
|
|
46
|
-
const res = await (0, entity_ops_1.invokeEntityOp)((0, bridge_1.getBridge)(), entity_ops_1.PLUGIN_DATASTORE_ENTITY_ID, 'create_collection', {
|
|
46
|
+
const res = await (0, entity_ops_1.invokeEntityOp)((0, bridge_1.getBridge)(), entity_ops_1.PLUGIN_DATASTORE_ENTITY_ID, 'create_collection', {
|
|
47
|
+
name,
|
|
48
|
+
userScope: options?.userScope ?? 'user',
|
|
49
|
+
searchable: options?.searchable,
|
|
50
|
+
writePolicy: options?.writePolicy,
|
|
51
|
+
});
|
|
47
52
|
return res.collection;
|
|
48
53
|
},
|
|
49
54
|
async listCollections() {
|
|
@@ -64,6 +69,21 @@ exports.fias = {
|
|
|
64
69
|
const res = await (0, entity_ops_1.invokeEntityOp)((0, bridge_1.getBridge)(), entity_ops_1.PLUGIN_DATASTORE_ENTITY_ID, 'get', { collection, key });
|
|
65
70
|
return res.data;
|
|
66
71
|
},
|
|
72
|
+
/** Like get(), but returns the full envelope incl. the shared-scope
|
|
73
|
+
* `authoredByCollaborator` trust signal. */
|
|
74
|
+
async getDocument(collection, key) {
|
|
75
|
+
const res = await (0, entity_ops_1.invokeEntityOp)((0, bridge_1.getBridge)(), entity_ops_1.PLUGIN_DATASTORE_ENTITY_ID, 'get', { collection, key });
|
|
76
|
+
if (res.data === null || res.data === undefined)
|
|
77
|
+
return null;
|
|
78
|
+
return {
|
|
79
|
+
key: res.key ?? key,
|
|
80
|
+
data: res.data,
|
|
81
|
+
updatedAt: res.updatedAt ?? '',
|
|
82
|
+
...(res.authoredByCollaborator !== undefined
|
|
83
|
+
? { authoredByCollaborator: res.authoredByCollaborator }
|
|
84
|
+
: {}),
|
|
85
|
+
};
|
|
86
|
+
},
|
|
67
87
|
async query(collection, options) {
|
|
68
88
|
return (0, entity_ops_1.invokeEntityOp)((0, bridge_1.getBridge)(), entity_ops_1.PLUGIN_DATASTORE_ENTITY_ID, 'query', { collection, ...options });
|
|
69
89
|
},
|
package/dist/fias.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fias.js","sourceRoot":"","sources":["../src/fias.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,6CAA0E;
|
|
1
|
+
{"version":3,"file":"fias.js","sourceRoot":"","sources":["../src/fias.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* `tests/architecture/sdk-permissions-match-db-types.test.ts` ensures
|
|
10
10
|
* this file stays in lockstep with the canonical source.
|
|
11
11
|
*/
|
|
12
|
-
export type PluginPermission = 'assets:read' | 'data:search' | 'data:store' | 'data:workspace' | 'entities:audio_generate' | 'entities:client_invoke' | 'entities:image_edit' | 'entities:image_generate' | 'entities:
|
|
12
|
+
export type PluginPermission = 'assets:community:publish' | 'assets:community:read' | 'assets:read' | 'data:search' | 'data:store' | 'data:workspace' | 'entities:audio_generate' | 'entities:client_invoke' | 'entities:image_edit' | 'entities:image_generate' | 'entities:invoke' | 'entities:web_search' | 'navigation:open_arche' | 'sandbox:vendored-libraries' | 'storage:sandbox' | 'store:purchase' | 'theme:read' | 'user:profile:read' | 'vault:documents:read' | 'vault:documents:write' | 'vault:user-documents:read';
|
|
13
13
|
export declare const VALID_PLUGIN_PERMISSIONS: readonly PluginPermission[];
|
|
14
14
|
export declare function isValidPluginPermission(perm: string): perm is PluginPermission;
|
|
15
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/generated/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/generated/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,gBAAgB,GACxB,0BAA0B,GAC1B,uBAAuB,GACvB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,4BAA4B,GAC5B,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,sBAAsB,GACtB,uBAAuB,GACvB,2BAA2B,CAAC;AAEhC,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EAsBtD,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,gBAAgB,CAE9E;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CA2BrF,CAAC"}
|
|
@@ -14,6 +14,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.PLUGIN_PERMISSION_DESCRIPTIONS = exports.VALID_PLUGIN_PERMISSIONS = void 0;
|
|
15
15
|
exports.isValidPluginPermission = isValidPluginPermission;
|
|
16
16
|
exports.VALID_PLUGIN_PERMISSIONS = [
|
|
17
|
+
'assets:community:publish',
|
|
18
|
+
'assets:community:read',
|
|
17
19
|
'assets:read',
|
|
18
20
|
'data:search',
|
|
19
21
|
'data:store',
|
|
@@ -22,7 +24,6 @@ exports.VALID_PLUGIN_PERMISSIONS = [
|
|
|
22
24
|
'entities:client_invoke',
|
|
23
25
|
'entities:image_edit',
|
|
24
26
|
'entities:image_generate',
|
|
25
|
-
'entities:image_remove_background',
|
|
26
27
|
'entities:invoke',
|
|
27
28
|
'entities:web_search',
|
|
28
29
|
'navigation:open_arche',
|
|
@@ -44,15 +45,16 @@ function isValidPluginPermission(perm) {
|
|
|
44
45
|
* PLUGIN_PERMISSION_DESCRIPTIONS.
|
|
45
46
|
*/
|
|
46
47
|
exports.PLUGIN_PERMISSION_DESCRIPTIONS = {
|
|
48
|
+
'assets:community:publish': 'Share images you made here so other people using this app can see them, and manage what you have shared.',
|
|
49
|
+
'assets:community:read': 'Show you images that other people using this app have shared. Everything shared is checked before anyone can see it.',
|
|
47
50
|
'assets:read': "Show images from this app's published asset library.",
|
|
48
51
|
'data:search': "Search this app's own data semantically — costs credits per search.",
|
|
49
52
|
'data:store': "Save structured data in this app's own private database.",
|
|
50
53
|
'data:workspace': 'Create team workspaces and manage their members.',
|
|
51
54
|
'entities:audio_generate': 'Generate audio with platform AI — costs credits.',
|
|
52
|
-
'entities:client_invoke': 'Use free on-device tools (grammar check, translation
|
|
55
|
+
'entities:client_invoke': 'Use free on-device tools (grammar check, translation) in your browser.',
|
|
53
56
|
'entities:image_edit': 'Edit images with platform AI — costs credits.',
|
|
54
57
|
'entities:image_generate': 'Generate images with platform AI — costs credits.',
|
|
55
|
-
'entities:image_remove_background': 'Remove image backgrounds.',
|
|
56
58
|
'entities:invoke': 'Use platform AI (text) on your behalf — costs credits.',
|
|
57
59
|
'entities:web_search': 'Search the live web on your behalf — costs credits.',
|
|
58
60
|
'navigation:open_arche': 'Open other arches for you (navigation only).',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/generated/permissions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/generated/permissions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAiDH,0DAEC;AA1BY,QAAA,wBAAwB,GAAgC;IACnE,0BAA0B;IAC1B,uBAAuB;IACvB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,iBAAiB;IACjB,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;CACnB,CAAC;AAEX,SAAgB,uBAAuB,CAAC,IAAY;IAClD,OAAQ,gCAA8C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACU,QAAA,8BAA8B,GAA+C;IACxF,0BAA0B,EACxB,0GAA0G;IAC5G,uBAAuB,EACrB,sHAAsH;IACxH,aAAa,EAAE,sDAAsD;IACrE,aAAa,EAAE,qEAAqE;IACpF,YAAY,EAAE,0DAA0D;IACxE,gBAAgB,EAAE,kDAAkD;IACpE,yBAAyB,EAAE,kDAAkD;IAC7E,wBAAwB,EACtB,wEAAwE;IAC1E,qBAAqB,EAAE,+CAA+C;IACtE,yBAAyB,EAAE,mDAAmD;IAC9E,iBAAiB,EAAE,wDAAwD;IAC3E,qBAAqB,EAAE,qDAAqD;IAC5E,uBAAuB,EAAE,8CAA8C;IACvE,4BAA4B,EAC1B,8EAA8E;IAChF,iBAAiB,EAAE,+CAA+C;IAClE,gBAAgB,EAAE,qDAAqD;IACvE,YAAY,EAAE,4BAA4B;IAC1C,mBAAmB,EAAE,mCAAmC;IACxD,sBAAsB,EAAE,uDAAuD;IAC/E,uBAAuB,EAAE,oDAAoD;IAC7E,2BAA2B,EACzB,gJAAgJ;CACnJ,CAAC"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FiasUser, FiasTheme, FiasStorageApi, DataSubscriptionState, EntityInvocationApi, ClientEntityApi, ImageGenerationApi, ImageEntityFilter, ImageEntitySummary,
|
|
1
|
+
import type { FiasUser, FiasTheme, FiasStorageApi, DataSubscriptionState, EntityInvocationApi, ClientEntityApi, ImageGenerationApi, ImageEntityFilter, ImageEntitySummary, NllbLanguageOption, AudioGenerationApi, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, FiasWorkspacesApi, FiasStoreApi, VaultDocumentsApi, VaultDocumentDownloadUrl, ArcheAssetsApi, CommunityAssetsApi } 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.
|
|
@@ -103,24 +103,12 @@ export declare function useImageEntities(filter?: ImageEntityFilter): {
|
|
|
103
103
|
error: Error | null;
|
|
104
104
|
refetch: () => void;
|
|
105
105
|
};
|
|
106
|
-
/**
|
|
107
|
-
* Remove the background from an image via the bridge's generic
|
|
108
|
-
* `client_entity_invoke` op, targeting the imgly background-removal
|
|
109
|
-
* entity. The host page runs the WASM model locally — bytes never leave
|
|
110
|
-
* the user's device. Returns a transparent PNG.
|
|
111
|
-
*
|
|
112
|
-
* Requires the `entities:image_remove_background` permission in
|
|
113
|
-
* `fias-plugin.json`. Inputs must be a PNG/JPEG `Blob` no larger than
|
|
114
|
-
* 25 MiB. The bridge rate-limits to 10 calls/minute per arche per user
|
|
115
|
-
* (sourced from the entity's `pluginInvocable.rateLimitPerMinute`).
|
|
116
|
-
*/
|
|
117
|
-
export declare function useBackgroundRemoval(): BackgroundRemovalApi;
|
|
118
106
|
/**
|
|
119
107
|
* Invoke a client-side ("on-device") entity through the bridge's generic
|
|
120
108
|
* `client_entity_invoke` op. Client-side entities execute entirely in the
|
|
121
|
-
* browser (e.g. the nspell + retext grammar checker, the
|
|
122
|
-
*
|
|
123
|
-
*
|
|
109
|
+
* browser (e.g. the nspell + retext grammar checker, the NLLB-200
|
|
110
|
+
* translator) — input never leaves the device and there is no per-call
|
|
111
|
+
* credit cost.
|
|
124
112
|
*
|
|
125
113
|
* This is the client-side counterpart to {@link useEntityInvocation}, which
|
|
126
114
|
* invokes server-side, credit-billed AI entities. Target an entity by its ID
|
|
@@ -467,4 +455,28 @@ export interface VaultUserDocumentsApi {
|
|
|
467
455
|
* `useVaultDocuments` instead.
|
|
468
456
|
*/
|
|
469
457
|
export declare function useVaultUserDocuments(): VaultUserDocumentsApi;
|
|
458
|
+
/**
|
|
459
|
+
* Publish images to this arche's community, and browse what others published.
|
|
460
|
+
*
|
|
461
|
+
* The platform's only cross-user read path: an image published here is visible
|
|
462
|
+
* to every authenticated user of THIS arche (and no other), after it clears
|
|
463
|
+
* moderation. Publishing is free.
|
|
464
|
+
*
|
|
465
|
+
* Two things to design around:
|
|
466
|
+
*
|
|
467
|
+
* 1. **Publishing is not instant.** `publish` returns
|
|
468
|
+
* `status: 'pending_moderation'`; the asset appears in `listCommunity`
|
|
469
|
+
* only once it is approved. Show the author their own pending item via
|
|
470
|
+
* `listMine` rather than optimistically adding it to the community feed.
|
|
471
|
+
* 2. **Store structure in the Data Store, not here.** Which asset belongs on
|
|
472
|
+
* which page/level goes in a `shared`-scope collection holding `assetId`s.
|
|
473
|
+
* Community Assets holds the bytes and nothing queryable.
|
|
474
|
+
*
|
|
475
|
+
* Permissions: `assets:community:read` for browsing and viewing;
|
|
476
|
+
* `assets:community:publish` additionally for publish / unpublish / listMine.
|
|
477
|
+
* A plugin that only DISPLAYS community content should declare only the former.
|
|
478
|
+
*
|
|
479
|
+
* @returns Community assets API.
|
|
480
|
+
*/
|
|
481
|
+
export declare function useCommunityAssets(): CommunityAssetsApi;
|
|
470
482
|
//# 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":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAGnB,eAAe,EACf,kBAAkB,EAGlB,iBAAiB,EACjB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|