@fias/arche-sdk 2.19.2 → 2.21.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/entity-ops.d.ts +7 -1
- package/dist/entity-ops.d.ts.map +1 -1
- package/dist/entity-ops.js +7 -1
- package/dist/entity-ops.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 +17 -13
- package/dist/generated/permissions.js.map +1 -1
- package/dist/hooks.d.ts +156 -6
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +192 -24
- package/dist/hooks.js.map +1 -1
- package/dist/hooks.test.js +202 -20
- 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 +6 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +184 -31
- package/dist/types.d.ts +193 -72
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/default/AGENTS.md +177 -28
- package/templates/default/CLAUDE.md +177 -28
package/dist/entity-ops.d.ts
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* API (`fias.ts`, which must be usable outside React) import from here, so this
|
|
17
17
|
* module must not pull in `react`.
|
|
18
18
|
*
|
|
19
|
-
* SYNC NOTE: the
|
|
19
|
+
* SYNC NOTE: the `*_ENTITY_ID` literals below must match the canonical
|
|
20
20
|
* entity IDs in the `packages/entities/src/integrations/plugin-<family>` config
|
|
21
21
|
* files (and the server services `plugin-<family>-entity.ts`). The SDK ships inside plugin
|
|
22
22
|
* iframes and cannot depend on `@fias/entities`, so the IDs are duplicated here
|
|
@@ -43,6 +43,12 @@ export declare const VAULT_ARCHE_DOCUMENTS_ENTITY_ID = "ent_intg_vault_arche_doc
|
|
|
43
43
|
* verbs; the publish-side verbs additionally require
|
|
44
44
|
* `assets:community:publish`, enforced server-side per verb. */
|
|
45
45
|
export declare const COMMUNITY_ASSETS_ENTITY_ID = "ent_intg_community_assets_000000";
|
|
46
|
+
/** Document Sign — plugins may reach ONLY its two consented-READ verbs, on
|
|
47
|
+
* envelopes this arche itself started via a `sign_document` handoff
|
|
48
|
+
* (`docsign:envelopes:read`). Creating, editing and sending are structurally
|
|
49
|
+
* unreachable: sending is outward, costs money, and stays a human act inside
|
|
50
|
+
* Document Sign. */
|
|
51
|
+
export declare const DOCUMENT_SIGN_ENTITY_ID = "ent_intg_document_sign_000000000";
|
|
46
52
|
/**
|
|
47
53
|
* Server-side batch caps for the Community Assets verbs, duplicated here for
|
|
48
54
|
* the same reason the entity IDs are (no `@fias/db-types` dependency inside a
|
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;;;;;;;;;;;;;;;;;;;;;;;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;;;;;;yDAMyD;AACzD,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAClF;;;iEAGiE;AACjE,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;
|
|
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;;;;;;yDAMyD;AACzD,eAAO,MAAM,+BAA+B,qCAAqC,CAAC;AAClF;;;iEAGiE;AACjE,eAAO,MAAM,0BAA0B,qCAAqC,CAAC;AAC7E;;;;qBAIqB;AACrB,eAAO,MAAM,uBAAuB,qCAAqC,CAAC;AAE1E;;;;;;;;;;;;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.COMMUNITY_ASSET_MAX_PUBLISH_BATCH = exports.COMMUNITY_ASSET_MAX_URL_BATCH = exports.COMMUNITY_ASSETS_ENTITY_ID = exports.VAULT_ARCHE_DOCUMENTS_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;
|
|
3
|
+
exports.COMMUNITY_ASSET_MAX_PUBLISH_BATCH = exports.COMMUNITY_ASSET_MAX_URL_BATCH = exports.DOCUMENT_SIGN_ENTITY_ID = exports.COMMUNITY_ASSETS_ENTITY_ID = exports.VAULT_ARCHE_DOCUMENTS_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';
|
|
@@ -23,6 +23,12 @@ exports.VAULT_ARCHE_DOCUMENTS_ENTITY_ID = 'ent_intg_vault_arche_docs_000000';
|
|
|
23
23
|
* verbs; the publish-side verbs additionally require
|
|
24
24
|
* `assets:community:publish`, enforced server-side per verb. */
|
|
25
25
|
exports.COMMUNITY_ASSETS_ENTITY_ID = 'ent_intg_community_assets_000000';
|
|
26
|
+
/** Document Sign — plugins may reach ONLY its two consented-READ verbs, on
|
|
27
|
+
* envelopes this arche itself started via a `sign_document` handoff
|
|
28
|
+
* (`docsign:envelopes:read`). Creating, editing and sending are structurally
|
|
29
|
+
* unreachable: sending is outward, costs money, and stays a human act inside
|
|
30
|
+
* Document Sign. */
|
|
31
|
+
exports.DOCUMENT_SIGN_ENTITY_ID = 'ent_intg_document_sign_000000000';
|
|
26
32
|
/**
|
|
27
33
|
* Server-side batch caps for the Community Assets verbs, duplicated here for
|
|
28
34
|
* the same reason the entity IDs are (no `@fias/db-types` dependency inside a
|
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":";;;AAkFA,wCAWC;AAWD,sCASC;AAvFY,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;;;;;;yDAMyD;AAC5C,QAAA,+BAA+B,GAAG,kCAAkC,CAAC;AAClF;;;iEAGiE;AACpD,QAAA,0BAA0B,GAAG,kCAAkC,CAAC;AAC7E;;;;qBAIqB;AACR,QAAA,uBAAuB,GAAG,kCAAkC,CAAC;AAE1E;;;;;;;;;;;;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"}
|
|
@@ -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 = 'ai:actions' | '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:edit' | 'vault:user-documents:read' | 'vault:user-documents:write';
|
|
12
|
+
export type PluginPermission = 'ai:actions' | 'assets:community:publish' | 'assets:community:read' | 'assets:read' | 'data:search' | 'data:store' | 'data:workspace' | 'docsign:envelopes:read' | '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:arche-saves:write' | 'vault:documents:read' | 'vault:documents:write' | 'vault:user-documents:edit' | 'vault:user-documents:read' | 'vault:user-documents:write';
|
|
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,YAAY,GACZ,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,GAC3B,2BAA2B,GAC3B,4BAA4B,CAAC;AAEjC,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/generated/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,0BAA0B,GAC1B,uBAAuB,GACvB,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,wBAAwB,GACxB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,iBAAiB,GACjB,qBAAqB,GACrB,uBAAuB,GACvB,4BAA4B,GAC5B,iBAAiB,GACjB,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,yBAAyB,GACzB,sBAAsB,GACtB,uBAAuB,GACvB,2BAA2B,GAC3B,2BAA2B,GAC3B,4BAA4B,CAAC;AAEjC,eAAO,MAAM,wBAAwB,EAAE,SAAS,gBAAgB,EA2BtD,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,CAoCrF,CAAC"}
|
|
@@ -21,6 +21,7 @@ exports.VALID_PLUGIN_PERMISSIONS = [
|
|
|
21
21
|
'data:search',
|
|
22
22
|
'data:store',
|
|
23
23
|
'data:workspace',
|
|
24
|
+
'docsign:envelopes:read',
|
|
24
25
|
'entities:audio_generate',
|
|
25
26
|
'entities:client_invoke',
|
|
26
27
|
'entities:image_edit',
|
|
@@ -33,6 +34,7 @@ exports.VALID_PLUGIN_PERMISSIONS = [
|
|
|
33
34
|
'store:purchase',
|
|
34
35
|
'theme:read',
|
|
35
36
|
'user:profile:read',
|
|
37
|
+
'vault:arche-saves:write',
|
|
36
38
|
'vault:documents:read',
|
|
37
39
|
'vault:documents:write',
|
|
38
40
|
'vault:user-documents:edit',
|
|
@@ -48,13 +50,14 @@ function isValidPluginPermission(perm) {
|
|
|
48
50
|
* PLUGIN_PERMISSION_DESCRIPTIONS.
|
|
49
51
|
*/
|
|
50
52
|
exports.PLUGIN_PERMISSION_DESCRIPTIONS = {
|
|
51
|
-
'ai:actions': 'Let Fias AI operate this
|
|
52
|
-
'assets:community:publish': 'Share images you made here so other people using this
|
|
53
|
-
'assets:community:read': 'Show you images that other people using this
|
|
54
|
-
'assets:read': "Show images from this
|
|
55
|
-
'data:search': "Search this
|
|
56
|
-
'data:store': "Save structured data in this
|
|
53
|
+
'ai:actions': 'Let Fias AI operate this arche for you — only actions you could do yourself in its interface, and risky ones ask you first.',
|
|
54
|
+
'assets:community:publish': 'Share images you made here so other people using this arche can see them, and manage what you have shared.',
|
|
55
|
+
'assets:community:read': 'Show you images that other people using this arche have shared. Everything shared is checked before anyone can see it.',
|
|
56
|
+
'assets:read': "Show images from this arche's published asset library.",
|
|
57
|
+
'data:search': "Search this arche's own data semantically — costs credits per search.",
|
|
58
|
+
'data:store': "Save structured data in this arche's own private database.",
|
|
57
59
|
'data:workspace': 'Create team workspaces and manage their members.',
|
|
60
|
+
'docsign:envelopes:read': 'Check on signature requests it started for you — who has signed, and what is still outstanding.',
|
|
58
61
|
'entities:audio_generate': 'Generate audio with platform AI — costs credits.',
|
|
59
62
|
'entities:client_invoke': 'Use free on-device tools (grammar check, translation) in your browser.',
|
|
60
63
|
'entities:image_edit': 'Edit images with platform AI — costs credits.',
|
|
@@ -63,14 +66,15 @@ exports.PLUGIN_PERMISSION_DESCRIPTIONS = {
|
|
|
63
66
|
'entities:web_search': 'Search the live web on your behalf — costs credits.',
|
|
64
67
|
'navigation:open_arche': 'Open other arches for you (navigation only).',
|
|
65
68
|
'sandbox:vendored-libraries': 'Load platform-hosted libraries (like the PDF renderer) from the trusted CDN.',
|
|
66
|
-
'storage:sandbox': "Save files in this
|
|
67
|
-
'store:purchase': 'Offer
|
|
69
|
+
'storage:sandbox': "Save files in this arche's own private storage.",
|
|
70
|
+
'store:purchase': 'Offer purchases inside the arche (you approve each purchase).',
|
|
68
71
|
'theme:read': 'Match your platform theme.',
|
|
69
72
|
'user:profile:read': 'See your display name and avatar.',
|
|
70
|
-
'vault:
|
|
71
|
-
'vault:documents:
|
|
72
|
-
'vault:
|
|
73
|
-
'vault:user-documents:
|
|
74
|
-
'vault:user-documents:
|
|
73
|
+
'vault:arche-saves:write': 'Saves files to your Arche Saves automatically.',
|
|
74
|
+
'vault:documents:read': 'Read files this arche itself created, in its own folders of your Vault.',
|
|
75
|
+
'vault:documents:write': 'Create and manage its own files, in its own folder of your Vault.',
|
|
76
|
+
'vault:user-documents:edit': 'Save changes to files of yours that you let it edit — you choose each file, earlier versions are kept unless you turned version history off, and you can remove access any time in Vault → Arche Access.',
|
|
77
|
+
'vault:user-documents:read': 'Read documents YOU choose to share with it from your Vault — you pick each document, and you can remove access any time in Vault → Arche Access.',
|
|
78
|
+
'vault:user-documents:write': 'Save its work to your Documents — you choose the folder and the name each time.',
|
|
75
79
|
};
|
|
76
80
|
//# sourceMappingURL=permissions.js.map
|
|
@@ -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;;;AA2DH,0DAEC;AA/BY,QAAA,wBAAwB,GAAgC;IACnE,YAAY;IACZ,0BAA0B;IAC1B,uBAAuB;IACvB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,wBAAwB;IACxB,yBAAyB;IACzB,wBAAwB;IACxB,qBAAqB;IACrB,yBAAyB;IACzB,iBAAiB;IACjB,qBAAqB;IACrB,uBAAuB;IACvB,4BAA4B;IAC5B,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,mBAAmB;IACnB,yBAAyB;IACzB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,2BAA2B;IAC3B,4BAA4B;CACpB,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,YAAY,EACV,6HAA6H;IAC/H,0BAA0B,EACxB,4GAA4G;IAC9G,uBAAuB,EACrB,wHAAwH;IAC1H,aAAa,EAAE,wDAAwD;IACvE,aAAa,EAAE,uEAAuE;IACtF,YAAY,EAAE,4DAA4D;IAC1E,gBAAgB,EAAE,kDAAkD;IACpE,wBAAwB,EACtB,iGAAiG;IACnG,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,iDAAiD;IACpE,gBAAgB,EAAE,+DAA+D;IACjF,YAAY,EAAE,4BAA4B;IAC1C,mBAAmB,EAAE,mCAAmC;IACxD,yBAAyB,EAAE,gDAAgD;IAC3E,sBAAsB,EAAE,yEAAyE;IACjG,uBAAuB,EAAE,mEAAmE;IAC5F,2BAA2B,EACzB,0MAA0M;IAC5M,2BAA2B,EACzB,kJAAkJ;IACpJ,4BAA4B,EAC1B,iFAAiF;CACpF,CAAC"}
|
package/dist/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArcheHandoffPayload, FiasUser, FiasTheme, FiasStorageApi, DataSubscriptionState, EntityInvocationApi, ClientEntityApi, ImageGenerationApi, ImageEntityFilter, ImageEntitySummary, NllbLanguageOption, AudioGenerationApi, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, FiasWorkspacesApi, FiasStoreApi, VaultDocumentsApi, VaultDocumentDownloadUrl, VaultUserDocumentSaveContentResult, ArcheAssetsApi, CommunityAssetsApi, FiasAIActionsDeclaration } from './types';
|
|
1
|
+
import type { ArcheHandoffPayload, FiasUser, FiasTheme, FiasStorageApi, DataSubscriptionState, EntityInvocationApi, ClientEntityApi, ImageGenerationApi, ImageEntityFilter, ImageEntitySummary, NllbLanguageOption, AudioGenerationApi, FiasNavigationApi, StepNavigationApi, StepNavigationOptions, FiasDataStoreApi, FiasWorkspacesApi, FiasStoreApi, VaultDocumentsApi, VaultDocumentDownloadUrl, VaultUserDocumentSaveContentResult, ArcheAssetsApi, FiasContentApi, FiasContentErrorCode, CommunityAssetsApi, FiasAIActionsDeclaration } 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.
|
|
@@ -342,6 +342,46 @@ export declare function useVaultDocuments(): VaultDocumentsApi;
|
|
|
342
342
|
* // entries[i].signedUrl is a short-lived URL you can use as <img src>
|
|
343
343
|
*/
|
|
344
344
|
export declare function useArcheAssets(): ArcheAssetsApi;
|
|
345
|
+
/**
|
|
346
|
+
* Entity ID of the plugin content pack client-side entity (ADR-021) — the
|
|
347
|
+
* host-side reader behind {@link useFiasContent}. Literal here so the SDK
|
|
348
|
+
* stays bundle-clean (no `@fias/entities` runtime dep).
|
|
349
|
+
*
|
|
350
|
+
* SYNC NOTE: must match `PLUGIN_CONTENT_ENTITY_ID` in
|
|
351
|
+
* `packages/entities/src/integrations/plugin-content/config.ts`. The
|
|
352
|
+
* architecture test `sdk-entity-id-constants-match.test.ts` pins this.
|
|
353
|
+
*/
|
|
354
|
+
export declare const PLUGIN_CONTENT_ENTITY_ID = "ent_intg_plugin_content_00000000";
|
|
355
|
+
/** A failed content read: `code` says why, `path` names the file when there is one. */
|
|
356
|
+
export declare class FiasContentError extends Error {
|
|
357
|
+
readonly code: FiasContentErrorCode;
|
|
358
|
+
readonly path?: string | undefined;
|
|
359
|
+
constructor(message: string, code: FiasContentErrorCode, path?: string | undefined);
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Read this plugin's own content pack — the reviewed `content/` directory it
|
|
363
|
+
* was published with (lessons, data, images, audio, fonts).
|
|
364
|
+
*
|
|
365
|
+
* The host page reads the pack from the Fias content CDN, verifies every file
|
|
366
|
+
* against its hash, and caches it; nothing here touches the network, and a
|
|
367
|
+
* plugin can only read its own pack. Reads are free for your users; the
|
|
368
|
+
* contributor pays the pack's storage and bandwidth, and cached repeat reads
|
|
369
|
+
* cost nothing.
|
|
370
|
+
*
|
|
371
|
+
* Paths are relative to `content/`. In the Arche Builder and developer
|
|
372
|
+
* previews there is no published pack: calls fail with
|
|
373
|
+
* `CONTENT_UNAVAILABLE_IN_PREVIEW` (the dev harness serves your local
|
|
374
|
+
* `content/` instead).
|
|
375
|
+
*
|
|
376
|
+
* Permission: `entities:client_invoke`.
|
|
377
|
+
*
|
|
378
|
+
* @example
|
|
379
|
+
* const content = useFiasContent();
|
|
380
|
+
* const lessons = await content.list('lessons/');
|
|
381
|
+
* const markdown = await content.getText(lessons[0].path);
|
|
382
|
+
* const cover = await content.getObjectUrl('img/cover.webp'); // <img src={cover}>
|
|
383
|
+
*/
|
|
384
|
+
export declare function useFiasContent(): FiasContentApi;
|
|
345
385
|
/**
|
|
346
386
|
* Preserve transient UI state across a builder-preview rebuild.
|
|
347
387
|
*
|
|
@@ -463,6 +503,13 @@ export interface VaultUserDocumentsApi {
|
|
|
463
503
|
* `:read`, and every method of this hook (this one included) is gated
|
|
464
504
|
* on `:read`. */
|
|
465
505
|
access?: 'read' | 'write';
|
|
506
|
+
/**
|
|
507
|
+
* The types you can open: MIME types (`'application/pdf'`), MIME
|
|
508
|
+
* families (`'image/*'`) or extensions (`'.docx'`), up to 20. The host
|
|
509
|
+
* offers matching files; the user can still reveal the rest, shown
|
|
510
|
+
* disabled. Omitted: every type.
|
|
511
|
+
*/
|
|
512
|
+
accept?: readonly string[];
|
|
466
513
|
}): Promise<VaultUserDocumentPickResult>;
|
|
467
514
|
/**
|
|
468
515
|
* Ask the user to let you EDIT a document you can already open. The host
|
|
@@ -499,7 +546,7 @@ export interface VaultUserDocumentsApi {
|
|
|
499
546
|
*
|
|
500
547
|
* Rejects `EDIT_ACCESS_REQUIRED` when you hold view-only access (call
|
|
501
548
|
* `requestEditAccess`), and `DOCUMENT_NOT_FOUND` once the user removes your
|
|
502
|
-
* access in Vault →
|
|
549
|
+
* access in Vault → Arche Access — which takes effect on your very next save.
|
|
503
550
|
* Handle both. Debounce (a few seconds idle, plus blur and close) and
|
|
504
551
|
* surface `RATE_LIMIT` rather than looping: this lane allows fewer saves per
|
|
505
552
|
* minute than your own documents do. Every save is recorded with your app's
|
|
@@ -515,7 +562,7 @@ export interface VaultUserDocumentsApi {
|
|
|
515
562
|
* Read one granted document. `includeContent: true` returns UTF-8 text
|
|
516
563
|
* for text documents (a binary document rejects with BINARY_DOCUMENT —
|
|
517
564
|
* use getDownloadUrl for those). Rejects with DOCUMENT_NOT_FOUND once
|
|
518
|
-
* the user revokes access in Vault →
|
|
565
|
+
* the user revokes access in Vault → Arche Access — handle that path.
|
|
519
566
|
*/
|
|
520
567
|
get(documentId: string, options?: {
|
|
521
568
|
includeContent?: boolean;
|
|
@@ -541,7 +588,7 @@ export interface VaultUserDocumentsApi {
|
|
|
541
588
|
* the family, because it is the only one that can move megabytes: call
|
|
542
589
|
* sequentially and surface a RATE_LIMIT error to the user/assistant
|
|
543
590
|
* verbatim rather than retrying in a loop. Rejects with
|
|
544
|
-
* DOCUMENT_NOT_FOUND once the user revokes access in Vault →
|
|
591
|
+
* DOCUMENT_NOT_FOUND once the user revokes access in Vault → Arche Access
|
|
545
592
|
* — unlike a presigned URL from getDownloadUrl, which stays valid for
|
|
546
593
|
* its TTL, every getBytes call re-checks the grant.
|
|
547
594
|
*/
|
|
@@ -556,7 +603,7 @@ export interface VaultUserDocumentsApi {
|
|
|
556
603
|
* surface that reaches data your plugin did not create. Requires the
|
|
557
604
|
* `vault:user-documents:read` permission. Every access is user-consented
|
|
558
605
|
* (per-document grants created in the host picker, revocable any time in
|
|
559
|
-
* Vault →
|
|
606
|
+
* Vault → Arche Access) and audited by the platform.
|
|
560
607
|
*
|
|
561
608
|
* The picker offers the files of the workspace the user is acting in (the
|
|
562
609
|
* host's workspace switcher — Personal, or an org workspace they belong to)
|
|
@@ -631,7 +678,7 @@ export interface FiasAIActionsConfig extends FiasAIActionsDeclaration {
|
|
|
631
678
|
* You get a document REFERENCE, not bytes. Read it with
|
|
632
679
|
* `useVaultUserDocuments().getBytes(documentId)`: the host grants you that one
|
|
633
680
|
* document as it relays the handoff, so no `pick()` is needed first. The grant
|
|
634
|
-
* is per-document and revocable in Vault →
|
|
681
|
+
* is per-document and revocable in Vault → Arche Access exactly like a picked
|
|
635
682
|
* one, and it needs `vault:user-documents:read` — declare it, or the grant is
|
|
636
683
|
* refused and the file never arrives.
|
|
637
684
|
*
|
|
@@ -644,6 +691,109 @@ export interface FiasAIActionsConfig extends FiasAIActionsDeclaration {
|
|
|
644
691
|
* enrol you.
|
|
645
692
|
*/
|
|
646
693
|
export declare function useArcheHandoff(onHandoff: (payload: ArcheHandoffPayload) => void): void;
|
|
694
|
+
/** One recipient of an envelope your app started.
|
|
695
|
+
*
|
|
696
|
+
* No email address, deliberately. A recipient's contact details are a third
|
|
697
|
+
* party's, and name + role + state is what an approval-status UI needs. If
|
|
698
|
+
* your app supplied the recipients, you already have their addresses. */
|
|
699
|
+
export interface SignEnvelopeRecipient {
|
|
700
|
+
recipientId: string;
|
|
701
|
+
name: string | null;
|
|
702
|
+
role: 'signer' | 'viewer' | 'approver';
|
|
703
|
+
status: 'pending' | 'notified' | 'viewed' | 'signed' | 'declined' | 'declined_electronic' | 'expired';
|
|
704
|
+
/** Position in a sequential signing order; 0-based. Meaningless for parallel. */
|
|
705
|
+
routingOrder: number;
|
|
706
|
+
signedAt: string | null;
|
|
707
|
+
declinedAt: string | null;
|
|
708
|
+
}
|
|
709
|
+
/** An envelope your app started, as your app may see it. Never its documents. */
|
|
710
|
+
export interface SignEnvelope {
|
|
711
|
+
envelopeId: string;
|
|
712
|
+
title: string;
|
|
713
|
+
status: 'draft' | 'sent' | 'in_progress' | 'completed' | 'declined' | 'voided' | 'expired';
|
|
714
|
+
signingOrder: 'parallel' | 'sequential';
|
|
715
|
+
createdAt: string;
|
|
716
|
+
sentAt: string | null;
|
|
717
|
+
completedAt: string | null;
|
|
718
|
+
voidedAt: string | null;
|
|
719
|
+
declinedAt: string | null;
|
|
720
|
+
expiresAt: string | null;
|
|
721
|
+
recipients: SignEnvelopeRecipient[];
|
|
722
|
+
}
|
|
723
|
+
/** One entry of an envelope's audit timeline. A projection, not the stored
|
|
724
|
+
* row: signer IP addresses, user agents and the hash-chain columns stay
|
|
725
|
+
* server-side. */
|
|
726
|
+
export interface SignEnvelopeEvent {
|
|
727
|
+
/** e.g. `EnvelopeSent`, `RecipientViewed`, `RecipientSigned`, `EnvelopeCompleted`. */
|
|
728
|
+
type: string;
|
|
729
|
+
actorKind: 'owner' | 'recipient' | 'system';
|
|
730
|
+
/** Which recipient the event is about, when it is about one. */
|
|
731
|
+
recipientId: string | null;
|
|
732
|
+
createdAt: string;
|
|
733
|
+
}
|
|
734
|
+
export interface SignEnvelopeEventsPage {
|
|
735
|
+
events: SignEnvelopeEvent[];
|
|
736
|
+
total: number;
|
|
737
|
+
limit: number;
|
|
738
|
+
offset: number;
|
|
739
|
+
}
|
|
740
|
+
export interface DocumentSignApi {
|
|
741
|
+
/**
|
|
742
|
+
* Read the current state of one envelope your app started — status, who the
|
|
743
|
+
* recipients are, and where each of them has got to.
|
|
744
|
+
*
|
|
745
|
+
* Rejects with `ENVELOPE_NOT_FOUND_OR_NOT_GRANTED` for an envelope your app
|
|
746
|
+
* did not start, one on a workspace the user cannot act for, one that does
|
|
747
|
+
* not exist, one that is still a DRAFT, AND one whose access the user has
|
|
748
|
+
* since removed. Those are deliberately the same error: a distinguishable
|
|
749
|
+
* "it exists but you cannot see it" would let anyone probe for envelope
|
|
750
|
+
* ids. Handle it as "we can no longer follow this", not as a bug.
|
|
751
|
+
*
|
|
752
|
+
* A draft is not readable until the user presses Send — that is the moment
|
|
753
|
+
* they grant access. A `saved_draft` handoff result gives you an id to keep;
|
|
754
|
+
* reading it succeeds once the envelope is sent, not before.
|
|
755
|
+
*/
|
|
756
|
+
getEnvelope(envelopeId: string): Promise<SignEnvelope>;
|
|
757
|
+
/**
|
|
758
|
+
* Read the envelope's audit timeline, oldest first. Same access rules and
|
|
759
|
+
* the same single error as `getEnvelope` — authorization is re-checked per
|
|
760
|
+
* call, so a revocation between two calls stops the second one.
|
|
761
|
+
*/
|
|
762
|
+
listEvents(envelopeId: string, options?: {
|
|
763
|
+
limit?: number;
|
|
764
|
+
offset?: number;
|
|
765
|
+
}): Promise<SignEnvelopeEventsPage>;
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Follow the envelopes your app handed to Document Sign.
|
|
769
|
+
*
|
|
770
|
+
* Requires the `docsign:envelopes:read` permission, and reaches ONLY envelopes
|
|
771
|
+
* your app itself started via a `sign_document` handoff — never one the user
|
|
772
|
+
* created in Document Sign directly, never another app's, and never any
|
|
773
|
+
* envelope's document bytes. Two independent gates, both of which the user
|
|
774
|
+
* controls: they grant access by pressing Send on an envelope you handed over,
|
|
775
|
+
* and they remove it in Vault → Arche Access.
|
|
776
|
+
*
|
|
777
|
+
* There is no list verb. Store the `envelopeId` from the
|
|
778
|
+
* `sign_document_result` handoff against your own record and read by id —
|
|
779
|
+
* which is also why that result must be matched to an outstanding `requestId`
|
|
780
|
+
* and consumed once.
|
|
781
|
+
*
|
|
782
|
+
* **This is where truth comes from.** The handoff result is a POINTER: it
|
|
783
|
+
* rides navigation state, which is same-origin forgeable, so it tells you
|
|
784
|
+
* which envelope to look at and nothing more. Write "signed" into an approval
|
|
785
|
+
* trail only on the strength of a read.
|
|
786
|
+
*
|
|
787
|
+
* There are no webhooks. Poll when your UI needs to know — on mount, on a
|
|
788
|
+
* refresh the user asked for — not on a timer.
|
|
789
|
+
*
|
|
790
|
+
* ```tsx
|
|
791
|
+
* const sign = useDocumentSign();
|
|
792
|
+
* const envelope = await sign.getEnvelope(approval.envelopeId);
|
|
793
|
+
* if (envelope.status === 'completed') markApproved(approval.id);
|
|
794
|
+
* ```
|
|
795
|
+
*/
|
|
796
|
+
export declare function useDocumentSign(): DocumentSignApi;
|
|
647
797
|
/**
|
|
648
798
|
* Declare Fias AI actions at RUNTIME — the dynamic half of the plugin
|
|
649
799
|
* AI-action plane (`ai:actions` permission; TRUSTED arches only — the host
|
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,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EAGnB,eAAe,EACf,kBAAkB,EAGlB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAGlB,iBAAiB,EAEjB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAchB,iBAAiB,EAIjB,YAAY,EAMZ,iBAAiB,EAGjB,wBAAwB,EAKxB,kCAAkC,EASlC,cAAc,
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
|